ONLOAD NETWORK PROTOCOL STACKS
First Claim
1. A method for transmitting data by means of a data processing system, the system 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 user-mode operating system functionality of the data processing system to direct the data to be transmitted, the request including an indication of a protocol by which the data is to be transmitted;
responsive to that request, the user-mode operating system functionality selecting a protocol processing entity in accordance with the indication of a protocol by which the data is to be transmitted;
forming within the context of the application by means of the protocol processing entity the data into packets for transmission in accordance with the protocol by which the data is to be transmitted and writing by means of the protocol processing entity the packets to be transmitted to an area of the memory;
initiating by means of communication between the protocol processing entity and the network interface device a transmission operation of at least some of the packets over the network.
10 Assignments
0 Petitions
Accused Products
Abstract
A method for transmitting data by means of a data processing system, the system 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 user-mode operating system functionality of the data processing system to direct the data to be transmitted, the request including an indication of a protocol by which the data is to be transmitted; responsive to that request, the user-mode operating system functionality selecting a protocol processing entity in accordance with the indication of a protocol by which the data is to be transmitted; forming within the context of the application by means of the protocol processing entity the data into packets for transmission in accordance with the protocol by which the data is to be transmitted and writing by means of the protocol processing entity the packets to be transmitted to an area of the memory; initiating by means of communication between the protocol processing entity and the network interface device a transmission operation of at least some of the packets over the network.
161 Citations
34 Claims
-
1. A method for transmitting data by means of a data processing system, the system 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 user-mode operating system functionality of the data processing system to direct the data to be transmitted, the request including an indication of a protocol by which the data is to be transmitted; responsive to that request, the user-mode operating system functionality selecting a protocol processing entity in accordance with the indication of a protocol by which the data is to be transmitted; forming within the context of the application by means of the protocol processing entity the data into packets for transmission in accordance with the protocol by which the data is to be transmitted and writing by means of the protocol processing entity the packets to be transmitted to an area of the memory; initiating by means of communication between the protocol processing entity and the network interface device a transmission operation of at least some of the packets over the network. - View Dependent Claims (2, 4, 5, 6, 8, 13, 17, 32)
-
-
3. (canceled)
-
7. (canceled)
-
9-12. -12. (canceled)
-
14-16. -16. (canceled)
-
18. A method for transmitting data by means of a data processing system, the system 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 data to be transmitted; requesting by means of the application a user-mode operating system functionality of the data processing system to direct the data to be transmitted, the request including an indication of a protocol by which the data is to be transmitted; responsive to that request, the user-mode operating system functionality selecting a protocol processing entity in accordance with the indication of a protocol by which the data is to be transmitted; creating an instance of the protocol processing entity; forming within the context of the application by means of the instance of the protocol processing entity the data into packets for transmission in accordance with the protocol by which the data is to be transmitted and writing by means of the instance of the protocol processing entity the packets to be transmitted to an area of the memory; initiating by means of communication between the instance of the protocol processing entity and the network interface device a transmission operation of at least some of the packets over the network.
-
-
19. A data processing system for transmitting data, the system supporting 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 system comprising:
-
an application configured to form data to be transmitted and request a user-mode operating system functionality of the data processing system to direct the data to be transmitted, the request including an indication of a protocol by which the data is to be transmitted; a user-mode operating system functionality configured to select a protocol processing entity in accordance with the indication of a protocol by which the data is to be transmitted in response to the request from the application; a protocol processing entity configured to form within the context of the application the data into packets for transmission in accordance with the protocol by which the data is to be transmitted, to write the packets to be transmitted to an area of the memory and to initiate by means of communication between itself and the network interface device a transmission operation of at least some of the packets over the network.
-
-
20-22. -22. (canceled)
-
23. A method for receiving data by means of a data processing system, the system 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:
-
establishing by means of a protocol processing entity of the data processing system a channel for reception of data by an application, the channel being associated with an area of the memory; writing data packets received at the network interface device to the area of the memory; the protocol processing entity reading the received data packets from the area of the memory and processing the data packets within the context of an application in accordance with a protocol by which the data packets are received so as to extract the data therein; and the application receiving the extracted data from the non-operating-system functionality by means of a user-mode operating system functionality. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A data processing system for transmitting data, the system supporting 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 system comprising:
-
one or more applications each configured to form data to be transmitted and to request a user-mode operating system functionality of the data processing system to direct the data to be transmitted, each request including an indication of a protocol by which that data is to be transmitted; the user-mode operating system functionality being configured to select, in response to each request from an application, a protocol processing entity in accordance with the indication of a protocol included in each request; one or more instances of a protocol processing entity, each instance being associated with an application and configured to form, within the context of that application, data received from that application into packets for transmission in accordance with the protocol by which that data is to be transmitted, to write the packets to be transmitted to an area of the memory and to initiate by means of communication between itself and the network interface device a transmission operation of at least some of the packets over the network.
-
-
30. A data processing system for receiving data, the system supporting an operating system and having access to a memory, the system comprising:
-
a protocol processing entity configured to establish a channel for reception of data by an application, the channel being associated with an area of the memory; a network interface device capable of supporting a communication link over a network with another network interface device and of writing data packets received at the network interface device to the area of the memory; the protocol processing entity being configured to read the received data packets from the area of the memory and process the data packets within the context of an application in accordance with a protocol by which the data packets are received so as to extract the data therein; and the application being configured to receive the extracted data from the non-operating-system functionality by means of a user-mode operating system functionality.
-
-
31. A system for installing a protocol processing entity into a data processing system, the data processing system 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 system comprising:
-
a protocol processing entity operable to form data into packets for transmission within the context of an application in accordance with a protocol by which the data is to be transmitted, to write the packets to be transmitted to an area of the memory and to initiate by means of communication between itself and the network interface device a transmission operation of at least some of the packets over the network; and an installer configured to install the protocol processing entity into the data processing system; wherein the operating system is one in which an installed protocol processing entity communicates with an application by means of a user-mode operating system functionality.
-
-
33. A protocol processing entity for performing network-level protocol processing in a data processing system, the data processing system supporting the Microsoft Windows operating system and at least one application and having access to a network interface device capable of supporting a communication link over a network with another network interface device, the protocol processing entity being embodied as a Winsock Service Provider and being configured to:
-
receive data packets from the network interface device and process the data packets within the context of an application in accordance with a protocol by which the data packets are received so as to extract the data therein; and form within the context of an application data received from that application into packets for transmission in accordance with the protocol by which the data is to be transmitted.
-
-
34-128. -128. (canceled)
Specification