Virtual private server with CPU time scheduler and isolation of system components
First Claim
1. A server comprising:
- a host running a single host operating system (OS) kernel;
a plurality of isolated virtual private servers (VPSs) supported within the operating system kernel, the plurality of VPSs sharing the same operating system kernel and same operating system executable files and each VPS running at least one user application;
a user space/kernel space interface that includes a CPU time scheduler that allocates CPU time between threads of the VPSs and ensures that a thread of one VPS does not adversely affect threads of other VPSs;
an application available to users of the VPSs; and
an application interface that includes system calls for giving the users access to the application.
7 Assignments
0 Petitions
Accused Products
Abstract
A server includes a host running an operating system kernel. Isolated virtual private servers (VPSs) are supported within the kernel. At least one application is available to users of the VPS. A plurality of interfaces give the users access to the application. Each VPS has its own set of addresses. Each object of each VPS has a unique identifier in a context of the operating system kernel. Each VPS is isolated from objects and processes of another VPS. Each VPS includes isolation of address space of each user from address space of a user on any other VPS, isolation of server resources for each VPS, and failure isolation. The server includes a capability of allocating (or reallocating) system resources to a designated VPS, allocating (or reallocating) system resources to a VPS in current need of such resources, dynamically allocating (or reallocating) VPS resources to a VPS when additional resources are available, and compensating a particular VPS in a later period for a period of under-use or over-use of server resources by the particular VPS in a current period. VPS resources are allocated for each time cycle. All the VPSs are supported within the same OS kernel.
-
Citations
18 Claims
-
1. A server comprising:
-
a host running a single host operating system (OS) kernel; a plurality of isolated virtual private servers (VPSs) supported within the operating system kernel, the plurality of VPSs sharing the same operating system kernel and same operating system executable files and each VPS running at least one user application; a user space/kernel space interface that includes a CPU time scheduler that allocates CPU time between threads of the VPSs and ensures that a thread of one VPS does not adversely affect threads of other VPSs; an application available to users of the VPSs; and an application interface that includes system calls for giving the users access to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of managing a server comprising:
-
defining a virtual private server (VPS) ID corresponding to a VPS, wherein multiple VPSs are running on the server and all the VPSs share the same single host operating system kernel and same operating system executable files and each VPS is running at least one user application; wherein the server includes a user space/kernel space interface that includes a CPU time scheduler that allocates CPU time between threads of the VPSs and ensures that a thread of one VPS does not adversely affect threads of other, and wherein the server includes an application interface that includes system calls for giving the users access to the application; receiving a request from a VPS process to create an object; creating an internal operating system (OS) kernel representation of the object; checking whether such an object already exists in OS kernel storage; if no such object exists in the OS kernel storage, creating an instance of the object to be associated with the VPS ID; and if such an object already exists in the OS kernel storage, one of rejecting the request and returning the existing object to the VPS process.
-
-
18. A method of providing hosting services comprising:
-
on a host running a single host operating system (OS) kernel, initiating a plurality of isolated virtual private servers (VPSs) supported within the operating system kernel, the plurality of VPSs sharing the same operating system kernel and each VPS running at least one user application, the host including a user space/kernel space interface with a CPU time scheduler that allocates CPU time between threads of the VPSs and ensures that a thread of one VPS does not adversely affect threads of other VPSs; starting an application available to users of the VPSs; and starting an application interface that includes system calls for giving the users access to the application.
-
Specification