On-line image caching control for efficient image display

Information

  • Patent Grant
  • 6363418
  • Patent Number
    6,363,418
  • Date Filed
    Friday, October 16, 1998
    25 years ago
  • Date Issued
    Tuesday, March 26, 2002
    22 years ago
Abstract
A method for on-line controlling caching of an image on a viewing device to efficiently display the image on the viewing device. The method comprises the following steps: (a) sending from a server to the viewing device an image tag included in a hypertext language code, the image tag having attributes, the attributes specifying the image; (b) parsing the hypertext language code including the image tag; (c) searching for a copy of the image in a cache memory of the viewing device using the image tag attributes; (d) displaying the copy of the image if the copy of the image is found in the cache memory and is current; (e) fetching the image from the server if the copy of the image is not found in the cache memory or if the copy of the image is not current; and (f) storing the fetched image and the image tag attributes in the cache memory.
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 and a system for on-line controlling caching of an image on a viewing device to efficiently display the image on the viewing device.




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 the network transmission format. The documents sent by a server are in a hypertext language format. A popular hypertext language is the HyperText Markup Language (HTML), which is a fairly limited formatting language.




When an image is to be sent to a viewing device, the server sends the following HTML image tag:




<IMG SRC=“<location>” [HEIGHT=<n>] [WIDTH=<n>]>




The image tag attribute SRC has the value <location> which specifies the location of the image at the server. The attributes HEIGHT and WIDTH which provide the image height and width information are optional.




After parsing the image tag and its attributes, the viewing device performs the following actions to obtain and display the image:




a. The viewing device opens a network connection to the location specified by the SRC attribute value.




b. The viewing device starts downloading the image.




c. Using the “modification date/time” from the supplied image file, the viewing device determines whether a locally cached copy of the image is current.




d. If there is no locally cached copy of the image, or if the locally cached version is not current, the viewer continues the image transfer and the image will be displayed (and optionally added to the local cache memory).




e. If there is a locally cached copy of the image and the modification date indicates that the cached copy is current, the viewer will then abort the image transfer and use the locally cached copy.




In the above standard procedure, the opening of the network connection and the start of the image downloading are unnecessary when a current copy of the image is already locally cached. These two potentially unnecessary actions significantly degrade the image display performance, especially on slow network connection links, such as the point-to-point protocol (PPP) link.




Therefore, currently, there is a need for a simple and efficient method to perform on-line image caching control for efficient image display using a hypertext language.




SUMMARY OF THE INVENTION




The present invention is a method for on-line controlling caching of an image on a viewing device to efficiently display the image on the viewing device. The method comprises the following steps: (a) sending from a server to the viewing device an image tag included in a hypertext language code, the image tag having attributes, the attributes specifying the image; (b) parsing the hypertext language code including the image tag; (c) searching for a copy of the image in a cache memory of the viewing device using the image tag attributes; (d) displaying the copy of the image if the copy of the image is found in the cache memory and is current; (e) fetching the image from the server if the copy of the image is not found in the cache memory or if the copy of the image is not current; and (f) storing the fetched image and the image tag attributes in the cache memory.











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 flowchart illustrating the method of the present invention.





FIG. 3

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











DETAILED DESCRIPTION OF THE INVENTION




The present invention is a method and a system for on-line controlling caching of an image on a viewing device to efficiently display the image on the viewing device.





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.




In the system


100


, the portable electronic book


10


can request and download a digital content from one of the virtual bookstores. The method of the present invention is applicable to the system


100


when images are included in the requested digital content. The present method allows the virtual bookstore to perform on-line image caching control for efficient image display on the portable electronic book using a hypertext language.





FIG. 2

is a flowchart illustrating the method of the present invention.





FIG. 3

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


300


and a viewing device


400


. The viewing device


400


includes a display screen


402


, a processor


404


and a cache memory


406


.




Referring to

FIG. 2 and 3

, after the viewing device


400


requests from the server


300


a page which includes an image, the server


300


sends to the viewing device


400


a hypertext language code which includes an image tag and image tag attributes which specify the requested image (Block


202


).




In addition to the standard image tag attribute SRC which specifies the remote location of the image at the server, and optional attributes HEIGTH and WIDTH which provide information on the image height and width, the hypertext language code of the present invention also includes additional novel image tag attributes. In one embodiment of the invention, the novel image tag attributes include a LOCALTYPE to indicate the type of the requested image, a LOCALID or a LOCALNAME to specify which image of the type indicated by LOCALTYPE is to be displayed. The value of LOCALTYPE can be JPEG (JPEG file interchange), GIF (CompuServe bitmap), PICT, PNG, or any other image type. The image can be looked up by either LOCALID or by LOCALNAME. LOCALID has a numeric value, while LOCALNAME has a string value. The image tag attributes also include a LOCALSIGNATURE to indicate the age of the image. LOCALSIGNATURE can either be the modification date/time of the image or it can be an arbitrary version stamp for the image. These attributes can be specified in a hypertext language as follows:




LOCALTYPE=[PICT|GIF|JPEG|<other image type>]




[LOCALID=<n>|LOCALNAME=“<name>”]




LOCALSIGNATURE=<n>




The processor


404


parses the hypertext language code and identifies the image tag and image tag attributes. (Block


204


). The processor


404


then searches for a copy of the image in the cache memory


406


using the image tag attributes for identification (Block


206


). In one embodiment of the invention, the processor uses the image attribute LOCALTYPE and either LOCALNAME or LOCALID to determine whether a copy of the specified image is in the cache memory


406


(Block


208


).




If the copy of the image is found in the cache memory


406


, then the processor


404


determines whether the copy is current (Block


210


) by comparing the LOCALSIGNATURE of the specified image to the signature of the locally cached copy of the image. If the LOCALSIGNATURE and the signature of the locally cached copy of the image match, then the processor


404


displays the locally cached copy of the image (Block


216


).




If a copy of the image is not found in the cache memory


406


, or if the copy of the image is found but the LOCALSIGNATURE and the signature of the locally cached copy of the image do not match, then the processor


404


makes a network connection to the server to fetch the image from the server


300


using the image remote identification attribute SRC to indicate the image location at the server


300


(Block


212


).




After the image is fetched, it is stored in the cache memory


406


(Block


214


) using the LOCALTYPE and either LOCALNAME or LOCALID as entry keys. Both the image and the image LOCALSIGNATURE are stored in the cache memory


406


. The fetched and stored image is then displayed (Block


216


).




Any subsequent request for this fetched and stored image will yield matches between the image attributes and the locally cached attributes, and the cached image will be displayed without any additional required network traffic between the viewing device


400


and the server


300


.




The present invention allows a viewing device


400


, such as an electronic book or a Web browser, to quickly determine the location of an image, which is included in a requested page, without the need for any additional network traffic and thus increases display efficiency.




The present invention can be practiced in the system


100


of FIG.


1


. In this case, the system for on-line controlling the caching of an image includes a virtual bookstore


40


(or


60


,


62


) as the server and a portable electronic book


10


(or


12


,


14


) as the viewing device.




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 controlling caching of an image in a cache memory on a viewing device to efficiently display the image on the viewing device, the method comprising the steps of:(a) sending from a server to the viewing device an image tag and one or more separate image tag attributes included in a hypertext language code, the image tag specifying the image on the server and the one or more separate image tag attributes specifying the image in the cache memory; (b) parsing the hypertext language code including the image tag and one or more separate image tag attributes; (c) searching for a copy of the image in a cache memory of the viewing device using the one or more separate image tag attributes; (d) displaying the copy of the image if the copy of the image is found in the cache memory and is current; (e) fetching the image from the server using the image tag if the copy of the image is not found in the cache memory or if the copy of the image is not current; and (f) storing the fetched image and the one or more separate image tag attributes in the cache memory.
  • 2. The method of claim 1 wherein the image tag attributes include a local identification, the local identification facilitating the search for a copy of the image in the cache memory of the viewing device.
  • 3. The method of claim 2 wherein the local identification has a numeric value or a string value.
  • 4. The method of claim 1 wherein the image tag attributes include an image type, the image type having a value.
  • 5. The method of claim 4 wherein the image type value includes one of the values PICT, GIF, and JPEG.
  • 6. The method of claim 1 wherein the image tag attributes include an image signature, the image signature having a first value.
  • 7. The method of claim 6 wherein in step (d) the copy of the image found in the cache memory has a copy signature, and wherein the copy of the image is current if the copy signature has a second value equal to the first value of the image signature.
  • 8. The method of claim 6 wherein the image signature first value is a modification date/time of the image or a version stamp of the image.
  • 9. The method of claim 1 wherein the image tag attributes include a remote identification, the remote identification having a value facilitating fetching of the image from the server.
  • 10. A system for on-line controlling caching of an image in a cache memory on a viewing device to efficiently display the image on the viewing device, the system comprising:(a) a server in electrical communication with the viewing device, the server sending to the viewing device a hypertext language code including an image tag and one or more separate image tag attributes, the image tag specifying the image on the server and the one or more separate image tag attributes specifying the image in the cache memory; and (b) the viewing device for viewing the image, the viewing device including: a display screen for displaying the image; a cache memory; a processor coupled to the cache memory and the display screen, the processor parsing the hypertext language code including the image tag and the one or more separate image tag attributes, searching for a copy of the image in the cache memory using the one or more separate image tag attributes, displaying the copy of the image if the copy of the image is found in the cache memory and is current, fetching the image from the server using the image tag if the copy of the image is not found in the cache memory or if the copy of the image is not current, and storing the fetched image and the one or more separate image tag attributes in the cache memory.
  • 11. The system of claim 10 wherein the server is a virtual bookstore.
  • 12. The system of claim 10 wherein the viewing device is a portable electronic book.
US Referenced Citations (92)
Number Name Date Kind
3718906 Lightner Feb 1973 A
4159417 Rubincam Jun 1979 A
D276626 Lockwood Dec 1984 S
4490810 Hon Dec 1984 A
4545023 Mizzi Oct 1985 A
4575621 Dreifus Mar 1986 A
4591974 Dornbush et al. May 1986 A
4597058 Izumi et al. Jun 1986 A
4601011 Grynberg Jul 1986 A
4649499 Sutton et al. Mar 1987 A
D289777 Thomas May 1987 S
4682161 Bugg Jul 1987 A
4725977 Izumi et al. Feb 1988 A
4779080 Coughlin et al. Oct 1988 A
4820167 Nobles et al. Apr 1989 A
4855725 Fernandez Aug 1989 A
4899292 Montagna et al. Feb 1990 A
4916441 Gombrich Apr 1990 A
4918632 York Apr 1990 A
4972496 Sklarew Nov 1990 A
4985697 Boulton Jan 1991 A
5021989 Fujisawa et al. Jun 1991 A
5025373 Keyser, Jr. et al. Jun 1991 A
5031119 Dulaney et al. Jul 1991 A
5065345 Knowles et al. Nov 1991 A
5091939 Cole et al. Feb 1992 A
5109354 Yamashita et al. Apr 1992 A
5115508 Hatta May 1992 A
5121492 Saville, III et al. Jun 1992 A
5133076 Hawkins et al. Jul 1992 A
5146552 Cassoria et al. Sep 1992 A
D330544 Kane Oct 1992 S
5157491 Kassatly Oct 1992 A
5157737 Sklarew Oct 1992 A
5157783 Anderson et al. Oct 1992 A
5199104 Hirayama Mar 1993 A
5203001 Yanagiuchi et al. Apr 1993 A
5214696 Keiser, II et al. May 1993 A
5221838 Gutman et al. Jun 1993 A
5222136 Rasmussen et al. Jun 1993 A
5226080 Cole et al. Jul 1993 A
5231662 van Rumpt et al. Jul 1993 A
5233333 Borsuk Aug 1993 A
5239665 Tsuchiya Aug 1993 A
D339329 Lacko Sep 1993 S
5245656 Loeb et al. Sep 1993 A
5247661 Hager et al. Sep 1993 A
5253294 Maurer Oct 1993 A
D346620 McSorely May 1994 S
5319582 Ma Jun 1994 A
5333116 Hawkins et al. Jul 1994 A
5339091 Yamazaki et al. Aug 1994 A
5359707 Sato Oct 1994 A
5365598 Sklarew Nov 1994 A
5367621 Cohen et al. Nov 1994 A
5379057 Clough et al. Jan 1995 A
5388196 Pajak et al. Feb 1995 A
5392387 Fitzpatrick et al. Feb 1995 A
5398310 Tchao et al. Mar 1995 A
5404505 Levinson Apr 1995 A
D359306 Lande et al. Jun 1995 S
5428606 Moskowitz Jun 1995 A
5438344 Oliva Aug 1995 A
D362271 Luong Sep 1995 S
D362272 Luong Sep 1995 S
D362461 Luong Sep 1995 S
5457746 Dolphin Oct 1995 A
5463725 Henckel et al. Oct 1995 A
5465213 Ross Nov 1995 A
5467102 Kuno et al. Nov 1995 A
5475399 Borsuk Dec 1995 A
5477510 Ukita Dec 1995 A
5483586 Sussman Jan 1996 A
5598470 Cooper et al. Jan 1997 A
5615264 Kazmierczak et al. Mar 1997 A
5629980 Stefik et al. May 1997 A
5638443 Stefik et al. Jun 1997 A
5697793 Huffman et al. Dec 1997 A
5719943 Amada et al. Feb 1998 A
5734823 Saigh et al. Mar 1998 A
5734891 Saigh Mar 1998 A
5802292 Mogul Sep 1998 A
5878223 Becker et al. Mar 1999 A
5913033 Grout Jun 1999 A
5918013 Mighdoll et al. Jun 1999 A
5946697 Shen Aug 1999 A
5956034 Sachs et al. Sep 1999 A
5995102 Rosen et al. Nov 1999 A
6021409 Burrows Feb 2000 A
6032989 Cordell Feb 2000 A
6084584 Nahi et al. Jul 2000 A
6122657 Hoffman et al. Sep 2000 A
Foreign Referenced Citations (8)
Number Date Country
0 390 611 Mar 1990 EP
0813159 Dec 1997 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 (10)
Entry
Goldberg, K. et al., Beyond the Web: manipulating the real world, 1995, pp. 209-219, Elsevier Science B.V., North Holland.
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 a Book, St. Louis Post-Dispatch, Jan. 4, 1995.
Steinert-Threlkeld Now, Data by Satellite, Inter@ctive Week (no date).