`US 6,269,369 B1
`(10) Patent No.:
`Jul. 31, 2001
`(45) Date of Patent:
`Robertson
`
`US006269369B1
`
`(54) NETWORKED PERSONAL CONTACT
`MANAGER
`
`(75)
`
`Inventor: Brian D. Robertson, Cambridge, MA
`(US)
`
`(73) Assignee: Amazon.Com Holdings, Inc., Seattle,
`WA(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 08/962,997
`
`(22)
`Filed:
`Nov. 2, 1997
`(SV) Tite C07 eeeeeeeeeeescsseesensnteneeeceececennennnnenss G06F 3/00
`
`(52) U.S. Che ee eeeeeeeeee 707/10; 709/201; 709/202;
`709/203; 709/300; 709/217; 709/218; 709/219;
`7107/1; 707/104; 707/501; 707/513; 707/201;
`345/327; 345/331
`(58) Field of Search 0...eee 709/300, 201,
`709/202, 203, 217, 218, 219; 707/1, 104,
`501, 513, 10, 201; 345/327, 331
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`T/V992 RiSCh v.eseccsesesceeceeeeeceeereees 707/201
`5,133,075 *
`7/1996 Jonssonetal.
`379/202
`5,539,813 *
`4/1998 Cameron et al.
`w T05/7
`5,737,726
`8/1998 Goldhaberetal.
`717/513
`5,794,210 *
`8/1998 Dec Hond ..........
`we. 345/331
`5,796,395 *
`11/1998 Kennedy etal.
`.
`« 345/335
`5,831,611
`5,835,087 * 11/1998 Herz et al...
`345/327
`5,918,227 *
`6/1999 Polnerow et al.
`......eeeeeeeee 707/10
`OTHER PUBLICATIONS
`
`.
`
`“1997 Edition GS Lotus Organizer/Exploring Organizer/
`Windows95 cdition”, pp. ii—vii and 8-1 — 8-6.
`“Applications Handbook for the Palm II™ Organizer”,
`3Com, pp. tli—v and 1-12, Apr. 1998.
`“Symantec ACT! User’s Guide and Reference, Version 2.0
`For Windows”, pp. ix—xvi and 3-1 - 3-26.
`
`“Information about Lotus Notes from the Lotus Web Site
`(www.Lotus.com)”, pp. 1-13, Apr. 1998.
`“Domino 4.6 Features Overview”, Jul. 1997, 2 pages,
`www.lotus.com/domino.
`
`“Yahoo! White Pages”, Copyright 1994-1998, Yahoo!,
`hitp://www.yahoo.com/.
`“WhoWhere?”, Copyright 1995-1998, WhoWhere? Inc.,
`hitp://www.whowhere.com/.
`Randall A. Tamuraet al “Lotus Notes 4” pp. 39, 64-65, and
`176, 1996.*
`
`* cited by examiner
`
`Primary Examiner—Dung C. Dinh
`Assistant Examiner—Hieu C. Le
`(74) Attorney, Agent, or Firm—Knobbe, Martens, Olson &
`Bear, LLP.
`
`(57)
`
`ABSTRACT
`
`A network-computer-based personal contact manager sys-
`tem is disclosed wherein users of networked clients maintain
`
`and update a set of user information which is stored in a
`relational database on a networked server. The personal
`contact manager system allows each user to specify on an
`individual basis which of their contacts are permitted to
`access respective datumsof their user information. In some
`cases, and assuming permission is granted, the system will
`issue notifications (e.g., by e-mail) to a user’s contacts when
`the user changes his information or when a preset event,
`such as a birthday, as defined by the user, is to occur. The
`system also allows users to find contacts based on common
`group affiliations and notifies users when there are coinci-
`dences in their data (e.g.,
`travel plans, astrological
`compatibility). The personal contact manager system sup-
`ports the retrieval of information on the contacts of contacts,
`assuming such as permission has been granted by the
`contacts and their contacts, and can also be used to syn-
`chronize the server database with a PIM databaseof the user
`
`and any contacts of the user whoe have the appropriate
`permissions.
`
`16 Claims, 14 Drawing Sheets
`
`FSO
`
`J370--
`
`
`
`
`
`Google Exhibit 1044
`Google Exhibit 1044
`Google v. Mullen
`Google v. Mullen
`
`
`
`SID ~.\| SERVER
`
`
`
`JTC.
`DATABASF
`
`
`JIB,|542-T
`
`DISC
`
`
`}
`TABLES
`PROGRAM
`— MODEM
`WEB SERVER
`SOFTWARE
` JE60~.
`
`
`FILES
`SN
`PERS. CONTACT MGR.
`OPERATING Ld
`SOFTWARE
`SAT
`SYSTEM
`‘
`CLIENT COMPUTER S74.
`gage“OPERATING
`SYSTEM
` WORLD WIDE
`
`WEB
`
`BISC
`
` WEB BROWSER-T
` J50-~
`SOFTWARE
`
`
`
`
`
`ISER
`
`e
`
`INTERFACE
`
`a
`
`(0PT)
`aT
`Jee
`
`PIM SOFTWARE
`NS
`
`(OPT)
`
`OPERATING ~~ ["ase
`SYSTEM
`
`
`
`J382—4
`
`J78.~
`MODEM
`
`
`~
`RAM
`\
`WEB BROWSER
`SOFTWARE
`OPERATING
`SYSTEM
`
`
`~
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 1 of 14
`
`US 6,269,369 BI
`
`ONILVWYAdO
`
`92ONILVYSdO
`
`
`
`JYVMLIOSWALSAS
`
`
`
`JYVMLIOSWSALSAS
`
`OL/GYVOSAI™M
`
`ASNOW
`
`AV1dSI0
`
`WdasHdlasd
`
`SIOIAIAG
`
`(LYEHOlHd)£OL/
`
`
`
`JYVMLIOSLNAWNSZDVNVAJYVMLIOSLNANSOVNVWA
`
`
`
`
`
`
`
`NOILVNYOJNITWNOSY3dNOILVNYOANITWNOSY3d
`
`
`
`
`
`PEL
`
`
`
`
`
`
`
`Y4ILNdWOOGISH—-ONVHYONOILVLSMYOMYaSN
`
`OOL
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`YSANSS ~OFS
`
`
`
`INILVYIdOONILVY3dO
`
`
`
`W3ALSASWIALSAS
`
`YSANAS
`
`JYVMLIOS
`
`YSANAS
`
`SYVMLIOS
`
`US 6,269,369 BI
`
`SOVSYSLNI
`
`ONILVYAdO
`
`WALSAS
`
`INILVY4dO
`
`WALSAS
`
`ccOL
`
`LYKOVA)
`
`Sheet 2 of 14
`
`LN4I0
`
`SYVMLIOS
`
`d4sn NOILVLSMYOM
`
`INIT
`
`JYVMLIOS
`
`YJASN
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 3 of 14
`
`US 6,269,369 BI
`
`0SSVIOLONLAGJASNVO8OGNVVSSVIO.——————
`
`0SSVTOLONLNGJASNVOgGNVVSSIVO —————
`
`
`SNOISSINYSdGIANISSCY3ASN
`J3SNVOVSSVIOAINO————————
`J5SNVOVSSVYTOAINO|<————
`J3SNVOANON——\—————
`JASNVOTIVO
`J3SNVOTV—_————
`JasNVOTV=
`
`SSIY¥dCVTVW
`
`SSAYddVMYOM
`
`POC_*
`
`
`
`NOILVWYOINIY3SN
`
`~COE
`
`LAFYOlYaH)&OLS
`
`
`
`SNOILVINISSVYdNOUDS
`
`SILI.gor
`
`AVGHLYIg
`
`
`
`JNOHd3NOH
`
`
`
`AINOHd‘YOM
`
`
`
`SSIYddVSAWOH
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 4 of 14
`
`US 6,269,369 B1
`
`JSVEVLVO
`
`Add
`
`OPE
`
`WV890Yd
`
`Sdls
`
`OINILVASdO
`
`WALSAS
`
`YSIAYNASGam
`
`JYVMLIOS
`
`INILVY3dO
`
`WALSAS
`
`WAIGOW
`
`GEE
`
`PEE
`
`NSANaSOLF
`
`USIG
`weg4M
`YALNdWOODLNSMOJGIMGINOM
`
`
`
`y4sn
`
`JOVJYSALNI
`
`OBS
`
`YISMONSGSM
`
`JYVMLIOS
`
`
`
`YASMOYNE8AM
`
`JYVMLAOS
`
`ONILVYAdO
`
`WALSAS
`
`ONILVYAdO
`
`WALSAS
`
`OLF
`
`O9T
`
`PFOLS
`
`(Lae0/4)
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 5 of 14
`
`US 6,269,369 BI
`
`stayNdoWYYNDONd
`
`
`FOV4NGLNI(140)
`06esad
`aSvavViVGoe
`
`O88YISMONG3M
`
`OPS WALSAS
`NGANISGamWAd0W
`
`yasn
`
`GSOF
`
`
`
`CLE(1d0)
`
`JYVMLIOSWid
`
`ONILVN3dO
`
`WALSAS
`
`YAISMOYEGAM
`
`JYVMLIOS
`
`ONILVYAdO
`
`OSIG
`
`JYVMLIOS
`
`WALSAS
`
`QNILVY3dOPPE
`
`PLE
`
`
`
`MBLNdWODLNIITO
`
`SPENALSAS
`
`FMVMLIOSeee
`
`GPE.
`
`CEL
`
`ONILYYAdO
`
`
`
`
`
`‘MOILOWLNOD‘SN3d
`
`FYVMLIOS
`
`PEE
`
`N3ANIS
`
`OLS”
`
`Jamd1NOM
`
`gam
`
`OGS
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 6 of 14
`
`US 6,269,369 BI
`
`
`
`adk|USISSIWag
`
`&ODF
`
`ByDGpsorvay
`QIpuali4
`9-O9F
`
`OL-O9%
`
`ON3lY3
`
`OG
`
`oC—-OGF
`
`qjuo}}0jay
`
`#ODF
`
`QPawoysng
`
`QHeuieysny=Quewdysny
`
`Y£-Orr
`
`FOS
`
`POLS
`
`&-02S9OZS
`
`OL-O2ZS
`
`LN3AST3AVEL
`
`
`
`CI}USATJoa
`
`Qi4ewoysng
`
`S}POGIDALUY
`
`ayogesnyiodag
`
`aKy!9
`
`#LOS.
`
`of-OZF.
`
`[spicy40430]
`
`a}OQPps0dey
`
`21DGpsccay
`
`OL-O005
`
`2-005
`
`B-~OOS
`
`9-005
`
`8-005
`
`SS3AyddV
`
`oCOSPF
`
`BOSE
`
`OL—O8F8OSPF9-O8F
`
`ol-OSF
`
`tLOF
`
`GL-O8%
`
`Off
`
`OOS
`
`OFF
`
`
`
`SaTagvVlYAIHLO
`
`OFS
`
`[splay4@U30]
`
`ou
`OFOrr
`GLOrr
`GL—OPP
`
`Appuyiig
`BLOFF
`
`gKy9
`CL-OPP
`
`SWON}S07
`
`OL-Orr
`
`Gi4awojsng=Qgawojysng
`
`NN,2OFF
`
`[spe42410]
`
`EL-OLP
`
`BL-OCE
`
`OL-OfP
`
`8-OLF
`
`YSWOLSND
`
`ObF
`
`Q|4ewoysng
`
`o~OrFr
`
`a}DQpsosey
`Bb-OrP
`
`SLWDUJIS/)
`GOFF
`
`WON3844
`P4OMSSD
`Geuisysn58Orr
`=Qpemoysnd(
`bo~OZKk
`gl4atuo,sng
`aAUY
`9-0f¢+-0E¢
`£OOF
`
`gidnoig=
`gidnoi
`
`(
`
`OCP
`
`ALINISSV
`2-06
`
`i
`
`OSE
`
`oC-OOF
`
`OOF
`
`OL—O0%&—OOF2OOF
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 7 of 14
`
`US 6,269,369 B1
`
`260 mS]
`
`PSEUDO REGISTRATION FORM
`
`3560-2
`
`S560-— 72
`
`[60-74
`
`.
`
`560-20
`
`560~ 16
`
`_e
`
`Year of Enraliment[—] Graduation veor7]
`
`900-18
`
`Year of Enrollment[ Graduation ver[J
`
`FIG. 7
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 8 of 14
`
`US 6,269,369 B1
`
`580 ——.
`
`~
`
`PSEUDO GROUP LIST FORM
`
`(0280-2
`Following are the other members who went
`your college at about
`the same time.
`
`to
`
`280-4
`
`to the names of the people
`Click on the boxes next
`you’d like to add to your Address Book.
`
`I5SO- 6
`
`-_
`—\
`State University, 1982-1986
`580-10
`
`5ESO- &
`
`SBO- f2
`
`
`
`SEO 74
`
`BX] ohn Doe (Graduated’ 1985)
`[J Robert Johnson (Graduated 1986)
`
`
`
`|__] Jane Smith (Graduated 1986)
`
`ISO- 16C
`
`F/G. &
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 9 of 14
`
`US 6,269,369 B1
`
`600
`
`PSEUDO PERMISSION FORM
`
`C00- 2
`
`Click on the boxes next
`you would like to grant
`
`to the Permission Levels that
`to your new contact
`
`b00— 4
`
`John Doe
`
`NS] Crossing Paths Notification Permission
`Personal
`Information
`
`600-6
`
`600-8
`
`
`
`600-
`
`600—
`
`a x
`
`600-10
`] Work Information
`
`x]
`
`><]
`
`600-12
`Birthday Notification
`
`COO 74
`Friend of Friends Information
`
`600— 16C
`
`FIG.
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 10 of 14
`
`US 6,269,369 BI
`
`IEE
`
`ecg
`
`
`
`
`
`UO!JOUUOJUSIU}99S}P2A1}Ssuayjes/{“4IOMO}Jaquawday}
`
`
`
`S|UOlDUWIOJUIOYJEANSYOOOUDHCZ“OLUOH
`
`
`
`
`*PEO~SHY)“4eusNyAlINLPlouodETZXG6BE-199(L19)sayBuyKgpaljos}yuossi6E1Z0YW‘@bpriquuo5
`
`JoAjjigoay~~~O£9/Lud
`7-#69
`_AqpeulpyuiowBELZOYW‘abpiiquing?7£9~
`Alin,piouog99ZL-9/S(L19)
`
`
`
`
`
`‘dsi@x}jN}p{IDWSUDSNS‘eae,
`OadNASd~OCOG———-LLG
`
`29¢T3A31OdANSd&VSN)‘MOOSSS3YdGV
`
`
`
`
`
`;LVJA31‘JOVAYNSLNIMOOSSSIYNGdV
`
`
`ZAXMANLSYOdGONWIMPIHDSASCOEV
`PED\ove
` O78~L9O6L‘LLJ4equasag‘ADpuyg
`
`
`
`
`eroaonmigJOR,929
`
`AlN,“pjouogBonigJOKO]~
`
`
`
`
`GE9MOOgsS3yddyYodnsSsd
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 11 of 14
`
`US 6,269,369 B1
`
`650
`
`mT,
`
`PSEUDO MEMBER UPDATE
`
`Member Update ———~ 650~2
`December 7, 1998
`
`650-4
`
`The following of your contacts have upcoming birthdays:
`—
`Avery Rogers (Dec.
`11)
`_
`—
`Jane Bigelow (Dec. 14) 690-6
`
`Your contacts have registered the following address changes:
`_
`Tom Kohn
`
`650-8
`
`New work address:
`1000 Wilson Boulevard+650~ 70
`Arlington, Va 22229
`
`New work phone:
`
`703-558-3312 beso “2
`
`-
`
`CSO0— 74
`
`The following new members have affiliated with the same groups as you:
`”
`9
`pap 16
`~-
`Gary Clayton (State College, 1985
`
`C50-— 18
`
`The following members have linked to you and have requested that
`you reciprocate:
`~
`Jun Ohama
`—
`
`Lee Rogers \650-20
`
`650-22
`
`You have scheduled a trip to Phoenix on December 14. The following of
`your contacts live in Phoenix or will be in Phoenix on that date:
`—
`Andrew Kress
`
`—
`
`Taylor Pierce \ a0-24
`
`050-26
`
`Anne Thierry \aso <8
`
`According to Astrology,
`you today (Libras)
`-
`Bryan Jamieson
`
`-
`
`the following of your contacts are compatible with
`
`_
`
`FIG.
`
`77
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 12 of 14
`
`US 6,269,369 BI
`
`OL9
`
`
`
`
`
`
`
`LSIHLY¥dONISSOYDOCGNISd
`
`
`
`SHI]PINOMNOKflSAWDU44}0}JXAUSAaxogay}Yd3dYO
`
`
`
`TobDaIYDBulpisiAaq[IMNOAYOUWay}WOU0}
`
`"B4BU}BIDNOAAIM
`
`r-0L9-—"
`
`9-0£9-—
`
`OBDSIYDUFSAT]OUMa1d08q
`
`
`
`obos1ydulaq{iM$}9D}U0DANCAjoBuImoyo,oyL
`
`Z-0£9—"
`
`
`
`wai095[]18JDQUoA}IDQaADda7}
`
`Of—099
`
`wiaiyAsjegAYOSIY}UlaflyM
`
`
`
`
`
`arsaiqJof~o,[7]
`
`yono,utya0}Moy
`
`OL“OLDS
`
`
`
`ayosynyoiuoy[7]
`
`CLOLF
`
`
`
`099-—WHOST3AVYLGOVOdNsSd
`
`o-O99
`
`#-OGD
`
`
`
`&-O99|“AJPUNOD
`9-OG?
`
`OO99
`
`:3}DQUOAIDUiBAL
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 13 of 14
`
`US 6,269,369 BI
`
`ISS
`
`
`
`SONJFIY4IJOSONAIN4SOdNSASd
`
`VYSEWSW40SLYOd45y
`
` WYGNOINUlSpuiallyJOSPUAally
`INO,
`
`CBP
`
`(GJequiawDIA)9Jaquuay
`
`VJaquen\
`
`
`
`£69——299are
`
`
`
`SUOISSILUJAD\SPUAII4JOSPUa4YPMSUOISSILUIadJOfara]AUDUYIMYJequawoO}Syul|gJequueygGJequeayOo}sul]YJeaquuay
`
`
`
`gGJequayoO}syxul]9sequuay)Jaquiay0}SUI]gJequuaygg\—age
`
`gJequuay
`
`
`
`SUOISSILUIAA\SPUAall4JOSPUAIL4YIMSUOISSILUIAdJOf@Aa{AUDUY}IM
`
`
`
`
`
`ISP_/
`
`ELOL
`
`
`VvdnoigDQsaquiaw\
`
`PED
`
`
`
`
`
`
`
`
`
`US 6,269,369 BI
`
`JOSULIODO}BjIGDaqjjIMS}UDYsSISSY
`
`
`
`JOWHIgjOUOS4aYJOS4ayndwods
`
`
`
`PjaYPUBYPal[DdSsadiAap@aLUOS
`
`
`
`
`
`(¢“biyul
`
`BIOMYOSWid
`
`COL
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 14 of 14
`
`OS
`
`JUD}sISsSY
`
`
`[OyIHigjOUOSJaY
`
`dayndwiog}UayD0}sDjILUIS)
`
`
`
`
`
`6gsayndwogjueUO!JOLUJOJULPaDbUBYDYIM
`
`payopdnsisayndiuos
`
`FOLE—
`
`syiuqnsyJesn
`
`
`
`abunoysssaippo
`
`FPSUINY40}
`
`JaNdUODUaO}4DIIWIS)YJayndwoy
`jue
`
`(¢“Olyul
`
`JOD}UODDOSIg4asn
`
`WyJesnjo
`
`SSOIPPDSyJasn
`
`ABAIES
`
`Jaypndwoy
`
`pepoojumopsiabupyo
`
`J@a}NAWOS$,gJas0}
`
`S,gJASNUOaJDM}JOS
`
`
`
`
`
`
`
`PNOYYMAjpoasIPJeusazUla4}0}
`
`
`
`‘gJoyndwoyjuUualgAq
`
`UOIJOUOJUIPayaqoyBuiandyLLNYS
`
`
`
`
`
`
`
`
`
`
`US 6,269,369 B1
`
`1
`NETWORKED PERSONAL CONTACT
`MANAGER
`
`invention relates generally to computer
`The present
`software used to manage contact
`information—such as
`mailing addresses, e-mail addresses, phone numbers, and
`birthdays—and more specifically to a method of creating
`links between membersover a network and providing infor-
`mation to each member based on levels of permission
`maintained by the other members to which they are linked.
`BACKGROUND OF THE INVENTION
`
`Several types of prior art for managing contact informa-
`tion exist, including Personal Information Managementsoft-
`ware applications, Groupware Applications, and Internet-
`based “White Pages” and e-mail services.
`Personal Information Management Software
`As represented generally in FIG. 1, in a typical prior art
`Personal Information Management (PIM) software applica-
`tion (e.g., Lotus Organizer, Microsoft Outlook, or U'S.
`Robotics Palm Pilot), a PIM software application 120, 124
`that stores contact information in a database resides on a
`
`workstation or handheld computer 100 having a central
`processing unit 102, a display 108, a keyboard and/or mouse
`110, a primary memory 104 (e.g., random access memory)
`for program execution, a secondary memory 106 (e.g., a
`hard disc) for program storage, and peripheral devices 112.
`Asis well known, programs, such as the PIM software 120,
`are executed in the RAM 104 by the CPU 102 under control
`of the operating system software 122, 126.
`In the prior art, users themselves enter the contact infor-
`mation that they wantto store in the PIM software. A variety
`of methodsexist for entering this contact information. It may
`be entered manually using the keyboard, imported from an
`existing file on their computer, or imported via a peripheral
`device such as a business card scanner. The defining char-
`acteristic of this class of prior art is that the input of the
`contact information is performed by the user of the software
`and, when the information changes, the user must modify
`the information himself. What this class of prior art lacks is
`a means for information to be shared between multiple users
`and a means for a given user to post changes to his own
`information for the benefit of others.
`
`Groupware Applications
`As generally represented in FIG. 2, in a typical prior art
`Groupware application. (e.g., Lotus Notes), a user worksta-
`tion 160 accesses information stored on a central server
`
`computer 130 over a computer network 150, such as a Local
`Area Network or Intranet. The server system consists of a
`central processing unit 132, a primary memory 134 (e.g.,
`random access memory) for program cxccution, a secondary
`storage device 136 (e.g., a hard disc) for program storage,
`and a modem 138 or other device for connecting to the
`computer network. The user workstation 160 is the same as
`the user workstation 100 described in reference to FIG. 1
`with the addition of a modem 162 or other device for
`connecting to the computer network. The file server or
`database contains datafiles 148 that can be accessed only by
`authorized users. The user uses client software 174, 176
`running on the user workstation 160 to access the files 148
`under the mediation of server software 140, 144 running on
`the server 130.
`Typically, in such a system a central system administrator
`organizes users into classes and the creator of a file 148
`determines what classes of users mayview thefile. The rules
`governing which individual users or classes of users have
`the authorization to viewa particular file 148 maybe stored
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`as part of thefile itself. Alternatively, these rules are based
`upon the hierarchical directory structure of the file server in
`whichthe file is stored. That is, a particular user may view
`files in one directory but not another.
`FIG. 3 represents a common deployment of a contact
`management system based on Groupware. Each user enters
`information 202 about himself and specifies a set of per-
`missions 204 that define what classes of users are able to
`view various pieces of the information 202. What
`this
`deployment of the prior art lacks is the ability to authorize
`viewing privileges on a user-by-user basis rather than on a
`class-by-class basis. For instance, a user would be able to
`grant access to his home phone number 206 to the Human
`Resources department of his employer (¢.g., Class A) while
`denying access to the same information to his co-workers
`(e.g., Class C). The user would notbe able to give access to
`his home phone number selectively to a first co-worker
`while denying it to a second co-worker if both co-workers
`were part of the same class of users as organized by the
`central system administrator. Furthermore, such a system
`would lack a practical notification methodology. There
`would be no way for a user to specify “notify me when the
`first co-worker changes his information but not when the
`second co-worker changes his information.”
`Internet-Based “White Pages” and E-Mail Directory Ser-
`vices
`
`In a typical prior art “white pages” or e-mail service,
`client computers and a server computer are connected via
`the World Wide Web as depicted in FIG. 4. Auser subscribes
`to a White Pages or E-Mail service via a client computer 270
`operating a web browser 282 or other software application
`residing in memory 274 that allowsit to display information
`downloaded from a server computer 230 over the World
`Wide Web 260. The server computer system accesses a
`database 240 containing contact
`information entered by
`registered users. The service enables users to view contact
`information entered by other users. The authorization
`scheme mayallow all users to limit certain classes of users
`from viewing certain parts of their user record as represented
`in FIG. 3. However, there are no linkages between individual
`users and thus users cannot restrict the viewing of their
`information on a user-by-user basis. Furthermore, users
`cannot be notified when information for particular users has
`changed.
`
`SUMMARYOF THE INVENTION
`
`The present invention is a computer-network-based con-
`tact management system that allows members to create and
`maintain contact with other members and determine on a
`
`person-by-person basis what information to share or with-
`hold. The system is based on a relational database scalable
`to millions of users that resides on a server computer.
`The invention was developed shortly after the advent of
`the World Wide Web, which promoted millions of people
`worldwide to connect
`their computers with a standard
`protocol, a phenomenon which madethe invention practical
`and beneficial.
`
`the
`When a user becomes a member of the system,
`member associates himself with any number of affinity
`groups and creates a data record for himself by entering
`information in specific data fields. Based on the affinity
`groups with which the user has associated himself,
`the
`system then informs the user of other members in the same
`groups and allowsthe userto cstablish a link to any of those
`members on an individualbasis.
`For each second user to whicha first user has established
`
`a link, the second user can specify which data fields in his
`
`
`
`US 6,269,369 B1
`
`3
`data record can be viewed bythe first user. Each second user
`to which the first user has established a link is informed that
`a link has been established. The second user can in turn
`decide whether or not to establish a link to the first user. If
`the second user chooses to establish a link to the first user,
`he can specify which data fields in his personal data record
`can be viewed bythefirst user. In addition, each time a new
`user associates himself with a group with which an existing
`user has associated himself, the present invention informs
`the existing user that the new user hasjoined that group and
`allows the existing member to establish a link to the new
`user.
`
`4
`FIG. 11 represents a pseudo graphical user interface that
`provides a first user with specific information that has
`changed about the other users to which the first user is
`linked;
`FIG. 12 represents a pseudo graphical user interface that
`allows a first user to enter travel information and find out
`
`which contacts have overlapping travel schedules
`FIG. 13 represents a pseudo graphical user interface that
`allowsa first user to gather information about the contacts of
`his contacts; and
`FIG. 14 is a data flow diagram of an alternative embodi-
`ment of the present
`invention where a personal digital
`assistant
`is synchronized with a server database of user
`information.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`10
`
`15
`
`the present invention maintains a
`For each first user,
`database of information about the second users to whom the
`first user has established a link. The personal address book
`of the first uscr contains the information in the data ficlds
`that the second users have given the first user permission to
`view. Whenever a second user changes any information in
`any datafield of his data record, the informationin that field
`is automatically updated in the information database of each
`first user whom he has given permission to viewthe infor-
`mation in that data field.
`
`In addition, if a first user has given a second user the
`proper form of data field permission for the personal data
`record ofthe first user, the present invention will inform the
`second user wheneverfirst user’s birthday or anniversary is
`approaching, wheneverthe first user will be travelling in the
`vicinity of the second user, and whenever the astrological
`sign of thefirst user is compatible with the astrological sign
`of the second user.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Reference will now be made in detail to the preferred
`embodiments of the invention, examples of whichare illus-
`trated in the accompanying figures. While the invention will
`be described in conjunction with the preferred embodiments,
`it will be understood that they are not intended to limit the
`invention to those embodiments. Onthe contrary, the inven-
`tion is intended to cover alternatives, modifications and
`equivalents, which may be included within the spirit and
`scope of the invention as defined by the appended claims.
`As represented in FIG. 5,
`the preferred embodiment
`follows a standard Internet architecture,
`in which client
`computers 370 and a server computer 330 are connected via
`the World Wide Web 360 and modems 338, 378 or other
`communications channels. A user accesses the server 360
`via a client computer 370 operating a web browser 382 or
`The accompanying drawings, which are incorporated in
`other software application residing in memory 374 that
`and formapart ofthis specification,illustrate embodiments
`allowsit to display information downloaded from a server
`of the invention and, together with the description, serve to
`computer 330. The server computer system 330 runs server
`explain the principles of the invention, wherein:
`software 342, including the network-computer-based per-
`FIG. 1 depicts a computer loaded with Personal Informa-
`sonal contact manager 343 of the present invention, which
`tion Management software;
`interacts with the client computers 370 and a user informa-
`tion database 340. In a commercial embodiment of the
`FIG. 2 generally depicts the data schema of a category of
`prior art known as groupware applications;
`present invention, the personal contact manager 343 is the
`FIG. 3 shows a common schemefor authorizing permis-
`heart of a Web-based personal contact managementservice
`called PlanetAll. The database 340 contains contact infor-
`sion to view information in the prior art;
`mation entered by registered users. The personal contact
`FIG. 4 depicts two computers interconnected via the
`manager 343 in somesituations will notify a set of users of
`Internet, onc of whichis a server connected to a database and
`updates madeto the database 340 byanother user to whom
`the other of which represents a user’s client workstation,
`the notified set is related.
`both of which are configured according to the prior art;
`TIG. 5 depicts two computers interconnected via the
`Internet, one of whichis a server connected to a database and
`the other of which represents a user’s client workstation,
`both of which are configured according to the present
`invention;
`FIG. 6 represents an object model of the key tables in the
`relational database maintained on the server computerin the
`preferred embodiment of the present invention;
`FIG. 7 represents a pseudo graphical user interface in
`which a user enters information in specific data fields to
`create a personal data record;
`FIG. 8 represents a pseudo graphical user interface for
`listing other users with the same group affiliation as that
`specified by a first user;
`TIG. 9 represents a pseudo graphical user interface for
`specifying what
`type of data fields from a first user’s
`personal data record to which the first user wishes to grant
`a specific sccond user access;
`FIG. 10 represents a pseudo graphical user interface that
`displays the information stored in a user’s personal address
`book;
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`A distinction over the priorart is that the database 340 in
`the present invention is necessarily a relational database
`built from a set of relational tables 350. In the conventional
`manner, both the server 330 and the clients 370 include
`respective storage devices, such as hard disks 336 and 376
`and operate underthe control of operating systems 344, 384
`executed in RAM 334, 374 by the CPUs 332, 372. The
`server storage device 336 stores program files 346 and the
`operating system 348. Similarly, the client storage devices
`376 store the web browser software 386 and the operating
`systems 388. In an alternative configuration, in which the
`client is a personal information manager (PIM), such as the
`US. Robotics Palm Pilot, the disc 376 can also include a
`local PIM database 390 and PIM software, which performs
`data management and synchronization functions.
`FIG. 6 outlines the data structure of the relational database
`
`340 in the preferred embodiment, in which seven tables 350
`are employed to enable most of the functionality of the
`present invention:
`(1) Customer Table 440;
`(2) Friend Table 460;
`(3) Group Table 400;
`
`
`
`US 6,269,369 B1
`
`(4) Affinity Table 420;
`(5) Address Table 480;
`(6) Phone Table 500; and
`(7) Travel Event Table 520;
`The Customer Table 440 contains one record for each
`unique user. The keyfield in this table is CustomerID 440-2.
`All information stored in the various databasc tablesrelating
`to a particular memberis linked together by a unique number
`in this field. Other important fields in this table include
`information used by users to login to the system (Username
`440-6 and Password 440-8), information which helps users
`identify each other (First Name 440-10, Last Name 440-12,
`and E-mail 440-20), information required to provide Birth-
`day Notification (Birthday 440-16) and information required
`to provide Crossing Paths notification (CityID 440-14).
`Each record in the Customer Table 440 is time-stamped via
`the RecordDate field 440-4. Other fields 440-22 can also be
`included in the Customer Table 440 (and the other tables as
`well).
`The Friend Table 460 is a key to the present invention
`becauseit relates users to each other. Each record in the table
`
`10
`
`15
`
`6
`by a unique PhoneRecordID 500-2 and includes the Custo-
`merID 500-4 of the user whose phone information is con-
`tained in the record, a phone type ID 500-6 indicating,e.g.,
`whether the record is for a telephone or fax, the phone
`oumber 500-8 and a time-stamp 500-10.
`The Travel Event Table 520 stores information about
`users’ travel plans. This table is required to notify users when
`their travel plans intersect with the travel plans of their
`contacts. A record in the Travel Event Table 520 includes the
`CustomerID 520-4 of the user whose travel information is
`contained in the record, arrival and departure dates 520-6,
`520-8 and a CityID 520-10 identifying the travel destination.
`Each record is uniquely identified by a Travel_EventID
`520-2 and is time-stamped with a RecordDate 520-14.
`In the preferred embodiment, a multitude of other tables
`540 are used to enable a variety of user services. The
`Permission Type Table 542 contains one record for each of
`the varieties of permission levels the system allows mem-
`bers to assign to their contacts in the Friend Table 460. In the
`preferred embodiment, as illustrated in FIG. 9, permission
`information is groupedinto five categories for the purpose of
`user interface simplicity (crossing paths notification permis-
`sion 600-6, personal information 600-8, work information
`identified by
`represents a relationship between one user,
`600-10, birthday notification 600-12, and friends of friends
`CustomerID 460-4, and another,
`identified by FnendID
`460-6, with a certain level of permissions 460-10. ‘The user
`information 600-14). However, the Permission ‘lype table
`542 could just as easily be structured to allow members to
`interface of the present invention provides a multitude of
`
`ways for users to view information about other users, and grant and deny access to information onafield by field basis.
`every one of these ways relies on a database query of the
`The City Table 550 stores latitude and longitude infor-
`Friend Table 460 ta determine the list of other users whase
`mation for two million cities to enable the system to notify
`users when their contacts travel within a defined gcographi-
`cal radius. The Zodiac Table 552 allows the system to
`associate birthdays with signs of the Zodiac and thereby
`notify which of their contacts have compatible astrological
`signs on a particular day. The AddressType, PhoneType and
`GroupType tables 544, 546, 548 define the types of address,
`phone and group that can be defined in the respective
`Address, Group and Phonetables 480, 400, 500. The advan-
`tage of this normalized relational database architecture is
`that
`it permits scaling and speed far in excess of any
`embodimentof the priorart.
`FIGS. 7 through 12 display pseudo software graphical
`user interfaces (GUIs). In the preferred embodiment, the
`web server software 342 on the server computer 330 dis-
`plays these GUIs via the computer communicationsinter-
`face 360 on the user interface 380 of the user workstation
`
`information a particular uscr may sce. Each recordis time-
`stampedvia the RecordDate field 460-8 so that users may be
`notified when their contacts’ records change. Each record is
`uniquely identified by a RelationID 460-2.
`The Group Table 400 contains one record for each unique
`group with which users mayaffiliate. Each group is identi-
`fied by a GroupName 400-4 and GroupType 400-6.
`Examples of these groups would be GroupName 400-4=
`“Massachusetts Institute of Technology” (GroupType=
`“University”) and GroupName 400-4=“Sigma Chi”
`(GroupType=“Fraternity”). Each record has a time-stamp
`400-8 and a unique identifier 400-2.
`Each record of the Affinity Table 420 relates a user,
`identified by CustomerID 420-4, to a group, identified by
`GroupID 420-6. If a user affiliates with six groups, there
`would be six records in the Affinity Table 420. This table
`stores information about the time period of a user’s affilia-
`tion with a particular group in the FromYear and ‘loYear
`fields 420-8, 420-10 so that the system may help users find
`their contemporaries. Each record is time-stamped 420-12
`so that the system may report to users whenotherusers join
`the group, has a unique identifier 420-2 and can include
`additional ficlds 420-14.
`
`The Address Table 480 stores information for any number
`and kind of addresses for a particular user, identified by
`CustomerID 480-4. For instance, if a user wants to make his
`home address, work address and summer home address
`available to his contacts, there would be three records for
`that user in the Address Table 480, each being identified in
`part by an appropriate AddressType 480-8 (e.g., home, work,
`summer home). Each record is time-stamped 480-16 so that
`the system can notify users when their contacts have added
`or modified address information and has a unique identifier
`480-2. Address information is conventional, including street
`Address 480-8, CityID 480-10, Postal code 480-12, and
`military Base 480-14 fields.
`The Phone Table 500 is directly analogous to the Address
`Table 480, but it stores telephone and fax number informa-
`tion instead of address information. Each record is identified
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`computer 370. The database and communications operations
`necessary to perform the described functions are controlled
`by the personal contact manager 343, which employs where
`necessary the services of the web server software 342. Vor
`example,
`the personal contact manager 343 updates the
`database tables 350 when a user submits a new homeaddress
`
`and then determines whether anyof that uscr’s contacts need
`to be notified of the change. If so,
`the personal contact
`manager 343 will issue the notifications via the web server
`software 342. It should be assumed,unless a statementto the
`contrary is made, that all of the operations described herein
`which are aspects of the present invention are embodied by
`the personal contact manager 343.
`Referring nowto FIG. 7, a pseudo GUI 560 is shownthat
`allows members to enter information about themselves in
`order to create a personal data record. Users can enter
`information in this GUI in various data fields. In the pre-
`ferred embodiment, these fields include: Name 560-2, Home
`Address 560-4, Home Phone 560-6, Work Address 560-8,
`Work Phone 560-10, Birthday 560-12, High School 560-14,
`Ye