EP1102152A2

Mechanism for dynamically constructing customized implementations to enforce restrictions

Abstract

A mechanism for dynamically constructing service implementations to enforce restrictions on services provided to an application is disclosed. When an application desires an implementation for a particular service, the application makes a request to a framework. The framework receives the request and, in response, determines what restrictions, if any, need to be imposed on the requested implementation. Once the restrictions are determined, the framework dynamically constructs the requested implementation. The requested implementation is constructed such that it incorporates a general implementation of the service, the restrictions, and enforcement logic for enforcing the restrictions on the general implementation. Once the requested implementation is constructed, it is provided to the application. Thereafter, the application invokes the requested implementation directly for services. Since the requested implementation incorporates the restrictions and enforcement logic for enforcing the restrictions, it is not necessary for the application to further interact with the framework. The requested implementation itself will provide the services, and will guarantee that the restrictions are enforced. By dynamically constructing requested implementations in this manner, the framework ensures that the necessary restrictions are enforced on the services provided to the application.

EP1102152A2, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 7 November 2020, 5.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

65 claims: 18 independent, 47 dependent

  1. 1
    In a system comprising at least one application and a framework, a method performed by the framework comprising:receiving a request from the application for a customized implementation of a service;determining a set of zero or more restrictions to be imposed upon said customized implementation;dynamically constructing said customized implementation, said customized implementation incorporating said restrictions, and comprising enforcement logic for enforcing said restrictions;and providing said customized implementation to the application.
  2. 5
    The method of any preceding claim, wherein said enforcement logic is invoked upon initialization of said customized implementation.
  3. 8
    The method of any preceding claim, wherein determining the set of zero or more restrictions comprises:accessing information specifying one or more limitations;and processing said limitations to derive said restrictions.
  4. 11
    The method of any of claims 1 to 7, wherein determining the set of zero or more restrictions comprises:accessing information specifying one or more limitations;determining permissions, if any, granted to the application;and reconciling said limitations and said permissions to derive said restrictions.
  5. 17
    The method of any preceding claim, wherein the system further comprises a general implementation for said service, and wherein dynamically constructing said customized implementation comprises:instantiating the general implementation to give rise to a general implementation instance;instantiating a wrapper object;and encapsulating said general implementation instance and said restrictions within said wrapper object to derive said customized implementation.
  6. 21
    The method of any of claims 17 to 21, further comprising:instantiating an exemption mechanism to give rise to an exemption mechanism instance;and encapsulating said exemption mechanism instance within said wrapper object.
  7. 22
    A framework for a system comprising at least one application, the framework comprising:a mechanism for receiving a request from the application for a customized implementation of a service;a mechanism for determining a set of zero or more restrictions to be imposed upon said customized implementation;a mechanism for dynamically constructing said customized implementation, said customized implementation incorporating said restrictions, and comprising enforcement logic for enforcing said restrictions;and a mechanism for providing said customized implementation to the application.
  8. 26
    The framework of any of claims 22 to 25, wherein said enforcement logic is invoked upon initialization of said customized implementation.
  9. 29
    The framework of any of claims 22 to 28, wherein the mechanism for determining the set of zero or more restrictions comprises:a mechanism for accessing information specifying one or more limitations;and a mechanism for processing said limitations to derive said restrictions.
  10. 32
    The framework of any of claims 22 to 28, wherein the mechanism for determining the set of zero or more restrictions comprises:a mechanism for accessing information specifying one or more limitations;a mechanism for determining permissions, if any, granted to the application;and a mechanism for reconciling said limitations and said permissions to derive said restrictions.
  11. 38
    The framework of any of claims 22 to 37, wherein the system further comprises a general implementation for said service, and wherein the mechanism for dynamically constructing said customized implementation comprises:a mechanism for instantiating the general implementation to give rise to a general implementation instance;a mechanism for instantiating a wrapper object;and a mechanism for encapsulating said general implementation instance and said restrictions within said wrapper object to derive said customized implementation.
  12. 42
    The framework of any of claims 38 to 41, further comprising:a mechanism for instantiating an exemption mechanism to give rise to an exemption mechanism instance;and a mechanism for encapsulating said exemption mechanism instance within said wrapper object.
  13. 43
    A computer program for a system comprising at least one application, the computer program being operable, when executed by one or more processors, to cause the one or more processors to implement a framework which dynamically constructs a customized implementation of a service, said computer program comprising:instructions for causing one or more processors to receive a request from the application for a customized implementation of a service;instructions for causing one or more processors to determine a set of zero or more restrictions to be imposed upon said customized implementation;instructions for causing one or more processors to dynamically construct said customized implementation, said customized implementation incorporating said restrictions, and comprising enforcement logic for enforcing said restrictions;and instructions for causing one or more processors to provide said customized implementation to the application.
  14. 47
    The computer program of any of claims 43 to 46, wherein said enforcement logic is invoked upon initialization of said customized implementation.
  15. 50
    The computer program of any of claims 43 to 49, wherein the instructions for causing one or more processors to determine the set of zero or more restrictions comprises:instructions for causing one or more processors to access information specifying one or more limitations;and instructions for causing one or more processors to process said limitations to derive said restrictions.
  16. 53
    The computer program of any of claims 43 to 49, wherein the instructions for causing one or more processors to determine the set of zero or more restrictions comprises:instructions for causing one or more processors to access information specifying one or more limitations;instructions for causing one or more processors to determine permissions, if any, granted to the application;and instructions for causing one or more processors to reconcile said limitations and said permissions to derive said restrictions.
  17. 59
    The computer program of any of claims 43 to 58, wherein the system further comprises a general implementation for said service, and wherein the instructions for causing one or more processors to dynamically construct said customized implementation comprises:instructions for causing one or more processors to instantiate the general implementation to give rise to a general implementation instance;instructions for causing one or more processors to instantiate a wrapper object;and instructions for causing one or more processors to encapsulate said general implementation instance and said restrictions within said wrapper object to derive said customized implementation.
  18. 63
    The computer program of any of claims 59 to 63, further comprising:instructions for causing one or more processors to instantiate an exemption mechanism to give rise to an exemption mechanism instance;and instructions for causing one or more processors to encapsulate said exemption mechanism instance within said wrapper object.
  19. 64
    A computer program product comprising the computer program of any of claims 43 to 63 on a carrier medium.
  20. 65
    A computer system comprising the framework of any of claims 22 to 42.
Independent claims20