Method and system for efficient inter- process communication in a high availability system
Abstract
A system, method and associated data structures for providing inter process communication where IPC endpoints may get relocated during the operation of the system. A device in accordance with the principles of the present invention comprises IPC filter rule management process, IPC filter rule lookup process, IPC filter rule table and plurality of IPC endpoints and a network interface for connectivity, wherein IPC filter rule management process creates, deletes and updates the entries in IPC filter rule table, and wherein IPC filter rule lookup process finds the matched rule and takes the forwarding actions. A system in accordance with the principles of present invention for providing inter process communication where IPC endpoints may get relocated during the operation of the system comprises a plurality of preferred devices which in an embodiment may be connected with plurality of functional peers through plurality of network interfaces.
Claims
exact text as granted — not AI-modified1 . A device for providing inter process communication where IPC end points may get relocated during the operation of the device comprising:
a. one or more network interfaces; b. an IPC filter rule management entity to create, update and delete IPC filter rules as IPC message flows are created, relocated or deleted; c. an IPC filter rule table to store IPC filter rules; d. an IPC filter rule lookup entity to associate an IPC filter rule in the IPC filter rule table, forwarding an IPC message in accordance with the forwarding actions of the IPC filter rule; and e. one or more IPC end points.
2 - 37 . (canceled)
38 . The device as claimed in claim 1 , wherein the filter rule comprises a filer mask, a filter value and a forwarding action comprising a forwarding address and an interface.
39 . The device as claimed in claim 38 , wherein the filter mask comprises any combination of standardized or non-standardized fields of the IPC message that uniquely identify an IPC message flow.
40 . The device as claimed in claim 38 , wherein the filter value comprises values of the fields selected by the filter mask to identify all IPC messages of an IPC message flow.
41 . The device as claimed in claim 40 , wherein the field value comprises of a scalar value, a range or a wild card.
42 . The device as claimed in claim 1 , wherein the IPC filter rule table is implemented as a hash table, a ordered table or an unordered table.
43 . The device as claimed in claim 38 , wherein the forwarding address can be an Internet Protocol address or any other form of address assigned to identify a IPC endpoint.
44 . The device as claimed in claim 1 , wherein the IPC message is forwarded to the address through the interface provided in the forwarding action of the associated filter rule.
45 . The device as claimed in claim 1 , wherein the IPC message is dropped when the forwarding address is not specified in the associated rule.
46 . The device as claimed in claim 1 , wherein the IPC message is forwarded to the IPC endpoint using an implementation specific manner to the forwarding action address in the associated filter rule when the forwarding action interface is configured as “lo”.
47 . A system for providing inter process communication where the IPC end points may get relocated during the operation of the system, comprising one or more interconnected devices that each comprise:
a. one or more network interfaces, b. an IPC filter rule management entity to create, update and delete IPC filter rules as IPC message flows are created, relocated or deleted, c. an IPC filter rule table to store IPC filter rules, d. an IPC filter rule lookup entity to associate an IPC filter rule in the IPC filter rule table, forwarding an IPC message in accordance with the forwarding actions of the IPC filter rule, and e. one or more IPC end points
48 . The system as claimed in claim 47 , comprising one or more interfacing units for communicating with peer nodes.
49 . The system as claimed in claim 47 , wherein the IPC endpoints of an IPC message flow are located within the system.
50 . The system as claimed in claim 47 , wherein at least one of the IPC endpoints of an IPC message flow is located outside the system.
51 . The system as claimed in claim 47 , wherein one or more system events comprising addition, deletion, failure and mobility of an IPC endpoint and system scalability are used by the IPC filter rule management entity to update the IPC filter rule table.
52 . A method for inter-process communication between a source and destination IPC endpoints, comprising:
a. adding, deleting, and updating one or more IPC filter rules; b. waiting for and receiving one or more incoming or outgoing IPC message; c. determining the rule associated with the IPC message; and d. forwarding the IPC message according to the forwarding action of the IPC filter rule.
53 . The method as claimed in claim 52 , wherein the outgoing IPC messages are received on the device comprising the source IPC endpoint of the IPC message.
54 . The method as claimed in claim 52 , wherein the incoming IPC messages are received on the device comprising the destination IPC endpoint of the IPC message.
55 . The method as claimed in claim 52 , wherein determining the rule associated with IPC message comprises:
a. comparing the value of the IPC message fields selected by the filter mask of the IPC filter rule with the filter value of the rule; and b. determining the applicability of the IPC filter rule based on the comparison.
56 . The method as claimed in claim 52 , comprising analyzing all the IPC filter rules in the table from beginning to end till an applicable IPC filter rule is found.
57 . The method as claimed in claim 52 , wherein the IPC message is silently dropped when no applicable IPC filter rule can be found.
58 . The method as claimed in claim 52 , wherein an exception is generated and the IPC message is silently dropped when no applicable IPC filter rule can be found.
59 . The method as claimed in claim 52 , wherein the IPC message is forwarded using a default forwarding action when no applicable IPC filter rule can be found.
60 . The method as claimed in claim 52 , wherein the IPC message is silently dropped when an invalid forwarding action is found in the IPC filter.
61 . The method as claimed in claim 52 , wherein an exception is generated and IPC message is silently dropped when an invalid forwarding action is found in the IPC filter.
62 . The method as claimed in claim 52 , wherein the IPC message is forwarded using a default forwarding action when an invalid forwarding action is found in the IPC filter.
63 . The method as claimed in claim 60 , wherein the forwarding action is considered invalid if the forwarding address is not reachable through the interface, the forwarding address is not configured or the interface is not valid.
64 . The method as claimed in claim 52 , wherein the IPC message is forwarded to the IPC endpoint using an implementation specific manner to the forwarding action address in the associated filter rule when the forwarding action interface is configured as “lo”.
65 . The method as claimed in claim 55 , wherein the scalar value of a field in the IPC filter rule is considered to be equal to the corresponding filed value in IPC message when the two values are equal.
66 . The method as claimed in claim 55 , wherein the range value of a field in the IPC filter rule is considered to be equal to the corresponding field value in IPC message when the range comprises the field value.
67 . The method as claimed in claim 55 , wherein a wild card value in a field in the IPC filter rule is always considered to be equal to the corresponding field value in the IPC message.
68 . The method as claimed in 55 , wherein the IPC filter rule is applicable when the values of all the fields of the IPC message match with the corresponding IPC filter values of the IPC filter rule.
69 . The method as claimed in claim 52 , wherein adding a new IPC filter rule comprises:
a. constructing a new IPC filter rule by assigning a filter mask, filter value and forwarding action corresponding to an IPC message flow; b. resolving conflicts of the new IPC filter rule with the existing IPC filter rules that have identical filter mask and filter values but different forwarding action; c. inserting the new IPC filter rule in the table; and d. merging two or more rules in the table that have identical forwarding action and filter mask.
70 . The method as claimed in claim 52 , where deleting an IPC filter rule comprises:
a. removing the rule from the table; and b. merging two or more remaining rules in the table that have identical forwarding action and filter mask.
71 . The method as claimed in claim 52 , wherein updating an IPC filter rule comprises:
a. removing the IPC filter rule from the table; and b. adding an updated rule comprising:
constructing a new IPC filter rule by assigning a filter mask, filter value and forwarding action corresponding to an IPC message flow;
resolving conflicts of the new IPC filter rule with the existing IPC filter rules that have identical filter mask and filter values but different forwarding action;
inserting the new IPC filter rule in the table; and
merging two or more rules in the table that have identical forwarding action and filter mask.
72 . The method as claimed in claim 69 , wherein merging two or more IPC filter rules comprises:
a. constructing a new rule comprising fields which have identical values; b. removing the IPC filter rules to be merged from the table; and c. adding a new rule to the table.
73 . The method as claimed in claim 69 , wherein resolving conflict between two IPC filter rules comprise adding one more IPC message fields that have different values in the IPC message flows corresponding to conflicting rules to filter mask of the conflicting rules.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.