Reliable, out-of-order transmission of packets
AssigneeAmazon Technologies, Inc.
InventorsLeah Shalev, Brian William Barrett, Nafea Bshara, Georgy Machulsky
Life of this patent
Estimating the term…
Abstract
A computing system supporting reliable network communications can include a virtual machine executing a user application, and a network adapter device coupled to the virtual machine via a plurality of virtual interfaces. The user application can communicate with the network adapter device using a virtual interface assigned to the user application. Queue pairs, each including a send queue and a receive queue, can be implemented to process transmit packets being sent from the virtual machine to the network and incoming packets being sent to the virtual machine from the network.
Claims21
1-20. (canceled)
A computing system, comprising:
- a host device having a virtual machine operable to execute a user application;
- and
- a network adapter device coupled to the host device, wherein the network adapter device is operable to provide a plurality of transport services to enable communications between the host device and a network, the plurality of transport services including:
- an unreliable datagram transport service that does not guarantee delivery of packets;
- and
- a relaxed reliable datagram transport service that uses packet tracking logic to guarantee packet delivery and supports out-of-order packet arrival.
A network adapter device, comprising:
- one or more processing cores;
- a bus interface operable to communicate with a host device;
- and
- a network interface operable to communicate with a network,
- wherein the network adapter device is operable to provide a plurality of transport services to enable communications between the host device and the network, the plurality of transport services including:
- an unreliable datagram transport service that does not guarantee delivery of packets;
- and
- a relaxed reliable datagram transport service that uses packet tracking logic to guarantee packet delivery and supports out-of-order packet arrival.
A method, comprising:
- executing a virtual machine on a host device;
- running a user application on the virtual machine;
- providing a virtual interface to couple the virtual machine to a network adapter device, the network adapter device providing a plurality of transport services including an unreliable datagram transport service that does not guarantee delivery of packets, and a relaxed reliable datagram transport service that uses packet tracking logic to guarantee packet delivery and supports out-of-order packet arrival;
- providing a transport context that uses the relaxed reliable datagram transport service to manage a plurality of flowlets corresponding to respective network paths for communications between the user application and a destination system via a network;
- and
- exchanging application data with the destination system on the network via the plurality of flowlets.
Dependencies are inferred from the claim text.