System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment
First Claim
1. A system for transferring a data set, accumulated from a plurality of sources, to a plurality of clients, the system comprising:
- a server, having a user space and a kernel space, in a distributed network arrangement with each of the plurality of clients over TCP/IP;
a computer-readable medium embodying;
a distribution program, wherein the distribution program operates in the user space, and wherein the distribution program accumulates a data set of packets from a plurality of sources;
an application program interface, wherein the application program interface operates in the user space, and wherein the application program interface transfers the accumulated data set of packets to the kernel space with only one software interrupt;
a memory structure, wherein the memory structure operates in the kernel space, and wherein the memory structure stores the accumulated data set of packets in a single buffer after the accumulated data set of packets has been transferred to kernel space, anda driver, wherein the driver operates in the kernel space, and wherein the driver distributes the accumulated data set in the single buffer to the plurality of clients responsive to the one software interrupt, wherein the driver distributes the accumulated data set in the single buffer to the plurality of clients responsive to the one software interrupt by distributing each of the packets in the accumulated data set of packets to a proper socket connection in kernel space.
1 Assignment
0 Petitions
Accused Products
Abstract
A system (150) and method provide for the transfer of at least one packet (194) comprising data between a user space (152) and a kernel space (154) associated with a server (156) that is positioned in a distributed network arrangement (192) with a plurality of clients (158, 160, 162, 164). A distribution program (168) associated with the user space (152) is operable to accumulate the at least one packet (194). An application program interface (174) associated with the user space (152) transfers the at least one packet (194) to the kernel space (154) with a number of software interrupts (204). A driver (176) associated with the kernel space (154) is operable to distribute the at least one packet (194) to a subset of the plurality of clients (158, 160, 162, 164) in response to receiving the number of software interrupts (204). The number of software interrupts (204) is less than one software interrupt per packet per client.
58 Citations
10 Claims
-
1. A system for transferring a data set, accumulated from a plurality of sources, to a plurality of clients, the system comprising:
-
a server, having a user space and a kernel space, in a distributed network arrangement with each of the plurality of clients over TCP/IP; a computer-readable medium embodying; a distribution program, wherein the distribution program operates in the user space, and wherein the distribution program accumulates a data set of packets from a plurality of sources; an application program interface, wherein the application program interface operates in the user space, and wherein the application program interface transfers the accumulated data set of packets to the kernel space with only one software interrupt; a memory structure, wherein the memory structure operates in the kernel space, and wherein the memory structure stores the accumulated data set of packets in a single buffer after the accumulated data set of packets has been transferred to kernel space, and a driver, wherein the driver operates in the kernel space, and wherein the driver distributes the accumulated data set in the single buffer to the plurality of clients responsive to the one software interrupt, wherein the driver distributes the accumulated data set in the single buffer to the plurality of clients responsive to the one software interrupt by distributing each of the packets in the accumulated data set of packets to a proper socket connection in kernel space. - View Dependent Claims (2, 3, 4, 5, 9)
-
-
6. A system for transferring a data set, accumulated from a plurality of sources, between a kernel space in a server and a user space in the server, the server in a distributed network arrangement with a plurality of clients over TCP/IP, the system comprising:
-
a computer-readable medium embodying; a driver, wherein the driver operates in the kernel space, and wherein the driver accumulates a data set of packets relating to data transfers between the plurality of clients and the server and, responsive to a single software interrupt, transfer the accumulated data set to the user space; and a driver-compliant application program interface, wherein the driver-compliant application program interface operates in the user space, and wherein the driver-compliant application program interface receives the accumulated data set responsive to the single software interrupt; and a memory structure, wherein the memory structure operates in the kernel space, and wherein the memory structure stores the accumulated data set in a single buffer; wherein the driver transfers the accumulated data set in the single buffer to the user space responsive to the single software interrupt by transferring each of the packets in the accumulated data set of packets to a program in user space associated with a proper socket connection for each of the packets. - View Dependent Claims (7, 8, 10)
-
Specification