WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Reducing perceived latency in servicing user requests on low-bandwidth communication channels    
United States Patent6243739   
Link to this pagehttp://www.wikipatents.com/6243739.html
Inventor(s)Schwartz; Bruce V. (San Mateo, CA); Boyle; Stephen S. (Fremont, CA); King; Peter F. (Half Moon Bay, CA); Martin, Jr.; Bruce K. (Palo Alto, CA)
AbstractAccess to hypermedia servers connected to networks such as the Internet can be provided through mobile devices such as wireless telephones. Unfortunately, limitations in processing power and memory space of the mobile device and limitations bandwidth of the communication channels connecting the mobile devices to the rest of the network cause long wait times for many types of requests to be serviced. In one application, a user is notified that unsolicited electronic mail has arrived in the user's mail box on a computer connected directly a network and, in response, the user requests the mail to be sent to the mobile device. The perceived latency in servicing such a request can be reduced by delivering at least a portion of the unsolicited electronic mail to mobile device before notifying the user that the mail has arrived in the mail box. In this manner, at least a portion of that mail can be presented to the user in response to a request with little delay.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6243739
Reducing perceived latency in servicing user requests on low-bandwidth

     communication channels - US Patent 6243739 Drawing
Reducing perceived latency in servicing user requests on low-bandwidth communication channels
Inventor     Schwartz; Bruce V. (San Mateo, CA); Boyle; Stephen S. (Fremont, CA); King; Peter F. (Half Moon Bay, CA); Martin, Jr.; Bruce K. (Palo Alto, CA)
Owner/Assignee     Phone.com, Inc. (Redwood City, CA)
Patent assignment
All assignments
Publication Date     June 5, 2001
Application Number     08/995,683
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 22, 1997
US Classification     709/206 455/555 455/556.1 709/207 709/219
Int'l Classification     G06F 015/16 G06F 013/38 G06F 015/177
Examiner     Rinehart; Mark H.
Assistant Examiner     Vaughn Jr.; William C.
Attorney/Law Firm     Lathrop, Lathrop; David N. Gallagher &
Address
Parent Case     CROSS-REFERENCE TO A RELATED APPLICATION This application claims the benefit of priority of U.S. provisional application No. 60/052,394 filed Jul. 11, 1997.
Priority Data    
USPTO Field of Search     709/206 709/207 709/219 709/217 709/218 455/422 455/426 455/31.2 455/556 455/3.01 455/555 379/100.01 379/100.08
Patent Tags     reducing perceived latency servicing user requests low-bandwidth communication channels
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5944786
Quinn

Aug,1999

[0 after 0 votes]
5907598
Mandalia
379/100.01
May,1999

[0 after 0 votes]
5905777
Foladare
379/90.01
May,1999

[0 after 0 votes]
5903723
Beck
709/200
May,1999

[0 after 0 votes]
5822405
Astarabadi
379/88.04
Oct,1998

[0 after 0 votes]
5809415
Rossmann
455/422.1
Sep,1998

[0 after 0 votes]
5790790
Smith
709/206
Aug,1998

[0 after 0 votes]
5745689
Yeager
709/206
Apr,1998

[0 after 0 votes]
5675507
Bobo, II
709/206
Oct,1997

[0 after 0 votes]
5561703
Arledge
340/7.29
Oct,1996

[0 after 0 votes]
5487100
Kane
340/7.23
Jan,1996

[0 after 0 votes]
5265033
Vajk
709/206
Nov,1993

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A system for reducing perceived latency in servicing user requests for unsolicited information made from remote devices, said system comprising a computer that is coupled to a transmitter and to a hypermedia server, wherein said computer comprises first storage and executes a first program that causes said computer to

(a) receive from said hypermedia server said unsolicited information and an identification of an intended recipient of said unsolicited information, wherein said unsolicited information is mail, data or other message, and the transmission of said unsolicited information substantially conforms to Hypertext Transfer Protocol, and

(b) in response to the receipt of said unsolicited information and recipient identification, to cause said computer:

(1) to store in said first storage one or more first records representing contents of said mail, data or other message,

(2) to generate a plurality of message entities in response to said first records, wherein said message entities convey at least a portion of the contents of said mail, data or other message,

(3) to send said message entities via said transmitter so as to be received by a respective remote device associated with said intended recipient, and

(4) to send a notification via said transmitter so as to be received by said respective remote device, wherein said notification indicates said plurality of message entities have been sent to said respective remote device.

2. A system according to claim 1 that further comprises said respective remote device, wherein said respective remote device is a handheld device, is remotely located with respect to said computer and comprises a display, a receiver and second storage, and executes a second program that causes said respective remote device

to receive via said receiver said plurality of message entities and, in response thereto, to store in said second storage one or more second records representing contents of said message entities, and

to receive via said receiver said notification and, in response thereto, to present an alert notifying said intended recipient that said second records are stored in said second storage.

3. A system according to claim 2 wherein said respective remote device is a wireless telephone.

4. A system according to claim 2 wherein said first program causes said computer to send one or more solicited messages via said transmitter so as to be received by said respective remote device, wherein said solicited messages are generated in response to a request received from said respective remote device, and wherein said second program causes said respective remote device to receive via said receiver said solicited messages and, in response thereto, to store in said second storage one or more third records representing contents of said solicited messages, wherein said second records and said third records are stored in a unified records cache.

5. A system according to claim 2 wherein said notification indicates how and when to present said alert.

6. A system according to claim 1 wherein said notification indicates how and when to present an alert notifying said intended recipient.

7. A system according to claim 1 wherein said message entities and said notification are conveyed by wireless communication.

8. A system according to claim 1 wherein said unsolicited information represents electronic mail and said message entities convey at least a portion of each piece of electronic mail.

9. A method for reducing perceived latency in servicing user requests for unsolicited information made from remote devices communicating with a computer, wherein said computer comprises first storage and is coupled to a transmitter and to a hypermedia server, said method comprises performing in said computer the acts of

(a) receiving from said hypermedia server said unsolicited information and an identification of an intended recipient of said unsolicited information, wherein said unsolicited information is mail, data or other message, and the transmission of said unsolicited information substantially conforms to Hypertext Transfer Protocol, and

(b) performing in response to the receipt of said unsolicited information and recipient identification the acts of:

(1) storing in said first storage one or more first records representing contents of said mail, data or other message,

(2) generating a plurality of message entities in response to said first records, wherein said message entities convey at least a portion of the contents of said mail, data or other message,

(3) sending said message entities via said transmitter so as to be received by a respective remote device associated with said intended recipient, and

(4) sending a notification via said transmitter so as to be received by said respective remote device, wherein said notification indicates said plurality of message entities have been sent to said respective remote device.

10. A method according to claim 9 wherein a respective remote device is a handheld device, is remotely located with respect to said computer and comprises a display, a receiver and second storage, said method comprises performing in said respective remote device:

receiving via said receiver said plurality of message entities and, in response thereto, storing in said second storage one or more second records representing contents of said message entities, and

receiving via said receiver said notification and, in response thereto, presenting an alert notifying said intended recipient that said second records are stored in said second storage.

11. A method according to claim 10 wherein said respective remote device is a wireless telephone.

12. A method according to claim 10 that comprises performing in said computer:

sending one or more solicited messages via said transmitter so as to be received by said respective remote device, wherein said solicited messages are generated in response to a request received from said respective remote device,

and comprises performing in said respective remote device:

receiving via said receiver said solicited messages and, in response thereto, storing in said second storage one or more third records representing contents of said solicited messages, wherein said second records and said third records are stored in a unified records cache.

13. A method according to claim 10 wherein said notification indicates how and when to present said alert.

14. A method according to claim 9 wherein said notification indicates how and when to present an alert notifying said intended recipient.

15. A method according to claim 9 wherein said message entities and said notification are conveyed by wireless communication.

16. A method according to claim 9 wherein said unsolicited information represents electronic mail and said message entities convey at least a portion of each piece of electronic mail.

17. A method according to claim 10 that comprises performing in said remote device:

storing said notification in persistent storage, and

displaying a list of notifications that have been received by said remote device.

18. A method according to claim 17 that comprises performing in said remote device displaying an indication of which notifications in said list have been acted upon by an operator of said remote device.

19. A method according to claim 17 that comprises performing in said remote device the acts of determining whether a first notification is a duplicate of another notification stored in said persistent storage and, if it is a duplicate, eliminating said first notification from said list.

20. A system according to claim 2 wherein said second program causes said remote device

to store said notification in persistent storage, and

to display a list of notifications that have been received by said remote device.

21. A system according to claim 20 wherein said second program causes said remote device to display an indication of which notifications in said list have been acted upon by an operator of said remote device.

22. A system according to claim 20 wherein said second program causes said remote device to determine whether a first notification is a duplicate of another notification stored in said persistent storage and, if it is a duplicate, eliminating said first notification from said list.

23. A handheld device for use in a system for reducing perceived latency in servicing one or more user requests for unsolicited information made from the device, wherein the device is remotely located with respect to a computer and communicates with the computer, and wherein the device comprises a display, a receiver and storage, and executes a program that causes the device

to receive via the receiver a plurality of message entities representing mail, data or other message and, in response thereto, to store in the storage one or more first records representing contents of the mail, data or other message,

to receive via the receiver a notification from the computer and, in response thereto, to present an alert notifying an intended recipient that the first records are stored in the storage, and

to receive from the intended recipient the one or more user requests and, in response thereto, to present via the display a representation of the first records stored in the storage;

and wherein transmission of said unsolicited information substantially conforms to Hypertext Transfer Protocol.

24. A device according to claim 23 that is a wireless telephone.

25. A device according to claim 23 wherein said program causes said device to receive one or more solicited messages via said receiver and, in response thereto, to store in said storage one or more second records representing contents of said solicited messages, wherein said first and second records are stored in a unified records cache, and wherein said solicited messages are generated in response to a request received from said device.

26. A device according to claim 24 wherein said notification indicates how and when to present said alert.

27. A device according to claim 23 wherein said notification indicates how and when to present an alert.

28. A device according to claim 23 wherein said message entities and said notification are conveyed by wireless communication.

29. A device according to claim 23 wherein said unsolicited information represents electronic mail and said message entities convey at least a portion of each piece of electronic mail.

30. A method for reducing perceived latency in servicing one or more user requests for unsolicited information made from a handheld device, wherein the device is remotely located with respect to a computer and communicates with the computer, and wherein the device comprises a display, a receiver and storage, said method comprises performing in the device the acts of:

receiving via the receiver a plurality of message entities representing mail, data or other message and, in response thereto, storing in the storage one or more first records representing contents of the mail, data or other message,

receiving via the receiver a notification from the computer and, in response thereto, presenting an alert notifying an intended recipient that the first records are stored in the storage, and

receiving from the intended recipient the one or more user requests and, in response thereto, presenting via the display a representation of the first records stored in the storage;

and wherein transmission of said unsolicited information substantially conforms to Hypertext Transfer Protocol.

31. A method according to claim 30 wherein the device is a wireless telephone.

32. A method according to claim 30 that comprises receiving one or more solicited messages via said receiver and, in response thereto, storing in said storage one or more second records representing contents of said solicited messages, wherein said first and second records are stored in a unified records cache, and wherein said solicited messages are generated in response to a request received from said device.

33. A method according to claim 31 that determines how and when to present said alert in response to said notification.

34. A method according to claim 30 that determines how and when to present said alert in response to said notification.

35. A method according to claim 30 wherein said message entities and said notification are conveyed by wireless communication.

36. A method according to claim 30 wherein said unsolicited information represents electronic mail and said message entities convey at least a portion of each piece of electronic mail.

37. A system according to claim 2 wherein said first program causes said computer to generate said plurality of message entities in a form that conveys entity content in a markup language that is suitable for presentation of said entity content by said display of said handheld device.

38. A system according to claim 37 wherein said markup language conforms to a Handheld Device Markup Language specification.

39. A method according to claim 10 wherein said method comprises performing in said computer the act of generating said plurality of message entities in a form that conveys entity content in a markup language that is suitable for presentation of said entity content by said display of said handheld device.

40. A method according to claim 39 wherein said markup language conforms to a Handheld Device Markup Language specification.

41. A system according to claim 23 wherein said program causes the device to receive said plurality of message entities in a form that conveys entity content in a markup language that is suitable for presentation of said entity content by said display of said handheld device.

42. A device according to claim 41 wherein said markup language conforms to a Handheld Device Markup Language specification.

43. A method according to claim 30 that comprises performing in the device the acts of receiving said plurality of message entities in a form that conveys entity content in a markup language that is suitable for presentation of said entity content by said display of said handheld device.

44. A method according to claim 43 wherein said markup language conforms to a Handheld Device Markup Language specification.

45. A device according to claim 23 wherein said program causes said device to perform the acts of:

storing said notification in said storage;

determining whether said notification is a duplicate of another notification stored in said storage and, if it is a duplicate, eliminating said notification from a list of notifications that have been received by said remote device; and

displaying said list of notifications.

46. A method according to claim 30 that comprises performing in said device the acts of:

storing said notification in said storage;

determining whether said notification is a duplicate of another notification stored in said storage and, if it is a duplicate, eliminating said notification from a list of notifications that have been received by said remote device; and

displaying said list of notifications.
 Description Submit all comments and votes
 


MICROFICHE APPENDIX

A listing of particular embodiments of computer programs incorporating features of the present invention is provided in a microfiche appendix to this disclosure and is incorporated herein by reference. This appendix consists of 17 microfiche having a total of 1641 frames.

AUTHORIZATION WITH RESPECT TO COPYRIGHTS

A portion of the disclosure of this patent document, including but not limited to the microfiche appendix, contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

TECHNICAL FIELD

The present invention relates generally to devices and methods for interacting with hypermedia servers connected to networks. More particularly, the present invention pertains to structures and methods of system interactions arranged such that practical access to hypermedia servers is available to a wider range of devices such as wireless telephones.

BACKGROUND ART

Although networks like the Internet have been in existence for years, they have not been a popular medium of information exchange until very recently. The recent explosive growth in usage, of the Internet, for example, is due in large part to the development of devices and methods that simplify the actions a user must take to access multimedia information stored by network servers. One significant development is the use of hyperlinks which allows disparate pieces of information to be organized in nonsequential ways and which allows a user to easily navigate among the linked information. By assigning a unique identifier to each distinct piece of multimedia information available throughout a network, information can be readily accessed without regard to where it is stored. Network clients and servers participating in such a "hypermedia" network are referred to herein as hypermedia clients and hypermedia servers, respectively.

The Hypertext Transfer Protocol (HTTP) is one example of a method that implements hyperlinks and is probably the most widely used method for accessing the Internet today. A unique identifier, known as a Uniform Resource Locator (URL), specifies the location of a resource that can be accessed from the network.

HTTP clients and HTTP servers typically communicate with one another using any one of a family of communication protocols known collectively as Transmission Control Protocol/Internet Protocol (TCP/IP). One commonly used member of the family, known as Transmission Control Protocol (TCP), provides for a very reliable delivery of an information stream. According to the TCP, a sender establishes a "connection" with a receiver, transmits an information stream in basic units known as packets, and retransmits any packets that are either lost or corrupted during transmission. One advantage of the TCP is that it guarantees the receiver will receive the bits and bytes in the information stream in the correct order. Unfortunately, the TCP requires considerable computing and network bandwidth resources. The establishment of a connection, for example, may require an exchange of more than ten packets between sender and receiver.

In addition to the resources required to implement the TCP, the HTTP itself also requires considerable resources to format, process and display information. This is not a significant disadvantage in many situations because personal computers and other workstations with sufficient computing power, memory and display capabilities are readily available to implement the HTTP client function.

There is, however, a growing interest to provide access to hypermedia servers connected to networks such as the Internet through mobile devices, particularly handheld devices like wireless telephones. These devices are characterized by severe limitations in processing power, memory space, display size, and buttons or keys by which a user can request, view and manipulate information obtained from a hypermedia server. Furthermore, the bandwidth of the communication channels connecting the mobile devices to the rest of the network is also severely limited.

A wireless telephone has only a small fraction of the resources provided by a typical desktop or portable computer. Typically, the processing power is less than one percent of the processing power in many computers, the memory space is generally much less than 150 kilobytes (kB), and the display is perhaps four lines high and twelve or twenty characters wide. Graphics capabilities are very limited or nonexistent. The communication path is often in the range of 400 to 19,200 bits per sec. and the cost using that communication path is measured in terms of United States dollars per 100 kB or more.

Attempts to implement HTTP client functions in portable devices have not been very successful. Attempts that have used mobile devices providing facilities which are comparable to conventional computers are unattractive because the cost of the device is very high. Other attempts using less expensive devices are also unattractive because the client functions are severely limited. In either case, the communication delays and costs in exchanging packets with the network just to establish a connection, for example, are intolerable. The delays are particularly annoying in situations where a user is notified that electronic mail or other information has been received in the user's "mail box" somewhere on the network and the user must wait during the roundtrip delay required to request and receive that mail from the mail box. The usability of the device is further impaired because there is insufficient memory space to store lists of frequently used hyperlinks. For HTTP clients, these hyperlink identifiers are URLs that are often difficult to remember and difficult to enter into the device due to limited data entry capabilities. Two popular software products used in conventional computers refer to these stored hyperlinks as "bookmarks" and "favorites."

DISCLOSURE OF INVENTION

It is an object of the present invention to provide structures and methods required by devices to interact with hypermedia servers connected to networks so that practical access to such servers is available to a wider range of devices such as wireless telephones.

According to the teachings of the present invention in one embodiment of a system for reducing perceived latency in servicing user requests made from remote devices communicating on low-bandwidth communication channels, where the system comprises a computer that is coupled to a transmitter and to a hypermedia server, comprises first storage, the computer executes a first program that causes the computer to receive unsolicited information from the hypermedia server and an identification of an intended recipient of the unsolicited information and, in response thereto, to store in the first storage one or more first records representing contents of the unsolicited information, to generate a plurality of messages in response to the first records, to send the messages via the transmitter so as to be received by a respective remote device associated with the intended recipient, and to send a notification via the transmitter so as to be received by the respective remote device, where the notification indicates the plurality of messages have been sent to the respective remote device.

The various features of the present invention and its preferred embodiments may be better understood by referring to the following discussion and the accompanying drawing. The contents of the following discussion and the drawing are set forth as examples only and should not be understood to represent limitations upon the scope of the present invention.

BRIEF DESCRIPTION OF DRAWING

The FIGURE illustrates in schematic form the major components of a system in which a device such as a wireless telephone can access the resources provided by a hypermedia server connected to a network.

MODES FOR CARRYING OUT THE INVENTION

Overview

The FIGURE illustrates a system in which various aspects of the present invention may be practiced. As will be explained below, some of the components illustrated in the FIGURE may be omitted in various embodiments. As shown, client 1 uses network 40 to access resources provided by server 51 and server 52. Although it is contemplated that server 51 and server 52 are hypermedia servers, perhaps operating in conformity with the Hypertext Transfer Protocol (HTTP), this is not necessary to practice the present invention.

Client 1 comprises computer 31 and device 11, which is remotely located with respect to computer 31. Remote device 11 and computer 31 perform functions that implement client 1. Remote device 11 provides a user interface through which information can be presented to a user and input can be received from a user. Computer 31 exchanges information with network 40 in a manner that is consistent with a conventional network client.

Computer 31 stores parameters and information in storage 32 that typically is a combination of random access memory (RAM), read-only memory (ROM) and long-term storage devices such as magnetic and optical disk drives. Computer 31 communicates with remote device 11 through receiver 21 and transmitter 22. Information that is sent by computer 31 through transmitter 22 is received by remote device 11 through receiver 16. Information that is sent by remote device 11 through transmitter 15 is received by computer 31 through receiver 21.

In the embodiment shown in the FIGURE, remote device 11 comprises display 12, one or more buttons 13, storage 14, transmitter 15 and receiver 16. For example, device 11 may be a wireless telephone such as a MobileAccess.TM. telephone by Mitsubishi Wireless Communications, Inc., or a Duette telephone by Samsung Electronics Corporation. In typical wireless telephones, the display 12 is a liquid crystal display (LCD) panel. Buttons 13 represent one or more data entry devices such as switches, keys or buttons. Storage 14 represents memory circuits or other devices that are capable of storing digital information. Preferably, at least part of storage 14 is persistent storage, meaning that information is retained when device 11 is turned off In some embodiments, a portion of storage 14 is organized into a unified push/pull cache. It is also contemplated that a portion of storage 14 will store program instructions, either in persistent memory or in ROM, and that device 11 will comprise a microprocessor or other type of processing circuitry capable of executing the program instructions.

The nature of the communication paths shown between computer 31, server 51 server 52, receiver 21 and transmitter 22 are not critical to the practice of the present invention. Such paths may be implemented as switched and/or non-switched paths using private and/or public facilities. Similarly, the topology of network 40 is not critical and may be implemented in a variety of ways including hierarchical and peer-to-peer networks. Computer 31 and server 51, for example, may be locally located with respect to one another and may be implemented on the same hardware.

In concept, the nature of the communication paths between computer 31 and device 11 is also not critical to the practice of the present invention; however, in many applications device 11 is a wireless device that uses a communication technology such as electromagnetic transmission in the radio-frequency to infrared portions of the spectrum. In applications where device 11 is a wireless telephone, a cellular telephone for example, transmitter 15, receiver 16, receiver 21 and transmitter 22 represent communication facilities used for normal telephone calls.

Examples of devices and methods that may be used to practice various aspects of the present invention are discussed below. The following discussion describes variations of a preferred embodiment that implements client 1 according to the HTTP; however, it should be understood that the present invention is not so limited.

Remote Device

In applications where client 1 is implemented as a HTTP client, device 11 provides at least three basic functions. A navigation function allows a user to navigate or traverse HTTP Uniform Resource Locator (URL) hyperlinks. A communication function exchanges information with computer 31. An interface function provides a user interface through which information may be presented to the user and through which input may be received from the user.

Preferably, these functions are implemented by a software-controlled process using an event-driven architecture. Events may be initiated by a user through buttons 13, for example, or may be initiated by signals received through receiver 16. The navigation function operates in either of two states. In the "ready" state the device awaits user input specifying a hyperlink to traverse. In the "pending" state the communication function has submitted a request to computer 31 and the device is waiting for a reply from computer 31. In terms of the HTTP, the ready state waits for user input specifying the URL of a hypermedia entity to display or process and the pending state waits for computer 31 to provide a requested hypermedia entity.

In one embodiment, hypermedia information is exchanged with computer 31 according to the Handheld Device Transfer Protocol (HDTP). A specification for a version of this protocol, sometimes referred to as Secure UPLink Gateway Protocol (SUGP), is provided in an Annex. The HDTP resembles the HTTP but is optimized for use with remote devices like wireless telephones and preferably is conveyed using the User Datagram Protocol/IP (UDP/IP). The UDP/IP is generally regarded as being less reliable than TCP/IP, for example, because it does not guarantee that packets will be received, nor does it guarantee that packets will be received in the same order that they are sent. Datagram protocols like the UDP/IP are attractive in practicing the present invention, however, because it does not require a "connection" to be established between a sender and a receiver before information can be exchanged. This eliminates the need to exchange a large number of packets during session creation.

In a preferred embodiment, hypermedia information is organized according to a Handheld Device Markup Language (HDML) into cards and decks. Multiple decks and other types of message entities can be organized into information structures called digests. A specification for a version of HDML is provided in the Annex.

A "deck" is the smallest unit of HDML information that can be exchanged with computer 31. Each deck has a unique identifier or URL. A user may navigate from one deck to another by traversing hyperlinks that reference the desired deck. If remote device 11 has a cache for received decks, the device first consults the cache to determine if the requested deck is available. Remote device 11 may also be implemented to determine if a desired deck found in cache is also current, that is, not out of date. If so, that deck is accessed without requiring any communication with computer 31. If the requested deck is not in the cache or is out of date, however, a request for that deck is sent to computer 31. This is discussed in more detail below.

Because the display on remote device may be too small to show all the information in a deck at one time, each deck may be organized into one or more cards. A "card" is a unit of information that can be displayed and/or can define how a user may interact with the device.

There are several types of cards. A "display" card conveys information that is to be displayed. An "entry" card conveys a method that permits a user to enter information and typically also conveys information to display. A "choice" card presents alternatives for selection by a user. Entry and choice cards also convey methods to be performed by device 11 that carry out functions necessary to receive input or recognize the chosen alternative. Typically, entry and choice cards cause one or more state variables to be set according to the information that is entered or the alternative that is chosen. A display card can also set one or more variables. A special form of the display card does not cause any visible display but can be used to set one or more variables.

A "digest" is an optional information structure that may be used to facilitate the transmission and processing of multiple message entities including HDML decks. In particular, each message entity in a digest is processed in sequence according to entity type. In one embodiment, message entity types include HDML decks, images and alerts. One important use of the digest and the alert entity is discussed below.

The current state of the three basic functions, navigation, communication and interface, can be expressed in terms of the deck and card in that deck that is currently displayed and one or more variables needed to process the card. By saving this information in persistent storage, remote device 11 can restore the current state at a future time. A cache of decks, a navigation history of hyperlink traversals and a history of user activity can also be used to improve performance, provide additional functions to the user, and provide additional facilities for use by system developers.

Handheld devices like telephones have severely limited facilities for entering information. The input facilities of these devices are often limited to the familiar twelve keys of a pushbutton telephone. One common method for entering text is to assign letters to various numeric keys according to normal telephone conventions. For example, the letters ABC are assigned to the "2" key and the letters DEF are assigned to the "3" key. The letters Q and Z could be assigned to the "0" key, for example. According to this method, the letter A is entered by pressing the "2" key once and the letter B is entered by pressing the key twice. In preferred embodiments of remote device 11, a form of letter prediction is used to make text entry more efficient.

This prediction can be based on the statistics of letter combinations. For example, after entering the letters T and H, it is much more likely that a user will enter the letter E than the letters D or F. Accordingly, after entering T and H, in response to a user pressing the "3" key, remote device 11 will present the letter E first rather than the letter D. The prediction can be based on a table of probabilities for various three-letter combinations stored in storage 14.

Intermediate Computer

Computer 31, together with remote device 11, provides the functions of a conventional hypermedia client. In the embodiment discussed above, computer 31 receives information from remote device 11 according to the HDTP, translates the HDTP information into corresponding HTTP information as necessary, and sends the result to server 51. Similarly, computer 31 receives information from server 51 according to the HTTP, translates the HTTP information into corresponding HDTP information as necessary, and sends the