Dynamic java class loading for application execution
First Claim
1. A method of distributing a software application over a network having a network server and a client device, comprising:
- partitioning said software application into a plurality of software modules each module encapsulating a partial functionality of said software application, wherein;
A) the full functionality of said software application is defined by a cumulative contribution of all of said software modules;
B) at least one of said software modules is a core module providing a software engine of said software application; and
C) said network server manages access to said software modules;
having said client device request said software application from said network server;
having said network server respond to said request for said software application by transferring only the core module to said client device for execution, wherein during the execution of said core module by said client device, upon said execution necessitating a functionality not provided by said core module and not available within said client device, having said core module;
i) identify a target module within said plurality of software modules that provides said necessitated functionality;
ii) automatically acquiring and installing said targeted module via said network; and
iii) executing said necessitated functionality from said target module.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and an apparatus for downloading an application over a distributed network are provided. One exemplary method includes a computer implemented method executed by a general purpose computer, where the computer implemented method is capable of downloading an executable program from a networked storage to the general purpose computer. The method initiates with downloading a core module where the core module includes classes necessary to run an engine of the executable program. Then, the core module is installed which in turn module provides instant user functionality. The installed core module includes code for, requesting a class not associated with the core module, searching non-core modules of the executable program for the requested class, and downloading to the general purpose computer a non-core module containing the requested class while the executable program provides the user functionality.
-
Citations
16 Claims
-
1. A method of distributing a software application over a network having a network server and a client device, comprising:
-
partitioning said software application into a plurality of software modules each module encapsulating a partial functionality of said software application, wherein; A) the full functionality of said software application is defined by a cumulative contribution of all of said software modules; B) at least one of said software modules is a core module providing a software engine of said software application; and C) said network server manages access to said software modules; having said client device request said software application from said network server; having said network server respond to said request for said software application by transferring only the core module to said client device for execution, wherein during the execution of said core module by said client device, upon said execution necessitating a functionality not provided by said core module and not available within said client device, having said core module; i) identify a target module within said plurality of software modules that provides said necessitated functionality; ii) automatically acquiring and installing said targeted module via said network; and iii) executing said necessitated functionality from said target module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for distributing a software application over a network, comprising:
-
a network server having a access to a data store having a plurality of software modules each module encapsulating a partial functionality of said software application, wherein; A) the full functionality of said software application is defined by a cumulative contribution of all of said software modules; B) at least one of said software modules is a core module providing a software engine of said software application; and C) said network server manages access to said software modules; and a client device effective for requesting said software application from said network server; wherein said network server responds to a request from said client device for said software application by transferring only the core module to said client device for execution, wherein during the execution of said core module by said client device, upon said execution necessitating a functionality not provided by said core module and not available within said client device, said client device; i) identifies a target module within said plurality of software modules that provides said necessitated functionality; ii) automatically acquires and installs said targeted module via said network onto said client device; and iii) executes said necessitated functionality from said target module. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification