US 9,813,490 B2
Scheduled network communication for efficient re-partitioning of data
Sam Idicula, Santa Clara, CA (US); Aarti Basant, Santa Clara, CA (US); Vikas Aggarwal, Redwood City, CA (US); Stephan Wolf, Zurich (CH); and Nipun Agarwal, Saratoga, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on May 13, 2015, as Appl. No. 14/711,617.
Prior Publication US 2016/0337442 A1, Nov. 17, 2016
Int. Cl. G06F 15/16 (2006.01); H04L 29/08 (2006.01); H04L 12/40 (2006.01); G06F 17/30 (2006.01); H04L 12/911 (2013.01)
CPC H04L 67/10 (2013.01) [G06F 17/30545 (2013.01); G06F 17/30584 (2013.01); H04L 12/40143 (2013.01); H04L 47/828 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving re-partitioning data describing, for each server node of a plurality of server nodes connected by a network, a quantity of data blocks to be sent to said each server node;
determining a sender order for the plurality of server nodes by using the re-partitioning data to sort, in descending order, the plurality of server nodes by a total quantity of data blocks to be sent;
according to the sender order, populating a network schedule comprising a plurality of time slots, wherein populating a network schedule includes for each time slot of the plurality of time slots;
assigning in the sender order at most one receiver node, of the plurality of server nodes to receive one or more data blocks over the network from a sender node of said plurality of server nodes, wherein assigning at most one receiver node is based at least on having a largest possible quantity of data blocks to be received by the sender node from any server node of said plurality of server nodes not yet assigned as a receiver node in said each time slot;
wherein each server node of said plurality of server nodes is assigned as a receiver node no more than once in said each time slot;
wherein the method is performed by one or more computing devices.