8819242

Method and System to Transfer Data Utilizing Cut-Through Sockets

PublishedAugust 26, 2014
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A system to exchange information, the system comprising: a source operating system residing on a device comprising one or more processors, source operating system configured to write data to a memory page; a destination operating system residing on the device, the source operating system and the destination operating system being distinct network nodes and having a shared memory, the shared memory of the source operating system and the destination operating system comprising the memory page; and an offload stack residing on the device and hosted by a third operating system separate from the source operating system and the destination operating system, the offload stack to function as an intermediate network device for the source operating system; wherein the offload stack comprises: a back end to receive a message from the source operating system to the destination operating system, the message from the source operating system comprising a request to transfer source data from the source operating system to the destination operating system, an analyzer to determine that the source operating system and the destination operating system both reside on the same device, and a cut through socket module to process the message such that a network layer of the offload stack is bypassed in response to the analyzer determining that the source operating system and the destination operating system both reside on the device, wherein processing the message such that the network layer is bypassed comprises transferring a pointer to the memory page from the source operating system to the destination operating system, the offload stack being configured to transfer the source data from the source operating system to the destination operating system by transferring ownership of memory pages storing the source data.

Plain English Translation

A system for fast data transfer between applications on the same device includes a source operating system and a destination operating system, treated as distinct network nodes, that share memory pages. An offload stack, running on a separate operating system, acts as an intermediary. When the offload stack receives a data transfer request, it analyzes and determines that both operating systems reside on the same device. Instead of routing the data through a full network stack, the system bypasses the network layer within the offload stack. Bypassing involves transferring a pointer to the shared memory page directly from the source operating system to the destination operating system, effectively transferring ownership of the memory containing the data for an optimized path.

Claim 2

Original Legal Text

2. The system of claim 1 , wherein the offload stack is to run on a first processor core and the source operating system is to run on a second processor core.

Plain English Translation

The data transfer system described above has its offload stack running on a dedicated processor core separate from the processor core used by the source operating system. This separation of processor cores allows for parallel processing and potentially reduces contention, improving the overall performance of the data transfer operation. By assigning the offload stack and the source operating system to different processor cores, the system can optimize resource utilization and achieve faster data transfer rates between the source and destination operating systems.

Claim 3

Original Legal Text

3. The system of claim 1 , wherein the offload stack comprises a transmit queue to receive pointers to the memory pages storing the source data.

Plain English Translation

In the data transfer system described, the offload stack includes a transmit queue. This queue stores pointers to memory pages that hold the source data destined for the destination operating system. The source operating system places pointers to the relevant memory pages into this queue. The offload stack then uses these pointers to manage the data transfer. This transmit queue assists in managing data flow and synchronizing the data transfer process, providing a buffer between the source and destination.

Claim 4

Original Legal Text

4. The system of claim 1 , further comprising: an offload stack front end to run on the source operating system; and a ring buffer interface to bridge the source operating system and the offload stack.

Plain English Translation

The data transfer system includes an offload stack front-end residing within the source operating system. A ring buffer interface then connects the source operating system with the offload stack. The front-end facilitates communication, and the ring buffer provides a queue-like structure for passing data and control information between the operating system and the offload stack, enabling asynchronous communication. This addition allows for efficient data passing between the OS and the offload stack.

Claim 5

Original Legal Text

5. The system of claim 4 , wherein the ring buffer interface is to receive pointers to memory pages storing data associated with the message from the source operating system.

Plain English Translation

Building upon the previous description of the system that includes an offload stack front-end within the source operating system and a ring buffer interface to bridge the source operating system and the offload stack, the ring buffer interface is specifically designed to receive pointers to memory pages that store data associated with the message being transferred from the source operating system. This means the source operating system doesn't copy the entire data, only the pointers, improving transfer efficiency.

Claim 6

Original Legal Text

6. The system of claim 1 , wherein the source operating system and the destination operating system are distinct operating systems.

Plain English Translation

The data transfer system utilizes two distinct operating systems, a source operating system, and a destination operating system, to facilitate data exchange between two isolated execution environments. The use of distinct OSs allows for a separation of concerns and can improve security and stability. By treating the source and destination as different operating systems, the system can handle scenarios where applications are running in isolated environments, enabling secure and efficient communication between them.

Claim 7

Original Legal Text

7. The system of claim 1 , wherein the source operating system and the destination operating system are two versions of an operating system.

Plain English Translation

Instead of using totally different operating systems for source and destination, the data transfer system may use two different versions of the same operating system. This allows for testing and migration scenarios where applications need to communicate across version boundaries. By supporting different OS versions, the system can facilitate seamless transitions during upgrades or compatibility testing, allowing applications to function correctly across different OS versions.

Claim 8

Original Legal Text

8. A method to exchange information between computer applications, the method comprising: receiving, at an offload stack hosted on a device comprising one or more processors, a message from a source operating system to a destination operating system, the source operating system and the destination operating system being distinct network nodes and having a shared memory, the shared memory of the source operating system and the destination operating system comprising a memory page to which data from the source operating system has been written, the offload stack being hosted by a third operating system separate from the source operating system and the destination operating system, the message from the source operating system comprising a request to transfer source data from the source operating system to the destination operating system; determining by the offload stack, that the source operating system and the destination operating system are both hosted on the device; transferring the message to the destination operating system such that a network layer of the offload stack is bypassed in response to the determination that the source operating system and the destination operating system are both hosted on the device, wherein transferring the message such that the network layer is bypassed comprises transferring a pointer to the memory page from the source operating system to the destination operating system; and transferring, by the offload stack, the source data from the source operating system to the destination operating system by transferring ownership of memory pages storing the source data.

Plain English Translation

A method for transferring data quickly between applications involves receiving a message at an offload stack hosted on a device. The message is from a source operating system to a destination operating system, which act as separate network nodes, but share memory pages. The offload stack determines if both operating systems are on the same device. If so, it bypasses its own network layer and passes the message directly, transferring a pointer to the memory page. The offload stack then transfers the data by transferring ownership of the memory pages storing the data.

Claim 9

Original Legal Text

9. The method of claim 8 , wherein the processing of the message such that a network layer of the offload stack is bypassed comprises: determining a pointer to a memory page associated with the message from the source operating system; placing the pointer into a transmit queue of the offload stack; and sending the pointer to a socket layer of the destination operating system.

Plain English Translation

The data transfer method described above includes a network layer bypass by first determining a pointer to a memory page related to the message. This pointer is then placed into a transmit queue within the offload stack. Finally, this pointer is sent directly to the socket layer of the destination operating system. This process allows direct access to the memory location without network overhead.

Claim 10

Original Legal Text

10. The method of claim 9 , further comprising: allocating memory to manage the memory page associated with the message from the source; and swapping the memory page associated with the message from the source with a memory page owned by a kernel of the offload stack.

Plain English Translation

Expanding on the previous data transfer method that bypasses the network layer, this enhancement involves allocating memory to manage the memory page associated with the message from the source operating system. The allocated memory page is then swapped with a memory page owned by the offload stack's kernel. This memory swapping mechanism ensures proper resource management and security during the data transfer process.

Claim 11

Original Legal Text

11. The method of claim 10 , further comprising swapping the memory page owned by the kernel of the offload stack with a memory page owned by the destination operating system.

Plain English Translation

Building upon the previous described data transfer method that includes memory page swapping between the message from the source OS and a kernel memory page, the kernel-owned memory page is further swapped with a memory page owned by the destination operating system. This additional swapping step ensures that the destination operating system gains direct ownership and access to the data in a controlled and secure manner.

Claim 12

Original Legal Text

12. The method of claim 8 , wherein the source operating system and the destination operating system are distinct operating systems.

Plain English Translation

The data transfer method utilizes two distinct operating systems, a source operating system and a destination operating system, to facilitate data exchange between two isolated execution environments. The use of distinct OSs allows for separation of concerns and can improve security and stability. By treating the source and destination as different operating systems, the system can handle scenarios where applications are running in isolated environments.

Claim 13

Original Legal Text

13. The method of claim 8 , wherein the source operating system and the destination operating system are two versions of an operating system.

Plain English Translation

Rather than requiring fully separate operating systems, the data transfer method may use two different versions of the same operating system for the source and destination. This supports testing and migration scenarios where applications must communicate across version differences. By allowing different OS versions, the method allows smooth transitions during upgrades and compatibility testing.

Claim 14

Original Legal Text

14. The method of claim 8 comprising establishing a socket between the source operating system and the destination operating system.

Plain English Translation

A method for transferring data between operating systems involves establishing a secure communication channel, specifically a socket connection, between a source operating system and a destination operating system. This method addresses the challenge of securely and efficiently transferring data across different operating systems, which may have varying protocols, security requirements, or network configurations. The socket connection ensures reliable data transmission by providing a standardized communication endpoint that can handle data exchange regardless of the underlying operating systems. This approach is particularly useful in environments where data must be transferred between systems with different architectures or security policies, such as in cloud computing, distributed systems, or cross-platform applications. The method may also include additional steps, such as authenticating the connection, encrypting the data, or managing the data transfer rate to optimize performance and security. By using a socket, the method ensures compatibility and interoperability while maintaining data integrity during the transfer process.

Claim 15

Original Legal Text

15. The method of claim 14 , wherein the established socket uses a Transmission Control Protocol (TCP).

Plain English Translation

In the data transfer method that establishes a socket connection, the established socket can use the Transmission Control Protocol (TCP). TCP provides reliable, ordered, and error-checked delivery of data. This choice of protocol ensures the reliable transfer of data between the source and destination operating systems.

Claim 16

Original Legal Text

16. The method of claim 14 , wherein the established socket uses a User Datagram Protocol (UDP).

Plain English Translation

In the data transfer method that establishes a socket connection, the established socket can alternatively use the User Datagram Protocol (UDP). UDP is a connectionless protocol that offers faster data transfer but without guaranteed delivery or ordering. This choice is suitable for applications where speed is more important than reliability.

Claim 17

Original Legal Text

17. A non-transitory machine-readable storage medium having instructions which, when executed by a machine, cause the machine to: receive, at an offload stack hosted on a device, a message from a source operating system to a destination operating system, the source operating system and the destination operating system being distinct network nodes and having a shared memory, the shared memory of the source operating system and the destination operating system comprising a memory page to which data from the source operating system has been written, the offload stack being hosted by a third operating system separate from the source operating system and the destination operating system, the message from the source operating system comprising a request to transfer source data from the source operating system to the destination operating system; determine, at the offload stack, that the source operating system and the destination operating system are both hosted on the device; transfer the message to the destination operating system such that a network layer of the offload stack is bypassed in response to the determination that the source operating system and the destination operating system are both hosted on the device, wherein transferring the message such that the network layer is bypassed comprises transferring a pointer to the memory page from the source operating system to the destination operating system; and transfer, by the offload stack, the source data from the source operating system to the destination operating system by transferring ownership of memory pages storing the source data.

Plain English Translation

A non-transitory computer-readable storage medium stores instructions. When executed, these instructions enable fast data transfer between applications by receiving a message at an offload stack. The message is from a source operating system to a destination OS, acting as separate network nodes but sharing memory. The offload stack determines if both OSs reside on the same device. If yes, it bypasses its network layer, transferring a pointer to the memory page. It transfers the data by transferring ownership of the memory pages.

Claim 18

Original Legal Text

18. A system to exchange information between computer applications, the system comprising: means for receiving, at an offload stack hosted on a device, a message from a source operating system to a destination operating system, the source operating system and the destination operating system being distinct network nodes and having a shared memory, the shared memory of the source operating system and the destination operating system comprising a memory page to which data from the source operating system has been written, the offload stack being hosted by a third operating system separate from the source operating system and the destination operating system, the message from the source operating system comprising a request to transfer source data from the source operating system to the destination operating system; means for determining, at the offload stack, that the source operating system and the destination operating system are both hosted on the device; and means for transferring the message to the destination operating system such that a network layer of the offload stack is bypassed in response to the determination that the source operating system and the destination operating system are both hosted on the device, wherein the means for transferring the message comprises means for transferring a pointer to the memory page from the source operating system to the destination operating system; and means for transferring, at the offload stack, the source data from the source operating system to the destination operating system by transferring ownership of memory pages storing the source data.

Plain English Translation

A system exchanges information between computer applications. It receives a message at an offload stack, hosted on a device, from a source operating system to a destination operating system. They act as distinct network nodes and have shared memory. The system determines, at the offload stack, that the source and destination OSs are both on the device. The system then transfers the message to the destination OS, bypassing the offload stack's network layer by transferring a pointer to the shared memory. Finally, it transfers the source data at the offload stack by transferring ownership of the memory pages.

Patent Metadata

Filing Date

Unknown

Publication Date

August 26, 2014

Inventors

Mark A. Bakke
David Patrick Thompson
Timothy J. Kuik
Paul Harry Gleichauf

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND SYSTEM TO TRANSFER DATA UTILIZING CUT-THROUGH SOCKETS” (8819242). https://patentable.app/patents/8819242

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/8819242. See llms.txt for full attribution policy.