Binding using absolute memory references

Data processing: software development – installation – and managem – Software installation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S168000, C719S331000

Reexamination Certificate

active

06813765

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of data processing systems. specifically, the present invention relates to a method and system for binding an application to a memory address in a portable computer system.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the more recent categories of computer systems is the “palmtop” computer system, or personal digital assistant (PDA). A palmtop computer system is a computer that is small enough to be held in the hand of a user and is thus “palm-sized.” As a result, palmtops are readily carried about in a briefcase or purse, and some palmtops are compact enough to fit into a person's pocket. By virtue of their size, palmtop computer systems are also lightweight and so are exceptionally portable and convenient.
The portability and convenience of palmtops has made it increasingly desirable to increase the number and types of applications that can be run on them. It is advantageous to expand the capabilities of a palmtop so that it can provide many of the same, if not the same, services provided by a desktop or laptop computer system, particularly with regard to access to the World Wide Web as well as the ability to communicate with other palmtops and personal computers. As such, information currently available via the Internet over personal computers, such as on-line access to news and financial information, can also be provided via a palmtop. In addition, a palmtop can be used for electronic mail (“e-mail”) and multi-player gaming, and features such as voice recognition can also be added.
It has proven convenient to exchange applications between a computer system and a palmtop computer using a communication interface, such as a serial or parallel input port. Many palmtop computers also include an infrared communication port for transmitting data over a wireless link. Thus, mechanisms exist for transferring applications or other information from a computer system to a palmtop, or from one palmtop to another. Moreover, the palmtop can be linked to traditional desktop applications such as word processing and spreadsheet programs.
Many applications today utilize the well-known Component Object Model (COM) software architecture as well as other well-known architectures such as Common Object Request Broker Architecture (CORBA), Distributed COM (DCOM), and Distributed Computing Environment (DCE). COM is based on software objects or modules that are well encapsulated and accessed through interfaces (e.g., function calls) provided by services such as Object Linking and Embedding (OLE) and ActiveX. COM objects can interoperate with other COM components through their interfaces. In this way, COM allows applications to be built from different components.
The traditional model for generic, limited resource devices such as palmtops is that a memory image providing a certain set of abstract operating system services is built and installed on the device. With a COM-based architecture and other similar architectures, the operating system provides services supporting the execution of an application, in essence implementing interfaces (e.g., function calls) between various software components and modules when the application is called. A function call in essence works by transferring the execution of an application to another section of code that performs the function. After the function is performed, execution is transferred back to the application at the point where the function call was made.
When compared to a desktop computer system, a limitation associated with palmtops is that, with portability and convenience, there is a tradeoff in processing power and memory space. Innovative techniques may be available to store data and information more densely in smaller places. The processing issue can be addressed in part using processors that are smaller and faster than preceding generations. Still, for a given processor speed, it is desirable to develop methods and systems for improving the speed at which applications can be executed.
However, processing speed and hence the speed at which an application can be executed are slowed by having to implement the interfaces (e.g., function calls and required address translations) between the various applications and software component objects and modules in a COM-based software architecture (as well as architectures). The operating system must locate the section of code that performs the function, using a library call or system call (a COM call). The time it takes to search out and locate the function can appreciably slow down the speed at which the application is executed.
SUMMARY OF THE INVENTION
Accordingly, what is needed is a system or method for speeding up the execution of applications, in particular those applications that interface with other applications and software components and modules. The present invention provides this advantage and others not specifically mentioned above but described in the sections to follow.
A method and system are described for implementing an application on a computer system, in particular a portable computer system, by binding an interface (e.g., a function call and required address translations) in the application to a specific memory address. The application is installed on the computer system with a reference to a section of computer code. The reference is for transferring execution of the application to that section of computer code in order to perform a particular function. After a specified criterion or threshold is satisfied (e.g., after a certain period of time has elapsed), the reference is replaced with a specific memory address in the computer system's memory map, such as a line number, thus binding the application and the operating system to that memory address for that function call. Accordingly, when the application makes a call to that function, the execution of the application can proceed directly to the line number where that function is located, instead of having to search out the location of the function using, for example, an address identifier scheme. As such, the call is completed more quickly, thereby speeding up the execution of the application and the operating system.
In the present embodiment, the application is downloaded onto a host device (e.g., a desktop) from a Web site, for example. The application is installed in a client device (e.g., a portable computer system or palmtop) at “sync time” (the time at which the client and host computer systems synchronize with each other to share information such as applications and databases). After a specified criterion or threshold is satisfied, a reference in the application to a section of code (e.g., a library call, system call) is replaced with function call to a memory address (e.g., a line number) for that section of code.
In one embodiment, a copy of the application retaining the reference in the application is stored on the host device. After the specified criterion is satisfied, the application is bound on the host device by replacing the reference in the application with the memory address (e.g., line number). The application (now bound) is then reinstalled on the client device at sync time.
The installation must preclude the code involved from being subsequently moved. Thus, in one embodiment, the code is placed in readonly memory. Alternatively, the code is marked as not being movable.
In one embodiment, the specified criterion is based on the elapsed time since the application was initially installed on the client device. In another embodiment, the specified criterion is based on the elapsed time since the application was last transferred from the client device to another device (e.g., the time since the application was beamed from one portable computer system to another portable computer system). In still another embodiment, the specified criterion is based on the number of times the application is beamed from the client devic

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Binding using absolute memory references does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Binding using absolute memory references, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Binding using absolute memory references will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3357161

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.