Distributed pluggable middleware services
First Claim
1. A runtime architecture for distributed plug-in configurable middleware for managing distributed applications, the architecture comprising:
- a plurality of hosts, each host comprising a computer hardware platform;
at least one core runtime engine;
a plurality of personalities, each personality comprising a definition of a function;
a plurality of pre-defined plug-ins, each plug-in associated with one or more of the plurality of personalities and comprising runtime code that provides at least a portion of the function of each personality to which the plug-in is associated and the plurality of plug-ins comprising functional dependencies among the plug-ins, the dependencies comprising relationships among the plug-ins for communicating, cooperating and sharing resources among core runtime engine instances running on the plurality of hosts to achieve the distributed middleware;
a plurality of concurrent instantiations of the core runtime engine on the plurality of hosts, each core runtime engine instance comprising sufficient functionality to support plug-in architecture of the pre-defined plug-ins and modified by the pre-defined plug-ins to have personalities associated with those plug-ins, each core runtime instance in communicating, cooperating and sharing resources with other concurrent core runtime engine instances as provided by its associated plug-ins to contribute the functions associated with the personalities associated with the plug-ins used to modify that core runtime instance and to provide the dependencies among the plug-ins in order to establish the distributed middleware within a distributed computing system;
wherein each plug-in is utilized by each core runtime engine instance having an associated personality to which the plug-in is associated;
at least one configuration manager in communication with each one of the plurality of core runtime engine instances, the configuration manager capable of determining an architecture for the distributed middleware and of distributing plug-ins to the core runtime engine instances;
at least one persistent storage device in communication with the configuration manager and comprising the plurality of plug-ins;
wherein the host comprises an interface mechanism in communication with the configuration manager to facilitate instantiations of the core runtime engine on the host in accordance with the determined architecture; and
wherein each plug-in comprises a core definition comprising instructions for loading and starting the plug-in, a properties section comprising a set of plug-in properties specific to that plug-in and a dependencies section comprising a description of the dependencies comprising the relationships between that plug-in and another plug-in.
1 Assignment
0 Petitions
Accused Products
Abstract
Plug-in configurable middleware is provided for managing distributed applications. The middleware includes at least one core runtime engine configured as a plurality of concurrent instantiations on one or more hosts within a distributed architecture. These hosts can represent separate nodes or a single node within the architecture. Each core runtime engine instance provides the minimum amount of functionality required to support the instantiation of one or more plug-ins within that core runtime engine instance. Each core runtime engine instance is in communication with other concurrent core runtime engine instances and can share the functionality of plug-in instances with the other core runtime engine instances, for example through the use of proxies. A plurality of personalities representing pre-defined functions is defined and one of more of these personalities is associated with each core runtime engine instance. A plurality of pre-defined plug-ins are defined and associated with the personalities.
36 Citations
27 Claims
-
1. A runtime architecture for distributed plug-in configurable middleware for managing distributed applications, the architecture comprising:
-
a plurality of hosts, each host comprising a computer hardware platform; at least one core runtime engine; a plurality of personalities, each personality comprising a definition of a function; a plurality of pre-defined plug-ins, each plug-in associated with one or more of the plurality of personalities and comprising runtime code that provides at least a portion of the function of each personality to which the plug-in is associated and the plurality of plug-ins comprising functional dependencies among the plug-ins, the dependencies comprising relationships among the plug-ins for communicating, cooperating and sharing resources among core runtime engine instances running on the plurality of hosts to achieve the distributed middleware; a plurality of concurrent instantiations of the core runtime engine on the plurality of hosts, each core runtime engine instance comprising sufficient functionality to support plug-in architecture of the pre-defined plug-ins and modified by the pre-defined plug-ins to have personalities associated with those plug-ins, each core runtime instance in communicating, cooperating and sharing resources with other concurrent core runtime engine instances as provided by its associated plug-ins to contribute the functions associated with the personalities associated with the plug-ins used to modify that core runtime instance and to provide the dependencies among the plug-ins in order to establish the distributed middleware within a distributed computing system; wherein each plug-in is utilized by each core runtime engine instance having an associated personality to which the plug-in is associated; at least one configuration manager in communication with each one of the plurality of core runtime engine instances, the configuration manager capable of determining an architecture for the distributed middleware and of distributing plug-ins to the core runtime engine instances; at least one persistent storage device in communication with the configuration manager and comprising the plurality of plug-ins; wherein the host comprises an interface mechanism in communication with the configuration manager to facilitate instantiations of the core runtime engine on the host in accordance with the determined architecture; and wherein each plug-in comprises a core definition comprising instructions for loading and starting the plug-in, a properties section comprising a set of plug-in properties specific to that plug-in and a dependencies section comprising a description of the dependencies comprising the relationships between that plug-in and another plug-in. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for managing a computer application within a distributed environment, the method comprising:
-
defining a plurality of personalities, each personality comprising a pre-defined function; associating at least one plug-in with each personality, each plug-in comprising runtime code that provides at least a portion of the function of the personality to which the plug-in is associated and a function dependency with other plug-ins, this dependency comprising relationships between that plug-in and the other plug-ins for communicating, cooperating and sharing resources among core runtime engine instances running on a plurality of hosts to achieve the computer application within the distributed environment; instantiating a core runtime engine on each one of the plurality of hosts within the distributed environment, each core runtime engine instance comprising sufficient functionality to support plug-in architecture and each core runtime instance in communication with other concurrent core runtime engine instances, and each host comprising a computer hardware platform; associating at least one of the plurality of personalities with each one of the plurality of core runtime engine instances, each personality providing the pre-defined functionality associated with that personality to the core runtime engine instance to which that personality is associated; instantiating plug-ins on the core runtime engine instances in accordance with the associations between the personalities and the core runtime engine instances to modify the core runtime engine instances to have associated personalities, the plurality of core runtime engine instances working together in accordance with their associated dependencies to contribute their associated functionalities and to establish a distributed computing system; utilizing each plug-in by each core runtime engine instance having an associated personality to which the plug-in is associated; using a configuration manager in communication with each core runtime engine instance to determine an architecture for the distributed environment and to instantiate plug-ins on the appropriate core runtime engine instances; using an interface mechanism in communication with the configuration manager to facilitate instantiations of the core runtime engine on each host in accordance with the determined architecture; and providing a description for each plug-in comprising a core definition comprising instructions for loading and starting each the plug-in, a properties section comprising a set of plug-in properties specific to that plug-in dependencies section comprising a description of the dependencies comprising the relationships between that plug-in and another plug-in. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A non-transitory computer-readable medium containing a computer-readable code that when read by a computer causes the computer to perform a method for managing a computer application within a distributed environment, the method comprising:
-
defining a plurality of personalities, each personality comprising a pre-defined function; associating at least one plug-in with each personality, each plug-in comprising runtime code that provides at least a portion of the function of the personality to which the plug-in is associated and a function dependency with other plug-ins, this dependency comprising relationships between that plug-in and the other plug-ins for communicating, cooperating and sharing resources among core runtime engine instances running on a plurality of hosts to achieve the computer application within the distributed environment; instantiating a core runtime engine on each one of the plurality of hosts within the distributed environment, each core runtime engine instance comprising sufficient functionality to support plug-in architecture and each core runtime instance in communication with other concurrent core runtime engine instances, and each host comprising a computer hardware platform; associating at least one of the plurality of personalities with each one of the plurality of core runtime engine instances, each personality providing the pre-defined functionality associated with that personality to the core runtime engine instance to which that personality is associated; instantiating plug-ins on the core runtime engine instances in accordance with the associations between the personalities and the core runtime engine instances to modify the core runtime engine instances to have associated personalities, the plurality of core runtime engine instances working together in accordance with their associated dependencies to contribute their associated functionalities and to establish a distributed computing system; utilizing each plug-in by each core runtime engine instance having an associated personality to which the plug-in is associated; using a configuration manager in communication with each core runtime engine instance to determine an architecture for the distributed environment and to instantiate plug-ins on the appropriate core runtime engine instances; using an interface mechanism in communication with the configuration manager to facilitate instantiations of the core runtime engine on each host in accordance with the determined architecture; and providing a description for each plug-in comprising a core definition comprising instructions for loading and starting each the plug-in, a properties section comprising a set of plug-in properties specific to that plug-in and a dependencies section comprising a description of relationships between that plug-in and another other plug-in. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computing system comprising:
a plurality of hosts, each host comprising a computer hardware platform within the computing system, the computing system executing a plug-in configurable middleware for managing distributed applications, the middleware comprising; a plurality of concurrent instantiations of a core runtime engine on at least one host, each core runtime time engine instance configured to support plug-in architecture and each core runtime engine instance in communication with other concurrent core runtime engine instances; a plurality of pre-defined plug-ins, one or more of the plurality of plug-ins associated with one or more of the plurality of concurrent core runtime engine instances and each plug-in comprising runtime code that provides at least a portion of an additional function to the core runtime engine to which that plug-in is associated and the plurality of plug-ins comprising functional dependencies among the plug-ins, the dependencies comprising relationships among the plug-ins for communicating, cooperating and sharing resources among core runtime engine instances running on the hosts to achieve the middleware; wherein each core runtime engine instance is modified by one of the pre-defined plug-ins to have the personality associated with that plug-in, contributes a function associated with that personality, communicates, cooperates and shares resources with other concurrent core runtime engine instances as provided by its associated plug-ins and provides the dependencies among the plug-ins in order to establish the middleware within a distributed computing system; wherein each plug-in is utilized by each core runtime engine instance having an associated personality to which the plug-in is associated; at least one configuration manager in communication with each one of the plurality of core runtime engine instances, the configuration manager capable of determining an architecture for the distributed middleware and of distributing plug-ins to the core runtime engine instances; at least one persistent storage device in communication with the configuration manager and comprising the plurality of plug-ins; wherein the host comprises an interface mechanism in communication with the configuration manager to facilitate instantiations of the core runtime engine on the host in accordance with the determined architecture; and wherein each plug-in comprises a core definition comprising instructions for loading and starting the plug-in, a properties section comprising a set of plug-in properties specific to that plug-in and a dependencies section comprising a description of the dependencies comprising the relationships between that plug-in and another plug-in.
Specification