throbber

`
`a2, United States Patent
`
`
`
`
`
`US 6,725,228 B1
`(10) Patent No.:
`
`
`
`
`
`
`
`
`(45) Date of Patent:
`Clark etal.
`Apr.20, 2004
`
`
`
`
`US006725228B1
`
`
`
`(76)
`
`
`
`(*) Notice:
`
`
`
`
`(56)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(54) SYSTEM FOR MANAGING AND
`6,167,402 A * 12/2000 Yeager wo. eeeees 707/10
`ORGANIZING STORED ELECTRONIC
`6,182,071 BL *
`1/2001 Fushimi oe 707/7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MESSAGES
`6,226,630 B1 *
`5/2001 Billmers sececcceceeneeaaeeneeees 707/3
`
`
`
`
`
`
`
`
`
`6,324,569 B1 * 11/2001 Ogilvie etal. ......
`707/500
`
`
`
`
`
`
`
`6,396,513 Bil *
`5/2002 Helfmanet al.
`............ 709/206
`Inventors: David Morley Clark, 920 Innes Street,
`
`
`
`
`
`
`6,424,995 Bl *
`7/2002 Shuman ....... 709/206
`:
`we
`
`
`
`
`
`
`
`
`
`
`Nelson, British Columbia V1L 5T2
`:
`
`
`
`
`
`
`
`6,449,615 Bl *
`9/2002 Liuetal. wo. 707/10
`(CA); Thomas Wilson Gibson, 230
`
`
`
`
`
`
`
`
`5 6,466,941 B1 * 10/2002 Roweetal. .., .
`
`
`
`
`
`
`
`
`ven379(CA.Dan one cee
`6,507,846 Bl *
`1/2003 Consens nn 707/100
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`;
`Davi
`itche
`
`
`Bracewell, 708 Third Street, Nelson,
`FOREIGN PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`
`British Columbia V1L 2R2 (CA); Jeff
`W099/04344
`1/1999
`
`
`
`
`
`Toy Tsao Kwan, 12 Arundel Avenue,
`
`
`
`
`
`OTHER PUBLICATIONS
`Toronto, Ontario M4K 3A4 (CA)
`
`
`
`
`Microsoft Internet Explorer 1995—2001.*
`Subject to any disclaimer, the term ofthis
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Dvorak, John C., Scarier Than Spam, Jan. 4, 1999, pp. 1-2.
`patent is extended or adjusted under 35
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`De La Cruzet al., Inside MAPI, ©1996, pp. 528-541 (Table
`US.C. 154(b) by 212 days.
`
`
`
`
`of Contents also included).
`
`
`
`
`
`
`MSDN Library—Apr. 1999, Messaging API (MAPI), Legal
`(21) Appl. No.: 09/704,199
`
`
`
`
`
`
`
`
`
`Information, Developing a Message Store Provider.
`Filed:
`Oct. 31, 2000
`22)
`
`
`
`
`
`* cited by examiner
`(22)
`File
`.

`
`
`
`
`
`
`
`;
`(SL) Unt. C0 eee ecccccccsecseeseeseeseereeseeseeneesees G06F 7/00
`;
`;
`
`
`(52) US. Che ceeccceeccssseessssssseesssssseeseeesseees 707/102; 707/7
`Primary Examiner—Kim Vu
`
`
`
`
`
`
`
`
`
`(58) Field of Search... 707/7, 200, 2,
`Assistant Examiner Monplaisir Hamilton .
`
`
`
`
`
`
`
`
`
`
`
`
`
`707/102
`(74) Attorney, Agent, or Firm—Oyen, Wiggs, Green &
`
`Mutala
`
`
`
`ABSTRACT
`(57)
`References Cited
`
`
`
`
`A computer-based system catalogs and retrieves electronic
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`messages saved in a message store. The system automati-
`4,611,280 A *
`9/1986 Linderman.............04 712/300
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cally organizes each saved message into multiple folders
`4,809,158 A *
`2/1989 McCauley ........
`we 7O7/7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`based on the contents and attributes of the message, and
`5,274,805 A * 12/1993 Ferguson et al.
`.............. 707/7
`
`
`
`
`
`
`
`
`
`
`implements improved methods for manually organizing
`5,377,354 A . 12/1994 Scannell et al.
`
`
`
`
`messages. Unlike prior art systems, where a messageexists
`5,440,734 A
`8/1995 Wagar .....ccccceeeecceeseeees 707/7
`
`
`
`
`
`
`
`
`
`
`
`
`th
`lichtweicht
`5,544,360 A
`8/1996 Lewaketal.
`.
`1
`folder.
`t!
`
`
`
`
`
`
`
`
`
`in only one folder,
`the system uses
`lightweight message
`5.548.780 A
`8/1996 Nakanura
`
`
`
`hortcuts to display
`the message in multiple folders simul-
`Tae.
`
`
`
`
`
`
`
`5,615,367 A *
`3/1997 Bennett et al. wee 707/102
`play
`=
`“ip

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,694,616 A * 12/1997 Johnson et al. vec... 709/207~—«‘taneously. The system preferably permits messages to be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,813,009 A *
`9/1998 Johnson et al.
`............. 707/100
`organized by: 1) basic message and attachmentproperties,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,899,995 A
`5/1999 Millier et al.
`e.g. date, status, attachment
`type; 2) extended message
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,948,058 A *
`9/1999 Kudohet al... 707/104.1
`properties that the user can specify, e.g. keywords; and 3)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,009,442 A
`12/1999 Chenetal.
`correspondent or bulk mail sender/recipient, with automatic
`
`
`
`
`
`
`
`
`
`
`6,029,164 A
`2/2000 Birrell etal.
`separation of bulk mail from correspondence. Performance
`
`
`
`
`6,057,841 A
`5/2000 Thurlow et al.
`and usability are improved by performing reads incremen-
`
`
`
`
`
`
`
`
`
`
`
`
`6,073,131 A *
`6/2000 Roberti .....ee 707/7
`and by
`providing multiple sorting keys
`tally
`
`
`
`
`
`
`6,073,142 A *
`6/2000 Geigeret al.
`..
`... 707/500
`y
`yP
`p
`Keys.
`8
`8
`
`
`
`
`
`
`
`
`6,088,696 A *
`7/2000 Moon et al. we. 707/10
`
`
`
`
`
`
`
`6,154,740 A * 11/2000 Shah oo. eeeeeeeeeee 7O7/7
`
`
`
`
`
`
`EP
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`34 Claims, 33 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`820 Not Status|Correspondent| BulkMail|Keyword|Date ear Search|User
`
`sa
`Ue
`«87
`wo
`
`
`
`
`
`
`
`Page 1 of 57
`
`LG/HUAWEI EXHIBIT1108
`
`60
`68
`64
`65
`66
`
`\\
`\
`\
`\
`x
`= [
`
`
`
`Edit View| Tools Help
`File
`\
`\
`
` Hot + [_Status_[ To [Name \_
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[Subject
`\
`Date
`
`
`
`
`
`
`
`
`
`
`—
`eae
`61 NIE
`
`
`(14) a _
`Active Mail
`ToDo (4)
`
`
`
`
`
`
`onvent
`
`
`
`Yesterday (6)
`
`
`
`
`
`
`From
`\
`This Week
`Elizabeth Green 2)|Subject
`
`
`
`Bob Baxter (1)
`
`
`
`
`
`
`
`
`Urekeno
`
`
`
`Xd5 Study <keyword>|_|——————
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 1 of 57
`
`LG/HUAWEI EXHIBIT 1108
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 1 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`FIG. 1A
`
`Page 2 of 57
`
`Page 2 of 57
`
`

`

`Apr. 20, 2004
`
`
`
`
`
`Sheet 2 of 33
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`US 6,725,228 B1
`
`
`FIG. 1B
`
`Page 3 of 57
`
`Page 3 of 57
`
`

`

`U.S. Patent
`
`
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`Sheet 3 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`
`
`User Interface Device
`
`
`
`
`Message Client
`
`
`
`
`
`Transport
`Server
`
`
`
`
`Events
`
`
`
`Requests
`
`
`
`
`Message Store
`
`Server(s)
`
`
`
`
`Incoming Events
`
`
`
`
`Catalog Server
`
`
`
`
`Outgoing Requests
`
`
`
`hal
`
`
`
`Store(s)
`
`
`
`
`
`
`Catalog
`
`database
`
`
`FIG. 2
`
`Page 4 of 57
`
`Page 4 of 57
`
`

`

`U.S. Patent
`
`
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`Sheet 4 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`
`Status
`
`|--- Received
`
`
`
`Correspondent
`
`|--- Tom Gibson
`
`
`
`
`
`
`Date
`
`
`|--- Today
`
`
`|--- This Week
`|--- This Month
`
`
`
`
`
`
`
`Attachment
`
`
`|--- All Attachments
`
`
`|--- DOC
`
`
`
`Status
`
`
`
`|--- Unread
`
`
`|--- Active Mail
`
`
`
`
`
`
`Keywords
`
`
`|--- Marketing
`
`
`|--- White Paper
`
`
`
`
`
`
`
`
`Transport Header
`
`
`ReceiveDate: Today 10:10:05
`
`
`Direction: Received
`
`
`
`Envelope
`
`
`
`From: Tom Gibson
`
`
`
`To: David Clark
`
`
`Cc: David Bracewell
`
`
`
`
`
`Contents
`
`
`
`
`Subject: White paper
`
`
`
`
`Here is the white paper
`Body:
`
`
`
`for your review.
`
`
`
`
`
`Attachment: White Paper.doc
`
`
`
`
`
`
`
`tatus & Organizationa
`
`Information
`
`Status: IsUnread
`
`IsActive
`
`
`
`
`
`Keywords: Marketing
`
`White Paper
`
`
`
`
`FIG. 3
`
`Page 5 of 57
`
`Page 5 of 57
`
`

`

`U.S. Patent
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 5 of 33
`
`
`
`
`US 6,725,228 B1
`
`Catalog
`Server
`
`Message
`Store
`
`Server(s)
`
`User
`
`Interface
`Device
`
`
`
`
`Message
`Client
`
`
`
`
`
`
`
`
`Catalog
`database
`
`
`Message
`Store(s)
`
`CLIENT COMPUTER
`
`
`
`
`
`
`
`
`Catalog
`database
`User
`
`Message
`Interface
`
`
`
`Client
`.
`—7
`Device
`
`
`
`
`
`Message
`
`Store(s)
`
`
`
`
`
`
`
`FIG. 4B
`
`
`SERVER COMPUTER
`
`
`
`
`
`
`
`
`
`CLIENT COMPUTER 40B
`
`
`
`User
`Interface
`
`Device
`
`
`
`Message
`Client
`
`—_
`Catalog
`database
`
`Message
`Store
`
`Server(s)
`
`
`
`
`
`——_
`
`
`Message
`
`Store(s)
`
`CLIENT COMPUTER
`
`
`
`
`
`SERVER COMPUTER
`
`
`
`Page 6 of 57
`
`Page 6 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 6 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`28
`
`Address
`AddressId
`
`FolderId
`
`
`
`heerid
`ttac
`
`
`J Folderld
`
`
`
`WV
`
`
`
`StoreLink
`
`StoreLinkld
`
`Storeld (F
`
`
`MessageSummary
`Messageld
`vn
`<| StoreLinkld (FK
`StoreMessageld (FK
`
`4 Messageld
`Atta
`StoreAttachId (FK)
`
`
`Message Store
`
`
`
`Catalog Shortcut
`
`Attachment
`
`
`
`a StoreAttachId
`
`<attachment data>
`
`
`
`ia 35
`
`
`
`
`Message
`
`StoreMessageld
`
`
`
`
`
`
`
`FIG. 5A
`
`Page 7 of 57
`
`Page 7 of 57
`
`

`

`U.S. Patent
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 7 of 33
`
`
`US 6,725,228 B1
`
`
`
`50
`
`
`
`
`
`
`
`Catalog / Message Store
`
`
`
`Address
`
`
`
`
`
`
`Folder {>
`FolderId
`
`Shortcut
`
`
`Messageld
`
`
`1 AttachId
`<< Folderid
`
`
`
`<attachment data>
`
`MessageSummary
`
`Messageld
`
`
`
`
`
`
`
`
`
`
`
`Messageld
`
`
`
`
`
`Attachment
`Messageld
`AttachId
`
`[— 35
`
`
`
`
`
`
`
`
`FIG. 5B
`
`Page 8 of 57
`
`Page 8 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 8 of 33
`
`
`US 6,725,228 B1
`
`
`
`60
`
`
`
`
`
`
`64
`
`
`
`65
`
`
`
`66
`
`
`
`
`;—{—_|—__+
`lh——
`
`
`
`
`
`
`
`61
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`61A
`
`
`
`(14)
`
`
`Active Mail
`
`To Do (4)
`
`Unread (18)
`
`
`Today (12)
`
`Yesterday (6)
`
`
`
`
`
`
`
`
`
`
`
`ThisWeek jeElizabeth Green (2) je
`
`
`
`
`
`
`
`Bob Baxter (1)
`i
`iEES
`Forrester Research
`
`
`
`
`PDA <saved search>
`
`
`
`
`
`
`Ul <keyword>
`
`
`
`
`X45 Study <keyword>
`
`
` 62C
`
`
`
`
`
`
`
`
`ar[satus|Gaeopandent|BakWalKeyword[Date[Atachmen|Search|User
`
`
`ee15 msgs of 100
` 69
`
`
`
`62
`
`
`
`
`FIG. 6
`
`Page 9 of 57
`
`Page 9 of 57
`
`

`

`U.S. Patent
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 9 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`THIRD LAYER- Correspondence and Bulk Mail Organization
`
`
`
`
`
`Separate Correspondence from Bulk Mail
`
`
`
`Automatic organization of Correspondence
`
`
`
`
`
`Bulk Mail organization by senderor recipient
`
`
`
`
`
`
`Manage Correspondent and Bulk Mail folders
`
`
`
`
`
`
`
`
`
`
`
`
`SECONDLAYER- Applications of Lightweight Message Shortcuts
`
`
`
`Automatic organization by Status
`
`
`
`Automatic organization by Date
`
`
`
`Automatic organization by Attachment
`
`
`
`
`
`Automatic organization by user assigned Keyword
`
`
`
`
`
`Improved manual organization in user created folders
`
`
`
`Improvedfiltering mechanisms
`
`
`
`Improved handling of search results
`
`
`
`
`
`
`
`Incremental read of Folder contents
`
`
`
`
`
`
`BASE LAYER- Base Services
`
`
`Catalog database
`
`
`
`
`Unified view of multiple Message Stores
`
`
`
`
`
`Catalog Server Requests and Events
`
`
`
`Lightweight message shortcuts
`Timed Shortcuts
`
`
`
`
`
`User created Shortcuts
`
`
`
`User excluded Shortcuts
`
`
`
`
`
`
`
`
`
`
`FIG. 7
`
`Page 10 of 57
`
`Page 10 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 10 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`57
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`56
`
`
`Folder
`
`
`Shortcut
`
`
`
`
`Folderld
`
`
`
`Messageld
`
`
`AlternateKey1
`ParentFolderld
`AlternateKey1
`AttachId
`
`
`
`
`
`
`
`= ParentFolderlId_|FolderName FolderId = Folderld
`
`
`
`
`
`
`
`
`FolderType
`SortKey
`+ SortKey
`
`
`
`
`
`
`
`
`
`
`
`AlternateKey2
`IsHot
`<1 SortColumn
`
`
`
`
`
`
`
`= ParentFolderld
`FolderDateTime
`SJ sortDirection
`AlternateKey2
`
`FolderSortColumn
`Irectio
`Ore
`
`
`FolderSortDirection
`+ FolderName
`TriggerAction
`= TriggerDateTime
`
`
`
`
`
`
`
`ShovtcutCount
`TriggerDateTime
`(uppercase)
`
`
`
`
`
`AlternateKey3 Caer Count
`Tecorneep
`
`
`
`
`
`
`
`
`
`
`orrespShortcutCoun
`UnreadCorrespCount
`IsUsershortcut
`
`
`
`
`= IsHot
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 8
`
`Page 11 of 57
`
`
`
`
`
`
`
`
`33
`
`
`
`
`
`
`
`
`
`
`
`
`
`MessageSummary
`
`
`Messageld
`AttachSummary
`
`
`
`
`Messageld
`FolderExcludeList
`
`_- AttachId
`IsUnread
`
`
`
`
`
`
`AttachType
`IsCorresp
`
`
`AttachName
`MessageDateTime
`
`
`
`
`
`DisplayNames
`AttachSize
`
`
`
`Subject
`
`
`
`Page 11 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 11 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`4
`
`
`
`Message Store Server
`
`79
`
`Catalog Server
`
`
`
`
`Incoming Events
`
`
`
`7
`
`MessageClient
`
`
`
`
`Incoming Requests
`
`
`
`
`@———MessageAdded
`AddFolder-—————_e
`
`
`@———MessageChanged
`ChangeFolder———_
`
`
`e———_MessageDeleted
`
`
`ReadFolderSubtree———e
`
`
`
`
`
`
`
`
`
`ReadHotFolders————_e
`
`ReadFolderContents-——e
`
`
`
`
`
`
`
`DeleteShortcut-——_e
`
`DeleteFolderShortcuts———e
`
`
`
`
`ReadMessageSummary——®
`
`ReadAttachSummary———@
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Qutgoing Events
`
`
`
`FolderAdded ————_
`
`
`
`FolderHotChanged———_}>
`
`
`ShortcutAdded ———_>
`
`ShortcutDeleted-———_>
`
`ShortcutSortKeyChanged—>
`
`
`FolderChanged————_>
`
`FolderDeleted——_»
`
`SummaryChanged -———}>
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Qutgoing Requests
`
`<+———ReadMessage
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 9
`
`Page 12 of 57
`
`Page 12 of 57
`
`

`

`U.S. Patent
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 12 of 33
`
`
`US 6,725,228 B1
`
`
`
`ShortcutEntry
`
`
`
`Memory structures
`
`
`
`
`
`
`
`
`
`
`
`
`Shortcut
`
`
`
`ShortcutAction
`100 \
`
`
`
`ShortcutArray
`Excluded
`
`
`OldShortcut
`
`
`
`[ AttachSummary ]
`
`
`
`FIG. 10A
`
`Process each ShortcutEntry as shownin FIG. 11A.
`
`
`
`
`
`Input Parameters
`
`= MessageSummary
`
`
`
`
`
`
`
`
`
`
`Read ail Shortcuts for Message. Save each Shortcut as an OldShortcut
`
`
`
`
`
`object in ShortcutArray with ShortcutAction of saDelete.
`
`
`
`
`
`
`
`
`
`Execute Second Layer 2 Automatic Organization Rules
`
`
`
`
`
`(which use "AddChangeShortcut" to create Shortcuts)
`
`
`
`
`
`
`Execute Second Layer Filter Rules
`
`
`
`
`(which use "AddChangeShortcut" to create Shortcuts)
`
`
`
`
`
`
`
`
`
`
`
`Execute Third Layer Correspondent and Bulk Mail Rules
`
`
`
`
`
`(which use "AddChangeShortcut" to create Shortcuts)
`
`
`
`
`
`
`For each element in FolderExcludeList, do "ValidateFolderListElement”.
`
`
`
`
`
`
`
`
`
`If valid element, set Excluded flag in matching ShortcutEntry to True.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 10B
`
`
`
`Page 13 of 57
`
`Page 13 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 13 of 33
`
`
`US 6,725,228 B1
`
`
`
`AddChangeShortcut
`
`
`
`
`
`
`
`
`Input Parameters
`
`
`= Messageld
`
`
`+ AttachId
`+ Folderld
`
`
`
`
`+ TriggerAction
`
`+ TriggerDateTime
`+ IsUserShortcut
`
`
`
`
`
`
`
`
`
`Search ShortcutArray for
`matching Shortcut or
`
`
`
`
`OldShortcut (using
`
`
`Messageld + AttachId +
`
`
`
`FolderId as search key)
`
`
`
`Add ShortcutEntry to
`
`
`ShortcutArray. Set
`
`ShortcutAction to saAdd.
`
`
`
`Build Shortcut object in ShortcutEntry,
`using info from Input Parameters.
`
`No
`
`Set ShortcutAction
`
`
`ValidateFolderListElemen
`
`
`
`
`
`
`FIG. 10C
`
`
`
`
`
`
`Read Folder from Catalog
`database
`
`
`
`
`to saKeep.
`FolderExcludeList
`
`
`
`If FolderDateTime in element
`
`
`
`doesn't match value in
`
`
`
`Folder, delete element from
`
`
`
`
`
`
`
`FIG. 10D
`
`
`
`Page 14 of 57
`
`Page 14 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 14 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`110
`
`
`
`
`
`Input Parameters
`
`
`
`= ShortcutEntry
`
`111
`
`
`
`
`
`Read Folder from Catalog
`
`database
`
`
` DeleteShortcut
`
`
`
`
`
`
`
`
`
`
`
`
`With OldShortcut, do
`
`
`
`“DecrementFolderCounts"
`
`
`
`Ore 11B)
`saDelete
`
`
`
`
`« Delete Shortcut from
`
`
`
`
`
`IsUser
`
`
`Catalog database
`Shortcut?"
`
`
`
`
`
`
`¢« Generate ShortcutDeleted
`
`Event
`
`
`
`
`
`*
`Do "UpdateFolder" (FIG.
`
`
`
`
`Yes
`
`
`Yes
`118)
`
`
`sakeep
`
`Yes
`
`No
`
`112
`”
`
`B hiteatia
`
`
`
`
`
`
`No
`
`113
`
`UpdateShortcut
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Do "BuildShortcut" (FIG. 11B)
`
`
`
`
`If Shortcut is same as OldShortcut, then
`Exit
`
`
`
`
`With OldShortcut, do
`"DecrementFolderCounts" (FIG. 11B)
`
`
`
`Ad De
`
`
`With Shortcut, do "IncrementFolderCounts"
`
`
`
`118)With Shortcut,
`(FIG. 11B)
`
`
`PeeanoeaidesCounts"
`Update Shortcut in Catalog database
`
`
`
`
`
`
`
`(FIG. 11B)
`If the SortKey has changed, generate a
`
`
`
`
`
`ShortcutSortKeyChanged Event
`*
`Add Shortcut to Catalog
`Do "UpdateFolder" (FIG. 11B)
`
`
`
`
`
`
`
`database
`
`
`
`
`
`
`* Generate ShortcutAdded
`Event
`
`
`
`
`Do "UpdateFolder” (FIG.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`115
`
`
`
`
`
`
`
`
`
`Set ShortcutTimer as shown in FIG. 13
`
`
`FIG. 11A
`
`
`
`Page 15 of 57
`
`Page 15 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 15 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`BuildShortcut
`
`
`
`
`
`Finish building the Shortcut object in ShortcutEntry:
`
`
`
`
`
`-- Build SortKey is shown in FIG. 12
`
`
`
`
`
`
`
`-~ Set SortKey and SortColumn (from Folder)
`
`
`
`
`
`
`
`-- Set IsUnread and IsCorresp (from MessageSummary)
`
`
`
`
`
`
`
`IncrementFolderCounts
`
`
`
`¢«
`Increment ShortcutCount
`
`
`
`
`
`
`If Shortcut.IsUnread, increment UnreadCount

`
`
`
`
`If Shortcut.IsCorresp, increment CorrespShortcutCount

`
`
`
`
`
`

`
`
`
`If Shortcut.IsCorresp AND IsUnread, increment UnreadCorrespCount
`
`
`
`
`
`
`
`DecrementFolderCounts
`
`
`Decrement ShortcutCount
`
`
`
`
`If Shortcut.IsUnread, decrement UnreadCount
`
`
`
`If Shortcut.IsCorresp, decrement CorrespShortcutCount
`
`
`
`
`
`
`
`
`If Shortcut. IsCorresp AND IsUnread, decrement UnreadCorrespCount
`
`
`
`
`UpdateFolder
`
`
`
`
`« Update Folder in Catalog database
`
`
`
`
`¢ Generate FolderChanged Event
`
`
`
`
`FIG. 11B
`
`
`
`Page 16 of 57
`
`Page 16 of 57
`
`

`

`U.S. Patent
`
`
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`Sheet 16 of 33
`
`
`
`US 6,725,228 B1
`
`
`SHORTCUT STRUCTURE
`
`
`
`
`FLAGS ENCODING
`
`
`
`
`
`
`Byte
`
`
`Offset Length Field
`
`
`0
`4
`
`
`4
`2
`
`
`6
`4
`
`
`6
`10
`
`
`16
`1
`
`
`17
`1
`
`
`18
`4
`
`
`22
`1
`
`
`23
`1
`
`
`Messageld
`
`Attachid
`
`FolderId
`
`SortKey
`
`SortColumn
`
`TriggerAction
`TriggerDateTime
`
`Flags
`
`IsCorresp
`
`
`
`
`
`Bit
`
`
`
`
`0
`1
`2
`
`
`
`Length Field
`SortDirection
`
`IsUnread
`
`
`IsUserShortcut
`
`
`1
`1
`1
`
`
`
`
`
`
`FIELD TYPE
`
`
`
`
`
`SORT KEY FORMAT
`
`
`
`Notes
`
`
`
`
`
`UnicodeString
`
`
`
`
`a
`AnsiString
`
`
`
`uUCcW1
`
`
`
`uUCcW2
`
`
`
`UCW3
`
`
`
`Unicode Character Weights of
`
`
`
`
`
`
`first 3 characters of string.
`
`
`
`C1
`
`C2
`
`
`
`C3
`
`
`
`C4
`
`
`
`C5
`
`
`
`C6
`
`
`
`Values offirst 6 characters of
`
`
`
`
`string.
`
`.
`DateTime
`
`
`
`YY
`
`
`
`MM
`
`
`
`DD
`
`
`
`hh
`
`
`
`mm|
`
`
`
`ss
`
`
`
`
`
`YY = Year - 1950
`
`
`
`
`Enumeration OR
`
`Boolean
`
`(sdDescending)
`
`Value
`
`
`
`YY
`
`
`
`MM
`
`
`
`DD
`
`
`
`hh
`
`
`
`YY = Year - 1950
`
`
`
`
`
`Srurmeration OR 255|255|Value 255
`
`
`
`
`255
`
`
`
`
`
`
`
`
`
`
`
`
`
`YY = Year - 1950
`
`
`(sdAscending) “YY|MM = BD] = hh
`
`
`Integer32 OR
`
`
`Integer16
`
`
`
`
`
`
`w-------------- Bits ~-------------
`
`31-24| 23-16
`Not Used
`
`
`
`
`
`
`
`
`
`
`
`
`Bits are numbered with 0 being
`
`
`
`
`
`the least significant and 31 the
`
`
`mostsignificant.
`
`
`FIG. 12
`
`Page 17 of 57
`
`Page 17 of 57
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Apr.20, 2004
`
`
`
`
`Sheet 17 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`
`Startup
`Processing
`
`
`
`
`Initialize ShortcutTimer
`to inactive state
`
`
`
`
`
`
`
`
`
`Readfirst Shortcut
`
`
`from Catalog database
`
`
`using AlternateKey2
`
`
`
`
`
`
`135
`
`
`
`AddChange
`Shortcut
`
`
`
`
`
`
`If TriggerDateTime is non-zero and is
`
`
`
`
`less than ShortcutTimer, reset
`
`
`ShortcutTimer to TriggerDateTime
`
`
`
`137
`
`Shortcut
`Timer
`
`
`*
`
`*
`
`
`
`
`
`
`Read Shortcut from Catalog database
`
`
`
`
`If TriggerAction is taDeleteShortcut then
`
`
`
`generate an internal DeleteShortcut Request.
`
`
`
`
`FIG. 13
`
`Page 18 of 57
`
`Page 18 of 57
`
`

`

`
`U.S. Patent
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 18 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`140
`
`
`
`
`Start
`sdDescending
`
`
`
` Request Parameters
`
`
`
`
`
`
`
`143AsdAscending 143B
`
`= Folderld
`143
`No
`
`
`
`
`
`
`+ SortKey
`+ SortDirection
`UseFoklereard
`Position atfirst
`Position at last
`
`
`
`
`
`
`
`
`+ RequestCount
`position on Shortcut
`Shortcut in Folder
`Shortcut in Folder
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`+ CorrespOnly
`AlternateKey1
`using AlternateKey1
`using AlternateKey1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`145A
`
`
`
`Set ISEOF to
`
`
`
`
`
`
`
`Read Next/Prev Shortcut in Folder
`
`
`(depending on SortDirection)
`
`
`
`
`
`End of
`
`
`
`No
`
`
`
`
`
`Is (ContentCount >=
`
`
`RequestCount) AND
`
`
`
`
`(Current SortKey NOT =
`
`
`Previous SortKey)?
`
`
`
`No
`
`Read
`
`
`
`
`Is (CorrespOnly = True)
`AND (IsCorresp = False) ?
`
`te
`
`
`Sort ContentArray in
`
`
`
`
`
`memory, using values
`
`
`
`
`from MessageSummary
`
`
`and AttachSummary
`
`
`
`
`
`
`
`
`149
`
`
`BuildRep
`
`
`
`
`
`
`
`
`
`
`Read related MessageSummary from Catalog
`
`database
`
`
`
`
`
`
`
`
`If AttachId is non-zero, read related

`
`
`
`
`
`
`
`
`AttachSummary from Catalog database
`
`
`
`
`
`
`Add MessageSummary and AttachSummary (or
`
`
`
`
`NULL) to ContentArray
`
`
`
`
`*
`Increment ContentCount
`
`
`
`
`
`
`
`Set SortKey in Reply from the current Shortcut
`*
`
`
`SortKey
`
`
`
`
`
`
`No
`
`14
`
`I
`

`
`
`
`
`
`
`
`
`
`
`Reply Parameters
`= ResultCode
`
`
`+ SortKey
`
`
`+ ISEOF
`
`
`+ ContentCount
`
`
`
`
`+ ContentArray
`
`
`
`
`
`= Array of [ MessageSummary + (AttachSummary OR NULL) ]
`
`
`
`
`FIG. 14
`
`Page 19 of 57
`
`Page 19 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 19 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`Read Folder from Catalog
`
`
`
`152
`
`
`
`
`
`Request Parameters
`= FolderlId
`
`
`+ FolderSortColumn
`
`
`
`+ FolderSortDirection
`
`
`
`Pa
`
`Pototoderusne
`
`
`
`
`
`AlternateKey1
`
`
`
`
`Read next Shortcut in Folder
`
`
`
`
`
`
`155
`
`
`(ToA)e-ves
`
`
`
`End of
`
`
`Folder?
`
`
`
`
`
`
`
`The underlying data type
`for the FolderSortColumn
`
`
`
`Enumeration
`OR Boolean
`
`
`No
`
`
`
`
`
`
`
`Data Type?
`
`
`
`
`
`
`Need to build SortKey if
`FolderSortColumn
`
`
`
`NOT = SortColumn
`OR FolderSortDirection
`
`
`NOT = SortDirection
`
`
`
`156
`
`
`
`157
`
`
`
`
`
`Need to build
`
`
`SortKeyif
`FolderSortColumn
`
`NOT = SortColumn
`
`
`
`
`* Update Folder in Catalog database
`
`i
`
`?
`
`
`
`Build
`SortKey?
`
`Yes
`
`
`
`
`
`
`If FolderSortColumn is a column in the MessageSummary, read
`
`
`
`
`
`
`the MessageSummary from the Catalog database
`
`
`
`
`
`
`If FolderSortColumn is a column in the AttachSummary, read the
`
`
`
`
`
`AttachSummary from the Catalog database
`
`
`
`Build the SortKey
`
`
`
`Update Shortcut in Catalog database
`
`
`
`
`
`
`
`*
`*
`
`Set FolderSortColumn
`
`
`Set FolderSortDirection
`
`
`
`
`
`
`
`
`
`
`
`FIG. 15
`
`Page 20 of 57
`
`Page 20 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 20 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`Containsall tables and fields of Base Layer, plus the following:
`
`
`
`Folder
`
`56
`
`SearchCriteria
`
` MessageSummary
`
`
`
`
`Direction
`
`SendState
`
`IsDeleted
`
`IsActive
`
`IsKept
`IsTagged
`
`IsToDo
`KeywordList
`
`
`
`
`
`53
`
`
`
`
`
`
`FIG. 16
`
`Page 21 of 57
`
`Page 21 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 21 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`Root
`
`
`|--- Status
`
`
`
`|--- Active Mail
`|
`
`
`|--- Deleted
`
`
`|--- Drafts
`
`
`|--- Kept
`
`|--- Received
`
`
`|--- Sent
`
`
`|--- Tagged
`
`|--- To Do
`
`
`|--- Unread
`
`
`|--- Waiting Send
`
`
`
`
`
`--- Date
`
`
`|--- Today
`
`
`|--- Yesterday
`
`
`
`|--- This Week
`
`
`
`|--- Last Week
`
`
`
`
`|--- * Automatically created Month folders
`
`
`
`
`
`-- Attachment
`
`
`
`|--- All Attachments
`
`
`
`
`|--- * Automatically created AttachmentType folders
`
`
`
`
`
`--- Keyword
`
`
`
`
`|--- * Automatically created Keyword folders
`
`
`
`
`
`
`- Search Results
`
`
`
`|--- * Search Results folders
`
`
`
`
`
`
`--- User Folders
`
`
`
`|--- * User created folders
`
`
`
`|||||| | ||| ||||||| |||||
`
`
`FIG. 17
`
`Page 22 of 57
`
`Page 22 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 22 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Containsall tables and fields of Base Layer and Second Layer,plus the following:
`
`
`
`Folder
`
`
`
`IsPendingCorresp
`
`
`
`56
`
`
`
`
`
`
`37
`
`
`
`
`
`
`
`
`MessageSummary
`52 AttachSummary
`
`
`
`
`
`58
`
`
`
`
`
`Address
`
`
`
`AddressId
`
`
`FolderId
`
`AddressString
`
`AddressType
`
`IsPendingCorresp
`
`
`
`
`
`
`
`33
`
`
`
`AddressList
`
`
`
`
`
`
`AlternateKey1
`
`= AddressString
`
`(uppercase)
`
`
`AlternateKey2
`
`
`= Folderld
`
`
`FIG. 18
`
`Page 23 of 57
`
`Page 23 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 23 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`
`Contains all Folders in Base Layer and SecondLayer,plus the following:
`
`
`
`
`<Root>
`
`|--- Correspondents
`
`
`|--Me
`|
`
`
`
`
`
`|--- * Automatically created Correspondentfolders
`|
`
`
`
`
`
`
`|
`|--- * User created Correspondentfolders
`
`
`
`
`--- Bulk Mail
`
`
`
`|
`|--- Unsorted
`
`
`
`
`
`
`|--- * User created Bulk Mail folders
`|
`
`
`
`
`
`
`
`||
`
`
`FIG. 19
`
`Page 24 of 57
`
`Page 24 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 24 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Includes all Requests and Events in Base Layer and Second Layer, plus the following:
`
`
`
`24
`
`
`
`29
`
`
`
`27
`
`
`
`
`
`Message Store Server
`
`
`
`
`Catalog Server
`
`
`
`
`MessageClient
`
`
`
`
`Incoming Requests
`
`
`
`
`AddMyAddress-—————
`ReadFolderAddresses-———e
`
`MoveAddress—_———®
`
`ProcessAddressQueue———®
`
`
`
`
`
`
`
`FIG. 20
`
`Page 25 of 57
`
`Page 25 of 57
`
`

`

`U.S. Patent
`
`
`
`
`
`
`Apr.20, 2004
`
`
`
`
`Sheet 25 of 33
`
`
`
`US 6,725,228 B1
`
`AddressEntry
`
`
`
`
`
`
`
`
`
`
`
`
`AddressArray “~~
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IsConfirmedCorresp
`
`
`FIG. 21A
`
`
`
`
`
`218
`
`
`
`
`
`
`Phase 1 Processinga eee ee aeee
`
`1
`
`
`
`
`—------ | Increment IF ( AddressRole = ( arSender OR arFrom ) )
`|
`
`
`
`eee ee ee ee KEEe ee 1
`
`TTS 1 Increment IF ( AddressRole = arTo )
`|
`
`
`
`
`
`—_
`
`
`StateCounters
`
`
`ToCount
`
`OriginCount
`
`ShortcutCount
`
`
`
`
`
`
`
`
`
`FIG. 21B
`
`
`
`Page 26 of 57
`
`Page 26 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 26 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`Phase 1 Processing
`
`
`
`| Set to True
`
`
`
`
`
`
`
`
`|
`(Direction = drSend )
`IF
`|
`
`
`
`
`\
`/\ AND ( AddressType = atMyAddress _)
`
`
`
`
`
`|
`AND( AddressRole = arFrom )
`if
`eeeee eeEEE J
`
`
`
`/ mmmeee eee sa eae
`/
`| Set to True
`
`
`
`
`
`
`
`
`
`{
`IF
`(Direction = drReceive )
`|
`
`
`
`
`(
`AND ( AddressType = atMyAddress )
`_o-7 |
`
`4
`-
`| AND ( AddressRole = arTo OR arCc ORarBec )
`
`
`
`
`
`
`
`
`creer tse sss eee ese ee eae ee eS |
`
`
`
`
`
`~~~ _1 Set to True
`|
`
`
`
`
`IF ( AddressType = atBulkAddress )
`|
`
`
`
`
`|
`Sot Set to True
`
`
`
`
`
` (AddressType = atCorrespAddress )
`\
`1
`IF
`
`
`\\ | AND ( AddressRole = ( arSender OR arFrom)) |
`
`
`
`
`
`
`
`
`
`
`
`
` St
`
`
`
`
`
`
`
`
`
`poe e+ ----+
`
`\ | Set to True
`|
`
`
`
`
`
`
`\
`IF
`(AddressType = atCorrespAddress )
`
`
`
`
`
`|
`AND ( AddressRole = ( arTo orarCc or arBcc) )
`mee ee i ei ei eiieeeee ai aaa ee er
`
`
`
`
`
`FIG. 21C
`
`
`
`Page 27 of 57
`
`Page 27 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 27 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`Input Parameters
`
`= MessageSummary
`
`
`
`
`
`Initialize memory structures
`
`Get next elementin
`
`
`
`
`MessageSummary's AddressList
`
`
`
`225
`
`
`
`Yes
`
`
`
`To Phase 2
`
`
`
`No
`
`
`
`Initialize AddressEntry and add to
`AddressArray
`
`Increment StateCounters
`
`Read Address from Catalog
`database
`
`: 229
`
`Add Address information to
`
`
`
`
`AddressEntry
`
`
`Set StateFlags
`
`
`
`
`FIG. 22
`
`Page 28 of 57
`
`Page 28 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 28 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`From Phase 1
`
`
`
`
`
`
`Get next AddressEntry in
`AddressArray
`
`
`236
`
`
`End of
`
`
`Array?
`
`No
`
`
`
`
`
`
`Apply Corresp/Bulk Mail Rules to
`
`
`
`AddressEntry as shownin FIG. 24
`
`239
`
`
`
`Create
`
`Shortcut?
`
`
`
`
`
`c— 240A 240
`Do "AddAddressFolder"
`Yes
`
`
`
`as shownin FIG. 25A
`
`
`
`
`
`
`
`Create
`
`IF ( AddressId = 0
`)
`
`
`(— 241A
`
`
`
`(IsPendingCorresp)
`IF
`AND ( IsConfirmedCorresp)
`
`
`
`
`241
`
`
`
`odify
`
`Pending
`State?
`
`to NOT IsBulkMail
`
`
`
`Do
`"UpgradePendingCorresp"
`as shownin FIG. 25B.
`
`
`
`
`
`
`
`
`
`*
`
`*
`
`
`
`
`Do "AddChangeShortcut" as
`shownin FIG. 10B.
`
`
`
`Increment ShortcutCount
`
`
`
`
`
`
`
`Add Shortcut to Unsorted Folder
`
`
`
`Set IsBulkMail to True
`
`
`
`
`
`
`Non-zero
`
`
`
`
`
`Set MessageSummary IsCorresp
`
`
`
`
`
`
`
`FIG. 23
`
`Page 29 of 57
`
`Page 29 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 29 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`(IF
`( IsBulkMail )
`} AND ( AddressType = atBulkAddress )
`
`
`
`
`( IsBulkMail ) AND ( IsToMe)
`(IF
`
`
`
`
`| AND ( IsFromKnownCorresp )
`
`
`
`AND ( Direction = drReceive )
`
`
`
`, AND ( AddressType = atCorrespAddress)
`
`
`
`
`
`
`'AND ( AddressRole = ( arSender OR arFrom) )
`
`
`
`|
`Imm
`
`
`I
`
`ho
`
`|
`
`
`
`
`
`
`
`I
`[
`
`
`
`oes
`
`
`>w66}>
`
`
`
`
`
`
`
`
`pe
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 30 of 57
`
`( IsBulkMail ) AND ( IsFromMe)
`[IF
`
`
`
`
`
`
`| AND ( IsToKnownCorresp)
`| AND( Direction = drSend)
`
`
`
`
`
`
`
`| AND ( AddressType = atCorrespAddress)
`I
`
`
`
`
`
`AND( AddressRole = ( arTo OR arCc ORarBec ) )!
`DeeTT ee To-
`
`
`
`IF
`( IsBulkMail )
`7
`
`
`
`
`VIF
`( Direction = drSend )
`
`
`
`
`|AND ( AddressType = atMyAddress )
`)
`
`
`
`; IF
`( Direction = drSend )
`|
`
`
`
`
`
`, AND ( AddressType = atNoAddress )
`|
`
`
`
`
`| AND ( OriginCount = 1 )
`i
`
`| AND ( AddressRole = arFrom )
`|
`|IF (Direction = drSend)
`!
`
`
`
`
`
`
`
`
`
`| AND ( ToCount = 1 )
`i
`
`1 AND ( AddressRole = arTo )
`|
`
`
`
`
`( Direction = drSend )
`po
`i IF
`
`
`
`
`
`AND( AddressRole = ( arTo OR arCc OR arBec )) |
`
`
`
`
`
`
`[IF
`(Direction = drReceive ) AND ( IsToMe)
`I
`
`
`
`
`
`
`| AND ( AddressType = atMyAddress)
`
`
`
`lese
`iIF
`(Direction = drReceive )AND(IsToMe)
`|
`
`
`
`
`
`
`
`
`
`
`
`
`
`AND( AddressRole = ( arSender ORarFrom))
`"><
`
`
`
`
`iIF
`( Direction = drReceive )
`|
`
`
`
`
`| AND ( NOT IsToMe)
`
`
`
`
`, AND ( IsFromKnownCorresp )
`~
`
`
`
`
`
`
`i AND ( AddressType = atCorrespAddress)
`|
`
`
`
`
`
`AND ( AddressRole = ( arSender OR arFrom ) )
`|
`
`
`(FIG. 24B)
`
`
`
`(FIG. 24B)
`
`
`
`
`(FIG. 24B)
`
`
`
`(FIG. 24B)
`
`
`
`
`(FIG. 24B)
`
`
`
`(FIG. 248)
`
`
`
`©w"
`
`<omwu
`
`Yese{fo°)
`
`Page 30 of 57
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Apr.20, 2004
`
`
`
`Sheet 30 of 33
`
`
`
`
`
`US 6,725,228 B1
`
`
`
`
`[Bulk Mail Shortcut]
`
`
`Set CreateShortcut to True.
`
`
`
`
`
`
`
`
`
`
`[Confirmed Corresp Shortcut]
`
`
`
`Set IsConfirmedCorresp to True.
`
`
`
`Set CreateShortcut to True.
`
`
`
`
`
`
`
`[Pending Corresp Shortcut]
`
`
`
`Set IsPendingCorresp to True.
`
`
`
`
`
`
`Set Create Shortcut to True.
`
`
`
`
`["Me" Shortcut]
`
`
`Set CreateShortcut to True.
`
`
`
`
`Set FolderId to "Me"folder.
`
`
`
`
`
`FIG. 24B
`
`
`
`Page 31 of 57
`
`Page 31 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 31 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`
`Build Folder as follows:
`
`
`
`
`
`
`
`
`
`
`
`
`
`-- Set FolderName from AddressName,or from
`
`
`
`AddressString if AddressNameis empty.
`
`
`
`
`
`-- Set FolderType to ftCorresp
`
`
`
`
`
`
`-- Set IsPendingCorresp from AddressEntry
`
`
`
`
`
`
`
`
`Try to add Folder to Catalog database
`
`
`
`
`
`
`
`
`If FolderNamealready exists, generate a unique
`
`
`
`
`
`
`FolderName and then add Folder to Catalog
`
`
`Input Parameters
`
`
`database
`
`
`
`= AddressEntry
`
`
`
`
`
`*
`Save FolderId to AddressEntry
`
`Generate FolderAdded Event
`
`
`
`
`
`Read Folder from
`
`
`
`
`
`Catalog database
`
`
`
`AddAddressFolder
`
`
`
`
`
`
`
`
`
`
`


`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`*
`
`
`
`
`
`
`
`
`
`
`
`
`Build Address from AddressEntry
`
`
`
`
`
`Set AddressType based on FolderType
`
`
`
`ftMe
`--> atMyAddress
`
`
`
`ftCorresp --> atCorresp
`ftBulkMail --> atBulkMail
`
`
`
`
`
`
`
`
`
`
`Add Address to Catalog database
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 25A
`
`
`
`UpgradePendingCorresp
`
`
`
`
`
`
`
`
`
`
`
` Read Folder from Catalog database
`
`
`
`
`
`
`
`
`Set IsPendingCorresp to False
`
`
`
`
`
`
`Do "UpdateFolder” as shown in FIG.1D.
`
`
`
`
`
`
`Read Address from Catalog database
`
`
`
`
`Set isPendingCorresp to False
` Input Parameters
`
`
`
`
`
`
`
`Update Address in Catalog database
`= AddressEntry
`
`
`
`
`
`
`
`
`
`
`
`FIG. 25B
`
`
`
`Page 32 of 57
`
`Page 32 of 57
`
`

`

`U.S. Patent
`
`
`
`
`Apr. 20, 2004
`
`
`
`
`
`Sheet 32 of 33
`
`
`US 6,725,228 B1
`
`
`
`
`
`Input Parameters
`
`
`= AddressString
`
`
`
`+ TargetFolderlId
`
`
`
`
`TargetFolderId =
`"9
`”
`
`
`FolderId of "Unsorted"?
`
`
`
`Move to
`
`~Unsorted"?
`
`
`
`
`
`Delete Address
`
`
`
`from Catalog
`database
`
`
`Read Address from
`
`
`
`
`
`Catalog database using
`
`AlternateKey1
`
`
`
`
`
`Add AddressString
`to AddressQueue
`
`
`
`
`
`
`
`
`Create Address in Catalog
`database
`
`
`
`
`
`
`Update Address in Catalog database
`
`
`
`
`
`Set FoiderId in Address to TargetFolderId
`
`
`
`
`
`Read TargetFolder from Catalog database
`
`
`
`
`Set AddressType based on TargetFolder's
`
`FolderType
`
`
`--> atMyAddress
`ftMe
`
`
`
`ftCorresp --> atCorresp
`ftBulkMail --> atBulkMail
`
`
`
`
`
`
`Set IsPendingCorresp in Address from
`
`TargetFolder
`
`
`
`
`
`
`
`
`
`
`
`FIG. 26
`
`Page 33 of 57
`
`Page 33 of 57
`
`

`

`U.S. Patent
`
`
`
`
`
`
`Apr. 20,2004
`
`
`
`
`Sheet 33 of 33
`
`
`
`US 6,725,228 B1
`
`
`
`
`
`Position to first MessageSummary
`
`
`
`in Catalog database
`
`
`
`
`
`
`Get next MessageSummary in
`
`
`Catalog database
`
`
`
`
`Does any AddressString in
`
`
`
`the AddressQueue match
`
`
`
`an AddressString in the
`
`MessageSummary
`AddressList?
`
`
`
`
`
`Empty
`AddressQueue
`
`
`

`Process Shortcuts as shownin FIG. 10B
`
`
`
`
`
`
`
`
`
`* Update MessageSummary in Catalog
`
`
`
`
`databaseif IsCorresp has changed
`
`
`
`
`FIG. 27
`
`Page 34 of 57
`
`Page 34 of 57
`
`

`

`
`
`US 6,725,228 B1
`
`
`
`
`
`
`
`
`
`
`1
`SYSTEM FOR MANAGING AND
`
`
`
`
`ORGANIZING STORED ELECTRONIC
`
`
`MESSAGES
`
`
`
`2
`
`
`
`
`
`
`
`Further, once an e-mail message has been received it can
`
`
`
`
`
`
`
`
`
`be difficult to find the message lat

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