Methods and apparatus for directing messages to computer systems based on inserted data
First Claim
1. In a first data communications device, a method for load balancing messages, the method comprising the steps of:
- receiving a message containing extra data, the extra data being inserted into a payload of the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message, wherein receiving a message comprises (i) extracting the extra data from the message, and (ii) adjusting the connection information included within the message such that the message no longer contains the extra data and is reverted to a state that existed before the second data communications device inserted the extra data into the message, wherein the payload is transmitted by the first computerized device;
identifying, based on the extra data inserted into the message, a second computerized device that is to process the message, wherein identifying a second computerized device comprises (i) obtaining the extra data from the message, the extra data inserted into the message by the second data communications device including a demographic server identification that identifies a demographic server that maintains demographic information associated with the first computerized device that originated the message, and (ii) comparing the extra data to routing criteria to select an identity of a second computerized device, from a plurality of second computerized devices that are capable of processing the message, the identified second computerized device being a device to which the step of forwarding forwards the message, the routing criteria indicating groups of second computerized devices of the plurality of second computerized devices associated with respective demographic servers wherein comparing the extra data comprises (a) identifying a demographic server corresponding to the demographic server identification included in the extra data, (b) selecting, from the groups of second computerized devices indicated by the routing criteria, a specific group of second computerized devices associated with the identified demographic server, and (c) identifying one second computerized device from the selected specific group of second computerized devices associated with the demographic server corresponding to the demographic server identification included in the extra data, such that the step of forwarding forwards the message to the identified second computerized device; and
forwarding the message, without the extra data, to the second computerized device for processing, the message including connection information that the second data communications device modified during the process of inserting the extra data such that a connection over which the message is transmitted between the first computerized device and the second computerized device is not disrupted by the insertion of the extra data into the message by the second data communications device.
1 Assignment
0 Petitions
Accused Products
Abstract
Mechanisms and techniques provide a system that operates in a data communications device such as a switch or a router to provide a technique for load balancing packets between computer systems based on extra data inserted in the packets. The system receives a message containing extra data. The extra data was inserted into the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message. The system identifies, based on the extra data inserted into the message, a second computerized device that is to process the message and forwards the message to the second computerized device for processing. The extra data can include demographic data that can be used to select a demographic server, and for selection of a specific server from a group of servers associated with the demographic server.
267 Citations
12 Claims
-
1. In a first data communications device, a method for load balancing messages, the method comprising the steps of:
-
receiving a message containing extra data, the extra data being inserted into a payload of the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message, wherein receiving a message comprises (i) extracting the extra data from the message, and (ii) adjusting the connection information included within the message such that the message no longer contains the extra data and is reverted to a state that existed before the second data communications device inserted the extra data into the message, wherein the payload is transmitted by the first computerized device; identifying, based on the extra data inserted into the message, a second computerized device that is to process the message, wherein identifying a second computerized device comprises (i) obtaining the extra data from the message, the extra data inserted into the message by the second data communications device including a demographic server identification that identifies a demographic server that maintains demographic information associated with the first computerized device that originated the message, and (ii) comparing the extra data to routing criteria to select an identity of a second computerized device, from a plurality of second computerized devices that are capable of processing the message, the identified second computerized device being a device to which the step of forwarding forwards the message, the routing criteria indicating groups of second computerized devices of the plurality of second computerized devices associated with respective demographic servers wherein comparing the extra data comprises (a) identifying a demographic server corresponding to the demographic server identification included in the extra data, (b) selecting, from the groups of second computerized devices indicated by the routing criteria, a specific group of second computerized devices associated with the identified demographic server, and (c) identifying one second computerized device from the selected specific group of second computerized devices associated with the demographic server corresponding to the demographic server identification included in the extra data, such that the step of forwarding forwards the message to the identified second computerized device; and forwarding the message, without the extra data, to the second computerized device for processing, the message including connection information that the second data communications device modified during the process of inserting the extra data such that a connection over which the message is transmitted between the first computerized device and the second computerized device is not disrupted by the insertion of the extra data into the message by the second data communications device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data communications device for performing load balancing, the data communications device comprising:
-
at least one communications interface; a memory; a processor; and an interconnection mechanism coupling the at least one communications interface, the memory and the processor; wherein the memory is encoded with a message manager application that when performed on the processor, produces a message manager process that causes the computerized device to load balance messages between a plurality of computer systems by performing the operations of; receiving, via the at least one communications interface, a message containing extra data, the extra data being inserted into a payload of the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message, wherein receiving a message comprises (i) extracting the extra data from the message, and (ii) adjusting the connection information included within the message such that the message no longer contains the extra data and is reverted to a state that existed before the second data communications device inserted the extra data into the message, wherein the payload is transmitted by the first computerized device; identifying, based on the extra data inserted into the message, a second computerized device that is to process the message, wherein identifying a second computerized device comprises (i) obtaining the extra data from the message, the extra data inserted into the message by the second data communications device including a demographic server identification that identifies a demographic server that maintains demographic information associated with the first computerized device that originated the message, and (ii) comparing the extra data to routing criteria to select an identity of a second computerized device, from a plurality of second computerized devices that are capable of processing the message, the identified second computerized device being a device to which the step of forwarding forwards the message, the routing criteria indicating groups of second computerized devices of the plurality of second computerized devices associated with respective demographic servers wherein comparing the extra data comprises (a) identifying a demographic server corresponding to the demographic server identification included in the extra data, (b) selecting, from the groups of second computerized devices indicated by the routing criteria, a specific group of second computerized devices associated with the identified demographic server, and (c) identifying one second computerized device from the selected specific group of second computerized devices associated with the demographic server corresponding to the demographic server identification included in the extra data, such that the step of forwarding forwards the message to the identified second computerized device; and forwarding, via the at least one communications interface, the message, without the extra data, to the second computerized device for processing, the message including connection information that the second data communications device modified during the process of inserting the extra data such that a connection over which the message is transmitted between the first computerized device and the second computerized device is not disrupted by the insertion of the extra data into the message by the second data communications device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product having a computer-readable medium including computer program logic encoded thereon that, when performed on a processor in a computerized device having a coupling of a memory, a processor, and at least one communications interface provides a method for load balancing messages by causing the computerized device to perform the operations of:
-
receiving a message containing extra data, the extra data being inserted into a payload of the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message, wherein receiving a message comprises (i) extracting the extra data from the message, and (ii) adjusting the connection information included within the message such that the message no longer contains the extra data and is reverted to a state that existed before the second data communications device inserted the extra data into the message, wherein the payload is transmitted by the first computerized device; identifying, based on the extra data inserted into the message, a second computerized device that is to process the message, wherein identifying a second computerized device comprises (i) obtaining the extra data from the message, the extra data inserted into the message by the second data communications device including a demographic server identification that identifies a demographic server that maintains demographic information associated with the first computerized device that originated the message, and (ii) comparing the extra data to routing criteria to select an identity of a second computerized device, from a plurality of second computerized devices that are capable of processing the message, the identified second computerized device being a device to which the step of forwarding forwards the message, the routing criteria indicating groups of second computerized devices of the plurality of second computerized devices associated with respective demographic servers wherein comparing the extra data comprises (a) identifying a demographic server corresponding to the demographic server identification included in the extra data, (b) selecting, from the groups of second computerized devices indicated by the routing criteria, a specific group of second computerized devices associated with the identified demographic server, and (c) identifying one second computerized device from the selected specific group of second computerized devices associated with the demographic server corresponding to the demographic server identification included in the extra data, such that the step of forwarding forwards the message to the identified second computerized device; and forwarding the message, without the extra data, to the second computerized device for processing, the message including connection information that the second data communications device modified during the process of inserting the extra data such that a connection over which the message is transmitted between the first computerized device and the second computerized device is not disrupted by the insertion of the extra data into the message by the second data communications device.
-
-
12. A data communications device capable of load balancing messages, the data communications device comprising:
-
at least one communications interface; a memory; a processor; and an interconnection mechanism coupling the at least one communications interface, the memory and the processor; wherein the memory is encoded with an message manager application that when performed on the processor, produces a message manager process that causes the computerized device to load balance message between a plurality of computer systems by providing means including; means for receiving a message containing extra data, the extra data being inserted into a payload of the message by a second data communications device existing in a network coupling the first data communications device to a first computerized device that originated the message, wherein receiving a message comprises (i) means for extracting the extra data from the message, and (ii) means for adjusting the connection information included within the message such that the message no longer contains the extra data and is reverted to a state that existed before the second data communications device inserted the extra data into the message, wherein the payload is transmitted by the first computerized device; means for identifying, based on the extra data inserted into the message, a second computerized device that is to process the message, wherein identifying a second computerized device comprises (i) means for obtaining the extra data from the message, the extra data inserted into the message by the second data communications device including a demographic server identification that identifies a demographic server that maintains demographic information associated with the first computerized device that originated the message, and (ii) means for comparing the extra data to routing criteria to select an identity of a second computerized device, from a plurality of second computerized devices that are capable of processing the message, the identified second computerized device being a device to which the step of forwarding forwards the message, the routing criteria indicating groups of second computerized devices of the plurality of second computerized devices associated with respective demographic servers wherein means for comparing the extra data comprises (a) means for identifying a demographic server corresponding to the demographic server identification included in the extra data, (b) means for selecting, from the groups of second computerized devices indicated by the routing criteria, a specific group of second computerized devices associated with the identified demographic server, and (c) means for identifying one second computerized device from the selected specific group of second computerized devices associated with the demographic server corresponding to the demographic server identification included in the extra data, such that the step of forwarding forwards the message to the identified second computerized device; and means for forwarding the message, without the extra data, to the second computerized device for processing, the message including connection information that the second data communications device modified during the process of inserting the extra data such that a connection over which the message is transmitted between the first computerized device and the second computerized device is not disrupted by the insertion of the extra data into the message by the second data communications device.
-
Specification