throbber
(12) United States Patent
`Oberhaus et al.
`
`USOO6983308B1
`(10) Patent No.:
`US 6,983,308 B1
`(45) Date of Patent:
`Jan. 3, 2006
`
`(54) MAIL SYNCHRONIZATION OF REMOTE
`AND LOCAL MAIL SYSTEMS
`(75) Inventors: Jared M. Oberhaus, Sunnyvale, CA
`SES SNR, s Ms.
`(
`aul A. Smetners, Uupertino,
`A S. Russell S. Greer, Los Gatos,
`
`(*) Notice:
`
`2- Y----
`
`CCCZ C a
`
`- - -
`
`5,758,354 A 5/1998 Huang et al.
`5,802,510 A 9/1998 Jones
`5,826,039 A 10/1998 Jones
`s: A : E. S. et al... "O.
`5,966,714 A * 10/1999 Huang et al. .....
`... 707/201
`6,018,762 A * 1/2000 Brunson et al. ............ 709/206
`6,052,735 A * 4/2000 Ulrich et al. .....
`... 709/236
`6,131,096 A * 10/2000 Ng et al. ...................... 707/10
`6,304.881. B1 * 10/2001 Halim et al. ...
`... 707/201
`6,401,112 B1 * 6/2002 Boyer et al. ...
`... 709/206
`(73) Assignee: Openwave Systems, Inc., Redwood
`6,442,570 B1
`8/2002 Wu ............................ 707/201
`City, CA (US)
`OTHER PUBLICATIONS
`Subject to any disclaimer, the term of this
`Hild et al., Mobilizing Applications, IEEE Personal Com
`patent is extended or adjusted under 35
`munications, Oct. 1997, pp. 26-34.
`U.S.C. 154(b) by 589 days.
`* cited by examiner
`(21) Appl. No.: 09/219,072
`Primary Examiner-Hosain Alam
`(22) Filed:
`Dec. 22, 1998
`Assistant Examiner Philip B. Tran
`(74) Attorney, Agent, or Firm-Beyer Weaver & Thomas,
`Related U.S. Application Data
`LLP
`(60) Provisional application No. 60/109,088, filed on Nov. 19,
`(57)
`ABSTRACT
`1998.
`(51) Int. Cl.
`tralia for years SE el
`(2006.01)
`G06F 15/16
`mal mailboxeS facCOuntS) Of a uSer are discloSed. The uSer
`is able to effectively. See and interact with only a single
`(52) U.S. Cl. ........................ 709,206. 709/248; 709/217
`“virtual' mailbox, which is the synchronized combination of
`(58) Field of Classification Search s
`709/2O6
`the two different electronic mailboxes. The electronic mail
`709/217, 106,203 227329.24s:707710.
`boxes are used to receive, Store, read and Send electronic
`s
`s
`s
`s
`s
`s
`See application file for complete Search ...?" mail over a network to electronic mailboxes associated with
`recipients. The electronic mail can include electronic mes
`Sages that contain text, graphics or Video. The Synchroniza
`h
`hi
`ideo. Th
`hroni
`tion of the two different electronic mailboxes can be per
`formed automatically in a two-way manner without user
`interaction. The Synchronization can also be performed
`Securely even though electronic messages are transmitted
`over a public network.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,483,352 A
`1/1996 Fukuyama et al.
`5,625.818 A 4/1997 Zarmer et al.
`5,710,922 A * 1/1998 Alley et al. ................. 707/201
`5,742,763 A 4/1998 Jones
`5,757,669 A * 5/1998 Christie et al. ............. 709/205
`
`21 Claims, 21 Drawing Sheets
`
`
`
`
`
`USER'S
`COMPUTER
`
`PROXY
`SERVER
`(FIREWALL)
`
`WIRELESS
`MA
`SYSTEM
`
`LOCALNETWORK
`
`MAIL
`SYNC,
`CLENT
`
`LOCAL
`MAL
`SERVER
`
`120
`
`
`
`118
`
`BANK OF AMERICA ET AL. EXHIBIT 1031
`
`Page 1 of 35
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 1 of 21
`
`US 6,983,308 B1
`US 6,983,308 B1
`
`SSATSuIM
`
`VA
`
`WALSAS
`
`cbb
`
`OOL
`
`Y3SAggS
`
`(TWvMaHlS)
`
`901S.Y3asn
`
`
`
`AXOWdYSLNdNOD
`
`cb
`ZZ ).
`
`L‘big
`
`YaledeVO
`
`MYOMLIN
`
`tfy
`
`bh
`
`r
`
`Z01IVA“ONAS
`WooTVA
`
`
`
`YSAdSSIN3I19
`
`WMHOMLINW901
`
`POL
`
`8 || ||
`
`SLL
`
`
`
`
`
`Page 2 of 35
`
`Page 2 of 35
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 2 of 21
`
`US 6,983,308 B1
`
`
`
`MA
`SYNCHRONIZATION
`SERVER
`
`206
`
`WIRELESS DEVICE
`MAIL SERVER
`
`204
`
`WIRELESS DEVICE
`MAIL APPLICATION
`202
`
`2OO
`
`Fig. 2A
`
`Page 3 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 3 of 21
`
`US 6,983,308 B1
`
`
`
`MAIL
`SYNC.
`CLIENT
`PROCESS
`
`210
`
`ACTION LIST
`215
`
`CLIENT
`MAPPING
`TABLE
`
`212
`
`2O8
`
`Fig. 2B
`
`Page 4 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 4 of 21
`
`US 6,983,308 B1
`
`
`
`MAIL SYNC. SERVER
`
`216
`
`SYNC.
`SERVER
`PROCESS
`
`218
`
`SYNC.
`MESSAGE
`OUTEOX
`222
`
`OUTGOING
`SYNC.
`
`1211
`
`ACTION.
`LIST
`
`GARBAGE
`COLLECTOR
`
`224
`
`Fig. 2C
`
`Page 5 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet S of 21
`
`US 6,983,308 B1
`
`(STARD
`
`1? 3OO
`
`ESTABLISH SECURE CONNECTION WITH MAL
`SYNCHRONIZATION SERVER (MSS) WITH
`MAIL SYNCHRONIZATION CLIENT (MSC)
`
`
`
`302
`
`
`
`
`
`304
`
`306
`
`
`
`MSC
`PREVIOUSLY
`SYNCED
`
`
`
`NO
`
`REOUEST MSS TO INDICATE WHETHER
`PREVIOUSLY SYNC'ED WITH MSC
`
`308
`
`
`
`
`
`MSS
`PREVIOUSLY
`SYNCED
`
`
`
`31 O
`
`
`
`PERFORM UPDATE SYNCHRONIZATION
`BETWEEN MSC AND MSS
`
`312
`
`314
`
`PERFORM NITIAL SYNCHRONIZATION
`BETWEEN MSC AND MSS
`
`GEND)
`
`Fig. 3A
`
`Page 6 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 6 of 21
`
`US 6,983,308 B1
`
`NITIAL SYNCHRONIZATION
`PROCESSING
`
`NORMALIZATION PROCESSING
`
`
`
`
`
`PULL SYNCHRONIZATION
`PROCESSING
`
`
`
`322
`
`324
`
`326
`
`Fig. 3B
`
`Page 7 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 7 of 21
`
`US 6,983,308 B1
`
`UPDATE SYNCHRONIZATION
`PROCESSING
`
`
`
`
`
`
`
`PULL SYNCHRONIZATION
`PROCESSING
`
`
`
`332
`
`334
`
`Fig. 3C
`
`Page 8 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 8 of 21
`
`US 6,983,308 B1
`
`(STARD
`
`-400
`
`4O2
`
`OBTAIN COMPUTER'S MESSAGE LIST
`
`404
`
`REGUEST PHONE'S MESSAGE LIST
`
`NO
`
`YES
`
`408
`
`COMPARE COMPUTER'S MESSAGE LIST
`WITH PHONE'S MESSAGE LIST TO
`IDENTIFY MISSING MESSAGE
`
`'0N REQUEST MISSING MESSAGES FROM MSS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RECEIVE
`INSERT
`TRANSACTION
`?
`
`NO
`
`414
`
`YES
`PERFORM INSERTION OF MESSAGE
`NTO INBOX
`
`416
`
`YES
`
`
`
`MORE
`MISSING
`MESSAGES
`
`
`
`NO
`
`CEND)
`
`Fig. 4
`
`Page 9 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 9 of 21
`
`US 6,983,308 B1
`
`(STARD
`
`1? 500
`
`502
`
`
`
`
`
`RECEIVE
`TELEPHONE
`MESSAGE
`LIST
`REQyEST
`YES
`SEND TELEPHONE MESSAGE LIST TO MSC
`
`NO
`
`50
`4.
`
`506
`
`
`
`
`
`RECEIVE
`MISSING
`MESSAGES
`REayEST
`
`NO
`
`YES
`
`508
`
`MORE
`MISSING
`NO
`MESSAGE
`CEND)
`YES
`SELECT NEXT MISSING MESSAGE
`510
`
`PREPARE INSERT TRANSACTION
`FOR SELECTED MISSING MESSAGE
`
`512
`
`SEND INSERT TRANSACTION TO MSC
`
`
`
`
`
`
`
`
`
`
`
`
`
`YES
`
`520
`
`Fig. 5
`
`Page 10 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 10 of 21
`
`US 6,983,308 B1
`
`OBTAIN MAXIMUM NUMBER OF
`MESSAGES IN PHONE NBOX
`(MAX MSGS)
`
`
`
`602
`
`SET COUNT = 925
`SET i = 25
`
`604
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS
`COMPUTER
`MESSAGE(i)
`PHONE
`NBOX
`
`606
`
`608
`
`INCREMENT COUNT
`
`NCREMENT
`
`61O
`
`612
`
`NO
`
`YES
`
`614
`
`DELETE COUNT = MAX MSGS - COUNT
`
`(C)
`
`Fig. 6A
`
`Page 11 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 11 of 21
`
`US 6,983,308 B1
`
`
`
`IS
`COMPUTER
`MESSAGE (i)
`PHONE
`INBOX P
`
`PREPARE DELETE TRANSACTION FOR
`PHONE MESSAGE ( i)
`
`SEND DELETE TRANSACTION TO MSS
`
`DECREMENT DELETE COUNT
`
`INCREMENT i
`
`IS
`i
`>
`TOTAL
`COMPUTER
`Msgs.
`
`Page 12 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 12 of 21
`
`US 6,983,308 B1
`
`SET i = gas
`
`
`
`
`
`
`
`
`
`
`
`708
`
`
`
`
`
`
`
`
`
`S
`NUMBER
`OF
`FREE
`SLOTS
`D
`$75
`NO
`
`
`
`RECEIVE
`NUMBER
`FSEE
`SLOTS
`
`YES
`
`IS
`COMPUTER
`
`MESSAGE(i)
`PHONE
`INBOX
`
`
`
`710
`
`YES
`
`PREPARE INSERT TRANSACTION REOUEST
`FOR A NEW PHONE MESSAGE CORRESPONDING
`TO COMPUTER MESSAGE (i)
`
`712
`
`SEND INSERT TRANSACTION REOUEST TO MSS
`
`714
`
`
`
`
`
`
`
`716
`
`
`
`ACKED
`WITH
`PHONE
`MSG
`D
`
`YES
`
`GD)
`
`NO
`
`Fig. 7A
`
`Page 13 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 13 of 21
`
`US 6,983,308 B1
`
`718
`
`720
`
`CORRELATE THE PHONE MESSAGE ID
`WITH THE COMPUTER MESSAGE ID
`
`DECREMENT NUMBER OF FREE SLOTS
`
`722
`
`NCREMENT i
`
`724
`
`
`
`
`
`
`
`
`
`IS
`i
`o
`TOTAL
`COMPUTER
`MSGS,
`
`YES
`
`NO
`
`CEND)
`
`Fig. 7B
`
`Page 14 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 14 of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RECEIVE
`FREE
`SLOTS
`REQyEST
`
`
`
`RECEIVE
`INSERT
`TRANSACTION
`REQyEST
`
`DETERMINE NUMBER OF
`FREE SLOTS
`
`SEND NUMBER OF
`FREE SLOTS TO MSC
`
`806
`
`810
`
`PERFORM INSERTION OF
`MESSAGE INTO PHONE
`NBOX
`
`GENERATE PHONE
`MESSAGE ID
`
`SEND ACKNOWLEDGEMENT
`ALONG WITH PHONE MESSAGE
`ID TO MSC
`
`
`
`Fig. 8
`
`Page 15 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 15 0f 21
`
`US 6,983,308 B1
`
`"Y,
`
`(staRD
`
`CREATE ACTION LIST DESCRIBNG
`CHANGES SINCE LAST SYNCHRONIZED
`
`902
`
`904
`
`YES
`
`ACTION
`LIST
`
`EMETY
`
`SELECT NEXT ACTION FROM ACTION LIST
`
`PREPARE SYNCHRONIZATION ACTION
`MESSAGE FOR THE SELECTED ACTION
`
`906
`
`908
`
`SEND SYNCHRONIZATION ACTION
`MESSAGE TO MSS
`
`912
`
`914
`
`ACK"EO
`WITH
`PHONE
`MSG.
`D
`
`NO
`
`YES
`
`CORRELATE THE PHONE MESSAGE ID
`WITH THE COMPUTER MESSAGE D
`
`918
`
`ERROR CONDITION
`
`REMOVE SELECTED ACTION FROM
`THE ACTION LIST
`
`922
`
`Fig. 9A
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 16 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 16 of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SEND SWAP REGUEST TO MSS
`
`924
`
`NO
`
`9
`
`ACTION
`MESSAGE
`RECEIVED NO
`
`PERFORM SYNCHRONIZATION ACTION
`REGUESTED BY SYNCHRONIZATION
`ACTION MESSAGE
`
`SEND ACKNOWLEDGEMENT MESSAGE
`TO MSS
`
`930
`
`932
`
`Fig. 9B
`
`Page 17 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 17 Of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ACTION
`MESSAGE
`
`REC5IVED/No
`
`NO 4 1014
`REQyEST
`
`SWAP
`
`YES
`
`
`
`PERFORMSYNCHRONIZATION ACTION
`REGUESTED BY SYNCHRONIZATION ACTION
`MESSAGE
`
`IS
`NEW
`PHONE
`
`MESSAGE
`
`NEEDED
`
`1 OO4
`
`
`
`
`
`1008
`
`SEND ACKNOWLEDGEMENT
`MESSAGE TO MSC
`
`GENERATE PHONE MESSAGE ID
`
`SEND ACKNOWLEDGEMENTALONG WITH
`THE PHONE MESSAGE D TO MSC
`
`Fig. 10A
`
`Page 18 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 18 of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CREATE ACTION LIST DESCRIBING
`CHANGES SINCE LAST SYNCHRONIZED
`
`1016
`
`1018
`
`1038
`
`YES
`
`SEND SYNCHRONIZATION
`COMPLETE MESSAGE
`
`ACTION
`LIST
`EMPTY
`
`NO
`
`102O
`
`SELECT NEXT ACTION FROM
`ACTION LIST
`
`CEND)
`
`PREPARE SYNCHRONIZATION ACTION
`MESSAGE FOR THE SELECTED ACTION
`
`1022
`
`SEND SYNCHRONIZATION ACTION
`MESSAGE TO MSC
`
`<> YES
`
`ERROR CONDITION
`
`REMOVE SELECTED ACTION
`FROM THE ACTION LIST
`
`1032
`
`1030
`
`Fig. 10B
`
`Page 19 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 19 of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`1102
`
`MANUAL
`SYNC.
`
`REQyEST
`
`AUTOMATICALLY GENERATE SPECIAL |
`SYNCHRONIZATION ELECTRONIC
`MAIL MESSAGE
`
`0
`
`SEND SPECIAL SYNCHRONIZATION
`ELECTRONIC MAIL MESSAGE TO MSC
`
`1106
`
`
`
`Fig. 11A
`
`Page 20 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 20 of 21
`
`US 6,983,308 B1
`
`
`
`
`
`
`
`
`
`
`
`1152
`
`SPECIAL
`SYNC. MSG.
`RECEIVED
`
`DELETE SPECIAL SYNCHRONIZATION
`ELECTRONIC MAL MESSAGE FROM
`COMPUTER'S INBOX
`
`1154
`
`1156
`
`INITIATE SYNCHRONIZATION
`
`
`
`Fig. 11B
`
`Page 21 of 35
`
`

`

`U.S. Patent
`
`Jan. 3, 2006
`
`Sheet 21 of 21
`
`US 6,983,308 B1
`
`(STARD 1? 1200
`
`PREPARE OUTGONG ELECTRONIC
`MAL MESSAGE
`
`12O2
`
`1204
`
`
`
`
`
`
`
`SEND
`VA
`SYNC.
`REQUESTED YES
`
`1210
`
`12O6
`
`
`
`NO
`
`STORE ELECTRONIC MAL
`MESSAGE IN OUTGOING
`SYNCHRONIZATION OUEUE
`
`
`
`
`
`
`
`SENSEESA L
`INTERNET OVER SMTP
`
`ADD DELVERY ACTION
`TO ACTION LIST
`
`PLACE ELECTRONIC MAIL
`MESSAGE IN TELEPHONE'S
`SEND MESSAGES BOX
`
`1208
`
`ADD SENT MESSAGE
`ACTION TO ACTION LIST
`
`1212
`
`SYNCHRONIZE
`ELECTRONIC MAMESSAGE
`TO COMPUTER'S OUTBOX
`
`SEND ELECTRONIC MA
`MESSAGE FROM COMPUTER
`
`1209
`
`MOVE ELECTRONIC MAIL
`MESSAGE TO COMPUTER'S
`SEND MESSAGES BOX
`
`CEND)
`
`Fig. 12
`
`Page 22 of 35
`
`

`

`1
`MAIL SYNCHRONIZATION OF REMOTE
`AND LOCAL MAIL SYSTEMS
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`This application claims the benefit of U.S. Provisional
`Application No. 60/109,088, filed Nov. 19, 1998, and
`entitled “MAIL SYNCHRONIZATION OF REMOTE AND
`LOCAL MAIL SYSTEMS", the content of which is hereby
`incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to electronic mail Systems
`and, more particularly, to Synchronization of electronic mail
`Systems.
`2. Description of the Related Art
`Today, various types of hand-held computing devices are
`commonly used. Examples of hand-held computing devices
`include pagers, mobile phones, personal digital assistants
`(PDAS), palm-top computers and electronic Schedulers.
`One popular hand-held computing device is PalmPilot
`produced by 3COM Corporation. The PalmPilot provides
`calendaring functions. A Synchronization operation is
`requested by a user after the user physically connects the
`PalmPilot to the desktop computer over a dedicated cord or
`wire (e.g., typically using a cradle device). The Synchroni
`zation operation allows (i) dates previously entered by a user
`into the PalmPilot to be synchronized with a calendaring
`program operating on a desktop computer and (ii) dates
`previously entered by the user of the desktop computer to be
`synchronized with the PalmPilot.
`Some hand-held computing devices are able to Send and
`receive electronic mail. The users of these devices typically
`have a desktop computer that connects to a network and
`enables the user to read, compose and Send electronic mail.
`AS Such, these users have two mailboxes for receiving
`electronic mail, one for the hand-held computing device and
`another for the desktop computer. Conventionally, with
`respect to electronic mail, a user with multiple mailboxes for
`receiving electronic mail is able to forward electronic mail
`received in one mailbox to another mailbox (one-way
`forwarding). In addition, Some hand-held computer devices
`(e.g., PalmPilot) are able to Synchronize electronic mail
`when manually requested by a user. These Systems provid
`ing for Synchronization of electronic mail also do So over
`dedicated wires between the hand-held computer devices
`and the desktop computer.
`Thus, there is a need for improved techniques for Syn
`chronizing different electronic mail accounts of a user.
`
`SUMMARY OF THE INVENTION
`Broadly Speaking, the invention relates to improved tech
`niques for Synchronizing different electronic mail mailboxes
`(accounts) of a user. The user thus effectively sees and
`interacts with only a single “virtual” mailbox, which is the
`synchronized combination of the two different electronic
`mailboxes.
`The electronic mailboxes are used to receive, Store, read
`and Send electronic mail over a network to electronic
`mailboxes associated with recipients. Electronic mail
`includes electronic messages that contain text, graphics,
`audio, Video or other digitally encoded data. The Synchro
`nization of the two different electronic mailboxes includes,
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,983,308 B1
`
`2
`for example, insertion of new messages that arrive on one
`mailbox into the other mailbox, deletion of existing mes
`Sages from the other mailbox if done on one mailbox,
`restoration of deleted messages on the other mailbox if
`restored on one mailbox, and marking of read/unread Status
`in the other mailbox as done on one mailbox. The synchro
`nization could also include delivery of a message from one
`mailbox to the other mailbox where the message is auto
`matically Sent.
`The invention can be implemented in numerous ways,
`including as a method, an apparatus, a computer readable
`medium, and a computer System. Several embodiments of
`the invention are discussed below.
`As a method for automatically Synchronizing messages
`between first and Second electronic mail Systems that com
`municate over a network, one embodiment of the invention
`includes the acts of: automatically initiating Synchronization
`of message lists associated with the first and Second elec
`tronic mail Systems, providing a connection between the first
`and Second electronic mail Systems through the network
`after the Synchronization is initiated; and transmitting mes
`Sage information from the Second electronic mail System to
`the first electronic mail System via the connection.
`Optionally, the connection is a Secure connection, and the
`Second electronic mail System provides mail Services to
`mobile devices in a wireleSS manner.
`As a method for Synchronization of a Second mail System
`and a first mail System, where the Second mail System
`communicates with the first mail System through a public
`network, one embodiment of the invention includes the acts
`of maintaining a first inbox for the first mail System, the first
`inbox having a first message list associated therewith; estab
`lishing a secure connection between the first mail system
`and the Second mail System through the public network;
`requesting a Second message list from the Second mail
`System over the Secure connection, the Second message list
`being associated with a Second inbox for the Second mail
`System; comparing the first message list with the Second
`message list to identify missing messages, the missing
`messages are those messages that are identified as being
`present in the Second inbox but not also present in the first
`inbox, requesting the missing messages from the Second
`mail System over the Secure connection; receiving the miss
`ing messages from the Second mail System over the Secure
`connection through the public network, and inserting the
`missing messages that have been received into the first inbox
`of the first mail system.
`As a method for Synchronizing a first inbox of a first
`electronic mail application with a Second inbox of a Second
`electronic mail application, where the first electronic mail
`application and the Second electronic mail application are
`connected through a public network, one embodiment of the
`invention includes the acts of obtaining an action entry from
`an action list, the action list indicating changes that have
`occurred at the Second inbox since last Synchronization;
`preparing a Synchronization action message based on the
`action entry; Sending the Synchronization action message to
`the first electronic mail application through the public net
`work So that the first electronic mail application is able to
`perform the Synchronization action of the Synchronization
`message to render the first inbox more consistent with the
`Second inbox, receiving an acknowledgement from the first
`electronic mail application that the Synchronization action
`has been performed; and thereafter removing the action
`entry from the action list when the acknowledgement has
`been received.
`As a method for initiating Synchronization between first
`and Second mailboxes, the first mailbox being associated
`
`Page 23 of 35
`
`

`

`US 6,983,308 B1
`
`1O
`
`15
`
`25
`
`3
`with a first computing device coupled to a data network
`protected by a firewall, and the Second mailbox being
`asSociated with a Second computing device, one embodi
`ment of the invention includes the acts of receiving a
`request at the Second computing device to initiate a Syn
`chronization Session between the first and Second mailboxes,
`generating a Synchronization requesting electronic mail
`message; Sending the Synchronization requesting electronic
`mail message from the Second mailbox to the first mailbox;
`and thereafter initiating Synchronization between first and
`Second mailboxes via the first computing device as
`requested by the Synchronization requesting electronic mail
`meSSage.
`As a method for automatically Sending an electronic mail
`message during a Synchronization Session between first and
`Second mailboxes, the first mailbox being associated with a
`first computing device, and the Second mailbox being asso
`ciated with a Second computing device, one embodiment of
`the invention includes: providing an electronic mail message
`on the Second computing device that is to be sent to a
`destination address, Storing the electronic mail message at
`the Second computing device; delivering the electronic mail
`message to the first computing device during a Synchroni
`Zation Session between the first and Second mailboxes, and
`Subsequently automatically Sending the delivered electronic
`mail message to the destination address from the first
`computing device.
`As a mail Synchronization System, one embodiment of the
`invention includes: a remote mail System for providing
`electronic mail Services to a mobile device, and a local mail
`System for providing electronic mail Services to a desktop
`computer. The remote mail system includes a mobile device
`mail application, a mobile device mail Server and a mail
`Synchronization Server. The mobile device mail Server man
`ages Storage, receipt and delivery of electronic mail mes
`35
`sages with respect to the mobile device. The mobile device
`is capable of displaying a list of electronic mail messages in
`a remote inbox. The list of the electronic mail messages for
`the remote inbox is stored in the mobile device mail server
`and made available to the mobile device by the mobile
`device mail application. The local mail System includes a
`local mail Server and a mail Synchronization client. The local
`mail Server manages Storage, receipt and delivery of elec
`tronic mail messages with respect to the desktop computer.
`The desktop computer is capable of displaying a list of
`electronic mail messages in a local inbox. The list of the
`electronic mail messages for the local inbox is Stored in the
`local mail Server and made available to the desktop com
`puter. The mail Synchronization client and the mail Synchro
`nization Server interact to Synchronize the list of the elec
`tronic mail messages for the local inbox and the list of the
`electronic mail messages for the remote inbox maintained by
`the local mail Server and the remote mail Server, respec
`tively.
`AS a computer readable medium including computer
`program code for automatically Synchronizing first and
`Second electronic mail Systems that communicate over a
`network, one embodiment of the invention includes: com
`puter program code configured to automatically initiate
`Synchronization of message lists associated with the first and
`Second electronic mail Systems, computer program code
`configured to provide a connection between the first and
`Second electronic mail Systems through the network after the
`Synchronization is initiated; and computer program code
`configured to transmit message information from the Second
`electronic mail System to the first electronic mail System via
`the connection.
`
`4
`The advantages of the invention are numerous. Different
`embodiments or implementations may yield one or more of
`the following advantages. One potential advantage of the
`invention is that a user is able to use two different electronic
`mail accounts (mailboxes) as if they are the same electronic
`mail account. Another potential advantage of the invention
`is that the two different electronic mail accounts are able to
`be automatically Synchronized without user interaction. Still
`another potential advantage of the invention is Synchroni
`Zation between two different electronic mail accounts can be
`achieved through a public network. Yet another potential
`advantage of the invention is that an outgoing message can
`be automatically sent from the mailbox that receives the
`message in conjunction with Synchronization.
`Other aspects and advantages of the invention will
`become apparent from the following detailed description
`taken in conjunction with the accompanying drawings which
`illustrate, by way of example, the principles of the invention.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The invention will be readily understood by the following
`detailed description in conjunction with the accompanying
`drawings, wherein like reference numerals designate like
`Structural elements, and in which:
`FIG. 1 is a block diagram of a mail Synchronization
`System according to an embodiment of the invention;
`FIG. 2A is a block diagram of a wireleSS mail System
`according to one embodiment of the invention;
`FIG. 2B is a block diagram of a mail synchronization
`client according to one embodiment of the invention;
`FIG. 2C is a block diagram of a mail synchronization
`Server according to one embodiment of the invention;
`FIG. 3A is a flow diagram of Synchronization processing
`according to one embodiment of the invention;
`FIG. 3B is a flow diagram of initial synchronization
`according to one embodiment of the invention;
`FIG. 3C is a flow diagram of update synchronization
`according to one embodiment of the invention;
`FIG. 4 is a flow diagram of client-side initial synchroni
`Zation processing according to one embodiment of the
`invention;
`FIG. 5 is a flow diagram of server-side initial synchroni
`Zation processing according to one embodiment of the
`invention;
`FIGS. 6A and 6B is a flow diagram of normalization
`processing for the mail Synchronization client;
`FIGS. 7A and 7B are flow diagrams of client-side pull
`Synchronization according to one embodiment of the inven
`tion;
`FIG. 8 is a flow diagram of server-side pull synchroniza
`tion according to one embodiment of the invention;
`FIGS. 9A and 9B are flow diagrams of client-side update
`Synchronization processing according to one embodiment of
`the invention; and
`FIGS. 10A and 10B are flow diagrams of server-side
`update Synchronization processing according to an embodi
`ment of the invention;
`FIG. 11A is a flow diagram of server-side synchronization
`initiation processing according to one embodiment of the
`invention;
`FIG. 11B is a flow diagram of client-side synchronization
`initiation processing according to one embodiment of the
`invention; and
`FIG. 12 is a flow diagram of outgoing mail Synchroniza
`tion processing according to an embodiment of the inven
`tion.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 24 of 35
`
`

`

`US 6,983,308 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`DETAILED DESCRIPTION OF THE
`INVENTION
`The invention relates to improved techniques for Synchro
`nizing different electronic mail mailboxes (accounts) of a
`user. The user thus effectively Sees and interacts with only a
`single “virtual' mailbox, which is the synchronized
`(mirrored) combination of the two different electronic mail
`boxes.
`The electronic mailboxes are used to receive, Store, read
`and Send electronic mail over a network to electronic
`mailboxes associated with recipients. Electronic mail
`includes electronic messages that contain text, graphics,
`audio, Video or other digitally encoded data. The Synchro
`nization of the two different electronic mailboxes includes,
`for example, insertion of new messages that arrive on one
`mailbox into the other mailbox, deletion of existing mes
`Sages from the other mailbox if done on one mailbox,
`restoration of deleted messages on the other mailbox if
`restored on one mailbox, and marking of read/unread Status
`in the other mailbox as done on one mailbox. The synchro
`nization could also include delivery of a message from one
`mailbox to the other mailbox where the message is auto
`matically Sent.
`The electronic mail boxes are typically provided on
`computing devices for the benefit of users. The computing
`devices can be any of a wide variety devices with different
`sizes, performances and mobilities. The invention is particu
`larly suitable for use with mobile devices that support
`electronic mail message operations. Examples of mobile
`devices (mobile computing devices or wireless devices)
`include pagers, mobile phones, personal digital assistants
`(PDAS), palm-top computers, electronic Schedulers, and
`other information appliances. In Such case, one mailbox is
`associated with a mobile device and the other mailbox is
`associated with a personal computer (e.g., a desktop
`computer). All messages are held in the computer's mailbox
`because it has greater Storage capacity than the telephones
`mailbox. The telephone's mailbox represents a window of a
`fixed number of the topmost messages of the virtual mail
`box.
`Embodiments of this aspect the invention are discussed
`below with reference to FIGS. 1-12. However, those skilled
`in the art will readily appreciate that the detailed description
`given herein with respect to these figures is for explanatory
`purposes as the invention extends beyond these limited
`embodiments.
`FIG. 1 is a block diagram of a mail Synchronization
`system 100 according to an embodiment of the invention.
`The mail synchronization system 100 operates to synchro
`nize a remote mail system 102 with a local mail system 104.
`The remote mail system 102 communicates with the local
`mail system 104 through the Internet 106. More generally,
`the Internet 106 can be any network but the invention is
`particularly well suited for use with public networks.
`Examples of networks include intranets and the Internet.
`The remote mail system 102 includes mobile devices 108
`that communicate through a carrier network 110 with a
`wireless mail system 112. The wireless mail system 112
`connects to the Internet 106. In one embodiment, the wire
`leSS mail System 112 is provided with a gateway Server or a
`proxy server that allows the mobile device 108 to commu
`nicate with the Internet 106. The wireless mail system
`provides electronic mail services to the mobile devices 108.
`The local mail system 104 includes a user's computer 114,
`a local mail Server 116, and a mail Synchronization client
`118. The user's computer 114 typically couples to the local
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`mail server 116 and the mail synchronization client 118
`through a local network 120. In one embodiment, the mail
`synchronization client 118 is provided within the user's
`computer 114. As an example, the local mail Server 116 can
`be an Exchange-type server (e.g., Microsoft Exchange-type)
`or a SMTP-type server. The local network 120 is, for
`example, a local area network (LAN) or other type of Small
`Scale network. In one embodiment, the local network can be
`provided by an organization with the user being one user
`within the organization and with the mail server 116 pro
`Viding mail Services to the employees of the organization. In
`another embodiment, the local network 120 and a separate
`local mail server are not needed and the local mail server 116
`and the mail synchronization client 118 are all provided on
`the user's computer 114. The local mail system 104 can also
`include a proxy server 122 (or firewall server) that couples
`the local network 120 to the Internet 106. The proxy server
`122 can act as a firewall to protect the access to the local
`network 120 and any resources residing on the local network
`120.
`FIG. 2A is a block diagram of a wireless mail system 200
`according to one embodiment of the invention. The wireleSS
`mail system 200 is, for example, suitable for use as the
`wireless mail system 112 illustrated in FIG. 1.
`The wireless mail system 200 includes a wireless device
`mail application 202, a wireless device mail server 204 and
`a mail synchronization server 206. The wireless device mail
`application 202 provides mail processing for the mobile
`devices 108 of the remote mail system 102. In other words,
`the mobile devices 108 typically only provide a limited
`amount of processing capacity and, thus, much of the mail
`application processing is performed by the wireless device
`mail application 202 residing on a Server computer located
`remotely with respect to the mobile devices 108. In this
`embodiment, the Server computer is the Server computer that
`supports the wireless mail system 200. Hence, the wireless
`device mail application 202 communicates with the mobile
`devices 108 through the carrier network 110. The wireless
`device mail application also communicates with the wireleSS
`device mail server 204.
`The wireless device mail server 204 is provided in the
`wireless mail system 200 to manage the receipt and delivery
`of electronic mail with respect to users of the mobile devices
`108. In this regard, the wireless device mail server 204
`communicates to local mail servers through the Internet 106.
`The mail synchronization server 206 is provided in the
`wireless mail system 200 to manage the synchronization of
`the wireless device mail server 204 with the local mail server
`116 of the local mail system 104. The mail synchronization
`server 206 also couples to the Internet 106.
`FIG. 2B is a block diagram of a mail synchronization
`client 208 according to one embodiment of the invention.
`The mail synchronization client 208 is, for example, Suitable
`for use as the mail synchronization client 118 illustrated in
`FIG.1. The mail synchronization client 208 includes a mail
`Synchronization client proceSS 210 that provides operations
`asSociated with Synchronizing the wireleSS device mail
`server 204 with the local mail server 116. To facilitate the
`Synchronization operations performed by the mail Synchro
`nization client process 210, the mail Synchronization client
`208 also includes a client mapping table 212, an inbox State
`table 214, and an action list 215. The client mapping table
`212 is used to associate electronic mail messages on mobile
`devices 108 with those on the user's computer 114. The
`inbox

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket