Information retrieval device for displaying a dynamically modifiable document

Abstract: An information retrieval device displays portions of a dynamically modifiable document requested by a user. The information retrieval device has a controller connected to a display screen, input selector switches, such as buttons, and memory, such as non-volatile flash memory. One or more documents, such as a newspaper or magazine, is stored in the memory. A receiver, such as a pager, modem, or FM radio receiver, is connected to and dynamically updates the memory. When the device is turned on, a first portion of a document is displayed on a display screen. When the user wants to see a different portion of the document, or a different document altogether, she presses one of the buttons. Upon detection that a button was enabled, an action is performed that changes the display on the display screen. The action performed can vary in complexity: it may simply cause the next page of the document to be displayed, or may execute a nested hypertext link to cause related information contained in the same or a different document to update only a portion of the display screen. The document is stored in the memory in a manner that allows the display screen to be refreshed directly from the memory. When an updated portion of a document is received by the receiver, that portion of memory is updated.

Description: Cross Reference to Related Applications This invention is related to commonly assigned patent application Serial number EP-A-0646855 "Information Retrieval Device for Displaying a Document", filed on even date herewith, Field of the Invention This invention relates to the data processing field. More particularly, this invention is an information retrieval device specifically designed for displaying one or more documents in an efficient, cost effective manner. Background of the Invention General purpose personal computers have certainly had a revolutionary effect on the modern world. Only a few short years ago, it was inconceivable that only a few thousand dollars could buy an incredibly powerful machine capable of performing almost any imaginable task performed in the workplace or home. In a single day, the same general purpose personal computer could be instructed to calculate a complex mathematical equation, compose a letter to a friend, do a regression cost analysis on a spreadsheet, send a electronic mail message to the President of the United States, and instruct your toaster to make you a piece of toast. While the general purpose computer is capable of doing just about everything, it has often been criticized for not doing anything particularly well. Many people clearly do not want to pay substantial sums of their hard earned money for a general purpose computer that does thousands of things they don't want to do, but doesn't do a good job at what they do want to do. This is particularly true in the area of information retrieval, where many people would love to have a well designed, cost effective electronic alternative to hard copy media such as newspapers, but don't want to pay thousands of dollars for a general purpose computer that does, at best, a mediocre job of performing this task. In addition, many information suppliers would love to provide rapidly changing information to a select group of consumers as they need it, when they need it, without the cumbersome overhead of a general purpose computer. WO-A-9314458 describes a pocket organizer arranged to receive and display image data, wherein the received image data are processed by converting the images to a one-bit-per-pixel format suitable for display. A plurality of input selector switches are provided, enabling a user to select data to be displayed. GB-A-2 238 144 describes a data storage device arranged to receive data from a separate input device and which comprises a memory and a display, the arrangement being such that data stored in the memory can be displayed without requiring the input device to be present. Summary of the Invention It would be desirable to provide an information retrieval device capable of displaying a document. It would further be desirable to provide an information retrieval device capable of displaying a dynamically modifiable document in a cost effective manner. It would further be desirable to provide an information retrieval device capable of displaying a dynamically modifiable hypertext document. Thus, in accordance with a first aspect of the present invention there is provided an information retrieval device as defined in clam 1. In accordance with a second aspect of the present invention there is provided a method for generating and displaying a dynamically modifiable document on a display screen, as defined in claim 8. In a preferred embodiment, the information retrieval device displays portions of a dynamically modifiable document requested by a user. The information retrieval device has a controller connected to a display screen, input selector switches, such as buttons, and memory, such as flash memory. One or more documents, such as a newspaper or magazine, is stored in the memory. A receiver, such as a pager, modem, or FM radio receiver, is connected to and dynamically updates the memory. When the device is turned on, a first portion of a document is displayed on a display screen. When the user wants to see a different portion of the document, or a different document altogether, she presses one of the buttons. Upon detection that a button was enabled, an action is performed that changes the display on the display screen. The action performed can vary in complexity: it may simply cause the next page of the document to be displayed, or may execute a nested hypertext link to cause related information contained in the same or a different document to update only a portion of the display screen. The document is stored in the memory in a manner that allows the display screen to be refreshed directly from the memory. When an updated portion of the document is received by the receiver, the contents of the memory are modified by the updated portion. Brief Description of the Drawings Fig. 1 shows a block diagram of a conventional general purpose computer system. Fig. 2 shows the information retrieval device of the invention. Fig. 3 shows a hypertext model. Fig. 4 shows a nested hypertext model. Fig. 5A shows a block diagram of the information retrieval device of the preferred embodiment of the invention. Fig. 5B shows a block diagram of the information retrieval device of an alternate embodiment of the invention. Fig. 6A shows a flowchart of the operation of the controller in the information retrieval device of the preferred embodiment of the invention. Fig. 6B shows a flowchart of the operation of the controller in the information retrieval device of an alternate embodiment of the invention. Fig. 7 shows a high level view of how a simple exemplary document is stored in the memory for use by the information retrieval device of the preferred embodiment of the invention. Detailed Description of the Preferred Embodiment Fig. 1 shows a block diagram of a conventional general purpose computer system. Processor 11 is capable of being programmed to perform a wide variety of tasks. Under user direction from keyboard 13, processor 11 retrieves application program 14 from disk drive 15. Application program 14 instructs processor 11 to perform specific tasks unique to the function of application program 14. Whenever application program 14 instructs processor 11 to display an image on display screen 19, processor 11 collects data from various locations on disk drive 15 and/or random access memory 16 and generates an image for display. This process is known as "rendering". After processor 11 has rendered the image for display on display screen 19, it places the rendered image in a special segment of RAM 16 known as video RAM 17. Screen Controller 18 scans the rendered image in video RAM 17 at a rate of between 50-70 Hz, and uses this information to keep display screen 19 refreshed at a rate that appears constant to the human eye. When computer system 10 is turned off, the contents of video RAM 17 are erased. Fig. 2 shows information retrieval device 20 of the invention. Device 20 has memory 30, display screen 40, and input selector switches 50. In the preferred embodiment, memory 30 is a non-volatile flash memory card, although other forms of memory could also be used. Input selector switches 50 are shown as a series of buttons 51-54 below display screen 40 While four buttons are shown, input selector switches 50 could refer to anything from a mouse (with one to several buttons and one to several operating modes -- such as single click, double click, drag and drop, etc) to dozens or hundreds of buttons. In addition, input selector switches 50 could physically reside on display screen 40, capable of being enabled by touch, stylus, light pen, tab key, etc. Input selector switches 50 could also be connected to sensors capable of sensing external events such as position, light, heat, temperature, motion, etc. Before information retrieval device 20 is discussed in more detail, it will be useful to briefly discuss the general concept and terminology involved with hypertext Fig. 3 shows simple hypertext model 80. In hypertext model 80, information is displayed to a user one page at a time. Model 80 contains a series of pages 81-86, arranged in stack 87. Assume the data on page 81 is being displayed to a user. Page 81 contains link cell 88, which is typically an icon, word or phrase having a different appearance from the other words or phrases on page 81. If the user selects link cell 88 (most commonly by moving the mouse cursor over to the link cell and double clicking), link 89 is executed, and page 84 is now displayed to the user. Fig. 4 shows nested hypertext model 90 Model 90 is similar to model 80, but allows for the pages in the hypertext stack to be nested. As before, model 90 contains pages 81-86 arranged in stack 87. But page 81 contains image 91 and image 95. Image 91 is connected by nested link 92 to nested stack 93 Likewise, image 95 is connected by nested link 96 to nested stack 97. Therefore, image 91 can be any of the images stored on the pages in stack 93, and image 95 can be any of the images stored on the pages in stack 97. Nested hypertext, while more complex than simple hypertext, allows for a dramatic increase in function and power of the use of hypertext in information retrieval. Stacks 87, 93 and 97 can each be considered objects in the classical computer sense, as each stack are self contained state machines reacting to external events. For purposes of this invention, the term "hypertext" includes both the simple hypertext model shown in Fig. 3 and the nested hypertext model shown in Fig. 4. Those skilled in the art will appreciate that the simple hypertext model can be one selector switch corresponding to a request to display the next page on the stack, and one selector switch corresponding to a request to display the previous page on the stack, and still fall within the spirit and scope of this invention. Fig. 5A shows a block diagram of information retrieval device 20 of the preferred embodiment. As previously discussed, device 20 contains memory 30, display screen 40, and input selection switches 50. Device 20 also contains controller 60 which is connected to everything just discussed. In the preferred embodiment, controller 60 is not a general purpose microprocessor such as an Intel 8088, although such a processor could be suitably programmed as discussed herein and used in an alternate embodiment of the invention. In order to save money and space and eliminate unnecessary circuitry, controller 60 contains selection switch register 61, object registers 62, refresh register 64, and microcontroller 65. In the preferred embodiment, microcontroller 65 is a Intel 8051 microcontroller cell, although other controller cells or equivalent circuitry could be used. Information retrieval device 20 also contains receiver 39, connected to memory 30. In the preferred embodiment, receiver 39 is an addressable radio pager capable of receiving data transmitted from transmitter 38. Receiver 39 could also be a FM radio receiver that receives data broadcast by transmitter 38 to all receivers in a particular range. The range of transmission of transmitter 38 could be as large as a city, county, state, or region, or could be as small as a shopping mall or part of a store. When receiver 39 receives a new document from transmitter 38, it dynamically modifies the contents of memory 30. Depending on what was transmitted, all or only a portion of memory 30 is overwritten with the new information. If receiver 39 is a modem connected into the phone lines via a cable, transmitter 38 is the computing device transmitting data via the phone lines to receiver 39. Fig. 5B shows a block diagram of information retrieval device 25 of the first alternate embodiment of the invention. Fig. 5B is the same as Fig. 5A, except that controller 60 has been replaced by controller 70. Controller 70 contains adder 71 connected to refresh counter 72, indirection register 73, and switch selection detector 74. While device 25 supports the simple hypertext model shown in Fig. 3 at a lower cost than device 20 of the preferred embodiment, it cannot support the nested hypertext model shown in Fig. 4 Device 25 uses indirection register 73 to point to hypertext pages referenced by the selection of switches 50. These pages could be displayed sequentially in response to the selection of a "next page" or "previous page" switch, or can display pages uniquely assigned to specific switches selected as a specific page is displayed. The operation of information retrieval devices 20 and 25 of Fig. 5A and Fig. 5B will now be discussed by referring to Figs. 6A, 6B, and 7. Fig 6A shows a flowchart of the operation of controller 60 in information retrieval device 20 of the invention. Controller 60 reads the initial state data from a first addressable area in memory 30 in block 101 This initial state data contains the position and size of the displayed page and any nested pages. This initial state data also contains pointers to and initial states of one or more state machines contained in one or more other addressable areas in memory 30. Also contained in the initial state data are one or more pointers to other addressable areas of memory 30 containing images (text and/or graphics) pre-rendered for display on display screen 40 In the preferred embodiment, this initial state data is contained at memory address 0000 Block 103 loads the initial state of input selector switches into selector switch register 61 Block 105 sets the current object equal to the first object (i.e. first stack in a nested hypertext model, or the only stack in a simple hypertext model) Block 110 loads the current display state for this object into a register in object registers 62. Block 120 services the state machine for this object. As previously discussed, this state machine is located in a second addressable area on memory 30 Block 130 checks to see if there are more objects with state machines to service. If so, block 130 is answered affirmatively, and block 135 sets the current object equal to the next object. Flow of control loops back to block 110 Once all objects have been serviced, block 150 refreshes the screen Since all images displayed on display screen 40 are stored pre-rendered in memory 30, block 150 refreshes display screen 40 directly from addressing memory 30. Refresh register 64 keeps track of the area of the screen currently being refreshed, and microcontroller 65 directs memory 30 to send this data to screen 40. Note that unlike the general purpose computer of Fig. 1, no processor is required to render the data to video RAM for refresh and display to the display screen. After display screen 40 has been refreshed, flow of control returns to block 103. Fig. 6B shows the flowchart describing the operation of device 25 of the first alternate embodiment. Note that it has much in common with the flowchart of Fig. 6A, except that block 103 would load the current switch states into indirection register 73. In addition, blocks 105, 110, 130, and 135 would be unnecessary, and block 120 services the single state machine of the alternate embodiment. Fig. 7 shows an example of how a document (simplified for illustrative purposes) is stored on memory 30 for use by information retrieval device 20. In this example, the document is a local newspaper Initial state data 31 begins at address 0000 of memory 30. Line 31-1 defines the upper left hand corner of the background page to be coordinates 0,0, the upper left comer of display screen 40. Line 31-2 defines the size of the background image as 127,127 -- the size of display screen 40 in the preferred embodiment. Of course, those skilled in the art will realize that display screen 40 could be much larger or smaller. Line 31-3 points to the location in memory 30 that stores the pre-rendered image of the background page to be displayed as device 20 is turned on. In our example, this address is FRONT_PAGE, the beginning address of document portion 35. Line 31-4 defines the upper left hand corner of a nested foreground page to be coordinates 100,100 on display screen 40. Line 31-5 defines the size of the foreground page as 20,20. Line 31-6 points to the location in memory 30 that stores the pre-rendered image of the foreground page to be displayed as device 20 is turned on. In our example, this address is SUN_ICON, the beginning address of document portion 33. Line 31-7 points to the state machine for this example. Note that one state machine is sufficient to control both the background object and the foreground object in this example, since they both are affected the same way by the same events. This state machine has an address of NEWS_SM, the beginning address for state machine 32. Lines 31-8 - 31-12 contain the initial state of the state machine. State machine 32 contains the conditions of each state in the machine. Lines 32-1 to 32-5 define the conditions for the first state of state machine 32. In this state, device 20 has just been turned on and is displaying the front page of the newspaper, and the user has pressed button 51, indicating that he wants to see the news section of the paper. When the user presses button 51, NEWS is set to TRUE in line 32-2, and the front page of the news section is displayed, along with any foreground images, when the change of state is detected by block 120. Button_1 is reset to FALSE. Likewise, pressing button 52 will change state and cause the money section to be displayed, button 53 will display the sports section, and button 54 will display the weather section. Each state of state machine 32 contains lines similar to lines 32-1 to 32-5 that detect that a specific button was pressed, point to the document portions to be displayed in response to entering this state, and resetting the button pressed. When it is desirable to modify the information in the document. transmitter 38 sends the updated document to receiver 39. Receiver 39 stores this updated document in memory 30. Note that this updated document may overwrite anywhere from one byte of data to the entire contents of memory 30. For example, in case of an electronic newspaper, late breaking news can overwrite just a portion of the document, where the next day's paper can overwrite the entire previous day's document. This function is especially powerful when one considers that overwriting only a small portion of state machine 32 can dramatically alter the function of the device. Fig. 7 is modified for use by information retrieval device 25 of the alternate embodiment as follows: except that document portions 33 and 34 and lines 31-4, 31-5, 31-6, 32-4 and 32-9 are not present, since device 25 does not support nested hypertext An alternate embodiment of the invention has been contemplated where memory 30 actually contains a non-volatile portion and a volatile portion The non-volatile portion can be a ROM, flash memory, non-volatile RAM, etc, and contains initial state data 31 and optionally one or more document portions displayed when the device is first initialized. Volatile portion can be RAM or equivalent that contains state machines 32 and document portions to be displayed as various states are entered, and optionally initial state data 31. In this embodiment, block 101 of the flowchart of Fig. 6A would read initial state data 31 from the volatile portion if present; otherwise, the initial state data would be read from the non-volatile portion. If read from the non-volatile portion, a default initial state would be entered where a default background image stored as a document portion in the non-volatile portion of memory would be displayed. If no document portions are stored in the non-volatile portion of memory, nothing would be displayed, although the device would be powered on and ready for a document to be received by receiver 39, stored in memory 30, and displayed. This embodiment would be suitable for many applications and would result in a lower cost device. While this invention has been described with respect to the preferred and alternate embodiments, it will be understood by those skilled in the art that various changes in detail may be made therein without departing from the scope and teaching of the invention as defined in the claims. For example, the circuits shown in the drawings could be replaced by other equivalent circuit structures.

Claims: An information retrieval device (20) for displaying a document, comprising: a receiver (39) for receiving in pre-rendered format a document from a transmitter: memory (30) for storing in pre-rendered format said document received by said receiver; a plurality of input selector switches (50); a display screen (40); controller circuitry (60) connected to said memory, said input selector switches, and said display screen, said controller circuitry determining which portion of said document to display on said display screen, responsive to said plurality of input selector switches; and said controller circuitry being arranged to refresh said display screen directly from that portion of said memory, in which said portion of said document is stored. The device of claim 1, wherein said plurality of input selector switches are displayed on said display screen and selected by a mouse. The device of claim 1, wherein said plurality of input selector switches are displayed on said display screen and selected by a stylus. The device of claim 1, wherein said plurality of input selector switches are displayed on said display screen and selected by touch, said display screen being a touch display screen. The device of claim 1, wherein said plurality of input selector switches are buttons. The device of claim 1, said controller circuitry further comprising: a microcontroller cell (65); an object register (62) for storing the states of a plurality of hypertext objects; and a switch selection register (61) for storing the current switch status. The device of claim 1, said controller circuitry further comprising: an adder (71); and an indirection register (73). A method for generating and displaying a dynamically modifiable document on a display screen (40), comprising the steps of: receiving in pre-rendered format a document transmitted by a receiver (39); storing said document in pre-rendered format in memory (30); reading initial state data (31) from said memory; determining a first display state from said initial state data; displaying on said display screen a first portion of said document from a first document portion of said memory corresponding to said first display state; and refreshing said display screen directly from that portion of said memory in which said portion of said document is stored. The method of claim 8, further comprising the steps of: monitoring a plurality of input selector switches (50); responsive to said monitoring step, detecting that an input selector switch has been enabled; responsive to said detecting step, changing from said first display state to a second display state; and responsive to said changing step, displaying on said display screen a second portion of said document from a second document portion of said memory corresponding to said second display state. The method of claim 9, further comprising: receiving an updated portion of said document from said transmitter; and storing said updated portion of said document in said memory.

Inventors: MAY GREGORY J, ROBSON CHRISTOPHER JOHN, MAY, GREGORY J., ROBSON, CHRISTOPHER JOHN
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1994
Main classification: G06F3
IPC codes: G06F13, G06F17