Apparatus and method for data conversion and load balancing in a computer network
First Claim
Patent Images
1. An apparatus for load balancing of processing provided by multiple server machines directly interfaced with a client machine, comprising:
- means for storing at the server machines load levels of each of the server machines;
means for assigning the client machine to a first server machine among a predetermined set of server machines based upon the load levels; and
means for temporarily reassigned the client machine to a second server machine not among the predetermined set of server machines based upon the load levels if each of the predetermined set of server machines is unavailable.
9 Assignments
0 Petitions
Accused Products
Abstract
Conversion of a data in a variable field message to a fixed format message. The variable field message has a varying length and fields of varying types of data. The corresponding fixed format message has fields of a fixed data type and length, which facilitates parsing and processing data from the variable field message. Customers for the data conversion or other processing are load balanced among multiple servers sharing load level information.
-
Citations
24 Claims
-
1. An apparatus for load balancing of processing provided by multiple server machines directly interfaced with a client machine, comprising:
-
means for storing at the server machines load levels of each of the server machines;
means for assigning the client machine to a first server machine among a predetermined set of server machines based upon the load levels; and
means for temporarily reassigned the client machine to a second server machine not among the predetermined set of server machines based upon the load levels if each of the predetermined set of server machines is unavailable. - View Dependent Claims (2, 3, 4, 5, 6, 22)
servicing means for receiving a message from the client machine requesting service at at least one of the first server machine to which the client machine is assigned and the second server machine to which the client machine is temporarily assigned.
-
-
3. The apparatus of claim 2, wherein the servicing means includes
means for determining if a particular one of the server machines among the predetermined set of server machines is least loaded among the server machines, and means for sending a response if the particular server machine is the least loaded server machine. -
4. The apparatus of claim 2, wherein the servicing means includes
means for sending a new load level for a particular one of the server machines to the other server machines. -
5. The apparatus of claim 4 wherein the storing means further comprises means for updating the load levels at each of the server machines with the new load level.
-
6. The apparatus of claim 2, wherein the servicing means includes:
-
means for receiving an input message in a variable field format;
means for identifying data types for each field of the input message;
means for assembling an output message having multiple fields defined by a fixed format; and
means for mapping data from the input message to specified fields in the output message based on the identified data types.
-
-
22. The apparatus of claim 1 further comprising means for servicing the client machine using server machines to which the client machine is not assigned if the set of server machines to which the client machine is assigned are unavailable for service.
-
7. A system for load balancing of processing provided by multiple server machines interfaced with a client machine servicing multiple customers, comprising:
-
a plurality of server machines interfaced directly with the client machine; and
an apparatus servicing the customers by the server machines, the apparatus comprising;
means for assigning the client machine to a first server machine among a predetermined set of server machines based upon the load levels; and
means for temporarily reassigning the client machine to a second server machine not among the predetermined set of server machines based upon the load levels if each of the predetermined set of server machines is unavailable. - View Dependent Claims (8, 9, 10, 11, 12, 23)
servicing means for receiving a message from the client machine requesting service at at least one of the first server machine to which the client machine is assigned with the second server machine to which the client machine is temporarily assigned.
-
-
9. The system of claim 8, wherein the servicing means includes
means for determining if a particular one of the server machines among the predetermined set of server machines is least loaded among the server machines, and means for sending a response if the particular server machine is the least loaded server machine. -
10. The system of claim 8, wherein the servicing means includes
means for sending a new load level for a particular one of the server machines to the other server machines. -
11. The system of claim 10 wherein the storing means further comprises means for updating the load levels at each of the server machines with the new load level.
-
12. The system of claim 8, wherein the servicing means includes:
-
means for receiving an input message in a variable field format;
means for identifying data types of each field of the input message;
means for assembling an output message having multiple fields defined by a fixed format; and
means for mapping data from the input message to specified fields in the output message based on the identified data types.
-
-
23. The system of claim 7 wherein the apparatus for servicing the customers further comprises means for servicing the customers using server machines to which the customers are not assigned if the set of server machines to which the customers are assigned are unavailable for service.
-
13. A method for load balancing of processing provided by multiple server machines directly interfaced with a client machine servicing multiple customers, comprising the steps of:
-
assigning the client machine to a first server machine among a predetermined set of server machines based upon the load levels; and
temporarily reassigning the client machine to a second server machine not among the predetermined set of server machines based upon the load levels if each of the predetermined set of server machines is unavailable. - View Dependent Claims (14, 15, 16, 17, 18, 24)
servicing the customers by receiving a message from the client machine requesting service at at least one of the first server machine to which the client machine is assigned and the second server machine to which the client machine is temporarily assigned.
-
-
15. The method of claim 14, wherein the servicing step includes the steps of
determining if a particular one of the server machines among the predetermined set of server machines is least loaded among the server machines, and sending a response if the particular server machine is the least loaded server machine. -
16. The method of claim 14, wherein the servicing step includes
the step of sending a new load level for a particular one of the server machines to the other server machines. -
17. The method of claim 16 wherein the storing step further comprises the step of updating the load levels at each of the server machines with the new load level.
-
18. The method of claim 14, wherein the servicing step includes the steps of:
-
receiving an input message in a variable field format;
identifying data types for each field of the input message;
assembling an output message having multiple fields defined by a fixed format; and
mapping data from the input message to specified fields in the output message based on the identified data types.
-
-
24. The method of claim 13 further comprising servicing the customers using server machines to which the customers are not assigned if the set of server machines to which the customers are assigned are unavailable for service.
-
19. A method for load balancing of processing provided by a plurality of serve machines for a client machine, the plurality of server machines being divided into a predetermined group of one or more server machines assigned to the client machine and a second group of one or more server machines not assigned to the client machine, comprising:
-
establishing a load level for each of the predetermined group of server machines;
broadcasting the load level from each of the predetermined group of server machines to all others of the predetermined group of server machines so that each server machine in the predetermined group may store a load level for all server machines of the predetermined group of server machines;
broadcasting a request for service message from the client machine to the predetermined group of server machines;
providing service from the server machine with the lowest load level from the predetermined group of server machines to the client machine;
establishing a load level for each of the second group of server machines if no service is provided by the predetermined group of server machines;
broadcasting the load level from each of the second group of server machines to all others of the second group of server machines so that each server machine in the second group may store a load level for all server machines of the second group of server machines if no service is provided by the predetermined group of server machines;
broadcasting a request for service message from the client machine to the second group of server machines if no service is provided by the predetermined group of server machines; and
providing service from the server machine with the lowest load level from the second group of server machines to the client machine if no service is provided by the predetermined group of server machines. - View Dependent Claims (20, 21)
-
Specification