Skip to main content

Posts

Showing posts from June, 2006

Resource Management Patterns

Resource Acquisition catagory: *********************************** Lookup: Naming service, Trading service, Directory service Lazy Acquisition: Resource proxy, web browser image proxy and deferred image download, Java JIT compiler. Good for scalability and low latency. Eager Acquisition: Good for predictability, bandwidth pre-allocation, pre-connect. Partial Acquisition: Acquire resoruce in steps. Resource Lifecycle catagory: ******************************** Caching: for performance, identity of resources is important. Pooling: for boundedness, identity of resources is not important. Coordinator: To provide commit-or-rollback semantics. Similar to strong exception safety guarantee. Best example: two-phase commit protocol (prepare() and commit()) Resource Release catagory: ******************************* Leasing: Free up unused/invalid resources/service location references after some pre-determined lease time if not accessed. Renew lease if accessed in between. Evictor: Used with cachin