System and method for scalable data distribution
First Claim
1. A method for distributing data over a network, the method performed by a master having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:
- determining at said master that a destination slave requires data, wherein said destination slave is one of a plurality of slaves;
generating at said master a list of those slaves of said plurality of slaves that contain said data;
transmitting from said master to a resource manager said list, where said resource manager is configured to select a source slave from said list based on available system resources;
receiving at said master from said resource manager an initiate instruction to initiate a transfer of said data from said source slave to said destination slave; and
transmitting from said master a commence instruction to commence said transfer, wherein the master, resource manager and slaves communicate with each other via the network.
1 Assignment
0 Petitions
Accused Products
Abstract
A system having a resource manager, a plurality of masters, and a plurality of slaves, interconnected by a communications network. To distribute data, a master determined that a destination slave of the plurality slaves requires data. The master then generates a list of slaves from which to transfer the data to the destination slave. The master transmits the list to the resource manager. The resource manager is configured to select a source slave from the list based on available system resources. Once a source is selected by the resource manager, the master receives an instruction from the resource manager to initiate a transfer of the data from the source slave to the destination slave. The master then transmits an instruction to commence the transfer.
-
Citations
34 Claims
-
1. A method for distributing data over a network, the method performed by a master having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:
-
determining at said master that a destination slave requires data, wherein said destination slave is one of a plurality of slaves; generating at said master a list of those slaves of said plurality of slaves that contain said data; transmitting from said master to a resource manager said list, where said resource manager is configured to select a source slave from said list based on available system resources; receiving at said master from said resource manager an initiate instruction to initiate a transfer of said data from said source slave to said destination slave; and transmitting from said master a commence instruction to commence said transfer, wherein the master, resource manager and slaves communicate with each other via the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for distributing data over a network, the method performed by a resource manager having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:
-
receiving at the resource manager, from a master, a list of slaves of a plurality of slaves that contain data to be copied to a destination slave; ascertaining available system resources; selecting a source slave from said list as a source of data based on available system resources; and transmitting an initiate instruction from said resource manager to said master to initiate a data transfer from said source slave to said destination slave, wherein the master, resource manager and slaves communicate with each other via the network. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for distributing data over a network, performed on:
-
a master having one or more processors and memory storing one or more programs for execution by the one or more processors; and a resource manager having one or more processors and memory storing one or more programs for execution by the one or more processors; said method comprising; at the master, determining that a destination slave of a plurality of slaves requires data; at the master, generating a list of slaves from said plurality of slaves that have said data; at the master, transmitting said list to the resource manager; at the resource manager, selecting a source slave from said list based on available system resources; at the resource manager, transmitting an initiate instruction to the master to initiate a transfer of said data between said source slave to said destination slave; and at the master, transmitting a commence instruction to said destination slave to commence said transfer, wherein the master, resource manager and slaves communicate with each other via the network. - View Dependent Claims (15)
-
-
16. A non-transitory computer-readable medium carrying sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
determining at a master that a destination slave requires data, wherein said destination slave is one of a plurality slaves; generating at said master a list of those slaves of said plurality of slaves that contain said data; transmitting from said master to a resource manager said list, where said resource manager is configured to select a source slave from said list based on available system resources; receiving at said master from said resource manager an initiate instruction to initiate a transfer of said data from said source slave to said destination slave; and transmitting from said master a commence to commence said transfer, wherein the master, resource manager and slaves communicate with each other via a network. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable medium carrying sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving at a resource manager, from a master, a list of slaves of a plurality of slaves that contain data to be copied to a destination slave; ascertaining available system resources; selecting a source slave from said list as a source of data based on available system resources; and transmitting an initiate instruction from said resource manager to said master to initiate a data transfer from said source slave to said destination slave, wherein the master, resource manager and slaves communicate with each other via a network. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A system for distributing data, comprising:
-
a master having one or more processors and memory storing one or more programs for execution by the one or more processors of the master; and a resource manager having one or more processors and memory storing one or more programs for execution by the one or more processors of the resource manager; said master being configured to determine that a destination slave requires data, wherein said destination slave is one of a plurality of slaves, to generate a list of those slaves of said plurality of slaves that contain said data, to transmit to said resource manager said list, to receive from said resource manager an initiate instruction to initiate a transfer of said data from a source slave to said destination slave, and to transmit a commence instruction to one of said source slave and said destination slave to commence said transfer; and said resource manager being configured to receive from said master said list of slaves, to ascertain available system resources, to select said source slave from said list based on available system resources, and to transmit to said master said initiate instruction, wherein the master, resource manager and slaves communicate with each other via the network. - View Dependent Claims (30, 31, 32, 33, 34)
-
Specification