Patent ID: 9411636
Filing Date: 2016-08-09
CPC Classification: G06F

Claim Text:
1. A method comprising a data processor of a network server executing computer instructions stored on non-transitory computer readable storage medium to perform the steps of: (a) an application or kernel process of the network server invoking a real-time network thread manager of the network server to place a real-time task on a real-time task list upon receiving a service request, the real-time network thread manager returning, to the application or kernel process, a cookie identifying the real-time task on the real-time task list, wherein the real-time network thread manager manages a service request table and a real-time thread dispatch table, wherein the service request table includes a set of service request entries for each real-time thread of a set of real-time threads, wherein the real-time thread dispatch table includes an entry for each real-time thread of the set of real-time threads, wherein the real-time task is added to the real-time list by registering the real-time task, wherein the real time task is registered by allocation of an entry for the service request in the service request table, assigning a CPU to the service request, and returning the cookie including an identifier of the assigned CPU, wherein the cookie is used for activating the real-time task, wherein a data processor of the network server includes a plurality of Central Processing Units (CPUs), wherein the plurality of CPUs include at least two CPUs, wherein a CPU of the plurality of CPUs included in the data processor is assigned to the service request, wherein each CPU of the plurality of CPUs is associated with a run queue and a real-time thread for executing real-time tasks assigned to the said CPU, wherein each CPU of the plurality of CPUs is associated with a real-time task list; (b) activating the real-time task on the real-time task list when an event occurs during operation of the network server by sending a task activation request including the cookie to a task activation routine, wherein the cookie identifies the real-time thread and CPU assigned to perform the real-time task; (c) a real-time scheduler of the network server scanning the real-time task list, and when scanning the real-time task list, the real-time scheduler finding that the real-time task on the real-time task list has been activated, and executing the real-time task on the real-time task list in response to finding that the real-time task on the real-time task list has been activated, wherein the real-time task is executed by a real-time thread associated with a CPU of the plurality of CPUs assigned for executing the real-time task, wherein the real-time thread of each CPU of the plurality of CPUs executes respective real-time task assigned to each CPU concurrently; and performing the steps (a), (b), and (c) for each CPU of the plurality of CPUs to schedule and execute real-time tasks associated with each CPU for multi-threaded processing of data transmitted in accordance with a network data transmission protocol.