Method And System For Compilation And Execution Of Software Codes
First Claim
1. A method of compiling and executing a plurality of software codes provided by a plurality of clients, comprising the steps of:
- providing a request handling set of child processes to handle compilation and execution requests from said plurality of clients, wherein said request handling set of child processes are forked;
providing a compilation set of child processes, wherein said compilation set of child processes are forked;
providing an execution set of child processes, wherein said execution set of child processes are forked;
parsing said compilation and execution requests using the request handling set of child processes;
loading said parsed compilation and execution requests in a request queue using the request handling set of child processes;
transferring the execution requests from said request queue to a run request queue using the request handling set of child processes;
compiling said plurality of software codes by processing the compilation requests in the request queue using the compilation set of child processes; and
executing the plurality of software codes by processing the execution requests in the run request queue using the execution set of child processes.
1 Assignment
0 Petitions
Accused Products
Abstract
The method and system disclosed herein is for compiling and executing a plurality of software codes. The requests from users are parsed and loaded using a set of child processes or a thread pool. A request handler is used to handle the compilation and execution requests from the user. Requests from a plurality of client processes are listed to compile and execute the solution codes from a plurality of users. A set of common libraries and system libraries for each compilation request are stored in a memory and loaded on to a compiler. Using the stored common libraries and system libraries, an executable binary format of the software code is created by the compiler. The executable binary format of the software code is loaded on a file system for further executions.
-
Citations
16 Claims
-
1. A method of compiling and executing a plurality of software codes provided by a plurality of clients, comprising the steps of:
-
providing a request handling set of child processes to handle compilation and execution requests from said plurality of clients, wherein said request handling set of child processes are forked; providing a compilation set of child processes, wherein said compilation set of child processes are forked; providing an execution set of child processes, wherein said execution set of child processes are forked; parsing said compilation and execution requests using the request handling set of child processes; loading said parsed compilation and execution requests in a request queue using the request handling set of child processes; transferring the execution requests from said request queue to a run request queue using the request handling set of child processes; compiling said plurality of software codes by processing the compilation requests in the request queue using the compilation set of child processes; and executing the plurality of software codes by processing the execution requests in the run request queue using the execution set of child processes. - View Dependent Claims (2, 3)
-
-
4. A method of compiling and executing a plurality of software codes provided by a plurality of clients, comprising the steps of:
-
providing a request handling thread pool to handle compilation and execution requests from said plurality of clients; providing a compilation thread pool; providing an execution thread pool; parsing said compilation and execution requests using said request handling thread pool; loading said parsed compilation and execution requests in a request queue using the request handling thread pool; transferring the execution requests from said request queue to a run request queue using the request handling thread pool; compiling said plurality of software codes based on the compilation requests in the request queue using said compilation thread pool; and executing the plurality of software codes based on the execution requests in the run request queue using said execution thread pool. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A system for compiling and executing a plurality of software codes provided by a plurality of clients, comprising:
-
a compilation server to compile each of said plurality of software codes, said compilation server comprising; a parsing module to parse incoming compilation and execution requests from said plurality of clients; a request handler to load said compilation and execution requests in a queue; a system file cache to store common libraries and system libraries; a compiler to link each of the plurality of software codes with said stored common libraries and system libraries, and compile said linked software codes; a binary cache to store output files generated by compiling the linked software codes; an execution module to execute said compiled software codes; and a file system to load said executed software codes. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer program product comprising computer executable instructions embodied in a computer-readable medium, said computer program product including:
-
a first computer parsable program code for providing a request handling set of child processes to parse incoming compilation and execution requests and load said parsed requests in a queue, wherein said request handling set of child processes are forked; a second computer parsable program code for providing a request handling thread pool to parse incoming compilation and execution requests and load said parsed requests in a queue; a third computer parsable program code for providing a compilation set of child processes to compile a plurality of software codes, wherein said compilation set of child processes are forked; a fourth computer parsable program code for providing a compilation thread pool to compile said plurality of software codes; a fifth computer parsable program code for parsing and loading common libraries and system libraries; an sixth computer parsable program code for storing said parsed common libraries and system libraries in a system file cache; a seventh computer parsable program code for parsing and loading the plurality of software codes, and linking said parsed software codes with the parsed common libraries and system libraries; an eighth computer parsable program code for providing an execution set of child processes to execute the plurality software codes, wherein said execution set of child processes are forked; a ninth computer parsable program code for providing an execution thread pool to execute the plurality of software codes; and a tenth computer parsable program code for loading said executed software codes on a file system.
-
Specification