On-line menu updating for an electronic book

Information

  • Patent Grant
  • 6195667
  • Patent Number
    6,195,667
  • Date Filed
    Friday, October 16, 1998
    26 years ago
  • Date Issued
    Tuesday, February 27, 2001
    23 years ago
Abstract
A method for on-line displaying and updating a dynamic menu included in a page requested by a viewing device from a server. The dynamic menu has at least one item. The viewing device has a display screen and a menu function key for displaying a default menu when the viewing device is off-line. The method includes the following steps: (a) sending the page to the viewing device as a hypertext language code, the hypertext language code including a menu tag which specifies the dynamic menu; (b) receiving the page at the viewing device; (c) parsing the hypertext language code to identify the menu tag; (d) displaying the page on the display screen; (e) displaying the dynamic menu on the display screen when the menu function key is activated; and (f) performing a dynamic action when one item of the dynamic menu is selected by an action of a user of the viewing device.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates generally to a distribution system of digital contents, i.e., digitally encoded published materials. More particularly, the invention relates to a method for on-line controlling and updating a dynamic menu sent from a virtual bookstore to an electronic book.




2. Description of Related Art




Advances in computer and communication technology have provided to the consumers a convenient and economical means to access information in a variety of media. One particular area of information access is the electronic books. An electronic book is a viewing device that receives printed materials in the form of digital data downloaded from an information network. A user of an electronic book can read downloaded contents of books and printed materials subscribed from a participating bookstore at his or her own convenience without the need to purchase the printed copies of the books.




The World Wide Web (WWW) has now become a popular means for publishing printed materials in the open network domain. The WWW refers to the abstract cyberspace of information which is transmitted over the physical networks, such as the Internet. The WWW publishing works under a client-server model. A Web server is a program running on a server to serve documents to other computers or devices that send requests for the documents. A Web client is a program that lets the user request documents from a server. To facilitate the downloading of printed materials, the contents of these documents are typically created in a form compatible with network transmission format. The documents sent by the server are in a hypertext language format. A popular hypertext language is the HyperText Markup Language (HTML) which is a fairly limited formatting language.




To better serve the user, the server may want to display a dynamic menu on the viewing device when the viewing device is on-line. It is desirable that the user of the viewing device be able to select an item from this dynamic menu and that such selection would activate a dynamic action.




Therefore, there is a need for a method to display and update a dynamic menu on the display screen of a viewing device when it is on-line with a server.




SUMMARY OF THE INVENTION




The present invention is a method for on-line displaying and updating a dynamic menu included in a page requested by a viewing device from a server. The dynamic menu has at least one item. The viewing device has a display screen and a menu function key for displaying a default menu when the viewing device is off-line. The method includes the following steps: (a) sending the page to the viewing device as a hypertext language code, the hypertext language code including a menu tag which specifies the dynamic menu; (b) receiving the page at the viewing device; (c) parsing the hypertext language code to identify the menu tag; (d) displaying the page on the display screen; (e) displaying the dynamic menu on the display screen when the menu function key is activated; and (f) performing a dynamic action when one item of the dynamic menu is selected by an action of a user of the viewing device.




The method further includes the steps of releasing the dynamic menu from the display screen if the page is dismissed by the user of the viewing device; and releasing the dynamic menu from the display screen if the dynamic action dismisses the dynamic menu.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a diagram illustrating a system in which one embodiment of the invention can be practiced.





FIG. 2

is a block diagram of the system of the present invention.





FIGS. 3A and 3B

are a flowchart illustrating one embodiment of the method of the present invention.





FIGS. 4A and 4B

are a flowchart illustrating a process to identify menu tag and its attributes in a hypertext language code.











DETAILED DESCRIPTION OF THE INVENTION




The present invention is a method for on-line displaying and updating a dynamic menu included in a page requested by a viewing device from a server. The method includes identifying the menu tags included in the hypertext language page, displaying the dynamic menu specified by the menu tags when the menu function key is activated, and performing dynamic action when an item of the dynamic menu is selected.





FIG. 1

is a diagram illustrating a system


100


in which one embodiment of the invention can be practiced.




Referring to

FIG. 1

, the system


100


comprises: (a) at least one portable electronic book


10


operative to request a digital content from a catalog of distinct digital contents, to receive and display the requested digital content in readable form; (b) an information services system


20


which includes an authentication server


32


for authenticating the identity of the requesting portable electronic book


10


and a copyright protection server


22


for rendering the requested digital content sent to the requesting portable electronic book


10


readable only by the requesting portable electronic book


10


; (c) at least one primary virtual bookstore


40


in electrical communication with the information services system


20


, the primary virtual bookstore being a computer-based storefront accessible by the portable electronic book and including the catalog of distinct digital contents; and (d) a repository


50


, in electrical communication with the primary virtual bookstore


40


, for storing the distinct digital contents listed in the catalog.




The system


100


preferably includes more than one portable electronic book


10


, to be commercially viable. This is illustrated in

FIG. 1

by including the portable electronic books


12


and


14


. The system also preferably includes more than one primary virtual bookstore


40


, each serving a different set of customers, each customer owning a portable electronic book.




The system


100


can further comprise a secondary virtual bookstore


60


in electrical communication with the information services system


20


. In this case, the information services system


20


also includes a directory of virtual bookstores


26


in order to provide the portable electronic book


10


with access to the secondary virtual bookstore


60


and its catalog of digital contents.




The information services system


20


can optionally include a notice board server for sending messages from one of the virtual bookstores, primary or secondary, to a portable electronic book in the system.




The information services system


20


also includes a registration server


24


for keeping track of the portable electronic books that are considered active accounts in the system and for ensuring that each portable electronic book is associated with a primary virtual bookstore in the system. In the case where the optional notice board server is included in the information services system


20


, the registration server


24


also allows each portable electronic book user to define his/her own notice board and document delivery address.




The information services system


20


preferably comprises a centralized bookshelf


30


associated with each portable electronic book


10


in the system. Each centralized bookshelf


30


contains all digital contents requested and owned by the associated portable electronic book


10


. Each portable electronic book


10


user can permanently delete any of the owned digital contents from the associated centralized bookshelf


30


. Since the centralized bookshelf


30


contains all the digital contents owned by the associated portable electronic book


10


, these digital contents may have originated from different virtual bookstores. The centralized bookshelf


30


is a storage extension for the portable electronic book


10


. Such storage extension is needed since the portable electronic book


10


has limited. non-volatile memory capacity.




The user of the portable electronic book


10


can add marks, such as bookmarks, inking, highlighting and underlining, and annotations on a digital content displayed on the screen of the portable electronic book, then stores this marked digital content in the non-volatile memory of the electronic book


10


. The user can also upload this marked digital content to the information services system


20


to store it in the centralized bookshelf


30


associated with the portable electronic book


10


, for later retrieval. It is noted that there is no need to upload any unmarked digital content, since it was already stored in the centralized bookshelf


30


at the time it was first requested by the portable electronic book


10


.




The information services system


20


further includes an Internet Services Provider (ISP)


34


for providing Internet network access to each portable electronic book in the system.




The electronic book


10


has persistent memory, such as a flash random-access-memory (RAM), to store the downloaded digital contents, a display screen to display the digital contents and a processor to control the display. An electronic book


10


has a function key or function icon to activate a default menu which is stored in its memory. The default menu is static, i.e., it does not change. The default menu is displayed any time the menu function key is activated, regardless of whether the viewing device is on-line or off-line.




When practiced in the system


100


of

FIG. 1

, the present invention allows the virtual bookstore to display a dynamic menu on the display screen of the electronic book


10


when the electronic book


10


is on-line. The invention allows the user of the electronic book to select an item from this dynamic menu and allows a dynamic action to be performed upon such selection.





FIG. 2

is a block diagram of the system of the present invention. The system includes a server


200


and a viewing device


210


. The viewing device includes a display screen


220


, a memory


240


, and a processor


260


.





FIGS. 3A and 3B

are a flowchart illustrating one embodiment of the method of the present invention.




Referring to FIG.


2


and

FIG. 3

, the viewing device


210


requests a page from the server


200


(Block


302


). The server


200


then sends the requested page in a hypertext language format (Block


304


). A menu tag and menu tag attributes, which specify a dynamic menu, are included in the hypertext language code. The viewing device


210


receives the requested page (Block


306


).




The processor


260


parses the hypertext language code and identifies the menu tag and its attributes (Block


308


). The processor


260


informs the SMENUmodule of the identified menu tag attributes (Block


310


). The SMENU module which resides in memory


240


is in charge of controlling display of the dynamic menu. The processor then displays the page without the dynamic menu (Block


320


) and waits for the user action (Block


321


).




The processor determines whether the user activates the menu function key of the viewing device (Block


322


). If the menu function key is not activated, then the processor determines whether the user dismisses the displayed page (Block


324


). If so, the processor informs the SMENU module to release the dynamic menu (Block


334


).




If the menu function key is activated, then the processor triggers the SMENU module to display the dynamic menu. If the user selects an item on the dynamic menu (Block


328


), the SMENU module performs a dynamic action as determined by the menu tag attributes corresponding to the selected item (Block


330


).




If the dynamic action dismisses the displayed page, then the processor informs the SMENU module to release the dynamic menu (Block


334


).




If the dynamic action does not dismiss the displayed page, then the processor waits for further user action (Block


321


).




If the user does not select an item from the dynamic menu, then the processor determines whether the user dismisses the displayed page (Block


324


). If so, the processor informs the SMENU module to release the dynamic menu (Block


334


).





FIGS. 4A and 4B

are a flowchart illustrating a process to identify a menu tag and its attributes in a hypertext language code.




The <MENU> tag allows the server to dynamically set the appearance and behavior of the soft menu on the viewing device. It can specify a known starting template menu to be used for that page and it may contain <MENUITEM> tags. The </MENU> tag indicates the end of the menu tag specification.




The <MENUITEM> tags are contained in the <MENU> . . . </MENU> tag pairs. This allows the editing of the specific items in the dynamic menu (i.e., setting icons, commands, and parameters). Special attributes of this tag are: CMD, PARAM, PICTID. The CMD attribute sets a numeric command to execute. The PARAM attribute indicates any special parameters for the operation. The PICTID indicates which read-only memory (ROM)-based image to be used as icon for the specified menu item.




Upon START, the process


400


determines if the hypertext language code contains a <MENU> tag (Block


402


). If not, the process


400


terminates. If there is a <MENU> tag, then the process


400


determines if there is an ID attribute for the <MENU>tag (Block


404


). If there is no ID attribute, then the process


400


assumes the ID to be the default menu ID (Block


406


).




If there is an ID for the <MENU> tag, then the process


400


informs the SMENU module of this menu ID (Block


408


).




The process


400


then determines if the next tag is a <MENUITEM> tag (Block


410


). If it is not, then the process


400


determines if it is </MENU> which indicates the end of the menu tag specification (Block


412


). If it is not </MENU>, then the process


400


terminates in error (Block


413


). If it is </MENU> then the process


400


terminates normally (Block


403


).




If the tag next to the <MENU> tag is a <MENUITEM> tag, then the process


400


determines if there is an ID attribute for the <MENUITEM> tag (Block


414


). If there is no ID attribute, then the process


400


terminates in error (Block


415


).




If there is an ID attribute for the <MENUITEM> tag, then the process


400


sets the working menu-item ID (MID) to the value of this ID attribute (Block


416


).




The process


400


determines if there is a PICTID attribute for the <MENUITEM> tag (Block


418


). If there is, then the process


400


informs the SMENU module of the identification of the image to be used for the identified menu-item (Block


420


).




The process


400


proceeds to determine if there is a CMD attribute for the <MENUITEM> tag (Block


422


). If there is, then the process


400


informs the SMENU module of the command number to be used for the identified menu-item (Block


424


).




The process


400


proceeds to determine if there is a PARAM attribute for the <MENUITEM> tag (Block


422


). If there is, then the process


400


informs the SMENU module of the parameter to be used with the command for the identified menu-item (Block


428


).




The process


400


then determines if the next tag is a <MENUITEM> tag (Block


410


) and continues as described above.




The following are examples of menu tags which specify dynamic menus in a hypertext language.




<MENU ID=123></MENU> means: switch to local menu having ID


123


.




<MENU><MENUITEM ID=1 CMD=2></MENU> means: modify the first item of the default menu, setting its command to 2.




<MENU ID=123><MENUITEM ID=2 CMD=2 PICTID=500 PARAM=“HREF://www.somemachine.com/orderform.html”></MENU> means: switch the menu to the local menu specified by ID 123, then change the second item in this local menu to have a command of 2, with an HREF for its parameter. The item will be drawn with the local image specified by ID 500.




While certain exemplary embodiments have been described in detail and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention is not to be limited to the specific arrangements and constructions shown and described, since various other modifications may occur to those with ordinary skill in the art.



Claims
  • 1. A method for on-line displaying and updating a dynamic menu included in a page, the dynamic menu having at least one item, the page being requested by a viewing device from a server, the viewing device having a display screen and a menu function key for displaying a default menu when the viewing device is off-line, the method comprising:(a) sending the page to the viewing device as a hypertext language code, the hypertext language code including a menu tag, the menu tag specifying the dynamic menu; (b) receiving the page at the viewing device; (c) parsing the hypertext language code to identify the menu tag; (d) displaying the page on the display screen; (e) displaying the dynamic menu on the display screen when the menu function key is activated; and (f) performing a dynamic action when one item of the dynamic menu is selected by an action of a user of the viewing device.
  • 2. The method of claim 1 further comprising:(g) releasing the dynamic menu from the display screen if the page is dismissed by the user of the viewing device; and (h) releasing the dynamic menu from the display screen if the dynamic action dismisses the dynamic menu.
  • 3. The method of claim 1 wherein the menu tag has menu tag attributes.
  • 4. The method of claim 3 wherein the menu tag attributes include an identification attribute, the identification attribute having a value, the value identifying a local menu template which resides in a memory of the viewing device.
  • 5. The method of claim 1 wherein the menu tag has a default identification attribute, the default identification attribute identifying the default menu which resides in a memory of the viewing device.
  • 6. The method of claim 1 wherein the menu tag includes a menu-item tag, the menu-item tag having menu-item tag attributes specifying modifications to one item of the menu.
  • 7. The method of claim 6 wherein the menu-item tag attributes include an item identification attribute, the item identification attribute having a value identifying one item of the menu.
  • 8. The method of claim 7 wherein the menu-item tag attributes include a command attribute, the command attribute having a value specifying a command for the item identified by the item identification attribute value.
  • 9. The method of claim 7 wherein the menu-item tag attributes include a picture identification attribute, the picture identification attribute having a value identifying an image residing in memory of the viewing device, the image being selected for drawing the item identified by the item identification attribute value.
  • 10. The method of claim 7 wherein the menu-item tag attributes include a parameter attribute, the parameter attribute having a value specifying a parameter of the item identified by the item identification attribute value.
  • 11. The method of claim 1 wherein the viewing device is a portable electronic book.
  • 12. The method of claim 1 wherein the server is a virtual bookstore.
US Referenced Citations (84)
Number Name Date Kind
D. 276626 Lockwood Dec 1984
D. 289777 Thomas May 1987
D. 330544 Kane Oct 1992
D. 339329 Lacko Sep 1993
D. 346620 McSorely May 1994
D. 359306 Lande et al. Jun 1995
D. 362271 Luong Sep 1995
D. 362272 Luong Sep 1995
D. 362461 Luong Sep 1995
3718906 Lightner Feb 1973
4159417 Rubincam Jun 1979
4490810 Hon Dec 1984
4545023 Mizzi Oct 1985
4575621 Dreifus Mar 1986
4591974 Dornbush et al. May 1986
4597058 Izumi et al. Jun 1986
4601011 Grynberg Jul 1986
4649499 Sutton et al. Mar 1987
4682161 Bugg Jul 1987
4725977 Izumi et al. Feb 1988
4779080 Coughlin et al. Oct 1988
4820167 Nobles et al. Apr 1989
4855725 Fernandez Aug 1989
4899292 Montagna et al. Feb 1990
4916441 Gombrich Apr 1990
4918632 York Apr 1990
4972496 Sklarew Nov 1990
4985697 Boulton Jan 1991
5021989 Fujisawa et al. Jun 1991
5025373 Keyser, Jr. et al. Jun 1991
5031119 Dulaney et al. Jul 1991
5065345 Knowles et al. Nov 1991
5091939 Cole et al. Feb 1992
5109354 Yamashita et al. Apr 1992
5115508 Hatta May 1992
5121492 Saville, III et al. Jun 1992
5133076 Hawkins et al. Jul 1992
5146552 Cassorla et al. Sep 1992
5157491 Kassatly Oct 1992
5157737 Sklarew Oct 1992
5157783 Anderson et al. Oct 1992
5199104 Hirayama Mar 1993
5203001 Yanaqiuchi et al. Apr 1993
5214696 Keiser, II et al. May 1993
5221838 Gutman et al. Jun 1993
5222136 Rasmussen et al. Jun 1993
5226080 Cole et al. Jul 1993
5231662 van Rumpt et al. Jul 1993
5233333 Borsuk Aug 1993
5239665 Tsuchiya Aug 1993
5245656 Loeb et al. Sep 1993
5247661 Hager et al. Sep 1993
5253294 Maurer Oct 1993
5319582 Ma Jun 1994
5333116 Hawkins et al. Jul 1994
5339091 Yamazaki et al. Aug 1994
5359707 Sato Oct 1994
5365598 Sklarew Nov 1994
5367621 Cohen et al. Nov 1994
5379057 Clough et al. Jan 1995
5388196 Pajak et al. Feb 1995
5392387 Fitzpatrick et al. Feb 1995
5398310 Tchao et al. Mar 1995
5404505 Levinson Apr 1995
5428606 Moskowitz Jun 1995
5438344 Oliva Aug 1995
5457746 Dolphin Oct 1995
5463725 Henckel et al. Oct 1995
5465213 Ross Nov 1995
5467102 Kuno et al. Nov 1995
5475399 Borsuk Dec 1995
5477510 Ukita Dec 1995
5483586 Sussman Jan 1996
5598470 Cooper et al. Jan 1997
5615264 Kazmierczak et al. Mar 1997
5629980 Stefik et al. May 1997
5638443 Stefik et al. Jun 1997
5697793 Huffman et al. Dec 1997
5706458 Koppolu Jan 1998
5719943 Amada et al. Feb 1998
5734823 Saigh et al. Mar 1998
5734891 Saigh Mar 1998
5802526 Fawcett et al. Sep 1998
5890172 Borman Mar 1999
Foreign Referenced Citations (7)
Number Date Country
0 390 611 Mar 1990 EP
2 657 451 Jan 1990 FR
2 657 187 Jul 1991 FR
2 149 544 Jun 1995 GB
WO 8701481 Mar 1987 WO
WO 8905023 Jun 1989 WO
WO 9720274 Jun 1997 WO
Non-Patent Literature Citations (12)
Entry
Mihai Munteanu, MenuApplet, version 1.0, The Java Boutique, <http://javaboutique.internet.com/MenuApplet/>, 1998, pp. 1-7 and a screen printout.
Michael Shipp, popupURL, The Java Boutique, <http://javaboutique.internet.com/popupURL/>, Oct. 8, 1998, pp. 1-3 and a screen printout.
Teach yourself web publishing with HTML 4 in 14 days, second edition, sams.net publishing, 1997, pp. 75-77.
WAP WML. Wireless Application Protocol; Wireless Markup Language Sepecification, Apr. 30, 1998, pp. 34 & 32, Wireless Application Protocol Forum, Ltd.
Dvorak, et al. Methodology for User Centred Link Structures for Textbook to Hypertext Conversion, IEEE, Jan. 1992, pp. 619-628.
Pobiak Adjustable Access Electronic Books, IEEE, Jan. 1992, pp. 90-94.
Ramos Making Book on Electronic Books, College Store Journal—Sep./Oct. 1992.
Cox Technology Threatens to Shatter the World of College Textbooks The Wall Street Journal—Electronic Campus, Jun. 1, 1993.
Watanabe et al., Visual Interface for Retrieval of Electronic-Formed Books, IEEE, Jul. 1993, pp. 692-695.
The Heller Report, Oct. 1993.
Ziegler IBM to Unveil Plan to Skip Disks, Send Software by Satellite, The Wall Street Journal, Nov. 1, 1994.
Fisher This Little Compute rTries to be Book, St. Louis Post-Dispatch, Jan. 4, 1995.