US20130268653A1 - System for Distributing Requests Across Multiple Servers Using Dynamic Metrics - Google Patents
System for Distributing Requests Across Multiple Servers Using Dynamic Metrics Download PDFInfo
- Publication number
- US20130268653A1 US20130268653A1 US13/662,858 US201213662858A US2013268653A1 US 20130268653 A1 US20130268653 A1 US 20130268653A1 US 201213662858 A US201213662858 A US 201213662858A US 2013268653 A1 US2013268653 A1 US 2013268653A1
- Authority
- US
- United States
- Prior art keywords
- clients
- hosting
- server
- allocated
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Definitions
- This invention relates to computers and digital processing systems requiring coordination of multiple digital processing units.
- this invention relates to load balancing or distribution of client requests across multiple servers in a networked computing environment.
- the Internet has become an increasingly useful tool and means of communication to many people.
- ISP Internet service provider
- ASP application service provider
- a significant loss of business for e-business merchants, user dissatisfaction, and a permanent loss of many potential customers occur.
- 25 percent of all potential online buyers never completed their online purchases because the e-tail sites of interest had either crashed or were simply too slow.
- the principle cause of these problems in the case of larger sites was and is an inappropriate distribution of the requests of customers or users (clients) among the sites' resources (servers), namely the multiple content and application servers that are responsible for responding to these requests.
- U.S. Pat. No. 6,173,322 is a good example of this approach and describes a system comprised of three host servers each having different request handling capabilities.
- hosts H 1 , H 2 , and H 3 have capabilities C 1 , C 2 , and C 3 respectively with C 3 being the most capable.
- R 1 , R 2 , and R 3 needing capabilities C 1 , C 2 , and C 3 respectively. If each request is considered independently and in the order the requests arrive, R 1 might be assigned to H 3 since this host will serve the request with the least delay. Next, R 2 might be assigned to H 2 for the same reason.
- R 3 would then suffer if it were assigned to the only remaining host, H 1 , since H 1 is under-powered to handle the request. Alternatively, R 3 could wait for H 3 to become available.
- the effect of these kinds of inefficiencies is cumulative; if the same three requests (or their respective equivalents) come in repeatedly and are serviced independently, there will be an ever-diminishing availability of resources until the system saturates and stops responding to new requests.
- Internet demand is not well behaved. Service requests often come in bursts or may back up to form a large backlog for a variety of reasons. As a consequence, it is desirable for the resource allocation procedure to respond in a more sophisticated manner.
- U.S. Pat. Nos. 6,070,191, 5,999, 965, and 5,504,894 Another problem of the request distribution processes described in U.S. Pat. Nos. 6,070,191, 5,999, 965, and 5,504,894 is that these processes consider only parameters related to available resources and do not consider the attributes of the incoming client requests.
- U.S. Pat. No. 6,173,322 parses certain data contained in incoming clients requests, but only for the purpose of applying a static rule to distribute the requests to one of several server groups. Once this has been done, dynamic resource capability rules are applied to assign the request to a server within the group. These rules may operate in consideration of the static rules previously applied, but only after the static rules are first applied.
- the present invention is a system for distributing incoming client requests across multiple servers in a networked client-server computer environment.
- the system collects information on both the attributes of the requests and the resource capability of the servers to dynamically allocate the requests in a set to the appropriate servers upon the completion of the time interval.
- the system includes a request table to collect at least two requests incoming within a predetermined time interval.
- a request examiner routine analyzes each collected request with respect to at least one attribute.
- a system status monitor collects resource capability information of each server in a resource table at least once during said time interval.
- An optimization and allocation process distribute collected requests in the request table across the multiple servers upon completion of said time interval based on an optimization of potential pairings of the requests in the request table with the servers in the server table.
- the optimization and allocation process preferably analyzes metrics maintained in the request table and resource table as part of a relational database to allocate requests to servers based on a minimization of the metric distance between pairings of requests and servers.
- the request table is part of a dynamic, relational database and a process of statistical inference for ascertaining expected demand patterns involving the attributes adds predictive information about client requests as part of the request examiner routine.
- the present invention responds to the demanding circumstances described above by shifting from processing each request as an independent event to processing as a set of requests incoming within a predetermined time interval.
- the requests are processed as a set by collecting the requests incoming within the predetermined time interval, analyzing each of these requests with respect to at least one attribute, collecting at least once during the time interval information about each server's ability and availability, i.e., resource capability information, to handle requests, and distributing the set of requests across the multiple servers upon the completion of the time interval in response to the above actions, and then repeating these steps for each consecutive time interval.
- This invention has been denominated virtual extended technology (VXT) because it can intelligently run in the background within the confines of current day bandwidth and processing technology.
- VXT virtual extended technology
- Resource allocation the key to optimum throughput, is the real-time intelligent management of system resources.
- This invention utilizes several interactive decision processes that can consider all operating aspects of a system's resources, both static and dynamic, while balancing the continuously changing competition for these resources.
- One of the objectives of this invention is to provide a new algorithm for allocating Internet client requests in an intelligent manner to multiple servers to maximize the efficiency and fault tolerance of the resources. Costs of requests within a reasonable time interval are considered simultaneously to produce a solution that is globally effective (i.e., most effective for a site as a whole) at the possible expense of some individual (localized) requests.
- the objective is further achieved through analysis of attributes of requests as these attributes correlate to request demands on resources and of the just-in-time running status of those resources.
- Requests to a site can vary widely from web surfing, product search, price comparison, and checkout to multimedia access. However, the demand on resources by each kind of request is predictable.
- the distribution decision-making process of this invention accounts for attributes and behavior of incoming requests and the corresponding compatibility of system hardware and software. Incoming client requests are analyzed to determine their attributes and behavior so that a given request's expected demand on resources can be predicted and resource requirements can be assigned to the request.
- One of the components of the invention will perform the extraction of the attributes from incoming requests.
- An analysis of the effectiveness of the characteristics above as well as the identification of other parameters that may be beneficial can be performed during the requirements analysis task.
- Extraction of the dynamic attributes will be performed in real-time by VXT's integral system request examiner or status monitor.
- the invention learns how to characterize site-specific traffic in several ways. First, it expands or contracts the number of expected demand patterns based on the success of the request classification. In other words, if a live request does not sufficiently match an already existing pattern, a new pattern is created. Also, if the resource requirement parameters for the matching entry are not correct as measured by system experience, either the parameters themselves are adjusted, or a new pattern is created. Conversely, the number of patterns is constrained to minimize the computation required to classify live requests.
- the pattern set may be reorganized to eliminate unused, redundant, or ineffective entries. This self-organizing and reorganizing paradigm refines parameters by experience and remains vigilant to non-stationary statistical trends.
- a collection of resource capability information for each server includes metrics for CPU and memory availability and connectivity to a proxy server, to a main storage system, and to other content servers.
- This collection process can be push or pull from the server at certain times and any of several techniques can be implemented for minimal interruption of the main execution on the servers. For example, information can be pulled periodically by the main proxy server, or the main server can be pushed to accept such information from servers when any certain parameter exceeds a pre-determined threshold. This performance feedback allows for an informed decision on which request to send to which server.
- the metrics associated with each request form a requirement data set whose elements represent the requirement level of each of the parameters used in the decision process.
- the metrics associated with the ability of a particular server to satisfy the request forms a capability data set with each element of this data set having a counterpart in the requirement data set.
- each request has its own requirement data set and each server or processing node has its own capability data set.
- the difference or metric distance between a requirement data set and a capability data set, calculated for any given pairing of client request and server represents the mismatch (or cost) incurred by the corresponding assignment of the request to the server. If the data sets are identical, the cost is zero.
- the assignment of multiple simultaneous requests can be done by one of several routines.
- the purpose of each routine should be to select a server or processing resource for each client request so that the sum of all the costs, for the combination of resource and request pairings, is minimized.
- the solution can be found by using one of several algorithms.
- FIG. 1 is a diagrammatic view of the present invention implemented across servers in a networked computing environment.
- FIG. 2 is a diagrammatic view of the main interacting elements with a system with multiple servers for responding to client request, including a proxy server, content servers, switches, and storage system.
- FIG. 3 illustrates five types of inter-processor connectivity for a system with multiple servers.
- FIG. 2 shows a typical configuration of a system ( 10 ) having multiple resources that may be allocated to respond to client requests received from the Internet.
- a proxy server(s) ( 12 ) receives the client request from the Internet and using the VXT ( 100 ), as will be described shortly, distributes those requests via network switches ( 14 ) to one of the multiple content/application servers ( 16 ) which preferably have access to a common DASD storage unit ( 18 ) on which information pertinent to the client requests may be stored.
- the present invention is applicable to numerous configurations of server resources in a system ( 10 ).
- servers are dynamically allocated among multiple sites or accounts.
- the present invention is applicable not only for allocating server resources among requests in a single account, but may also be extended to provide additional information for how to allocate servers among different accounts over time.
- the invention comprises a request table ( 110 ) to collect at least two requests ( 102 ) incoming within a predetermined time interval, a request examiner process ( 120 ) to analyze each said collected request with respect to at least one attribute, a system status monitor ( 130 ) to collect resource capability information of each server ( 104 ), an optimization and allocation process ( 140 ) to distribute said collected requests in the request table ( 110 ) across the multiple servers upon completion of said time interval in response to said attributes and said resource capability information.
- Incoming client requests ( 102 ) are analyzed for their respective attributes by the request examiner process ( 120 ). This attribute information is then sent to the request table ( 110 ).
- the system status monitor ( 130 ) collects resource capability information as part of a resource table ( 132 ).
- the request table ( 110 ) and the resource table ( 132 ) are preferably implemented as part of a relational database.
- a process of rational statistical inference ( 150 ) analyzes each client request to assign a pattern classification so that its expected demand on resources can be predicted using the pattern classification in the adaptive request table ( 110 ).
- One of the primary responsibilities of the request examiner ( 120 ) of the VXT ( 100 ) is to examine all incoming requests and to prioritize these requests based on criteria that can be described in general as (1) categorical criteria such as product searching, price, comparison, online shopping, web surfing, audio streaming, and video downloads, and (2) demographic criteria such as the origin of the request and possible user profile. Comparing these attributes with a dynamic, relational database that records past requests and their behavior along with a process of rational statistical inference ( 150 ) permits the VXT ( 100 ) to estimate each client request's ( 102 ) resource requirements in terms of CPU availability, memory availability, and bandwidth or connectivity of the servers ( 104 ).
- categorical criteria such as product searching, price, comparison, online shopping, web surfing, audio streaming, and video downloads
- demographic criteria such as the origin of the request and possible user profile. Comparing these attributes with a dynamic, relational database that records past requests and their behavior along with a process of rational statistical inference ( 150 ) permits the VXT ( 100 )
- the purpose of the database and process of statistical inference ( 150 ) is to facilitate the construction of an adaptive request table ( 110 ) containing several generic request types or pattern classifications that are most likely to be received by the proxy server ( 12 ).
- Each request type is assigned a set of at least five parameters or resource requirement metrics ( 114 ) that reflect different requirement aspects for the respective request.
- the values assigned to these five parameters form a requirements vector ( 116 ) that prescribes the generic request's expected resource requirements in terms of CPU time, memory, bandwidth or connectivity for storage, bandwidth or connectivity to the main proxy server, and bandwidth or connectivity to peer servers (i.e., connectivity between content servers).
- the request examiner ( 120 ) compares the request with the patterns ( 112 ) contained in the adaptive request table ( 110 ), finds the closest match, and creates a requirement vector ( 116 ) including the five corresponding resource parameters.
- a functional and cost effective system should have at least two levels of networked servers.
- the lowest level consists of a collection of symmetric multiple processors (SMP) on the same bus.
- the bus should be a network having an aggregate bandwidth greater than 1 Gbps and very low latency.
- the next level is a collection of SMPs on one or more switches with less than 1 Gbps bandwidth and higher latency.
- the VXT ( 100 ) is designed to intelligently handle the added complexities of such an ASP system.
- the VXT ( 100 ) ranks the available servers according to specific ranking criteria and servers' current running status in CPU availability, memory availability, storage connectivity, main proxy server connectivity, and pear server connectivity and generates a resource table ( 132 ) summarizing the resource capability metric ( 134 ) in a capability vector ( 136 ).
- each processor is capable of handling more than one task at a time, whether it is performing a price comparison or a search for a specific consumer item.
- the CPU availability parameter is defined in absolute terms as the unused portion of each processor's computing power measured in units of millions of instructions per second (MIPS).
- the memory availability parameter is defined in absolute terms as the unused portion of each node's shared memory measured in units of megabytes divided by the number of processors in the node. This is because for SMP systems with several, processors (usually 4 to 8) in each node, the amount of memory available to one particular processor cannot be determined as the memory is shared among all processors in the same node.
- Connectivity is a complex matter. In most systems, each processor has five different communication partners. Latency (determined by hardware) and available bandwidth (determined by current utilization) should be ascertained for each of these partners.
- Figure four identifies five types of inter-processor connectivity with a wide range of latency and bandwidth.
- Type I connectivity is between processors on the same node.
- Type II connectivity is between processors on different nodes, but on the same switch.
- Type III connectivity is between processors on different switches (for which a new parameter should be introduced to represent the number of hops to reach the partner processor).
- Type IV connectivity is between the processor and the proxy server.
- Type V connectivity is between the processor and the main storage system.
- VXT ( 100 ) combines Types II and III connectivity into an aggregate connectivity.
- Three parameters are defined to represent available main proxy connectivity, central storage connectivity, and peer server connectivity. These parameters are bandwidths measured in units of Mbps recorded by the system status monitor.
- the metrics associated with each request forms a requirement vector ( 116 ) whose elements represent the requirement level of each of the parameters used in the decision process.
- the metrics associated with the ability of a particular server ( 104 ) to satisfy the request ( 102 ) is referred to as a capability vector ( 136 ).
- Each element of this vector ( 136 ) has a counterpart in the requirement vector ( 116 ).
- each request ( 102 ) has its own requirement vector ( 116 ), and each server or processing node ( 104 ) has its own capability vector ( 136 ).
- the vector space distance between the requirement vector ( 116 ) and capability vectors ( 136 ) for any given pairing of request ( 102 ) and server ( 104 ) represents the degree of mismatch (cost) incurred by the corresponding assignment of the request to that server. If the vectors are identical, the cost is zero.
- the assignment of multiple simultaneous requests ( 102 ) can be done in several ways. As described above, the preferred approach creates a requirement vector ( 116 ) for each request ( 102 ) and capability vector ( 136 ) for each resource ( 104 ). The distance vector between each pair of request to resource then becomes an element in a cost matrix whereby the row index is a request identifier and the column index is the resource identifier. The cost matrix is usually sparse since some assignments may be ruled out for simple reasons. A decision-making algorithm then selects a resource for each request so that the sum of all the costs in the matrix is minimized for all combinations of requests and resources. There are several minimization techniques available, such as general neural network techniques, simulated annealing methods and generic assignment algorithm approaches
- the preferred algorithm provides a fast quasi-optimal solution to the distribution problem based on standard methods.
- a standard method is a neural network paradigm as described in U.S. Pat. No. 5,548,683, the disclosure of which is hereby incorporated by reference.
- Other examples of generic algorithm approach would be a greedy search solution algorithm.
- a greedy algorithm can be applied when the optimization problem is to decide whether or not to include some element from a given set.
- a greedy algorithm begins with no elements and sequentially selects an element from the feasible set of remaining elements by myopic optimization. (The elements could have been sorted by some criterion, such as associated weights.) This results in an optimal solution to the problem if, and only if, there is an underlying matroid structure (for example, a spanning tree).
- Other types of generic assignment algorithms would include auction algorithms or Munres algorithms.
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 11/202,644, filed Aug. 12, 2005, which is a continuation of U.S. patent application Ser. No. 09/765,766, filed Jan. 18, 2001, which claims the benefit of U.S. Provisional Application No. 60/176,665, filed Jan. 18, 2000, both of which are incorporated herewith by reference. This application is also related to two co-pending applications that are assigned to the common assignee of the present application, the first of which is entitled “Scalable Internet Engine,” Ser. No. 09/709,820, filed Nov. 10, 2000 and the second of which is entitled “Method and System For Providing Dynamic Host Service Management Across Disparate Accounts/Sites,” Ser. No. 09/710,095, filed Nov. 10, 2000.
- This invention relates to computers and digital processing systems requiring coordination of multiple digital processing units. In particular, this invention relates to load balancing or distribution of client requests across multiple servers in a networked computing environment.
- The Internet has become an increasingly useful tool and means of communication to many people. As the popularity of the Internet has increased, traffic to many Internet service provider (ISP) and application service provider (ASP) sites has become so congested at times that many companies have to impose a limit on the number of users using their sites during peak hours. As a result, a significant loss of business for e-business merchants, user dissatisfaction, and a permanent loss of many potential customers occur. According to at least one source, during the 1999 holiday shopping season, 25 percent of all potential online buyers never completed their online purchases because the e-tail sites of interest had either crashed or were simply too slow. The principle cause of these problems in the case of larger sites was and is an inappropriate distribution of the requests of customers or users (clients) among the sites' resources (servers), namely the multiple content and application servers that are responsible for responding to these requests.
- Allocating content and application server resources to respond to a large number of client requests can become rather complex in certain circumstances involving multiple servers at a given site. If it is assumed that there is always at least one server available for each new task that arises, resource assignments may be made in an arbitrary manner, making the resource allocation procedure trivial. To satisfy the assumption underlying this approach to resource allocation, it is generally desirable to create a system design that has abundant resources and strives to conserve them to maintain availability and efficient throughput. In this approach, each client request received at a site is handled as an independent event. U.S. Pat. Nos. 6,173,322, 6,070,191, 5,999,965, and 5,504,894 all describe resource demand distribution schemes that allocate client request among various resources where the client requests are each treated as independent events.
- U.S. Pat. No. 6,173,322 is a good example of this approach and describes a system comprised of three host servers each having different request handling capabilities. For illustrative purposes, suppose that hosts H1, H2, and H3 have capabilities C1, C2, and C3 respectively with C3 being the most capable. Further suppose that there are three requests pending, R1, R2, and R3, needing capabilities C1, C2, and C3 respectively. If each request is considered independently and in the order the requests arrive, R1 might be assigned to H3 since this host will serve the request with the least delay. Next, R2 might be assigned to H2 for the same reason. R3 would then suffer if it were assigned to the only remaining host, H1, since H1 is under-powered to handle the request. Alternatively, R3 could wait for H3 to become available. The effect of these kinds of inefficiencies is cumulative; if the same three requests (or their respective equivalents) come in repeatedly and are serviced independently, there will be an ever-diminishing availability of resources until the system saturates and stops responding to new requests. Moreover, Internet demand is not well behaved. Service requests often come in bursts or may back up to form a large backlog for a variety of reasons. As a consequence, it is desirable for the resource allocation procedure to respond in a more sophisticated manner.
- Another problem of the request distribution processes described in U.S. Pat. Nos. 6,070,191, 5,999, 965, and 5,504,894 is that these processes consider only parameters related to available resources and do not consider the attributes of the incoming client requests. U.S. Pat. No. 6,173,322 parses certain data contained in incoming clients requests, but only for the purpose of applying a static rule to distribute the requests to one of several server groups. Once this has been done, dynamic resource capability rules are applied to assign the request to a server within the group. These rules may operate in consideration of the static rules previously applied, but only after the static rules are first applied.
- While existing schemes for distributing client requests among multiple servers have begun to address some of the problems that arise, it would be desirable to provide a system for distributing client requests across multiple servers that was more efficient and robust. Specifically, it would be advantageous to provide a system for distributing client requests across multiple servers that analyzed the attributes of client requests for expected demand patterns with which resource requirements may be associated, allowing for a comparison of the resource needs of incoming client requests with the resources available, and thus improving the capability of the resource allocation scheme to be more adaptive and dynamic from all operating aspects.
- The present invention is a system for distributing incoming client requests across multiple servers in a networked client-server computer environment. The system collects information on both the attributes of the requests and the resource capability of the servers to dynamically allocate the requests in a set to the appropriate servers upon the completion of the time interval. Preferably, the system includes a request table to collect at least two requests incoming within a predetermined time interval. A request examiner routine analyzes each collected request with respect to at least one attribute. A system status monitor collects resource capability information of each server in a resource table at least once during said time interval. An optimization and allocation process distribute collected requests in the request table across the multiple servers upon completion of said time interval based on an optimization of potential pairings of the requests in the request table with the servers in the server table. The optimization and allocation process preferably analyzes metrics maintained in the request table and resource table as part of a relational database to allocate requests to servers based on a minimization of the metric distance between pairings of requests and servers. Preferably, the request table is part of a dynamic, relational database and a process of statistical inference for ascertaining expected demand patterns involving the attributes adds predictive information about client requests as part of the request examiner routine.
- The present invention responds to the demanding circumstances described above by shifting from processing each request as an independent event to processing as a set of requests incoming within a predetermined time interval. The requests are processed as a set by collecting the requests incoming within the predetermined time interval, analyzing each of these requests with respect to at least one attribute, collecting at least once during the time interval information about each server's ability and availability, i.e., resource capability information, to handle requests, and distributing the set of requests across the multiple servers upon the completion of the time interval in response to the above actions, and then repeating these steps for each consecutive time interval. This invention has been denominated virtual extended technology (VXT) because it can intelligently run in the background within the confines of current day bandwidth and processing technology.
- Resource allocation, the key to optimum throughput, is the real-time intelligent management of system resources. This invention utilizes several interactive decision processes that can consider all operating aspects of a system's resources, both static and dynamic, while balancing the continuously changing competition for these resources. One of the objectives of this invention is to provide a new algorithm for allocating Internet client requests in an intelligent manner to multiple servers to maximize the efficiency and fault tolerance of the resources. Costs of requests within a reasonable time interval are considered simultaneously to produce a solution that is globally effective (i.e., most effective for a site as a whole) at the possible expense of some individual (localized) requests. The objective is further achieved through analysis of attributes of requests as these attributes correlate to request demands on resources and of the just-in-time running status of those resources.
- To return to the above example, a more effective solution would look at all three requests simultaneously, and assign R1 to H1, R2 to H2, and R3 to H3. The performance associated with request R1 will receive the nominal service (slightly less than that offered by the above solution) it needs, while R3 will also receive the appropriate level of service in a prompt manner, and the overall performance of the site will therefore be better. This latter solution is considered globally optimal because the number of requests managed per second is maximized and the collective resources are available for the next set of requests sooner.
- Requests to a site can vary widely from web surfing, product search, price comparison, and checkout to multimedia access. However, the demand on resources by each kind of request is predictable. The distribution decision-making process of this invention accounts for attributes and behavior of incoming requests and the corresponding compatibility of system hardware and software. Incoming client requests are analyzed to determine their attributes and behavior so that a given request's expected demand on resources can be predicted and resource requirements can be assigned to the request.
- One of the components of the invention will perform the extraction of the attributes from incoming requests. An analysis of the effectiveness of the characteristics above as well as the identification of other parameters that may be beneficial can be performed during the requirements analysis task. Extraction of the dynamic attributes will be performed in real-time by VXT's integral system request examiner or status monitor.
- The invention learns how to characterize site-specific traffic in several ways. First, it expands or contracts the number of expected demand patterns based on the success of the request classification. In other words, if a live request does not sufficiently match an already existing pattern, a new pattern is created. Also, if the resource requirement parameters for the matching entry are not correct as measured by system experience, either the parameters themselves are adjusted, or a new pattern is created. Conversely, the number of patterns is constrained to minimize the computation required to classify live requests. The pattern set may be reorganized to eliminate unused, redundant, or ineffective entries. This self-organizing and reorganizing paradigm refines parameters by experience and remains vigilant to non-stationary statistical trends.
- Similarly, the compatibility of the system hardware and software is also provided to the decision-making process. Some of these characteristics are static and known in advance, while others are dynamic and a function of the tasks currently executing. Preferably, a collection of resource capability information for each server includes metrics for CPU and memory availability and connectivity to a proxy server, to a main storage system, and to other content servers. This collection process can be push or pull from the server at certain times and any of several techniques can be implemented for minimal interruption of the main execution on the servers. For example, information can be pulled periodically by the main proxy server, or the main server can be pushed to accept such information from servers when any certain parameter exceeds a pre-determined threshold. This performance feedback allows for an informed decision on which request to send to which server.
- Once this information is captured for a given interval of time, it must be reduced to a metric representation that can be manipulated to compute the best assignments of client requests to resources. The metrics associated with each request form a requirement data set whose elements represent the requirement level of each of the parameters used in the decision process. The metrics associated with the ability of a particular server to satisfy the request forms a capability data set with each element of this data set having a counterpart in the requirement data set. During operations, each request has its own requirement data set and each server or processing node has its own capability data set. The difference or metric distance between a requirement data set and a capability data set, calculated for any given pairing of client request and server, represents the mismatch (or cost) incurred by the corresponding assignment of the request to the server. If the data sets are identical, the cost is zero.
- The assignment of multiple simultaneous requests can be done by one of several routines. The purpose of each routine, however, should be to select a server or processing resource for each client request so that the sum of all the costs, for the combination of resource and request pairings, is minimized. The solution can be found by using one of several algorithms.
- Some algorithms find a perfect solution but require considerable processing, while others will find a nearly optimal solution quickly. Often, the nearly optimal solution is good enough to satisfy the presently existing circumstances.
-
FIG. 1 is a diagrammatic view of the present invention implemented across servers in a networked computing environment. -
FIG. 2 is a diagrammatic view of the main interacting elements with a system with multiple servers for responding to client request, including a proxy server, content servers, switches, and storage system. -
FIG. 3 illustrates five types of inter-processor connectivity for a system with multiple servers. -
FIG. 2 shows a typical configuration of a system (10) having multiple resources that may be allocated to respond to client requests received from the Internet. A proxy server(s) (12) receives the client request from the Internet and using the VXT (100), as will be described shortly, distributes those requests via network switches (14) to one of the multiple content/application servers (16) which preferably have access to a common DASD storage unit (18) on which information pertinent to the client requests may be stored. As will be discussed in connection withFIG. 3 , it will be understood that the present invention is applicable to numerous configurations of server resources in a system (10). In one embodiment as described in the previously identified applications entitled “Scalable Internet Engine” and “Method and System For Providing Dynamic Host Service Management Across Disparate Accounts/Sites”, servers are dynamically allocated among multiple sites or accounts. In this embodiment, the present invention is applicable not only for allocating server resources among requests in a single account, but may also be extended to provide additional information for how to allocate servers among different accounts over time. - In the preferred embodiment of the VXT (100) as shown in
FIG. 1 , the invention comprises a request table (110) to collect at least two requests (102) incoming within a predetermined time interval, a request examiner process (120) to analyze each said collected request with respect to at least one attribute, a system status monitor (130) to collect resource capability information of each server (104), an optimization and allocation process (140) to distribute said collected requests in the request table (110) across the multiple servers upon completion of said time interval in response to said attributes and said resource capability information. Incoming client requests (102) are analyzed for their respective attributes by the request examiner process (120). This attribute information is then sent to the request table (110). Preferably, the system status monitor (130) collects resource capability information as part of a resource table (132). - In a preferred embodiment, the request table (110) and the resource table (132) are preferably implemented as part of a relational database. A process of rational statistical inference (150) analyzes each client request to assign a pattern classification so that its expected demand on resources can be predicted using the pattern classification in the adaptive request table (110).
- One of the primary responsibilities of the request examiner (120) of the VXT (100) is to examine all incoming requests and to prioritize these requests based on criteria that can be described in general as (1) categorical criteria such as product searching, price, comparison, online shopping, web surfing, audio streaming, and video downloads, and (2) demographic criteria such as the origin of the request and possible user profile. Comparing these attributes with a dynamic, relational database that records past requests and their behavior along with a process of rational statistical inference (150) permits the VXT (100) to estimate each client request's (102) resource requirements in terms of CPU availability, memory availability, and bandwidth or connectivity of the servers (104).
- The purpose of the database and process of statistical inference (150) is to facilitate the construction of an adaptive request table (110) containing several generic request types or pattern classifications that are most likely to be received by the proxy server (12). Each request type is assigned a set of at least five parameters or resource requirement metrics (114) that reflect different requirement aspects for the respective request. The values assigned to these five parameters form a requirements vector (116) that prescribes the generic request's expected resource requirements in terms of CPU time, memory, bandwidth or connectivity for storage, bandwidth or connectivity to the main proxy server, and bandwidth or connectivity to peer servers (i.e., connectivity between content servers). When a request from the Internet comes in, the request examiner (120) compares the request with the patterns (112) contained in the adaptive request table (110), finds the closest match, and creates a requirement vector (116) including the five corresponding resource parameters.
- With reference to
FIG. 3 , a functional and cost effective system (10) should have at least two levels of networked servers. The lowest level consists of a collection of symmetric multiple processors (SMP) on the same bus. The bus should be a network having an aggregate bandwidth greater than 1 Gbps and very low latency. The next level is a collection of SMPs on one or more switches with less than 1 Gbps bandwidth and higher latency. The VXT (100) is designed to intelligently handle the added complexities of such an ASP system. - The VXT (100) ranks the available servers according to specific ranking criteria and servers' current running status in CPU availability, memory availability, storage connectivity, main proxy server connectivity, and pear server connectivity and generates a resource table (132) summarizing the resource capability metric (134) in a capability vector (136).
- In a dynamic environment, each processor is capable of handling more than one task at a time, whether it is performing a price comparison or a search for a specific consumer item. The CPU availability parameter is defined in absolute terms as the unused portion of each processor's computing power measured in units of millions of instructions per second (MIPS).
- The memory availability parameter is defined in absolute terms as the unused portion of each node's shared memory measured in units of megabytes divided by the number of processors in the node. This is because for SMP systems with several, processors (usually 4 to 8) in each node, the amount of memory available to one particular processor cannot be determined as the memory is shared among all processors in the same node.
- Connectivity is a complex matter. In most systems, each processor has five different communication partners. Latency (determined by hardware) and available bandwidth (determined by current utilization) should be ascertained for each of these partners. Figure four identifies five types of inter-processor connectivity with a wide range of latency and bandwidth. Type I connectivity is between processors on the same node. Type II connectivity is between processors on different nodes, but on the same switch. Type III connectivity is between processors on different switches (for which a new parameter should be introduced to represent the number of hops to reach the partner processor). Type IV connectivity is between the processor and the proxy server. Type V connectivity is between the processor and the main storage system. Presently most ASP systems are not sophisticated enough to take advantage of the inter-processor connectivity information, i.e., Types II and III connectivity, so VXT (100) combines Types II and III connectivity into an aggregate connectivity. Three parameters are defined to represent available main proxy connectivity, central storage connectivity, and peer server connectivity. These parameters are bandwidths measured in units of Mbps recorded by the system status monitor.
- Once all this information for incoming Internet requests and system resources is captured for a given time interval, it must be reduced to form a metric representation that can be manipulated to compute the best assignments of requests to resources. The metrics associated with each request forms a requirement vector (116) whose elements represent the requirement level of each of the parameters used in the decision process. The metrics associated with the ability of a particular server (104) to satisfy the request (102) is referred to as a capability vector (136). Each element of this vector (136) has a counterpart in the requirement vector (116). During operations, each request (102) has its own requirement vector (116), and each server or processing node (104) has its own capability vector (136). The vector space distance between the requirement vector (116) and capability vectors (136) for any given pairing of request (102) and server (104) represents the degree of mismatch (cost) incurred by the corresponding assignment of the request to that server. If the vectors are identical, the cost is zero.
- The assignment of multiple simultaneous requests (102) can be done in several ways. As described above, the preferred approach creates a requirement vector (116) for each request (102) and capability vector (136) for each resource (104). The distance vector between each pair of request to resource then becomes an element in a cost matrix whereby the row index is a request identifier and the column index is the resource identifier. The cost matrix is usually sparse since some assignments may be ruled out for simple reasons. A decision-making algorithm then selects a resource for each request so that the sum of all the costs in the matrix is minimized for all combinations of requests and resources. There are several minimization techniques available, such as general neural network techniques, simulated annealing methods and generic assignment algorithm approaches
- The preferred algorithm provides a fast quasi-optimal solution to the distribution problem based on standard methods. One example of such a standard method is a neural network paradigm as described in U.S. Pat. No. 5,548,683, the disclosure of which is hereby incorporated by reference. Other examples of generic algorithm approach would be a greedy search solution algorithm. A greedy algorithm can be applied when the optimization problem is to decide whether or not to include some element from a given set. A greedy algorithm begins with no elements and sequentially selects an element from the feasible set of remaining elements by myopic optimization. (The elements could have been sorted by some criterion, such as associated weights.) This results in an optimal solution to the problem if, and only if, there is an underlying matroid structure (for example, a spanning tree). Other types of generic assignment algorithms would include auction algorithms or Munres algorithms.
- Although the preferred embodiment has been described herein, numerous changes and variations can be made and the scope of the present invention is intended to be defined by the claims.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/662,858 US20130268653A1 (en) | 2000-01-18 | 2012-10-29 | System for Distributing Requests Across Multiple Servers Using Dynamic Metrics |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17666500P | 2000-01-18 | 2000-01-18 | |
US09/765,766 US6938256B2 (en) | 2000-01-18 | 2001-01-18 | System for balance distribution of requests across multiple servers using dynamic metrics |
US11/202,644 US8302100B2 (en) | 2000-01-18 | 2005-08-12 | System for balance distribution of requests across multiple servers using dynamic metrics |
US13/662,858 US20130268653A1 (en) | 2000-01-18 | 2012-10-29 | System for Distributing Requests Across Multiple Servers Using Dynamic Metrics |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/202,644 Continuation US8302100B2 (en) | 2000-01-18 | 2005-08-12 | System for balance distribution of requests across multiple servers using dynamic metrics |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130268653A1 true US20130268653A1 (en) | 2013-10-10 |
Family
ID=26872459
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/765,766 Expired - Lifetime US6938256B2 (en) | 2000-01-18 | 2001-01-18 | System for balance distribution of requests across multiple servers using dynamic metrics |
US11/202,644 Expired - Fee Related US8302100B2 (en) | 2000-01-18 | 2005-08-12 | System for balance distribution of requests across multiple servers using dynamic metrics |
US13/662,858 Abandoned US20130268653A1 (en) | 2000-01-18 | 2012-10-29 | System for Distributing Requests Across Multiple Servers Using Dynamic Metrics |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/765,766 Expired - Lifetime US6938256B2 (en) | 2000-01-18 | 2001-01-18 | System for balance distribution of requests across multiple servers using dynamic metrics |
US11/202,644 Expired - Fee Related US8302100B2 (en) | 2000-01-18 | 2005-08-12 | System for balance distribution of requests across multiple servers using dynamic metrics |
Country Status (1)
Country | Link |
---|---|
US (3) | US6938256B2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326066A1 (en) * | 2012-06-04 | 2013-12-05 | Internation Business Machine | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
US9602573B1 (en) | 2007-09-24 | 2017-03-21 | National Science Foundation | Automatic clustering for self-organizing grids |
US10432711B1 (en) * | 2014-09-15 | 2019-10-01 | Amazon Technologies, Inc. | Adaptive endpoint selection |
CN110691041A (en) * | 2019-09-29 | 2020-01-14 | 西北大学 | Multi-edge cooperative resource deployment method |
US11467883B2 (en) | 2004-03-13 | 2022-10-11 | Iii Holdings 12, Llc | Co-allocating a reservation spanning different compute resources types |
US11496415B2 (en) | 2005-04-07 | 2022-11-08 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11494235B2 (en) | 2004-11-08 | 2022-11-08 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11526304B2 (en) | 2009-10-30 | 2022-12-13 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11630704B2 (en) | 2004-08-20 | 2023-04-18 | Iii Holdings 12, Llc | System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information |
US11650857B2 (en) | 2006-03-16 | 2023-05-16 | Iii Holdings 12, Llc | System and method for managing a hybrid computer environment |
US11652706B2 (en) | 2004-06-18 | 2023-05-16 | Iii Holdings 12, Llc | System and method for providing dynamic provisioning within a compute environment |
US11658916B2 (en) | 2005-03-16 | 2023-05-23 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11960937B2 (en) | 2004-03-13 | 2024-04-16 | Iii Holdings 12, Llc | System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter |
Families Citing this family (185)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7661107B1 (en) * | 2000-01-18 | 2010-02-09 | Advanced Micro Devices, Inc. | Method and apparatus for dynamic allocation of processing resources |
US8234203B1 (en) | 2000-05-12 | 2012-07-31 | Adventive, Inc. | E-commerce system including online automatable inventory monitor and control system |
US8538843B2 (en) * | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US7844513B2 (en) * | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7454500B1 (en) | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
US7657629B1 (en) | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
US9130954B2 (en) * | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US7814198B2 (en) | 2007-10-26 | 2010-10-12 | Microsoft Corporation | Model-driven, repository-based application monitoring system |
US6877035B2 (en) * | 2001-01-29 | 2005-04-05 | International Business Machines Corporation | System for optimal resource allocation and planning for hosting computing services |
US6954931B2 (en) * | 2001-07-13 | 2005-10-11 | Honeywell International, Inc. | Resource allocation |
US7076244B2 (en) * | 2001-07-23 | 2006-07-11 | Research In Motion Limited | System and method for pushing information to a mobile device |
US20030028583A1 (en) * | 2001-07-31 | 2003-02-06 | International Business Machines Corporation | Method and apparatus for providing dynamic workload transition during workload simulation on e-business application server |
JP3959516B2 (en) | 2001-08-06 | 2007-08-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Network system, CPU resource provider, client device, processing service providing method, and program |
US7035930B2 (en) * | 2001-10-26 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers |
US7039705B2 (en) * | 2001-10-26 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Representing capacities and demands in a layered computing environment using normalized values |
US7054934B2 (en) * | 2001-10-26 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Tailorable optimization using model descriptions of services and servers in a computing environment |
US7165101B2 (en) * | 2001-12-03 | 2007-01-16 | Sun Microsystems, Inc. | Transparent optimization of network traffic in distributed systems |
US20030115363A1 (en) * | 2001-12-06 | 2003-06-19 | Yared Peter A. | Method and apparatus for packaging a trimmed object graph |
US20030115105A1 (en) * | 2001-12-14 | 2003-06-19 | Ncr Corporation | Personal data mining on the web |
US20040194087A1 (en) * | 2002-04-11 | 2004-09-30 | International Business Machines Corporation | Batch processing of requests in a data processing network |
US7072960B2 (en) * | 2002-06-10 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Generating automated mappings of service demands to server capacities in a distributed computer system |
US7676576B1 (en) | 2002-08-01 | 2010-03-09 | Foundry Networks, Inc. | Method and system to clear counters used for statistical tracking for global server load balancing |
US7086061B1 (en) | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
US7574508B1 (en) | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
US7571206B2 (en) * | 2002-08-12 | 2009-08-04 | Equallogic, Inc. | Transparent request routing for a partitioned application service |
WO2004023275A2 (en) * | 2002-09-05 | 2004-03-18 | Matsushita Electric Industrial Co., Ltd. | Group management system, group management device, and member device |
US7627650B2 (en) * | 2003-01-20 | 2009-12-01 | Equallogic, Inc. | Short-cut response for distributed services |
US7461146B2 (en) * | 2003-01-20 | 2008-12-02 | Equallogic, Inc. | Adaptive storage block data distribution |
US8499086B2 (en) * | 2003-01-21 | 2013-07-30 | Dell Products L.P. | Client load distribution |
US7127577B2 (en) * | 2003-01-21 | 2006-10-24 | Equallogic Inc. | Distributed snapshot process |
US8037264B2 (en) * | 2003-01-21 | 2011-10-11 | Dell Products, L.P. | Distributed snapshot process |
US7937551B2 (en) * | 2003-01-21 | 2011-05-03 | Dell Products L.P. | Storage systems having differentiated storage pools |
JP2004287801A (en) * | 2003-03-20 | 2004-10-14 | Sony Computer Entertainment Inc | Information processing system, information processor, distributed information processing method and computer program |
JP4597488B2 (en) * | 2003-03-31 | 2010-12-15 | 株式会社日立製作所 | Program placement method, execution system thereof, and processing program thereof |
US20040236857A1 (en) * | 2003-05-19 | 2004-11-25 | Sumit Roy | Systems and methods for selecting a provider to service content requested by a client device |
US7660877B2 (en) * | 2003-05-19 | 2010-02-09 | Hewlett-Packard Development Company, L.P. | Systems and methods in which a provider is selected to service content requested by a client device |
US6973654B1 (en) | 2003-05-27 | 2005-12-06 | Microsoft Corporation | Systems and methods for the repartitioning of data |
JP2005031771A (en) * | 2003-07-08 | 2005-02-03 | Hitachi Ltd | Job scheduling management method, system, and program |
US9584360B2 (en) | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
JP2005149283A (en) * | 2003-11-18 | 2005-06-09 | Hitachi Ltd | Information processing system, control method therefor, and program |
US7676561B1 (en) * | 2003-12-02 | 2010-03-09 | Sun Microsystems, Inc. | Method and apparatus for adaptive load balancing |
CN100555226C (en) * | 2003-12-18 | 2009-10-28 | 俱爰特株式会社 | The server/customer end system, load diverting device, load distributing method |
US8046763B1 (en) * | 2004-02-20 | 2011-10-25 | Oracle America, Inc. | Regulation of resource requests to control rate of resource consumption |
US7975270B2 (en) * | 2004-03-10 | 2011-07-05 | International Business Machines Corporation | Facilitating allocation of resources in a heterogeneous computing environment |
US7971204B2 (en) | 2004-03-13 | 2011-06-28 | Adaptive Computing Enterprises, Inc. | System and method of co-allocating a reservation spanning different compute resources types |
US7620706B2 (en) | 2004-03-13 | 2009-11-17 | Adaptive Computing Enterprises Inc. | System and method for providing advanced reservations in a compute environment |
US7890629B2 (en) * | 2004-03-13 | 2011-02-15 | Adaptive Computing Enterprises, Inc. | System and method of providing reservation masks within a compute environment |
US7681195B2 (en) * | 2004-04-02 | 2010-03-16 | International Business Machines Corporation | System, method, and service for efficient allocation of computing resources among users |
US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
US7735085B2 (en) * | 2004-05-26 | 2010-06-08 | Qualcomm Incorporated | System for application priority based on device operating mode |
JP4855655B2 (en) * | 2004-06-15 | 2012-01-18 | 株式会社ソニー・コンピュータエンタテインメント | Processing management apparatus, computer system, distributed processing method, and computer program |
JP2006004008A (en) * | 2004-06-15 | 2006-01-05 | Sony Computer Entertainment Inc | Processing control unit, computer system, distributed processing method, and computer program |
EP1612674A3 (en) * | 2004-06-29 | 2006-01-25 | Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO | Method and system for admission control |
JP4839585B2 (en) * | 2004-07-29 | 2011-12-21 | 日本電気株式会社 | Resource information collection and distribution method and system |
US7890992B2 (en) * | 2004-08-19 | 2011-02-15 | Cisco Technology, Inc. | Method and apparatus for selection of authentication servers based on the authentication mechanisms in supplicant attempts to access network resources |
US7423977B1 (en) * | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US7356770B1 (en) * | 2004-11-08 | 2008-04-08 | Cluster Resources, Inc. | System and method of graphically managing and monitoring a compute environment |
US7996455B2 (en) | 2005-06-17 | 2011-08-09 | Adaptive Computing Enterprises, Inc. | System and method for providing dynamic roll-back reservations in time |
EP1862904A4 (en) * | 2005-03-22 | 2009-06-03 | Fujitsu Ltd | Distributed processing management device, distributed processing management method, and distributed processing management program |
JP4161998B2 (en) * | 2005-03-28 | 2008-10-08 | 日本電気株式会社 | LOAD DISTRIBUTION DISTRIBUTION SYSTEM, EVENT PROCESSING DISTRIBUTION CONTROL DEVICE, AND EVENT PROCESSING DISTRIBUTION CONTROL PROGRAM |
US20060277549A1 (en) * | 2005-06-07 | 2006-12-07 | Ta-Hsin Li | Method and apparatus for capacity optimization and planning in an on-demand computing environment |
DE502005009870D1 (en) | 2005-08-23 | 2010-08-19 | Siemens Ag | Providing services in a network |
US8996702B2 (en) * | 2005-09-19 | 2015-03-31 | International Business Machines Corporation | Method, system, and computer program product for routing sessions to a specific URL in a multi-site environment |
US7558859B2 (en) * | 2005-10-17 | 2009-07-07 | Microsoft Corporation | Peer-to-peer auction based data distribution |
US7624168B2 (en) * | 2006-02-02 | 2009-11-24 | Hostway Corporation | Multi-layer system for scalable hosting platform |
US8260924B2 (en) | 2006-05-03 | 2012-09-04 | Bluetie, Inc. | User load balancing systems and methods thereof |
US20070282846A1 (en) * | 2006-05-30 | 2007-12-06 | Nortel Networks Limited | System and Method for Securely Partitioning a Media Library |
US8056082B2 (en) * | 2006-05-31 | 2011-11-08 | Bluetie, Inc. | Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof |
US20080052397A1 (en) * | 2006-08-24 | 2008-02-28 | Ramanathan Venkataraman | Future locking of resources |
US9767460B2 (en) | 2006-09-18 | 2017-09-19 | Adventive, Inc. | Methods for integrating revenue generating features within a software application and systems thereof |
US20080091726A1 (en) * | 2006-10-16 | 2008-04-17 | Bluetie, Inc. | Methods for scheduling and completing reservations within an application and systems thereof |
TW200819409A (en) * | 2006-10-19 | 2008-05-01 | Univ Taipei Medical | Z-stilbenes derivatives and the pharmaceutical composition thereof |
US10430845B2 (en) * | 2006-10-23 | 2019-10-01 | Adventive, Inc. | Systems and methods for automated purchase requests |
US20080098000A1 (en) * | 2006-10-23 | 2008-04-24 | Blue Tie, Inc. | System and method for storing user data in a centralized database and intelligently reducing data entry |
US20080097815A1 (en) * | 2006-10-23 | 2008-04-24 | Bluetie, Inc. | Methods for employing temporary time zones and predictive locations and systems thereof |
US20080120570A1 (en) * | 2006-11-22 | 2008-05-22 | Bluetie, Inc. | Methods for managing windows within an internet environment and systems thereof |
US7925626B2 (en) * | 2006-12-20 | 2011-04-12 | International Business Machines Corporation | Immediate copy target pull of volume data |
US8019723B2 (en) * | 2006-12-20 | 2011-09-13 | International Business Machines Corporation | Deferred copy target pull of volume data |
US8024396B2 (en) | 2007-04-26 | 2011-09-20 | Microsoft Corporation | Distributed behavior controlled execution of modeled applications |
CN101299747A (en) * | 2007-04-30 | 2008-11-05 | 华为技术有限公司 | Medium control method, system, apparatus and medium service combination equipment |
US8239505B2 (en) | 2007-06-29 | 2012-08-07 | Microsoft Corporation | Progressively implementing declarative models in distributed systems |
US7970892B2 (en) | 2007-06-29 | 2011-06-28 | Microsoft Corporation | Tuning and optimizing distributed systems with declarative models |
US8615008B2 (en) | 2007-07-11 | 2013-12-24 | Foundry Networks Llc | Duplicating network traffic through transparent VLAN flooding |
US8230386B2 (en) | 2007-08-23 | 2012-07-24 | Microsoft Corporation | Monitoring distributed applications |
US8248928B1 (en) | 2007-10-09 | 2012-08-21 | Foundry Networks, Llc | Monitoring server load balancing |
US8225308B2 (en) * | 2007-10-26 | 2012-07-17 | Microsoft Corporation | Managing software lifecycle |
US8099720B2 (en) | 2007-10-26 | 2012-01-17 | Microsoft Corporation | Translating declarative models |
US8181151B2 (en) | 2007-10-26 | 2012-05-15 | Microsoft Corporation | Modeling and managing heterogeneous applications |
US7974939B2 (en) | 2007-10-26 | 2011-07-05 | Microsoft Corporation | Processing model-based commands for distributed applications |
US7926070B2 (en) | 2007-10-26 | 2011-04-12 | Microsoft Corporation | Performing requested commands for model-based applications |
US20090113292A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Flexibly editing heterogeneous documents |
US8291424B2 (en) * | 2007-11-27 | 2012-10-16 | International Business Machines Corporation | Method and system of managing resources for on-demand computing |
US10070164B2 (en) * | 2008-01-10 | 2018-09-04 | At&T Intellectual Property I, L.P. | Predictive allocation of multimedia server resources |
US9489177B2 (en) * | 2008-02-25 | 2016-11-08 | Adventive, Inc. | Methods for integrating and managing one or more features in an application and systems thereof |
US9367257B2 (en) * | 2008-09-11 | 2016-06-14 | Microsoft Technology Licensing, Llc | Techniques for resource location and migration across data centers |
EP2356567A2 (en) * | 2008-12-08 | 2011-08-17 | Kpit Cummins Infosystems Ltd. | Method for reorganizing tasks for optimization of resources |
US8276139B2 (en) * | 2009-09-30 | 2012-09-25 | International Business Machines Corporation | Provisioning virtual machine placement |
US20110167034A1 (en) * | 2010-01-05 | 2011-07-07 | Hewlett-Packard Development Company, L.P. | System and method for metric based allocation of costs |
US8910176B2 (en) * | 2010-01-15 | 2014-12-09 | International Business Machines Corporation | System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance |
US8260763B2 (en) * | 2010-01-15 | 2012-09-04 | Hewlett-Packard Devlopment Company, L.P. | Matching service entities with candidate resources |
CN102137133B (en) * | 2010-01-22 | 2015-01-21 | 华为技术有限公司 | Method and system for distributing contents and scheduling server |
US8260958B2 (en) * | 2010-02-24 | 2012-09-04 | F5 Networks, Inc. | Reducing energy consumption of servers |
US9058210B2 (en) * | 2010-03-23 | 2015-06-16 | Ebay Inc. | Weighted request rate limiting for resources |
US20110307898A1 (en) * | 2010-06-10 | 2011-12-15 | Siemens Aktiengesellschaft | Method and apparatus for efficiently distributing hardware resource requests to hardware resource offers |
US10205319B2 (en) * | 2010-06-11 | 2019-02-12 | Eaton Intelligent Power Limited | Automatic matching of sources to loads |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US8984109B2 (en) | 2010-11-02 | 2015-03-17 | International Business Machines Corporation | Ensemble having one or more computing systems and a controller thereof |
US8959220B2 (en) | 2010-11-02 | 2015-02-17 | International Business Machines Corporation | Managing a workload of a plurality of virtual servers of a computing environment |
US8966020B2 (en) | 2010-11-02 | 2015-02-24 | International Business Machines Corporation | Integration of heterogeneous computing systems into a hybrid computing system |
US9253016B2 (en) | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing environment |
US9081613B2 (en) * | 2010-11-02 | 2015-07-14 | International Business Machines Corporation | Unified resource manager providing a single point of control |
US8645545B2 (en) * | 2010-11-24 | 2014-02-04 | International Business Machines Corporation | Balancing the loads of servers in a server farm based on an angle between two vectors |
WO2012078316A1 (en) * | 2010-12-09 | 2012-06-14 | Northwestern University | Endpoint web monitoring system and method for measuring popularity of a service or application on a web server |
US9047103B2 (en) * | 2010-12-21 | 2015-06-02 | Microsoft Technology Licensing, Llc | Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions |
US8495570B2 (en) | 2010-12-23 | 2013-07-23 | Microsoft Corporation | Resource deployment based on conditions |
US9495371B2 (en) | 2010-12-28 | 2016-11-15 | Microsoft Technology Licensing, Llc | Unified access to resources |
EP2523434A1 (en) | 2011-05-11 | 2012-11-14 | 10n2 Technologies, Inc. | A method for limiting the use of a mobile communications device dependent on the travelling speed |
US9294565B2 (en) | 2011-07-12 | 2016-03-22 | Microsoft Technology Licensing, Llc | Efficient data access on a shared data network |
US8732291B2 (en) | 2012-01-13 | 2014-05-20 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in QOS-aware clouds |
US8775576B2 (en) | 2012-04-17 | 2014-07-08 | Nimbix, Inc. | Reconfigurable cloud computing |
US9973566B2 (en) | 2013-11-17 | 2018-05-15 | Nimbix, Inc. | Dynamic creation and execution of containerized applications in cloud computing |
US10142417B2 (en) | 2012-04-17 | 2018-11-27 | Nimbix, Inc. | System and method for managing heterogeneous data for cloud computing applications |
US9477529B2 (en) * | 2012-06-20 | 2016-10-25 | International Business Machines Corporation | Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes |
US8924547B1 (en) * | 2012-06-22 | 2014-12-30 | Adtran, Inc. | Systems and methods for managing network devices based on server capacity |
JP5687666B2 (en) * | 2012-08-15 | 2015-03-18 | 株式会社東芝 | Scheduling apparatus, system, method and program |
US20140095716A1 (en) * | 2012-09-28 | 2014-04-03 | International Business Machines Corporation | Maximizing resources in a multi-application processing environement |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US20140122695A1 (en) * | 2012-10-31 | 2014-05-01 | Rawllin International Inc. | Dynamic resource allocation for network content delivery |
KR101262679B1 (en) * | 2013-02-13 | 2013-05-20 | 송형근 | Device to allocate resource effectively for cloud computing |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US10574748B2 (en) * | 2013-03-21 | 2020-02-25 | Infosys Limited | Systems and methods for allocating one or more resources in a composite cloud environment |
US10212238B2 (en) * | 2013-05-15 | 2019-02-19 | Level 3 Communications, Llc | Selecting a content providing server in a content delivery network |
US9384227B1 (en) * | 2013-06-04 | 2016-07-05 | Amazon Technologies, Inc. | Database system providing skew metrics across a key space |
CN104301353B (en) * | 2013-07-18 | 2019-10-08 | 腾讯科技(深圳)有限公司 | A kind of methods, devices and systems for subscribing to long-tail category information |
GB2520051A (en) | 2013-11-08 | 2015-05-13 | Ibm | Entitlement system and method for resources in a multi-computer system controlled by a single instance |
US9424429B1 (en) | 2013-11-18 | 2016-08-23 | Amazon Technologies, Inc. | Account management services for load balancers |
US9565138B2 (en) | 2013-12-20 | 2017-02-07 | Brocade Communications Systems, Inc. | Rule-based network traffic interception and distribution scheme |
US9648542B2 (en) | 2014-01-28 | 2017-05-09 | Brocade Communications Systems, Inc. | Session-based packet routing for facilitating analytics |
US10366102B2 (en) | 2014-02-19 | 2019-07-30 | Snowflake Inc. | Resource management systems and methods |
US9667711B2 (en) | 2014-03-26 | 2017-05-30 | International Business Machines Corporation | Load balancing of distributed services |
CN104244020B (en) * | 2014-09-22 | 2017-12-12 | 内蒙古工业大学 | A kind of request method for routing of cloud environment net cast service |
US9600337B2 (en) | 2014-09-30 | 2017-03-21 | Nimble Storage, Inc. | Congestion avoidance in network storage device using dynamic weights |
US10394606B2 (en) | 2014-09-30 | 2019-08-27 | Hewlett Packard Enterprise Development Lp | Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy |
US10534542B2 (en) * | 2014-09-30 | 2020-01-14 | Hewlett Packard Enterprise Development Lp | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment |
US9483187B2 (en) | 2014-09-30 | 2016-11-01 | Nimble Storage, Inc. | Quality of service implementation in a networked storage system with hierarchical schedulers |
US10545791B2 (en) | 2014-09-30 | 2020-01-28 | Hewlett Packard Enterprise Development Lp | Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization |
US10911353B2 (en) | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
US9866478B2 (en) | 2015-03-23 | 2018-01-09 | Extreme Networks, Inc. | Techniques for user-defined tagging of traffic in a network visibility system |
US10129088B2 (en) | 2015-06-17 | 2018-11-13 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
CN109144688B (en) * | 2015-03-27 | 2022-09-23 | 华为技术有限公司 | Method and device for task scheduling on heterogeneous multi-core reconfigurable computing platform |
US10530688B2 (en) | 2015-06-17 | 2020-01-07 | Extreme Networks, Inc. | Configuration of load-sharing components of a network visibility router in a network visibility system |
US10057126B2 (en) | 2015-06-17 | 2018-08-21 | Extreme Networks, Inc. | Configuration of a network visibility system |
US9792108B2 (en) | 2015-08-12 | 2017-10-17 | Comcast Cable Communications, Llc | Scheme for managing last-modified information |
US9578351B1 (en) | 2015-08-28 | 2017-02-21 | Accenture Global Services Limited | Generating visualizations for display along with video content |
US9940739B2 (en) | 2015-08-28 | 2018-04-10 | Accenture Global Services Limited | Generating interactively mapped data visualizations |
KR20170029263A (en) * | 2015-09-07 | 2017-03-15 | 한국전자통신연구원 | Apparatus and method for load balancing |
US10091075B2 (en) | 2016-02-12 | 2018-10-02 | Extreme Networks, Inc. | Traffic deduplication in a visibility network |
US10999200B2 (en) | 2016-03-24 | 2021-05-04 | Extreme Networks, Inc. | Offline, intelligent load balancing of SCTP traffic |
US10310957B2 (en) * | 2016-05-12 | 2019-06-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Indicating an application status based on a device state |
JP2017208660A (en) * | 2016-05-17 | 2017-11-24 | 富士通株式会社 | Information processing apparatus, management method and information processing program |
US10235207B2 (en) | 2016-09-30 | 2019-03-19 | Nimbix, Inc. | Method and system for preemptible coprocessing |
US10567259B2 (en) | 2016-10-19 | 2020-02-18 | Extreme Networks, Inc. | Smart filter generator |
US10140154B2 (en) * | 2016-10-20 | 2018-11-27 | Bank Of America Corporation | Workload scheduling automation utility |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
CN106453132A (en) * | 2016-12-14 | 2017-02-22 | 深圳市深信服电子科技有限公司 | Dispatching method in hybrid cloud environment and flow control equipment |
US20190207946A1 (en) * | 2016-12-20 | 2019-07-04 | Google Inc. | Conditional provision of access by interactive assistant modules |
US11049025B2 (en) | 2017-03-15 | 2021-06-29 | Salesforce.Com, Inc. | Systems and methods for compute node management protocols |
US10127227B1 (en) | 2017-05-15 | 2018-11-13 | Google Llc | Providing access to user-controlled resources by automated assistants |
US11436417B2 (en) | 2017-05-15 | 2022-09-06 | Google Llc | Providing access to user-controlled resources by automated assistants |
US10387051B2 (en) | 2017-08-24 | 2019-08-20 | Hewlett Packard Enterprise Development Lp | Acquisition of IOPS and MBPS limits independently at a scheduler in a scheduler hierarchy |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US11442632B2 (en) | 2018-04-02 | 2022-09-13 | Apple Inc. | Rebalancing of user accounts among partitions of a storage service |
CN110389824A (en) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | Handle method, equipment and the computer program product of calculating task |
WO2020032927A1 (en) | 2018-08-07 | 2020-02-13 | Google Llc | Assembling and evaluating automated assistant responses for privacy concerns |
CN112308279A (en) * | 2019-08-02 | 2021-02-02 | 南京理工大学 | Multi-server fund distribution method |
TWI724531B (en) * | 2019-09-05 | 2021-04-11 | 財團法人資訊工業策進會 | Equipment and method for assigning services |
EP3796167B1 (en) * | 2019-09-23 | 2023-05-03 | SAS Institute Inc. | Router management by an event stream processing cluster manager |
US11307805B2 (en) | 2020-05-29 | 2022-04-19 | Seagate Technology Llc | Disk drive controller incorporating task manager for reducing performance spikes |
US11550643B1 (en) | 2021-08-06 | 2023-01-10 | Sas Institute Inc. | Automated streaming data model generation with parallel processing capability |
CN113791961B (en) * | 2021-09-18 | 2023-07-25 | 中国平安人寿保险股份有限公司 | Data acquisition method, device, equipment and storage medium based on micro-service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US20090150695A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Predicting future power level states for processor cores |
US7725587B1 (en) * | 2000-08-24 | 2010-05-25 | Aol Llc | Deep packet scan hacker identification |
Family Cites Families (208)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5026165B1 (en) | 1970-04-17 | 1975-08-29 | ||
US4502116A (en) | 1982-11-17 | 1985-02-26 | At&T Bell Laboratories | Multiple processor synchronized halt test arrangement |
US4920487A (en) | 1988-12-12 | 1990-04-24 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method of up-front load balancing for local memory parallel processors |
US5031089A (en) | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
US5155854A (en) * | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
US5251097A (en) | 1990-06-11 | 1993-10-05 | Supercomputer Systems Limited Partnership | Packaging architecture for a highly parallel multiprocessor system |
JPH0727445B2 (en) | 1990-09-04 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | User interface for computer processor operation |
US5187710A (en) | 1990-12-19 | 1993-02-16 | At&T Bell Laboratories | Method and apparatus for the billing of value-added communications calls |
JPH05197604A (en) | 1991-05-21 | 1993-08-06 | Digital Equip Corp <Dec> | Multiprocessor computer and operating method thereof |
US5303297A (en) | 1991-07-25 | 1994-04-12 | Motorola, Inc. | Dynamic pricing method and apparatus for communication systems |
US5701480A (en) | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5504899A (en) | 1991-10-17 | 1996-04-02 | Digital Equipment Corporation | Guaranteeing global serializability by applying commitment ordering selectively to global transactions |
IL99923A0 (en) | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
US5504894A (en) | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US5335343A (en) | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
US5247427A (en) | 1992-08-26 | 1993-09-21 | Data General Corporation | Disk array subsystem having elongated T-shaped guides for use in a data processing system |
US5351286A (en) | 1993-02-23 | 1994-09-27 | Bell Communications Research, Inc. | Method and system for billing an ISDN data user interconnection to the public switched telephone network |
US5664106A (en) * | 1993-06-04 | 1997-09-02 | Digital Equipment Corporation | Phase-space surface representation of server computer performance in a computer network |
US7080051B1 (en) | 1993-11-04 | 2006-07-18 | Crawford Christopher M | Internet download systems and methods providing software to internet computer users for local execution |
US5771354A (en) | 1993-11-04 | 1998-06-23 | Crawford; Christopher M. | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services |
US5487170A (en) | 1993-12-16 | 1996-01-23 | International Business Machines Corporation | Data processing system having dynamic priority task scheduling capabilities |
US5615329A (en) | 1994-02-22 | 1997-03-25 | International Business Machines Corporation | Remote data duplexing |
US5473773A (en) | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
US5548683A (en) | 1994-05-05 | 1996-08-20 | Grumman Aerospace Corporation | Data fusion neural network |
CA2124773C (en) | 1994-05-31 | 1998-11-03 | Raymond Bruce Wallace | Backplane and shelf |
TW265430B (en) | 1994-06-30 | 1995-12-11 | Intel Corp | Ducted opposing bonded fin heat sink blower multi-microprocessor cooling system |
GB9414951D0 (en) | 1994-07-25 | 1994-09-14 | British Telecomm | Computer system having client-server architecture |
US5675785A (en) | 1994-10-04 | 1997-10-07 | Hewlett-Packard Company | Data warehouse which is accessed by a user using a schema of virtual tables |
US6317773B1 (en) | 1994-10-11 | 2001-11-13 | International Business Machines Corporation | System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators |
US5586312A (en) | 1994-10-11 | 1996-12-17 | Unisys Corporation | Method and apparatus for using an independent transaction processing application as a service routine |
US5460441A (en) | 1994-11-01 | 1995-10-24 | Compaq Computer Corporation | Rack-mounted computer apparatus |
CA2204736A1 (en) | 1994-11-08 | 1996-05-23 | Charles H. Ferguson | An online service development tool with fee setting capabilities |
US5675739A (en) | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US5978577A (en) | 1995-03-17 | 1999-11-02 | Csg Systems, Inc. | Method and apparatus for transaction processing in a distributed database system |
US5696895A (en) | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | 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 |
US6097882A (en) | 1995-06-30 | 2000-08-01 | Digital Equipment Corporation | Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service |
US5794221A (en) | 1995-07-07 | 1998-08-11 | Egendorf; Andrew | Internet billing method |
US5684671A (en) | 1995-08-22 | 1997-11-04 | Sequent Computer Systems, Inc. | Packaging architecture for a data server |
US5630081A (en) | 1995-09-07 | 1997-05-13 | Puma Technology, Inc. | Connection resource manager displaying link-status information using a traffic light iconic representation |
US6041354A (en) | 1995-09-08 | 2000-03-21 | Lucent Technologies Inc. | Dynamic hierarchical network resource scheduling for continuous media |
US5778395A (en) | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
US5828737A (en) | 1995-10-24 | 1998-10-27 | Telefonaktiebolaget L M Ericsson | Communications service billing based on bandwidth use |
US6011791A (en) | 1995-11-15 | 2000-01-04 | Hitachi, Ltd. | Multi-processor system and its network |
US5956391A (en) | 1996-02-09 | 1999-09-21 | Telefonaktiebolaget Lm Ericsson | Billing in the internet |
JPH09238133A (en) | 1996-02-29 | 1997-09-09 | Fujitsu Ltd | Exchange and data exchange network charge immediate notice method |
US5764915A (en) | 1996-03-08 | 1998-06-09 | International Business Machines Corporation | Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack |
US6182109B1 (en) | 1996-03-08 | 2001-01-30 | International Business Machines Corporation | Dynamic execution unit management for high performance user level network server system |
US5928323A (en) | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
US5832222A (en) | 1996-06-19 | 1998-11-03 | Ncr Corporation | Apparatus for providing a single image of an I/O subsystem in a geographically dispersed computer system |
US6094680A (en) | 1996-06-27 | 2000-07-25 | Microsoft Corporation | System and method for managing distributed resources on networks |
US5983326A (en) | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode |
US5795228A (en) | 1996-07-03 | 1998-08-18 | Ridefilm Corporation | Interactive computer-based entertainment system |
JP2939723B2 (en) | 1996-07-11 | 1999-08-25 | 株式会社インターナショナルサイエンティフィック | Internet Timed Usage Billing System |
US5822531A (en) | 1996-07-22 | 1998-10-13 | International Business Machines Corporation | Method and system for dynamically reconfiguring a cluster of computer systems |
US5999965A (en) | 1996-08-20 | 1999-12-07 | Netspeak Corporation | Automatic call distribution server for computer telephony communications |
US6038587A (en) | 1996-09-03 | 2000-03-14 | Insession, Inc. | System, method and article of manufacture for universal transaction processing over multiple transaction processing systems |
US5845267A (en) | 1996-09-06 | 1998-12-01 | At&T Corp | System and method for billing for transactions conducted over the internet from within an intranet |
US6442618B1 (en) | 1996-09-23 | 2002-08-27 | Insession, Inc. | System, method and article of manufacture for universal transaction processing |
JPH10154373A (en) | 1996-09-27 | 1998-06-09 | Sony Corp | Data decoding system and method thereof, transmission unit and method thereof and receiver device and method thereof |
US5875306A (en) | 1996-10-01 | 1999-02-23 | International Business Machines Corporation | Reconfiguring computer resources in a distributed computer enterprise environment |
US5745884A (en) | 1996-10-21 | 1998-04-28 | Mobile Area Networks, Inc. | System and method for billing data grade network use on a per connection basis |
JPH10187638A (en) | 1996-10-28 | 1998-07-21 | Mitsubishi Electric Corp | Cluster control system |
US6134533A (en) | 1996-11-25 | 2000-10-17 | Shell; Allyn M. | Multi-level marketing computer network server |
US5938732A (en) | 1996-12-09 | 1999-08-17 | Sun Microsystems, Inc. | Load balancing and failover of network services |
US5948087A (en) | 1996-12-16 | 1999-09-07 | Nexar Technologies, Inc. | Computer architecture having platform-dependent and platform-independent boards forming the motherboard |
US6112243A (en) | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US6151688A (en) | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US6067580A (en) | 1997-03-11 | 2000-05-23 | International Business Machines Corporation | Integrating distributed computing environment remote procedure calls with an advisory work load manager |
US5974462A (en) | 1997-03-28 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a client/server system |
US5948065A (en) | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
KR100230281B1 (en) | 1997-04-14 | 1999-11-15 | 윤종용 | Multi-media system for transmitting and receiving a program number and method for transmitting and receiving a program number |
US5987621A (en) | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
JP3652834B2 (en) | 1997-04-30 | 2005-05-25 | 富士通株式会社 | Client-driven network computing system and method |
US6425006B1 (en) | 1997-05-13 | 2002-07-23 | Micron Technology, Inc. | Alert configurator and manager |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6553416B1 (en) | 1997-05-13 | 2003-04-22 | Micron Technology, Inc. | Managing computer system alerts |
US6189109B1 (en) | 1997-05-13 | 2001-02-13 | Micron Electronics, Inc. | Method of remote access and control of environmental conditions |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6134673A (en) | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US6816903B1 (en) | 1997-05-27 | 2004-11-09 | Novell, Inc. | Directory enabled policy management tool for intelligent traffic management |
US6035281A (en) | 1997-06-16 | 2000-03-07 | International Business Machines Corporation | System and method of multiparty billing for Web access |
JP3656874B2 (en) | 1997-07-04 | 2005-06-08 | ソニー株式会社 | Electronic device control system and method, playback device, and output device |
US6067545A (en) | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US5899980A (en) | 1997-08-11 | 1999-05-04 | Trivnet Ltd. | Retail method over a wide area network |
US6094351A (en) | 1998-08-19 | 2000-07-25 | Hon Hai Precision Ind. Co., Ltd. | Universal enclosure for different type mother boards |
US6608832B2 (en) | 1997-09-25 | 2003-08-19 | Telefonaktiebolaget Lm Ericsson | Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched and circuit-switched services |
US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
US6014669A (en) | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6088816A (en) | 1997-10-01 | 2000-07-11 | Micron Electronics, Inc. | Method of displaying system status |
JP3683082B2 (en) | 1997-10-17 | 2005-08-17 | 富士通株式会社 | Call processing equipment |
US6070191A (en) | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US6167446A (en) | 1997-11-03 | 2000-12-26 | Inca Technology, Inc. | Automatically configuring network-name-services |
US6542926B2 (en) | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6647508B2 (en) | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
US6633916B2 (en) | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
US6209018B1 (en) | 1997-11-13 | 2001-03-27 | Sun Microsystems, Inc. | Service framework for a distributed object network system |
US5991792A (en) | 1998-01-02 | 1999-11-23 | International Business Machines Corporation | Method, apparatus and computer program product for dynamically managing a thread pool of reusable threads in a computer system |
US6154787A (en) | 1998-01-21 | 2000-11-28 | Unisys Corporation | Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed |
US5983225A (en) | 1998-01-26 | 1999-11-09 | Telenor As | Parameterized lock management system and method for conditional conflict serializability of transactions |
GB2319102B (en) | 1998-01-30 | 1998-12-23 | Ibm | A security system for a transaction processing system |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6430618B1 (en) | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6553420B1 (en) | 1998-03-13 | 2003-04-22 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6115693A (en) | 1998-04-17 | 2000-09-05 | Andersen Consulting Llp | Quality center and method for a virtual sales and service center |
US6025989A (en) | 1998-04-21 | 2000-02-15 | International Business Machines Corporation | Modular node assembly for rack mounted multiprocessor computer |
US6157927A (en) | 1998-04-22 | 2000-12-05 | Unisys Corporation | Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager |
US6330689B1 (en) | 1998-04-23 | 2001-12-11 | Microsoft Corporation | Server architecture with detection and recovery of failed out-of-process application |
US6216185B1 (en) | 1998-05-01 | 2001-04-10 | Acqis Technology, Inc. | Personal computer peripheral console with attached computer module |
US6233587B1 (en) | 1998-05-07 | 2001-05-15 | Oracle Corporation | Extensible framework of key resource manager and transaction manager events for providing native support for foreign-initiated transactions |
US6519553B1 (en) | 1998-05-14 | 2003-02-11 | Sandia Corporation | Multiprocessor computer overset grid method and apparatus |
JPH11338746A (en) | 1998-05-27 | 1999-12-10 | Ntt Communication Ware Kk | Database access system and computer readable recording medium recording program |
US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US6105067A (en) | 1998-06-05 | 2000-08-15 | International Business Machines Corp. | Connection pool management for backend servers using common interface |
US6223202B1 (en) | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
US6421661B1 (en) | 1998-06-15 | 2002-07-16 | International Business Machines Corporation | Hierarchical query syntax for inquiring and selecting among database objects |
KR100304644B1 (en) | 1998-06-19 | 2001-11-02 | 윤종용 | Apparatus and method for transmitting informtion via network |
US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6249801B1 (en) | 1998-07-15 | 2001-06-19 | Radware Ltd. | Load balancing |
US6728958B1 (en) | 1998-07-31 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | Volatile resource manager with pre-prepare notification |
US6615265B1 (en) | 1998-08-04 | 2003-09-02 | International Business Machines Corporation | Enabling planned outages of application servers |
US6301612B1 (en) | 1998-08-12 | 2001-10-09 | Microsoft Corporation | Establishing one computer as a replacement for another computer |
US6324580B1 (en) | 1998-09-03 | 2001-11-27 | Sun Microsystems, Inc. | Load balancing for replicated services |
US6092178A (en) | 1998-09-03 | 2000-07-18 | Sun Microsystems, Inc. | System for responding to a resource request |
US6272675B1 (en) | 1998-10-01 | 2001-08-07 | Unisys Corporation | Development system for automatically enabling a server application to execute with an XATMI-compliant transaction manager managing transactions within multiple environments |
US6412079B1 (en) | 1998-10-09 | 2002-06-25 | Openwave Systems Inc. | Server pool for clustered system |
US6006259A (en) | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
US6728748B1 (en) | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6442165B1 (en) | 1998-12-02 | 2002-08-27 | Cisco Technology, Inc. | Load balancing between service component instances |
US6578147B1 (en) | 1999-01-15 | 2003-06-10 | Cisco Technology, Inc. | Parallel intrusion detection sensors with load balancing for high speed networks |
US6532488B1 (en) | 1999-01-25 | 2003-03-11 | John J. Ciarlante | Method and system for hosting applications |
US6952401B1 (en) | 1999-03-17 | 2005-10-04 | Broadcom Corporation | Method for load balancing in a network switch |
US6446200B1 (en) | 1999-03-25 | 2002-09-03 | Nortel Networks Limited | Service management |
US6243737B1 (en) | 1999-04-09 | 2001-06-05 | Translink Software, Inc. | Method and apparatus for providing direct transaction access to information residing on a host system |
US6421777B1 (en) | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US6687831B1 (en) | 1999-04-29 | 2004-02-03 | International Business Machines Corporation | Method and apparatus for multiple security service enablement in a data processing system |
US6718415B1 (en) | 1999-05-14 | 2004-04-06 | Acqis Technology, Inc. | Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers |
US6643777B1 (en) | 1999-05-14 | 2003-11-04 | Acquis Technology, Inc. | Data security method and device for computer modules |
WO2000072183A2 (en) | 1999-05-24 | 2000-11-30 | Aprisma Management Technologies, Inc. | Service level management |
JP3549774B2 (en) | 1999-06-01 | 2004-08-04 | 富士通株式会社 | Network interconnection device and network interconnection method |
US6519679B2 (en) | 1999-06-11 | 2003-02-11 | Dell Usa, L.P. | Policy based storage configuration |
US6411956B1 (en) | 1999-06-14 | 2002-06-25 | Sun Microsystems, Inc. | Method for distributed transaction support using JDBC 1.0 drivers |
US6460082B1 (en) | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6463454B1 (en) * | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
FR2795840B1 (en) | 1999-07-02 | 2001-08-31 | Commissariat Energie Atomique | NETWORK OF PARALLEL PROCESSORS WITH FAULT TOLERANCE OF THESE PROCESSORS, AND RECONFIGURATION PROCEDURE APPLICABLE TO SUCH A NETWORK |
FR2795839B1 (en) | 1999-07-02 | 2001-09-07 | Commissariat Energie Atomique | RECONFIGURATION METHOD APPLICABLE TO A NETWORK OF IDENTICAL FUNCTIONAL ELEMENTS |
US6374297B1 (en) | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6779016B1 (en) | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US6640244B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6715145B1 (en) | 1999-08-31 | 2004-03-30 | Accenture Llp | Processing pipeline in a base services pattern environment |
US6742015B1 (en) | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
US6640249B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Presentation services patterns in a netcentric environment |
US6842906B1 (en) | 1999-08-31 | 2005-01-11 | Accenture Llp | System and method for a refreshable proxy pool in a communication services patterns environment |
US7289964B1 (en) | 1999-08-31 | 2007-10-30 | Accenture Llp | System and method for transaction services patterns in a netcentric environment |
US6615199B1 (en) | 1999-08-31 | 2003-09-02 | Accenture, Llp | Abstraction factory in a base services pattern environment |
US6587938B1 (en) | 1999-09-28 | 2003-07-01 | International Business Machines Corporation | Method, system and program products for managing central processing unit resources of a computing environment |
US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
US7051188B1 (en) | 1999-09-28 | 2006-05-23 | International Business Machines Corporation | Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment |
JP2001109638A (en) | 1999-10-06 | 2001-04-20 | Nec Corp | Method and system for distributing transaction load based on estimated extension rate and computer readable recording medium |
US6704737B1 (en) | 1999-10-18 | 2004-03-09 | Fisher-Rosemount Systems, Inc. | Accessing and updating a configuration database from distributed physical locations within a process control system |
US6625639B1 (en) | 1999-10-20 | 2003-09-23 | International Business Machines Corporation | Apparatus and method for processing a task in a clustered computing environment |
US6421688B1 (en) | 1999-10-20 | 2002-07-16 | Parallel Computers Technology, Inc. | Method and apparatus for database fault tolerance with instant transaction replication using off-the-shelf database servers and low bandwidth networks |
US6298451B1 (en) | 1999-11-02 | 2001-10-02 | Idini Corporation | Directory-based failure recovery and load balancing system |
US6721568B1 (en) | 1999-11-10 | 2004-04-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Admission control in a mobile radio communications system |
US6496828B1 (en) | 1999-12-17 | 2002-12-17 | International Business Machines Corporation | Support for summary tables in a heterogeneous database environment |
US6687729B1 (en) | 1999-12-20 | 2004-02-03 | Unisys Corporation | System and method for providing a pool of reusable threads for performing queued items of work |
US6601096B1 (en) | 2000-01-04 | 2003-07-29 | International Business Machines Corporation | Client server method for loading a client with a specific image or utility based on the client's state |
US6901442B1 (en) | 2000-01-07 | 2005-05-31 | Netiq Corporation | Methods, system and computer program products for dynamic filtering of network performance test results |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7140020B2 (en) | 2000-01-28 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Dynamic management of virtual partition computer workloads through service level optimization |
US7228546B1 (en) | 2000-01-28 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Dynamic management of computer workloads through service level optimization |
US7003571B1 (en) | 2000-01-31 | 2006-02-21 | Telecommunication Systems Corporation Of Maryland | System and method for re-directing requests from browsers for communication over non-IP based networks |
US6714980B1 (en) | 2000-02-11 | 2004-03-30 | Terraspring, Inc. | Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device |
US7032241B1 (en) | 2000-02-22 | 2006-04-18 | Microsoft Corporation | Methods and systems for accessing networks, methods and systems for accessing the internet |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US6898642B2 (en) | 2000-04-17 | 2005-05-24 | International Business Machines Corporation | Synchronous collaboration based on peer-to-peer communication |
US7054943B1 (en) | 2000-04-28 | 2006-05-30 | International Business Machines Corporation | Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis |
US6684343B1 (en) | 2000-04-29 | 2004-01-27 | Hewlett-Packard Development Company, Lp. | Managing operations of a computer system having a plurality of partitions |
US6725317B1 (en) | 2000-04-29 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for managing a computer system having a plurality of partitions |
WO2001084313A2 (en) | 2000-05-02 | 2001-11-08 | Sun Microsystems, Inc. | Method and system for achieving high availability in a networked computer system |
US6950848B1 (en) | 2000-05-05 | 2005-09-27 | Yousefi Zadeh Homayoun | Database load balancing for multi-tier computer systems |
US6832238B1 (en) | 2000-05-24 | 2004-12-14 | Sun Microsystems, Inc. | Local transaction management |
US7181743B2 (en) | 2000-05-25 | 2007-02-20 | The United States Of America As Represented By The Secretary Of The Navy | Resource allocation decision function for resource management architecture and corresponding programs therefor |
US6574748B1 (en) | 2000-06-16 | 2003-06-03 | Bull Hn Information Systems Inc. | Fast relief swapping of processors in a data processing system |
US6820171B1 (en) | 2000-06-30 | 2004-11-16 | Lsi Logic Corporation | Methods and structures for an extensible RAID storage architecture |
WO2002001347A2 (en) | 2000-06-30 | 2002-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for automatic re-assignment of software components of a failed host |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
WO2002007037A1 (en) | 2000-07-17 | 2002-01-24 | Galactic Computing Corporation | Method and system for providing dynamic hosted service management |
US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US6452809B1 (en) | 2000-11-10 | 2002-09-17 | Galactic Computing Corporation | Scalable internet engine |
US6985967B1 (en) | 2000-07-20 | 2006-01-10 | Rlx Technologies, Inc. | Web server network system and method |
AU7692701A (en) | 2000-07-20 | 2002-02-05 | Rlx Technologies Inc | Single board web server system and method |
US6973517B1 (en) | 2000-08-31 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Partition formation using microprocessors in a multiprocessor computer system |
US6871210B1 (en) | 2000-09-05 | 2005-03-22 | International Business Machines Corporation | Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server |
US20020124083A1 (en) | 2000-09-06 | 2002-09-05 | Sun Microsystems, Inc. | Method and apparatus for increasing the efficiency of transactions and connection sharing in an enterprise environment |
US6671686B2 (en) | 2000-11-02 | 2003-12-30 | Guy Pardon | Decentralized, distributed internet data management |
US6877035B2 (en) | 2001-01-29 | 2005-04-05 | International Business Machines Corporation | System for optimal resource allocation and planning for hosting computing services |
US6839700B2 (en) | 2001-05-23 | 2005-01-04 | International Business Machines Corporation | Load balancing content requests using dynamic document generation cost information |
US7085837B2 (en) * | 2001-12-04 | 2006-08-01 | International Business Machines Corporation | Dynamic resource allocation using known future benefits |
US7055052B2 (en) | 2002-11-21 | 2006-05-30 | International Business Machines Corporation | Self healing grid architecture for decentralized component-based systems |
US20050076214A1 (en) | 2003-10-03 | 2005-04-07 | Thomas David Andrew | Method and system for file downloads to portable computing devices |
US7764683B2 (en) | 2005-12-16 | 2010-07-27 | Oracle America, Inc. | Reliable multicast operating system (OS) provisioning |
US20110238564A1 (en) | 2010-03-26 | 2011-09-29 | Kwang Hyun Lim | System and Method for Early Detection of Fraudulent Transactions |
-
2001
- 2001-01-18 US US09/765,766 patent/US6938256B2/en not_active Expired - Lifetime
-
2005
- 2005-08-12 US US11/202,644 patent/US8302100B2/en not_active Expired - Fee Related
-
2012
- 2012-10-29 US US13/662,858 patent/US20130268653A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US7725587B1 (en) * | 2000-08-24 | 2010-05-25 | Aol Llc | Deep packet scan hacker identification |
US20090150695A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Predicting future power level states for processor cores |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467883B2 (en) | 2004-03-13 | 2022-10-11 | Iii Holdings 12, Llc | Co-allocating a reservation spanning different compute resources types |
US11960937B2 (en) | 2004-03-13 | 2024-04-16 | Iii Holdings 12, Llc | System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter |
US11652706B2 (en) | 2004-06-18 | 2023-05-16 | Iii Holdings 12, Llc | System and method for providing dynamic provisioning within a compute environment |
US11630704B2 (en) | 2004-08-20 | 2023-04-18 | Iii Holdings 12, Llc | System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information |
US11861404B2 (en) | 2004-11-08 | 2024-01-02 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11709709B2 (en) | 2004-11-08 | 2023-07-25 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11656907B2 (en) | 2004-11-08 | 2023-05-23 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11762694B2 (en) | 2004-11-08 | 2023-09-19 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11537435B2 (en) | 2004-11-08 | 2022-12-27 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11494235B2 (en) | 2004-11-08 | 2022-11-08 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11886915B2 (en) | 2004-11-08 | 2024-01-30 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11537434B2 (en) | 2004-11-08 | 2022-12-27 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11658916B2 (en) | 2005-03-16 | 2023-05-23 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US11533274B2 (en) | 2005-04-07 | 2022-12-20 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11496415B2 (en) | 2005-04-07 | 2022-11-08 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11831564B2 (en) | 2005-04-07 | 2023-11-28 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11522811B2 (en) | 2005-04-07 | 2022-12-06 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11765101B2 (en) | 2005-04-07 | 2023-09-19 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11650857B2 (en) | 2006-03-16 | 2023-05-16 | Iii Holdings 12, Llc | System and method for managing a hybrid computer environment |
US10735505B2 (en) | 2007-09-24 | 2020-08-04 | The Research Foundation For The State University Of New York | Automatic clustering for self-organizing grids |
US11522952B2 (en) | 2007-09-24 | 2022-12-06 | The Research Foundation For The State University Of New York | Automatic clustering for self-organizing grids |
US9602573B1 (en) | 2007-09-24 | 2017-03-21 | National Science Foundation | Automatic clustering for self-organizing grids |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11526304B2 (en) | 2009-10-30 | 2022-12-13 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US20130326066A1 (en) * | 2012-06-04 | 2013-12-05 | Internation Business Machine | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
US9276899B2 (en) * | 2012-06-04 | 2016-03-01 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of IP addresses within a cluster |
US9264396B2 (en) * | 2012-06-04 | 2016-02-16 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of IP addresses within a cluster |
US20130326065A1 (en) * | 2012-06-04 | 2013-12-05 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
US10432711B1 (en) * | 2014-09-15 | 2019-10-01 | Amazon Technologies, Inc. | Adaptive endpoint selection |
CN110691041A (en) * | 2019-09-29 | 2020-01-14 | 西北大学 | Multi-edge cooperative resource deployment method |
Also Published As
Publication number | Publication date |
---|---|
US6938256B2 (en) | 2005-08-30 |
US20010039581A1 (en) | 2001-11-08 |
US8302100B2 (en) | 2012-10-30 |
US20060036743A1 (en) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6938256B2 (en) | System for balance distribution of requests across multiple servers using dynamic metrics | |
Rotithor | Taxonomy of dynamic task scheduling schemes in distributed computing systems | |
US10567303B2 (en) | System and method for routing service requests | |
CN101116056B (en) | Systems and methods for content-aware load balancing | |
US7523454B2 (en) | Apparatus and method for routing a transaction to a partitioned server | |
KR101120847B1 (en) | Data overlay, self-organized metadata overlay, and application level multicasting | |
US7124062B2 (en) | Services search method | |
JP2002318791A (en) | Method, apparatus and computer program product for allocating hosting service resource to client | |
US20050278439A1 (en) | System and method for evaluating capacity of a heterogeneous media server configuration for supporting an expected workload | |
AllamehAmiri et al. | QoS-Based web service composition based on genetic algorithm | |
US20050021511A1 (en) | System and method for load balancing in database queries | |
Zhang et al. | Leveraging QoE heterogenity for large-scale livecaset scheduling | |
KR20070032441A (en) | Load balancing system based on fuzzy grouping and the load balancing method | |
Kaur et al. | Cloud resource management using 3Vs of Internet of Big data streams | |
Qiao et al. | Load balancing in peer-to-peer systems using a diffusive approach | |
Sivaraman et al. | Efficient multimedia content storage and allocation in multidimensional cloud computing resources | |
Cokuslu et al. | Resource allocation for query processing in grid systems: a survey | |
Mutichiro et al. | User preference–based QoS-aware service function placement in IoT-Edge cloud | |
Ali et al. | In-network placement of security vnfs in multi-tenant data centers | |
Quiané-Ruiz et al. | K n Best-A Balanced Request Allocation Method for Distributed Information Systems | |
Grivas et al. | Agent technology in load balancing for network applications | |
Wang et al. | Spectrum fragmentation-aware dynamic network slicing deployment in computing power networks based on elastic optical networks | |
Lihan et al. | Distributed Information Retrieval service for ubiquitous services | |
Qu et al. | The cache replacement problem for multimedia object caching | |
Pena et al. | Bayesian methods to estimate future load in Web farms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ASPENGINES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DENG, YUEFAN;ENGEL, STEPHEN J.;GUISTOZZI, JOSEPH;AND OTHERS;SIGNING DATES FROM 20010314 TO 20010419;REEL/FRAME:035405/0636 |
|
AS | Assignment |
Owner name: GALACTIC COMPUTING CORPORATION, FORMERLY KNOWN AS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEUTILITY CORPORATION, FORMERLY KNOWN AS ASPENGINES, INC. AND ASPENGINES.COM, INC.;REEL/FRAME:035416/0252 Effective date: 20020323 |
|
AS | Assignment |
Owner name: GALACTIC COMPUTING CORPORATION, HONG KONG Free format text: CHANGE OF NAME;ASSIGNOR:GALACTIC REVENUE LTD.;REEL/FRAME:035450/0648 Effective date: 20020320 |
|
AS | Assignment |
Owner name: GALACTIC COMPUTING CORPORATION BVI/IBC, HONG KONG Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 035450 FRAME: 0648. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME;ASSIGNOR:GALACTIC REVENUE LTD.;REEL/FRAME:035492/0699 Effective date: 20020320 |
|
AS | Assignment |
Owner name: RPX CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GALACTIC COMPUTING CORPORATION BVI/IBC;REEL/FRAME:035693/0471 Effective date: 20150520 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |