Distributed processing management for de-centralized information ecosystem technologies (DIET)
First Claim
1. A system for distributed process management comprising a plurality of software units comprising executable computer program code stored in a non-transitory computer-readable storage medium for installation on a computing platform, and further software for controlling the operation of the plurality of software units in use of the system, wherein:
- the further software is capable of defining, for each of the computers, a plurality of environments, each environment containing a respective set of said software units and being resident only on its own computer;
each software unit is provided with means adapted for communicating with other software units by the sending and receiving of messages;
at least some of the software units are further provided with means adapted to provide one or more elements of a software process;
each such communicating means includes means storing request handling conditions and is adapted to respond to a request from its own software unit, referred to hereafter as the source unit, for the establishment of a respective connection for a particular communications session between the source unit, and another software unit, referred to hereafter as the target unit, bydetermining in accordance with the request handling conditions whether it is allowed to handle the request, and if it is so allowed providing to the further software for that respective connection either a complete identity or a family identity for the target unit; and
, provided that the further software confirms that the respective environment in which the source unit is resident, currently contains a software unit corresponding to the provided identity,constructing, via the further software, in respect of that respective connection, corresponding source and target ConnectionEnds, each of the ConnectionEnds being provided with the identity of the other of the ConnectionEnds,providing the source unit with the identity of the newly constructed source ConnectionEnd,providing the target unit with the identity of the newly constructed target ConnectionEnds,obtaining, by the source unit'"'"'s communicating means from the target unit'"'"'s communicating means, the identity of the target unit, andrequesting, by the source unit'"'"'s communicating means, the target unit to accept the newly constructed target ConnectionEnd,whereby messages from the source unit to the target unit for that particular communications session travel along a path from the source unit to the newly constructed source ConnectionEnd, and then to the newly constructed target ConnectionEnd, and then to the target unit, and in the opposite direction along that path for messages from the target unit to the source unit for that particular communications session;
wherein the corresponding ConnectionEnds are destroyed on cessation of that established communications session.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for distributed process management uses a plurality of units of software installed on a computing platform. Further software controls operation of the plurality of units in use. Each unit of software communicates with other units of software, and at least some of the units of software further provides one or more elements of a software process. The further software being capable of defining at least one set of software units and controlling communication by the units in the set to be limited to communication only with other units of the set
10 Citations
44 Claims
-
1. A system for distributed process management comprising a plurality of software units comprising executable computer program code stored in a non-transitory computer-readable storage medium for installation on a computing platform, and further software for controlling the operation of the plurality of software units in use of the system, wherein:
-
the further software is capable of defining, for each of the computers, a plurality of environments, each environment containing a respective set of said software units and being resident only on its own computer; each software unit is provided with means adapted for communicating with other software units by the sending and receiving of messages; at least some of the software units are further provided with means adapted to provide one or more elements of a software process; each such communicating means includes means storing request handling conditions and is adapted to respond to a request from its own software unit, referred to hereafter as the source unit, for the establishment of a respective connection for a particular communications session between the source unit, and another software unit, referred to hereafter as the target unit, by determining in accordance with the request handling conditions whether it is allowed to handle the request, and if it is so allowed providing to the further software for that respective connection either a complete identity or a family identity for the target unit; and
, provided that the further software confirms that the respective environment in which the source unit is resident, currently contains a software unit corresponding to the provided identity,constructing, via the further software, in respect of that respective connection, corresponding source and target ConnectionEnds, each of the ConnectionEnds being provided with the identity of the other of the ConnectionEnds, providing the source unit with the identity of the newly constructed source ConnectionEnd, providing the target unit with the identity of the newly constructed target ConnectionEnds, obtaining, by the source unit'"'"'s communicating means from the target unit'"'"'s communicating means, the identity of the target unit, and requesting, by the source unit'"'"'s communicating means, the target unit to accept the newly constructed target ConnectionEnd, whereby messages from the source unit to the target unit for that particular communications session travel along a path from the source unit to the newly constructed source ConnectionEnd, and then to the newly constructed target ConnectionEnd, and then to the target unit, and in the opposite direction along that path for messages from the target unit to the source unit for that particular communications session; wherein the corresponding ConnectionEnds are destroyed on cessation of that established communications session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An applications platform installed in a computing environment including at least one computer to support the running of an application by use of processing and data storage capacity of the computing environment, the installed platform comprising:
-
means to create a first community of software units; and means to provide a support software environment to the first community, wherein an application to be run on the platform is installed as processes of a selected plurality of the first community of software units, and processes for support of the application in use are themselves installed on further software units of the first community; wherein a first unit maintained in the first community is capable of (a) requesting the further software to establish the first unit representative in a second community of units by creating the first unit representative initially in the first community, the first unit representative so created comprising a software process which is capable of migrating that unit from said first community to a specified other community and (b) specifying that the first unit representative so created is to migrate to the second community while also leaving said first unit to be maintained in said first community, wherein, similarly, a second unit maintained in the second community is capable of (a) requesting the further software to establish a second unit representative in the first community of units by creating the second unit representative initially in the second community, the second unit representative so created comprising a software process which is capable of migrating that unit from said second community to a specified other community and (b) specifying that the second unit representative so created is to migrate to the first community while also leaving said second unit to be maintained in said second community, wherein a respective connection for a particular communications session between the first unit and the second unit is established by the creation of a pair of ConnectionEnds in the first community for communications between the first unit and the second unit representative, and a pair of ConnectionEnds in the second community for communications between the second unit and the first unit representative, and the creation of respective carrier units which transport messages between the unit representatives, and wherein the means to provide a support software environment to the community maintains a plurality of units of processing capacity of the computing environment for allocation to selected units of the community of software units during running of an application. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A system for distributed process management comprising a plurality of software units comprising executable computer program code stored in a non-transitory computer-readable storage medium for installation on a computing platform comprising a plurality of interconnected computers, and further software for controlling the operation of the software units in use of the system, wherein:
-
the further software is capable of defining, for each of the computers, a plurality of environments, each environment containing a respective set of said software units and being resident only on its own computer; each software unit is provided with means adapted for communicating with other software units by the sending and receiving of messages; at least some of the software units are further provided with means adapted to provide one or more elements of a software process; each such communicating means includes means storing request handling conditions and is adapted to respond to a request from its own software unit, referred to hereafter as the source unit, for the establishment of a respective connection for a particular communications session between the source unit, and another software unit, referred to hereafter as the target unit, by determining in accordance with the request handling conditions whether it is allowed to handle the request, and if it is so allowed providing to the further software for that respective connection either a complete identity or a family identity for the target unit; and
, provided that the further software confirms that the respective software environment in which the source unit is resident, currently contains a software unit corresponding to the provided identity,constructing, via the further software, in respect of that respective connection, corresponding source and target ConnectionEnds, each of the ConnectionEnds being provided with the identity of the other of the ConnectionEnds, and providing the source unit with the identity of the newly constructed source ConnectionEnd and providing the target unit with the identity of the newly constructed target ConnectionEnd whereby messages from the source unit to the target unit for that particular communications session travel along a path from the source unit to the newly constructed source ConnectionEnd, and then to the newly constructed target ConnectionEnd, and then to the target unit, and in the opposite direction along that path for messages from the target unit to the source unit for that particular communications session; wherein the corresponding ConnectionEnds are destroyed on cessation of that established communications session; wherein the further software defines more than one said set, and wherein communication between a first said software unit, referred to hereafter as the first unit, in a first said set and a second said software unit, referred to hereafter as the second unit, in a second said set is by means of messages sent from the first unit to a said software unit in the first set and representing the second unit, referred to hereafter as the second unit representative, relayed from the second unit representative to a said software unit in the second set and representing the first unit, referred to hereafter as the first unit representative, and forwarded from the first unit representative to the second unit, and with necessary changes having been made for messages sent from the second unit to the first unit; wherein the first unit is capable of (a) requesting the further software to establish the first unit representative in the second set by creating the first unit representative initially in the first set, the first unit representative so created comprising a software process which is capable of migrating that unit from said first set to a specified said set, and (b) specifying that the first unit representative so created is to migrate to the second set; and wherein in each said set the units of software have unique local identities and the first unit representative is capable of (a) requesting the further software to establish the second unit representative in the first set by creating the second unit representative initially in the second set, the second unit representative so created comprising a software process which is capable of migrating that unit from said second set to a specified said set, and (b) specifying that the second unit representative so created is to migrate to the first set, and wherein the second unit representative is capable, when resident in the first set, of establishing a connection to the first unit, and the local identity of said second unit includes a specific family identifier identifying a function to be provided by said second unit for other software units of said second set; and
said further software is capable of creating said second unit representative such as to have either said specific family identifier or a non-specific family identifier in accordance with a specifier in said request by said first unit representative in dependence upon whether or not said function is to be made available to software units of said first set. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A system for distributed process management comprising a plurality of software units comprising executable computer program code stored in a non-transitory computer-readable storage medium for installation on a computing platform comprising a plurality of interconnected computers, and further software for controlling the operation of the software units in use of the system, wherein:
-
the further software is capable of defining, for each of the computers, a plurality of environments, each environment containing a respective set of said software units and being resident only on its own computer; each software unit is provided with means adapted for communicating with other software units by the sending and receiving of messages; at least some of the software units are further provided with means adapted to provide one or more elements of a software process; each such communicating means includes means storing request handling conditions and is adapted to respond to a request from its own software unit, referred to hereafter as the source unit, for the establishment of a respective connection for a particular communications session between the source unit, and another software unit, referred to hereafter as the target unit, by determining in accordance with the request handling conditions whether it is allowed to handle the request, and if it is so allowed providing to the further software for that respective connection either a complete identity or a family identity for the target unit; and
, provided that the further software confirms that the respective software environment in which the source unit is resident, currently contains a software unit corresponding to the provided identity,constructing, via the further software, in respect of that respective connection, corresponding source and target ConnectionEnds, each of the ConnectionEnds being provided with the identity of the other of the ConnectionEnds, and providing the source unit with the identity of the newly constructed source ConnectionEnd and providing the target unit with the identity of the newly constructed target ConnectionEnd whereby messages from the source unit to the target unit for that particular communications session travel along a path from the source unit to the newly constructed source ConnectionEnd, and then to the newly constructed target ConnectionEnd, and then to the target unit, and in the opposite direction along that path for messages from the target unit to the source unit for that particular communications session; wherein the corresponding ConnectionEnds are destroyed on cessation of that established communications session; wherein the further software defines more than one said set, and wherein communication between a first said software unit, referred to hereafter as the first unit, in a first said set and a second said software unit, referred to hereafter as the second unit, in a second said set is by means of messages sent from the first unit to a said software unit in the first set and representing the second unit, referred to hereafter as the second unit representative, relayed from the second unit representative to a said software unit in the second set and representing the first unit, referred to hereafter as the first unit representative, and forwarded from the first unit representative to the second unit, and with necessary changes having been made for messages sent from the second unit to the first unit; wherein the first unit is capable of (a) requesting the further software to establish the first unit representative in the second set by creating the first unit representative initially in the first set, the first unit representative so created comprising a software process which is capable of migrating that unit from said first set to a specified said set, and (b) specifying that the first unit representative so created is to migrate to the second set; and wherein each of said unit representatives is capable of (a) requesting the further software to create a software unit, referred to hereafter as a carrier unit, the said carrier unit so created being capable of carrying a said message and comprising a software process which is capable of migrating that unit to a specified said set, and (b) specifying that the carrier unit so created is to migrate to the set of the other of said unit representatives, connect to the other of said unit representatives and deliver the carried message. - View Dependent Claims (42)
-
-
43. A system for distributed process management comprising a plurality of software units comprising executable computer program code stored in a non-transitory computer-readable storage medium for installation on a computing platform comprising a plurality of interconnected computers, and further software for controlling the operation of the software units in use of the system, wherein:
-
the further software is capable of defining, for each of the computers, a plurality of environments, each environment containing a respective set of said software units and being resident only on its own computer; each software unit is provided with means adapted for communicating with other software units by the sending and receiving of messages; at least some of the software units are further provided with means adapted to provide one or more elements of a software process; each such communicating means includes means storing request handling conditions and is adapted to respond to a request from its own software unit, referred to hereafter as the source unit, for the establishment of a respective connection for a particular communications session between the source unit, and another software unit, referred to hereafter as the target unit, by determining in accordance with the request handling conditions whether it is allowed to handle the request, and if it is so allowed providing to the further software for that respective connection either a complete identity or a family identity for the target unit; and
, provided that the further software confirms that the respective software environment in which the source unit is resident, currently contains a software unit corresponding to the provided identity,constructing, via the further software, in respect of that respective connection, corresponding source and target ConnectionEnds, each of the ConnectionEnds being provided with the identity of the other of the ConnectionEnds, and providing the source unit with the identity of the newly constructed source ConnectionEnd and providing the target unit with the identity of the newly constructed target ConnectionEnd whereby messages from the source unit to the target unit for that particular communications session travel along a path from the source unit to the newly constructed source ConnectionEnd, and then to the newly constructed target ConnectionEnd, and then to the target unit, and in the opposite direction along that path for messages from the target unit to the source unit for that particular communications session; wherein the corresponding ConnectionEnds are destroyed on cessation of that established communications session; wherein the further software defines more than one said set, and wherein communication between a first said software unit, referred to hereafter as the first unit, in a first said set and a second said software unit, referred to hereafter as the second unit, in a second said set is by means of messages sent from the first unit to a said software unit in the first set and representing the second unit, referred to hereafter as the second unit representative, relayed from the second unit representative to a said software unit in the second set and representing the first unit, referred to hereafter as the first unit representative, and forwarded from the first unit representative to the second unit, and with necessary changes having been made for messages sent from the second unit to the first unit; wherein the first unit is capable of (a) requesting the further software to establish the first unit representative in the second set by creating the first unit representative initially in the first set, the first unit representative so created comprising a software process which is capable of migrating that unit from said first set to a specified said set, and (b) specifying that the first unit representative so created is to migrate to the second set; wherein the first unit representative is capable of (a) requesting the further software to establish the second unit representative in the first set by creating the second unit representative initially in the second set, the second unit representative so created comprising a software process which is capable of migrating that unit from said second set to a specified said set, and (b) specifying that the second unit representative so created is to migrate to the first set, and wherein the second unit representative is capable, when resident in the first set, of establishing a connection to the first unit; wherein each of said unit representatives is capable of (a) requesting the further software to create a software unit, referred to hereafter as a carrier unit, the said carrier unit so created being capable of carrying a said message and comprising a software process which is capable of migrating that unit to a specified said set, and (b) specifying that the carrier unit so created is to migrate to the set of the other of said unit representatives, connect to the other of said unit representatives and deliver the carried message, and wherein a said unit representative, so created and capable of requesting the further software to establish the other of said unit representatives, is further capable of (a) requesting the further software to create directly or indirectly said other of said unit representatives to be capable of requesting the further software to create the said carrier unit to have an identifier specific to the said unit representative, and of (b) requesting the further software to create a said carrier unit to have said specific identifier, and wherein each of said unit representatives is capable of determining the future handling of a message received via a carrier unit in dependence upon whether or not that carrier unit has said specific identifier. - View Dependent Claims (44)
-
Specification