Feb 13, 2004
Keywords: Policies, AspectIX
Abstract: The lack of scalability of distributed systems is a severe problem when these systems have to grow to a large or even global scale. The administrative dimension of scalability is strongly influenced by the number of different organizations exerting control over parts of the distributed system. Each organization has its specific requirements and policies that have to be fulfilled by the distributed system. In this paper we present a novel software architecture introduced as policy-enabled applications that allows external entities to define their own requirements and policies to influence the behavior of the distributed application. We identify four different roles that entities formulating policies play: developer, application administrator, domain administrator and user. Interactions between users and distributed applications are modelled by user requests. Unlike traditional applications, the processing of a user request by a policy-enabled application is not directly accomplished by mechanisms and protocols. The request is rather mapped onto a proper set of mechanisms and protocols by invoking a policy engine which evaluates the policy rules configured by the different roles. User requests should be as abstract as possible to leave enough degrees of freedom to the policy engine so that the probability of a successful mapping is maximized. With a high probability of successful user request processing policy-