发明名称 System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment
摘要 A system (150) and method are disclosed that 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.
申请公布号 US8996612(B1) 申请公布日期 2015.03.31
申请号 US201113162518 申请日期 2011.06.16
申请人 Charles Schwab & Co., Inc. 发明人 Klager Andrew David;Rhudy Robert Lee
分类号 G06F15/16;H04L12/26 主分类号 G06F15/16
代理机构 Kilpatrick Townsend & Stockton LLP 代理人 Kilpatrick Townsend & Stockton LLP
主权项 1. A method for transferring data from a plurality of clients to a server system, the method comprising: sending a request for data to the server system from a client of the plurality of clients, wherein the server system includes a user space and a kernel space; and receiving data from the server system, wherein in response to the request for data from the client, the server system runs a computer program in the user space embodied on a non-transitory computer readable medium, the computer program comprising a plurality of code segments for performing a method comprising the steps of: accumulating data packets in the user space from a plurality of sources, the data packets relative to a network data distribution between the server system and the plurality of clients; transferring the data packets from the user space to the kernel space with a software interrupt using an application programming interface operating in the user space; storing the accumulated data packets in a single buffer in the kernel space after the data packets have been transferred from the user space; and distributing the accumulated data packets from the single buffer to the plurality of the clients responsive to the software interrupt using a driver operating in the kernel space, wherein each of the accumulated data packets are distributed to an appropriate socket connection in the kernel space.
地址 San Francisco CA US