System and method for generating distributed information systems
First Claim
1. A method of implementing a distributed information system, the method comprising:
- creating one or more services defined by collections of incoming and outgoing messages;
creating one or more components to implement one or more of the created services, the plurality of components implemented as concurrent independent software entities, the implementation including generating service provider ports and service consumer ports to expose the implemented services, and defining one or more configuration attributes used to configure individual instances of a component;
creating a system model by creating one or more instances of the created components and configuring the one or more configuration attributes of the created component instances;
linking the component instances together via the exposed service ports; and
executing run-time software to host components and manage communications between the linked component instances that includes scheduling component instance handling of incoming messages, wherein the components operate continuously and asynchronously, and wherein service implementations are internal to the component instance such that external entities do not have direct access to details of how services are implemented.
7 Assignments
0 Petitions
Accused Products
Abstract
An architecture for developing a distributed information system comprises a service definition tool for generating service protocols as a service definition. Each service protocol includes a plurality of messages. The messages include incoming messages and outgoing messages. Each message carries a plurality of data fields. A component development tool generates a first and second plurality of components that implement and consume services. Each component in the first plurality of components represents a physical entity in the distributed information system. Each component in the second plurality of components represents a logical entity in the distributed information system. A system development tool generates a plurality of component instances based on the first and second plurality of components. An engine software program runs on each of a plurality of networked nodes. The engine software program provides a programmable run-time environment for hosting the plurality of component instances and supporting communication between component instances.
-
Citations
12 Claims
-
1. A method of implementing a distributed information system, the method comprising:
-
creating one or more services defined by collections of incoming and outgoing messages; creating one or more components to implement one or more of the created services, the plurality of components implemented as concurrent independent software entities, the implementation including generating service provider ports and service consumer ports to expose the implemented services, and defining one or more configuration attributes used to configure individual instances of a component; creating a system model by creating one or more instances of the created components and configuring the one or more configuration attributes of the created component instances; linking the component instances together via the exposed service ports; and executing run-time software to host components and manage communications between the linked component instances that includes scheduling component instance handling of incoming messages, wherein the components operate continuously and asynchronously, and wherein service implementations are internal to the component instance such that external entities do not have direct access to details of how services are implemented. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of implementing a component instance, the method comprising:
-
configuring a component instance by modifying one or more configuration attributes associated with the component instance; deploying the configured component instance to a physical node, the component instance including at least one implemented service that operates internally to the component instance and includes at least one service access port exposed with respect to the implemented service; and hosting and executing at the physical node a run-time engine that manages communications to and from the at least one implemented service access port of the component instance to other component instances linked with the component instance, including scheduling of messages delivered to the component instance via the exposed service access port, such that the component instance has no knowledge of linked connections to other component instances. - View Dependent Claims (7, 8)
-
-
9. A computer-implemented development tool for creating distributed information systems, the computer-implemented development tool stored on a non-transitory computer-readable medium and executed by a computer, the computer-implemented development tool comprising:
-
a service protocol repository that stores a plurality of service protocols, the plurality of service protocols beings defined by collections of incoming and outgoing messages; a component development tool for creating components to implement one or more of the stored service protocols and defining one or more attributes used to configure individual instances of a created component, wherein each service protocol implemented in a component is exposed as a service access port that receives or sends communications based on whether the service protocol is a consumer service protocol or a provider service protocol, wherein implementation of each service protocol is internal to the component such that components operate with other components asynchronously and without knowledge of the other components with which they interact; a system development tool for defining, configuring via the one or more attributes, storing in computer readable form, and hosting a plurality of component instances based on the plurality of components, and defining, storing in computer readable form, and hosting links between exposed service access ports of one or more components; and a run-time engine to provide a dynamic run-time environment that is a container for component instances, wherein the run-time engine manages communication between the component instances as defined by the hosted links between exposed service access ports of the one or more hosted components and component instances do not have knowledge of other hosted component instances, wherein the run-time engine schedules component instance handling of incoming messages. - View Dependent Claims (10, 11, 12)
-
Specification