Computer graphics processing and selective visual display system – Display driving control circuitry – Controlling the condition of display elements
Reexamination Certificate
1998-03-20
2001-03-27
Bayerl, Raymond J. (Department: 2173)
Computer graphics processing and selective visual display system
Display driving control circuitry
Controlling the condition of display elements
C345S215000, C345S215000, C709S241000, C717S152000
Reexamination Certificate
active
06208336
ABSTRACT:
BACKGROUND OF THE INVENTION
The present invention is directed to software programming systems and, more particularly, to systems and methods that dynamically reconfigure a graphical user interface associated with an application based on the additional features available at run-time.
Software developers have realized the advantages of using modular concepts in the design of computer program logic. Software built using modular concepts are more portable to other hardware platforms, more compatible with other software and hardware interfaces, and tend to be more easily designed, tested, installed, and maintained. Software developers design the program logic as groups of separate software modules (components) that perform specialized tasks. The developers design each module to be as independent and abstract as possible from other modules.
Object-oriented programming promotes modular software design. Object-oriented programming allows the software developer to associate a packet of information with a set of methods (or functions) for manipulating the information. The information packet with its associated methods is collectively called an object. By accessing a particular object, the developer gains implicit access to the object's associated methods.
Object-oriented systems make a distinction between the description of an object and the object itself. More than one similar object may be described by the same general description. The object description is called a class because the description can be used to describe a type or “class” of similar objects. In other words, an object is an instance of a class. An example of an object-oriented programming language using objects and classes is Sun Microsystems™ Java™ object-oriented programming language described in a text entitled “Java 1.1 Developer's Guide,” 2nd ed., 1997 by Sams.net Publishing, Jamie Jaworski, Ed., which is hereby incorporated by reference. Sun, Sun Microsystems, the Sun logo, Java, and Java-based trademarks are trademarks or registered trademarks of Sun Microsystems Inc. in the United States and other countries.
Software developers conventionally provide to a customer all classes required by an application for run-time operation. However, an application may require classes that are not present at run-time. Consider, for example, a mail application that is integrated with a calendar module. The calendar module provides additional functions to the mail application, such as permitting the scheduling of appointments and events. The graphical user interface for the mail application might contain a schedule appointment button for invoking the appointment scheduling functions. A schedule appointment button would be useless. however, if the calendar classes are not available.
Software developers address this problem by creating two separate versions of the mail application: one integrated with the calendar, and one without it. This way, the software developers can meet the customers' needs by providing only those additional functions that the customers desire.
A problem with this solution is that it requires the software developer to create many versions of the same application with varying degrees of additional functionality, as desired by the customers. Otherwise, the software developer might create only a single version integrating all of the additional functionality. This, however, would increase the cost of software production and force customers that desire only the basic application to purchase the additional functionality.
Therefore, a need exists for providing customers with an application having only the desired functionality without requiring the creation of several versions of the application.
SUMMARY OF THE INVENTION
Systems and methods consistent with the present invention address this need by moving the additional functionality to separate classes or modules that may be sold separate from the basic application, determining at run-time what functionality is available, and modifying the graphical user interface associated with the application to display controls for the available functions.
A system consistent with the present invention dynamically constructs a graphical user interface associated with an application. A command class library stores command classes that represent additional functions to be integrated with the application. An execution unit attempts to instantiate the command classes at run-time of the application, determines which of the command classes were instantiated successfully, and constructs the graphical user interface such that the graphical user interface contains the additional functions of the successfully instantiated command classes.
REFERENCES:
patent: 5327529 (1994-07-01), Fults et al.
patent: 5404441 (1995-04-01), Satoyama
patent: 5437025 (1995-07-01), Bale et al.
patent: 5659751 (1997-08-01), Heninger
patent: 5767849 (1998-06-01), Borgendale et al.
patent: 5786815 (1998-07-01), Ford
patent: 5901313 (1999-05-01), Wolf et al.
Jaworski, “Java 1.1 Developer's Guide,” 2nd Ed., 1997, Sams.net Publishing.
T. Lindholm et al., “The Java Virtual Machine Specification,” Addison Wesley, 1996.
R. Jones et al., “Garbage Collection, Algorithms For Automatic Dynamic Memory Management,” 1996.
Bayerl Raymond J.
Finnegan Henderson Farabow Garrett & Dunner L.L.P.
Sun Microsystems Inc.
Thai Cuong T.
LandOfFree
Dynamic graphical user interface feature-set configuration does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Dynamic graphical user interface feature-set configuration, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic graphical user interface feature-set configuration will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2534316