System, method and computer program product for increasing the performance of a proxy server
First Claim
Patent Images
1. A computer system having a context switching mechanism, comprising:
- at least one context running on the computer system; and
a software virtual machine that is operative to switch contexts based upon a determination of whether a first context has blocked at an instruction;
wherein said determination is based on a virtual instruction, an instruction pointer is maintained at said blocked instruction, and the contexts are switched by killing said first context if said virtual instruction returns a predetermined value;
wherein upon a context switch from a second context back to said first context, said software virtual machine enables the computer system to resume said first context at said instruction.
3 Assignments
0 Petitions
Accused Products
Abstract
A software virtual machine mechanism that increases the efficiency of context switching is disclosed. In an application to the networking environment, the software virtual machine is operative to increase the efficiency of handling input/output operations through the improved control of switching between contexts. The software virtual machine supports restartable instructions such that the resumption of a previously blocked context will continue at the instruction that had previously blocked.
55 Citations
13 Claims
-
1. A computer system having a context switching mechanism, comprising:
-
at least one context running on the computer system; and
a software virtual machine that is operative to switch contexts based upon a determination of whether a first context has blocked at an instruction;
wherein said determination is based on a virtual instruction, an instruction pointer is maintained at said blocked instruction, and the contexts are switched by killing said first context if said virtual instruction returns a predetermined value;
wherein upon a context switch from a second context back to said first context, said software virtual machine enables the computer system to resume said first context at said instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a computer system having a software virtual machine, a context switching method, comprising:
-
determining whether a first context has blocked at an instruction based on a virtual instruction;
maintaining an instruction pointer at said blocked instruction;
switching, under the control of the software virtual machine, contexts from said first context to a second context based upon said determination by killing said first context if said virtual instruction returns a predetermined value; and
upon a context switch back to said first context, resuming said first context at said instruction. - View Dependent Claims (9)
-
-
10. In a computer system having a software virtual machine, a context switching method, comprising:
-
determining whether a first context has blocked at an instruction, wherein it is determined whether a virtual instruction returns a non-zero value;
maintaining an instruction pointer at said blocked instruction when said virtual instruction returns the non-zero value;
switching, under the control of the software virtual machine, contexts from said first context to a second context based upon said determination by killing said first context if said virtual instruction returns a negative value; and
upon a context switch back to said first context,. resuming said first context at said instruction.
-
-
11. A computer program product comprising:
-
computer-readable program code for causing a computer to determine whether a first context has blocked at an instruction based on a virtual instruction;
computer-readable program code for maintaining an instruction pointer at said blocked instruction;
computer-readable program code for causing a computer to switch contexts from said first context to a second context based upon said determination by killing said first context if said virtual instruction returns a predetermined value;
computer-readable program code for causing a computer to resume said first context at said instruction upon a context switch back to said first context; and
a computer-usable medium configured to store the computer-readable program codes.
-
-
12. A method for enabling a computer to implement a software virtual machine, comprising:
-
transmitting computer-readable program code to a computer, said computer-readable program code including;
computer-readable program code for causing a computer to determine whether a first context has blocked at an instruction based on a virtual instruction;
computer-readable program code for maintaining an instruction pointer at said blocked instruction;
computer-readable program code for causing a computer to switch contexts from said first context to a second context based upon said determination by killing said first context if said virtual instruction returns a predetermined value; and
computer-readable program code for causing a computer to resume said first context at said instruction upon a context switch back to said first context.
-
-
13. A computer data signal embodied in a transmission medium comprising:
-
computer-readable program code for causing a computer to determine whether a first context has blocked at an instruction based on a virtual instruction;
computer-readable program code for maintaining an instruction pointer at said blocked instruction;
computer-readable program code for causing a computer to switch contexts from said first context to a second context based upon said determination by killing said first context if said virtual instruction returns a predetermined value; and
computer-readable program code for causing a computer to resume said first context at said instruction upon a context switch back to said first context.
-
Specification