IP Library › Granted Patent US 8,898,331
Granted Patent B2
US 8,898,331 · App. 11/855,119 · Granted Nov 25, 2014

Method, network and computer program for processing a content request

Inventors: Anand Eswaran (Karnataka, IN); Ravindra Guntur (Karnataka, IN); Vijay Kannan (Karnataka, IN); Venkatavaradhan Devarajan (Karnataka, IN)
Assignee: Hewlett-Packard Development Company, L.P.
H04L12/4645H04L61/30H04L29/12028H04L61/6022H04L67/1002H04L29/12839H04L67/327H04L29/12594H04L67/1014H04L61/103
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,898,331
App. No.
11/855,119
Granted
Nov 25, 2014
Kind
B2
Abstract

The embodiments described herein provide a method, program and computing network for processing a content request received via a computing network. The method comprises the steps of receiving an incoming request for content from a remote computing device, determining the content type requested by the incoming request and delivering the request to one of a plurality of servers according to the determined content request type.

Claims (42)

1. A method for processing a content request received via a computing network, comprising:

receiving an incoming request for content from a remote computing device;

determining a content type requested by the incoming request, wherein determining the content type comprises generating, by at least one processor, an object identifier by applying a function on a portion of the incoming request; and

delivering the request to one of a plurality of servers according to the object identifier, wherein the object identifier has a first portion and a second portion, wherein the first portion allows a first technique of delivering the request to one of the plurality of servers, and the second portion allows a second, different technique of delivering the request to one of the plurality of servers, wherein the second technique of delivering the request supports dynamic association of the content among the plurality of servers.

2. A method in accordance with claim 1 , wherein applying the function on the portion of the incoming request comprises applying the function on a uniform resource locator of the incoming request to generate the object identifier.

3. A method in accordance with claim 1 , wherein the first portion of the object identifier includes a VLAN identifier corresponding to a Virtual Local Area Network (VLAN), and the second portion of the object identifier includes a MAC identifier corresponding to a Media Access Control (MAC) address.

4. A method in accordance with claim 3 , wherein delivering the request to one of the plurality of servers further comprises determining whether the MAC identifier is locatable in a MAC table, and forwarding the request to an output port indicated by the MAC table and corresponding to the MAC address if it is determined that the MAC identifier is locatable in the MAC table and otherwise forwarding the request to a server associated with the VLAN identifier if it is determined that the MAC identifier is not locatable in the MAC table.

5. A method in accordance with claim 4 , further comprising:

relocating particular content from a first one of the plurality of servers to a second one of the plurality of servers by transferring the particular content to the second server,

determining a common ancestor switch of the first server and the second server in a switching infrastructure, and

sending a request to the common ancestor switch to update the MAC table.

6. A method in accordance with claim 5 , further comprising the common ancestor switch sending a request to each child switch to update a MAC table of each child switch.

7. A method in accordance with claim 4 , further comprising:

associating each one of a plurality of servers with a unique VLAN identifier; and

passing the request through a switching infrastructure comprising a plurality of switches arranged in a tree-like configuration, wherein one or more of the plurality of servers are located at leaf nodes of the tree-like configuration.

8. A method in accordance with claim 7 , wherein the unique VLAN identifier of each of the one or more of the plurality of servers located at the leaf nodes of the switching infrastructure is passed to a particular one of the switches, such that each port of the particular switch is associated with the one or more VLAN identifiers received at the port.

9. A method in accordance with claim 8 , further comprising, on determining that the MAC identifier is not locatable in the MAC table, mapping the MAC address to the input port on which the request was received.

10. A computing network, comprising:

a plurality of servers having corresponding processors, wherein each of the plurality of servers is arranged to process an incoming request for content from a remote computing device; and

a processing arrangement configured to:

receive the incoming request for the content;

generate an object identifier by applying a function on a portion of the incoming request; and

deliver the request to one of the plurality of servers according to the object identifier, wherein the object identifier has a first portion and a second portion, wherein the first portion allows a first technique of delivering the request to one of the plurality of servers, and the second portion allows a second, different technique of delivering the request to one of the plurality of servers, wherein the second technique of delivering the request supports dynamic association of the content among the plurality of servers.

11. A computer network in accordance with claim 10 , wherein the portion of the incoming request on which the function is applied is a uniform resource locator.

12. A computer network in accordance with claim 10 , wherein the function is a hash function applied on the portion of the incoming request to generate the object identifier.

13. A computer network in accordance with claim 12 , wherein the portion of the incoming request on which the hash function is applied includes a uniform resource locator.

14. A computing network in accordance with claim 10 , wherein the first portion of the object identifier includes a VLAN identifier corresponding to a Virtual Local Area Network (VLAN), and the second portion of the object identifier comprises a MAC identifier corresponding to a Media Access Control (MAC) address.

15. A computing network in accordance with claim 14 , wherein the processing arrangement is configured to determine whether the MAC identifier is locatable in a MAC table, forward the request to an output port identified by the MAC table and corresponding to the MAC address if it is determined that the MAC identifier is locatable in the MAC table, and otherwise forward the request to a server associated with the VLAN identifier if it is determined that the MAC identifier is not locatable in the MAC table.

16. A computing network in accordance with claim 15 , wherein when particular content of a first one of the plurality of servers is relocated to a second one of the plurality of servers by transferring the particular content to the second server, the processing arrangement is further configured to determine a common ancestor switch of the first server and the second server in a switching infrastructure, and to send a request to the common ancestor switch to update the MAC table.

17. A computing network in accordance with claim 16 , wherein the common ancestor switch is configured to send a request to each child switch to update a MAC table of each child switch.

18. A processor-readable storage medium storing a program for processing incoming content requests in a programmable device and comprising instructions which when executed cause at least one processor in the programmable device to implement the steps of:

receiving an incoming request for content from a remote computing device;

generating one object identifier by applying a function on a portion of the incoming request; and

delivering the request to one of a plurality of servers according to the object identifier, wherein the object identifier has a first portion and a second portion, wherein the first portion allows a first technique of delivering the request to one of the plurality of servers, and the second portion allows a second, different technique of delivering the request to one of the plurality of servers, wherein the second technique of delivering the request supports dynamic association of the content among the plurality of servers.

19. A method in accordance with claim 1 , wherein applying the function comprises applying a hash function on the portion of the incoming request to generate the object identifier.

20. A method in accordance with claim 19 , wherein applying the hash function on the portion of the incoming request comprises applying the hash function on a uniform resource locator of the incoming request to generate the object identifier.

21. A processor-readable storage medium in accordance with claim 18 , wherein applying the function comprises applying a hash function on the portion of the incoming request to generate the object identifier.

22. A processor-readable storage medium in accordance with claim 18 , wherein applying the function on the portion of the incoming request comprises applying the function on a uniform resource locator of the incoming request to generate the object identifier.

23. A processor-readable storage medium in accordance with claim 18 , wherein the first portion is a VLAN (Virtual Local Area Network) identifier and the second portion is an address, wherein the instructions which when executed cause the at least one processor to further:

determine whether the address of the object identifier is present in an address table that maps addresses to ports;

in response to determining that the address of the object identifier is present in the address table, forward the request to a corresponding port identified by the address table; and

in response to determining that the address of the object identifier is not in the address table, forward the request according to the VLAN identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2007
From: ESWARAN, ANAND; GUNTUR, RAVINDRA; KANNAN, VIJAY; DEVARAJAN, VENKATAVARADHAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 019831/0687 →
Priority Claims (1)
IN 1476/CHE/2007 · Jul 9, 2007 · national
Continuity (1)
Related Publication 20090019135A1 · Jan 15, 2009