Providing quality of service guarantees to virtual hosts
First Claim
1. A computer-implemented method for providing a quality of service guarantee to a child process of an application program, wherein the application program and its child process service requests made to a plurality of network addresses, a network address indicating a virtual host, a virtual host comprising a virtualized server application program the method comprising:
- storing a quality of service parameter associated with a network address;
intercepting a system call, made by the child process, that establishes a communication channel between a client and the network address, wherein intercepting the system call comprises;
saving a copy of a first pointer, which Points to object code of the system call; and
replacing the first pointer with a second pointer, which points to different object code, such that making the system call causes the different object code to execute; and
enabling communication between the network address and the client, the communication being managed by the child process;
wherein execution of the different object code comprises;
using the saved copy of the first pointer to transfer execution to the intercepted system call, thereby establishing a communication channel;
determining that the established communication channel is to one of the plurality of network addresses serviced by the application program and its child process;
obtaining a quality of service parameter associated with the network address; and
utilizing an operating system resource to request a guarantee, to the child process, of a quality of service according to the obtained quality of service parameter.
6 Assignments
0 Petitions
Accused Products
Abstract
A method facilitates providing appropriate quality of service guarantees to a plurality of virtual hosts on a single physical host computer. A server application program and its child processes service communication requests made to the plurality of virtual hosts. Quality of service parameters associated with the virtual hosts are stored. Communication requests made to a specific one of the virtual hosts are detected. The quality of service parameters associated with the specific virtual host are obtained. Operating system resources are utilized to guarantee, to a child process of the server application program, a quality of service according to the obtained quality of service parameters associated with the virtual host. Communication between the virtual host and the client is allowed to proceed, the communication being managed by the child process.
230 Citations
18 Claims
-
1. A computer-implemented method for providing a quality of service guarantee to a child process of an application program, wherein the application program and its child process service requests made to a plurality of network addresses, a network address indicating a virtual host, a virtual host comprising a virtualized server application program the method comprising:
-
storing a quality of service parameter associated with a network address; intercepting a system call, made by the child process, that establishes a communication channel between a client and the network address, wherein intercepting the system call comprises; saving a copy of a first pointer, which Points to object code of the system call; and replacing the first pointer with a second pointer, which points to different object code, such that making the system call causes the different object code to execute; and enabling communication between the network address and the client, the communication being managed by the child process; wherein execution of the different object code comprises; using the saved copy of the first pointer to transfer execution to the intercepted system call, thereby establishing a communication channel; determining that the established communication channel is to one of the plurality of network addresses serviced by the application program and its child process; obtaining a quality of service parameter associated with the network address; and utilizing an operating system resource to request a guarantee, to the child process, of a quality of service according to the obtained quality of service parameter.
-
-
2. A computer-implemented method for providing a quality of service guarantee to a child process of an application program, wherein the application program and its child process service requests made to a plurality of network addresses, a network address indicating a virtual host, a virtual host comprising a virtualized server application program, the method comprising:
-
storing a quality of service parameter associated with a network address; intercepting a system call which establishes a communication channel between a client and the network address; allowing establishment of the communication channel; storing an indicator of an association between an application program that made the intercepted system call, the established communication channel, and the network address; intercepting a system call which creates a child process; allowing creation of the child process; storing an indicator of an association between an application program that made the intercepted system call and the created child process; intercepting a system call which creates a copy of a file descriptor; allowing creation of the copy of the file descriptor; storing an indicator of an association between the file descriptor and the created copy of the file descriptor; intercepting a system call which transports data through a communication channel; determining, by examining the stored association indicators, that an application that made the intercepted system call is a child process of a parent application that established a communication channel to one the network address; determining, by examining the stored association indicators, that the communication channel through which the intercepted system call transports data is the communication channel established by the parent application to the network address; obtaining the quality of service parameter associated with the network address; utilizing an operating system resource to request a guarantee, to the child process that called the intercepted system call, of a quality of service according to the obtained quality of service parameter associated with the network address; and allowing data to be transported through the communication channel. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium storing a computer program product for providing a quality of service guarantee to a child process of an application program, wherein the application program and its child process service requests made to a plurality of network addresses, a network address indicating a virtual host, a virtual host comprising a virtualized server application program, the computer program product comprising:
-
program code for storing a quality of service parameter associated with a network address; program code for intercepting a system call, made by the child process, that establishes a communication channel between a client and the network address, wherein the program code for intercepting the system call comprises; program code for saving a copy of a first pointer, which points to object code of the system call; and program code for replacing the first pointer with a second pointer, which points to different object code, such that making the system call causes the different object code to execute; and program code for enabling communication between the network address and the client, the communication being managed by the child process; wherein the different object code comprises; program code for using the saved copy of the first pointer to transfer execution to the intercepted system call, thereby establishing a communication channel; program code for determining that the established communication channel is to one of the plurality of network addresses serviced by the application program and its child process; program code for obtaining a quality of service parameter associated with the network address; and program code for utilizing an operating system resource to request a guarantee, to the child process, of a quality of service according to the obtained quality of service parameter.
-
-
11. A computer-readable medium storing a computer program product for providing a quality of service guarantee to a child process of an application program, wherein the application program and its child process service requests made to a plurality of network addresses, a network address indicating a virtual host, a virtual host comprising a virtualized server application program, the computer program product comprising:
-
program code for storing a quality of service parameter associated with a network address; program code for intercepting a system call which establishes a communication channel between a client and the network address; program code for allowing establishment of the communication channel; program code for storing an indicator of an association between an application program that made the intercepted system call, the established communication channel, and the network address; program code for intercepting a system call which creates a child process; program code for allowing creation of the child process; program code for storing an indicator of an association between an application program that made the intercepted system call and the created child process; program code for intercepting a system call which creates a copy of a file descriptor; program code for allowing creation of the copy of the file descriptor; program code for storing an indicator of an association between the file descriptor and the created copy of the file descriptor; program code for intercepting a system call which transports data through a communication channel; program code for determining, by examining the stored association indicators, that an application that called the intercepted system call is a child process of a parent application that established a communication channel to the network address; program code for determining, by examining the stored association indicators that the communication channel through which the intercepted system call transports data is the communication channel established by the parent application to the network address; program code for obtaining the quality of service parameter associated with the network address; utilizing an operating system resource to request a guarantee to the child process that called the intercepted system call, of a quality of service according to the obtained quality of service parameter associated with the network address; and program code for allowing data to be transported through the communication channel. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification