Coordination-centric framework for software design in a distributed environment
First Claim
1. A system for implementing a modular software system in a distributed computing environment, the distributed computing environment having a plurality of networked processing resources, comprising:
- a first and a second general runtime component which are capable of communicating with each other;
the first and second general runtime components each comprising a plurality of sockets for connecting to a lower level component and managing interactions between the lower level components;
the first and second general runtime components each capable of operating on one of the plurality of networked processing resources;
a first and a second container component for engaging one of the plurality of sockets of one of the general runtime components;
the first container component implements a first predetermined functionality and comprises a first container coordinator for allowing the second container component to communicate with the first container component through their respective general runtime components; and
a first and second functional component within one of the container components;
the first functional component performs a second predetermined functionality and comprises a first functional coordinator for allowing the second functional component to communicate with the first functional component.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a coordination-centric framework for implementing a software system in a distributed computing environment. In a presently preferred embodiment the software system is a software design environment having authoring, synthesis, and debugging tools. The coordination-centric framework is flexible enough to interconnect tools and robust enough that tool designers can use it for all aspects of tool interconnection without requiring costly workarounds. The coordination-centric framework uses modular and reusable software elements and standardized interfaces to connect the software elements.
113 Citations
12 Claims
-
1. A system for implementing a modular software system in a distributed computing environment, the distributed computing environment having a plurality of networked processing resources, comprising:
-
a first and a second general runtime component which are capable of communicating with each other;
the first and second general runtime components each comprising a plurality of sockets for connecting to a lower level component and managing interactions between the lower level components;
the first and second general runtime components each capable of operating on one of the plurality of networked processing resources;
a first and a second container component for engaging one of the plurality of sockets of one of the general runtime components;
the first container component implements a first predetermined functionality and comprises a first container coordinator for allowing the second container component to communicate with the first container component through their respective general runtime components; and
a first and second functional component within one of the container components;
the first functional component performs a second predetermined functionality and comprises a first functional coordinator for allowing the second functional component to communicate with the first functional component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for implementing a modular software system on a distributed computing platform, the distributed computing platform having a plurality of connected processing resources, the method comprising:
-
providing a first and a second general runtime component which are capable of operating on one of the plurality of processing resources and of communicating with each other, and each of which comprise a plurality of sockets for connecting to a lower level component and managing interactions between the lower level components;
providing a first and a second container component for implementing a first and second predetermined functionality, respectively, dynamically connecting the first and second container components into the one of the plurality of sockets in the first and second general runtime components, respectively;
with the first container component, inserting a first container coordinator into the first general runtime component, thereby creating a connection point for the second container component to initiate communication with the first container component by connecting to the first container coordinator;
providing a first and second functional component for performing a third and fourth predetermined functionality, respectively, within the first container component;
dynamically introducing the first functional component into the first container component; and
with the first functional component, inserting a first functional coordinator into the first container component, thereby creating a connection point for the second functional component to initiate communication with the first functional component by connecting to the first functional coordinator. - View Dependent Claims (11, 12)
-
Specification