US2006053415A1PendingUtilityA1

Method and system for efficiently interpreting a computer program

Assignee: OKMIANSKI ANTONPriority: Feb 28, 2001Filed: Oct 31, 2005Published: Mar 9, 2006
Est. expiryFeb 28, 2021(expired)· nominal 20-yr term from priority
Inventors:Anton Okmianski
G06F 9/45508
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and a system are provided for efficiently executing computer programs that require invocation of an interpreter. A name of a program to be interpreted or executed is received, with zero or more arguments, at an interface client element. The interface client element may be implemented as a compact software element that is invoked using a command-line command. The interface client passes the program name and arguments to a continuously running server process that includes a continuously running or persistent interpreter. Alternatively, the server process and interpreter are integral. The server process provides the name and arguments to the interpreter, which interprets the program. One or more result values based on results of interpretation of the computer program by the interpreter are received and passed back to the interface client.

Claims

exact text as granted — not AI-modified
1 . A method of interpreting a computer program wherein the computer program requires invocation of an interpreter for execution, the method comprising: 
 receiving an identifier for the computer program from a client by an interpretation control server, wherein the identifier identifies the computer program to the interpretation control server, wherein said interpretation control server is a program written in an interpreted language run by an instance of an interpreter, said instance providing an environment for the interpretation control server;    requesting the instance of the interpreter being used to run the interpretation control server to dynamically instantiate a method on the identified computer program and within the environment of the interpretation control server; and    providing one or more result values to the client, wherein the one or more result values are based on results of interpretation of the computer program by the interpreter.    
   
   
       2 . A method as recited in  claim 1 , wherein the identifier is received from a command-line invocation of the client.  
   
   
       3 . A method as recited in  claim 1 , wherein receiving the identifier includes: 
 executing the client that receives the identifier in a command line invocation of the client;    extracting the identifier from the command line; and    providing the identifier from the client to the interpretation control server.    
   
   
       4 . A method as recited in  claim 2 , wherein said interpreter is a Virtual Machine process, and wherein the identifier includes a class name for use by an instance of the Virtual Machine process.  
   
   
       5 . A method as recited in  claim 1 , further comprising iteratively repeating all prior steps for each of a plurality of class files that represent source code for an application program, wherein the entire program is interpreted within the environment of the interpretation control server without restarting the interpreter in successive iterations.  
   
   
       6 . A method as recited in  claim 1 , wherein receiving the identifier for the computer program includes selecting the interpretation control server from among one or more of a plurality of interpretation control servers.  
   
   
       7 . A method as recited in  claim 1 , wherein the step of receiving the identifier for the computer program from an interface client by an interpretation control server comprises: 
 initiating a plurality of interpretation control servers, wherein each said interpretation control server is run by a separate instance of an interpreter;    receiving load-balancing information representing then-current processing load levels of each of the interpretation control servers; and    selecting the interpretation control server from among one or more of the plurality of interpretation control servers based on the load balancing information.    
   
   
       8 . A method as recited in  claim 1 , further comprising continuing operation of the interpretation control server and the instance of the interpreter after providing the one or more result values to the interface client.  
   
   
       9 . A machine-readable tangible storage medium carrying one or more sequences of instructions for interpreting a computer program, wherein execution of the one or more sequences of instructions by one or more processors causes: 
 receiving an identifier for the computer program from a client by an interpretation control server, wherein the identifier identifies the computer program to the interpretation control server, wherein said interpretation control server is a program written in an interpreted language run by an instance of an interpreter, said instance providing an environment for the interpretation control server;    requesting the instance of the interpreter being used to run the interpretation control server to dynamically instantiate a method on the identified computer program and within the environment of the interpretation control server; and    providing one or more result values to the client, wherein the one or more result values are based on results of interpretation of the computer program by the interpreter.    
   
   
       10 . A machine-readable medium as recited in  claim 9 , wherein the identifier is received from a command-line invocation of the client.  
   
   
       11 . A machine-readable medium as recited in  claim 9 , wherein receiving the identifier includes: 
 executing the client that receives the identifier in a command line invocation of the client;    extracting the identifier from the command line; and    providing the identifier from the client to the interpretation control server.    
   
   
       12 . A machine-readable medium as recited in  claim 10 , wherein said interpreter is a Virtual Machine process, and wherein the identifier includes a class name for use by an instance of the Virtual Machine process.  
   
   
       13 . A machine-readable medium as recited in  claim 9 , wherein execution of the one or more sequences of instructions by the one or more processors further causes iteratively repeating all prior steps for each of a plurality of class files that represent source code for an application program, wherein the entire program is interpreted within the environment of the interpretation control server without restarting the interpreter in successive iterations.  
   
   
       14 . A machine-readable medium as recited in  claim 9 , wherein receiving the identifier for the computer program includes selecting the interpretation control server from among one or more of a plurality of interpretation control servers.  
   
   
       15 . A machine-readable medium as recited in  claim 9 , wherein receiving the identifier for the computer program from an interface client by an interpretation control server comprises: 
 initiating a plurality of interpretation control servers, wherein each said interpretation control server is run by a separate instance of an interpreter;    receiving load-balancing information representing then-current processing load levels of each of the interpretation control servers; and    selecting the interpretation control server from among one or more of the plurality of interpretation control servers based on the load balancing information.    
   
   
       16 . A machine-readable medium as recited in  claim 9 , wherein execution of the one or more sequences of instructions by the one or more processors further causes continuing operation of the interpretation control server and the instance of the interpreter after providing the one or more result values to the interface client.  
   
   
       17 . An apparatus, comprising: 
 a machine-readable medium carrying one or more sequences of instructions for interpreting a computer program; and    one or more processors,    wherein execution of the one or more sequences of instructions by the one or more processors causes: 
 receiving an identifier for the computer program from a client by an interpretation control server, wherein the identifier identifies the computer program to the interpretation control server, wherein said interpretation control server is a program written in an interpreted language run by an instance of an interpreter, said instance providing an environment for the interpretation control server;  
 requesting the instance of the interpreter being used to run the interpretation computer program and within the environment of the interpretation control server; and  
 providing one or more result values to the client, wherein the one or more result values are based on results of interpretation of the computer program by the interpreter.  
   
   
   
       18 . An apparatus as recited in  claim 17 , wherein the identifier is received from a command-line invocation of the client.  
   
   
       19 . An apparatus as recited in  claim 17 , wherein receiving the identifier includes: 
 executing the client that receives the identifier in a command line invocation of the client;    extracting the identifier from the command line; and    providing the identifier from the client to the interpretation control server.    
   
   
       20 . An apparatus as recited in  claim 18 , wherein said interpreter is a Virtual Machine process, and wherein the identifier includes a class name for use by an instance of the Virtual Machine process.  
   
   
       21 . An apparatus as recited in  claim 17 , further comprising the step of iteratively repeating all prior steps for each of a plurality of class files that represent source code for an application program, wherein the entire program is interpreted within the environment of the interpretation control server without restarting the interpreter in successive iterations.  
   
   
       22 . An apparatus as recited in  claim 17 , wherein receiving the identifier for the computer program includes selecting the interpretation control server from among one or more of a plurality of interpretation control servers.  
   
   
       23 . An apparatus as recited in  claim 17 , wherein receiving the identifier for the computer program from an interface client by an interpretation control server comprises: 
 initiating a plurality of interpretation control servers, wherein each said interpretation control server is run by a separate instance of an interpreter;    receiving load-balancing information representing then-current processing load levels of each of the interpretation control servers; and    selecting the interpretation control server from among one or more of the plurality of interpretation control servers based on the load balancing information.    
   
   
       24 . An apparatus as recited in  claim 17 , wherein execution of the one or more sequences of instructions by the one or more processors further causes continuing operation of the interpretation control server and the instance of the interpreter after providing the one or more result values to the interface client.  
   
   
       25 . An apparatus for interpreting a computer program, comprising: 
 means for receiving an identifier for the computer program from a client by an interpretation control server, wherein the identifier identifies the computer program to the interpretation control server, wherein said interpretation control server is a program written in an interpreted language run by an instance of an interpreter, said instance providing an environment for the interpretation control server;    means for requesting the instance of the interpreter being used to run the interpretation control server to dynamically instantiate a method on the identified computer program and within the environment of the interpretation control server; and    means for providing one or more result values to the client, wherein the one or more result values are based on results of interpretation of the computer program by the interpreter.    
   
   
       26 . An apparatus as recited in  claim 25 , wherein the identifier is received from a command-line invocation of the client.  
   
   
       27 . An apparatus as recited in  claim 25 , wherein the means for receiving the identifier includes: 
 means for executing the client that receives the identifier in a command line invocation of the client;    means for extracting the identifier from the command line; and    means for providing the identifier from the client to the interpretation control server.    
   
   
       28 . An apparatus as recited in  claim 26 , wherein said interpreter is a Virtual Machine process, and wherein the identifier includes a class name for use by an instance of the Virtual Machine process.  
   
   
       29 . An apparatus as recited in  claim 25 , further comprising means for iteratively repeating all prior steps for each of a plurality of class files that represent source code for an application program, wherein the entire program is interpreted within the environment of the interpretation control server without restarting the interpreter in successive iterations.  
   
   
       30 . An apparatus as recited in  claim 25 , wherein the means for receiving the identifier for the computer program includes means for selecting the interpretation control server from among one or more of a plurality of interpretation control servers.  
   
   
       31 . An apparatus as recited in  claim 25 , wherein the means for receiving the identifier for the computer program from an interface client by an interpretation control server comprises: 
 means for initiating a plurality of interpretation control servers, wherein each said interpretation control server is run by a separate instance of an interpreter;    means for receiving load-balancing information representing then-current processing    means for selecting the interpretation control server from among one or more of the plurality of interpretation control servers based on the load balancing information.    
   
   
       32 . An apparatus as recited in  claim 25 , further comprising means for continuing operation of the interpretation control server and the instance of the interpreter after providing the one or more result values to the interface client.

Join the waitlist — get patent alerts

Track US2006053415A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.