IP Library Granted Patent US 7,603,666
Granted Patent B2
US 7,603,666 · App. 10/869,129 · Granted Oct 13, 2009

Class loader

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,603,666
App. No.
10/869,129
Granted
Oct 13, 2009
Kind
B2
Abstract

A class loader locates, at run time, a requested code component. The code component is preferably stored on a database, rather than in a file system, to improve its accessibility in a network computing environment. Code components are preferably stored in the database using an organizational structure that reflects a code isolation structure. In this manner, different versions of a particular code component can be retrieved in a transparent, automated manner, depending on information associated with the invocation thereof.

Claims (29)

1. A method of dynamically loading code components in a workspace environment, comprising:

associating a distinct class loader with each of a plurality of workspaces in which code components are being revised;

determining, during run time, that executing code references a selected one of the code components that is not yet loaded; and

loading the referenced code component for execution, further comprising:

forming a search target comprising an identifier associated with a currently-applicable one of the workspaces and an identifier of the referenced code component;

using the search target, by a selected one of the class loaders that is associated with the currently-applicable one of the workspaces, to search for a compiled version of the referenced code component in a database location associated with the identifier of the currently applicable workspace; and

if the using locates the compiled version of the referenced code component in the database location associated with the identifier of the currently-applicable workspace, loading the located compiled version of the referenced code component from the database location using the selected one of the class loaders, otherwise using a class loader associated with the executing code to load a base compiled version of the referenced code component from a different location that is not associated with the identifier of the currently-applicable workspace.

2. The method according to claim 1 , wherein the code components comprise class files.

3. The method according to claim 1 , wherein the different location is a file system location accessed by consulting a class path variable associated with the referenced code component.

4. A system for dynamically loading code components in a workspace environment, comprising:

a computer comprising a processor; and

instructions which execute using the processor to implement functions comprising:

associating a distinct class loader with each of a plurality of workspaces in which code components are being revised;

determining, during run time, that executing code references a selected one of the code components that is not yet loaded; and

loading the referenced code component for execution, further comprising:

forming a search target comprising an identifier associated with a currently-applicable one of the workspaces and an identifier of the referenced code component;

using the search target, by a selected one of the class loaders that is associated with the currently-applicable one of the workspaces, to search for a compiled version of the referenced code component in a database location associated with the identifier of the currently-applicable workspace; and

if the using locates the compiled version of the referenced code component in the database location associated with the identifier of the currently-applicable workspace, loading the located compiled version of the referenced code component from the database location using the selected one of the class loaders, otherwise using a class loader associated with the executing code to load a base compiled version of the referenced code component from a different location that is not associated with the identifier of the currently-applicable workspace.

5. The system according to claim 4 , wherein the code components comprise class files.

6. The system according to claim 4 , wherein the different location is a file system location accessed by consulting a class path variable associated with the referenced code component.

7. A computer program product for dynamically loading code components, wherein the computer program product is embodied on one or more computer-usable storage media and comprises computer-usable program code for:

associating a distinct class loader with each of a plurality of workspaces in which code components are being revised;

determining, during run time, that executing code references a selected one of the code components that is not yet loaded; and

loading the referenced code component for execution, further comprising:

forming a search target comprising an identifier associated with a currently applicable one of the workspaces and an identifier of the referenced code component;

using the search target, by a selected one of the class loaders that is associated with the currently-applicable one of the workspaces, to search for a compiled version of the referenced code component in a database location associated with the identifier of the currently-applicable workspace; and

if the using locates the compiled version of the referenced code component in the database location associated with the identifier of the currently-applicable workspace, loading the located compiled version of the referenced code component from the database location using the selected one of the class loaders, otherwise using a class loader associated with the executing code to load a base compiled version of the referenced code component from a different location that is not associated with the identifier of the currently-applicable workspace.

8. The computer program product according to claim 7 , wherein the code components comprise class files.

9. The computer program product according to claim 7 , wherein the different location is a file system location accessed by consulting a class path variable associated with the referenced code component.

Assignments (1)
CONVEYOR ASSIGNS UNDIVIDED 50% INTERESTED Recorded Jan 11, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045047/0129 →