Partial resume for operating system modules
First Claim
1. A method comprising:
- receiving, by a computing device, a data packet, wherein the computing device is operating a plurality of kernel-space software modules that are in a suspended state, and wherein the computing device is also operating a plurality of user-space software modules that are in the suspended state;
determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state;
in response to determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state, transitioning a subset of the plurality of kernel-space software modules and at least the particular one of the plurality of user-space software modules to a non-suspended state;
consuming, by the particular one of the plurality of user-space software modules, the data packet; and
transitioning the non-suspended kernel-space software modules and user-space software modules to the suspended state, wherein transitioning the non-suspended kernel-space software modules to the suspended state is in response to determining, by way of calls to a plurality of callback functions pre-registered by the non-suspended kernel-space software modules, that the non-suspended kernel-space software modules can be transitioned to the suspended state.
2 Assignments
0 Petitions
Accused Products
Abstract
A computing device may receive a data packet. The computing device may be operating a plurality of kernel-space software modules that are in a suspended state, and the computing device may also be operating a plurality of user-space software modules that are in the suspended state. It may be determined that the data packet is of a particular packet type. Data packets of the particular packet type may be consumed by any of a particular subset of the kernel-space software modules. While the user-space software modules remain in the suspended state, the computing device may further (i) transition at least some kernel-space software modules to a non-suspended state, (ii) consume, by a particular one of the non-suspended kernel-space software modules, the data packet, and (iii) transition the non-suspended kernel-space software modules to the suspended state.
-
Citations
17 Claims
-
1. A method comprising:
-
receiving, by a computing device, a data packet, wherein the computing device is operating a plurality of kernel-space software modules that are in a suspended state, and wherein the computing device is also operating a plurality of user-space software modules that are in the suspended state; determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state; in response to determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state, transitioning a subset of the plurality of kernel-space software modules and at least the particular one of the plurality of user-space software modules to a non-suspended state; consuming, by the particular one of the plurality of user-space software modules, the data packet; and transitioning the non-suspended kernel-space software modules and user-space software modules to the suspended state, wherein transitioning the non-suspended kernel-space software modules to the suspended state is in response to determining, by way of calls to a plurality of callback functions pre-registered by the non-suspended kernel-space software modules, that the non-suspended kernel-space software modules can be transitioned to the suspended state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause the computing device to perform operations comprising:
-
receiving a data packet, wherein the computing device is operating a plurality of kernel-space software modules that are in a suspended state, and wherein the computing device is also operating a plurality of user-space software modules that are in the suspended state; determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state; in response to determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state, transitioning a subset of the plurality of kernel-space software modules and at least the particular one of the plurality of user-space software modules to a non-suspended state; consuming, by the particular one of the plurality of user-space software modules, the data packet; and transitioning the non-suspended kernel-space software modules and user-space software modules to the suspended state, wherein transitioning the non-suspended kernel-space software modules to the suspended state is in response to determining, by way of calls to a plurality of callback functions pre-registered by the non-suspended kernel-space software modules, that the non-suspended kernel-space software modules can be transitioned to the suspended state. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
a processor; memory; and program instructions, stored in the memory, that upon execution by the processor cause the computing device to perform operations comprising; receiving a data packet, wherein the computing device is operating a plurality of kernel-space software modules that are in a suspended state, and wherein the computing device is also operating a plurality of user-space software modules that are in the suspended state; determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state; in response to determining that the data packet is to be consumed by a particular one of the plurality of user-space software modules that are in the suspended state, transitioning a subset of the plurality of kernel-space software modules and at least the particular one of the plurality of user-space software modules to a non-suspended state; consuming, by the particular one of the plurality of user-space software modules, the data packet; and transitioning the non-suspended kernel-space software modules and user-space software modules to the suspended state, wherein transitioning the non-suspended kernel-space software modules to the suspended state is in response to determining, by way of calls to a plurality of callback functions pre-registered by the non-suspended kernel-space software modules, that the non-suspended kernel-space software modules can be transitioned to the suspended state. - View Dependent Claims (16, 17)
-
Specification