User-level stack
First Claim
1. A method for transmitting data by means of a data processing system having a processor subsystem, the system being capable of supporting an operating system and at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of:
- forming by means of an application executing on the processor subsystem, data to be transmitted;
requesting by means of the application a non-operating-system functionality executing on the processor subsystem to send the data to be transmitted over the network;
responsive to that request;
writing the data to be transmitted to an area of the memory comprising a data buffer and corresponding connection state; and
initiating by means of direct communication between the non-operating-system functionality and the network interface device a transmission operation of at least some of the data over the network;
and after the transmission operation has been initiated over the network, determining that the application is unresponsive, and in response to such determination, the operating system accessing the said data buffer and connection state and continuing the transmission operation over the network by means of the network interface device,wherein the processor subsystem is in communication with the memory via a bus,and wherein the network interface device is in communication with the memory via a bus.
11 Assignments
0 Petitions
Accused Products
Abstract
A method for transmitting data by means of a data processing system, the system being capable of supporting an operating system and at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of: forming by means of the application data to be transmitted; requesting by means of the application a non-operating-system functionality of the data processing system to send the data to be transmitted; responsive to that request: writing the data to be transmitted to an area of the memory; and initiating by means of direct communication between the non-operating-system functionality and the network interface device a transmission operation of at least some of the data over the network; and subsequently accessing the memory by means of the operating system and performing at least part of a transmission operation of at least some of the data over the network by means of the network interface device.
41 Citations
63 Claims
-
1. A method for transmitting data by means of a data processing system having a processor subsystem, the system being capable of supporting an operating system and at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of:
-
forming by means of an application executing on the processor subsystem, data to be transmitted; requesting by means of the application a non-operating-system functionality executing on the processor subsystem to send the data to be transmitted over the network; responsive to that request; writing the data to be transmitted to an area of the memory comprising a data buffer and corresponding connection state; and initiating by means of direct communication between the non-operating-system functionality and the network interface device a transmission operation of at least some of the data over the network; and after the transmission operation has been initiated over the network, determining that the application is unresponsive, and in response to such determination, the operating system accessing the said data buffer and connection state and continuing the transmission operation over the network by means of the network interface device, wherein the processor subsystem is in communication with the memory via a bus, and wherein the network interface device is in communication with the memory via a bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 36)
-
-
13. A data processing system for transmitting data, comprising:
-
a processor subsystem having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the processor subsystem being in communication with the memory via a bus and the network interface device being in communication with the memory via a bus, the data processing system having; an application configured to, while executing on the processor subsystem, form data to be transmitted, cause it to be written to an area of the memory comprising a data buffer and corresponding connection state and request a non-operating-system functionality of the data processing system to send the data to be transmitted over the network; a non-operating system functionality configured to, while executing on the processor subsystem, initiate by means of direct communication between itself and the network interface device a transmission operation of at least some of the data over the network; and an operating system configured to, while executing on the processor subsystem and in response to the application being determined to be unresponsive after the transmission operation has been initiated over the network, access the said data buffer and connection state and continue the transmission operation over the network by means of the network interface device. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
14. A method for receiving data by means of a data processing system having a processor subsystem, the system being capable of supporting at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of:
-
establishing by means of a non-operating-system functionality executing on the processor subsystem, a channel for reception of data by an application, the channel being associated with an area of the memory comprising a data buffer and corresponding connection state; and receiving data of a data reception operation through that channel by; the network interface device writing received data to the data buffer; and the application, while executing on the processor subsystem, reading received data from the data buffer; and after the reception operation has been initiated over the network, and in response to the application becoming unable to communicate with the network device the operating system, while executing on the processor subsystem, accessing the connection state and the data buffer and continuing the data reception operation, wherein the processor subsystem is in communication with the memory via a bus, and wherein the network interface device is in communication with the memory via a bus. - View Dependent Claims (15)
-
-
16. A system for receiving data comprising:
-
a network interface device capable of supporting a communication link over a network with another network interface device; a data processing system having a processor subsystem and supporting an operating system and at least one application and having access to a memory and the network interface device, the data processing system further supporting a non-operating-system functionality configured for, while executing on the processor subsystem, establishing a channel for reception of data by an application, the channel being associated with an area of the memory comprising a data buffer and corresponding connection state; the network interface device being configured to write received data of a data reception operation to the data buffer; the application being configured to read received data from the data buffer while the application is executing on the processor subsystem; and the operating system being configured to, while executing on the processor subsystem and in response to the application becoming unable to communicate with the network device after the reception operation has been initiated over the network, access the connection state and the data buffer and continue the data reception operation, the processor subsystem being in communication with the memory via a bus and the network interface device being in communication with the memory via a bus. - View Dependent Claims (63)
-
-
17. A method for transmitting data by means of a data processing system having a processing subsystem, the system being capable of supporting an application and an operating system and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of:
-
forming by means of the application data to be transmitted; a non-operating-system functionality, while executing on the processor subsystem, passing that data to the network interface device for transmission, the said passing of the data being performed bypassing the operating system; transmitting the data by means of the network interface device; on receiving an acknowledgement for the data, the network interface device writing the acknowledgement to an area of the memory accessible to the application and starting a timer at the network interface device; and if the application accesses the acknowledgement, cancelling the timer;
orif the timer reaches a predetermined value, the network interface device signaling the operating system to indicate that the application is unresponsive, the processor subsystem being in communication with the memory via a bus and the network interface device being in communication with the memory via a bus. - View Dependent Claims (18, 19, 20)
-
-
21. A system for transmitting data comprising a data processing system supporting an operating system and a network interface device capable of supporting a communication link over a network with another network interface device, the data processing system having a processor subsystem with access to a memory and the network interface device, and further having:
-
an application configured to form data to be transmitted; a non-operating-system functionality configured to, while executing on the processor subsystem, pass the formed data to the network interface device for transmission, the said passing of the data being performed bypassing the operating system; and a timer at the network interface device; wherein the network interface device is configured to transmit the data and, on receiving an acknowledgement for the data, write the acknowledgement to an area of the memory accessible to the application and start a timer corresponding to the data; the network interface device being further configured to; if the application accesses the acknowledgement, cancel the timer;
orif the timer reaches a predetermined value, signal the operating system to indicate that the application is unresponsive, wherein the processor subsystem is in communication with the memory via a bus and the network interface is in communication with the memory via a bus. - View Dependent Claims (48, 49, 50)
-
-
22. A method for transmitting or receiving data by means of a data processing system having a processor subsystem, the system supporting an operating system and an application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising:
-
allocating one or more areas of the memory for use as data buffers and connection state in the transfer of data between the data processing system and the network interface device; and directly accessing at least one of the areas of the memory by means of the application, executing on the processor subsystem, for at least one of a data transmission operation by means of the network interface device and a data reception operation by means of the network interface device; if the application is determined to be unresponsive, the network interface device signaling the operating system to access the said at least one of the areas of the memory; and in response to the signal, the operating system, executing on the processor subsystem, directly accessing at least one of the data buffers and connection state for continuing the at least one transmission or reception operation by means of the network interface device, wherein the processor subsystem is in communication with the memory via a bus and the network interface is in communication with the memory via a bus. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system for transmitting or receiving data, the system comprising:
-
a data processing system having a processor subsystem and supporting an operating system and an application and having access to a memory, one or more areas of which are allocated for use for data buffers and connection state in the transfer of data between the data processing system and the network interface device; and a network interface device capable of supporting a connection over a network with another network interface device and configured to signal the operating system if the application is determined to be unresponsive; wherein the application is configured to, while executing on the processor subsystem, directly access at least one of the data buffers and connection state for at least one of a data transmission operation by means of the network interface device and a data reception operation by means of the network interface device, and the operating system is configured to, while executing on the processor subsystem and in response to said signal from the network interface device, directly access the said at least one of the data buffers and connection state for continuing the at least one transmission or reception operation by means of the network interface device, wherein the processor subsystem is in communication with the memory via a bus and the network interface is in communication with the memory via a bus. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
Specification