`[11] Patent Number:
`[19]
`United States Patent
`
`Allen et al.
`[45] Date of Patent:
`Feb. 15, 2000
`
`U5006026410A
`
`[54]
`
`INFORMATION ORGANIZATION AND
`COLLABORATION TOOL FOR PROCESSING
`
`5,864,848
`5,864,865
`
`.............................. 707/6
`1/1999 Howitz et a1.
`1/1999 Lakis ....................................... 707/103
`
`[75]
`
`Egg/[IT’SUITEB 1355;311:1/IsREQUESTS IN
`.
`.
`..
`,
`,
`.
`Inventors. BaVld Alilelzll’) 0311;) Balm; SSmlga,
`Fanny éDezhlhlis lgilclciheii: P 1
`Arlagctlslciogf Calif‘ T011 Manh a 0
`Issaduah Wash [311101335 Hagan
`Boston, Mass; James Joaquin, San
`Franc1sco, Calif.
`[73] Assignee: Actioneer, Inc., San Francisco, Calif.
`
`OTHER PUBLICATIONS
`Nanduri et a1. “Requirements Validation via Automated
`Natural Language Parsing” Journal of Management Infor-
`mation Systems, vol. 12, No. 3, pp. 9—19, Dec. 1995.
`Adam et al. “A Form—Based Approuch to Natural Language
`Query” Journal of Management Information Systems, vol.
`11’ NO’ 2’ pp. 109—121, Sep. 1994’
`Primary Examiner—Paul V. Kulik
`Attorney, Agent, or FWm—Blakely, SOklOff’ Taylor &
`Zafman LLP
`
`[21] Appl. No.: 08/798,453
`
`[57]
`
`ABSTRACT
`
`Feb. 10: 1997
`
`Filed:
`[22]
`G06F 17/30
`Int (:17
`[51]
`........................................... ..........
`.
`.
`.
`........................... 707/104, 707/200, 704/270
`[52] US. Cl.
`[58] Fleld of Search ................................ 707/1, 100, 104,
`707/2’ 3’ 4’ 5’ 6’ 102’ 103’ 200’ 201’ 704/9’
`270’ 275
`
`[56]
`
`.
`References Clted
`U.S. PATENT DOCUMENTS
`
`A natural language-based information organization and col-
`laboration tool for a computer system is disclosed. The
`present invention includes an apparatus and method for
`processing text expressions in a computer system, the appa-
`ratus including: 1) an object database defining an informa-
`tion object with an associated keyword; 2) a user input
`device for receiving an input text expression; 3) a parsing
`device for
`identifying the keyword in the input
`text
`expression, the parsing device including functions for link-
`ing the input text expression to the information object based
`on the keyword identified in the input text expression; and
`4) a user output device for displaying t0 the user the identity
`3,115,504
`5/1993 BCIOVe et ail.
`.......................... 395/5333
`
`of the information object to which the input text expression
`5943329821
`31335 11:10“; a at.
`1'"""""""395/600
`
`was linked. The apparatus of the present invention further
`5’4189948
`""" 395/600
`5/1995 Tlilnfieam e a' "
`
`includes supplemental information in .the object database
`7554/4190};
`5:477:447 12/1995 Luciw etal
`6/1996 Meske, Jr. et a1.
`...... 395/600 Wthh is related to the information object, the user output
`5,530,852
`
`4/1997 Luciw et a1. ............. 395/326
`5,621,903
`device further including functions for displaying the supple-
`
`5/1997 Tracz et a1. .......... 395/602
`5,634,121
`mental information when a corresponding keyword is iden-
`
`...... 395/338
`596449735
`7/1997 Luciw et a1.
`tified in the input text expression. The apparatus of the
`
`3/1998 O’Nelll ~~~~~~~~~~~~~~~~ 395/705
`57732274
`present invention further includes a method and apparatus
`" 70361732
`37:47??ng
`3/133: gong 6t 31'
`for collaboration between users of a time and project man-
`......
`,
`,
`eerwes er
`
`...... 707/2
`5,778,365
`7/1998 Boyer et a1.
`agemem SyStem‘
`
`9/1998 Gustman .............. 707/103
`5,813,014
`.......................... 707/103
`5,819,282 10/1998 Hooper et a1.
`
`37 Claims, 26 Drawing Sheets
`
`NATURAL
`LANGUAGE
`TEXT
`
`EXPRESSIONS
`
`
`
`
`USER
`PARSER
`ALITIfeél-S
`
`
`
`INTERFACE
`TOOL
`
`
`
`
`USER 'NPUT
`(KEYNOTE
`REGION)
`
`
`
`USER OUTPUT
`HAD W
`(S
`0
`REGION)
`
`OUTPUT
`
`
`
`STRUCTURED
`NAMES OF LlSTS,
`
`
`PROJECTS, CONTRACTS,
`ENCLOSURES, INTENDED
`RECIPIENT(S), AND
`CALENDAR EVENTS
`
`
`
`
`
`1/50
`
`SAMSUNG EX. 1005
`
`1/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 1 0f 26
`
`6,026,410
`
`MASS STORAGE
`MEDIUM
`
`108
`
`MA
`
`SSESVT,32AGE
`
`MAIN
`MEMORY
`
`104
`
`READ ONLY
`MEMORY
`
`106
`
`Q
`
`fl
`
`CURSOR
`CONTROL
`DEVICE
`12.3.
`
`“Ag/ICE?"
`
`E
`
`COMMUNI-
`CATION
`DEVICE
`
`D'SPLAY
`
`12_1
`
`BUS
`103
`
`FIG. 1
`
`2/50
`
`SAMSUNG EX. 1005
`
`2/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 2 0f 26
`
`6,026,410
`
`
` mF2m>mm<osz<o
`
`
`
`Amwwmwwmmmm<mmmm:mo<soz<4Paaz_mmm:
`
`._OO._.mzo_mwmmn_xm_206mm
`
`
`mo<mmMHz_HXmHmkoz>mxv
`
`ONOZMthwmmzmogozm
`
`oz<,arzwaamm
`
`N.Uum
`
`3/50
`
`SAMSUNG EX. 1005
`
`4<msh<z
`
`Psmhso
`
`.mko<mkzoo_mF0mfiomm
`55:”5$522205%
`ommskosmkwFlammWflww:
`
`
`
`3/50
`
`SAMSUNG EX. 1005
`
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 3 0f 26
`
`6,026,410
`
`121
`
`
`
`FIG. 3
`
`4/50
`
`SAMSUNG EX. 1005
`
`4/50
`
`SAMSUNG EX. 1005
`
`
`
`U S. Patent
`
`Feb. 15,2000
`
`Sheet 4 0f 26
`
`6,026,410
`
`210
`
`220
`
`
`
`
`
`
`
`Anhfihaanafihfianfifiafifi
`Afifihfinfifihfihfihfihbfifi
`
`AAAAAfiAfiAAnAAAAAn-hh
`
`
`
`haahhhhnnnfihnfiflfihhfi
`
`Anfihnh-Aahhfinnfinfififiha
`nfihfihaAbd-Anfiaannhhnnn
`
`
`AhfinnfifihnfiAfifiA-Ahfinfia
`Afifinfihfihhhnfifinhhhhdhfi
`
`nhfidhbhhnhfifiafihbfifiha
`
`AfihfihhhfihAfi-fl-Ahhhfihfihfi
`Abbfifififihfihhhhhfifinfihfi
`AfifififififihhhfihhhfiAh-Afififi
`hfifihhfifinnflqfififiafihhfifin
`Ahhafihfihfififififibhnnfiflhfi
`Afififififififibhfihhfififihvhhh
`Anhhnnhhafianhfifihfiaanh
`anhaahnahanhaasanna»
`
`Ahhfinnhfihfifihhfifinfihhfih
`afifihaaanfinnhafihhfifihfi
`
`Ahhnfinnhnfififinhanfinhhfi
`Afififihaahhnhfifihfifibfifih
`Afinfihahhafifinhfiahhahhfi
`
`AhAAAfifififiAfihh-Alghfifinfi
`hanhhhfifiahhaannnhhhhfi
`
`naanannfinnnnanaannnn
`finAhhfifiAfih-‘thLAAhfl-hfifi
`AAAAAAfifiAAbhAhfiAfi-haa.
`finnhohhfiahannfihnhhfihh
`
`hfifihbfiAfiAAfi-Anfihhfinnfi
`aahhnnfififiahfihhnhfinfiafi
`finnfinnfihhnfinfihAA-NAAA
`
`hahhfihhhfififinfibnah
`
`fihfihfififififlhhhhhhfifih
`AAAAAhhAAAAhAfid-Afi
`
`
`
`260
`
`220
`
`Afifinnfifinbanfifihhnnfi
`fiahanhhafinnfinnfinbhfi
`nfihhhhhnnhh
`
`EaII‘Paqu pst‘
`.-
`AhAI-fifinhfifi
`I.
`fihflfihfifihnfi
`hhfifihhfifihfifififihhfihfififin
`(9..
`5Q” a..¢hfifihfi..
`fihhnnnhfiafihfinnnanwhfi
`Ahfihhfilsfifibfinfifihhhfihfih
`fihhfihhnfinnhhnhhahfinn
`Ahfifinfififififihhhfihfifinfiah
`nanaannaannnna¢haaaa
`fihfihhhfiabfinnfinnhhlhfinn
`banannhnhhhfinahnfifiha
`Ahfihfififihfihfiflfififlfihhhfin
`AAA-hfl-AhbnnfififilhAAAhhfi
`Ahhhhfihhhfififlfiahhhfinfih
`Afinfinfifihhfihahafinhfifih
`nfihhnhhahhhflnfifiAA-fl-Aan
`fififihhhfifihfifihfihhfihnnfi
`AAAafihaAAA-fl-Annhonfia-AA
`fifififidfihhafihfifififihhfififi
`afihhhhfifinhfifihfifihhhfinh
`hhfifififihahhfihfihfifihhfih
`hanfifihfihannnfinfifihfihan
`«Ahaaaannan
`anfinnhfi-Afififihfifinfifi
`
`AnfihfiaAAAAAAAhfifiA-fi
`
`260
`
`5/50
`
`SAMSUNG EX. 1005
`
`5/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 5 0f 26
`
`6,026,410
`
`
`
`FIG. 5
`
`6/50
`
`SAMSUNG EX. 1005
`
`6/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 6 0f 26
`
`6,026,410
`
`
`
`
`
`222
`
`/
`
`___——_‘
`
`ICall Paul by next Thurs.\
`\re: Wilson deal
`I
` //
`_____ /
`
`
`
`m—W
`
`240
`
`240
`
`250
`
`FIG. 6
`
`220
`
`
`,anpzurby‘ae‘mugx /
`
`_-m
`
`
`_-//’/
`
`
`—I——Im
`
`
`
`
`/_IV/%
`250
`\
`FIG. 7
`26°
`
`
`
`
`
`7/50
`
`SAMSUNG EX. 1005
`
`7/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 7 0f 26
`
`6,026,410
`
`How30
`
`mm<m<._.<o
`
`%mumm/E
`
`8d
`
`mmm<n_
`
`.5n_._bo
`
`Howamo
`
`.._ozm_
`
`._.o<._.zoo
`
`
`
`
`
`whumwmomam—dom._.om=.mo
`
`PowwOmm >m<zo_._.o_n_
`._.om=,mo
`
`9.0mBO
`
`kamwmo
`
`wa.
`
`a
`
`Qg
`
`m__>=._.\m_._.<n_oz<om0>>>mx
`
`mmmm<m
`
`oz<mzmxoh
`
`
`
`mmn_>._.zmxok
`
`omv
`
`
`
`mewmmxwo;._.xm._.
`
`
`
`w_m>._<z<._<o_xm._
`
`Jock
`
`mmm:
`
`mo<u_mm._.z_
`
`8/50
`
`SAMSUNG EX. 1005
`
`8/50
`
`SAMSUNG EX. 1005
`
`
`
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 8 0f 26
`
`6,026,410
`
`LEXICAL ANALYSIS TOOL
`PROCESSING LOGIC
`
`INITIALIZE CHAR
`INITIALIZE TOKEN BUFFER.
`POINTER TO POINT TO THE FIRST CHARACTER OF
`THE INPUT TEXT EXPRESSION. GET AN INPUT
`
`TEXT EXPRESSION 912
`
`914
`
`
`
`MORE CHARACTERS
`O PROCESS?
`
`
`
`
`
`YES - 918
`
`NO-916
`
`920
` IS
`
` YES - 922
`CURRENT
`
`
`CHARACTER A
`I ELIMITER?
`
`
`NO - 924
`
`ADD CURRENT
`
`CHARACTER TO TOKEN
`
`BUFFER 928
`
`REMOVE WHITE SPACE (I.E.
`UNNECESSARY BLANKS OR
`
` 926
`
`SPECIAL CHARACTERS) FROM
`TOKEN BUFFER. STANDARDIZE
`CAPITALIZATION IN TOKEN
`BUFFER. DETERMINE TYPE AND
`NUMERIC VALUE OF TOKEN.
`ADD NEW TOKEN TO OUTPUT
`TOKEN LIST WITH TOKEN TYPE.
`INITILIZE TOKEN BUFFER.
`
`GET CHARACTER FROM THE
`INPUT TEXT EXPRESSION
`
`m
`
`FIG. 9
`
`9/50
`
`SAMSUNG EX. 1005
`
`9/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 9 0f 26
`
`6,026,410
`
`KEYWORD PARSER PROCESSING LOGIC
`
`INITIALIZE KEYWORD BUFFER, CURRENT
`KEYWORD BUFFER, AND OUTPUT BUFFER
`m
`
`GET NEXT TOKEN
`
`m 1
`
`
`
`014
`
`IS
`TOKEN A
`N0-1015
`
`TRIGGER?
`
`
`
`
`APPEND TRIGGER TO KEYWORD
`fl
`BUFFER
`
`
`
`
`IS
`CONTENT OF
`
`
`EYWORD BUFFER A DICTIONARY
`
`KEYWORD?
`
`YES-1018
`
`
`
`
`STORE CONTENT OF KEYWORD BUFFER INTO
`CURRENT KEYWORD BUFFER
`
`r
`
`
`
`MORE TOKENS?
`ANY
`
`YES - 1030
`
`
`
`
`w
`
`1028
`
`NO
`
`0
`
`
`
`
`IS CURRENT
`
`
`KEYWORD BUFFER
`EMPTY?
`
`
`
`
`
`1032
`
`NO - 1034
`
`o
`
`FIG. 10
`
`10/50
`
`SAMSUNG EX. 1005
`
`10/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 10 0f 26
`
`6,026,410
`
`USE THE CONTENT OF THE CURRENT KEYWORD BUFFER
`TO PERFORM A LOOKUP IN THE KEYWORD DICTIONARY.
`
`111
`
`GET THE LIST, PROJECT, AND CONTACT INFORMATION
`CORRESPONDING TO THE MATCHED KEYWORD FROM THE
`KEYWORD DICTIONARY.
`
`111
`
`1116
`
`ALL THE LIST, PROJECT
`AND CONTACT OBJECTS BEEN
`MODIFIED IN THE OUTPUT
`BUFFER?
`
`YES-1118
`
`STORE THE LIST, PROJECT, AND CONTACT
`INFORMATION FROM THE KEYWORD DICTIONARY INTO
`THE PREVIOUSLY UNMODIFIED PORTIONS OF THE
`
`OUTPUT BUFFER.
`
`INITIALIZE THE KEYWORD AND CURRENT
`KEYWORD BUFFERS.
`
`FIG. 11
`
`11/50
`
`SAMSUNG EX. 1005
`
`11/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 11 0f 26
`
`6,026,410
`
`Ev
`
`55289: A__-_.
`omo>>>wxoo< p.202;
`Smog03EB:02
`.__._.om=.om_n_EEO;O._._mI__._L..w_._mo<m_n_o._mO>>__.__mo<m_n_QEO>>=VomO>>>mxoo<
`
`
`
`
`
`
`
`
`
`
`
`
`
`.__._.om_8mn_SmogO._._m=.___._.-...._o._mo>>o._._m_I__v
`
`
`...5:9%;03:.3.03:...982%!22
`
`
`
`
`
`A.5m..oE9%;0313818;9:
`
`:5:
`
`29..
`
`
`
`p.203;29.;5:288<
`
`6szE32...
`
`pmm20..Es?
`
`QmO>>>mx
`
`
`
`
`
`
`
`
`
`vmw-mzoEzEmoom0>>>m§mmm->m<zo_._.o_ommm-wmmOOEH
`
`29...
`
`_.zOm.=>>
`
`Ira:GEO;
`
`O._._m_+_
`
`
`
`
`
`
`
`
`
`>>OmHo<._.zooHowaOmmHm:MmQEO>>>mxmmoo.m._.kflmmo
`
`
`
`x2:
`
`
`
`=OI_I.wI:
`
`.869.Ill..n_._m0>>._I__O._._mI__a
`
`
`
`QED;0.3m;
`
`__._.om=.omn_
`
`
`
`Pm:mo<mm
`
`NH.GHm
`
`12/50
`
`SAMSUNG EX. 1005
`
`12/50
`
`SAMSUNG EX. 1005
`
`
`
`
`
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 12 0f 26
`
`6,026,410
`
`
`
`
`
`
`
`misfiXmH0<HzooPowwOmm._.m_._
`
`
`
`
`
`zO_._.<_>_mou_z_ommEbDEb.Snzbo
`
`.98onFSmog9d;
`
`NLOMBE
`
`
`
`Eco;0.5;.
`
`
`m__zom.__>>__._.om=.Omn___._.m:GEO;__mo<m_n_EEO;m29...GEO;
`
`
`
`
`
`
`O._._m_..___O._._m_.___sz>mm>mO._._m_.___
`
`
`v__zOm.=>>__._.om=,omn_Pm:QED;__o._m0>>O._.._m=._v29...
`
`
`
`
`
`
`o._mO>>O._._m=.___O._._m=.___mzo>mm>mO._._m__.___
`
`ma.Umrm
`
`13/50
`
`SAMSUNG EX. 1005
`
`
`
`zo_mmm_mn_xwCm:._.3n_z_mum:
`
`
`
`__Q.EO>>O._._m_I__
`
`
`
`__m_o<m_n_QED;O._._m_I__
`
`13/50
`
`SAMSUNG EX. 1005
`
`
`
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 13 0f 26
`
`6,026,410
`
`SUGGEST CONTACT KEYWORDS
`PROCESSING LOGIC
`
`TOKENIZE INPUT TEXT EXPRESSION
`
`M
`
`CHECK EACH TOKEN FOR PRESENCE IN KEYWORD DICTIONARY OR
`PRESENCE IN A LIST OF NON-SUGGESTIBLE WORDS
`
`114
`
`IF THE TOKEN IS NOT PRESENT IN THE DICTIONARY OR IN THE LIST
`OF NON-SUGGESTIBLE WORDS, SUGGEST THE TOKEN
`
`1416
`
`
`
`IF THE TOKEN IS PRESENT IN THE DICTIONARY OR PRESENT IN
`THE LIST OF NON-SUGGESTIBLE WORDS, CONCATENATE THE FIRST
`CHARACTER OF THE NEXT SEQUENTIAL TOKEN TO THE END OF THE
`PREVIOUS TOKEN AND LOOK UP THIS AUGMENTED TOKEN IN THE
`KEYWORD DICTIONARY AND IN THE LIST OF NON-SUGGESTIBLE
`WORDS. CONTINUE UNTIL A UNIQUE AND SUGGESTIBLE TOKEN IS
`GENERATED. SUGGEST THE UNIQUE TOKEN.
`
`1418
`
`APPEND ALL TOKENS OF THE INPUT EXPRESSION TOGETHER AND
`LOOK UP THIS COMBINED TOKEN SET IN THE DICTIONARY AND IN
`THE LIST OF NON-SUGGESTIBLE WORDS. SUGGEST THE
`COMBINED TOKEN IF NOT FOUND IN THE DICTIONARY OR THE LIST
`OF NON-SUGGESTIBLE WORDS
`
`1420
`
`FIG. 14
`
`EXIT
`
`14/50
`
`SAMSUNG EX. 1005
`
`14/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 14 0f 26
`
`6,026,410
`
`
`
`:zoammonia292.282mom5%m_£2<20:;928mm;
`
`
`
`._.zm_n__om_m_>u_w
`
`828302$02m>EE0m§oo<20:;828mm;
`
`m._.<0m_._m_o\.
`
`5:02%,.mo20:2EmzoEz
`
`._.w_._m
`
`Eoz<98105.2BMBE
`
`
`imam;omIo<t.<m
`
`E02<E819::zOmmE
`
`
`zOmEmmom10<._.._.<or
`
`:9852<EEmEz9E23szoco<NEE88@895
`
`95meI
`
`mmmmog.oE.xmo;.220:
`
`
`
`mmmmoo<._<o_m>ImNF
`
`
`
`czmaammEV__oo_.<2E02<02%Emmmmog425m
`
`
`
`_>u_.__<_>_m_of
`
`96358£2<92mm9mmmmog425
`
`$2232mzoE.omgags.mzoI
`
`
` OH.=<_2mmFmmmSSZszIn.S
`
`
`
`
`
`
`mmmmog425m.05mozdioxw52$?
`
`
`
`mmmmmo<.__<_2mm.P
`
`
`
`
`
`ESE/2mmSDQEE<85%5.226500:;28mm:
`
`
`
`
`
`mobxmmomn_0._m>2m_.2.
`
`29258;825oz<>98EOZE222
`
`5%wzmmm_E:Eczfix<00__mm_z_Ezoo__
`
`
`
`m._m<._.mat.._bm_.mo
`
`zoEEommn
`
`mmo._m_>zm_0mm:>m§
`
`
`
`ESmseozimsfiméoz
`
`
`
`swam;“520:2
`
`
`
`55282855;
`
`EEage0258mm
`
`m._.<oGzEmaomm
`WEDm._m_2_m
`
`SE:.5:
`._.0m=.Omn_
`zOmmemwmNF
`
`
`
`
`
`
`
`EmaammSEESNEEEod>zmE5955<5%0:;28mm;
`
`
`
`mmozmam_n_o._m_>zmmF
`
`ma.Umm
`
`15/50
`
`SAMSUNG EX. 1005
`
`15/50
`
`SAMSUNG EX. 1005
`
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 15 0f 26
`
`6,026,410
`
`OBJECT ASSOCIATION TABLE
`
`TYPE
`
`ASSOCIATED TABLE
`
`ENVELOPE
`
`ENVELOPES
`
`LIST ITEM
`
`PROJECT
`
`LIST ITEMS
`
`PROJECTS
`
`SIMPLE DATE
`
`SIMPLE DATES
`
`RECURRING DATE
`
`RECURRING DATES
`
`PERSON
`
`LIST
`
`DELEGATE
`
`FYI RECIPIENT
`
`PEOPLE
`
`LISTS
`
`PEOPLE
`
`PEOPLE
`
`ATTACHED PROJECT
`
`PROJECTS
`
`ATTACHED PERSON
`
`PEOPLE
`
`KEYWORD
`
`KEYWORDS
`
`PHYSICAL ADDRESS
`
`PHYSICAL ADDRESSES
`
`EMAIL ADDRESS
`
`EMAIL ADDRESSES
`
`PHONE NUMBER
`
`PHONE NUMBERS
`
`EMAIL TO
`
`EMAIL FYI
`
`EMAIL ADDRESSES
`
`EMAIL ADDRESSES
`
`ENVELOPE CREATOR
`
`PEOPLE
`
`ENVELOPE SENDER
`
`PEOPLE
`
`FIG. 16
`
`16/50
`
`SAMSUNG EX. 1005
`
`16/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 16 0f 26
`
`6,026,410
`
`SAMPLE DATABASE
`
`PROJECTS (TYPE=2)
`KEY
`NAME
`201
`PATENTS
`
`SIMPLE DATES (3)
`KEY
`DATE
`
`0
`
`202
`
`THU., 2/7/97
`
`PEOPLE (5)
`
`KEY
`NAME
`
`BRIAN SMIGA
` 204
`JIM SALTER
`
`TOM HAGAN
`DENNIS BUCHHEIM
`
`
`
`LISTS (6)
`KEY
`207
`
`NAME
`CALLS
`
`KEYWORDS (11)
`KEY
`KEYWORD
`208
`CALL
`209
`PATENT
`
`°
`
`EMAIL ADDRESSES (13) °
`
`KEY
`210
`211
`
`ADDRESS
`smi a@ac1ioneer.com
`ha an@actioneer.com
`
`LINKS
`
`0
`
`
`
`
`
`KEY1 TYPE1 OBJECTDESCRIPTION1
`KEY 2 TYPE2 OBJECTDESCFIIPTIONZ
`
`_ "CALLS" LIST
`-_ ”CALL" KEYWORD
`
` ”PA TENT" KEYWORD
`—”PATENTS" PROJECT 2-_
`
`
`
`"smiga @actioneer. com "
`- ”BFI’IAN SMIGA“PEHSON
`
`Email Address
`
`
`"hagan@actioneer. com"
`- "TOM HAGAN" PERSON .-
`Email Address
`
`
`
`
`
`
`
`
`FIG. 17
`
`17/50
`
`SAMSUNG EX. 1005
`
`17/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 17 0f 26
`
`6,026,410
`
`
`
`
`
`m.._m<._.v.2...m._ms_<m
`
`$569.w—mommmod>2mNEEIIII._EficcuammEch5wowmEOHuSZmmEEoz#235:5:lgEQEEIiNENZOEQEQMMQ
`
`hoflfioNmat.N>5.FzotmfiommnhumaneFmat.F>5.
`=E..mcco:m
`III!
`
`
`=Eooummcouom©:mmml.3F_.mmqumSZmmEEIll!
`
`=Eooummcoaom©m9EM.mwoEMQquSZmm_.N
`III!
`
`
`zomfiegemEm.lag!EHEBOSE
`1&5.lgSEE:IE585355..I;SEE:!2m
`
`
`
`52%9lgg!32053535.5lag!2N
`
`
`
`ESEES$5.lgg!2N
`
`
`
`EEEE:lggl2“
`
`
`
`BmBE8:03.?.22.”:E.lgg!m5.
`
`
`
`28EEIQEEEas.!ggl2N
`
`3.Uum
`
`18/50
`
`SAMSUNG EX. 1005
`
`18/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 18 0f 26
`
`6,026,410
`
`
`
`FIG. 19
`
`19/50
`
`SAMSUNG EX. 1005
`
`19/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 19 0f 26
`
`6,026,410
`
`
`
`FIG. 20
`
`20/50
`
`SAMSUNG EX. 1005
`
`20/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 20 0f 26
`
`6,026,410
`
`COLLABORATION
`
`
`
` 211
`
`
`IS
`FINAL ANSWER
`NEGATIVE
`AFFIRMATIVE
`
`
`
`
`AFFIRMATIVE OR
`
`NEGATIVE?
`
`
`
`
`
`
`
`
`DELETE FROM
`
` ACKNOWLEDGE
`
`CALENDAR AND
`
`
`FILE IN CALENDAR
`AND
`
`PROJECT/CONTACT
`
`
`
`
`FIG. 21
`
`21/50
`
`SAMSUNG EX. 1005
`
`21/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 21 0f 26
`
`6,026,410
`
`START
`
`gm
`
`IDENTIFY DELEGATE
`
`&
`
`ADD HEADER TO ACTION REQUEST
`& SEND COPY TO DELEGATE
`221
`
`FILE ACTION REQUEST
`PENCIL IT INTO CALENDAR
`AND/OR PROJECT/CONTACT LISTS
`
`2_2fi
`
`E29
`
`WAIT FOR REPLY FROM DELEGATEE(S)
`
`UPDATE
`ACflON
`REQUEST,
`REFILE.
`
`PUT INTO
`
`CALENDAR,
`ETCJNINK
`fl
`
`2225
`
`
`
`
`'5
`REPLY
`
`AFFIRMATIVE
`AFFIRMATIVE ,
`
`NEGATIVE,
`
`
`0R
`OTHER?
`
`
`NEGATIVE
`
`CALENDAR,
`
`DELETE FROM
`
`
`
`OTHER
`
`NEGORARON
`
`M
`
`2245
`
`
`
`OR NEGATIVE?
`
`FIG. 22A
`
`22/50
`
`SAMSUNG EX. 1005
`
`22/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 22 0f 26
`
`6,026,410
`
`START
`
`PLACE RECEIVED ACTION REQUEST IN
`DELEGATEE'S INBOX
`225-19
`
`DISPLAY OPENED ACTION REQUEST
`
`IN PROPER FORMAT
`
`2255
`
`PROMPT FOR REPLY
`
`2260
`
`PLACE ON LIST AND CALENDAR IN
`26['0
`
`PENCIL
`
`0'1
`
`I
`SEND REPLY TO ORIGINATOR 227O
`
`MOVE ACTION
`REQUEST FROM
`IN BOX TO
`ACTION LIST.
`PUT INTO
`
`2280
`
`CALENDAR, ETC.
`IN INK
`
`AFFIRMATIVE
`
`
`
`2275
`
`
`IS
`REPLY
`AFFIRMATIVE,
`
`
`NEGATIVE,
`
`OR
`
`OTHER?
`
`OTHER
`
`NEGATIVE
`
`CALENDAR,
`
`DELETE FROM
`IN BOX AND
`
`
`
`NEGOTIATION
`
`M
`
`2295
`
`
`
`
`
`IS FINAL
`
`ANSWER AFFIRMATIVE
`
`OR NEGATIVE?
`
`
`
`
`
`NEGATIVE
`
`AFFI RMATIVE
`
`FIG. 22B
`
`23/50
`
`SAMSUNG EX. 1005
`
`23/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 23 0f 26
`
`6,026,410
`
`
`
`UPDATE FILED
`MESSAGES
`
`fl
`
`PROMPT FOR REPLY
`
`M
`
`SEND REPLY
`
`M
`
`
`
`
`
`
`
`
`IS
`AFFIRMATIVE OR
`
`
`REPLY
`END NEGOTIATION
`NEGATIVE
`
`
`PROCESS
`AFFIRMATIVE, NEGATIVE
`
`OR OTHER?
`
`
`250
`
`
`
`
`M
`
`
` AUTO-TERMINATE
`
`PROCESS?
`
`SET FINAL ANSWER
`T0 N0
`
`FIG. 23
`
`24/50
`
`SAMSUNG EX. 1005
`
`24/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15,2000
`
`Sheet 24 0f 26
`
`6,026,410
`
`FILE FYI
`
`242
`
`IDENTIFY RECIPIENTS
`
`M
`
`
`
`ADD HEADER TO FYI
`
`fl
`
`SEND FYI TO
`
`RECIPIENTS
`
`240
`
`FIG. 24
`
`25/50
`
`SAMSUNG EX. 1005
`
`25/50
`
`SAMSUNG EX. 1005
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 25 0f 26
`
`6,026,410
`
`V
`N
`
`
`
`@xmthmBfipE\Ifimwzmmfifi
`
`@“Qnfinfifinwv-nbmzm8mos
`
`>620:\.\\\\\\\\\\\\\A .><owm_3._.7‘w2%m8anmzommmEVMEmamHz<om2:.5.\fl‘g‘H.10.5%;£0...“‘mgyawnkfisgfifigauiwhhmxatmo;
`.xatmom>520:8mmEm.
`#8on
`
`mmmmH
`
`E<mN.Gmm
`
`4bIi.
`
`mmmm\3mm\
`
`_>_O._.
`
`zOFo<OHmmjmmm
`
`meacmm
`
`22szHEOE
`
`xPowwOmmME
`
`29.HO._.
`
`8mm\
`
`20h
`
`
`
`zO:.o<mm>_mom_m
`
`meDOmm
`
`ommm
`
`u:mm;0mm;o
`
`
`
`Fzmgsao0oz0Em$5:.29
`
`
`
`mzooo_.E;62.5%<%
`
`
`8mmEm$5:.28mmmm29.9bmzmo;mow
`
`
`
`TE;62.5%<a:\922mg.zoExMEmo;2022,.
`bmzm8mow_#885
`
`moo
`
`
`
`
`
`
`
`
`
`
`
`
`26/50
`
`SAMSUNG EX. 1005
`
`26/50
`
`SAMSUNG EX. 1005
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Feb. 15, 2000
`
`Sheet 26 0f 26
`
`6,026,410
`
`
`
`n:.:0o._.___.wm;
`
`z<om>>
`
`.><owm5._.mo;
`
`ugzomzommm
`
`m_zzmoHO._.
`
`
`
`5.9.UEOE
`
`”saw
`
`
`
`Emmw<m_._n_.20...
`
`
`
`_.E>>oz_._.mm=>_<n5
`
`.502m0;mow
`
`
`
`How—damxm5.mo“.55202
`
`n:tOn.3
`z<om>>_.wm>
`
`.><n_wm:._.mo;
`
`EDQMIOmmm
`
`
`
`m_22m_n_“OH
`
`
`
`_>_O.rHEOE
`
`u_o:m_
`
`mmmm
`
`
`
`
`
`._.m_mmm<m._n_.29.
`
`V\\\\\\\\\\\\\
`20:.<mez
`
`i
`
`‘-.‘~:-~
`
`gnu“
`.‘.“.|.|...l.ll.li
`1.22m0.‘.......~..‘
`
`“‘~.“.‘~.‘-
`
`o
`
`
`
`I._._>>Gz_._.m_m_2<n5
`
`.582m0;mow
`
`
`
`Powwcmmxm=.:.$0;53202
`
`‘V
`I
`.\“
`
`}I
`
`EI
`
`w_zzmn_
`
`
`
`wEmmamw>_m_om_m
`
`._.zm_>=>_oooOz0
`
`n=xo0v50
`
`>><mo_._._._>>o
`
`szmoHo...
`
`
`
`29.nEOE
`
`“6cm
`
`”8
`
`
`
`u::OD._.___.mm;
`
`245ES
`
`.><omm5._.mo”.
`
`52510me
`
`Ilillilllllllth
`W“~‘:fi-i
`‘IMEEE‘
`‘é
`.‘h‘...~‘-
`mmN.Umm momz_._._<>>
`
`
`
`
`
`27/50
`
`SAMSUNG EX. 1005
`
`27/50
`
`SAMSUNG EX. 1005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,026,410
`
`1
`INFORMATION ORGANIZATION AND
`COLLABORATION TOOL FOR PROCESSING
`NOTES AND ACTION REQUESTS IN
`COMPUTER SYSTEMS
`
`FIELD OF THE INVENTION
`
`invention relates to the organization and
`The present
`access to information stored in a computer system. More
`specifically, the present invention relates to the analysis of
`natural language input to produce structured information
`output and the processing of notes in a computer system. The
`present
`invention also relates to time and action/project
`management using a computer system. More specifically,
`the present invention relates to a method and apparatus for
`collaboration between two or more persons for time and
`project management.
`
`DESCRIPTION OF RELATED ART
`
`in the prior art for
`Many application programs exist
`organizing information in particular ways or for manipulat-
`ing specific types of information. For example, word pro-
`cessing applications are specifically designed for manipu-
`lating text documents in a computer system. Similarly
`databases in the prior art provide means for structuring data
`in well defined ways. Further, calendaring systems provide
`a structured way for tracking events or actions required at
`specified dates and times. Although these prior art applica-
`tions provide ways for organizing information in particular
`ways, it is often inconvenient to require a user to switch back
`and forth between application programs when updates of
`information are required. Moreover, these types of systems
`require a user to organize the information prior to entering
`data into the computer system. For example, the user must
`know to activate a calendaring program if an appointment or
`action date is to be entered. In separate actions, the user may
`also need to update lists or databases associated with the
`appointment or action for which a calendar entry was made.
`In many prior art systems, the user is required to spend time
`navigating around a user interface to link information to the
`desired lists or categories to which it pertains.
`US. Pat. No. 5,115,504 entitled “Information Manage-
`ment System” describes a system for linking elements
`representing stored information in a database. The system
`comprises a link structure formed in a section of the database
`independent of the elements, a pointer in the link structure
`indicating the location of a first element, and a second
`pointer in the link structure indicating the location of a
`second element. The database contains items comprising
`textual data and a plurality of categories into which the items
`may be categorized such that each item may be linked to
`more than one category. The system automatically assigns
`an element in a database to a parent category if it has been
`assigned to a child category of the parent. The system also
`generally features a means for assigning an element in a
`database to one or more of a plurality of categories, the
`categories being hierarchically arranged. The system con-
`structs views as screens of information organized into sec-
`tions having categories and section heads and items pre-
`sented one after another beneath a given section head of a
`category to which the item has been assigned. After entering
`an item, the user can make further assignments directly by
`moving to the columns of the view and entering an existing
`name of a sub-category under the column head. In this
`manner, a link structure is created.
`Unfortunately,
`the system disclosed in US. Pat. No.
`5,115,504 still requires a user to directly manipulate infor-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`mation categories on a display screen. Using this approach,
`a user is still required to organize the information in some
`fashion on entry of the data into the desired category. In
`many situations, it is inefficient and inconvenient for a user
`to pre-organize and explicitly store information in this
`fashion. Moreover, further efficiencies could be obtained if
`a user could provide input in a convenient free form or
`natural language representation. It would also improve prior
`art systems if a user could update an information item or
`action item easily, quickly and without losing the context in
`which he/she is currently engaged.
`Another disadvantage of the prior art systems described
`above, is that they do not provide a mechanism for collabo-
`ration between users or between applications. Organizing
`one’s own information is important, but actions/projects are
`often shared between two or more people. In other words, it
`is not sufficient to organize one’s own To Do lists and
`calendars. The user should also be able to collaborate with
`
`other users to assign projects, accept project assignments,
`and inform others. Furthermore, an ability to notify others of
`the status of projects is advantageous.
`One prior art method of allowing multiple users to work
`together includes using e-mail to send messages to others.
`Although this prior art application allows users to commu-
`nicate regarding any topic, it is not linked to calendars, lists,
`or external databases maintained by the users. Thus, as an
`agreement evolves with each e-mail exchange, the user is
`often involved in updating everything associated with the
`project. It would further improve prior art systems if a user
`could update an action item easily, quickly and without
`losing the context in which he/she is currently engaged.
`Further, it would be an improvement over the prior art to
`provide a system whereby multiple users could collaborate
`and track action items between many participants and across
`many computer systems.
`Another prior art method utilizes top down delegation.
`This allows a supervisor to delegate projects to subordinates.
`However,
`it does not allow negotiation or collaboration
`between users. Rather, it is rigidly hierarchical. Thus, this
`method is not useful
`for collaboration and negotiation
`between peers. Another disadvantage of such prior art sys-
`tems is that they use a client-server system. That is, a server
`has to be provided as a repository of information regarding
`the collaboration process. Thus, only clients that are con-
`nected to the server can participate in the collaboration. This
`means that persons who are not linked to the same server can
`not participate in the collaborative environment.
`It would be an improvement over the prior art to provide
`a system that allows collaboration between two or more
`users. Further, it would be an improvement over the prior art
`to provide a system whereby multiple users could collabo-
`rate and track action items between many participants and
`across many computer systems.
`Thus, a better natural language information organization
`and collaboration tool is needed.
`
`SUMMARY OF THE INVENTION
`
`The present invention is a natural language based infor-
`mation organization and collaboration tool for a computer
`system. The present invention includes an apparatus and
`method for processing text expressions in a computer
`system, the apparatus including: 1) relational object data-
`base defining an information object with an associated
`keyword, project, list, contact, date/time event or enclosure;
`2) a user input device for receiving an input text expression;
`3) a parsing device for identifying the keyword in the input
`
`28/50
`
`SAMSUNG EX. 1005
`
`28/50
`
`SAMSUNG EX. 1005
`
`
`
`6,026,410
`
`3
`text expression, the parsing device including functions for
`linking the input text expression to the information object
`based on the keyword identified in the input text expression;
`and 4) a user output device for displaying to the user the
`identity of the information object to which the input text
`expression was linked. The apparatus of the present inven-
`tion further includes supplemental information in the object
`database which is related to the information object, and the
`user output device further includes functions for displaying
`the supplemental information when a corresponding key-
`word is identified in the input text expression. The apparatus
`of the present
`invention further includes a method and
`apparatus for collaboration between users of a time and
`project management system.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by way of example,
`and not by way of limitation, in the figures of the accom-
`panying drawings and in which like reference numerals refer
`to similar elements and in which:
`
`FIG. 1 illustrates a complete system on which the present
`invention may be implemented.
`FIG. 2 is a block diagram of the main system elements of
`the present invention.
`FIG. 3 illustrates a display screen showing the keynote
`and shadow regions.
`FIGS. 4A, 4B, and 5—7illustrate the operation of the user
`interface of the present invention.
`FIG. 8 is a block diagram of the components of the parser.
`FIG. 9 is a flow diagram showing the processing flow of
`the lexical analysis tool.
`FIGS. 10—11 are flow diagrams showing the processing
`flow of the keyword parser.
`FIGS. 12—13 illustrate examples of the processing per-
`formed by the keyword parser.
`FIG. 14 is a flow diagram showing the processing flow of
`the suggest list keyword function.
`FIGS. 15—18 illustrate the organization of tables in the
`object database of the preferred embodiment.
`FIG. 19 is a diagram of a client-server system.
`FIG. 20 is a diagram of a peer-to-peer distributed system.
`FIG. 21 is a flowchart illustrating an overview of the
`present invention.
`FIG. 22A is a flowchart illustrating the collaboration cycle
`as viewed by the originator, or requester.
`FIG. 22B is a flowchart illustrating the collaboration cycle
`as viewed by the recipient, or delegate.
`FIG. 23 is a flowchart illustrating the negotiation process
`of the present invention.
`FIG. 24 is a flowchart illustrating the distribution of an
`FYI note.
`
`FIGS. 25A and 25B illustrate a graphical an example of
`the collaborative process.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The present invention is a natural language based infor-
`mation organization and collaboration tool for a computer
`system.
`In the following description, numerous specific
`details are set forth in order to provide a thorough under-
`standing of the present
`invention. However,
`it will be
`apparent to one of ordinary skill in the art that these specific
`details need not be used to practice the present invention. In
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`other circumstances, well-known structures, circuits, and
`interfaces have not been shown in detail in order to not
`obscure unnecessarily the present invention.
`FIG. 1 illustrates a typical data processing system upon
`which one embodiment of the present invention is imple-
`mented. It will be apparent to those of ordinary skill in the
`art, however that other alternative systems of various system
`architectures may also be used. The data processing system
`illustrated in FIG. 1 includes a bus or other internal com-
`
`munication means 101 for communicating information, and
`a processor 102 coupled to the bus 101 for processing
`information. The system further comprises a random access
`memory (RAM) or other volatile storage device 104
`(referred to as main memory), coupled to bus 101 for storing
`information and instructions to be executed by processor
`102. Main memory 104 also may be used for storing
`temporary variables or other intermediate information dur-
`ing execution of instructions by processor 102. The system
`also comprises a read only memory (ROM) and/or static
`storage device 106 coupled to bus 101 for storing static
`information and instructions for processor 102, and a data
`storage device 107 such as a magnetic disk or optical disk
`and its corresponding disk drive. Data storage device 107 is
`coupled to bus 101 for storing information and instructions.
`The system may further be coupled to a display device 121,
`such as a cathode ray tube (CRT) or a liquid crystal display
`(LCD) coupled to bus 101 through bus 103 for displaying
`information to a computer user. An alphanumeric input
`device 122, including alphanumeric and other keys, may
`also be coupled to bus 101 through bus 103 for communi-
`cating information and command selections to processor
`102. An additional user input device is cursor control device
`123, such as a mouse, a trackball, stylus, or cursor direction
`keys coupled to bus 101 through bus 103 for communicating
`direction information and command selections to processor
`102, and for controlling cursor movement on display device
`121. Another device which may optionally be coupled to bus
`101 thorough bus 103 is a hard copy device or printer 124
`which may be used for printing instructions, data, or other
`information on a medium such as paper, film, or similar
`types of media. In the preferred embodiment, a communi-
`cation device 125 is coupled to bus 101 through bus 103 for
`use in accessing other nodes of a distributed system via a
`network. The communication device 125 may include any of
`a number of commercially available networking peripheral
`devices such as those used for coupling to an Ethernet, token
`ring, Internet, or wide area network. Note that any or all of
`the components of this system illustrated in FIG. 1 and
`associated hardware may be used in various embodiments of
`the present invention; however, it will be appreciated by
`those of ordinary skill in the art that any configuration of the
`system may be used for various purposes according to the
`particular implementation. In one embodiment of the present
`invention, the data processing system illustrated in FIG. 1 is
`an IBM® compatible personal computer or a Sun® SPARC
`workstation. Processor 102 may be one of the 80X86
`compatible microprocessors such as the 80486 or PEN-
`TIUM® brand microprocessors manufactured by INTEL®
`Corporation of Santa Clara, Calif.
`The control logic or software implementing the present
`invention can be stored in main memory 104, mass storage
`device 107, or other storage medium locally accessible to
`processor 102. Other storage media may include floppy
`disks, memory cards, flash memory, or CD-ROM drives. It
`will be apparent to those of ordinary skill in the art that the
`methods and processes described herein can be implemented
`as software stored in main memory 104 or read only memory
`
`29/50
`
`SAMSUNG EX. 1005
`
`29/50
`
`SAMSUNG EX. 1005
`
`
`
`6,026,410
`
`5
`106 and executed by processor 102. This control logic or
`software may also be resident on an article of ma