IP Library Granted Patent US 8,037,127
Granted Patent B2
US 8,037,127 · App. 12/023,964 · Granted Oct 11, 2011

In-line network device for storing application-layer data, processing instructions, and/or rule sets

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,037,127
App. No.
12/023,964
Granted
Oct 11, 2011
Kind
B2
Abstract

A network device located in the data path between a user computer and a server stores application data, processing instructions, and/or rule sets. By storing user computer-specific application data, processing instructions, and/or rule sets in the data path between the user computer and the server, the invention reduces the complexity of the web server, improves the handling of server failure, and increases the overall scalability and performance of the system.

Claims (107)

1. In a network device situated in a communication path between a first network node and a second network node, the first network node comprising a server belonging to a first group of servers, a method for maintaining at least one selected from the group consisting of application data, instructions, and rule sets, comprising:

at the network device, performing the steps of:

intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

storing a portion of the first HTTP network message at a storage device associated with the network device, the stored portion comprising at least one of application data, instructions, and rule sets;

removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion;

transmitting the groomed HTTP network message from the network device to the second network node;

intercepting a second HTTP network message from the second network node and intended for a server belonging to the first group of servers, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, retrieving, from the storage device associated with the network device, the portion identified by the index data;

using load balancing to select a server from the first group of servers; and

transmitting the second HTTP network message and the retrieved portion to the selected server belonging to the first group of servers.

2. The method of claim 1 , wherein the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device;

and wherein the method further comprises:

performing the at least one instruction at the network device.

3. The method of claim 1 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

4. The method of claim 1 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

5. In a network device situated in a communication path between a first network node and a second network node, a method for maintaining at least one selected from the group consisting of application data, instructions, and rule sets, comprising:

at the network device, performing the steps of:

intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

storing a portion of the first HTTP network message at a storage device associated with the network device, the stored portion comprising at least one of application data, instructions, and rule sets;

removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion;

transmitting the groomed HTTP network message from the network device to the second network node;

intercepting a second HTTP network message from the second network node and intended for the first network node, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, retrieving, from the storage device associated with the network device, the portion identified by the index data; and

transmitting the second HTTP network message and the retrieved portion to the first network node.

6. A computer program product for maintaining at least one selected from the group consisting of application data, instructions, and rule sets in a network device situated in a communication path between a first network node and a second network node, the first network node comprising a server belonging to a first group of servers, comprising:

a non-transitory computer-readable storage medium;

computer program code, encoded on the medium, for causing a network device to perform the steps of:

intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

storing a portion of the first HTTP network message at a storage device associated with the network device, the stored portion comprising at least one of application data, instructions, and rule sets;

removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion;

transmitting the groomed HTTP network message from the network device to the second network node;

intercepting a second HTTP network message from the second network node and intended for a server belonging to the first group of servers, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, retrieving, from the storage device associated with the network device, the portion identified by the index data; and

transmitting the second HTTP network message and the retrieved portion to a selected server belonging to the first group of servers; and

computer program code, encoded on the medium, for causing a load balancer to, prior to the network device transmitting the second HTTP network message and the retrieved portion to a selected server, select a server from the first group of servers.

7. The computer program product of claim 6 , wherein the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device.

8. The computer program product of claim 6 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

9. The computer program product of claim 6 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

10. A computer program product for maintaining at least one selected from the group consisting of application data, instructions, and rule sets in a network device situated in a communication path between a first network node and a second network node, comprising:

a non-transitory computer-readable storage medium; and

computer program code, encoded on the medium, for causing a network device to perform the steps of:

intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

storing a portion of the first HTTP network message at a storage device associated with the network device, the stored portion comprising at least one of application data, instructions, and rule sets;

removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion;

transmitting the groomed HTTP network message from the network device to the second network node;

intercepting a second HTTP network message from the second network node and intended for the first network node, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, retrieving, from the storage device associated with the network device, the portion identified by the index data; and

transmitting the second HTTP network message and the retrieved portion to the first network node.

11. A network device situated in a communication path between a first network node and a second network node, the first network node comprising a server belonging to a first group of servers, for maintaining at least one selected from the group consisting of application data, instructions, and rule sets, comprising:

a communication module, for intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

a storage device, for storing a portion of the first HTTP network message, the stored portion comprising at least one of application data, instructions, and rule sets;

a processor, for removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion; and

a load balancer;

wherein:

the communication module transmits the groomed HTTP network message from the network device to the second network node;

the communication module intercepts a second HTTP network message from the second network node and intended for a server belonging to the first group of servers, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, the processor retrieves, from the storage device associated with the network device, the portion identified by the index data;

the load balancer selects a server from the first group of servers; and

the communication module transmits the second HTTP network message and the retrieved portion to the selected server belonging to the first group of servers.

12. The device of claim 11 , wherein the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device, and wherein the processor performs the at least one instruction.

13. The device of claim 11 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

14. The device of claim 11 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

15. A network device situated in a communication path between a first network node and a second network node, for maintaining at least one selected from the group consisting of application data, instructions, and rule sets, comprising:

a communication module, for intercepting a first HTTP network message from the first network node and intended for the second network node, the first HTTP network message comprising at least one selected from the group consisting of application data, instructions, and rule sets;

a storage device, for storing a portion of the first HTTP network message, the stored portion comprising at least one of application data, instructions, and rule sets; and

a processor, for removing the stored portion from the first HTTP network message to generate a groomed HTTP network message, the groomed HTTP network message comprising an index identifying the stored portion;

wherein:

the communication module transmits the groomed HTTP network message from the network device to the second network node;

the communication module intercepts a second HTTP network message from the second network node and intended for the first network node, the second HTTP network message comprising index data identifying the stored portion;

responsive to intercepting the second HTTP network message, the processor retrieves, from the storage device associated with the network device, the portion identified by the index data; and

the communication module transmits the second HTTP network message and the retrieved portion to the first network node.

16. The method of claim 5 , wherein:

the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device;

and wherein the method further comprises:

performing the at least one instruction at the network device.

17. The method of claim 5 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

18. The method of claim 5 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

19. The computer program product of claim 10 , wherein the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device.

20. The computer program product of claim 10 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

21. The computer program product of claim 10 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

22. The device of claim 15 , wherein the stored portion of the first HTTP network message comprises at least one instruction to be performed by the network device, and wherein the processor performs the at least one instruction.

23. The device of claim 15 , wherein the first HTTP network message comprises at least one selected from the group consisting of:

a page request; and

a response to a page request.

24. The device of claim 15 , wherein each network node comprises at least one selected from the group consisting of:

a client; and

a server.

Assignments (5)
ASSET PURCHASE AGREEMENT Recorded Jul 17, 2014
From: STRANGELOOP NETWORKS INC.
To: 0961404 B.C. LTD.
Reel/Frame 033351/0306 →
ASSET PURCHASE AGREEMENT Recorded Jul 17, 2014
From: STRANGELOOP NETWORKS INC.
To: RADWARE CANADA HOLDINGS INC.
Reel/Frame 033356/0349 →
MERGER Recorded Jul 17, 2014
From: STRANGELOOP NETWORKS INC.; RADWARE CANADA HOLDINGS INC.; 0961404 B.C. LTD.
To: RADWARE CANADA HOLDINGS INC.
Reel/Frame 033358/0390 →
PURCHASE Recorded Jul 17, 2014
From: RADWARE CANADA HOLDINGS INC.
To: RADWARE LTD.
Reel/Frame 033358/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2008
From: ALSTAD, KENT
To: STRANGELOOP NETWORKS INC.
Reel/Frame 020452/0575 →