`Chase, Jr.
`
`[54] AUTOMATIC DATA SYNCHRONIZATION
`BETWEEN A HANDHELD AND A HOST
`COMPUTER USING PSEUDO CACHE
`INCLUDING TAGS AND LOGICAL DATA
`ELEMENTS
`
`Inventor: Charlie David Chase, J r., Spring, TeX.
`
`Assignee: Compaq Computer Corporation,
`Houston, TeX.
`
`Appl. No.: 08/689,304
`Filed:
`Aug. 7, 1996
`
`Int. Cl.6 ............................ .. G06F 1/00; G06F 15/00;
`G06F 17/30; G06F 15/62
`US. Cl. .............................. .. 395/200.78; 395/200.76;
`395/821; 395/892; 395/893; 707/200; 707/203;
`707/204
`Field of Search ....................... .. 395/200.78, 200.76,
`395/821, 892, 893; 707/200, 203, 204
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,897,781
`5,337,044
`5,392,390
`
`1/1990 Chang et al. ......................... .. 364/200
`8/1994 Folger et al. .
`340/82544
`2/1995 Crozier .................................. .. 395/161
`
`OTHER PUBLICATIONS
`
`Personal Air Communications Technology Brochure No.
`32956.
`PSCI (Paci?c Communication Sciences, Inc.) Brochure
`entitled pACT: An Advanced TWo—Way Messaging and
`Paging Protocol.
`PCSI NeWs Release dated Jun. 5, 1996, announcing Chip Set
`for pACT TWo—Way Paging and Messaging Services.
`Vendetti, Don, Wireless Tutorial—NarroWband PCS:
`TWo—Way Messaging, Wireless for the Corporate User
`(1996).
`PSCI, Product Brochure for PC18101F—01 Control Proces
`sor for AT&T pACT NPCS System, Dec. 1, 1995.
`PSCI, Product Brochure for PC11503T Modem IC for
`AT&T pACT NPCS System, Dec. 1, 1995.
`
`US005 97423 8A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,974,238
`Oct. 26, 1999
`
`PSCI, Product Brochure for PC11504T Modem Processor
`for AT&T pACT NPCS System, Dec. 8, 1995.
`PSCI, Product Brochure for PC11605M Radio Transceiver
`for AT&T pACT NPCS System, Dec. 1, 1995.
`Thryft, Ann R., pACT Adds Sophistication to TWo Way
`Paging Services, EBN, Jun. 17, 1996, 1996, p. 22.
`Moore, Mark, “Pegasus to lack key functions”, PC Week,
`Jun. 24, 1996, p.8.
`Matzkin, Jonathan, “The NeW PDA Hand—held devices head
`online”, PC Magazine, Jun. 25, 1996, p. 31.
`Yoshida, Junko, “WebTV pulls Sony, Philips into the Net,”
`Electronic Engineering Times, Jul. 15, 1996, p. 16.
`Wirbel, Loring, “Alliance to spin a Wireless Web”, Elec
`tronic Engineering Times, Jul. 15, 1996, pp. 1,8.
`Moore, Mark, “Users of Pegasus Will get choice of Wireless
`carriers”, PC Week, Jul. 22,1996, pp. 9,40.
`
`(List continued on neXt page.)
`
`Primary Examiner—Zarni Maung
`Assistant Examiner—William D. Thomson
`Attorney, Agent, or Firm—Akin, Gump, Strauss, Hauer &
`Feld, LLP
`[57]
`
`ABSTRACT
`
`An apparatus is disclosed for performing dynamic synchro
`nization 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 modi?ed the
`data. The data synchronization engine resolves any differ
`ences in the copies and alloWs the storage of identical copies
`of the common data set in the host computer and in the
`handheld computer.
`
`25 Claims, 25 Drawing Sheets
`
`216
`
`144
`
`PSEUDO-CACHE
`
`112
`BACK-
`LIGHT
`
`[Cl]
`PANEI
`
`25
`
`110
`
`DIGITIZER
`
`61
`
`+50—Ib—|
`135
`
`102
`
`Y
`
`RAM
`
`I
`
`CUMBINATIHN __—-‘:|/
`
`CHIP
`
`mummcesson
`
`1J1
`
`FAX/MODEM
`
`45
`
`100
`
`l
`
`11a" ~14
`
`l
`
`m
`MOSFET
`GATES
`
`130
`
`_
`
`_
`
`PUWER 43.3,»5.
`SUPPLV 411,40
`
`lrr
`
`wmaess
`cmcumw
`
`1"?
`
`PCMElA
`SLUTlSl
`
`38
`
` 1
`
`Petitioners' Exhibit 1056, Page
`
`
`
`5,974,238
`Page 2
`
`OTHER PUBLICATIONS
`
`Wolfe, Alexander, “Microsoft poses PC specs”, Electronic
`Engineering Times, Aug. 8, 1996, Issue 909, pp. 1, 8.
`Gardner, W. David, “Microsoft eyes one—Way paging to
`jurnp—start handhelds”, Electronic Engineering Tirnes, Aug.
`8, 1996, Issue 909, pp. 10, 16.
`
`Grace, Elden, “RF Filter Technology for Wireless Commu
`nications”, Wireless Design & Developrnent, p. 8.
`
`Sharp Model ZR—5700/ZR—5800 Keyboard Enhanced Per
`sonal Digital Assistant—Zaurus Operational Manual, pp.
`1—61.
`
` 2
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 1 0f25
`
`5,974,238
`
`FIG. 1A
`
`FIG. 1 B
`
` 3
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 2 0f25
`
`5,974,238
`
` 4
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 3 0f25
`
`5,974,238
`
` 5
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 4 0f25
`
`5,974,238
`
`FIG. 1E
`
` 6
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct. 2 999999
`
`5,974,238
`5,974,238
`
`
`
`FIG.1F
`n2. .QE
`
`Petitioners' Exhib iiiiiiiiiii
`
` 7
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 6 0f25
`
`5,974,238
`
`55
`
`42
`
`56
`
`46
`
`58
`
`LC] |_J’
`
`43
`
`48-"
`
`46/
`
`58]
`
`L----------|
`_i--43
`|
`'__________
`___|
`|
`|
`|
`‘1'
`r——————————|
`I
`\J.’_43
`|_______.___J
`
`55J 154 \52
`FIG. 3
`
` 8
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`99
`
`S
`
`5,974,238
`
`V.OE
`
`cm
`
`
`
`~m+_m.m+Egon.
`
`
`
`812+5&3.
`
`1+6,m323%.:m8.3-583:I9%«2m258.-22:25.283I:-B
`9ll
`0:..mhm
`
`
`ENEENfifim.xfimm$55882'
`
`
`
`eEczemam2F$55;'_-E
`
` 5:3”I535::1M£5.22.7o&Ema:v:=m§
`
`mm2:
`
`Petitioners' Exhibit 1056, Page 9
`
` 9
`
`Petitioners' Exhibit 1056, Page
`
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 8 0f25
`
`5,974,238
`
`20o
`
`CREATE
`
`PRIVATE
`
`<- _ _ _ _ — _ — _ _ _ _
`
`UPDATE
`
`CLEAN
`SHARED
`
`MODIFY
`
`202
`
`— — — — — — — — — — — >
`
`INVALIDATE
`
`RESTORE
`
`204
`
`206
`
`DIRTY
`SHARED
`
`III-P216
`“"1
`
`MG
`SI
`SI
`
`240
`218
`241 SIGNATURE /
`242 TABLE
`243
`
`FIELD MAPPING -/25° HELD
`FIELD MAPPING -\
`MAPPING
`FIELD MAPPING -
`TABLE
`
`220
`
`FIG. 7
`
` 10
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 9 0f25
`
`5,974,238
`
`210\
`COHERENCY
`PROTOCOL
`ENGINE
`
`SYNCHRONIZATIUN SOFTWARE
`r214
`DATA
`SYNCHHONIZATIUN
`ENGINE
`
`j
`
`SIGNATURES
`
`HANDHELD
`
`[224
`I
`SCHEDULER ‘I
`_{_ _[_JA_TA E_NGINE_ I
`_ _ _ _ L2_2_81
`_: PHUNELIST
`l
`LPILTAENEIHEJ
`______ _ _ _
`I TRAVELAGENT l
`
`f226
`SCHEDULER
`PIM
`
`230
`PHUNELIST
`PIM
`C 234
`TRAVELAGENT
`
`DESKTOP APPS
`
`225 \ sGIIEnuIEII
`PIN
`
`f 233
`/ 229
`PHONELIST
`TRAVELAGENT
`PIN
`PIM
`
`DATA sIINGAPI
`
`PIN DATA
`SYNC ENGINE
`
`CUHEHENCYPRUTUCOL
`ENGINE
`
`223
`
`215
`
`211
`
`213
`
`FIG. 6B
`
` 11
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 10 0f 25
`
`5,974,238
`
`HTD CREATE HANDHELD
`
`299
`
`WRITE TD RAM
`
`WRITE TD
`PREDETERMINED
`RANGEI’IN RAM
`
`302
`
`HIT DN
`RECORD ID
`?
`
`CREATE HANDHELD TAG
`
`SET EXCLUSIVE BIT IN
`HANDHELD TAG
`
`INTERRUPT GENERATED
`
`| CUNSTRUCT CREATE PACKET
`I
`[314
`| sewn PACKET T0 DESKTOP
`
`318
`
`CLEAR EXCLUSIVE BIT
`IN HANDHELD TAG
`
`FIG. 8
`
` 12
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 11 0f25
`
`5,974,238
`
`HTD CREATE DESKTOP
`
`322
`N
`
`RECEIVE
`CREATE?PACKET
`
`324
`
`SLEEP
`
`Y
`
`326
`
`f 328
`
`f 334
`
`WAKE UP DATA
`SYNCHRONIZER
`I
`PARSE CREATE PACKET TO
`EXTRACT HANDHELD RECORD ID
`& FIELD INDICES
`f 330
`I
`CREATE DESKTOP TAG
`L
`f 332
`SET EXCLUSIVE BIT
`IN DESKTOP TAG
`I
`ACCESS PIM
`APPLICATION DATA SET
`& ADD NEW ENTRY
`f 336
`I
`UPDATE DESKTOP TAG
`SIGNATURE
`ISIGI
`L
`
`[337
`
`CLEAR EXCLUSIVE BIT
`IN DESKTOP TAG
`f 338
`I
`SEND ACKNOWLEDGMENT
`PACKAGE TO HANDHELD
`
`i>
`
`FIG. 9
`
` 13
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 12 0f25
`
`5,974,238
`
`WRITE TO RAM
`
`339
`
`340
`
`WRITE TO
`PREDETERMINED
`RANGE IN RAM
`
`342
`
`HIT ON
`REOO?RD ID
`
`352
`
`SET HANDHELD
`MODIFIED BIT
`I
`CDNSTRUCT OR
`MODIFY PACKET
`f 354
`I
`SEND MODIFY PACKET
`TO DESKTOP
`
`DESKTOP
`ACKNOWLEDGMENT
`
`358
`
`CONSTRUCT UPDATE
`PACKET
`
`361
`
`FIG. 10
`
` 14
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 13 0f25
`
`5,974,238
`
`(Hm MODIFY DESKTOP )
`
`364
`
`WAKE UP DATA
`SYNCHRDNIZER
`I
`PAFISE MODIFY PACKET TO
`EXTRACT HID & FIELD INDICES
`
`f 368
`
`DETECTED ON
`
`EXTRACT
`CORRESPONDING DID
`I f 374
`SET DESKTOP TAG
`MODIFY BIT
`f 376
`I
`SEND ACKNOWLEDGMENT
`PACKET TO HANDHELD
`
`FIG. 11
`
` 15
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct.26, 1999
`
`Sheet 14 0f25
`
`5,974,238
`
`HTD UPDATE HANDHELD
`/ 378
`
`CDNSTRUCT
`UPDATE PACKET
`
`f 380
`SEND UPDATE PACKET
`TD DESKTDP
`
`382
`
`DESKTDP
`ACKNOWLEDGMENT
`PACKET
`RECEIIVED
`
`f 386
`CLEAR HANDHELD
`MDDIFY BIT
`
`FIG. 12
`
`384
`
` 16
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct. 26, 1999
`
`Sheet 15 0f 25
`
`5,974,238
`
`HTD UPDATE DESKTOP
`
`392
`
`PARSE UPDATE PACKET
`TO EXTRACT RECORD ID
`& FIELD INDICES
`
`FIND
`MATCH ON HID IN
`
`404
`
`EXTRACT
`CORRESPONDING OID
`I
`f 402
`ACCESS PIM
`APPLICATION DATA SET
`& PERFORM UPDATE
`I
`UPDATE DESKTOP TAG
`SIGNATURE
`ISIGI
`f 406
`I
`CLEAR DESKTOP TAG
`MODIFIED BIT
`f 408
`I
`SEND ACKNOWLEDGMENT
`PACKET TO HANDHELD
`DEVICE
`
`FIG. 13
`
` 17
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct. 26, 1999
`
`Sheet 16 0f 25
`
`5,974,238
`
`( HTD INVALIDATE HANDHELD )
`409
`
`WRITE TO RAM
`
`WRITE
`TO RAM WITHIN
`PROGRAMMED
`RANGE
`?
`
`RECORD ID
`MARKED FOR
`
`SHARING
`
`418
`
`SET HANDHELD TAG
`DELETE 8| MODIFY BITS
`I
`f 420
`INTERRUPT HANDHELD
`PROCESSOR
`I
`CONSTRUCT
`INVALIDATE PACKET
`I
`SEND INVALIDATE
`PACKET TO DESKTOP
`
`f 422
`
`f 424
`
`425
`
`RECEIVE
`ACKNOWLEDGE
`PACKET TO
`HANO’HELD
`
`CLEAR HANDHELD
`TAG MODIFY BIT
`
`/- 428
`
`FIG. 14
`
` 18
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`041.26, 1999
`
`Sheet 17 0f25
`
`5,974,238
`
`(Hm INVALIDATE DESKTOP)
`
`f 440
`
`442
`
`PARSE INVALIDATE PACKET
`T0 EXTRACT RECORD ID
`AND FIELD INDICES
`I
`f 436
`EXTRACT MATCH IN
`DESKTOP TAG AND DID
`I
`f 438
`SET DESKTOP TAG
`MODIFY BIT
`I
`ACCESS PIM
`APPLICATION DATA SET
`AND PERFORM DELETION
`I
`SET DESKTOP TAG
`DELETED BIT
`f- 446
`I
`CLEAR DESKTOP TAG
`MODIFY BIT
`f- 448
`I
`SEND ACKNOWLEDGMENT
`PACKET TO HANDHELD
`
`ab
`
`FIG. 15
`
` 19
`
`Petitioners' Exhibit 1056, Page
`
`
`
`U.S. Patent
`
`Oct. 26, 1999
`
`Sheet 18 0f 25
`
`5,974,238
`
`(0TH CREATE DESKTOP)
`
`NEW
`RECORD IN PIM
`DAT'A7 SET
`
`Y
`
`452
`
`454
`
`CREATE DESKTOP TAG
`ID & SET MODIFIED BIT
`I
`CONSTRUCT
`CREATE PACKET
`f 456
`I
`SEND CREATE PACKET
`TO HANDHELD
`
`RECEIVE
`ACKNOWLEDGE
`PACKET FROM
`HANDHELD
`‘.7
`Y
`
`ADD HANDHELD ID TO
`DESKTOP TAG
`I
`CLEAR DESKTOP
`MODIFIED BIT
`
`462
`
`f 454
`
`FIG. 16
`
` 20
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 19 of 25
`
`5,974,238
`
`DTH HANDHELD CREATE
`
`
`RECEIVE
`PAC7KET -
`CREATE
`
`
`
`Y
`
`SLEEP
`
`474
`
`472
`
`PARSE CREATE PACKET TD
`EXTRACT RECORD ID
`AND FIELD mm
`
`ADD PIM DATA TD HANDHELD
`
`CREATE HANDHELD TAG
`USING CORRESPONDING HID
`
`476
`
`478
`
`480
`
`SEND ACKNDWLEDCE
`PACKET TD DESKTOP
`WITH HID
`
`FIG. 17
`
`Petitioners' Exhibit 1056, Page 21
`
` 21
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 20 of 25
`
`5,974,238
`
`DTH DESKTOP MODIFY
`
`
`SIGNATUR
`DIFFERENCE FOR
`
`
`
`RECORD
`
`
`SET DESKTOP TAG
`MODIFIED BIT
`
`
`CONSTRUCT
`MODIFY PACKET
`
`
`
`SEND MODIFY PACKET
`TO HANDHELD
`
`
`
`Y
`
`SLEEP
`
`
`
`
`RECEIVE
`
`
`ACKNOWLEDGMENT
`PACKET FROM
`
`HAND2HELD
`
`
`
`
`CONSTRUCT
`UPDATE PACKET
`
`
`
`FIG. 18
`
`Petitioners' Exhibit 1056, Page 22
`
` 22
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 21 of 25
`
`5,974,238
`
`DTH HANDHELD MODIFY
`
`
`
`
`
`RECEIVE
`MODIFY
`
`PACKET
`
`?
`
`
`
`PARSE MODIFY PACKET
`TO EXTRACT RECORD ID
`AND FIELD INDICES
`
`
`
`SLEEP
`
`498
`
`500
`
`
`
`
`
`
`502
`
` HANDHELD
`
`TAG MATCHES
`
` AN7HID
` Y
`
`
`SET HANDHELD TAG
`MODIFIED BIT
`
`SEND ACKNOWLEDGMENT
`PACKET TO DESKTOP
`
`Petitioners' Exhibit 1056, Page 23
`
` 23
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 22 of 25
`
`5,974,238
`
`
`
`
`
`
`
`DTH UPDATE DESKTOP
`
`CONSTRUCT UPDATE PACKET
`& SEND TO HANDHELD
`
`RECEIVE
`ACKNOWLEDGE
`PACKET
`?
`
`Y
`
`CLEAR DESKTOP TAG
`MODIFIED BIT
`
`
`
`
`
`
`
`510
`
`516
`
`
`
` 514
`
`Petitioners' Exhibit 1056, Page 24
`
` 24
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 23 of 25
`
`5,974,238
`
`DTH UPDATE HANDHELD
`
`
`
`
`
`5:995 _SLEEP
`PAC7KET
`
`Y
`
`524
`
`PARSE UPDATE PACKET
`TO EXTRACT RECORD ID
`AND FIELD INDICES
`
`EXTRACT MATCHING
`HANDHELD TAB AND
`CORRESPONDING HID
`
`ACCESS HANDHELD PIM
`APPLICATION DATA AND
`PERFORM UPDATE
`
`CLEAR HANDHELD TAG
`MODIFY BIT
`
`SEND ACKNOWLEDGE
`PACKET TO DESKTOP
`
`EXIT
`
`526
`
`528
`
`530
`
`532
`
`Petitioners' Exhibit 1056, Page 25
`
` 25
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 24 of 25
`
`5,974,238
`
`DTH INVALIDATE DESKTOP
`
`534
`
`
`
`
`CHECK
`EXISTENCE OF
`
`RECORD
`
`
`
` Y
`
`SET DESKTOP TAG MODIFY
`AND DELETED BITS
`
`
`CONSTRUCT
`DELETE PACKET
`
`SEND DELETE PACKET
`TD HANDHELD
`
`
`
`RECEIVE
`ACKNOWLEDGE
`
`PACKET
`
`7
`
`
`
`
`
`
`
`
` Y
`
`SLEEP
`
`CLEAR DESKTOP
`MODIFIED BIT
`
`
`
`Petitioners' Exhibit 1056, Page 26
`
` 26
`
`Petitioners' Exhibit 1056, Page
`
`
`
`US. Patent
`
`Oct. 26, 1999
`
`Sheet 25 of 25
`
`5,974,238
`
`DTH DELETE HANDHELD
`
`
`
`552
`
`RECEIVE
`DELETE
`PACKET
`:2
`
`
`
`
`
`
`
`PARSE DELETE PACKET
`TO EXTRACT RECORD ID
`
`
`AND FIELD INDICES
`
`556
`
`.
`
`554
`
`SET HANDHELD DELETED BIT
`
` 558
`
`SEND ACKNOWLEDGE
`PACKET TO DESKTOP
`
`Petitioners' Exhibit 1056, Page 27
`
` 27
`
`Petitioners' Exhibit 1056, Page
`
`
`
`5,974,238
`
`1
`AUTOMATIC DATA SYNCHRONIZATION
`BETWEEN A HANDHELD AND A HOST
`COMPUTER USING PSEUDO CACHE
`INCLUDING TAGS AND LOGICAL DATA
`ELEMENTS
`
`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 com-
`puter systems and desktop and/or portable computer sys—
`tems.
`
`10
`
`2. Description of the Related Art
`The rapid acceptance of computer technology by corpo—
`rations 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 per—
`
`
`
`sonal digital assistants. These computers can provide su i-
`cient 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, note-
`book 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 proessin g with inconspicuous
`and transparent computing capability.
`One variant of small factor notebook computers is
`referred to as notepad or touchpad computers. These com-
`puters were essentially notebook computers with the key-
`board removed and a digitizer applied to the display so that
`a pen or other suitable pointing devices could be used as an
`input device. 'lhe use of a pen freed 11p 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 approxi-
`mately 81/z><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 palm-
`top or handheld units has emerged. Some of these units offer
`very limited functionality and are typically restricted to
`
`tom
`
`30
`
`L»or
`
`40
`
`50
`
`60
`
`
`
`2
`being personal organizers. These watered—down computers
`are not compatible with programs on larger desktop and
`notebook computers, but rely on proprietary operating sys—
`tems and programs to ensure small memory footprint and
`quick response time, even on low—power microprocessors.
`'lhese 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-ZOOLX, availaJle from Hewlett-Packard
`Corporation. Furthermore, palmtop or handheld devices
`with pen interfaces have appeared. These devices include the
`Newton and the Pilot available ‘rom Apple Computer Cor-
`poration and U.S. Robotics Corporation,
`respectively.
`Further, palmtop computers with both a keyboard and a pen
`have also appeared, including he 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 pa mtop 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 para lel 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 syn-
`chronizing 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 worksta—
`tions 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 con—
`tained in the desktop computer and the palmtop or handheld
`computer would become non-coherent, leading to undesir-
`able problems such as meeting conflicts and miscommuni—
`cations.
`
`The prior resolutions of the data synchronization problem
`were generally very time consuming and tedious and there-
`fore reduced the effectiveness of the palmtop/desktop com—
`bination. 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 com-
`bination 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.
`
`Petitioners' Exhibit 1056, Page 28
`
` 28
`
`Petitioners' Exhibit 1056, Page
`
`
`
`5,974,238
`
`3
`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 recon—
`nected 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 synchro-
`nized to alleviate the data coherency problem.
`SUMMARY OF THE INVENTION
`
`An apparatus is disclosed for performing dynamic syn-
`chronization 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 trans-
`ports 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 communica-
`tion transports could be serial, parallel, POTs and LANs and
`WANs.
`
`BRIEF DESCRIPTION OF TIIE 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 com-
`puter of the present invention;
`FIG. ID is a perspective View of the handheld computer
`of FIGS 1A and 1B communicating wirelessly with a host
`computer;
`
`10
`
`tom
`
`30
`
`40
`
`50
`
`60
`
`
`
`
`
`
`
`
`
`
`
`
`
`4
`FIG. IE 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 hand-
`held 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;
`to
`FIG. 8 is a flow chart of the process of the handhel
`deskto 3 create process executing on the handheld computer
`of FIG. 4;
`FIG. 9 is a flow chart of the process of the handhelc to
`deskto create process executing on the desktop computer of
`FIGS lC—lF;
`FIG. 10 is a flow chart 0 ‘ 1e 3rocess of the handhelc to
`L» .n
`deskto 3 modify process executing on the handheld computer
`i of FIG. 4;
`3e 3rocess of the handhelc to
`FIG. 11 is a flow chart 0
`deskto3 modify process executing on the desktop computer
`of FIGS “7—11“;
`1e
`FIG. 12 is a flow chart 0
`deskto 3 update process executing
`of FIG. 4;
`FIG. 13 is a flow chart 0
`deskto3 update process execu
`of FIGS 1C—1F;
`1e
`FIG. 14 is a flow chart 0
`deskto3 invalidate process execu
`puter 0 FIG. 4;
`3e 3rocess of the handhelc to
`FIG. 15 is a flow chart 0
`deskto3 invalidate process executing on the desktop com-
`puter o ‘ FIGS. 1C—1F;
`FIG. 16 is a flow chart of 1e process of the desktop to
`handhe d create process executing on the desktop computer
`of FIGS 1C71F;
`FIG. 17 is a flow chart of ac process of the desktop to
`handhe d create process executing on the handheld computer
`of FIG. 4;
`ie process of the desktop to
`FIG. 18 is a flow chart of
`handhe d modify process executing on the desktop computer
`of FIGS 1C—1F;
`FIG. 19 is a flow chart of ac process of the desktop to
`handhe d modify process executing on the handheld com-
`puter 0 FIG. 4;
`FIG. 20 is a flow chart of
`handhe d update process execu
`of FIGS. 1C—1F;
`
`
`
`1e process of the desktop to
`ing on the desktop computer
`
`Petitioners' Exhibit 1056, Page 29
`
`
`
`3rocess of the handhelc to
`on the handheld computer
`
`rocess of the handhelc to
`ing on the handheld com-
`
`3e 3rocess of the handhelc to
`ing on the desktop computer
`
` 29
`
`Petitioners' Exhibit 1056, Page
`
`
`
`5,974,238
`
`6
`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 ll of HG. 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 M2 range personal communi-
`cations system (PCS) available from PCSIiCirrus Logic
`Inc. and AT&T Wireless Services Inc. Further, a ReFLEX
`paging protocol, currently in use with Sky'l‘el—Mtel, Inc.,
`from Motorola Inc. of Schaumburg, Ill. can be used as well.
`The present invention contemplates that equivalent wire-
`less transmissions include all forms of radio frequency as
`well as infrared communication as discussed in the Infra-
`
`10
`
`tom
`
`30
`
`5
`FIG. 21 is a flow chart of the process of the desktop to
`handheld update process executing on the handheld com-
`puter of FIG. 4;
`FIG. 22 is a flow chart of the process of the desktop to
`handheld invalidate process executing on the desktop com-
`puter of FIGS 1C71F; and
`FIG. 23 is a flow chart of the process of the desktop to
`handheld invalidate process executing on the handheld com—
`puter of FIG. 4.
`DETAILED DESCRIPTION OF TIIE
`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 vis-
`ibility of an LCD panel display 26 or other suitable video
`display which also contains a digitizer 110 FIG. 4) and a
`backlight 112. Apen 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 5 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 interchange—
`able 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"x5" in size, with
`a 480x240 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
`
`40
`
`50
`
`60
`
`Red Data Association (IRDA) standard. The IRDA specifi—
`cations provide guidelines for link access, link management
`and for the physical transfer of data bi s. The link access
`L» .n
`_ mechanism provides guidelines for the software which looks
`
`
`for other machines to connect or to sni
`, 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 method-
`ology for the inf