Establishing compatibility of messages for communicating between processing entities with continuous availability
First Claim
1. In a computer processing system having a plurality of processing entities which employ messages for communicating with each other, said messages comprising a plurality of message types, each of which is updatable to newer versions at each of said processing entities by an initialization process, a method for establishing compatibility between said processing entities for said messages, comprising the steps of:
- maintaining, for at least one of said message types, at each of said processing entities, an identification value of the maximum version of said message type supported at said processing entity;
maintaining at each of said processing entities, an identification value of the minimum version of said message type supported at said processing entity for said at least ones of said message types;
at said initialization process of any said processing entity, said initializing processing entity requesting from other said processing entities of said computer processing system, said maximum version identification value and said minimum version identification value for at least ones of said message types;
said initializing processing entity comparing said maintained maximum and minimum version identification values of said processing entity to the requested said maximum version identification value and said minimum version identification value for the requested message types; and
selecting as a maximum current version to be employed by said initializing processing entity for said messages of said message types, the maximum current version whose identification value intersects with said maintained maximum and minimum version identification values and said maximum and said minimum version identification values of all said other processing entities.
3 Assignments
0 Petitions
Accused Products
Abstract
A plurality of processing entities of a computer processing system employ messages for communicating with each other, and are updatable to newer versions at each of the processing entities by an initialization process. To maintain continuous availability, compatibility for the messages is established between the processing entities by maintaining, for message types, at each processing entity, identification values of the maximum and of the minimum versions of the message type supported at the entity. An initializing processing entity requests the maximum and minimum version identification values for the message types from other processing entities of the system. The initializing entity compares its maintained maximum and minimum version identification values to received maximum and minimum version identification values, and selects, as its current version, the maximum version whose identification value intersects with the maintained maximum and minimum version identification values and the maximum and the minimum version identification values of all the other processing entities.
225 Citations
24 Claims
-
1. In a computer processing system having a plurality of processing entities which employ messages for communicating with each other, said messages comprising a plurality of message types, each of which is updatable to newer versions at each of said processing entities by an initialization process, a method for establishing compatibility between said processing entities for said messages, comprising the steps of:
-
maintaining, for at least one of said message types, at each of said processing entities, an identification value of the maximum version of said message type supported at said processing entity;
maintaining at each of said processing entities, an identification value of the minimum version of said message type supported at said processing entity for said at least ones of said message types;
at said initialization process of any said processing entity, said initializing processing entity requesting from other said processing entities of said computer processing system, said maximum version identification value and said minimum version identification value for at least ones of said message types;
said initializing processing entity comparing said maintained maximum and minimum version identification values of said processing entity to the requested said maximum version identification value and said minimum version identification value for the requested message types; and
selecting as a maximum current version to be employed by said initializing processing entity for said messages of said message types, the maximum current version whose identification value intersects with said maintained maximum and minimum version identification values and said maximum and said minimum version identification values of all said other processing entities. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
each said processing entity maintaining said maximum and minimum version identification values for each of said message types for each of said other processing entities;
said initiating processing entity additionally providing said maximum and said minimum version identification values for said message types of said initiating processing entity; and
each other said processing entity updating said maximum and minimum version identification values for said initializing processing entity.
-
-
4. The method for establishing message compatibility of claim 3, wherein said other processing entities additionally conduct said comparing and selecting steps to include said updated maximum and minimum version identification values for said initializing processing entity.
-
5. The method for establishing message compatibility of claim 4, additionally comprising the steps of:
-
in said comparing step of said other processing entities, determining whether, for each message type of a predetermined subset of message types, any said initiating processing entity said version identification value fails to intersect with all said other processing entities; and
upon said initiating processing entity said version identification value failing to intersect with all said other processing entities for each said message type, sending a message to said initializing processing entity informing said processing entity that it is incompatible with said message communication.
-
-
6. The method for establishing message compatibility of claim 5, additionally comprising the steps of:
any said processing entity receiving said incompatibility message, ceasing operational communication with other said processing entities.
-
7. The method for establishing message compatibility of claim 1, additionally comprising the steps of:
-
each said processing entity maintaining said maximum and minimum version identification values for each of said message types for each of said other processing entities; and
each said processing entity determining whether each other said processing entity remains in operational communication, and, upon determining that any said other processing entity fails to remain in said operational communication, deleting all said maximum and minimum version identification values for said other processing entity.
-
-
8. The method for establishing message compatibility of claim 1, wherein, in said comparing step, upon said initializing processing entity failing to receive said requested maximum version identification value and said minimum version identification value from any other said processing entity, in said selecting step, selects said maintained minimum version identification value.
-
9. A computer processing system comprising:
-
a message communication network for allowing communication between processing entities; and
a plurality of processing entities, each coupled to said message communication network, employing messages for providing said communication between said plurality of processing entities at said message communication network, said messages comprising a plurality of message types, and for initialization updating of said messages to newer versions, each said processing entity;
maintaining, for at least one of said message types, an identification value of the maximum version of said message type supported at said processing entity;
maintaining an identification value of the minimum version of said message type supported at said processing entity for said at least ones of said message types;
requesting, at said initialization process of any said processing entity, from other said processing entities of said computer processing system, said maximum version identification value and said minimum version identification value for said message types;
comparing, at said initializing processing entity, said maintained maximum and minimum version identification values of said processing entity to the requested said maximum version identification value and said minimum version identification value for the requested message types; and
selecting as a maximum current version to be employed by said initializing processing entity for said messages of said message types, the maximum current version whose identification value intersects with said maintained maximum and minimum version identification values and said maximum and said minimum version identification values of all said other processing entities. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
maintains, at each said processing entity, said maximum and minimum version identification values for each of said message types for each of said other processing entities;
provides, at said initiating processing entity, said maximum and said minimum version identification values for said message types of said initiating processing entity; and
updates, at each other said processing entity, said maximum and minimum version identification values for said initializing processing entity.
-
-
12. The computer processing system of claim 11, wherein said other processing entities additionally conduct said comparison and selection to include said updated maximum and minimum version identification values for said initializing processing entity.
-
13. The computer processing system of claim 12, wherein said processing entity additionally:
-
in said comparison of said other processing entities, determines whether, for each message type of a predetermined subset of message types, said initiating processing entity said version identification value fails to intersect with all said other processing entities; and
upon said initiating processing entity said version identification value failing to intersect with all said other processing entities for each said message type, sends a message to said initializing processing entity informing said processing entity that it is incompatible with said message communication.
-
-
14. The computer processing system of claim 13, wherein said processing entity additionally:
at any said processing entity, upon receiving said incompatibility message, ceases operational communication with other said processing entities.
-
15. The computer processing system of claim 9, wherein said processing entity additionally:
-
maintains, at each said processing entity, said maximum and minimum version identification values for each of said message types for each of said other processing entities; and
determines, at each said processing entity, whether each other said processing entity remains in operational communication, and, upon determining that any said other processing entity fails to remain in said operational communication, deletes all said maximum and minimum version identification values for said other processing entity.
-
-
16. The computer processing system of claim 9, wherein said processing entity, in said comparison, upon said initializing processing entity failing to receive said requested maximum version identification value and said minimum version identification value from any other said processing entity, in said selection, selects said maintained minimum version identification value.
-
17. A computer program product usable with a programmable computer having computer readable program code embodied therein, for use with processing entities of a computer processing system, said computer processing system having a plurality of said processing entities;
- and said computer processing system having a message communication network coupled to each of said plurality of processing entities, for allowing communication between said plurality of processing entities;
each of said processing entities employing messages for providing said communication between said plurality of processing entities at said message communication network, said messages comprising a plurality of message types, and for initialization updating of said messages to newer versions, said computer program product comprising;computer readable program code which causes each of said processing entities to maintain, for at least one of said message types, an identification value of the maximum version of said message type supported at said processing entity;
computer readable program code which causes each of said processing entities to maintain an identification value of the minimum version of said message type supported at said processing entity for said at least ones of said message types;
computer readable program code which causes said processing entities to, at said initialization process of any said processing entity, request from other said processing entities of said computer processing system, said maximum version identification value and said minimum version identification value for said message types;
computer readable program code which causes said processing entities to, at said initializing processing entity, compare said maintained maximum and minimum version identification values of said processing entity to the requested said maximum version identification value and said minimum version identification value for the requested message types; and
computer readable program code which causes said processing entities to, at said initializing processing entity, select as a maximum current version to be employed by said initializing processing entity for said messages of said message types, the maximum current version whose identification value intersects with said maintained maximum and minimum version identification values and said maximum and said minimum version identification values of all said other processing entities. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
computer readable program code which causes said computer processor to, at each said processing entity, maintain said maximum and minimum version identification values for each of said message types for each of said other processing entities;
computer readable program code which causes said computer processor to, at said initiating processing entity, additionally provide said maximum and said minimum version identification values for said message types of said initiating processing entity; and
computer readable program code which causes said computer processor to, at each other said processing entity, update said maximum and minimum version identification values for said initializing processing entity.
- and said computer processing system having a message communication network coupled to each of said plurality of processing entities, for allowing communication between said plurality of processing entities;
-
20. The computer program product of claim 19, additionally comprising computer readable program code which causes said processing entities to, at said other processing entities conduct said comparison and selection, including said updated maximum and minimum version identification values for said initializing processing entity.
-
21. The computer program product of claim 20, additionally comprising:
-
computer readable program code which causes said processing entities to, in said comparison of said other processing entities, determine, for each message type of a predetermined subset of message types, whether said initiating processing entity said version identification value fails to intersect with all said other processing entities; and
computer readable program code which causes said processing entities to, upon said initiating processing entity said version identification value failing to intersect with all said other processing entities for each said message type, send a message to said initializing processing entity informing said processing entity that it is incompatible with said message communication.
-
-
22. The computer program product of claim 21, additionally comprising:
computer readable program code which causes said processing entities to, at any said processing entity receiving said incompatibility message, cease operational communication with other said processing entities.
-
23. The computer program product of claim 17, additionally comprising:
-
computer readable program code which causes each said processing entity to maintain said maximum and minimum version identification values for each of said message types for each of said other processing entities; and
computer readable program code which causes each said processing entity to determine whether each other said processing entity remains in operational communication, and, upon determining that any said other processing entity fails to remain in said operational communication, to delete all said maximum and minimum version identification values for said other processing entity.
-
-
24. The computer program product of claim 17, wherein, said computer readable program code which causes said processing entities to conduct said comparison, causes said processing entities, upon said initializing processing entity failing to receive said requested maximum version identification value and said minimum version identification value from any other said processing entity, in said selection, select said maintained minimum version identification value.
Specification