Technique for creating remotely updatable programs for use...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C709S203000, C709S221000, C713S100000

Reexamination Certificate

active

06286138

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a technique in a computer based data processing system for creating programs for use in a client/server environment which may be updated or modified remotely. More particularly, the present invention relates to a technique by which programs are created which may be updated from a remote program via a network, and the technique for updating the programs.
2. Description of the Related Art
In a client/server environment, an application is often split into a client component (resident at a user's workstation or the like) and a server component (resident at a server) which the clients access to carry out certain functionality of the application. One constant fact about applications is that they are always being changed. This can be more of a problem in the client-server environment because of the relationship of the one server to the many clients, particularly when the clients need to be updated to take advantage of improvements or functionality change in the server portion of the application.
In order to solve this problem today, a number of solutions are used. The owner of each client workstation can manually update the application by loading the latest version of the client application on the client workstation. But this solution is labor intensive, error prone, and does not guarantee that all of the clients will actually be updated.
Application management tools have also been developed that have the capability to distribute new versions of client applications to clients via a network. In order for this technique to work, the client workstation must have the application management tool client installed thereon, so that the application management tool can force the new version onto the client workstation. An example of such an application tool is TME 10 from Tivoli Corporation. However, this technique requires a large amount of overhead, resources and expense. The client portion of the application management tool must be loaded on each client workstation and configured manually upon its initial install. The client application management tool computational resources are the same as larger client-server applications. The software itself and maintenance and support thereof can also be costly.
Over the last few years, object oriented programming has gained in popularity. Developing software applications using an object oriented language in an object oriented development environment can be easier than writing traditional procedural software applications, since object oriented development environments rely extensively on the reuse of code from class libraries, or blocks of code, which are prewritten to form particular functions. Also, object oriented languages, such as Java, have been optimized for use over a network, such as the Internet. (Java is a trademark of Sun Microsystems Inc.)
Accordingly, a need exists for a simple solution for client-server applications that is inexpensive and permits easy updating of the client portion of the application.
Sun Microsystems inc., the developer of the Java programming language, has developed a number of tools to aid Java developers create Java applications. JJTree and JavaCC (the Java compiler compiler) were developed by SUN to test the Java programming language. This was done by having JJTree and JavaCC parse and create test cases that would exercise the Java programming environment. For example, NASA has employed JJTree and JavaCC (the Java compiler compiler) to create a programming language which it employs for programming telemetry into its vehicles. However, to date, these tools and their capabilities have not been applied to the problem of updating client-server appellations.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a system for creating a software application which may be updated after it has been distributed and installed for use with a minimum of effort.
Another object of the invention is to provide a technique for updating an application using a bit string which contains instructions for how the application needs to modify and reconfigure itself.
Other objects and advantages of the present invention will be set forth in part in the description and the drawings which follow, and, in part, will be obvious from the description or may be learned by practice of the invention.
To achieve the forgoing objects, and in accordance with the purpose of the invention as broadly described herein, the present invention provides computer readable code for permitting updating of client applications in a computing environment, comprising first subprocesses for determining whether a client application needs to be updated; second subprocesses for downloading a bit string to the client application containing instructions for reconfiguring the client application if it is determined by the first subprocesses that the client application needs to be updated; and third subprocesses for parsing the bit string and reconfiguring the client application based on instructions contained in the bit string. The client application may comprise a plurality of configurable objects that may be activated by instructions contained in the bit string, and each position in the bit string may correspond to one of the configurable objects. The client application may be a Java application which includes a parsing function, and the first subprocesses may further comprise using a cookie to compare a current application level of the client application with a preferred application level to determine if the current application level needs updating.
The invention also provides a method for creating an application which may be updated remotely without sending application code to the application, comprising the steps of creating an application shell which defines remotely configurable components within an application being developed; enabling the application being developed to parse a bit stream, the location of each bit in the bit stream corresponding to one of the configurable components in the application being developed, and cause the corresponding component to be active or inactive based on an instruction contained in the bit; adding application functionality to the application being developed; and compiling the application being developed.
A system is also provided for updating an application accessible via a network without modifying or adding to code which comprises the application, comprising means for determining whether a current level of an application connected to a network is a desired level, the application comprising components which may be activated or inactivated; if the determining means determines that the current level of the application is not the desired level, means for downloading a bit string to the application via the network; and means associated with the application for parsing the bit string and activating or inactivating the components based on instructions contained in the bit string.
The present invention also provides a software application comprising computer readable code stored on media, the software application comprising a plurality of components which may be activated or inactivated after the software application has been placed into service, each of the components being addressable by an instruction in a predetermined position in a bit string; first subprocesses for parsing a bit string received via a network; and second subprocesses for activating or inactivating each of the addressable components based on the instruction in the bit string which corresponds thereto. The software application may also be a Java application which serves as a client in a client-server environment, and the network may be the Internet.
The present invention will now be described with reference to the following drawings, in which like reference numbers denote the same element throughout.


REFERENCES:
patent: 5014193 (1991-05-01), Garner et al.
patent: 5471564 (1995-11-01), Dennis et al.
patent: 5790796 (1998-08-01), Sadowsky
patent: 5805571 (199

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

Technique for creating remotely updatable programs for use... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Technique for creating remotely updatable programs for use..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Technique for creating remotely updatable programs for use... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2438456

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