throbber
(21) International Application Number:
`
`PCT/US97/O47l9
`
`(22) International Filing Date:
`
`20 March 1997 (20.03.97)
`
`(30) Priority Data:
`08/640,334
`
`30 April 1996 (30.04.96)
`
`US
`
`(81) Designated States: AL, AM, AT, AT (Utility model), AU
`(Petty patent), AZ, BA, BB, BG, BR, BY, CA, CH. CN,
`CU, CZ, CZ (Utility model), DE, DE (Utility model), DK,
`DK (Utility model), EE, EE (Utility model), ES, Fl, Fl
`(Utility model), GB, GE, GH, HU, IL, IS, JP, KE, KG,
`KP, KR, KZ, LK, LR, LS, LT, LU, LV, MD, MG, MK,
`MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, 86,
`SI, SK, SK (Utility model), TJ, TM, TR, TT, UA, UG, US,
`UZ, VN, YU, ARIPO patent (GH, KE, LS, MW, SD, SZ,
`UG), Eurasian patent (AM, AZ, BY, KG, KZ, MD, RU, TJ,
`TM). European patent (AT, BE, CH, DE, DK, ES, FI, FR,
`GB, GR, IE, IT, LU, MC, NL, PT, SE), OAPI patent (BF,
`BJ, CF, CG, CI, CM, GA, GN, ML, MR, NE, SN, TD, TG).
`
`(74) Agents: TAYLOR, Edwin, H. et al.; Blakely, Sokoloff, Taylor
`& Zafman LLP, 1279 Oakmead Parkway, Sunnyvale, CA
`94086 (US).
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`(51) International Patent Classification 6:
`(11) International Publication Number:
`WO 97/41520
`G06F 17/30, 13/42, 9/46, 15/16
`
`(43) International Publication Date:
`
`6 November 1997 (06.1 1.97)
`
`(71) Applicant (for all designated States except US): INTEL COR-
`PORATION [US/US]; 2200 Mission College Boulevard,
`Santa Clara, CA 95052 (US).
`(72) Inventors; and
`(75) Inventors/Applicants (for US only): HUANG, Chu-Yi HUS];
`Apartment 12, 10620 S.W. Davies Road, Beaver-ton, OR Published
`97008 (US). ROMRELL, David, A. [US/US]; 2323 NW.
`With international search report.
`188th Avenue #1911, Hillsboro, OR 97124 (US). TSO,
`Before the expiration of the time limit for amending the
`Michael, Man—Hak [AU/US]; 5744 SE. Preston Court,
`claims and to be republished in the event of the receipt of
`Hillsboro, OR 97123 (US).
`amendments.
`
`(57) Abstract
`
`Page 1 of 94
`
`GOOGLE EXHIBIT 1027
`
`

`

`Singapore
`
`Albania
`Armenia
`Austria
`Australia
`Azerbaijan
`Bosnia and Herzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Cbte d‘lvoire
`Cameroon
`China
`Cuba
`Czech Republic
`Germany
`Denmark
`Estonia
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`ES
`Fl
`FR
`GA
`GB
`GE
`Gl-l
`ON
`GR
`HU
`IE
`1L
`IS
`11‘
`JP
`KE
`KG
`KP
`
`KR
`KZ
`LC
`Ll
`LK
`LR
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`Ireland
`Israel
`lceland
`Italy
`Japan
`Kenya
`Kyrgyzstan
`Democratic People‘s
`Republic of Korea
`Republic of Korea
`Kazakstan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`N0
`NZ
`PL
`PT
`R0
`RU
`51)
`SE
`SG
`
`Lesotho
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The former Yugoslav
`Republic of Macedonia
`Mali
`Mongolia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`
`81
`SK
`SN
`82
`TD
`TG
`TJ
`TM
`TR
`'l‘T
`UA
`UG
`US
`UZ
`VN
`YU
`ZW
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`Zimbabwe
`
`Page 2 of 94
`
`

`

`WO 97/41520
`
`PCT/U897/04719
`
`-1-
`
`A METHOD FOR SCALING LARGE
`
`E-MAIL DATABASES FOR DEVICES
`
`WITH LIMITED STORAGE
`
`This application is a Continuation-In-Part of pending application serial
`number 08/431,500 entitled APPLICATION INDEPENDENT RECORD LEVEL
`
`SYNCHRONIZATION filed April 28, 1995.
`
`(1)
`
`Field of the Invention
`
`(Personal Computer), or require the user to generate their own address book there
`
`Given the storage constraints of devices such as a SmartPhone and the
`desirability for access to a large electronic address database, it is desirable to have
`some type of a default personal address book. Currently, there are a couple of E-
`mail systems which may be used to offer some type of method for generating a
`default personal address book. However, neither of the systems are easy to use.
`For example, cc: Mail Mobile System from Lotus Deve10pment Corporation and
`cc: Mail Remote System from Lotus Development Corporation duplicate the
`address database (generally several mega-bytes in size) on a notebook PC
`
`The invention relates to E-mail (electronic mail) systems. More
`particularly, the present invention is related to the method and apparatus for scaling
`E-mail address book databases for devices with limited storage capacity.
`
`(2)
`
`Background
`
`E-mail (electronic mail) is one of the most popular data use application for
`data and voice telephones, in particular, for cellular telephones. However,
`telephones are typically limited in storage capacity. An average advanced cellular
`phone (such as a SmartPhone) being designed has less than one mega byte (MB)
`of storage available for use by a user. In contrast, a typical electronic address
`database using corporate environments are very large.
`
`Page 3 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/047l9
`
`-2-
`
`user's personal address book and in a network database and if John Doe’s name is
`
`an easy to use method for generating default personal address books automatically
`
`is no subsetting offered by the systems. Additionally the E—mail systems do not
`
`work with devices with limited storage such as is found in SmartPhones.
`
`MS Mail system from Microsoft allows subsetting using personal address
`
`books, however, with this method and apparatus, the user must manually select
`
`and move entries in the network database to his or her personal address book.
`
`Additionally, the method and apparatus clearly does not scale to large databases
`
`such as for corporations, where there may be a large number of employees. More
`
`specifically, manually finding, selecting and moving, for example one hundred
`
`people regularly from a large list of employees is not only inefficient and slow but
`
`ultimately unusable in a corporate or large organizational environment, e.g. with
`
`tens of thousands of employees.
`
`Additionally, MS Mail does not provide synchronization for the personal
`
`address book and the network database. For example, if John Doe is in both a
`
`deleted from the network database, his name will remain in the user's personal
`
`address book. Hence, the user will not know that John Doe is no longer available
`
`until a mail is transmitted to him and the mail is returned as “undeliverable” or
`
`“user unknown”.
`
`CC: Mail from Lotus Development Corporation provides synchronization
`
`but it is very inefficient. Synchronization is performed on-line with CC: Mail, i.e.
`
`when a user is connected and requires that the entire database be reconciled.
`
`Exemplary circumstances requiring reconciliation include when new records are
`
`added such as for new employees. when records have been deleted such as to
`
`account for employee attrition, and when updates are made such as for changed
`
`telephone numbers. Scanning a large database for change takes tens of minutes
`
`and since synchronization must be performed periodically, use of CC: Mail
`
`Remote or Mobile in a large organizational environment becomes impractical.
`
`Therefore it is desirable to have a method and an apparatus for sealing E-
`
`mail address book databases for devices with limited storage capacity by providing
`
`Page 4 of 94
`
`

`

`WO 97141520
`
`PCT/US97/047l9
`
`-3-
`
`and to provide an efficient method for keeping the personal address books
`synchronized with a main database.
`
`mm
`
`A method and an apparatus for sealing E-mail (electronic mail) address
`book databases for devices with limited storage capacity and synchronization of a
`first set of mail with a second set of mail at the message/folder level. A memory
`contains a mail subsetter for automatically generating a default personal address
`book and a mail synchronizer for application independent E-mail synchronization.
`A pseudo unique identification is generated for each message or folder in the mail
`boxes to be synchronized. An event log is then generated for each mail box. The
`memory also has a Synchronization mechanism for making the first set of data and
`the second set of data equivalent by using the information in the Change List
`generated by the Change Detection Mechanism. A processor runs the mail
`synchronizer.
`
`illustrated in Figure 2a.
`
`BRIEF DESSEBIEIIQN 52E lflfi; QBAWIMQS
`
`Figure la illustrates the architecture of the present invention.
`Figure lb illustrates an exemplary system block diagram with an
`implementation of the present invention.
`
`Figure 1c illustrates an exemplary system block diagram of the present
`invention.
`
`Figure ld illustrates an exemplary personal address book.
`Figure 1e illustrates the general steps followed in an exemplary installation
`procedure installing the present invention's client device address book (DAB).
`Figure 2a illustrates an exemplary block diagram of the mail synchronizer
`of the present invention.
`
`Figure 2b illustrates a block diagram of the identification (ID) generator
`
`Page 5 of 94
`
`

`

`Figure 2c is a block diagram of event log generator 334 illustrated in
`
`Figure 2a.
`
`Figure 2d is an exemplary block diagram of the synch mechanism of the
`
`present invention.
`
`Figure 3a illustrates the general steps followed by the creation mechanism
`
`(creator) 122 illustrated in Figure 1c.
`
`Figure 3b illustrates general steps followed in obtaining user settings (step
`
`301 of flow diagram in Figure 3a).
`
`Figure 3c illustrates the general steps followed including a personal
`
`address book (PAB) (step 302 illustrated in flow diagram Figure 3a).
`
`Figure 3d describes the general steps followed in processing the message
`
`(step 338 in Figure 3e).
`Figure 3e describes the general steps by which an address is processed
`
`(step 346 of flow diagram illustrated in Figure 3d).
`Figure 3f illustrates the general steps followed including a device address
`
`book image (DABI) (step 303 of flow diagram illustrated in Figure 3a).
`
`Figure 3g illustrates general steps in creating a DAB (step 304 of flow
`
`diagram of Figure 3a).
`Figure 3h describes the general steps followed by the update mechanism
`
`(updater 123 illustrated in Figure 1c) of the present invention.
`Figure 3i illustrates the general steps followed in processing changes in the
`
`mailbox (step 372 of Figure 3h).
`Figure 33' illustrates the general steps followed in synchronizing PAB with
`
`the data source (step 373 of Figure 3h).
`
`Figure 3k illustrates the general steps followed by the address
`
`synchronizer.
`
`Figure 4a illustrates an exemplary source ID table 410.
`
`Figure 4b illustrates an exemplary change list 420 for DAB 132.
`
`W0 97/4152!)
`
`PCTIUS97/047l9
`
`.4-
`
`for DABI illustrated in Figure 4c.
`
`Figure 40 illustrates an exemplary change list for DABI 130.
`Figure 4d illustrates an exemplary merged list created by merging and
`sorting by time the change list for DAB illustrated in Figure 4b and the change list
`
`Page 6 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/04719
`
`-5-
`
`present invention.
`
`Figures 9a - 9e, and 10a and 10b are flow charts describing the general
`steps followed by a Synchronization mechanism.
`Figures 11a - llc are flow charts describing the general steps followed by
`a Change Existing Data mechanism.
`
`Figure 5a is a block diagram illustrating an exemplary synchronization
`apparatus of the present invention.
`
`Figure 5b is a flow diagram illustrating the general steps followed by the
`apparatus illustrated in Figure 5a.
`
`Figure 5c illustrates exemplary data structures for exemplary Change Lists
`CLO and CLl.
`
`Figures 5d - 5f are alternate embodiments of a system block diagram
`illustrating the mail synchronization method and apparatus of the present
`invention.
`
`Figures 5g and 5h are state transition diagrams illustrating how a change
`log is truncated to result in exactly one change flag marked for each record.
`Figure 6a illustrates the general steps followed by the mail synchronizer of
`the present invention.
`
`Figure 6b describes the general steps followed by the present invention in
`generating a pseudo unique ID for each mail in a mail box to be synchronized with
`another mail box.
`
`Figure 6c describes the general steps followed by the present invention in
`generating an event log for a mail.
`
`Figures 6d and 6e illustrate the general steps followed by the present
`invention in generating an event log for folders.
`Figure 7a is a flow chart describing the general steps followed by a SUID
`mechanism.
`
`Figures 7b and 7c are flow charts describing the general steps followed by
`a Change Detection mechanism.
`
`Figure 7d illustrates an exemplary data structure modified by the steps
`described in Figure 7b.
`
`Figures 8a - 8d are flow charts describing the general steps followed by an
`Error Correction mechanism.
`
`Figure 12 is a table illustrating the mail synchronization method of the
`
`Page 7 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/04719
`
`-6-
`
`Figure 13 is a table illustrating exemplary mail synchronization scenarios
`
`where there are messages/folders with the same Key Field values.
`
`an application used to access mail through MAPI (Mail Application Program
`
`Figure 1a is an exemplary system block diagram illustrating the method
`and apparatus of the present invention. The present invention stores a subset of a
`given large address book (also referred herein as a master address book) locally on
`a SmartPhone or any other client device such as a PDA (Personal Digital Assistant)
`
`W
`
`The present invention provides a method and an apparatus for a storage
`
`efficient mechanism such that users can address Email off-line on their
`
`SmartPhones or Personal Digital Assistant’s (PDA’s), without devoting a large
`
`amount of storage space for a database or having to frequently consult a remote
`
`database for extra E~mail related information such as by looking up E-mail
`
`addresses on a network server. The method and the apparatus of the present
`
`invention involves automatically generating, storing and maintaining a subset of a
`
`large address book containing E-mail addresses locally on a client device with
`limited storage space such as a SmartPhone. The advantage of storing the E-mail
`
`addresses locally on the client device is that users can address and compose E-mail
`
`off-line. This reduces connection time and cost required to send messages.
`
`Periodically, the data in the personal address book is synchronized with data in a
`
`master address book. The present invention therefore provides an easy-rouse
`
`method for generating a default personal address book automatically and an
`
`efficient method for keeping a personal address book synchronized with a master
`database.
`
`to decrease connection time and enhance responsiveness to E-mail address
`
`requests.
`
`E-mail agent 100 runs continuously on a user's PC (personal computer) or
`
`network server 102, periodically checking for new messages. Additionally, E-
`mail agent 100 takes appropriate actions such as to notify the user if a message is
`
`urgent. E-mail agent 100 is coupled to MAPI (Messaging Application
`Programming Interface) 105 which is a standard API (Application Programming
`Interface) for transferring and manipulating mail messages, MS Mail 101 which is
`
`Page 8 of 94
`
`

`

`WO 97/41520
`
`PCT/0897104719
`
`-7-
`
`Interface), VIM (Vendor Independent Messaging) 109 which is also a standard
`
`API for transferring and manipulating mail messages and cc: Mail 103 which is an
`application based on VIM for accessing mail. The system is designed so that other
`mail API’s and applications can be supported.
`
`E-mail client application 104 runs on client device 106 such as a
`
`SmartPhone and allows a user to compose messages, access his or her network E-
`mails and to manage message folders. Periodically, E—mail client application 104
`and Email agent 100 connect through a telephone call (or through serial cable,
`LAN, etc.) to synchronize their states.
`
`Additionally, host device 102 also has DABI (Device Address Book Image) 130
`
`Figure lb illustrates an exemplary system block diagram of the present
`invention. Computer 102 has memory 1 14 coupled to CPU 116. Memory 114
`has mail synchronization 112 and various other elements 110 (also referred herein
`as subsetter 110) for subsetting a large E-mail address book to generate a smaller
`Email address book for client device 106. Further, computer 102 may have
`various peripheral devices 118 such as a keyboard and/or a display device.
`Computer 102 is also coupled to client device 118 as was illustrated in Figure 1a.
`Figure 1c illustrates various components of the present invention residing
`on host device 102 and client device 106 respectively. Host device (desktop or
`server) 102 has PIM (Personal Information Manager) 120 which stores contact
`names and numbers (i.e. addressing information). Host PC 102 also has creator
`122 for initial creation of personal address book (PAB) 128, updator 123 for
`maintaining changes to PAB 128 based on new messages and changes in the
`network databases, mailbox 124 for storing all received and sent mail messages
`and MAB (master address book) 126 for storing E-mail directory information.
`MAB 126 may be a corporate address book if a user is on a LAN (local area
`network) or may be a personal “master address book” of a user if the user is at a
`stand alone PC. PAB (Personal Address Book) 128 in host device 102 is for
`storing addresses, names, numbers, etc., (i.e. addressing information). PAB 128
`may be periodically updated for changes to its address entries. Source ID
`(identification) table 127 is a list of sources from which data for PAB 128 may be
`obtained. Sources of data for PAB 128 may be by user manual entry, from MAB
`126, from PIM 120, etc. Each source is given a unique identifying number.
`
`Page 9 of 94
`
`

`

`WO 97/41520
`
`PCTlUS97/04719
`
`-8-
`
`which may be stored in PAB 128 and is equivalent to the size of the limited storage
`
`area of DAB (Device Address Book) 132 of client device 106.
`
`More specifically, DABI 130 of host device 102 is a mirror image of DAB
`
`132 of client device 106. In one embodiment of the present invention, DABI 130
`
`is part of PAB 128 (ie. a subset of PAB 128).
`
`ln this embodiment, whenever
`
`PAB 128 is updated, DABI 130 is automatically updated as well.
`
`In another
`
`embodiment of the present invention, DABI 130 may be separate from PAB 128.
`
`In this alternate embodiment, DABI 130 may be updated according to the changes
`
`made to PAB 128. In both embodiments, whenever DABI 130 of host device 102
`
`is updated, DABI 130 of host device 102 and DAB 132 of client device 106 are
`
`synchronized with each other using address synchronizer 121. During
`
`synchronization, if an address in DAB 132 of host device 102 is no longer in
`
`DABI 130 of client device 106, then the corresponding entry in DAB 132 is
`
`deleted. Otherwise, if an address in DAB 132 of host device 102 is in DABI 130
`
`of client device 106, then the entire corresponding entry in DAB 132 is replaced
`
`with the corresponding updated entry in DABI 130.
`
`Client device 106 may be various remote client devices such as a
`
`SmartPhone, a PDA or a notebook PC. Both host PC 102 and client device 106
`
`have an application (e. g. E-mail systems), appO 134 and app] 136 respectively,
`
`for which the subsetting and the synchronization of the address books are being
`
`137 which identifies what the source of the contents of field 135 is.
`
`ranking score 139. The illustrated exemplary fields 135 are E-mail address field,
`
`performed.
`
`PIM 120, Mailbox 124 and MAB 126 may reside on network server 127
`
`instead of on host PC 102. More specifically, modules illustrated in host PC 102
`
`may exist locally (on host PC 102) or remotely (on network server 127) and it is
`
`assumed that a network will take care of remote access if needed (i.e. for
`
`Mounting Network Volumes, RemOte Procedure Calls, etc.) Such network
`
`implementation may be understood by a person skilled in the art given the detailed
`
`description of the present invention illustrated herein.
`
`Figure 1d illustrates an exemplary PAB 128 of the present invention. Each
`
`address entry 133 has various fields 135, source DDS 137 and address entry
`
`name field and home phone field. Each field 135 has a corresponding source ID
`
`Page 10 of 94
`
`

`

`.9-
`
`DABI 130 of host device 102 and DAB 132 of client device 132 are
`
`subsets of PAB 128 and are formatted similar to PAB 128 with various fields 135
`associated with selected address entries 133.
`
`Since client device 106 such as SmartPhones have limited storage that may
`not be able to store the entire PAB 128, two capabilities are used to resolve this
`problem. First, only selected fields 135 of the additional information for address
`entries 135 are copied to DAB 132 of client device 106 from PAB 128 (i.e. DABI
`130), minimizing the memory used by each address entry 133. Second, PAB 128
`
`WO 97/41520
`
`PCT/USQ7/047l9
`
`With the present invention, it is assumed that a user of client and host
`device 106 and 102 is likely to want to communicate with those users with whom
`he or she has communicated with in the past. As part of installation module 131
`for installing a client device E-mail host device connection (described in Figure 1e
`and the accompanying description), all the E—mail messages in a given user's E—
`mail folders and archives are scanned and a list of E-mail addresses including
`mailing list names which are all the cohorts the user has corresponded with are
`compiled. The list also includes all the recipients copied on the messages.
`The names and mailing lists of cohorts communicated with are then used to
`match against the names in MAB 126 of a E—mail system such as CC: Mail 103 or
`MS Mail 101. The matching address entries are then automatically pulled out to
`form PAB 128. Each matching address entry 133 in PAB 128 contains the same
`information as the corresponding MAB 126 entry, such as phone numbers, mail
`stops, etc. Additional information may also be retrieved from other applications
`(i.e. sources) which include address books, such as external contact databases or
`personal information managers (PlMs) 120. For non-matching entries' (cohorts
`that are not in MAB 126) additional information such as phone number, mail stop,
`etc. for fields 135, may be retrieved from other sources (e.g. a contact database or
`PIM 120). The user may also be prompted to manually add additional information
`that was not included in MAB 126, the contact database, or PIM 120.
`Further, a user may optionally edit, add or delete address entries 133 from
`PAB 128 The user can also optionally specify PIM 120 to be used to import
`additional contact information for the records in MAB 126. PIM 120 is also used
`if there is no data in the corporate address book.
`
`is maintained as a ranked list according to address ranking score 139, and only the
`
`Page 11 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/047l9
`
`-10-
`
`In step 151, a user’s E-mail folders are scanned to find all the cohorts
`
`updates to PAB 128 may be performed when the user is not using his or her PC
`102.
`
`highest ranked entries (most likely used) are copied into DAB 132 of client device
`106.
`
`To keep PAB 128 synchronized automatically, the present invention stores
`
`a duplicate of the user's PAB 128 on his or her PC 102 or network server 127.
`
`When a new E-mail is received, the present invention automatically checks if the
`
`sender and other users copied on the message are in the compiled PAB 128. If so,
`
`the present invention updates the priority listing by updating address ranking score
`
`139. If not, the addresses are added to PAB 128 in the same manner as described
`
`above. Periodically, such as once a day, the present invention checks the PC copy
`
`of the user's PAB 128 against MAB 126.
`
`Any entries including mailing lists which have been deleted from the
`
`network database (e. g. when a given user is no longer with the company) are
`
`deleted from the user's PAB 128. Any entries which have been changed such as
`
`when a user has a new phone number are updated. Likewise, changes in fields
`
`from contact databases or PIM’s are also deleted and updated. The changes to the
`
`PAB are queued on PC 102 and periodically transmitted to client device 106 for
`
`updates. Since it is very time consuming to periodically check the PC copy of the
`
`user‘s PAB 128 against MAB 126 and to perform the deletion and updates,
`
`Additionally, a user may manually add additional information (i.e. contents
`
`of fields 135 of PAB 128) when new entries are added to PAB 128. Since the
`
`update is being performed as a background task (possibly on the server), the
`
`manually added fields 135 are left blank and a queue of address entries 133
`
`needing information is kept so the user can later be notified and add the fields 135.
`
`Occasionally, a user may need to address a person not in his or her PAB
`
`128. In this case the user is given two options. The first option is to have E—mail
`
`client application 104 dial—up to connect to E—mail agent 100 and browse the entries
`
`stored in PAB 128, MAB 126, or PlM 120. The second option is to allow the
`
`user to manually type and use an address without searching any address books.
`
`The latter option is useful for new contacts that would not be in an address book.
`
`Figure 1e illustrates the general steps followed in an exemplary installation
`
`procedure in stalling the present invention's client device E mail host device
`
`connection.
`
`Page 12 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/047l9
`
`-11-
`
`that have been communicated with. Each cohort is added to PAB 128 with a
`
`numeric score reflecting how the address was used (i.e. author of received
`
`message, destination of sent message, copied on sent message, etc). If the cohort
`
`was already in the list, then the score is increased. The result is a ranked list of all
`
`cohorts communicated with in the form of address ranking score 139.
`
`In step 152, MAB 126 is scanned. For illustration purposes, it is assumed
`
`that MAB 126 is a corporate E-mail directory. As entries are found that match the
`
`PAB 128 may be selected. Installation module 131 then computes how many
`
`information contained in that field (MAB 126, PIM, Database, Manual Entry,
`etc). The identifier is used later for synchronization of changes back to the source
`as will be described later. After scanning all known sources of additional
`
`cohorts’ addresses, additional information in the corporate E-mail directory is
`copied to PAB 128. For example, the full name of the address is copied, along
`with the employee ID, mail stop, department, and phone number. For those
`
`address entries not found in the corporate E—mail directory (for example, off-site
`E-mail cohorts and recent new hires), no additional information is added during
`this stage of the installation procedure.
`
`In step 153, the user is given the option to include additional information
`
`that was not included in the corporate E-mail directory. If this option is selected,
`
`then the user is prompted for PIM 120, contact database, or manual entry as the
`source (or sources) of this additional information. Installation module 131 scans
`
`the known sources for the cohorts communicated with. For example, a user may
`select to find additional information from a PIM such as ECCO from NetManage
`or from manual entry if empty fields are found.
`
`The additional fields selected in ECCO contain home phone numbers,
`
`cellular phone numbers and mail addresses. As entries are found in the ECCO
`
`database, they are also copied into PAB 128. Along with each file stored in PAB
`
`128, there is a corresponding identifier 137 that indicates the source of the
`
`information, there may still be empty fields. The user can optionally enter this
`information manually.
`
`In step 154, installation module 131 copies a portion of PAB 128 (i.e.
`
`DABI 130) to client device 106. The result is DAB 132. First the user selects
`
`which fields of the PAB 128 should be included in DAB 132. For example, only
`the full name, work number, cellular number and home phone number fields of
`
`Page 13 of 94
`
`

`

`WO 97/41520
`
`PCT/[1897104719
`
`-12-
`
`entries can be copied onto DAB 132 of client device 106 and copies only these
`
`entries starting with the highest ranking entry.
`
`Figures 2a through 2d, and 5 through 13 illustrate an exemplary method
`
`and apparatus for data synchronization which may be adapted for use in the
`
`present invention’s address synchronization process. Given the detailed
`
`description disclosed herein, such implementation of the address synchronization
`
`process of the present invention may be readily understood by a person skilled in
`the art.
`
`Figure 2a is a block diagram illustrating a mail synchronizer. Mail
`
`synchronizer 112 synchronizes changes made independently on an e-mail system
`
`on two separate computers or two different e-mail systems on the same computer.
`
`Pseudo unique ID (identification) generator 200 generates a pseudo unique ID for
`
`each mail or folder in a mail box for an e—mail system. Event log generator 202
`
`generates an event log by generating events for each ID (i.e. for each mail or
`
`folder). Synch mechanism 204 synchronizes the mail boxes using the generated
`
`event logs.
`
`creates performed by Change Detection mechanism 230. Error conditions
`
`given a mail or a folder. LD creator 208 generates an ID for each mail or folder in a
`mail box.
`
`Figure 2b illustrates a block diagram of the ID generator illustrated in
`
`Figure 2a. ID generator 200 has unique attribute selector 206 and 1D creator 208.
`
`Unique attribute selector 206 selects an attribute that is most likely to be unique
`
`Figure 2c is a block diagram of the event log generator illustrated in Figure
`
`2a. Event log generator 202 has mail event log generator 210 and folder event log
`
`generator 212. Mail event log generator 210 generates an event for the event log
`
`for each mail in mail boxes to be synchronized. Folder event log generator 212
`
`generates an event for the event log for each folder in the mail boxes to be
`
`synchronized.
`
`Figure 2d is a block diagram of the synch mechanism of the present
`
`invention illustrated in Figure 2a. Synch mechanism 204 has sub-parts, Change
`
`Detection mechanism 230, Error Detection mechanism 234, Change Existing Data
`
`mechanism 238 and Synchronization mechanism 236. Change Detection
`
`mechanism 230 detects the changes which have occurred to a given mail box since
`
`the last synchronization. Error Detection 234 identifies incorrect updates and
`
`Page 14 of 94
`
`

`

`WO 97/41520
`
`PCT/US97/D47l9
`
`-13-
`
`In step 301, user setting according to the
`(creator) 122 illustrated in Figure 1c.
`general steps followed in Figure 3b is obtained. (For a detailed description of the
`steps followed, turn to Figure 3b and the accompanying description).
`In step 302,
`PAB (Personal Address Book) 128 is created following the general steps
`illustrated and described in Figure 3c.
`In step 303, DABI (Device Address Book
`
`“BCC” (blind carbon copied) address on an authored message, the “AUTHOR”
`
`triggering Error Detection 234 include when a record's Key Attribute has changed
`
`in MBO’ and/or when more than one message/folder is sharing the same Key
`
`Attribute values (an example of a non-unique identifier case is described in more
`
`detail below). Synchronization mechanism 236, performs the synchronization of
`
`data sets, given information regarding the mail boxes produced by Change
`Detection mechanism 230. Change Existing Data 238 modifies existing data to
`
`make the mail boxes equivalent.
`
`Figure 3a illustrates the general steps followed by the creation mechanism
`
`Image) 130 is created following the general steps illustrated in Figure 3f. In step
`304, DAB (Device Address Book) 132 is created following the general steps
`illustrated and described in Figure 3g.
`
`Figure 3b illustrates the general steps followed in obtaining user settings
`(step 301 of flow diagram in Figure 3a).
`In step 321, additional information
`
`sources are selected. The sources may include, but are not limited to, personal
`information managers, contact databases, or manual entry.
`In step 322, the user
`specifies what data fields are to be included in the device address book. The data
`
`fields are hereinafter referred to as “Additional Information” as they are in addition
`to the required E-mail address field. A sample of what additional fields the user
`
`may select includes, but are not limited to, full name, work address, home
`
`address, work phone numbers, home phone number, cellular number, pager
`number, employee identification, birthday mail stop fields.
`
`In step 323, the ranking profile is selected. The ranking profile consists of
`the score to be given to each entry depending on how an entry was used. For
`example, a cohort that is copied on a message may have a score of one, while a
`
`cohort that is a destination may have a score of three. A sample list of scored
`characteristics in

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