Ad Hoc Networking
Three Tier Patterns
Patterns in Resource Management and Optimization
July 3-7, 2002
Highly robust and scalable systems must manage resources efficiently. A resource can be of many types including local as well as distributed services, database sessions and security tokens. Managing resources includes:
- Ensuring that a resource is availabile when needed,
- Acquiring resources efficiently to minimize system performance degradation,
- aintaining only resources that are necessary to reduce maintenance overhead,
- Releasing resources in a timely fashion to allow fairness in resource sharing, and
- Cleaning up resources when required to optimize system performance.
To address the above requirements of resource management requires the resolution of the following forces:
- Optimality: Unnecessary resource acquisitions should be avoided, as the acquisitions themselves are potentially expensive. In addition, the system load caused by unused resources must be minimized.
- Simplicity: The management of resources for a user should be simple by making it optional for the user to explicitly release the resources that it no longer needs.
- Availability: Resources not used by a user, or no longer available should be freed as soon as possible to make them available to new users. For example, resources associated with a network connection should be released once the connection is broken.
- Lifecycle: The frequency of use of a resource should influence the lifecycle of a resource.
- Control: Resource release should be determined by parameters such as type of resource, available memory and CPU load.
- Actuality: A user should not use an obsolete version of a resource when a new version becomes available.
- Transparency: The solution should be transparent to the user. The solution should incur minimum execution overhead and software development complexity.
This focus group continues to elaborate on our experiences of former focus groups and workshops about AdHoc Networking, Real-Time Patterns and Three-Tier Patterns. Working on those topics showed us that Resource Management and Optimization is one of the key problem areas in almost every system. Existing literature covers this topic either partly, or only for one domain [NoWe2000]. Using this focus group we would like to explore the topic of Resource Management and Optimization in a domain-independent way.
The goal of this focus group is to discover and document common patterns in Resource Management and Optimization.
Anyone interested in participating in the focus group should submit a position paper by Mai 29, 2002. All participants are expected to be familiar with writing design patterns. The position paper should describe one or patterns in resource management and optimization. The number of participants will not exceed 5. For more information regarding important dates, please take a look at the EuroPLoP website.
Information about the focus group, the submissions, the presentations, the minutes and the final outcome will be hosted on a web page on the internet. Invitations for this focus group will be posted to relevant mailing lists as well as newsgroups. On the day of the focus group the participants will be invited to present their position papers. The patterns discussed and documented during the focus group will be refined in further focus groups and workshops at conferences such as Pattern Language of Programs (PLoP), European Pattern Language of Programs (EuroPLoP) and Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA).
Prashant Jain <pjain[at]gmx.net>
Prashant Jain is currently working as a researcher in the Corporate Research division of Siemens AG in Delhi, India. He holds a masters degree in Computer Science from Washington University in St. Louis, U.S.A. His main fields of interest include distributed systems, design patterns and eXtreme programming. His professional experience includes working as a software engineer for companies including Fujitsu Network Communications, Inc., and Kodak Health Imaging Systems, Inc.
Michael Kircher <Michael.Kircher[at]siemens.com>
Michael Kircher is currently working as a researcher in the Corporate Research of Siemens AG in Munich, Germany. His main fields of interest are distributed and real-time object computing, software architectures, design patterns, and eXtreme programming. He is also an active member of the Center for Distributed Object Computing at Washington University in Saint Louis. He holds a Masters degree in Computer Science from University of Stuttgart.
[NoWe00] J. Noble, and C. Weir, Small Memory Software, Addison-Wesley, 2000
[KJ04] M. Kircher and P. Jain, Patterns-Oriented Software Architecture, Volume 3: Patterns for Resource Management, John Wiley & Sons, 2004