Methods and apparatus for detecting a change in demand for server resources across a load-bearing system having one or more content servers hosting identical content, the load-bearing system being connected to a network of content servers; and automatically modifying the number of content servers on the load-bearing system in response to the change in demand.

Patent
   7373644
Priority
Oct 02 2001
Filed
Oct 02 2001
Issued
May 13 2008
Expiry
Apr 12 2023
Extension
557 days
Assg.orig
Entity
Large
42
364
all paid
19. A system comprising:
a network comprising a plurality of content servers,
a plurality of load-bearing systems, wherein each of the load-bearing systems comprises one or more of the plurality of content servers; and
a management server configured to:
identify a load-bearing system with insufficient load capacity,
identify an available content server from one or more idle servers not already allocated to any of the load-bearing systems,
allocate the identified content server to the load-bearing system with insufficient capacity,
cause content to be copied onto the identified content server, wherein the content is identical to content associated with the load-bearing system with insufficient capacity,
detect a change in demand greater than a pre-configured threshold; and
add a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted identical content,
wherein the identical content is assigned a priority level of a plurality of priority levels, and wherein identifying an available content server comprises identifying an available content server having a lowest priority level and a highest available load capacity.
31. A system comprising:
a network comprising a plurality of content servers,
a plurality of load-bearing systems, wherein each of the load-bearing systems comprises one or more of the plurality of content servers; and
a management server configured to:
identify a load-bearing system with insufficient load capacity,
identify an available content server from one or more idle servers not already allocated to any of the load-bearing systems,
allocate the identified content server to the load-bearing system with insufficient capacity,
cause content to be copied onto the identified content server, wherein the content is identical to content associated with the load-bearing system with insufficient capacity,
detect a change in demand greater than a pre-configured threshold; and
add a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted identical content,
wherein the identical content is assigned a priority level of a plurality of priority levels, and wherein identifying an available content server comprises identifying an available content server having a lowest priority level and wherein the available content server having a least number of active sessions of the number of content servers is selected.
9. A system comprising:
a first network having client servers connected to an internet;
a second network connected to the internet, the second network comprising:
content servers connected to a management server, a first subset of the content servers providing a load bearing system, the management server including a means for detecting a change in demand for content server resources across the load-bearing system; and
means for automatically modifying a number of content servers in the first subset of content servers on the load bearing system in response to the change in demand, wherein automatically modifying the number of content servers on the load-bearing system comprises:
selecting an available content server on the internet;
loading identical content from a management server onto the selected content server by an image manager in communication with the selected content server;
adding the selected content server to the load-bearing system, wherein all of the content servers on the load-bearing system including the selected content server use the identical hosted contents;
detecting a change in demand greater than a pre-configured threshold; and
adding a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the identical hosted content,
wherein the identical hosted content is assigned a priority level of a plurality of priority levels, and wherein selecting an available content server comprises selecting an available content server having a lowest priority level and a highest available load capacity.
30. A system comprising:
a first network having client servers connected to an internet;
a second network connected to the internet, the second network comprising:
content servers connected to a management server, a first subset of the content servers providing a load bearing system, the management server including a means for detecting a change in demand for content server resources across the load-bearing system; and
means for automatically modifying a number of content servers in the first subset of content servers on the load bearing system in response to the change in demand, wherein automatically modifying the number of content servers on the load-bearing system comprises:
selecting an available content server on the internet;
loading identical content from a management server onto the selected content server by an image manager in communication with the selected content server;
adding the selected content server to the load-bearing system, wherein all of the content servers on the load-bearing system including the selected content server use the identical hosted content;
detecting a change in demand greater than a pre-configured threshold; and
adding a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted identical content,
wherein the hosted identical content is assigned a priority level of a plurality of priority levels, arid wherein selecting an available content server comprises selecting an available content server having a lowest priority level and wherein the management server selects the available content server having a least number of active sessions.
1. A computer implemented method comprising:
detecting a change in demand for server resources across a load-bearing system having a number of content servers hosting identical content, the load-bearing system being connected to a network of content servers, wherein the network comprises at least one other load-bearing system having one or more content servers each assigned a priority level; and
automatically modifying the number of content servers on the load-bearing system in response to the change in demand, wherein automatically modifying the number of content servers on the load-bearing system comprises:
selecting an available content server from a selected one of the at least one other load-bearing system based on a comparison of the priority level assigned to the available content server relative to at least one other content server in the network;
loading identical content onto the selected content server by an image manager in communication with the selected content server;
adding the selected content server to the load-bearing system, wherein all of the content servers on the load-bearing system including the selected content server use the identical hosted content;
detecting a change in demand greater than a pre-configured threshold; and
adding a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted identical content,
wherein the hosted identical content is assigned a priority level of a plurality of priority levels, and wherein selecting an available content server comprises selecting an available content server having a lowest priority level and a highest available load capacity.
29. A computer implemented method comprising:
detecting a change in demand for server resources across a load-bearing system having a number of content servers hosting identical content, the load-bearing system being connected to a network of content servers, wherein the network comprises at least one other load-bearing system having one or more content servers each assigned a priority level; and
automatically modifying the number of content servers on the load-bearing system in response to the change in demand, wherein automatically modifying the number of content servers on the load-bearing system comprises:
selecting an available content server from a selected one of the at least one other load-bearing system based on a comparison of the priority level assigned to the available content server relative to at least one other content server in the network;
loading identical content onto the selected content server by an image manager in communication with the selected content server;
adding the selected content server to the load-bearing system, wherein all of the content servers on the load-bearing system including the selected content server use the identical hosted content;
detecting a change in demand greater than a pre-configured threshold; and
adding a content server to the load-bearing system if the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted identical content,
wherein the hosted identical content is assigned a priority level of a plurality of priority levels, and wherein selecting an available content server comprises selecting an available content server having a lowest priority level and wherein the available content server having a least number of active sessions of the number of content servers is selected.
28. A method for allocating a number of servers to a plurality of web sites, the method comprising:
allocating one or more servers to each of a plurality of web sites;
for each web site, loading a file having content for implementing the web site onto the one or more servers allocated to the web site;
assigning a priority to each file;
monitoring load capacity on the one or more servers allocated to each web site;
detecting load at the one or more servers allocated to a web site that is greater than a specified threshold;
identifying a server allocated to one of the other web sites that is available to be re-allocated to the web site for which load is detected to be greater than the specified threshold, wherein identifying the server to be re-allocated comprises:
determining whether the file of a server allocated to another of the web sites is assigned a lower priority than the priority assigned to the file loaded on the one or more serves for which load is detected to be greater than the specified threshold; and
determining whether the number of servers allocated to the other web site is greater than a specified minimum number of servers;
if the file of the identified server has a lower priority and the number of servers allocated to the other web site is greater than the specified minimum number of servers, re-allocating the identified server from the web site to the web site for which load is detected to be greater than the specified threshold, wherein re-allocating the identified server comprises:
stopping directing of client requests to the identified server;
loading the file implementing the web site for which load is detected to be greater than the specified threshold onto the identified server; and
changing an internet protocol address of the identified server to an ip address corresponding to the web site that the identified server is re-allocated to.
2. The method of claim 1, wherein each content server on the network is categorized as active or idle.
3. The method of claim 1, wherein the hosted identical content is assigned a number defining a maximum number of content sewers on the load-bearing system.
4. The method of claim 1, wherein the available content server having a least number of active sessions of the number of content servers is selected.
5. The method of claim 1, wherein the hosted identical content is assigned a number defining a minimum number of content servers on the load-bearing system.
6. The method of claim 1, further comprising:
detecting a negative change in demand greater than a pre-configured threshold; and
removing a content server from the load-bearing system if the number of content servers on the load-bearing system is greater than a minimum number assigned to the hosted identical content.
7. The method of claim 6, wherein removing comprises removing the content server having a highest available load capacity.
8. The method of claim 6, wherein removing comprises removing the content server having a least number of active sessions.
10. The system of claim 9, wherein the first subset of content servers uses an identical hosted content.
11. The system of claim 9, wherein the management server includes a means for categorizing each content server as active or idle.
12. The system of claim 9, wherein the management server includes a means for assigning the priority level of the plurality of priority levels to the hosted content.
13. The system of claim 9, wherein the management server includes a means for assigning a number defining the maximum number of content servers on the load-bearing system to the identical hosted content.
14. The system of claim 9, wherein the management server selects the available content server having a least number of active sessions.
15. The system of claim 9, wherein the management server includes a means for assigning a number defining a minimum number of content servers on the load-bearing system to the identical hosted content.
16. The system, of claim 9, wherein the management system further comprises a means for:
detecting a negative change in demand greater than another pre-configured threshold; and
removing a content server from the load-bearing system if the number of content servers on the load-bearing system is greater than a minimum number assigned to the hosted content.
17. The system of claim 16, wherein the management server removes the content server having a highest available load capacity.
18. The system of claim 16, wherein the management server removes the content server having a least number of active sessions.
20. The system of claim 19, wherein the management server is further configured to identify an available content server from a plurality of idle content servers already allocated to one of the other load-bearing systems by analyzing priority levels assigned to the plurality of idle content servers.
21. The system of claim 19, wherein each of the plurality of load-bearing systems distributes incoming content requests to associated servers based on a load scheme selected from a group consisting of a load-bearing scheme, a load-balancing scheme, and a load-leveling scheme.
22. The system of claim 19, wherein a notification is sent to a network operator maintaining the network if no content servers are available to be associated with the load-bearing system with insufficient capacity.
23. The system of claim 20, wherein the management server is further configured to identify an available content server allocated with one of the other load-bearing systems by polling each of the plurality of content servers to determine which content server has the highest available load capacity.
24. The system of claim 20, wherein the management server is further configured to identify an available content server associated with one of the other load-bearing systems by polling each of the plurality of content servers to determine which content server has the least number of running processes.
25. The system of claim 19, wherein each of the plurality of load-bearing systems is assigned a minimum number of content servers.
26. The system of claim 25, wherein the minimum number of content servers is assigned based on a priority level of the load-bearing system.
27. The system of claim 19, further comprising an image manager configured to de-allocate a content server from one of the load-bearing systems if the historical demand for service warrants de-allocation of a content server.

This invention relates to automated server replication.

The popularity of the World Wide Web as a communications medium lies in the richness of its information content and ease of use. Information in this medium exists as objects in a widely distributed collection of internetworked servers, each object uniquely addressable by its own Uniform Resource Locator (URL). The proliferation of commercial applications on the World Wide Web brings with it an increasing number of users making ever-increasing numbers of requests for web content. The problems of latency and bandwidth considerations manifest themselves in delay and lost information.

Network architects respond using an array of solutions, one of which is the server farm. This involves the use of multiple web servers with identical content, or the segmentation based upon functionality. For example, two servers for web functions, two for File Transfer Protocol (FTP), two as a database, and so forth. The use of multiple servers solves one problem at the expense of creating another. If there are multiple servers, how does the end user locate a particular web site? Presently, names and Universal Resource Locator (URLs) are resolved into unique single addresses by a Domain Name Service (DNS) residing in a DNS server. DNS servers maintain a list of domain names cross referenced to individual Internet Protocol (IP) addresses. However, if multiple web servers or server farms are used, a modified version of DNS service is used. A common approach to this problem is to modify the DNS system to be aware of a one-to-many mapping of names-to-IP-addresses. Thus, the DNS will return an IP address that comes from a list of possible IP addresses that correspond to a particular web object. Thus, from one moment to the next, a DNS query will resolve to different IP addresses. In this example, the modified DNS decides which IP address to return based on how busy each of the servers is.

In current network management systems, there are various methods of detecting and monitoring the load across a server or a server farm. One system uses a load capacity detection agent to monitor the load across a server or a server farm. In this system, when the load detection agent detects that a server farm, for example, is experiencing excess load, the agent notifies a system administrator of the system. The system administrator may decide to manually take action to either reduce the load across the server farm, or alternatively, increase the available load capacity by adding a server to the server farm. Generally, the system administrator adds a server by manually identifying an additional available server, and then modifying the entries in the load management system to include the IP address of the recently-added content server.

In general, in one aspect, the invention provides a method and apparatus, including a computer program apparatus, implementing techniques for detecting a change in demand for server resources across a load-bearing system having one or more content servers hosting identical content, the load-bearing system being connected to a network of content servers; and automatically modifying the number of content servers on the load-bearing system in response to the change in demand.

Each content server on the network may be categorized as active or idle. The hosted content may be assigned a priority level, and a number defining a maximum number of content servers on the load-bearing system. A content server may be added to the load-bearing system if the change in demand is greater than a pre-configured threshold and the number of content servers on the load-bearing system is less than a maximum number assigned to the hosted content. The number of content servers may be modified by selecting an available content server on the network; loading hosted content onto the selected content server; and adding the selected content server to the load-bearing system. All of the content servers on the load-bearing system including the selected content server host identical content. The available content server having the lowest priority level, the highest available load capacity, or the least number of active sessions may be selected.

The hosted content may be assigned a number defining a minimum number of content servers on the load-bearing system. A content server may be removed from the load-bearing system if the change in demand is greater than a pre-configured threshold and the number of content servers on the load-bearing system is greater than a minimum number assigned to the hosted content. The content server having the highest available load capacity or the least number of active sessions may be removed.

Embodiments may have one or more of the following advantages. The invention uses scripting, or other software techniques, to automate the addition or removal of a content server from a load-bearing system. Automating the addition and removal of content servers gives, for example, a web hosting operation a way to manipulate server resources between high-activity servers and low-activity servers without requiring any user intervention. In particular, the invention serves the needs of “seasonal” or “spiky” web applications, such as tax preparation services or Superbowl-related web sites, which experience a tremendous increase in the number of hits at specific times of the year.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

FIGS. 1a-1d are block diagrams illustrating an internetwork topology including an network of content servers and a management server.

FIG. 2 is a flowchart of a process for automatically modifying the number of content servers on a load-bearing system.

Like reference symbols in the various drawings indicate like elements.

Referring to FIGS. 1a-1d, an exemplary internetwork 100 includes a network of servers 102 connected to a network of clients 104 through the Internet 106. The network of servers 102 includes a management server 108 and a group of content servers 110.

The content servers 110 are nodes on the network 102 that perform the actual serving of content, for example, Web pages or FTP files. Although only nine content servers 110 are shown in FIGS. 1a through 1d, it will be understood that any number of content servers may be connected to the network 102. Each content server 110 is capable of receiving queries from clients, doing substantially all the processing necessary to formulate responses to the queries, and providing these responses to the clients. Web servers, for example, respond to requests from clients (e.g., through browser software) for access to files and data. Other types of servers allow clients to share access to network devices, such as shared printers or disk storage.

In one exemplary commercial setting, each content server 110 is a managed node on the network 102 maintained by a network operator, such as Genuity Inc. of Woburn, Mass. By the term “managed node”, it is meant that each content server 110 runs a management process that allows another computer to query the managed node for information. For example, Simple Network Management Protocol (SNMP) describes how a computer formats a message to send to the managed node. Software on the managed node, called an SNMP agent (not shown), examines SNMP messages it receives, and responds accordingly. Each SNMP agent maintains a local database of variables that describe the state of the content server 110 and may, optionally, affect its operation. Each SNMP agent's local database includes, but need not be limited to the following: the number of packets and bytes sent and received from the Internet 106, the number of broadcasts, the current output queue size, the current transaction rate, the current processor utilization, and the current disk utilization.

Content servers 110 are the systems which store information that may be accessed using web browser software such as Netscape Communicator® and Microsoft's Internet Explorer®. Content servers transmit their information in response to receiving a message of a format specified by Hyper Text Transfer Protocol (HTTP). The format of the server's response is also specified by HTTP, and is understood by web browser software.

Network management on the network 102 can be done from management servers, an example of which is shown as management server 108, which are general-purpose computers running management software. The management server 108 interacts with the SNMP agents in the content servers 110 using the SNMP protocol. This protocol allows the management server 108 to query the state of an agent's local variables, and change them if necessary. For example, the management server 108 can issue commands and get responses that allow the management server 108 to monitor the resources available (i.e., available load capacity) on each content server 110, and express them in a way that enables the content servers 110 to be categorized as active or idle. In one example, the management server 108 only considers the CPU resource, and neglects all others. In other implementations, the management server 108 uses a more complex combination of considerations, with load metrics ranging from the instantaneous CPU utilization and IO queue length, through to a linear combination of CPU, memory and IO queue lengths. The management server 108 can also modify network routing tables, and change the status of network links and devices. The collection of all possible variables available via SNMP is given in a data structure called the Management Information Base (MIB), which is formally defined in the Internet Engineering Task Force (IETF) Request For Comment (RFC) 1213. The IETF is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and smooth operation of the Internet—it is open to any individual.

The management server 108 also houses several other software components, which include in one implementation, an image manager 116, and a content storage system 118. In the illustrated examples on FIGS. 1a-1d, a single server implements the software components of the management server 108. However, it should be noted that two or more servers connected to the network 102 may implement the software components.

The router 114 uses any one of a number of dynamic routing algorithms (e.g., distance vector routing and link state routing) to decide where to send packets addressed to a particular IP address; for example, how to get to a particular content server which are all distinguished based on their assigned IP address. Dynamic routing algorithms change their routing decisions in response to changes in the topology of the network 102. A set of files is stored in the content storage system 118. Each file contains content data, applications and all the necessary software required to implement a web site presence on the Internet 106. Each file can be loaded onto a content server 110 by the image manager 116. In one implementation, the image manager 116 maintains a table (shown below) that includes, for each file, a priority level, a minimum number and a maximum number of content servers 110 that can be used to implement the web site. The priority level indicates to the management server 108 the relative importance—to the network operator, Genuity Inc., for example—of implementating a particular web site in situations in which several web sites are vying for limited server capacity. In one implementation, a five-point scale is used to designate a priority level: “highest”, “high”, “medium”, “low” and “lowest”. Generally, the higher the priority level assigned to a file, the more server resources (up to the maximum number of content servers 110 identified in the table) are allocated to implement the web site. By default, content servers 110 that are idle are assigned a “lowest” priority level. When a file having a “highest” priority level is loaded onto a content server 110 that is idle, for example, the priority level of the content server 110 changes from “lowest” to “highest”.

Assume, for example, that three files—file “A”, file “B”, and file “C”—are stored in the content storage system 118. The second, third and fourth table entries are populated with the following data:

File Priority Level Min. Number Max. Number
A highest 1 7
B medium 1 3
C low 1 3

Initially, each file is loaded and run on one or more content servers 110, indicated in dashed lines in FIG. 1a as load-bearing system A 120, load-bearing system B 122, and load-bearing system C 124. If a load-bearing system, such as load-bearing system A 120, has multiple content servers 110, the load on the system is distributed using one of the following schemes: (1) a load-sharing scheme; (2) a load-balancing scheme; or (3) a load-leveling scheme. Generally, content servers 110 in a load-sharing system that utilizes the load-sharing scheme are viewed in binary. That is, the server is either idle or busy, and load may only be placed on idle servers. Load-balancing schemes attempt to ensure that the load on each content server 110 in the system is within a small degree of the load present on every other content server in the system. Load-leveling schemes can be viewed as the middle ground between the load-sharing and load-balancing schemes. Rather than trying to obtain an even distribution across the system, or utilizing only the content servers 110 that are idle, the load-leveling scheme distributes load in a manner that minimizes congestion.

Referring to FIG. 2, a process 200 residing in the management server 108 periodically checks (202) the available load capacity on each load-bearing system. In one implementation, the process 200 polls each content server 110 in a load-bearing system to determine its available load capacity.

If the process 200 detects (204) that the load on the load-bearing system B 122, for example, is greater than a preconfigured threshold level (i.e., there is insufficient aggregate available load capacity), the process then determines (206) whether the number of content servers 110 in the load-bearing system B 122 is less than the maximum number that may be allocated to that system. If so, the process 200 will add a content server 110 to the load-bearing system B 122 if one is available. By use of the term “available”, it is meant that the content server 110 is idle and may be added to a load-bearing system, or alternatively, the content server has a lower priority level and may be removed from a particular load-bearing system and allocated to a different load-bearing system. For example, as shown in FIG. 1b, if the load-bearing system C 124 is implemented by a single content server 124a, the content server 124a is not available for re-allocation to either of the other two load-bearing systems 120 and 122, because the network operator has designated in the table that at least one content server 110 in the network 102 must be allocated to the load-bearing system C 124.

The process 200 first polls all of the content servers 110 on the network 102 to determine (210) if there is an available content server 110 on the network 102. If none of the content servers 110 are available, the process 200 logs and signals the event (208) to the network operator maintaining the network 102. Otherwise, the process 200 selects (212) one of the available content servers for addition to the load-bearing system B 122. If there are multiple available content servers 110, the process 200 will typically select one that is idle for addition to the load-bearing system B 122. However, if all of the available content servers 110 on the network 102 are active, as shown in FIG. 1c, the process 200 makes the selection as follows:

Once the selection is made, say, for example, the process 200 selects the content server having an IP address of “128.11.234.59” 124b in the load-bearing system C 124, as shown in FIG. 1c, the process 200 can be configured to immediately stop all future client queries directed to the load-bearing system C 124 from being sent to the selected content server 124b for processing. The process 200 can also be configured to wait until all of the active sessions on the selected content server 124b have been terminated before removing that content server 124b from the load-bearing system C 124. Once removed, the process 200 retrieves the file “B” from the content storage system 118 and uses the image manager 116 to load (214) it onto the selected content server 124b. Referring to FIG. 1d, the process 200 then starts the selected content server 124b having the recently-loaded file “B”, and modifies the DNS system to add (216) the content server having an IP address of “128.11.234.59” 124b to the load-bearing system B 122. Thereafter, when a client requests a service by entering in a web browser the URL for the web site implemented by the load-bearing system B 122, the request can be directed to the content server 124b.

Referring to FIG. 1c, 1f the process 200 detects (218) that the load on the load-bearing system B 122, for example, is less than a preconfigured threshold level, the process 200 then determines (220) whether the number of content servers 110 in the load-bearing system B 122 is more than the minimum number that may be allocated to that system 122. If so, the process 200 may select (222) a content server 110 from the load-bearing system B 122 for removal if the aggregate available load capacity of the load-bearing system B, the historical demand for services implemented by the load-bearing system B, as well as damping considerations, among others, warrants removal of a content server. The process 200 selects a content server for removal much in the same manner described above. That is, the selection may be made by polling each of the content servers 110 in the load-bearing system B 122 to determine which content server 110 has the highest available load capacity and selecting that content server 110. Alternatively, the selection may be made by polling each of those content servers 110 to determine which content server 110 has the least number of active sessions and selecting that content server 110. The process 200 can be configured to wait until all of the active sessions on the selected content server 110 have been terminated before removing (224) that content server 110 from the load-bearing system B 122, and categorizing it as idle.

Other embodiments are within the scope of the following claims.

Aborn, Justin

Patent Priority Assignee Title
10033548, Jun 23 2008 Huawei Technologies Co., Ltd. Method, system, service selection entity, and service management entity for selecting service provision entity
10116738, Sep 28 2001 SANDPIPER CDN, LLC Detecting anomalous conditions in a name server network
10218806, Apr 04 2008 SANDPIPER CDN, LLC Handling long-tail content in a content delivery network (CDN)
10237341, Mar 29 2012 EMC Corporation Method and system for load balancing using server dormant mode
10771541, Oct 02 2001 SANDPIPER CDN, LLC Automated management of content servers based on change in demand
10848552, Mar 29 2018 Hewlett Packard Enterprise Development LP Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system
10893109, Apr 20 2012 Telefonaktiebolaget LM Ericsson (publ) Method, device, network entity and computer program product for providing an IP service application
10911531, Sep 28 2001 SANDPIPER CDN, LLC Multi-tiered server network
10924573, Apr 04 2008 SANDPIPER CDN, LLC Handling long-tail content in a content delivery network (CDN)
11128530, Mar 29 2018 Hewlett Packard Enterprise Development LP Container cluster management
11863379, Mar 29 2018 Hewlett Packard Enterprise Development LP Container cluster management
7822871, Sep 28 2001 SANDPIPER CDN, LLC Configurable adaptive global traffic control and management
7860964, Sep 28 2001 SANDPIPER CDN, LLC Policy-based content delivery network selection
7870305, Mar 09 2007 Microsoft Technology Licensing, LLC Proxy association for devices
7882230, Apr 02 2008 International Business Machines Corporation Method and system for dynamically allocating servers to compute-resources using capacity thresholds
7979862, Dec 21 2004 Hewlett Packard Enterprise Development LP System and method for replacing an inoperable master workload management process
8209415, Feb 27 2009 Yottaa Inc System and method for computer cloud management
8224899, Apr 17 2008 Concert Technology Corporation Method and system for aggregating media collections between participants of a sharing network
8285810, Apr 17 2008 Concert Technology Corporation Aggregating media collections between participants of a sharing network utilizing bridging
8285811, Apr 17 2008 Concert Technology Corporation Aggregating media collections to provide a primary list and sorted sub-lists
8397296, Nov 08 2002 PALO ALTO NETWORKS, INC Server resource management, analysis, and intrusion negation
8484227, Oct 15 2008 Concert Technology Corporation Caching and synching process for a media sharing system
8484311, Apr 17 2008 Concert Technology Corporation Pruning an aggregate media collection
8645517, Sep 28 2001 SANDPIPER CDN, LLC Policy-based content delivery network selection
8655775, Feb 08 2013 MasterCard International Incorporated Method and system for merchant debit routing table change detection
8763119, Nov 08 2002 PALO ALTO NETWORKS, INC Server resource management, analysis, and intrusion negotiation
8874650, Apr 17 2008 Concert Technology Corporation Method and system for aggregating media collections between participants of a sharing network
8880599, Oct 15 2008 Concert Technology Corporation Collection digest for a media sharing system
8909726, Aug 27 2003 Cisco Technology, Inc. Priority based anycast routing
8930538, Apr 04 2008 SANDPIPER CDN, LLC Handling long-tail content in a content delivery network (CDN)
9191229, Feb 02 2009 Concert Technology Corporation Remote participation in a Local Area Network (LAN) based media aggregation network
9203636, Sep 28 2001 SANDPIPER CDN, LLC Distributing requests across multiple content delivery networks based on subscriber policy
9208239, Sep 29 2010 Concert Technology Corporation Method and system for aggregating music in the cloud
9240998, Nov 07 2011 SQUARE ENIX HOLDINGS CO , LTD Management apparatus and control method of management apparatus
9319274, Mar 29 2012 EMC Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
9363312, Jul 28 2010 Daedalus Blue LLC Transparent header modification for reducing serving load based on current and projected usage
9391863, Nov 08 2002 PALO ALTO NETWORKS, INC Server resource management, analysis, and intrusion negotiation
9396196, Apr 17 2008 Concert Technology Corporation Method and system for aggregating media collections between participants of a sharing network
9762692, Apr 04 2008 SANDPIPER CDN, LLC Handling long-tail content in a content delivery network (CDN)
9838323, Aug 27 2003 Cisco Technology, Inc. Priority based anycast routing
9876863, Apr 20 2012 TELEFONAKTIEBOLAGET L M ERICSSON PUBL Method, device, network entity and computer program product for providing an IP service application
9923826, Oct 14 2011 Citrix Systems, Inc. Systems and methods for dynamic adaptation of network accelerators
Patent Priority Assignee Title
4495570, Jan 14 1981 Hitachi, Ltd. Processing request allocator for assignment of loads in a distributed processing system
4591983, Jul 09 1984 Teknowledge, Inc. Hierarchical knowledge system
4594704, Nov 23 1983 Compagnie Industrielle des Telecommunications Cit-Alcatel Spare subscriber terminal device in a digital concentrator
4726017, May 21 1985 Fla. Multidrop data concentrator communication network
4803641, Jun 06 1984 Tecknowledge, Inc. Basic expert system tool
4839798, Nov 07 1984 Hitachi, Ltd. Method and apparatus for controlling job transfer between computer systems
4847784, Jul 13 1987 Teknowledge, Inc.; TEKNOWLEDGE, INC , A CORP OF DE Knowledge based tutor
4920432, Jan 12 1988 Lodgenet Interactive Corporation System for random access to an audio video data library with independent selection and display at each of a plurality of remote locations
4922417, Oct 24 1986 BELL TELEPHONE LABORATORIES, INCORPORATED, A CORP OF NEW YORK; AT&T TECHNOLOGIES, INCORPORATED, A CORP OF NEW YORK Method and apparatus for data hashing using selection from a table of random numbers in combination with folding and bit manipulation of the selected random numbers
4943932, Nov 25 1986 Cimflex Teknowledge Corporation; TEKNOWLEDGE, INC Architecture for composing computational modules uniformly across diverse developmental frameworks
4949187, Dec 16 1988 VIDEO-ON-DEMAND VENTURES LLC Video communications system having a remotely controlled central source of video and audio data
4949248, Jul 15 1988 CANTOR FIRZGERALD SECURITIES System for shared remote access of multiple application programs executing in one or more computers
5029232, Jan 12 1989 Level 3 Communications, LLC Satellite communications network
5130792, Feb 01 1990 USA VIDEO CORPORATION; USA VIDEO TECHNOLOGY CORPORATION Store and forward video system
5132992, Jan 07 1991 Greenwich Information Technologies, LLC Audio and video transmission and receiving system
5136716, Sep 04 1987 ENTERASYS NETWORKS, INC Session control in network for digital data processing system which supports multiple transfer protocols
5172413, Dec 20 1990 SASKTEL, 2121 SASKATCHEWAN DRIVE, REGINA, SASKATCHEWAN, CANADA, S4P 3Y2 Secure hierarchial video delivery system and method
5191573, Jun 13 1988 SIGHTSOUND TECHNOLOGIES, LLC Method for transmitting a desired digital video or audio signal
5253275, Jan 07 1991 Greenwich Information Technologies, LLC Audio and video transmission and receiving system
5253341, Mar 04 1991 GLOBAL PATENT HOLDINGS, LLC Remote query communication system
5287499, Mar 22 1989 TTI Inventions C LLC Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table
5287537, Nov 15 1985 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
5291554, May 28 1992 TV Answer, Inc. Shared-price custom video rentals via interactive TV
5341477, Feb 24 1989 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Broker for computer network server selection
5371532, May 15 1992 TTI Inventions A LLC Communications architecture and method for distributing information services
5410343, Sep 27 1991 Verizon Patent and Licensing Inc Video-on-demand services using public switched telephone network
5414455, Jul 07 1993 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Segmented video on demand system
5442389, Dec 28 1992 AT&T IPM Corp Program server for interactive television system
5442390, Jul 07 1993 TIVO INC Video on demand with memory accessing and or like functions
5442749, Aug 22 1991 Sun Microsystems, Inc. Network video server system receiving requests from clients for specific formatted data through a default channel and establishing communication through separate control and data channels
5471622, Oct 04 1989 Paralogic, Inc. Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks
5475615, Dec 23 1993 COMCAST MO GROUP, INC Method and system for sizing interactive video delivery systems
5508732, Mar 22 1993 IBM Corporation Data server, control server and gateway architecture system and method for broadcasting digital video on demand
5515511, Jun 06 1994 International Business Machines Corporation Hybrid digital/analog multimedia hub with dynamically allocated/released channels for video processing and distribution
5519435, Sep 01 1994 INTEL NETWORK SYSTEMS, INC Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate
5528281, Sep 27 1991 Verizon Patent and Licensing Inc Method and system for accessing multimedia data over public switched telephone network
5539621, Jan 14 1994 PDACO LTD Network communication unit with client and resource node array double layer ICs on printed board with connectors on housing
5542087, Oct 15 1993 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Linear hashing for distributed records
5544313, May 11 1994 Cisco Technology, Inc Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system
5544327, Mar 01 1994 Cisco Technology, Inc Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied
5550577, May 19 1993 ALCATEL N V Video on demand network, including a central video server and distributed video servers with random access read/write memories
5550863, Jan 07 1991 Greenwich Information Technologies, LLC Audio and video transmission and receiving system
5550982, Jun 24 1993 CONGRESS FINANCIAL CORPORATION NEW ENGLAND , A MASSACHUSETTS CORPORATION Video application server
5557317, May 20 1994 NEC Corporation Video-on-demand system with program relocation center
5572643, Oct 19 1995 INTERNETAD SYSTEMS LLC Web browser with dynamic display of information objects during linking
5590288, Jul 30 1991 Restaurant Technology, Inc. Distributed data processing system and method utilizing peripheral device polling and layered communication software
5592611, Mar 14 1995 AUTONOMY, INC Stand-in computer server
5594910, Mar 23 1989 International Business Machines Corporation Interactive computer network and method of operation
5603026, Dec 07 1994 YORANSO CONSULTING LIMITED LIABILITY COMPANY Application-specific conflict resolution for weakly consistent replicated databases
5619648, Nov 30 1994 Alcatel Lucent Message filtering techniques
5623656, Dec 15 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Script-based data communication system and method utilizing state memory
5625781, Oct 31 1995 International Business Machines Corporation Itinerary list for interfaces
5627829, Oct 07 1993 SAMSUNG ELECTRONICS CO , LTD Method for reducing unnecessary traffic over a computer network
5630067, Jul 29 1994 International Business Machines Corporation System for the management of multiple time-critical data streams
5633999, Apr 07 1993 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
5634006, Aug 17 1992 International Business Machines Corporation System and method for ensuring QOS in a token ring network utilizing an access regulator at each node for allocating frame size for plural transmitting applications based upon negotiated information and priority in the network
5638443, Nov 23 1994 CONTENTGUARD HOLDINGS, INC System for controlling the distribution and use of composite digital works
5644714, Jan 14 1994 PDACO LTD Video collection and distribution system with interested item notification and download on demand
5646676, May 30 1995 International Business Machines Corporation Scalable interactive multimedia server system for providing on demand data
5649186, Aug 07 1995 Open Invention Network, LLC System and method for a computer-based dynamic information clipping service
5659729, Feb 01 1996 Oracle America, Inc Method and system for implementing hypertext scroll attributes
5666362, Jul 25 1995 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for asynchronous PPP and synchronous PPP conversion
5671279, Nov 13 1995 Meta Platforms, Inc Electronic commerce using a secure courier system
5675734, Jun 13 1988 SIGHTSOUND TECHNOLOGIES, LLC System for transmitting desired digital video or audio signals
5682512, Jun 30 1995 Intel Corporation Use of deferred bus access for address translation in a shared memory clustered computer system
5699513, Mar 31 1995 GENERAL DYNAMICS C4 SYSTEMS, INC Method for secure network access via message intercept
5712979, Sep 20 1995 ULOGIN LLC Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
5715453, May 31 1996 PayPal, Inc Web server mechanism for processing function calls for dynamic data queries in a web page
5721914, Sep 14 1995 Verizon Patent and Licensing Inc System and method for hierarchical data distribution
5734831, Apr 26 1996 Sun Microsystems, Inc. System for configuring and remotely administering a unix computer over a network
5740423, Dec 28 1995 CSG Systems, Inc System and method for accessing distributed data on a plurality of databases
5742762, May 19 1995 Telogy Networks, Inc.; TELOGY NETWORKS, INC Network management gateway
5751961, Jan 31 1996 HANGER SOLUTIONS, LLC Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
5761507, Mar 05 1996 GLOBALFOUNDRIES Inc Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
5761663, Jun 07 1995 GOOGLE LLC Method for distributed task fulfillment of web browser requests
5764906, Nov 07 1995 Francap Corporation Universal electronic resource denotation, request and delivery system
5774660, Aug 05 1996 RESONATE INC World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
5774668, Jun 07 1995 Microsoft Technology Licensing, LLC System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
5777989, Dec 19 1995 International Business Machines Corporation; IBM Corporation TCP/IP host name resolution for machines on several domains
5784058, May 28 1996 Oracle America, Inc User-controllable persistent browser display pages
5796952, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
5799141, Jun 09 1995 EMC Corporation Real-time data protection system and method
5802106, Dec 06 1996 Symantec Corporation Method for rapid data rate detection in a packet communication environment without data rate supervision
5802291, Mar 30 1995 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
5812769, Sep 20 1995 TWINTECH E U II, LIMITED LIABILITY COMPANY Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
5815664, Mar 20 1995 Fujitsu Limited Address reporting device and method for detecting authorized and unauthorized addresses in a network environment
5828847, Apr 19 1996 Oracle America, Inc Dynamic server switching for maximum server availability and load balancing
5832506, Mar 29 1996 Intel Corporation Directory for network servers
5832514, Jun 26 1996 Microsoft Technology Licensing, LLC System and method for discovery based data recovery in a store and forward replication process
5835718, Apr 10 1996 HANGER SOLUTIONS, LLC URL rewriting pseudo proxy server
5845303, Dec 06 1994 AKAMAI TECHNOLOGIES, INC Document processing using frame-based templates with hierarchical tagging
5856974, Feb 13 1996 EMC Corporaton Internetwork address mapping gateway
5862339, Jul 09 1996 Microsoft Technology Licensing, LLC Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
5867706, Dec 19 1996 International Business Machines Corp. Method of load balancing across the processors of a server
5867799, Apr 04 1996 HUDSON BAY MASTER FUND LTD Information system and method for filtering a massive flow of information entities to meet user information classification needs
5870546, Feb 21 1996 DISNEY ENTERPRISES, INC Method and apparatus for redirection of server external hyper-link reference
5870559, Apr 11 1997 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Software system and associated methods for facilitating the analysis and management of web sites
5878212, Jul 31 1995 AT&T Corp.; AT&T IPM Corp System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
5884038, May 02 1997 RPX Corporation Method for providing an Internet protocol address with a domain name server
5890171, Aug 06 1996 Microsoft Technology Licensing, LLC Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document
5893116, Sep 30 1996 Oracle International Corporation Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
5894554, Apr 23 1996 Microsoft Corporation System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
5896533, Jul 06 1995 Intel Corporation Accessing internets world-wide web through object linking and embedding technology
5903723, Dec 21 1995 INCYTE PHARMACEUTICALS, INC Method and apparatus for transmitting electronic mail attachments with attachment references
5907704, Apr 03 1995 Q LIQUIDATING TRUST Hierarchical encapsulation of instantiated objects in a multimedia authoring system including internet accessible objects
5913028, Oct 06 1995 RPX Corporation Client/server data traffic delivery system and method
5913033, Dec 20 1996 International Business Machines Corporation Apparatus and method for retrieving information using standard objects
5918010, Feb 07 1997 ABOUT, INC Collaborative internet data mining systems
5919247, Jul 24 1996 BMC SOFTWARE, INC Method for the distribution of code and data updates
5920701, Jan 19 1995 HANGER SOLUTIONS, LLC Scheduling data transmission
5933832, Sep 10 1997 Kabushiki Kaisha Toshiba Retrieval system for frequently updated data distributed on network
5935207, Jun 03 1996 Rovi Technologies Corporation Method and apparatus for providing remote site administrators with user hits on mirrored web sites
5945989, Mar 25 1997 VOICECOM TELECOMMUNICATIONS, LLC Method and apparatus for adding and altering content on websites
5956489, Jun 07 1995 Microsoft Technology Licensing, LLC Transaction replication system and method for supporting replicated transaction-based services
5956716, Jun 07 1995 Intervu, Inc System and method for delivery of video data over a computer network
5958008, Oct 15 1996 MICRO FOCUS LLC Software system and associated methods for scanning and mapping dynamically-generated web documents
5961596, Feb 14 1996 Hitachi, Ltd.; Hitachi ULSI Engineering Corp. Method of monitoring a computer system, featuring performance data distribution to plural monitoring processes
5966440, Jun 13 1988 SIGHTSOUND TECHNOLOGIES, LLC System and method for transmitting desired digital video or digital audio signals
5968121, Aug 13 1997 Microsoft Technology Licensing, LLC Method and apparatus for representing and applying network topological data
5978791, Apr 11 1995 Personalweb Technologies, LLC Data processing system using substantially unique identifiers to identify data items, whereby identical data items have the same identifiers
5983214, Apr 04 1996 HUDSON BAY MASTER FUND LTD System and method employing individual user content-based data and user collaborative feedback data to evaluate the content of an information entity in a large information communication network
5983227, Jun 12 1997 DIGI PORTAL LLC Dynamic page generator
5987606, Mar 19 1997 Bascom Global Internet Services, Inc. Method and system for content filtering information retrieved from an internet computer network
5991809, Jul 25 1996 XCELERA INC Web serving system that coordinates multiple servers to optimize file transfers
6002720, Jan 07 1991 Greenwich Information Technologies, LLC Audio and video transmission and receiving system
6003030, Jun 07 1996 AKAMAI TECHNOLOGIES, INC System and method for optimized storage and retrieval of data on a distributed computer network
6006264, Aug 01 1997 Cisco Technology, Inc Method and system for directing a flow between a client and a server
6012090, Mar 14 1997 Alcatel Lucent Client-side parallel requests for network services using group name association
6014686, Jun 21 1996 HANGER SOLUTIONS, LLC Apparatus and methods for highly available directory services in the distributed computing environment
6014698, May 19 1997 AT HOME BONDHOLDERS LIQUIDATING TRUST System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals
6018516, Nov 14 1997 GEN DIGITAL INC Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates
6026440, Jan 27 1997 International Business Machines Corporation Web server account manager plug-in for monitoring resources
6029175, Oct 26 1995 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
6029176, Nov 25 1997 NIELSEN COMPANY US , LLC , THE Manipulating and analyzing data using a computer system having a database mining engine resides in memory
6035332, Oct 06 1997 NCR Voyix Corporation Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
6038216, Nov 01 1996 Symantec Corporation Method for explicit data rate control in a packet communication environment without data rate supervision
6038310, Aug 01 1994 British Telecommunications public limited company Service node for a telephony network
6038610, Jul 17 1996 Microsoft Technology Licensing, LLC Storage of sitemaps at server sites for holding information regarding content
6041324, Nov 17 1997 International Business Machines Corporation System and method for identifying valid portion of computer resource identifier
6044405, Apr 12 1996 COLORADO WSC, LLC Service network incorporating geographically-remote hubs linked by high speed transmission paths
6046980, Dec 09 1996 GEN DIGITAL INC System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
6049831, Nov 02 1996 Level 3 Communications, LLC System for transmitting network-related information where requested network information is separately transmitted as definitions and display information
6052718, Jan 07 1997 Cisco Technology, Inc Replica routing
6052730, Jan 10 1997 BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY, THE Method for monitoring and/or modifying web browsing sessions
6065051, Apr 15 1998 Meta Platforms, Inc Apparatus and method for communication between multiple browsers
6065062, Dec 10 1997 Cisco Systems, Inc. Backup peer pool for a routed computer network
6070191, Oct 17 1997 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Data distribution techniques for load-balanced fault-tolerant web access
6081829, Jan 31 1996 Open Invention Network, LLC General purpose web annotations without modifying browser
6092112, Jun 17 1996 Matsushita Electric Industrial Co., Ltd. Distributing information through an open network to many and unspecific clients being in different retaining situations with an information server
6092204, Oct 01 1996 AT&T Corp Filtering for public databases with naming ambiguities
6105028, Jun 26 1997 Hewlett-Packard Company Method and apparatus for accessing copies of documents using a web browser request interceptor
6108673, Feb 25 1997 International Business Machines Corporation System for creating a form from a template that includes replication block
6108703, Jul 14 1998 Massachusetts Institute of Technology Global hosting system
6112231, Oct 18 1996 AT&T Corp. Server to cache protocol for improved web performance
6112239, Jun 18 1997 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
6112240, Sep 03 1997 International Business Machines Corporation Web site client information tracker
6115357, Jun 29 1998 GEN DIGITAL INC Method for pacing data flow in a packet-based network
6115752, May 21 1998 Oracle America, Inc System and method for server selection for mirrored sites
6119143, May 22 1997 International Business Machines Corporation Computer system and method for load balancing with selective control
6125388, May 31 1994 TMI SOLUTIONS, LLC System for transporting information objects between a user station and multiple remote sources based upon user modifiable object manifest stored in the user station
6128601, Aug 28 1997 Cisco Technology, Inc Active client to communications network connection apparatus and method
6128660, Mar 21 1996 Intel Corporation Network match maker
6130890, Sep 11 1998 MOUNT SHASTA ACQUISITION LLC; Level 3 Communications, LLC Method and system for optimizing routing of data packets
6134583, Jul 01 1996 Oracle America, Inc Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16)
6144375, Aug 14 1998 CLOUD SOFTWARE GROUP, INC Multi-perspective viewer for content-based interactivity
6144702, Jan 07 1991 Greenwich Information Technologies, LLC Audio and video transmission and receiving system
6144996, May 13 1998 PALO ALTO NETWORKS, INC Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
6151624, Feb 03 1998 R2 SOLUTIONS LLC Navigating network resources based on metadata
6154738, Mar 27 1998 PRODUCT ASSOCIATION TECHNOLOGIES, LLC Methods and apparatus for disseminating product information via the internet using universal product codes
6154744, Jun 07 1995 AKAMAI TECHNOLOGIES, INC System and method for optimized storage and retrieval of data on a distributed computer network
6154753, Sep 15 1995 COLORADO WSC, LLC Document management system and method for business quality modeling
6154777, Jul 01 1996 Oracle America, Inc System for context-dependent name resolution
6163779, Sep 29 1997 International Business Machines Corporation Method of saving a web page to a local hard drive to enable client-side browsing
6167427, Nov 28 1997 Alcatel Lucent Replication service system and method for directing the replication of information servers based on selected plurality of servers load
6173311, Feb 13 1997 GOOGLE LLC Apparatus, method and article of manufacture for servicing client requests on a network
6173322, Jun 05 1997 Hewlett Packard Enterprise Development LP Network request distribution based on static rules and dynamic performance data
6175869, Apr 08 1998 WSOU Investments, LLC Client-side techniques for web server allocation
6178160, Dec 23 1997 Cisco Technology, Inc Load balancing of client connections across a network using server based algorithms
6181867, Jun 07 1995 Intervu, Inc Video storage and retrieval system
6185598, Feb 10 1998 SANDPIPER CDN, LLC Optimized network resource location
6185619, Nov 07 1997 Raytheon BBN Technologies Corp Method and apparatus for balancing the process load on network servers according to network and serve based policies
6189030, Feb 21 1996 DISNEY ENTERPRISES, INC Method and apparatus for redirection of server external hyper-link references
6205120, Mar 13 1998 GEN DIGITAL INC Method for transparently determining and setting an optimal minimum required TCP window size
6226642, Sep 11 1997 Wistron Corporation Content modification of internet web pages for a television class display
6230196, Nov 12 1997 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
6243760, Jun 24 1997 Transcore Link Logistics Corporation Information dissemination system with central and distributed caches
6249810, Feb 19 1999 HOO, SIM WONG; NG, KAI WA; SIM, WONG HOO Method and system for implementing an internet radio device for receiving and/or transmitting media information
6256675, May 06 1997 AT&T Corp System and method for allocating requests for objects and managing replicas of objects on a network
6266699, Apr 17 1996 NOKIA SOLUTIONS AND NETWORKS GMBH & CO KG Control in an intelligent network
6269394, Jun 07 1995 System and method for delivery of video data over a computer network
6275470, Jun 18 1999 MOUNT SHASTA ACQUISITION LLC; Level 3 Communications, LLC On-demand overlay routing for computer-based communication networks
6282569, Sep 11 1993 International Business Machines Corp. Name server computer having a load levelling facility to spread the load from client computers across a plurality of server computers
6282574, Mar 06 1997 Verizon Patent and Licensing Inc Method, server and telecommunications system for name translation on a conditional basis and/or to a telephone number
6286045, May 19 1997 AT HOME BONDHOLDERS LIQUIDATING TRUST Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered
6298041, Nov 01 1996 Symantec Corporation Method for explicit data rate control in a packet communication environment without data rate supervision
6311214, Aug 06 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Linking of computers based on optical sensing of digital data
6314465, Mar 11 1999 WSOU Investments, LLC Method and apparatus for load sharing on a wide area network
6314565, May 19 1997 Intervu, Inc System and method for automated identification, retrieval, and installation of multimedia software components
6332195, Feb 09 1996 McAfee, LLC Secure server utilizing separate protocol stacks
6338044, Mar 17 1999 RPX Corporation Personal digital content system
6347085, Aug 16 1996 NET2PHONE, INC Method and apparatus for establishing communications between packet-switched and circuit-switched networks
6360256, Jul 01 1996 Oracle America, Inc Name service for a redundant array of internet servers
6370571, Mar 05 1997 AT HOME BONDHOLDERS LIQUIDATING TRUST System and method for delivering high-performance online multimedia services
6370580, Jul 25 1997 XCELERA C O VIK BROTHERS INTERNATIONAL; XCELERA INC Web serving system that coordinates multiple servers to optimize file transfers
6374299, Feb 05 1998 Bank of America Corporation Enhanced scalable distributed network controller
6405252, Nov 22 1999 AKAMAI TECHNOLOGIES, INC Integrated point of presence server network
6405257, Jun 26 1998 Level 3 Communications, LLC Method and system for burst congestion control in an internet protocol network
6412000, Nov 25 1997 CA, INC Method for automatically classifying traffic in a packet communications network
6412002, Nov 15 1999 TERADATA US, INC Method and apparatus for selecting nodes in configuring massively parallel systems
6415280, Apr 11 1995 Personalweb Technologies, LLC Identifying and requesting data in network using identifiers which are based on contents of data
6421726, Mar 14 1997 AKAMAI TCHNOLOGIES, INC System and method for selection and retrieval of diverse types of video data on a computer network
6430618, Mar 13 1998 Massachusetts Institute of Technology Method and apparatus for distributing requests among a plurality of resources
6442549, Jul 25 1997 MEC MANAGEMENT, LLC Method, product, and apparatus for processing reusable information
6456630, Dec 08 1997 CA, INC Method for data rate control for heterogenous or peer internetworking
6460085, Feb 02 1999 CA, INC Method and system for managing memory in an internet over satellite connection
6473405, Jun 18 1999 MOUNT SHASTA ACQUISITION LLC; Level 3 Communications, LLC On-demand overlay routing for computer-based communication networks
6480893, Jul 25 1997 CLEARWAY TECHNOLOGY, LLC Web serving system
6484143, Nov 22 1999 AKAMAI TECHNOLOGIES, INC User device and system for traffic management and content distribution over a world wide area network
6484204, May 06 1997 AT&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
6490580, Oct 29 1999 Level 3 Communications, LLC Hypervideo information retrieval usingmultimedia
6493707, Oct 29 1999 Level 3 Communications, LLC Hypervideo: information retrieval using realtime buffers
6496856, Jun 07 1995 AKAMAI TECHNOLOGIES, INC Video storage and retrieval system
6502125, Jun 07 1995 AKAMAI TECHNOLOGIES, INC System and method for optimized storage and retrieval of data on a distributed computer network
6502215, Oct 06 1995 Micron Technology, Inc. Self-test RAM using external synchronous clock
6505248, Mar 24 1999 Level 3 Communications, LLC Method and system for monitoring and dynamically reporting a status of a remote server
6529477, Feb 02 1999 CA, INC Internet over satellite system
6553413, Jul 14 1998 Massachusetts Institute of Technology Content delivery network using edge-of-network servers for providing content delivery to a set of participating content providers
6553420, Mar 15 1998 Massachusetts Institute of Technology Method and apparatus for distributing requests among a plurality of resources
6557054, May 31 1994 TMI SOLUTIONS, LLC Method and system for distributing updates by presenting directory of software available for user installation that is not already installed on user station
6564251, Dec 03 1998 ZHIGU HOLDINGS LIMITED Scalable computing system for presenting customized aggregation of information
6574612, Feb 19 1999 International Business Machines Corporation License management system
6577595, Nov 12 1999 Level 3 Communications, LLC Systems and methods for transporting associated data signals over a network
6581090, Oct 14 1996 XCELERA INC Internet communication system
6584083, Feb 02 1999 CA, INC Internet over satellite method
6591299, Nov 25 1997 CA, INC Method for automatically classifying traffic with enhanced hierarchy in a packet communications network
6601084, Dec 19 1997 Citrix Systems, Inc Dynamic load balancer for multiple network servers
6611862, May 31 1994 TMI SOLUTIONS, LLC User station software that controls transport and presentation of content from a remote source
6625643, Nov 13 1998 AKAMAI TECHNOLOGIES, INC System and method for resource management on a data network
6636499, Dec 02 1999 Cisco Technology, Inc Apparatus and method for cluster network device discovery
6654344, Feb 02 1999 CA, INC Method and system for controlling data flow in an internet over satellite connection
6654807, Feb 10 1998 SANDPIPER CDN, LLC Internet content delivery network
6658464, May 31 1994 TMI SOLUTIONS, LLC User station software that controls transport, storage, and presentation of content from a remote source
6665706, Jun 07 1995 Akamai Technologies, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
6665726, Jan 06 2000 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet
6691148, Mar 13 1998 Raytheon BBN Technologies Corp Framework for providing quality of service requirements in a distributed object-oriented computer system
6694358, Nov 22 1999 AKAMAI TECHNOLOGIES, INC Performance computer network method
6699418, Feb 23 2001 Kuraray Co., Ltd. Method for producing biaxially stretched film made of ethylene-vinyl alcohol copolymer
6708137, Jul 16 2001 COLORADO WSC, LLC System and method for providing composite variance analysis for network operation
6718328, Feb 28 2000 AKAMAI TECHNOLOGIES, INC System and method for providing controlled and secured access to network resources
6741563, Nov 01 1996 GEN DIGITAL INC Method for explicit data rate control in a packet communication environment without data rate supervision
6751673, Jan 03 2001 Akamai Technologies, Inc.; AKAMAI TECHNOLOGIES, INC Streaming media subscription mechanism for a content delivery network
6754699, Jul 19 2000 AKAMAI TECHNOLOGIES, INC Content delivery and global traffic management network system
6754706, Dec 16 1999 AKAMAI TECHNOLOGIES, INC Scalable domain name system with persistence and load balancing
6763388, Aug 10 1999 AKAMAI TECHNOLOGIES, INC Method and apparatus for selecting and viewing portions of web pages
6778502, Jun 18 1999 MOUNT SHASTA ACQUISITION LLC; Level 3 Communications, LLC On-demand overlay routing for computer-based communication networks
6795858, Dec 29 2000 Cisco Technology, Inc Method and apparatus for metric based server selection
6799221, Jun 18 1997 AKAMAI TECHNOLOGIES, INC System and method for server-side optimization of data delivery on a distributed computer network
6801576, Aug 06 1999 RPX Corporation System for accessing, distributing and maintaining video content over public and private internet protocol networks
6834306, Aug 10 1999 AKAMAI TECHNOLOGIES, INC Method and apparatus for notifying a user of changes to certain parts of web pages
6842604, Mar 17 1999 RPX Corporation Personal digital content system
6870851, Sep 11 1998 MOUNT SHASTA ACQUISITION LLC; Level 3 Communications, LLC Method and system for optimizing routing of data packets
6874032, Jun 26 1998 Level 3 Communications, LLC Method and system for burst congestion control in an internet protocol network
6901604, Feb 19 1999 HOO, SIM WONG; NG, KAI WA; SIM, WONG HOO Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
6915329, Jul 25 1996 Xcelera Web serving system
6928442, Apr 11 1995 Personalweb Technologies, LLC Enforcement and policing of licensed content using content-based identifiers
6934255, Feb 02 1999 CA, INC Internet over satellite apparatus
6950623, Sep 19 2000 RPX Corporation Methods and systems for dynamically serving in-stream advertisements
6963980, Nov 16 2000 Protegrity Corporation Combined hardware and software based encryption of databases
6963981, Jan 29 2001 Akamai Technologies, Inc.; AKAMAI TECHNOLOGIES, INC Method and apparatus for remote installation of an operating system over a network connection
6965890, Oct 29 1999 Level 3 Communications, LLC Hyper video: information retrieval using realtime buffers
6970432, Jun 18 2001 GEN DIGITAL INC System and method for dynamically identifying internal hosts in a heterogeneous computing environment with multiple subnetworks
6973485, Oct 07 1997 Hitachi, Ltd. Proxy server selecting server and proxy server
6973490, Jun 23 1999 COLORADO WSC, LLC Method and system for object-level web performance and analysis
6981050, Feb 11 1999 Nokia Technologies Oy Digital remote recorder
6981180, Mar 16 2000 AKAMAI TECHNOLOGIES, INC Method and apparatus for testing request-response service using live connection traffic
6996616, Apr 17 2000 AKAMAI TECHNOLOGIES, INC HTML delivery from edge-of-network servers in a content delivery network (CDN)
7003572, Feb 28 2001 GEN DIGITAL INC System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment
7007089, Jun 06 2001 Akarnai Technologies, Inc.; AKAMAI TECHNOLOGIES, INC Content delivery network map generation using passive measurement data
7010578, Sep 21 2000 AKAMAI TECHNOLOGIES, INC Internet content delivery service with third party cache interface support
7012900, Aug 22 2001 CA, INC Method for measuring network delay using gap time
7039633, Oct 29 1999 Level 3 Communications, LLC Hyper video: information retrieval using multimedia
7047300, Feb 10 1998 Sprint Communications Company L.P.; SPRINT COMMUNICATIONS COMPANY, L P Survivable and scalable data system and method for computer networks
7054935, Feb 10 1998 SANDPIPER CDN, LLC Internet content delivery network
7058706, Mar 31 2000 AKAMAI TECHNOLOGIES, INC Method and apparatus for determining latency between multiple servers and a client
7069177, Jul 16 2001 COLORADO WSC, LLC System and method for providing composite variance analysis for network operation
7096266, Jan 08 2001 Akamai Technologies, Inc.; AKAMAI TECHNOLOGIES, INC Extending an Internet content delivery network into an enterprise
7103645, Jul 14 1998 Massachusetts Institute of Technology Method and system for providing content delivery to a set of participating content providers
7181523, Oct 26 2000 Intel Corporation Method and apparatus for managing a plurality of servers in a content delivery network
20010029525,
20010042139,
20010056500,
20020018449,
20020023164,
20020023165,
20020026560,
20020032777,
20020040404,
20020042817,
20020046273,
20020046405,
20020049857,
20020059592,
20020066038,
20020073199,
20020078263,
20020082999,
20020083124,
20020099850,
20020124080,
20020129134,
20020131645,
20020143798,
20020143888,
20020147774,
20020163882,
20020166117,
20020194350,
20020199016,
20030009444,
20030018966,
20030028623,
20030028626,
20030028777,
20030041238,
20030055972,
20030061263,
20030061280,
20030065761,
20030078888,
20030078889,
20030105604,
20030154279,
20030191822,
20040022194,
20040139097,
20040177148,
20050033858,
20050038851,
20050100027,
20050114296,
20050262104,
20060153293,
CA2202572,
EP800143,
EP801487,
EP817444,
EP824236,
EP865180,
GB2281793,
JP10027148,
JP10093552,
JP10126445,
JP10171727,
JP2001053793,
JP7066829,
WO52594,
WO9642041,
WO9711429,
WO9729423,
WO9804985,
WO9806033,
WO9909726,
WO9929083,
WO9940514,
////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 02 2001Level 3 Communications, LLC(assignment on the face of the patent)
Sep 05 2002ABORN, JUSTIN A GENUITY INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0132860849 pdf
Feb 04 2003GENUITY, INC Level 3 Communications, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0143240285 pdf
May 20 2004Level 3 Communications, LLCLEVEL 3 COMMUNICATIONS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146530859 pdf
Jun 27 2006LEVEL 3 COMMUNICATIONS, INC MERRILL LYNCH CAPITAL CORPORATION, AS COLLATERAL AGENTSECURITY AGREEMENT0182070120 pdf
Jun 27 2006ICG COMMUNICATIONS, INC MERRILL LYNCH CAPITAL CORPORATION, AS COLLATERAL AGENTSECURITY AGREEMENT0182070120 pdf
Mar 12 2007LEVEL 3 COMMUNICATIONS, INC Level 3 Communications, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0189890678 pdf
Apr 24 2024Level 3 Communications, LLCSANDPIPER CDN, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0672440690 pdf
Date Maintenance Fee Events
Sep 19 2011M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Oct 28 2015M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Oct 31 2019M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
May 13 20114 years fee payment window open
Nov 13 20116 months grace period start (w surcharge)
May 13 2012patent expiry (for year 4)
May 13 20142 years to revive unintentionally abandoned end. (for year 4)
May 13 20158 years fee payment window open
Nov 13 20156 months grace period start (w surcharge)
May 13 2016patent expiry (for year 8)
May 13 20182 years to revive unintentionally abandoned end. (for year 8)
May 13 201912 years fee payment window open
Nov 13 20196 months grace period start (w surcharge)
May 13 2020patent expiry (for year 12)
May 13 20222 years to revive unintentionally abandoned end. (for year 12)