Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing – Network resources access controlling
Reexamination Certificate
1999-12-15
2004-03-23
Maung, Zarni (Department: 2154)
Electrical computers and digital processing systems: multicomput
Computer-to-computer session/connection establishing
Network resources access controlling
C709S203000, C709S219000, C709S231000, C709S232000, C707S793000
Reexamination Certificate
active
06711619
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to a method, system, and apparatus for distributing and using portions of a computer-based application over a network.
BACKGROUND OF THE INVENTION
Currently code associated with an application must be fully available on a computer system prior to execution of the application. It would be useful if code associated with an application could be selectively loaded on a computer system via a network for use during the time when the application is executing the particular code thereby reducing network latency associated with the transfer of code.
Presently, audio and video information may be streamed via a network. This is possible because audio and video information contain only data that is used sequentially. Applications by nature have both code and data that may be used in a non-sequential order. It would be useful if code and data could be streamed via a network in a non-sequential order for use by the application thereby enabling overlapping of access to and transmission of code and data with execution of other code and data.
Further, network-based distribution of an application by a computer system server (server) requires a network-based connection between the computer system client (client) and the server, such as a network file system (NFS) connection. It would be useful if an application could be made available via a network to clients that are not directly connected to servers such as computers connected over the network.
SUMMARY OF THE INVENTION
The present embodiment is a method, system, and apparatus for distributing and using portions of a computer-based application over a network.
The present invention novelly recognizes that often, limited portions of the code associated with an application are needed to execute the application during a particular use of the application. The present embodiment executes streamed chunks of code associated with an application on demand by binary emulation. Therefore the present invention enables execution of applications on network-based computer systems thereby enabling flexible distribution and use of executable code over a network. For example, the present embodiment enables servers to provide applications for binary emulated execution on clients that are not directly connected to the server, such as by an NFS connection.
The present embodiment is a software execution engine that cooperates with an operating system (O.S.) to execute code chunks associated with an application by binary emulation. The present embodiment streams the transmission of non-sequentially ordered code chunks required to execute the application, thereby enabling overlapping of access to and transmission of code chunks with execution of other code chunks. The present embodiment also reduces network latency effects of the past. The present embodiment may also speculatively stream the code chunks associated with the application to further reduce network latency effects associated with transmission of the code chunks. That is, the present embodiment novelly uses speculation to predict the code chunks associated with the application that will be required based on information such as patterns of prior use of the application.
The present invention improves the efficiency of application execution over the past by transferring minimal information between the server and the client thereby reducing the volume of information transferred over a network, such as the internet, during application execution. By means of example, the present invention enables more efficient management of pay-per-transaction application services, such as applications-on-tap.
REFERENCES:
patent: 5790753 (1998-08-01), Krishnamoorthy et al.
patent: 5928330 (1999-07-01), Goetz et al.
patent: 6014695 (2000-01-01), Yamashita et al.
patent: 6119154 (2000-09-01), Weaver et al.
patent: 6260078 (2001-07-01), Fowlow
patent: 6311221 (2001-10-01), Raz et al.
patent: 6356964 (2002-03-01), Mohindra et al.
patent: 6401126 (2002-06-01), Douceur et al.
patent: 6415373 (2002-07-01), Peters et al.
Chandra Krintz et al., “Overlapping Execution with Transfer Using Non-Strict Execution for Mobile Programs”, pp. 159-169.
Chandramohan Bharath
Ramachandran Mahesh
Hu Jinsong
Maung Zarni
Smith Christine H.
LandOfFree
Method, system, and apparatus for distributing and using... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method, system, and apparatus for distributing and using..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, system, and apparatus for distributing and using... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3247342