Enhanced acknowledgement handling in communication packet transfer
AssigneeFastly, Inc.
InventorArtur Bergman
Life of this patent
Estimating the term…
Loading patent…
AssigneeFastly, Inc.
InventorArtur Bergman
Estimating the term…
Described herein are methods, systems, and software for handling packet buffering between end users and content servers, such as content delivery nodes. In one example, a method of operating a content server includes generating first and second data packets for first and second content requests. Once generated, the method provides storing the first packets in a packet buffer and transferring the first packets to a first user device. Upon transfer, the first packets are deleted from the packet buffer and replaced with the second packets.
A method of operating a content delivery node, the method comprising:
A computer apparatus to operate a content delivery node, the computer apparatus comprising:
A method of operating a content server to facilitate content requests, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Replacing packets in a storage arrangement, e.g. pushout: arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing…
Using universal interface adapter: for adaptation of a particular data processing system to different peripheral devices
In which the return channel carries supervisory signals, e.g. repetition request signals: details of the supervisory signal
Arrangements specially adapted for the transmitter end: time-out mechanisms
About 7 years 5 months of term left · ends 4 Apr 2034 (estimated)
Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include hosting servers which host network content of content creators or originators, such as web servers for hosting a news website.
Various communication protocols use packetized communications between end points, such as transmission control protocol (TCP), which resides at the transport layer that handles flow control and data transport services for application layers, among other higher network layers. Software for TCP communications can include various packet buffers to temporarily store packets already transferred to another system, such as an end user system, until an acknowledgement is received from the other system. If the acknowledgement is not received, then these stored packets can be resent from the packet buffer. If the acknowledgment is received, then these stored packets can be purged or deleted from the packet buffer.
Methods, systems, and software are included for handling packet buffering between end users and content servers, such as content delivery nodes. In one example, a method of operating a content delivery node, the method comprises identifying a first content request from a first end user device for first data and identifying a second content request from a second end user device for second data. The method also comprises generating first packets comprising the first data for the first content request, storing the first packets in a packet buffer of the content delivery node; and transferring the first packets from the packet buffer to the first end user device and deleting the first packets from the packet buffer without regard to receiving a packet acknowledgment from the first end user device. The method further comprises generating second packets comprising the second data for the second content request and in response to deleting the first packets, storing the second packets in the packet buffer.
The following description and associated figures teach the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects of the best mode can be simplified or omitted. The following claims specify the scope of the invention. Note that some aspects of the best mode cannot fall within the scope of the invention as specified by the claims. Thus, those skilled in the art will appreciate variations from the best mode that fall within the scope of the invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific examples described below, but only by the claims and their equivalents.
FIG. 1 is a block diagram illustrating a content delivery node.
FIG. 2 is a flow diagram illustrating a method of operation of a content delivery node.
Network content, such as web page content, typically includes content such as text, hypertext markup language (HTML) pages, pictures, video, audio, animations, code, scripts, or other content viewable by an end user in a browser or other application. This various network content can be stored and served by origin servers and equipment. However, when a content delivery system is employed, the content delivery system can act as a proxy to cache content delivery between origin servers and the end user devices.
Content delivery systems can add a layer of caching between origin servers of the content providers and the end users. The content delivery systems typically have one or more content delivery nodes (CDNs) distributed across a large geographic region to provide faster and lower latency local access to the content for the end users. When end users request content, such as a web page, a locally proximate content delivery node will respond to the content request instead of the associated origin server. Various techniques can be employed to ensure the content delivery node responds to content requests instead of the origin servers, such as associating web content of the origin servers with network addresses of the content delivery nodes instead of network addresses of the origin servers using domain name system (DNS) registration and lookup procedures.
In many examples of a CDN, multiple network content sources are handled by a single CDN. For example, a CDN can be configured to cache website content of many different websites of many different website content originators. When many different end users request content at the same time or over a similar time period, a CDN can become overloaded and have a slow response for content requests. This overloading can be amplified when multiple end user requests share a single or common packet buffer.