IP Library Granted Patent US 8,615,736
Granted Patent B2
US 8,615,736 · App. 11/930,707 · Granted Dec 24, 2013

Module facility for JAVASCRIPT language

Inventor: Roberto R. Chinnici (Santa Clara, CA)
Assignee: Oracle America, Inc.
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 8,615,736
App. No.
11/930,707
Granted
Dec 24, 2013
Kind
B2
Abstract

A system and method of retrieving a module in a JavaScript language application includes receiving a called module name, examining a table of executed modules to determine if the called module name is included in the table of executed modules, executing the called module if the called module name is included in the table of executed modules and defining a search path, wherein if the called module name is not included in the table of executed modules, then determining if the called module name is found in the search path. If the called module name is found in the search path, then loading the found module and updating the table of executed modules. Loading the found module includes automatically loading the found module without requiring an import statement.

Claims (49)

1. A method of retrieving a module in a programming language application comprising:

receiving a name of a called module;

examining a table of executed modules to determine if the name of the called module is included in the table of executed modules;

executing the called module if the name of the called module is included in the table of executed modules; and

defining a search path, wherein if the name of the called module is not included in the table of executed modules, then determining if the name of the called module is found in the search path, and wherein if the name of the called module is found in the search path, then:

examining a timestamp included in the found called module to determine if the found called module is a current version;

loading the current version of the found called module, wherein loading the current version of the found called module includes automatically loading the current version of the found called module without requiring an import statement; and

updating the table of executed modules, wherein the table of executed modules includes a plurality of additional information fields, wherein each one of the plurality of additional information fields corresponds to one of a plurality of executed modules, wherein the corresponding additional information field includes the timestamp indicating that the corresponding executed module is a current version, and wherein updating the table of executed modules includes storing a name of the current version of the found called module and a path for the current version of the found called module in the table of executed modules.

2. The method of claim 1 , wherein updating the table of executed modules includes storing the updated table of executed modules in at least one of a memory location or an application.

3. The method of claim 1 , wherein if the name of the called module is not found in the search path, then the search path is examined to determine if a directory having a name including the name of the called module is found.

4. The method of claim 3 , wherein if the directory having a name including the name of the called module is found in the search path, then the method further includes:

loading a sub module having the name of the called module;

updating the table of executed modules; and

executing the loaded sub module.

5. The method of claim 3 , wherein if the directory having a name including the name of the called module is not found in the search path, then the method further includes generating an error message.

6. The method of claim 1 , wherein the table of executed modules includes:

a list including a plurality of executed modules; and

a plurality of paths, wherein each one of the plurality of paths corresponds to one of the plurality of executed modules.

7. A method of executing an application comprising:

receiving a name of a called module;

examining a table of executed modules to determine if the name of the called module is included in the table of executed modules;

executing the called module if the name of the called module is included in the table of executed modules; and

defining a search path, wherein if the name of the called module is not included in the table of executed modules, then determining if the name of the called module is found in the search path, and wherein if the name of the called module is found in the search path, then:

examining a timestamp included in the found called module to determine if the found called module is a current version;

loading the current version of the found called module, wherein loading the current version of the found called module includes automatically loading the current version of the found called module without requiring an import statement;

updating the table of executed modules including storing a name of the current version of the found called module and a path for the current version of the found called module in the table of executed modules, wherein the table of executed modules includes:

a list including a plurality of executed modules;

a plurality of paths, wherein each one of the plurality of paths corresponds to one of the plurality of executed modules; and

a plurality of additional information fields, wherein each one of the plurality of additional information fields corresponds to one of the plurality of executed modules, and wherein the corresponding additional information field includes a timestamp indicating that the corresponding executed module is a current version; and

executing the loaded current version of the found called module.

8. A computer system comprising:

a hardware layer;

a table of executed modules;

a software application layer in support of the hardware layer, wherein the hardware layer includes a microprocessor and a memory, and wherein the table of executed modules is stored in at least one of the memory and the software application layer;

logic configured to receive a name of a called module;

logic configured to examine the table of executed modules to determine if the name of the called module is included in the table of executed modules;

logic configured to execute the called module if the name of the called module is included in the table of executed modules;

logic configured to define a search path; and

logic configured to determine if the name of the called module is found in the search path if the name of the called module is not included in the table of executed modules including:

logic configured to examine a timestamp included in the found called module to determine if the found called module is a current version;

logic configured to load the current version of the found called module, wherein the logic configured to load the current version of the found called module includes logic configured to automatically load the current version of the found called module without requiring an import statement; and

logic configured to update the table of executed modules, wherein the table of executed modules includes a plurality of additional information fields, wherein each one of the plurality of additional information fields corresponds to one of a plurality of executed modules, wherein the corresponding additional information field includes the timestamp indicating that the corresponding executed module is a current version, and wherein the logic configured to update the table of executed modules includes logic configured to store a name of the current version of the found called module and a path for the current version of the found called module in the table of executed modules.

9. The computer system of claim 8 , wherein the logic configured to update the table of executed modules includes logic configured to store the updated table of executed modules in at least one of a memory location or an application.

10. The computer system of claim 8 , further comprising:

logic configured to examine the search path to determine if a directory having a name including the name of the called module is found, if the name of the called module is not found in the search path; and

logic configured to determine the directory having a name including the name of the called module is found in the search path including:

logic configured to load a sub module having the name of the called module;

logic configured to update the table of executed modules; and

logic configured to execute the loaded sub module.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2007
From: CHINNICI, ROBERTO R.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020122/0076 →
Continuity (2)
Provisional Application 60869282 · Dec 8, 2006
Related Publication 20080141218A1 · Jun 12, 2008