Data processing: software development – installation – and managem – Software program development tool – Testing or debugging
Reexamination Certificate
1999-06-08
2003-09-23
Dam, Tuan Q. (Department: 2124)
Data processing: software development, installation, and managem
Software program development tool
Testing or debugging
C717S126000, C717S127000, C717S118000, C345S156000
Reexamination Certificate
active
06625805
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates generally to software applications and, more particularly, to methods and apparatus for optimizing the execution of software applications having a byte code format.
2. Description of Related Art
The use of computer systems which share resources across a network of computer systems, e.g., local area networks, intranets and the internet, is increasing. Accordingly, software applications, or computer programs, may be delivered in different formats to different computer systems, due to the fact that a particular computer system generally requires software applications to be in a format that is specific to that particular computer system. Alternatively, the computer programs may be delivered to a computer system in a machine-independent form, i.e., as byte codes, in order to enable one form of a computer program to be utilized by many different computer systems.
Computer systems which receive byte codes generally include compilers which are used to compile byte codes at run-time. Compiling byte codes at run-time entails translating the byte codes into machine code.
FIG. 1
is a block diagram representation of a computer system with a byte code compiler. Byte codes
104
, which may be arranged as a computer program, are delivered, or otherwise provided, to a computer system
105
.
Byte codes
104
may generally be provided by a variety of different sources. For example, byte codes
104
may be within downloadable applets that are associated and executed with a particular web page. When byte codes
104
, are executed, byte codes
104
are compiled using a compiler
106
at run-time. Compiled code
108
, which is produced by compiler
106
, is generally machine-dependent code that is specific to, and may be executed within, computer system
105
. That is, compiler
106
translates byte codes
104
into compiled code
108
at run-time.
The byte codes may generate graphical user interface (GUI) components, which allow the user to interact through a mouse input device, for example. Although these GUI components function adequately within systems that include mouse input devices, they may function improperly within systems that do not include mouse input devices. For example, a television system that provides access to the world wide web is not likely to include a mouse device.
FIG. 2
represents a television system
200
that may be used to access the world wide web. Typically, a set top box
203
provides an interface between a televisions set
205
and network signals
204
. The set top box
203
also typically receives input from a remote device
207
(e.g., a remote keyboard
207
a
or a remote control
207
b
) for selecting a web location. The set top box
203
then contacts the selected web location and displays the content from the selected web location on the television screen
205
.
If the web page has embedded applets, the set top box
203
will download the applets on the television
205
. Applets are generally in the form of computer programs that are downloaded from a remote server and executed by the local client (e.g., the set top box
203
). Some applets are designed for mouse interaction. For example, a particular region within the applet may require mouse input, whereas other regions within the applet may not require mouse input. Applets that require mouse input thus present certain difficulties when they are downloaded into a mouseless system. As such, a mouse based applet will likely not function properly within the above described web television system
200
.
Therefore, what is needed is a method for dynamically determining whether a particular computer program contains mechanisms for handling mouse events, to thereby ensure reliable mouse event handling for the computer program.
SUMMARY OF THE INVENTION
Broadly speaking, the present invention provides apparatus and methods for determining whether a byte code formatted computer program handles pointer device events. The invention is useful for systems that access and execute byte code formatted programs but do not include a pointer device, such as a mouse device. When it is determined that a particular computer program handles pointer device events, the systems without pointer devices are able to simulate mouse events (e.g., through the arrow keys of a keyboard or remote control) for the particular computer program.
In one embodiment, the invention pertains to a computer readable medium containing computer codes for examining byte codes. The computer readable medium includes computer code for examining a byte code to determine whether the byte code is arranged to process a pointer device event, and computer code that associates a tag with the examined byte code if it is determined that the examined byte code is arranged to process a pointer device event. In one implementation, the byte codes that handle pointer device events may include code that represents a position of a pointer device or code that compares an event identifier to a pointer device event.
In an alternative embodiment the invention pertains to a computer readable medium that includes computer code computer code for examining a plurality of byte codes of a GUI component to determine whether the GUI component is associated with a pointer device event, and computer code for associating with the GUI component a tag that indicates that the GUI component responds to pointer device events if it is determined that the GUI component is associated with a pointer device event.
In one implementation, the byte codes of the GUI components are examined by examining one or more class files associated with the GUI component. In another implementation, the byte codes of the GUI component are examined for handling event code that processes pointer device events. The handling event code is, for example, arranged to compare a value of an event identifier to a representation of a known value of a pointer device event.
In still another embodiment, the invention pertains to a method for examining byte codes. A byte code is examined to determine whether the byte code is arranged to process a pointer device event. If it is determined that the examined byte code is arranged to process a pointer device event, a tag is associated with the examined byte code.
In another embodiment, the invention pertains to a method for examining a computer program having byte codes. A plurality of byte codes of a GUI component are examined to determine whether the GUI component is associated with a pointer device event. If it is determined that the GUI component is associated with a pointer device event, a tag is associated with the GUI component. The tag indicates that the GUI component responds to pointer device events.
In yet another embodiment, the invention pertains to an interactive television system arranged to receive computer programs. The interactive television system includes a processing unit arranged to receive a computer program having a plurality of byte codes for creating a graphical user interface (GUI) component, to examine the byte codes of the received computer program to determine whether a selected one of the byte codes is arranged to process a pointer device event, and to associate a tag with the selected byte code if the selected byte code is arranged to process a pointer device event; an input device arranged to transmit input events to the processing unit; and a display device arranged to display the GUI component created by the computer program.
REFERENCES:
patent: 5201050 (1993-04-01), McKeeman et al.
patent: 5265254 (1993-11-01), Blasciak et al.
patent: 5579511 (1996-11-01), Cavasa et al.
patent: 5745909 (1998-04-01), Perlman et al.
patent: 5880740 (1999-03-01), Halliday et al.
patent: 6026237 (2000-02-01), Berry et al.
patent: 6226665 (2001-05-01), Deo et al.
patent: 6305012 (2001-10-01), Beadle et al.
patent: 6324688 (2001-11-01), Brown et al.
patent: 6469694 (2002-10-01), Mikan
“Web Content Accessibility Guidelines”, W3C Working Draft, Mar. 16, 1999.
Lam Ioi K.
Pabla Kuldipsingh
Beyer Weaver & Thomas LLP.
Dam Tuan Q.
Sun Microsystems Inc.
Wood William
LandOfFree
Dynamic byte code examination to detect whether a GUI... 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 byte code examination to detect whether a GUI..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic byte code examination to detect whether a GUI... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3106574