System and method for establishing communication protocols between application programs
First Claim
1. A method for generating and monitoring the interaction of a plurality of a dynamically varying set of software modules, in a computing system having one or more processors, wherein each of said software modules is capable of interactively creating and manipulating objects belonging to one or more object classes, each of said object class being automatically generated from an interface specification, said method comprising the stepsdefining a computer-language-independent interface specification to govern the interaction of said plurality of software modules across one or more processors by the steps of;
- providing a unique name for said interface specification;
providing a list of one or more in instance variables which define the characteristics of a class of objects;
providing zero or more interaction variables specifying the public or private interaction of a group of said objects; and
specifying constraints if any, on the interaction of said software modules;
converting said computer-language-independent interface specification into a computer-language-specific interface implementation for a specific computing system using at least the following information;
a name of a communications protocol to be used for the interchange of data between said software modules;
an identification of the software modules that need to exchange data to interactively create and manipulate objects;
an operational command set for each such software module; and
the constraints, if any, on the interaction of said software modules;
creating a plurality of functional software modules that are capable of interacting or communicating with each other using said computer-language-specific interface implementation;
regulating the interaction of said software modules such that any of said plurality of software modules is permitted to initiate or respond to communications from any other software module; and
executing said plurality of software modules on said computing system using said computer-language-specific interface implementation for communicating data between said software modules.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for implementing a common protocol for communication of data between a first application program and a second application program. The method and system uses a high level interface specification that is created in a computer program language-independent fashion using an object oriented paradigm. The high level interface specification is used to define the common protocol, and to generate first and second protocol interfaces. Either of the generated first and second protocol interfaces is capable of performing the services of a client or server, and are inserted into the first and second application programs respectively. The first and second protocol interfaces are executed by the first and second application programs for communication of data between them using the common protocol.
190 Citations
34 Claims
-
1. A method for generating and monitoring the interaction of a plurality of a dynamically varying set of software modules, in a computing system having one or more processors, wherein each of said software modules is capable of interactively creating and manipulating objects belonging to one or more object classes, each of said object class being automatically generated from an interface specification, said method comprising the steps
defining a computer-language-independent interface specification to govern the interaction of said plurality of software modules across one or more processors by the steps of; -
providing a unique name for said interface specification; providing a list of one or more in instance variables which define the characteristics of a class of objects; providing zero or more interaction variables specifying the public or private interaction of a group of said objects; and specifying constraints if any, on the interaction of said software modules; converting said computer-language-independent interface specification into a computer-language-specific interface implementation for a specific computing system using at least the following information; a name of a communications protocol to be used for the interchange of data between said software modules; an identification of the software modules that need to exchange data to interactively create and manipulate objects; an operational command set for each such software module; and the constraints, if any, on the interaction of said software modules; creating a plurality of functional software modules that are capable of interacting or communicating with each other using said computer-language-specific interface implementation; regulating the interaction of said software modules such that any of said plurality of software modules is permitted to initiate or respond to communications from any other software module; and executing said plurality of software modules on said computing system using said computer-language-specific interface implementation for communicating data between said software modules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for generating and monitoring the interaction of a plurality of a dynamically varying set of software modules in a computing system having one or more processors, wherein each of said software modules is capable of interactively creating and manipulating objects belonging to one or more object classes, each of said object class being automatically generated from an interface specification, said system comprising:
-
means for defining a computer-language-independent interface specification to govern the interaction of said plurality of software modules across one or more processors by the steps providing a unique name for said interface specification; providing a list of one or more instance variables which define the characteristics of a class of objects; providing zero or more interaction variables specifying the public or private interaction of a group of said objects; and specifying constraints, if any, on the interaction of said software modules; means for converting said computer-language-independent interface specification into a computer-language-specific interface implementation for a specific computing system using at least the following information; a name of a communications protocol to be used for the interchange of data between said software modules; an identification of the software modules that need to exchange data to interactively create and manipulate objects; an operational command set for each such software module; and the constraints, if any, on the interaction of said software modules; means for creating a plurality of functional software modules that are capable of interacting or communicating with each other using said computer-language-specific interface implementation; means for regulating the interaction of said software modules such that any of said plurality of software modules is permitted to initiate or respond to communications from any other software module; and means for executing said plurality of software modules on said computing system using said computer-language-specific interface implementation for communicating data between said software modules. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for generating and monitoring the interaction of a plurality of a dynamically varying set of software modules in a computing system having one or more processors, wherein each of said software modules is capable of interactively creating and manipulating objects belonging to one or more object classes, each of said object class being automatically generated from an interface specification, said method comprising the steps of:
-
defining a computer-language-independent interface specification to govern the interaction of said plurality of software modules across one or more processors by the steps of; providing a unique name for said interface specification; providing a list of one or more instance variables which define the characteristics of a class of objects; providing zero or more interaction variables specifying the public or private interaction of a group of said objects; and specifying constraints, if any, on the interaction of said software modules; converting said computer-language-independent interface specification into a computer-language-specific interface implementation for a specific computing system using at least the following information; a name of a communications protocol to be used for the interchange of data between said software modules; an identification of the software modules that need to exchange data to interactively create and manipulate objects; an operational command set for each such software module; and the constraints, if any, on the interaction of said software modules; creating a plurality of functional software modules that arc capable of interacting or communicating with each other using said computer-language-specific interface implementation; regulating the interaction of said software modules such that only one of each pair of software modules is permitted to initiate communication with the other, and the other software module of said pair is only permitted to respond to queries of said initiating software module; and executing said plurality of software modules on said computing system using said computer-language-specific interface implementation for communicating data between said software modules. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A system for generating and monitoring the interaction of a plurality or a dynamically varying set of software modules in a computing system having one or more processors, wherein each of said software modules is capable of interactively creating and manipulating objects belonging to one or more object classes, each of said object class being automatically generated from an interface specification, said system comprising:
-
means for defining a computer-language-independent interface specification to govern the interaction of said plurality of software modules across one or more processors by the steps of; providing a unique name for said interface specification; providing a list of one or more instance variables which define the characteristics of a class of objects; providing zero or more interaction variables specifying the public or private interaction of a group of said objects; and specifying constraints, if any, on the interaction of said software modules; means for converting said computer-language-independent interface specification into a computer-language-specific interface implementation for a specific computing system using at least the following information; a name of a communications protocol to be used for the interchange of data between said software modules; an identification of the software modules that need to exchange data to interactively create and manipulate objects; an operational command set for each such software module; and the constraints, if any, on the interaction of said software modules; means for creating a plurality of functional software modules that are capable of interacting or communicating with each other using said computer-language-specific interface implementation; means for regulating the interaction of said software modules such that only one of each pair of software modules is permitted to initiate communication with the other, and the other software module of said pair is only permitted to respond to queries of said initiating software module; and means for executing said plurality of software modules on said computing system using said computer-language-specific interface implementation for communicating data between said software modules. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification