IP Library Granted Patent US 10,153,887
Granted Patent B2
US 10,153,887 · App. 15/722,878 · Granted Dec 11, 2018

Patch download with improved acknowledge mechanism

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,153,887
App. No.
15/722,878
Granted
Dec 11, 2018
Kind
B2
Abstract

Generally, this disclosure provides systems, devices, methods and computer readable media for patch downloading, from a host to a target, with improved acknowledge (ACK) mechanisms including combinations of out-of-sequence, single and aggregate acknowledge mechanisms. The method may include determining a packet size based on buffer capacity of the host; calculating the total number of packets (P) for transmission based on a size of the patch divided by the packet size; and calculating a packet storage capacity (N) of the target, based on buffer capacity of the target divided by the packet size. The method may also include transmitting the P packets to the target, including a sequence number and a portion of the patch, the transmission segmented into one or more cycles of up to N packets. The method may further include receiving ACKs from the target (asynchronously relative to the packet transmissions), the ACKS associated with the sequence numbers.

Claims (53)

1. A system for downloading a patch including at least one packet from a host to a target, the system comprising:

host initialization circuitry to:

determine a total number of packets (P) for transmission to the target based on a packet size of the at least one packet and a patch size of the patch; and

determine a packet storage capacity (N) of the target based on the packet size and a capacity of a buffer of the target; and

packet transmit circuitry to transmit the packets to the target, each of the packets including at least a sequence number and a portion of the patch, the transmission segmented into one or more cycles, each cycle including up to N packets.

2. The system of claim 1 , wherein the host initialization circuitry is to determine the packet size based, at least in part, on a buffer capacity of the host.

3. The system of claim 1 , wherein:

the packets are to be transmitted to the target over a physical transport; and

the host initialization circuitry is to determine the packet size of the at least one packet based, at least in part, on one or more characteristics of the physical transport.

4. The system of claim 1 , further comprising acknowledgement (ACK) verification circuitry to receive ACKs from the target, wherein:

the ACKs are associated with one or more of the packet sequence numbers; and

the ACKs are received asynchronously relative to the packet transmissions.

5. The system of claim 4 , wherein the initialization circuitry is further to transmit a first packet and wait to receive an ACK associated with the first packet, the first packet further including the packet size, an ACK algorithm type identifier and a patch checksum.

6. The system of claim 4 , further comprising algorithm selection circuitry to select download operation in:

a single ACK mode, wherein the ACK is associated with one of the packet sequence numbers; or

an aggregate ACK mode, wherein the ACK is associated with a plurality of the packet sequence numbers.

7. The system of claim 4 , wherein the ACK verification circuitry is further to detect a transmission error associated with one of the P packets based on:

an error indication included in an ACK associated with the packet; or

a failure to receive an ACK associated with the packet.

8. The system of claim 1 , further comprising retry circuitry to retransmit the packet associated with the transmission error up to a predetermined number of attempts until receiving an ACK indicating transmission success.

9. One or more non-transitory computer-readable storage devices having stored thereon instructions which when executed by one or more processors result in operations for downloading a patch including one or more packets from a host to a target, the operations comprising:

determine a total number of packets (P) for transmission to the target based on a packet size of the one or more packets and a patch size of the patch;

determine a packet storage capacity (N) of the target based on the packet size and a capacity of a buffer of the target; and

transmit the packets to the target, each of the packets including at least a sequence number and a portion of the patch, the transmission segmented into one or more cycles, each cycle including up to N packets.

10. The one or more non-transitory computer-readable storage devices of claim 9 , wherein the instructions, when executed by the one or more processors, result in further operations comprising:

determine the packet size based, at least in part, on a buffer capacity of the host.

11. The one or more non-transitory computer-readable storage devices of claim 9 , wherein:

the packets are to be transmitted to the target over a physical transport; and

the instructions, when executed by the one or more processors, result in operations comprising:

determine the packet size of the at least one packet based, at least in part, on one or more characteristics of the physical transport.

12. The one or more non-transitory computer-readable storage devices of claim 9 , wherein the instructions, when executed by the one or more processors, result in further operations comprising:

receive acknowledgements (ACKs) from the target, wherein:

the ACKs are associated with one or more of the packet sequence numbers; and

the ACKs are received asynchronously relative to the packet transmissions.

13. The one or more non-transitory computer-readable storage devices of claim 12 , wherein the instructions, when executed by the one or more processors, result in further operations comprising:

transmit a first packet and waiting to receive an ACK associated with the first packet, the first packet further including the packet size, an ACK algorithm type identifier and a patch checksum.

14. The one or more non-transitory computer-readable storage devices of claim 12 , wherein the instructions, when executed by the one or more processors, result in further operations comprising:

detect a transmission error associated with one of the P packets based on:

an error indication included in an ACK associated with the packet; or

a failure to receive an ACK associated with the packet.

15. A method for downloading a patch from a host to a target, the method comprising:

determining a total number of packets (P) for transmission to the target based on a packet size of the one or more packets and a patch size of the patch;

determining a packet storage capacity (N) of the target based on the packet size and a capacity of a buffer of the target; and

transmitting the packets to the target, each of the packets including at least a sequence number and a portion of the patch, the transmission segmented into one or more cycles, each cycle including up to N packets.

16. The method of claim 15 , further comprising determining the packet size based, at least in part, on a buffer capacity of the host.

17. The method of claim 15 , further comprising determining the packet size of the at least one packet based, at least in part, on one or more characteristics of a physical transport, wherein the packets are to be transmitted to the target over the physical transport.

18. The method of claim 15 , further comprising receiving acknowledgements (ACKs) from the target, wherein:

the ACKs are associated with one or more of the packet sequence numbers; and

the ACKs are received asynchronously relative to the packet transmissions.

19. The method of claim 18 , further comprising transmitting a first packet and waiting to receive an ACK associated with the first packet, the first packet further including the packet size, an ACK algorithm type identifier and a patch checksum.

20. The method of claim 18 , further comprising detecting a transmission error associated with one of the P packets based on:

an error indication included in an ACK associated with the packet; or

a failure to receive an ACK associated with the packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 056524/0373 →