Bundling and sending work units to a server based on a weighted cost
First Claim
1. A method comprising:
- creating a bundle of a plurality of work units;
selecting an active server from among a plurality of servers, wherein the selecting further comprises determining a plurality of relative work unit costs for the plurality of work units, determining a plurality of relative server costs for the plurality of servers, calculating a plurality of total weighted costs for the plurality of servers based on the relative work unit costs and the relative server costs, and selecting the active server with a lowest of the total weighted costs; and
sending the bundle from a client to the active server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, system, and signal-bearing medium that, in an embodiment, accumulate multiple work units into a bundle and send the bundle to a selected active server. The active server is selected based on the relative costs for the work units and costs for servers. In an embodiment, selecting the active server includes determining relative work unit costs and relative server costs, calculating total weighted costs for the servers based on the relative work unit costs and the relative server costs, and selecting the active server that has the lowest total weighted cost. The active server may either process a work in the bundle locally or send the work unit to a passive server for processing. The active server determines whether each work unit can be executed at the active server. If the work unit can be executed on the active server, the active server executes the work unit and creates local results. If the work unit cannot be executed on the server, the active server sends the work unit to a passive server, and the passive server creates remote results. The active server receives the remote results from the passive server, combines the local results with the remote results into combined results, and sends the combined results to a client. In various embodiments, branch and dependency data are included in the bundle, which the active server uses to order and conditionally process for the work units.
-
Citations
20 Claims
-
1. A method comprising:
-
creating a bundle of a plurality of work units;
selecting an active server from among a plurality of servers, wherein the selecting further comprises determining a plurality of relative work unit costs for the plurality of work units, determining a plurality of relative server costs for the plurality of servers, calculating a plurality of total weighted costs for the plurality of servers based on the relative work unit costs and the relative server costs, and selecting the active server with a lowest of the total weighted costs; and
sending the bundle from a client to the active server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A signal-bearing medium encoded with instructions, wherein the instructions when executed comprise:
-
creating a bundle of a plurality of work units;
selecting an active server from among a plurality of servers, wherein the selecting further comprises determining a plurality of relative work unit costs for the plurality of work units, determining a plurality of relative server costs for the plurality of servers, calculating a plurality of total weighted costs for the plurality of servers based on the relative work unit costs and the relative server costs, and selecting the active server with a lowest of the total weighted costs; and
sending the bundle from a client to the active server, wherein the active server determines whether each of the work units can be executed at the active server, if the work unit can be executed on the active server, the active server executes the work unit and creates local results, and if the work unit cannot be executed on the server, the active server sends the work unit to a passive server, wherein the passive server creates remote results. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for configuring a computer, comprising:
-
configuring the computer to create a bundle of a plurality of work units;
configuring the computer to select an active server from among a plurality of servers, wherein the selecting further comprises determining a plurality of relative work unit costs for the plurality of work units, determining a plurality of relative server costs for the plurality of servers, calculating a plurality of total weighted costs for the plurality of servers based on the relative work unit costs and the relative server costs, and selecting the active server with a lowest of the total weighted costs; and
configuring the computer to send the bundle from the computer to the active server, wherein the active server determines whether each of the work units can be executed at the active server, if the work unit can be executed on the active server, the active server executes the work unit and creates local results, if the work unit cannot be executed on the server, the active server sends the work unit to a passive server, wherein the passive server creates remote results, and wherein the active server receives the remote results from the passive server, combines the local results with the remote results into combined results, and sends the combined results to the computer. - View Dependent Claims (17, 18, 19, 20)
-
Specification