IP Library Granted Patent US 7,093,243
Granted Patent B2
US 7,093,243 · App. 10/267,966 · Granted Aug 15, 2006

Software mechanism for efficient compiling and loading of java server pages (JSPs)

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,093,243
App. No.
10/267,966
Granted
Aug 15, 2006
Kind
B2
Abstract

Method and apparatus for processing java server pages (JSPs) which reduces the delays resulting from a first time invocation of a JSP. One embodiment provides a method for processing JSPs for a java virtual machine (JVM), comprising: selecting one or more JSP files to be processed for the JVM; translating the JSP files to java source code files; inserting quick exit codes to java source code files; compiling java source code files to servlet class files; and loading servlet class files into the JVM.

Claims (44)

1. A method for processing Java® server pages, comprising:

selecting at least one Java® server page to be processed, prior to receiving any client requests for the at least one Java® server page;

translating the at least one Java® server page into a Java® source code file;

inserting a quick exit code into the Java® source code file;

compiling the Java® source code files to generate a servlet;

loading the servlet into a memory of a virtual machine and

invoking the servlet on the virtual machine, wherein the quick exit code causes the servlet to exit before a service method associated with the servlet is invoked.

2. The method of claim 1 , wherein the Java® server pages are processed during an initialization of a Web application.

3. The method of claim 1 , further comprising selecting the at least one Java® server page by selecting server pages which exceed a size threshold value.

4. The method of claim 1 , further comprising generating a direct executable via just in time optimization.

5. The method of claim 1 , further comprising spawning a plurality of threads to process the selected Java® server pages.

6. The method of claim 5 , wherein a thread count initialization parameter specifies a number of threads to be spawned.

7. A computer readable medium containing a program which, when executed, performs an operation, comprising:

selecting at least one Java® server page to be processed;

translating the at least one Java® server page into a Java® source code file;

inserting a quick exit code into the Java® source code file;

compiling the java® source code files to generate a servlet;

loading the servlet into a memory of a virtual machine; and

invoking the servlet on the virtual machine, wherein the quick exit code causes the servlet to exit before a service method associated with the servlet is invoked.

8. The computer readable medium of claim 7 , wherein the operation further comprises selecting the at least one Java® server page by selecting server pages file which exceed a size threshold value.

9. The computer readable medium of claim 7 , wherein the operation further comprises generating a direct executable via just in time optimization.

10. The computer readable medium of claim 7 , wherein the operation further comprises spawning a plurality of threads to process the selected Java® server pages.

11. A computer for processing one or more Java® server pages, comprising:

an application server computer comprising one or more processors and a memory, the memory containing a Java® server pages processor and a virtual machine, wherein the Java® server pages processor is configured to:

select at least one of the Java® server pages to be processed;

translate the Java® server page file into a Java® source code file;

insert quick exit codes into the Java source code file;

compile the Java® source code file to generate a servlet;

selectively load one or more servlets generated from the one or more Java® server pages into a memory of the virtual machine prior to a user request for one of the Java® server pages; and

invoke the servlet on the virtual machine, wherein the quick exit codes cause the servlet to exit before a service method associated with the servlet is invoked.

12. The computer of claim 11 , wherein the memory further comprises a servlet engine for initializing a web application which utilizes the one or more Java™ server pages.

13. The computer system of claim 12 , wherein the servlet engine is configured to spawn a plurality of threads to process the Java™ server pages.

14. The computer of claim 11 , wherein the Java® server pages processor is further configured to select the Java® server pages by selecting a server pages which exceed a size threshold value.

15. The computer of claim 11 , wherein the Java® server pages processor is further configured to generate a direct executable via just in time optimization.

16. A method for processing Java® server pages, comprising:

initializing a web application that includes a virtual machine;

selecting at least one Java® server pages to be processed for the virtual machine, wherein the at least one Java® server pages is selected by selecting server pages which exceed a size threshold value;

translating the Java® server pages into a Java® source code file;

inserting a quick exit code into the Java® source code file;

compiling the Java® source code file to generate a servlet;

loading the servlet into a memory of the virtual machine; and

invoking the servlet on the virtual machine, wherein the quick exit code causes the servlet to exit before a service method associated with the servlet is invoked.

17. The method of claim 16 , further comprising generating a direct executable via just in time optimization.

18. The method of claim 16 , further comprising spawning a plurality of threads to process the selected Java® server pages.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2002
From: BAILEY, BYRON LEWIS; SMET, ARTHUR DOUGLAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013384/0556 →