WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements    
United States Patent5974238   
Link to this pagehttp://www.wikipatents.com/5974238.html
Inventor(s)Chase, Jr.; Charlie David (Spring, TX)
AbstractAn apparatus is disclosed for performing dynamic synchronization between data stored in a handheld computer and a host computer, each having a plurality of data sets including at least one common data set, each computer having a copy of the common data set. The handheld computer has a processor, a communication port, and a data synchronization engine. The data synchronization engine has a pseudo-cache and one or more tags connected to the pseudo cache. Data is synchronized whenever data is written to main memory and/or when the associated pseudo-cache tag is invalidated. By strict adherence to a set of protocols, data coherency is achieved because the system always knows who owns the data, who has a copy of the data, and who has modified the data. The data synchronization engine resolves any differences in the copies and allows the storage of identical copies of the common data set in the host computer and in the handheld computer.
   














 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 5974238
Automatic data synchronization between a handheld and a host computer
     using pseudo cache including tags and logical data elements - US Patent 5974238 Drawing
Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
Inventor     Chase, Jr.; Charlie David (Spring, TX)
Owner/Assignee     Compaq Computer Corporation (Houston, TX)
Patent assignment
All assignments
Publication Date     October 26, 1999
Application Number     08/689,304
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 7, 1996
US Classification     709/248 707/200 707/203 707/204 709/246 710/1 710/72 710/73
Int'l Classification    
Examiner     Maung; Zarni
Assistant Examiner     Thomson; William D.
Attorney/Law Firm     Akin, Gump, Strauss, Hauer & Feld, LLP
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/200.78 395/200.76 395/821 395/892 395/893 707/200 707/203 707/204
Patent Tags     automatic data synchronization between handheld host computer pseudo cache including tags logical data elements
   
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
5392390
Crozier

Feb,1995

[0 after 0 votes]
5337044
Folger
340/7.1
Aug,1994

[0 after 0 votes]
4897781
Chang
707/201
Jan,1990

[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
 


I claim:

1. A handheld computer adapted to communicate with a host computer, the host computer having a data set including logical data elements of a user database, the handheld computer comprising:

a processor;

a common data set which is a shared version of the host computer data set, the common data set including the logical elements of the user database;

a communication port coupled to said processor, said communication port adapted to link said processor with the host computer; and

a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including:

one or more tags, each of said tags corresponding to one of the logical data elements in the user database, each of said tags including at least a modified flag; and

a pseudo cache engine coupled to the processor that maintains the states of each of said tags responsive to changes to corresponding ones of the logical data elements in the user database;

wherein said data synchronization engine initiates a synchronization of a logical data element with the host computer over the communication port when an associated one of the tags is modified in the pseudo cache.

2. The handheld computer of claim 1, wherein said communication port is a serial port.

3. The handheld computer of claim 2, wherein each of said tags points to an entry in said signature table and further points to an entry to said field mapping table.

4. The handheld computer of claim 1, wherein each of said tags has a signature table record and a field mapping table record.

5. The handheld computer of claim 1, further comprising an application programming interface coupled to said communication port.

6. The handheld computer of claim 1, each of said tags further including an exclusive flag and a deleted flag.

7. The handheld computer of claim 1, wherein each of said tags points to logical data elements that are associated with applications include a calendar, a phone list, a to-do list, a browser, a clock, and an electronic mail (E-mail).

8. An integrated information system, comprising:

a host computer comprising:

a data set including logical data elements of a user database; and

a handheld computer adapted to communicate with the host computer comprising:

a processor;

a common data set which is a shared version of the host computer data set, the common data set including the logical elements of the user database;

a communication port coupled to said processor, said communication port adapted to link said processor with the host computer; and

a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including:

one or more tags, each of said tags corresponding to one of the logical data elements in the user database, each of said tags including at least a modified flag; and

a pseudo cache engine coupled to the processor that maintains the states of each said tags responsive to changes to corresponding ones of the logical data elements in the user database;

wherein said data synchronization engine initiates a synchronization of a logical data element with the host computer over the communication port when an associated one of the tags is modified in the pseudo cache.

9. The integrated information system of claim 8, further comprising a signature table and a field map table coupled to said tags.

10. The integrated information system of claim 9, wherein each of said tags points to an entry in said signature table and further points to an entry to said field mapping table.

11. The integrated information system of claim 8, wherein each of said tags has a signature table record and a field mapping table record.

12. The integrated information system of claim 8, further comprising an application programming interface coupled to said communication port.

13. The integrated information system of claim 8, each of said tags further including an exclusive flag and a deleted flag.

14. The integrated information system of claim 8, wherein each of said tags points to logical data elements that are associated with applications include a calendar, a phone list, a to-do list, a browser, a clock, and an electronic mail (E-mail).

15. A method for communicating data records between a handheld computer and a host computer, the handheld computer and host computer each having at least one common data set including logical data elements of a user database, each computer having copies of the common data set, the method comprising the steps of:

providing a pseudo cache having tag entries in the handheld computer corresponding to the logical data elements;

establishing a communication link between the handheld computer and the host computer in response to a change of a pseudo cache tag entry;

synchronizing data records stored by the handheld computer and the host computer, said synchronizing steps including:

searching tag entries of the pseudo cache for shared data records; and

modifying one or more o the tag entries coupled to said pseudo cache;

resolving any differences in the copies and storing identical copies of the common data set in the host computer and in the handheld computer.

16. The method of claim 15, further comprising the step of looking up a signature table record and a field map table record from each of the tag entries.

17. The method of claim 16, wherein said looking up steps further comprises the steps of indexing into an entry in the signature table and indexing into an entry to the field mapping table.

18. The method of claim 15, wherein each of the tag entries has a signature table and a field mapping table.

19. The method of claim 15, further comprising the step of interfacing with software on the host computer through an application programming interface.

20. The method of claim 15, further comprising the step of verifying a coherency protocol.

21. The method of claim 15, further comprising the step of storing one or more applications in a memory device.

22. The method of claim 21, wherein the applications have one or more data records and the host computer has corresponding data records, further comprising the step of synchronizing said data records with corresponding records on the host computer.

23. The method of claim 21, further comprising the step of executing one or more applications, including a calendar, a phone list, a to-do list, a browser, a clock, and an electronic mail (E-mail).

24. A desktop computer adapted to communicate with a handheld computer, the handheld computer having a data set including logical data elements in user database, the desktop computer comprising:

a processor;

a common data set which is a shared version of the handheld computer data set including the logical elements of the user database;

a communication port coupled to said processor, said communication port adapted to link said processor with the handheld computer; and

a data synchronization engine coupled to said processor and said communication port, said data synchronization engine including:

one or more tags each corresponding to one of the logical data elements in the user database;

wherein said data synchronization engine receives a synchronization of a logical data element within the host computer over the communication port when an associated one of the tags is written to a pseudo cache engine in the handheld computer with a set modified bit, the pseudo cache engine in the handheld computer maintaining the states of the associated ones of the tags in the handheld computer responses to changes to corresponding ones of the logical data elements in the user database in the handheld computer, and

wherein the synchronization of a logical data element reflects a change in the state of an associated one of the tags in the handheld computer.

25. The desktop computer of claim 24, wherein each of said tags points to logical data elements that are associated with applications include a calendar, a phone list, a to-do list, a browser, a clock, and an electronic mail (E-mail).
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to portable computing, and more specifically to the sharing of data between handheld computer systems and desktop and/or portable computer systems.

2. Description of the Related Art

The rapid acceptance of computer technology by corporations as well as consumers has led to the widespread use of computers. Further abetting this process is the continual reduction in size and cost of personal computers. Originally, personal computers were large items best suited for floor standing or desktop use. Eventually, they became smaller so that desktop use became the standard. Improvements in processor, memory and data storage capabilities have resulted in light weight, powerful mobile computers such as portables, luggables, laptops, notebooks, palm top and personal digital assistants. These computers can provide sufficient processing capability for audio visual applications, such as computer aided design, three dimensional animation, and multimedia presentation, even when used at remote locations.

As the use of personal computers increased, so did the desire to use computers remotely to support and increase the efficiency of mobile users. However, in most cases, notebook computers were effectively just small versions of full-function desktop computers and so were relatively expensive. Further, they were also relatively heavy and conspicuous to use. The unfavorable attributes of size, expense, and operating period limited the usefulness of notebook computers in certain applications, namely those that required on-the-spot data proessing with inconspicuous and transparent computing capability.

One variant of small factor notebook computers is referred to as notepad or touchpad computers. These computers were essentially notebook computers with the keyboard removed and a digitizer applied to the display so that a pen or other suitable pointing devices could be used as an input device. The use of a pen freed up one aspect of the computer size requirement, namely the requirement for keyboards of certain given dimensions. However, because the handwriting recognizers in these palmtop or handheld computers were not always 100% accurate, these pen-based notepad computers had to be geared to specific applications which utilized special hardware or operating programs such as inventory control and others where simple check-offs could be utilized or somewhat constrained input patterns could be entered. These limitations hampered the usage of the palmtops to only specific applications. Further, most of the original notepad units were based directly on a notebook computer form factor and as such came in sizes of approximately 81/2.times.11 inches and 1 inch thick, and weighed 5 to 6 pounds. Thus, these notepad units were quite heavy and inconvenient, in that they could not be carried for extended periods. Further, the performance of these portable devices was dramatically reduced to achieve the necessary minimum power consumption.

Recently, a new class of portable computers called palmtop or handheld units has emerged. Some of these units offer very limited functionality and are typically restricted to being personal organizers. These watered-down computers are not compatible with programs on larger desktop and notebook computers, but rely on proprietary operating systems and programs to ensure small memory footprint and quick response time, even on low-power microprocessors. These restrictions limited the usefulness of the personal organizers, as they operate stand alone and cannot readily share data with other computers. Additionally, some units were also developed which did offer common functionality with the desktop computers, but were generally keyboard based and the use of tiny keyboards made them relatively unusable to a large segment of the population. Exemplary palmtop or handheld devices with miniature keyboards include the HP-200LX, available from Hewlett-Packard Corporation. Furthermore, palmtop or handheld devices with pen interfaces have appeared. These devices include the Newton and the Pilot available from Apple Computer Corporation and U.S. Robotics Corporation, respectively. Further, palmtop computers with both a keyboard and a pen have also appeared, including the Zaurus ZR-5700/5800, available from Sharp Corporation.

To balance between the ease of reading and editing files on a desktop computer and the convenience of collecting information and operating the palmtop or handheld when the user travelled, the user typically purchased both the desktop computer and the palmtop computer. The two platforms were linked via one or more communication paths, including paths through a modem, a parallel port, a serial port, or a cradle assembly connected to the host computer. Further, various wireless communication techniques, such as radio or infrared communication may be used. In the event that a cradle was used, when the handheld computer was in the cradle and actively connected to the host computer, the handheld computer typically entered a mode to update data in the host computer and itself.

A major problem exists in the current methods of synchronizing data between the desktop computer and the palmtop or handheld computer. For instance, certain data such as calendar information, appointment information, and notes, among others, would generally be kept on a desktop computer which may be networked so that other workstations may remotely update the calendar information, appointment information, and notes. The same information was also kept on the palmtop or handheld computer for the user to review and update when mobile. However, if the user was traveling and information was entered on the desktop computer or on a remote station on a network server machine while the user was not at his or her office, or if the user entered information on the local version of the data in the palmtop or handheld computer, the information contained in the desktop computer and the palmtop or handheld computer would become non-coherent, leading to undesirable problems such as meeting conflicts and miscommunications.

The prior resolutions of the data synchronization problem were generally very time consuming and tedious and therefore reduced the effectiveness of the palmtop/desktop combination. One solution was to limit the accessibility of files such that only files physically residing with the user were the master. However, this solution dictated that no changes could be made to the other system without the danger of losing those changes. Thus, while the palmtop/desktop combination of computers existed, the use of the combination was not popular due to the requirement that the user had to manually synchronize the data on both platforms. Therefore, the problem of synchronization limited the potential of the palmtop or handheld computer market.

One problem encountered by the current generation of handheld devices and their add-on connectivity solutions is that the connectivity solutions rely on batch mode rather than real-time oriented approaches to data coherency. Because the desktop and the handheld device typically became disconnected and incommunicado when the user goes mobile, the data synchronization problem becomes intractable. During the mobile period, the creation, the deletion and the modification of data causes incoherency that often results in conflicts reconcilable only through manual intervention by the user. These conflicts would arise because the desktop and handheld device were unable to communicate changes in their data until they were reconnected using a serial, parallel or modem connection.

Because data coherency is a real time problem, a real time solution that avoids data conflicts by shortening the time between synchronization events is needed. Therefore, it is desirable to have a small handheld computer system capable of operating certain personal information type software, such as calendars, telephone directories and to do lists, as well as simplified versions of desktop application software, and sharing data with a desktop computer, with all the data utilized by all of the programs being dynamically synchronized to alleviate the data coherency problem.

SUMMARY OF THE INVENTION

An apparatus is disclosed for performing dynamic synchronization between data stored in a handheld computer and a host computer, each having a plurality of data sets including at least one common data set, each computer having a shared copy of the common data set. The handheld computer has a processor, a communication port, and a data synchronization engine. The data synchronization engine exists on both the handheld and host computer and has a pseudo-cache and one or more tags connected to the pseudo-cache which can be implemented in either hardware or software. Data is synchronized when a write to system memory results in the creation, modification or deletion of data on either the handheld or host computer. By strict adherence to a set of protocols, data coherency is achieved because the system always knows who owns the data, who has a copy of the data, and who has modified the data. The data synchronization engine resolves any differences in the shared data set and facilitates the storage of the shared data set in the host computer and in the handheld computer. Data synchronization may occur using either wireless or wireline communications transports. In the wireless case the transports could be two-way paging systems, cellular networks and wireless LANS such as ARDIS and RAM, as well as infrared-based LANs. In the wireline case the communication transports could be serial, parallel, POTs and LANs and WANs .

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:

FIGS. 1A and 1B are perspective views of a handheld computer according to the present invention;

FIG. 1C is a perspective view of an embodiment having both pen and keyboard input devices of the handheld computer of the present invention;

FIG. 1D is a perspective view of the handheld computer of FIGS 1A and 1B communicating wirelessly with a host computer;

FIG. 1E is a perspective view of the handheld computer of FIGS 1A and 1B communicating with a host computer via Internet;

FIG. 1F is a perspective view of the handheld computer of FIGS. 1A and 1B located in a cradle and directly connected to a host computer;

FIG. 2 is an exploded perspective view of the internal components of the handheld computer of FIGS 1A and 1B;

FIG. 3 is a top layout view of the components of FIG. 2 without the display;

FIG. 4 is a schematic diagram of the handheld computer of FIGS 1A and 1B;

FIG. 5 is a state machine of the data synchronizing states of the data synchronization engine executing on the handheld computer of FIG. 4;

FIG. 6A is a diagram of the data synchronization modules and data structure stored in the read only memory and random access memory present in the desktop computer system of FIGS. 1D-1F;

FIG. 6B is a diagram of the data synchronization modules and data structure stored in the read only memory and random access memory present in the handheld computer system of FIG. 4;

FIG. 7 is a diagram of the data structure of tags used by FIGS. 6A and 6B;

FIG. 8 is a flow chart of the process of the handheld to desktop create process executing on the handheld computer of FIG. 4;

FIG. 9 is a flow chart of the process of the handheld to desktop create process executing on the desktop computer of FIGS 1C-1F;

FIG. 10 is a flow chart of the process of the handheld to desktop modify process executing on the handheld computer of FIG. 4;

FIG. 11 is a flow chart of the process of the handheld to desktop modify process executing on the desktop computer of FIGS 1C-1F;

FIG. 12 is a flow chart of the process of the handheld to desktop update process executing on the handheld computer of FIG. 4;

FIG. 13 is a flow chart of the process of the handheld to desktop update process executing on the desktop computer of FIGS 1C-1F;

FIG. 14 is a flow chart of the process of the handheld to desktop invalidate process executing on the handheld computer of FIG. 4;

FIG. 15 is a flow chart of the process of the handheld to desktop invalidate process executing on the desktop computer of FIGS. 1C-1F;

FIG. 16 is a flow chart of the process of the desktop to handheld create process executing on the desktop computer of FIGS 1C-1F;

FIG. 17 is a flow chart of the process of the desktop to handheld create process executing on the handheld computer of FIG. 4;

FIG. 18 is a flow chart of the process of the desktop to handheld modify process executing on the desktop computer of FIGS 1C-1F;

FIG. 19 is a flow chart of the process of the desktop to handheld modify process executing on the handheld computer of FIG. 4;

FIG. 20 is a flow chart of the process of the desktop to handheld update process executing on the desktop computer of FIGS. 1C-1F;

FIG. 21 is a flow chart of the process of the desktop to handheld update process executing on the handheld computer of FIG. 4;

FIG. 22 is a flow chart of the process of the desktop to handheld invalidate process executing on the desktop computer of FIGS 1C-1F; and

FIG. 23 is a flow chart of the process of the desktop to handheld invalidate process executing on the handheld computer of FIG. 4.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to FIGS. 1A and 1B, two alternate views of a handheld computer, generally referred to by the letter H, according to the present invention are shown. The handheld computer H includes an outer housing 20 in which the components are contained. The top 22 of the housing 20 preferably contains a rectangular opening 24 to allow visibility of an LCD panel display 26 or other suitable video display which also contains a digitizer 110 FIG. 4) and a backlight 112. A pen 28 is used to interface with the digitizer 110 and the display 26 to provide input. Preferably on the left side 30 of the housing 20 a hole 32 is present to allow the insertion of an AC adapter or DC power source providing battery charging energy to the computer H. At a bottom end 34 of the housing 20 is a hinged door 36 which when pivoted down provides access to a cage 38 containing slots for receiving two PCMCIA cards 40 and for providing access to a battery cartridge 42 in which rechargeable batteries such as Ni-Cads or Nr s or conventional alkaline batteries are located. Preferably AA size batteries are utilized, though a camcorder or other standard, small battery could be utilized with a slight component rearrangement as necessary. Alternatively, the door 36 could be slidably engaged with the bottom end 34. The PCMCIA cards are readily interchangeable with the door open 36 and the battery cartridge 42 is readily removable to allow exchange of battery cartridges 42 if desired.

In FIG. 1B it is shown that a top 44 of the housing 20 contains two receptacles 46 and 48. Preferably the receptacle 46 is an RJ-11 type receptacle for receiving a telephone connection, while the receptacle 48 is a similar spring clip type receptacle for receiving a special adapter cable as will be described below. A right side 45 of the housing 20 contains an opening 47 to allow an internal speaker 61 a port. Additionally, the right side 45 includes an opening 41 for allowing access to a keyboard port 43. Preferably the handheld computer H is approximately 4 inches wide, 6 inches tall and 1 inch thick.

Turning now to FIG. 1C, another embodiment of the handheld computer H of the present invention is shown. The processing electronics as well as the display 26A is housed by a base B. The body B also houses an ON/OFF switch 21. The display 26A of FIG. 1C is preferably 3".times.5" in size, with a 480.times.240 pixel resolution. In FIG. 1C, the handheld computer H has pen input, as provided by the pen 28A, and a keyboard input, as provided by a keyboard 23. The keyboard 23 is preferably a QWERTY type keyboard which is connected to the processor via a keyboard cable 25. Further, the pen 28A has a pop-up housing 29 located on the keyboard 23 for accepting the pen 28A during periods where the handheld computer H is opened and ready for operation. Further, the handheld computer H has a receptacle 27 located on the body B for accepting the pen 28A during periods of non-use. In such event, the pen 28A can be inserted into the receptacle 27 and the keyboard 23 can be interlocked with the body B such that the handheld computer H can be shipped. In general, pens 28 and 28A, as well as displays 26 and 26A are interchangeable and the pen 28A may be referred to generically as the pen 28. Similarly, the display 26A may be referred to generically as the display 26. Preferably, the handheld computer H of FIG. 1C operates with a Pegasus operating system which is a kernel of the Windows 95 API set, available from Microsoft Corporation in Redmond, Wash.

Although the embodiment of FIG. 1C shows the keyboard 23 being separated from the body B during operation, the invention also contemplates that a clamshell design can be used where the keyboard and the display are integrated into one article, with the display hingedly connected to the body and keyboard and adapted to be opened as one piece.

In FIG. 1D the handheld computer H is shown as being wirelessly connected to the host computer C via a wireless carrier. The wireless carrier may be based on the global system for mobile communications (GSM) standard, which is a digital cellular standard or other cellular technologies such as circuit switches or CDPD. Alternatively, the wireless carrier may be based on a two-way paging standard such as the personal Air Communications Technology (pACT). pACT is a narrowband, 900 Mz range personal communications system (PCS) available from PCSI--Cirrus Logic Inc. and AT&T Wireless Services Inc. Further, a ReFLEX paging protocol, currently in use with SkyTel--Mtel, Inc., from Motorola Inc. of Schaumburg, Ill. can be used as well.

The present invention contemplates that equivalent wireless transmissions include all forms of radio frequency as well as infrared communication as discussed in the Infra-Red Data Association (IRDA) standard. The IRDA specifications provide guidelines for link access, link management and for the physical transfer of data bits. The link access mechanism provides guidelines for the software which looks for other machines to connect or to sniff, to discover other machines, to resolve addressing conflicts, and to initiate a connection, to transfer data, and to cleanly disconnect. The link access standard specifies a frame and byte structure of the infrared packets as well as the error detection methodology for the infrared communication. The IRDA specifications for operating distance, viewing angle, optical power, data read, and noise immunity enable physical interconnectivity between various brands and type of equipment, such as the desktop computer C and the handheld computer H.

Turning now to FIG. 1E, another communication link between the desktop computer C and the handheld computer H is shown. FIG. 1E shows the wireline technology--Internet combination to augment the wireless networks which may lack a ubiquitous infrastructure. FIG. 1E is similar to FIG. 1D, with the addition that an Internet link is interposed between the desktop computer C and the wireless carrier. In FIG. 1E, the wireless carrier communicates with an Internet service provider via a suitable protocol such as TCP/IP protocol. Originally developed as a reliable computer network for connecting research institutions and military sites, the Internet has become the world's most widely used computing network, where information is quickly and easily shared. Typically, data transmitted via the Internet via the World Wide Web still resembles that of the wireless packets, as the typical Web message size is small. Thus, in addition to wireless carriers, the handheld computer of the present invention can communicate with the desktop computer C via land lines, via wireless lines, or other means, including the Internet and variants thereo, including "intranets", or intra-corporation networks. These communication media meld computing power with network and wireless access, offering users significant leaps in productivity and accessibility.

In FIG. 1F the handheld computer H is shown installed in a cradle 49, which is directly connected to the host computer C. The cradle 49 connection and operation are known in the art. Exemplary cradle/handheld operation is disclosed in U.S. patent application Ser. No. 07/984,464, entitled "HANDHELD COMPUTER WITH AUTOMATIC DATA SYNCHRONIZATION WITH HOST COMPUTER", assigned to the assignee of the present invention, which is hereby incorporated by reference.

Referring now to FIG. 2, various typical internal components in the handheld computer H are shown. The LCD panel 26, wit