Method and system for facilitating one-to-many data transmissions with reduced network overhead
AssigneeIntel Corporation
InventorJustin Lipman
Life of this patent
Estimating the term…
Abstract
A method and system for facilitating one-to-many data transmissions with reduced network overhead includes conducting a round of data transmissions from a source computing device to a plurality of sink computing devices. Each of the sink computing devices generates a bucket list of lost data blocks for the round of data transmissions and transmits the bucket list to the source computing device. The source computing device conducts a subsequent round of data transmissions based on the bucket lists. One or more additional subsequent rounds may be conducted until the bucket list of each sink computing device is empty.
Claims22
A method, to be employed by a source computing device, comprising:
- initializing a data transmission session;
- transmitting, to a plurality of sink computing devices, a plurality of data packets during the data transmission session;
- transmitting, to the plurality of sink computing device, a message associated with an end of transmitting the plurality of data packets during the data transmission session;
- receiving, from a first sink computing device of the plurality of sink computing devices at a first time slot and during the data transmission session, a first list of lost data block if there is data packet(s) from the plurality of data packets that the first sink computing device doesn't receive from the source computing device, wherein the lost data blocks are included in the data packets of the plurality of data packets not received from the source computing device;
- and
- receiving, from a second sink computing device of the plurality of sink computing device different from the first sink computing device and at a second time slot and during the data transmission session, a second list of lost data block if there is data packet(s) from the plurality of data packets that the second sink computing device doesn't receive from the source computing device,
- wherein the first time slot is prior to the second time slot if the first sink computing device has a higher priority than the second sink computing device,
- wherein at least one of the first list of lost data block and the second list of lost data block is to be received from the first sink computing device and/or the second sink computing device in response to the message transmitted during the data transmission session.
A method, to be employed by a sink computing device from a plurality of sink computing devices, comprising:
- receiving, from a source computing device, at least one of a plurality of data packets during a data transmission session;
- receiving, from the source computing device and during the data transmission session, a message indicating an end of transmitting the plurality data packets from the source computing device to the sink computing device, wherein receiving the message comprises receiving the message after transmission of the plurality of data packets is complete;
- transmitting, to the source computing device at a first time slot and in response to the message and during the data transmission session, a first list of lost data blocks if there is data packet(s) from the plurality of data packets that the sink computing device doesn't receive from the source computing device, wherein each of the lost data blocks listed in the first list of lost data blocks is sent by the source computing device as part of sending the plurality of data packets;
- wherein the first time slot is prior to a second time slot at which another sink computing device of the plurality of sink computing device, different from the sink computing device, is to transmit a second list of lost data block if there is data packet(s) from the plurality of data packets that the another sink computing device doesn't receive from the source computing device, and if the first sink computing device has a higher priority than the second sink computing device.
A source computing device, comprising:
- one or more processors;
- and
- a memory device having stored therein a plurality of instructions that, if executed by the processors, cause the processors to:
- initialize a data transmission session;
- transmit, to a plurality of sink computing devices, a plurality of data packets during the data transmission session;
- transmit, to the plurality of sink computing devices, a message associated with an end of transmitting the plurality of data packets during the data transmission session;
- receive, from a first sink computing device of the plurality of sink computing devices at a first time slot and during the data transmission session, a first list of lost data block if there is data packet(s) from the plurality of data packets that the first sink computing device doesn't receive from the source computing device, wherein the lost data blocks are included in the data packets of the plurality of data packets not received from the source computing device;
- and
- receive, from a second sink computing device of the plurality of sink computing device different from the first sink computing device and at a second time slot and during the data transmission session, a second list of lost data block if there is data packet(s) from the plurality of data packets that the second sink computing device doesn't receive from the source computing device,
- wherein, the first time slot is prior to the second time slot if the first sink computing device has a higher priority than the second sink computing device,
- wherein at least one of the first list of lost data block and the second list of lost data block is to be received from the first sink computing device and/or the second sink computing device in response to the message.
A sink computing device, comprising:
- one or more processors;
- and
- a memory device having stored therein a plurality of instructions that, if executed by the processors, cause the processors to:
- receive, from a source computing device, at least one of a plurality of data packets during a data transmission session;
- receive, from the source computing device and during the data transmission, a message associated with an end of transmitting the plurality data packets from the source computing device to the sink computing device, wherein receiving the message comprises receiving the message after transmission of the plurality of data packets is complete;
- transmit, to the source computing device at a first time slot and in response to the message and during the data transmission session, a first list of lost data block if there is data packet(s) from the plurality of data packets that the sink computing device doesn't receive from the source computing device, wherein each of the lost data blocks listed in the first list of lost data blocks is sent by the source computing device as part of sending the plurality of data packets;
- wherein the first time slot is prior to a second time slot at which another sink computing device of the plurality of sink computing device, different from the sink computing device, is to transmit a second list of lost data block if there is data packet(s) from the plurality of data packets that the another sink computing device doesn't receive from the source computing device, and if the first sink computing device has a higher priority than the second sink computing device.
Dependencies are inferred from the claim text.