Coordination-centric framework for software design in a distributed environment
AssigneeIntel Corporation
InventorKenneth J. Hines
Life of this patent
Estimating the term…
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.
Claims12
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.
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.
Dependencies are inferred from the claim text.