Title: Systems, methods, and computer program products for redirecting the display of information from a computer program to a remote display terminal
Abstract: The present invention provides systems, methods, and computer program products for redirecting the output of the computer program to a remote display terminal. The systems, methods, and computer program products of the present invention provide a method by which all text on a host system may be redirected and displayed at a remote location and representations of graphical images on a host system may be redirected and displayed at a remote location. The system of the present invention includes a display management module stored on a computer-readable medium in communication with an output of the computer program and the remote display terminal. Associated with the display management module are data modules containing text and graphical representation data used by the computer program to display information. The system of the present invention also includes an output redirection handler connected between the display management module and a data communication link to the remote display terminal. Connected to the opposed end of the communication link is a remote display handler for controlling the display of information on the remote display terminal. To redirect the display of information to the remote display terminal, the display management module receives commands to display text and graphical images from the computer program. Based on these commands, the display management module provides commands, text from the data modules, and data indicating size and position of the graphical images to the output redirection handler for displaying information on the remote display terminal. The output redirection handler formats the command and data for transmission across the data communication link, and the remote display handler receives the display data and controls the remote display terminal to display the information.
Patent Number: 6,978,315 Issued on 12/20/2005 to Burrell
| Inventors:
|
Burrell; Brandon Mitchell (Lawrenceville, GA)
|
| Assignee:
|
American Megatrends, Inc. (Norcross, GA)
|
| Appl. No.:
|
685131 |
| Filed:
|
October 10, 2000 |
| Current U.S. Class: |
709/246; 709/220 |
| Intern'l Class: |
G06F 015/16 |
| Field of Search: |
709/205,246,220,221
707/513
|
References Cited [Referenced By]
U.S. Patent Documents
| 4870610 | Sep., 1989 | Belfer.
| |
| 5043919 | Aug., 1991 | Callaway et al.
| |
| 5065343 | Nov., 1991 | Inoue.
| |
| 5157606 | Oct., 1992 | Nagashima.
| |
| 5255361 | Oct., 1993 | Callaway et al.
| |
| 5416903 | May., 1995 | Malcolm.
| |
| 5548759 | Aug., 1996 | Lipe.
| |
| 5682529 | Oct., 1997 | Hendry et al.
| |
| 5754858 | May., 1998 | Broman et al.
| |
| 5758154 | May., 1998 | Qureshi.
| |
| 5812964 | Sep., 1998 | Finger.
| |
| 5878248 | Mar., 1999 | Tehranian et al.
| |
| 5913040 | Jun., 1999 | Rakavy et al.
| |
| 5923844 | Jul., 1999 | Pommier et al.
| |
| 5974454 | Oct., 1999 | Apfel et al.
| |
| 6014701 | Jan., 2000 | Chaddha.
| |
| 6065041 | May., 2000 | Lum et al.
| |
| 6141666 | Oct., 2000 | Tobin.
| |
Primary Examiner: Jaroenchonwanit; Bunjob
Attorney, Agent or Firm: Alston & Bird LLP
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims priority from U.S. Provisional Application Ser.
No. 60/216,901 entitled SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR MANAGING
THE DISPLAY OF INFORMATION OUTPUT BY A COMPUTER PROGRAM filed Jul. 7, 2000, the
contents of which are incorporated herein by reference.
Claims
1. A system for redirecting to a remote display terminal information output by
a computer program directed to a first display terminal such that the information
can also be displayed at the remote display terminal comprising:
a computer program that contains at least one token stored therein representing
one of text data and graphical data to be displayed during operation of said computer program;
a display management module stored on a computer-readable medium in communication
with an output of the computer program and the remote display terminal for displaying
data output from the computer program directed to the first display terminal to
the remote display terminal;
data modules stored on a computer-readable medium containing text data and graphical
data representations used by the computer program to display information on a display
terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said computer program;
an output redirection handler stored on a computer-readable medium in communication
with said display management module;
a data communication link connected between said output redirection handler and
the remote display terminal; and
a remote display handler stored on a computer-readable medium in communication
with the data communication link and the remote display terminal,
wherein said display management module receives commands to display data from
the computer program, and wherein said display management module, based on the
commands from the computer program, provides commands and data from said data modules
to said output redirection handler,
wherein said output redirection handler receives the information from said display
management module and provides the information to the remote display terminal for display,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said display management
module uses the token to retrieve the text or graphical data from said data modules
for display on the remote display terminal, and
wherein said remote display handler stores a current attribute value representing
a color attribute of the characters being displayed on the remote display terminal
such that subsequent commands to display data on the remote display terminal that
do not alter the attribute do not require transmittal of the attribute variable.
2. A system according to claim 1, wherein said display management module provides
data and commands based on a predetermined set of commands, and wherein said output
redirection handler communicates with said display management module using the
predetermined set of commands and provides the commands and data to the remote
display handler for display on the remote display terminal.
3. A system according to claim 1, wherein said data communication link is a data
communication link selected from the group consisting of parallel, serial, and
network, and wherein said output redirection handler receives commands and data
from said display management module and formats the commands and data for transmission
across said data communication link.
4. A system according to claim 1, wherein said remote display handler receives
commands and data from said output redirection handler and controls the remote
display terminal to display the data.
5. A system according to claim 1, wherein at least one data module is a language
data module including data strings representing language data, wherein each data
string is stored in said data modules and designated by a token, and wherein to
display a data string, said display management module receives a token associated
with the data string from the computer program and a command to display the data
string and based on the token accesses said language data module, retrieves the
data string associated with the token, and outputs the data string and a command
to display the data string to said output redirection handler.
6. A system according to claim 1 further comprising:
a plurality of language data modules associated with said display management
module, wherein each language data module includes data strings representing language
data in a selected language; and
a main language module header stored on a computer-readable medium and associated
with said display management module comprising individual pointers indicating the
location in a computer-readable storage medium in which each language data module
is located, wherein to display a data string in a selected language, said display
management module receives a token associated with the data string and a command
to display the data string, wherein said display management module accesses said
main language module header and retrieves the pointer associated with the language
data module corresponding to a preselected desired language for displaying the
data string, and wherein said display management module using the pointer, accesses
the language data module, retrieves the data string associated with the token,
and outputs the data string in the desired language and a command to display the
data string to said output redirection handler.
7. A system according to claim 5 further comprising a font module stored on a
computer-readable medium containing font data for displaying 256 standard and extended
ASCII characters.
8. A system according to claim 7, wherein at least one data module is a language
data module comprising:
a string data area stored on a computer-readable medium that includes data strings
representing language data, wherein each character of each data string is a character
selected from the group consisting of standard ASCII, extended ASCII, and double
byte characters;
an extended ASCII font data area stored on a computer-readable medium for storing
font data related to extended ASCII characters that are not displayable using the
extended ASCII character font data stored in said font module; and
a double byte character font data area stored on a computer-readable medium for
storing font data related to at least one double byte character.
9. A system according to claim 8, wherein characters in a data string that are
standard ASCII and extended ASCII characters having ASCII codes less than a selected
escape code are stored by their ASCII representations in said string data area,
while extended ASCII characters and standard ASCII characters, if any, having ASCII
codes at least as great as the selected escape code and ASCII characters that identify
double byte characters are encoded and the encoded values are stored in said string
data area.
10. A system according to claim 8, wherein standard ASCII characters and extended
ASCII characters having ASCII codes less than the selected escape code are stored
by their ASCII code representations in the string data area, and wherein extended
ASCII characters having ASCII codes at least as great as the selected escape code
and ASCII characters that identify the start of 16 bit double byte characters are
encoded into 16 bit values and the encoded values are stored in the string data area.
11. A system according to claim 10, wherein double byte characters are sequentially
encoded and the 16 bit encoded values representing the double byte characters are
stored in said string data area, wherein font data associated with the double byte
characters is stored in the double byte character font data area, and wherein at
least one extended ASCII character is encoded in said string data area with an
escape code preceding the ASCII representation of the extended ASCII character,
and wherein if the extended ASCII character is not displayable with extended ASCII
character font data stored in said font module, data for the extended ASCII character
is stored in said extended ASCII font data area.
12. A system according to claim 11, wherein double byte characters are sequentially
encoded such that the first double byte character is represented by a two-byte
code having a first byte that is one value greater than the escape code and a second
byte equal to zero, and wherein remaining unique double byte characters are encoded
with sequential 16 bit code values.
13. A system according to claim 12, wherein to display a data string, said display
management module receives a token associated with the data string and a command
to display the data string from the computer program and accesses the location
in the string data area where the data string is located and sequentially outputs
the characters of the data string along with a command to display the data string
to said output redirection handler.
14. A system according to claim 7, wherein when said display management module
receives a command to display an ASCII character, said display management module
locates the font data associated with the ASCII character in said font module and
using the font data outputs the ASCII character to a local display and a command
and the character code to said output redirection handler.
15. A system according to claim 1 further comprising a logo module stored in
a computer-readable medium and associated with said display management module,
wherein said logo module contains graphical data for display of at least one logo,
and wherein when said display management module receives a command to display the
logo, said display management module locates the graphical data associated with
the logo in said logo module and outputs the logo image to a local display and
a command and data necessary to display a representation of the logo to the output
redirection handler.
16. A system according to claim 1 wherein said display management module outputs
data for displaying a progress bar and a command to display a representation of
the progress bar to said output redirection handler.
17. A system according to claim 1, wherein said display management module outputs
data for displaying a box defining an area on a display terminal and a command
to display the box to said output redirection handler.
18. A system according to claim 17, wherein said display management module outputs
data for displaying a box defining an area on a display terminal, wherein said
display management module further outputs data to be displayed within the defined
area of the box, and wherein said display management module outputs commands to
scroll the data displayed within the defined area, while any data displayed on
other portions of the remote display terminal remain at the same position.
19. A method for redirecting to a remote display terminal information output
by a computer program directed to a first display terminal such that the information
can also be displayed at the remote display terminal comprising the steps of:
providing a computer program that contains at least one token stored therein
representing one of text data and graphical data to be displayed during operation
of said computer program;
providing on a computer-readable medium data modules containing text and graphical
representation data used by the computer program to display information, wherein
at least one of said text data and graphical data representations corresponds to
the token stored in said computer program;
receiving a command to display data from the computer program;
retrieving data associated with the command from the data modules;
providing a command and data from the data modules for display;
redirecting the command and data to be displayed to the remote display terminal
an using an output redirection handler stored on a computer-readable medium;
displaying the data on the remote display terminal; and
storing a current attribute value representing a color attribute of the characters
being displayed on the remote display terminal such that subsequent commands to
display data on the remote display terminal from said providing a command and data
step that do not alter the attribute do not require output of the attribute variable,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said retrieving step
uses the token to retrieve the text or graphical data from said data modules for
display on the remote display terminal.
20. A method according to claim 19, wherein said providing a command and data
step provides data based on a predetermined set of commands, and wherein said redirecting
step, using the predetermined set of commands, redirects the data to the remote
display terminal.
21. A method according to claim 20 further comprising the step of transmitting
the command and data from said redirecting step on a data communication link to
the remote display terminal.
22. A method according to claim 21, wherein the data communication link is a
data communication link selected from the group consisting of parallel, serial,
and network, and wherein said transmitting step further comprises the step of formatting
the commands and data from said providing commands and data step for transmission
across the data communication link.
23. A method according to claim 19 further comprising the step of storing a value
representing the current position of a cursor on the remote display terminal such
that subsequent commands to display data on the remote display terminal from said
providing a command and data step do not require data concerning cursor position.
24. A method according to claim 19, wherein said providing data modules step
provides at least one data module that is a language data module including data
strings representing language data, wherein each data string is stored in the language
data modules and designated by a token, and wherein to display a data string on
the remote terminal display, said receiving step receives a token associated with
the data string and a command to display the data string from the computer program
and based on the token said retrieving step accesses the data modules and retrieves
the data string associated with the token, and wherein said providing a command
and data step provides the data string and a command to display the data string.
25. A method according to claim 19, wherein said providing data modules step
provides a plurality of language data modules on a computer-readable medium, wherein
each language data module includes data strings representing language data in a
selected language, and wherein said providing data modules step further provides
a main language module header on a computer-readable medium comprising individual
pointers indicating the location in a computer-readable storage medium in which
each language data module is located, wherein to display a data string in a selected
language, said receiving step receives a token associated with the data string
and a command to display the data string from the computer program, wherein said
retrieving step accesses the main language module header and retrieves the pointer
associated with the language data module corresponding to a preselected desired
language for displaying the data string, wherein said retrieving step using the
pointer, accesses the language data module and retrieves the data string associated
with the token, and wherein said providing a command and data step provides the
data string for display on the remote display terminal.
26. A method according to claim 24, wherein said providing step further provides
a font module stored on a computer-readable medium containing font data for displaying
256 standard and extended ASCII characters.
27. A method according to claim 26, wherein said providing data modules step
provides at least one data module that is a language data module, wherein said
providing data modules step provides:
a string data area stored on a computer-readable medium that includes data strings
representing language data, wherein each character of each data string is a character
selected from the group consisting of standard ASCII, extended ASCII, and double
byte characters;
an extended ASCII font data area stored on a computer-readable medium for storing
font data related to extended ASCII characters that are not displayable using the
extended ASCII character font data stored in the font module; and
a double byte character font data area stored on a computer-readable medium for
storing font data related to characters that are double byte characters.
28. A method according to claim 27, wherein said providing step provides a string
data area wherein characters in a data string that are extended ASCII characters
and standard ASCII characters, if any, having ASCII codes less than a selected
escape code are stored by their ASCII representations in the string data area,
while extended ASCII characters and standard ASCII, if any, having ASCII codes
at least as great as the selected escape code and ASCII characters that identify
the start of 16 bit double byte characters are encoded into 16 bit values and the
encoded values are stored in the string data area.
29. A method according to claim 27, wherein said providing step provides a string
data area wherein characters in a data string that are standard ASCII characters
and extended ASCII characters having ASCII codes less than a selected escape code
are stored by their ASCII representations in the string data area, while extended
ASCII characters having ASCII codes at least as great as the selected escape code
and ASCII characters that identify the start of 16 bit double byte characters are
encoded into 16 bit values and the encoded values are stored in the string data area.
30. A method according to claim 29, wherein said providing step provides a string
data area including double byte characters that are sequentially encoded and the
encoded values representing the double byte characters are stored in the string
data area, wherein font data associated with the double byte characters is stored
in the double byte character font data area, and wherein at least one extended
ASCII character is encoded as a 16 bit value in the string data area with an escape
code preceding the ASCII representation of the extended ASCII character, and wherein
if the extended ASCII character is not displayable with the extended ASCII character
font data stored in the font module, data for the extended ASCII character is stored
in the extended ASCII font data area.
31. A method according to claim 30, wherein said providing step provides a string
data area including double byte characters that are sequentially encoded such that
the first double byte character is represented by a two-byte code having a first
byte that is one value greater than the escape code and a second byte equal to
zero, and wherein remaining unique double byte characters are encoded with sequential
16 bit code values.
32. A method according to claim 30, wherein to display a data string on a remote
display terminal, said receiving step receives the token associated with the data
string and a command to display the data string from the computer program and said
retrieving step accesses the location in the string data area where the data string
is located, and wherein said providing a command and data step sequentially outputs
the characters of the data string along with a command to display the data string
to the output redirection handler.
33. A method according to claim 26, wherein to display an ASCII character, said
retrieving step locates the font data associated with the ASCII character in the
font module, and wherein said providing a command and data step, using the font
data, outputs the ASCII character to a local display and a command and the character
code to display the character to the output redirection handler.
34. A method according to claim 19, wherein said providing data modules step
further provides a logo module stored on a computer-readable medium, wherein the
logo module contains graphical data for display of at least one logo, wherein when
said receiving step receives a command to display the logo, said retrieving step
locates the graphical data associated with the logo in the logo module, and wherein
said providing a command and data step, using the logo data, provides the logo
image to the local display and a command to display a representation of the logo
to the output redirection handler.
35. A method according to claim 19, wherein said providing a command and data
step provides data for displaying a progress bar and a command to display the progress
bar representation to the output redirection handler.
36. A method according to claim 19, wherein said providing a command and data
step provides data for displaying a box defining an area on a display terminal
and a command to display the box to the output redirection handler.
37. A method according to claim 36, wherein said providing a command and data
step provides data for displaying a box defining an area on a display terminal
and data to be displayed within the defined area of the box, and wherein said providing
a command and data step provides a command to scroll the data displayed within
the defined area, while any data displayed on other portions of the remote display
terminal remain at the same position.
38. A computer program product for redirecting to a remote display terminal information
output by a computer program directed to a first display terminal such that the
information can also be displayed at the remote display terminal, wherein the computer
program product comprises:
a computer-readable storage medium having computer readable program code means
embodied in said medium, said computer-readable program code means comprising:
computer program that contains at least one token stored therein representing
one of text data and graphical data to be displayed during operation of said computer program;
first computer instruction means for providing on a computer-readable medium
data modules containing text and graphical data used by the computer program to
display text information and a representation of graphical images on the remote
display terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said computer program;
second computer instruction means for receiving a command to display data from
the computer program;
third computer instruction means for retrieving data associated with the command
from the data modules;
fourth computer instruction means for providing a command and data from the data
modules for display;
fifth computer instruction means for redirecting the command and data to be displayed
to the remote display terminal using an output redirection handler stored on a
computer-readable medium;
sixth computer instruction means for displaying the data on the remote display
terminal; and
seventh computer instruction means for storing a value representing the current
position of a cursor on the remote display terminal such that subsequent commands
to display data on the remote display terminal do not require data concerning cursor position,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said third computer
instruction means uses the token to retrieve the text or graphical data from said
data modules for display on the remote display terminal.
39. A computer program product according to claim 38, wherein said fourth computer
instruction means provides data based on a predetermined set of commands, and wherein
said fifth computer instruction means, using the predetermined set of commands,
redirects the data for display on the remote display terminal.
40. A computer program product according to claim 38 further comprising seventh
computer instruction means for transmitting the command and data from said fifth
computer instruction means on a data communication link to the remote display terminal.
41. A computer program product according to claim 40, wherein the data communication
link is a data communication link selected from the group consisting of parallel,
serial, and network, and wherein said seventh computer instruction means formats
the commands and data from said fifth computer instruction means for transmission
across the data communication link.
42. A computer program product according to claim 40, wherein said sixth computer
instruction means receives commands and data from said seventh computer instruction
means and controls the remote display terminal to display the data from the computer program.
43. A computer program product according to claim 38, wherein said first computer
instruction means provides at least one data module that is a language data module
including data strings representing language data, wherein each data string is
stored in the language data modules and designated by a token, and wherein to display
a data string on the remote terminal display, said second computer instruction
means receives a token associated with the data string along with a command to
display the data string from the computer program and based on the token said third
computer instruction means accesses the data modules and retrieves the data string
associated with the token, and wherein said fourth computer instruction means provides
the data string and a command to display the data string.
44. A computer program product according to claim 38, wherein said first computer
instruction means provides a plurality of language data modules on a computer-readable
medium, wherein each language data module includes data strings representing language
data in a selected language, and wherein said first computer instruction means
further provides a main language module header on a computer-readable medium comprising
individual pointers indicating the location in a computer-readable storage medium
in which each language data module is located, wherein to display a data string
in a selected language, said second computer instruction means receives a token
associated with the data string along with a command to display the data string
from the computer program, wherein said third computer instruction means accesses
the main language module header and retrieves the pointer associated with the language
data module corresponding to a preselected desired language for displaying the
data string, wherein said third computer instruction means, using the pointer,
accesses the language data module and retrieves the data string associated with
the token, and wherein said fourth computer instruction means provides the data
string for display on the remote display terminal.
45. A computer program product according to claim 38, wherein said first computer
instruction means provides a font module stored on a computer-readable medium containing
font data for displaying 256 standard and extended ASCII characters.
46. A computer program product according to claim 45, wherein said first computer
instruction means provides at least one data module that is a language data module,
wherein said first computer instruction means provides:
a string data area stored on a computer-readable medium that includes data strings
representing language data, wherein each character of each data string is a character
selected from the group consisting of standard ASCII, extended ASCII, and double
byte characters;
an extended ASCII font data area stored on a computer-readable medium for storing
font data related to extended ASCII characters that are not displayable using the
extended ASCII character font data stored in the font module; and
a double byte character font data area stored on a computer-readable medium for
storing font data related to characters that are double byte characters.
47. A computer program product according to claim 46, wherein said first computer
instruction means provides a string data area wherein characters in a data string
that are extended ASCII characters and standard ASCII characters, if any, having
ASCII codes less than a selected escape code are stored by their ASCII representations
in the string data area, while extended ASCII characters and standard ASCII, if
any, having ASCII codes at least as great as the selected escape code and ASCII
characters that identify the start of 16 bit double byte characters are encoded
into 16 bit values and the encoded values are stored in the string data area.
48. A computer program product according to claim 46, wherein said first computer
instruction means provides a string data area wherein characters in a data string
that are standard ASCII characters and extended ASCII characters having ASCII codes
less than a selected escape code are stored by their ASCII representations in the
string data area, while extended ASCII characters having ASCII codes at least as
great as the selected escape code and ASCII characters that identify the start
of 16 bit double byte characters are encoded into 16 bit values and the encoded
values are stored in the string data area.
49. A computer program product according to claim 45, wherein said first computer
instruction means provides a string data area including double byte characters
that are sequentially encoded and the encoded values representing the double byte
characters are stored in the string data area, wherein font data associated with
the double byte characters is stored in the double byte character font data area,
and wherein at least one extended ASCII character is encoded as a 16 bit value
in the string data area with an escape code preceding the ASCII representation
of the extended ASCII character, and wherein if the extended ASCII character is
not displayable with the extended ASCII character font data stored in the font
module, data for the extended ASCII character is stored in the extended ASCII font
data area.
50. A computer program product according to claim 49, wherein said first computer
instruction means provides a string data area including double byte characters
that are sequentially encoded such that the first double byte character is represented
by a two-byte code having a first byte that is one value greater than the escape
code and a second byte equal to zero, and wherein remaining unique double byte
characters are encoded with sequential 16 bit code values.
51. A computer program product according to claim 49, wherein to display a data
string on a remote display terminal, said second computer instruction means receives
the token associated with the data string and a command to display the data string
from the computer program and said third computer instruction means accesses the
location in the string data area where the data string is located, and wherein
said fourth computer instruction means sequentially outputs the characters of the
data string along with a command to display the data string.
52. A computer program product according to claim 45, wherein to display an ASCII
character, said third computer instruction means locates the font data associated
with the ASCII character in the font module, and wherein said fourth computer instruction
means, using the font data, outputs the ASCII character to a local display and
a command and the character code to the output redirection handler.
53. A computer program product according to claim 38, wherein said first computer
instruction means further provides a logo module stored on a computer-readable
medium, wherein the logo module contains graphical data for display of at least
one logo, wherein when said second computer instruction means receives a command
to display the logo, said third computer instruction means locates the graphical
data associated with the logo in the logo module, and wherein said fourth computer
instruction means, using the logo data, outputs the logo image to the local display
and a command and data necessary to display a representation of the logo to the
output redirection handler.
54. A computer program product according to claim 38, wherein said fourth computer
instruction means provides data for displaying a progress bar and a command to
display the progress bar representation.
55. A computer program product according to claim 38, wherein said fourth computer
instruction means provides data for displaying a box defining an area on a display
terminal and a command to display the box.
56. A computer program product according to claim 55, wherein said fourth computer
instruction means provides data for displaying a box defining an area on a display
terminal and data to be displayed within the defined area of the box, and wherein
said fourth computer instruction means provides a command to scroll the data displayed
within the defined area, while any data displayed on other portions of the remote
display terminal remain at the same position.
57. A system for redirecting to a remote display terminal information output
by a BIOS POST computer program directed to a first display terminal such that
the information can also be displayed at the remote display terminal comprising:
a BIOS POST computer program that contains at least one token stored therein
representing one of text data and graphical data to be displayed during operation
of said computer program;
a display management module stored on a computer-readable medium in communication
with an output of the BIOS POST computer program and the remote display terminal
for displaying data from the computer program on a display terminal;
data modules stored on a computer-readable medium containing text data and graphical
data representations used by the computer program to display information on a display
terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said BIOS POST computer program;
an output redirection handler stored on a computer-readable medium in communication
with said display management module;
a data communication link connected between said output redirection handler and
the remote display terminal; and
a remote display handler stored on a computer-readable medium in communication
with the data communication link and the remote display terminal,
wherein said display management module receives commands to display data from
the computer program, and wherein said display management module, based on the
commands from the computer program, provides commands and data from said data modules
to said output redirection handler for displaying information on the remote display
terminal, wherein to display text or graphical data, said BIOS POST computer program
outputs a token representing the text or graphical data to be displayed, and said
display management module uses the token to retrieve the text or graphical data
from said data modules for display on the remote display terminal, and
wherein said remote display handler stores a current attribute value representing
a color attribute of the characters being displayed on the remote display terminal
such that subsequent commands to display data on the remote display terminal that
do not alter the attribute do not require transmittal of the attribute variable.
58. A system according to claim 57, wherein said display management module provides
data and commands based on a predetermined set of commands, and wherein said output
redirection handler communicates with said display management module using the
predetermined set of commands and provides the commands and data to the remote
display handler for display on the remote display terminal.
59. A system for redirecting to a remote display terminal information output
by a BIOS POST computer program directed to a first display terminal such that
the information can also be displayed at the remote display terminal comprising:
a BIOS POST computer program that contains at least one token stored therein
representing one of text data and graphical data to be displayed during operation
of said computer program;
a display management module stored on a computer-readable medium in communication
with an output of the BIOS POST computer program and the remote display terminal
for displaying data from the computer program on a display terminal;
data modules stored on a computer-readable medium containing text data and graphical
data representations used by the computer program to display information on a display
terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said BIOS POST computer program;
an output redirection handler stored on a computer-readable medium in communication
with said display management module;
a data communication link connected between said output redirection handler and
the remote display terminal; and
a remote display handler stored on a computer-readable medium in communication
with the data communication link and the remote display terminal,
wherein said display management module receives commands to display data from
the computer program, and wherein said display management module, based on the
commands from the computer program, provides commands and data from said data modules
to said output redirection handler for displaying information on the remote display
terminal, wherein to display text or graphical data, said BIOS POST computer program
outputs a token representing the text or graphical data to be displayed, and said
display management module uses the token to retrieve the text or graphical data
from said data modules for display on the remote display terminal, and
wherein said remote display handler stores a value representing the current position
of a cursor on the remote display terminal such that subsequent commands to display
data on the remote display terminal do not require data concerning cursor position.
60. A system according to claim 59, wherein at least one data module is a language
data module including data strings representing language data, wherein each data
string is stored in said data modules and designated by a token, and wherein to
display a data string, said display management module receives a token associated
with the data string from the computer program and a command to display the data
string and based on the token accesses said language data module, retrieves the
data string associated with the token, and outputs the data string and a command
to display the data string to said output redirection handler.
61. A system according to claim 59 further comprising:
a plurality of language data modules associated with said display management
module, wherein each language data module includes data strings representing language
data in a selected language; and
a main language module header stored on a computer-readable medium and associated
with said display management module comprising individual pointers indicating the
location in a computer-readable storage medium in which each language data module
is located, wherein to display a data string in a selected language, said display
management module receives a token associated with the data string and a command
to display the data string, wherein said display management module accesses said
main language module header and retrieves the pointer associated with the language
data module corresponding to a preselected desired language for displaying the
data string, and wherein said display management module using the pointer, accesses
the language data module, retrieves the data string associated with the token,
and outputs the data string in the desired language and a command to display the
data string to said output redirection handler.
62. A system according to claim 60 further comprising a font module stored on
a computer-readable medium containing font data for displaying 256 standard and
extended ASCII characters.
63. A system according to claim 59 further comprising a logo module stored in
a computer-readable medium and associated with said display management module,
wherein said logo module contains graphical data for display of at least one logo,
and wherein when said display management module receives a command to display the
logo, said display management module locates the graphical data associated with
the logo in said logo module and outputs the logo image to a local display and
a command and data necessary to display a representation of the logo to the output
redirection handler.
64. A system according to claim 59 wherein said display management module outputs
data for displaying a progress bar and a command to display a representation of
the progress bar to said output redirection handler.
65. A system according to claim 59, wherein said display management module outputs
data for displaying a box defining an area on a display terminal and a command
to display the box to said output redirection handler.
66. A system according to claim 65, wherein said display management module outputs
data for displaying a box defining an area on a display terminal, wherein said
display management module further outputs data to be displayed within the defined
area of the box, and wherein said display management module outputs commands to
scroll the data displayed within the defined area, while any data displayed on
other portions of the remote display terminal remain at the same position.
67. A system for redirecting to a remote display terminal information output
by a computer program directed to a first display terminal such that the information
can also be displayed at the remote display terminal comprising:
a computer program that contains at least one token stored therein representing
one of text data and graphical data to be displayed during operation of said computer program;
a display management module stored on a computer-readable medium in communication
with an output of the computer program and the remote display terminal for displaying
data output from the computer program directed to the first display terminal to
the remote display terminal;
data modules stored on a computer-readable medium containing text data and graphical
data representations used by the computer program to display information on a display
terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said computer program;
an output redirection handler stored on a computer-readable medium in communication
with said display management module;
a data communication link connected between said output redirection handler and
the remote display terminal; and
a remote display handler stored on a computer-readable medium in communication
with the data communication link and the remote display terminal,
wherein said display management module receives commands to display data from
the computer program, and wherein said display management module, based on the
commands from the computer program, provides commands and data from said data modules
to said output redirection handler,
wherein said output redirection handler receives the information from said display
management module and provides the information to the remote display terminal for display,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said display management
module uses the token to retrieve the text or graphical data from said data modules
for display on the remote display terminal, and
wherein said remote display handler stores a value representing the current position
of a cursor on the remote display terminal such that subsequent commands to display
data on the remote display terminal do not require data concerning cursor position.
68. A method for redirecting to a remote display terminal information output
by a computer program directed to a first display terminal such that the information
can also be displayed at the remote display terminal comprising the steps of:
providing a computer program that contains at least one token stored therein
representing one of text data and graphical data to be displayed during operation
of said computer program;
providing on a computer-readable medium data modules containing text and graphical
representation data used by the computer program to display information, wherein
at least one of said text data and graphical data representations corresponds to
the token stored in said computer program;
receiving a command to display data from the computer program;
retrieving data associated with the command from the data modules;
providing a command and data from the data modules for display;
redirecting the command and data to be displayed to the remote display terminal
an using an output redirection handler stored on a computer-readable medium;
transmitting the command and data from said redirecting step on a data communication
link to the remote display terminal; and
displaying the data on the remote display terminal,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said retrieving step
uses the token to retrieve the text or graphical data from said data modules for
display on the remote display terminal,
wherein said providing a command and data step provides data based on a predetermined
set of commands, and wherein said redirecting step, using the predetermined set
of commands, redirects the data to the remote display terminal, and
wherein said displaying step receives commands and data from said transmitting
step and controls the remote display terminal to display the data from the computer program.
69. A computer program product for redirecting to a remote display terminal information
output by a computer program directed to a first display terminal such that the
information can also be displayed at the remote display terminal, wherein the computer
program product comprises:
a computer-readable storage medium having computer readable program code means
embodied in said medium, said computer-readable program code means comprising:
computer program that contains at least one token stored therein representing
one of text data and graphical data to be displayed during operation of said computer program;
first computer instruction means for providing on a computer-readable medium
data modules containing text and graphical data used by the computer program to
display text information and a representation of graphical images on the remote
display terminal, wherein at least one of said text data and graphical data representations
corresponds to the token stored in said computer program;
second computer instruction means for receiving a command to display data from
the computer program;
third computer instruction means for retrieving data associated with the command
from the data modules;
fourth computer instruction means for providing a command and data from the data
modules for display;
fifth computer instruction means for redirecting the command and data to be displayed
to the remote display terminal using an output redirection handler stored on a
computer-readable medium;
sixth computer instruction means for displaying the data on the remote display
terminal; and
seventh computer instruction means for storing a current attribute value representing
a color attribute of the characters being displayed on the remote display terminal
such that subsequent commands to display data on the remote display terminal from
said fourth computer instruction means that do not alter the attribute do not require
output of the attribute variable,
wherein to display text or graphical data, said computer program outputs a token
representing the text or graphical data to be displayed, and said third computer
instruction means uses the token to retrieve the text or graphical data from said
data modules for display on the remote display terminal.
Description
FIELD OF THE INVENTION
The present invention relates generally to the display of information from a
computer program on a remote display terminal. More particularly, the present invention
relates to a system having a display management module and an output redirection
handler connected to the computer program and the remote display terminal. The
display management module, based on commands from the computer program, provides
commands and text data from data modules associated with the display management
module to the output redirection handler for displaying information on the remote
display terminal.
BACKGROUND OF THE INVENTION
Many computer programs operate in conjunction with a display terminal to provide
information to the user of the computer program concerning the operation of the
computer program and to query the user for input of information. For example, Basic
Input/Output System (BIOS) software is used in many computer systems to initialize
operation of the computer system when it is either powered on or is reset. The
BIOS software typically performs a power on system test (POST) that checks the
status of components of the computer system to determine whether certain peripherals
are installed. The BIOS software also ascertains the amount of memory resources
the computer system has, performs diagnostic testing on the computer components
and peripherals, and installs drivers for interacting with the peripherals. Further,
the BIOS software also includes a setup mode that allows the user to alter the
configuration of some of the parameters of the BIOS software.
Importantly, during POST, as the BIOS software initializes the components
and peripherals and performs system checks, information concerning these operations
is displayed to the user. This information allows the user or computer support
personnel to determine whether all of the computer components and peripherals are
properly installed and whether there are errors associated with these components
and peripherals. Further, in the setup mode, the parameters of the BIOS software
are displayed to the user so that the user may confirm or alter these parameters.
Additionally, the BIOS software may display logos associated with the developer
of the BIOS software and/or the owner of the computer system. Further, the BIOS
software may display progress bars and boxes.
In conventional computer programs, such as BIOS software, the text and graphical
data used for displaying information on the display terminal is typically located
within the source code of the computer program. For example, text information for
displaying text data strings on the display terminal is typically embedded in the
source code. Further, graphical data for logos and progress bars is also embedded
in the source code. The location of the text and graphical information in the source
code is problematic for many reasons.
For instance, the addition of the text and graphical data in the source code
increases the overall size of the code. The display of text and graphical data
requires not only the character codes for the data but also font, color, and various
other attributes associated with the format in which the data is displayed.
Further, and more importantly, the embedding of the text and graphical data
in the source code makes updating of the text and graphics displayed by the computer
program much more difficult. For example, an important limitation to the export
of most computer systems and computer programs to other countries is the translation
of the outputs displayed to the user in a language that is understandable to the
user of the computer system or computer program. As many software programs embed
the textual and graphical information in the source code of the computer program,
to modify the program to display the information in the proper language for the
user, the source code must be reprogrammed with the appropriate text and graphics
and recompiled. Additionally, besides the effort of rewriting the source code,
multiple copies of the modified source code must be maintained for each of the
languages that the source code has been rewritten. This becomes burdensome as updates
to the source code must be performed for each language version of the source code,
and each version of the source code must be maintained in storage. For large-scale
systems involving millions of lines of code and modules, the maintenance, updating,
and storage requirements for all of the different language versions of the code
may be enormous.
An additional problem is that computer programs, such as BIOS software, typically
display graphical information such as boxes, progress bars, and logos. The code
for these graphics is also typically embedded in the source code. As such, changes
to the graphic displays or logos also require rewriting of the source code. This
creates problems for customization of the output displays. Specifically, it may
be advantageous to display different graphics for different customers. For example,
some customers may wish to include their logos in the display as the computer program operates.
Similarly, the language data is typically embedded in the source code
of the computer program along with a specific font for di