`Hutton et al.
`
`lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
`USOOG 1 08704A
`6,108,704
`[II] Patent Number:
`[45J Date of Patent:
`Aug. 22, 2000
`
`POINT-TO-POINT INTER ET PROTOCOL
`
`OTIIER PUBLI 1\f!ONS
`
`December & RandaU, ''The World Wide Web Uolcascd,
`" amw PUblishing, lndianapo li . IN D~c. 1994, pp. 1-24.
`''WorldWideWeb: a distributed hypermedia
`Hcylighen,
`paradigm for global networking," 18EE/INSPEC Database
`Updates and Addition!iS ( 19()0-19950 Doc.# 134618: Pro(cid:173)
`ceedings SHARE Spring Conference, pp. 355-368. Apr.
`1994.
`Interne/working wilh TCP(IP, vol. 1, Second Edition, Prin(cid:173)
`ciJllos, Protocols, and Architecture, by Douglas E. Corner.:
`1991; table o[ contents, pp. l-3, 17-19, 311 - 333.
`
`(List cooLiout:d on next page.)
`
`Primary Examiner-Mark H. Rinehart
`Attorney, Agent. or Firm-Kudirka & Jobsc, LLP
`
`[57]
`
`ABSTRACT
`
`A point-to-point Interne t protocol ex.:hanges Intemel Pro(cid:173)
`t col (IP) addresSt:s between processing uniL~ to t:.5tab lish a
`poinl-lo-point comrnunicatinn link between the processing
`units through the Internet. A first poinl-lo-point lo temct
`protocol includes the sl~ps of (a) storing in a databa.-<e a
`respective IP address fa set of processing uniL~ that have
`an on- l.ioc status with respect to the Jot cmct; (b) trllrtSlDilling
`a quory [rom a first processing unit to a connection server to
`determine the on-Line status of a second processing unil" and
`(c) n:trieving the IP address of the sec.ond \Jnit from the
`database w;ing the connection server, in response to the
`detcrrn.irraLion of a positive on-line status of the second
`processing unit, for establishing a point-to-point communi(cid:173)
`calion link be twee n the first and second processing units
`through the Internet. A second point-to-point Internet pro(cid:173)
`to ol includes the ·teps of (a) transmilljng an E-mail s ignal ,
`including : firstiP address, from a first processing uni~ (b)
`processing tbe E-mail signal through tbe l oteroctto deliver
`the E- mail signal to a second processing unit; aod (c)
`tran mitting a second IP address to the first processing unit
`[or establishing a point-to-point cornrnunicatioo link
`between the first and second processing u oils tbrougb tbe
`Internet.
`
`44 Claims, 6 Drawing Sheets
`
`(54!
`
`[75]
`
`Invcntors7 Glenn W. Hutton. Miami; Sbanc D.
`Mattaway, Boca Ratoo: Ct•aig B.
`Strickland , Tamarac aU of Fla.
`
`[73J
`
`Assignee:
`
`etSpcak Cor·poration, Boca Raton,
`J7la.
`
`[21]
`
`Appl. No.: 08/533,115
`
`[221
`
`Filed:
`
`Scp. 25, 1995
`
`[51]
`
`Int. C l.7
`
`......... . -
`
`... ... ... -
`
`... C06F 13/38; UO()P 15/17
`
`[52] U.S. Cl. ................................. ............ 709/227; 709/204
`
`[58J Field oJ' Sem"Ch ........... .............. 395/200.01, 200.02,
`395 _00.09. 200.11, 200.15, 200.34, 20035,
`200.47, :W0.48, 200.57, 200.58, 200.75;
`709/204, _os, 211, 21 s. 121, 228, 235
`
`[56]
`
`References Citt'<l
`
`U .•. PAT NT DO UM -N1'S
`
`5,0'15.480
`5,150,360
`5, tGf>,93t
`5,204,669
`5,224,09$
`5.291,554
`5, 300,433
`5,309,437
`5.321,813
`5, 357,571
`5,400,335
`5,425,t 28
`5,-130,709
`5,430,727
`
`3/ t992
`ren ner.
`9/ l'J92 Perlman ct at . .
`tt/ t992 Riddle.
`t9<n Dorfe d al . .
`6/ lY93 Weest ct al . .
`311 <l94 Mora les •
`5/ t994 Cidon el al. .
`5/ t9Q4 Perlman el al. .
`()/1'l94 McMillen N al. .
`10/ 1994 B:tnwart .
`3/ 1995 Yumada .
`h/1 'l95 Britton ct al. ,
`7/ 1995 Galloway .
`7/ t995 Cnllon .
`
`(List con tinued on next page.)
`
`FOREIGN PATENT DOCUMEN1'S
`
`E u r0 pe~n Pat. Otf. .
`ll/ t99t
`A2 0445402
`8/ t993 European Pat. OIT . .
`A2 0:560 t 2
`WO 9219054 J0/J 992 WlPO .
`
`Page 1 of32
`
`Verizon Exhibit 1001
`
`
`
`6,108,704
`Page 1
`
`U .. PATENT DOCUMENTS
`
`5,434.797
`,442,()33
`S,452,2W>
`5,455,854
`-,-157,683
`5,463,62.~
`5.469,500
`5,479.411
`5,517.494
`5,524.110
`5,524 . .l54
`S,S 6,489
`5.533.110
`5544.303
`
`711995 Barris .
`811 QIJS Perkins c l al. .
`9t t1J95 Shimizu .
`10/ 1995 Dills el ol. .
`10/ 1995 Robins.
`10! 1995 Yosrcbi .
`1111995 Satw e1 111.
`12/ 1995
`!Jein .
`511996 Green .
`11/1996 Danneels c1 al. .
`6/ 1996 Morgan el al.
`........ ........... ... ... 395/500
`6/19Q6 Nilakaolan et ill ..
`7/1996
`(>inard et al. .
`S/ 1996 Mraoteaux et al. .
`
`5,546,_82
`5 ,581,552
`5.6fi8, 7R6
`5,740, 231
`
`8/1991\ Brockmeyer el nl . .
`12/1996 Civanlar el al. ........................ 370/3%
`3/ 1997 Gordon .
`4}1998
`ohn .tal . .
`
`O'n!I:R PUBLICATION
`
`Vm:a JTe~ lnl ernet Phone (TM) Versio n 2.5 www.cox.sm(cid:173)
`u.edu/<;:lass/mis6 86/people/ tort/p hone25.exe.
`Weinberg, Nelscapc Conference and Cooltal.k Me10ting
`Room, www.q5.com.
`Gu ll, Rc: Getting IP address of PPP--conncctcd Ma ,
`<jgull-030495 I 0053500 l@pm012-ll.dialip.mich.ner> .
`,uJJ,
`Re:
`lnreroet
`Phone
`for
`Mac'/,
`>jgull- 17049-o 11 6450001 @pm049- 28.clialip.micb.oet>.
`
`Page 2 of32
`
`
`
`""d
`~
`~
`(t)
`
`~
`Q
`~
`~
`N
`
`PROCESSOR
`
`INPUT
`DEVICE
`
`18
`
`12\
`r----~-------------------~
`I FIRST PROCESSING UNIT
`1
`I
`I
`I
`I
`:
`:
`I
`I
`: 14
`:
`I
`I
`OUTPUT ~~~~
`1
`:
`MEMORY
`DEVICE
`I
`L _________________________ l
`16
`20
`I
`
`I
`
`FIG.l
`
`24\
`~-----~------------~
`l
`INTERNETL 28
`:
`I
`I
`
`POP 3
`.. MAIL SERVER~
`
`I
`l
`
`I
`
`I
`I
`I
`
`26
`
`CONNECTION SERVER
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`L------------------J
`
`I
`
`22
`
`SECOND
`PROCESSING
`UNIT
`
`~
`~
`
`~
`\J). .
`"""" ~ = """"
`
`>
`~
`J~
`N e e e
`
`en
`::r'
`('!)
`.....
`('!)
`....
`0 -(cid:173)="'
`
`0\
`
`"' ~ = 00
`"' .......:~ = ~
`
`
`
`U.S. Patent
`
`Aug. 22, 2000
`
`Sheet 2 of 6
`
`6,108,704
`
`N
`
`----~-------, I
`~
`
`I
`a:::
`I
`w
`I
`('I")~
`I
`a..w
`I
`0Cf)
`I
`<{ -
`I
`O........J
`I
`I
`:2
`I
`I
`---------- -- _ __ _j
`" t-
`(/)
`UJ
`"
`::;, a
`~
`0
`UJ
`t-
`u
`0:::
`1-
`u
`UJ
`z
`w
`z
`z
`z
`0
`(..)
`0
`v
`u
`v
`---------- f.-- ----I
`
`I
`I
`I
`I
`I
`I
`
`>-(f)
`
`o:::o wz >o wu
`
`(/)UJ
`......J(/)
`......Jl() o.
`
`Q_('l")
`
`N
`N
`
`~
`
`(!)
`oz
`ZCI)t-
`o(/)-
`uWZ
`wU=>
`(/)0 a:::
`
`CL
`
`~
`
`\S
`~
`
`1-w
`t-w
`=>u
`::;,U
`0..-
`a..>
`t->
`zw ~ ::;,W ~ I
`-o
`QO
`II
`I
`
`r
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`CX)
`T""
`
`0
`N
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`0:::
`>-
`0
`a:::
`(/)
`(/)
`0
`w I - - ~
`u
`w 1 I
`0 ~
`I
`~
`0::: a..
`I
`co
`~ I
`I
`I
`~
`I
`'--------------- -
`
`I ri
`
`~
`T""
`
`Page 4 of32
`
`
`
`U.S. Patent
`
`Aug. 22, 2000
`
`Sheet 3 of 6
`
`6,108,704
`
`N
`N
`
`~
`
`N
`N
`
`~ <.9
`
`oz
`zCI)I-
`o(/)-
`(.)UJZ
`we.:>=>
`U)O a::
`
`~
`
`..q-
`N
`
`~ I
`
`~----
`1
`I
`I
`I
`
`A
`...J
`...J
`<{
`(..)
`v
`
`I
`I
`I
`I
`I
`I
`L - - - -
`
`----,
`I
`I
`I
`I
`I-I
`WI
`Zl
`crl
`WI
`I-I zl
`' I
`
`____ I
`
`I
`
`~--J-- ----
`I ~
`I
`<.9
`I
`-0
`I
`I
`0 A
`I wo
`(J'Jo
`(/')=>
`I
`I Wc::t:
`a::
`I
`a..
`I
`::2
`I
`0
`I
`(.)
`I
`l. _ _y __ --- _I
`
`1
`I
`I
`I
`I
`1-
`I
`w
`I
`z
`I
`cr
`I
`w
`I
`1-
`z -
`I
`I
`I
`I
`I
`
`~
`
`N .......
`
`~ z
`
`(!)
`
`1-U)I-
`(/')U)-
`O::wZ
`u...u=>
`0
`a..
`
`Page 5 of32
`
`
`
`U.S. Patent
`
`Aug. 22, 2000
`
`Sheet 4 of 6
`
`6,108,704
`
`/36
`
`/36
`
`38
`
`44
`
`50
`
`38
`
`SHANE
`195.201 .00.137
`13
`0024
`L1
`
`• IDLE
`[I] [I] [I]~
`[3] [IJ [I]~
`000 L3
`~~~
`jsPoljMsGI ~
`I RcLjjENojjsNol
`jFwojjMUTj HLD
`
`v52
`
`48
`
`50
`
`X
`
`lTC
`
`FIG. 6
`
`48
`
`lTC
`
`II
`II
`II
`
`VOL II
`MIC I I
`WAV II
`6
`
`FIG. 5
`
`Page 6 of32
`
`
`
`U.S. Patent
`
`Aug. 22, 2000
`
`Sheet 5 of 6
`
`6,108,704
`
`START THE POINT-TO-POINT
`INTERNET PROTOCOLS
`
`INITIATE PRIMARY INTERNET
`PROTOCOL
`
`54
`
`56
`
`58
`
`IS THE CONNECTION SERVER IN A
`RESPONSIVE CONDITION?
`
`60
`
`62
`
`PERFORM PRIMARY
`INTERNET PROTOCOL
`
`INITIATE SECONDARY
`INTERNT PROTOCOL
`
`FIG. 7
`
`START THE PRIMARY
`POINT-TO-POINT INTERNET
`PROTOCOL
`
`TIMESTAMP AND STORE E-MAIL
`ADRESSES AND IP ADRESSES OF
`LOGGED-IN UNITS IN A DATABASE
`
`RECEIVE QUERY FROM FIRST UNIT
`WHETHER A SPECIFIED SECOND
`UNIT IS LOGGED-IN
`
`RETRIEVE IP ADDRESS FROM
`DATABASE IF THE SECOND UNIT IS
`LOGGED-IN
`
`SEND RETRIEVED IP ADRESS TO
`FIRST UNIT TO ESTABLISH POINT-
`TO-POINT CONNECTION
`
`FIG. 8
`
`64
`
`66
`
`68
`
`70
`
`72
`
`Page 7 of32
`
`
`
`U.S. Patent
`
`Aug. 22, 2000
`
`Sheet 6 of 6
`
`6,108,704
`
`START THE SECONDARY
`POINT-TO POINT INTERNET PROTOCOL
`
`~
`
`INCLUDING A SESSION NUMBER AND A
`FIRST IP ADRESS CORRESPONDING TO A
`FIRST PROCESSING UNIT
`
`~
`
`TRANSMIT THE E-MAIL SIGNAL AS A
`<CONNECTREQUEST> SIGNAL
`TO THE INTERNET
`
`THE INTERNET USING A MAIL SERVER TO
`A SECOND PROCESSING UNIT
`
`~
`
`74
`
`76
`
`78
`
`80
`
`82
`
`84
`
`86
`
`v
`GENERATE AN E-MAIL SIGNAL, v-
`v
`DELIVER THE E-MAIL SIGNAL THROUGH v
`t
`EXTRACT THE SESSION NUMBER AND v
`SEND THE SESSION NUMBER AND A v-
`v
`
`THE FIRST IP ADRESS FROM THE E-MAIL
`SIGNAL
`
`.~
`
`SECOND IP ADRESS CORRESPONDING
`TO THE SECOND PROCESSING UNIT TO
`THE FIRST PROCESSING UNIT THROUGH
`THE INTERNET
`
`~
`
`VERIFY THE SESSION NUMBER
`RECEIVED FROM THE SECOND
`PROCESSING UNIT
`
`~
`ESTABLISH A POINT-TO-POINT INTERNET I
`
`COMMUNICATION LINK BETWEEN THE
`FIRST AND SECOND PROCESSING UNITS
`USING THE FIRST AND SECOND IP
`ADDRESSES
`
`88
`
`FIG. 9
`
`Page 8 of32
`
`
`
`1
`POINT-TO-POINT INTERNET PROTOCOL
`
`6 108 704
`
`2
`(b) transmitting a query from a first pr ~s ing unit to a
`coMectioo server to del rmine the 011-line status of a
`second proce sing unit; and
`(c) retrieving the IP addrcs.s of tbe seco nd Ullil from the
`nnection s~rver, io response to the
`database using the
`determinat ion of a positive on-line sta tus of th<:: eco nd
`processing unit, fo r establishing a poi nt-to-point com(cid:173)
`rnunicatioo link between the first and s cond process(cid:173)
`ing uni ts tbrongb the lnterocl.
`A second point-to-point Internet protocol is di ~losed,
`which includes the steps of:
`(a) Iran milling an b-mail s ignaJ, including a first IP
`adclrcs.5, from a first pro essing unit;
`(b) processing the E-maiJ signal tbrougb tbc Internet to
`deliver the E-mail signal to a second processing unit;
`30d
`(c) transmitting a seco nd 1P addre.~s to tbe first processing
`unit for estah li bing a point-to-point communication
`link between tbc first and second processing units
`through the Internet.
`
`BRIEF DES RIPTION OP T l!E DRAWIN GS
`
`The ft:a ture of the disclosed point-to-point Internet pro(cid:173)
`to ol and system will become m re reailily apparent and
`may be betlcr understood by referring to tbc following
`detailed description of an illustrative embodimen t of tbe
`present invenrioo, taken in conjun Lion with tbe accompa(cid:173)
`nying drawinw·, where:
`FIG . .L illustrates, in block diagram fom1nl. a system for
`the eli closed point-to-point Internet protocol;
`F IG . 2 illustrates, in block diagram Ionna t, the system
`using a secondary point-to-point llltcrnct protocol;
`F IG. 3 illustrates, in block diagram format, the system of
`Fl .s. 1- 2 wit h the point-to-point Internet protocol estab-
`li. bed;
`FIG. 4 is ano ther b lock diagram of the system of FIG '.
`1-2 witb audio communication being conducted;
`FIG. 5 illustn1 tes 11 display screeD for a processing unit;
`PIG. 6 illustrates another display crccn (or a processing
`uuit;
`FIG. 7 illustrates a flowcban o[ the initiation of tbc
`point-to-point Internet protocols;
`FIG. 8 illustrntes a flowchart or tbe performance of tbe
`primary poinHll-poi nl Internet protocols; and
`FIG. 9 illustrates a flowchart of tbc performa nce of tbe
`secondary point-to-point Lnternet protocol.
`
`D •, RIPTION OF TilE PREFERRED
`EMBODIMENTS
`
`tO
`
`15
`
`211
`
`BA KGROUND OF Til E INVENTION
`1. Field of Lbc I oventioo
`Tbis disclosure relaL ·s to network communication 5
`protocols, and in pa.rticular to a point-to-point protocol for
`use with the Internet.
`ription of tbc Related Art
`2. De
`The increased popularity of on-line scNices ucb as
`AMERJCA ONUNP", COMPUSERVE®, and o lbcr ser(cid:173)
`vices suc h as lnLeTnet gateways have spurred applicatiOnli to
`provide muJLimedia, including video and voice clips, to
`on line users. An example or an online voice clip app lication
`i VOICE E-MAIL FOR WJNCIM and VOICE E-MAIL
`FO R AMERICA ONLINE'"' , available from Bonzi
`Softw are, as described in .. _ imple Utilities
`end Voice
`· -Mail Online·•, MULTfMEDIA WORLD, VOl.. 2, NO.9,
`August 1995. p. 52. Using such Voice. E-MaiJ soCtware, a
`user may crente an audio rtl ssage to be sent lo a predelcr-
`mined E-rnaiJ address SJlOcified by tbc user.
`Genera ll y, devit:es interfacing tbe to Internet and other
`onl ine services may communicate with each o ther upon
`o::stablishing respective tl vice addresses. ne type of devin:
`address is tbc Internet Protocol (fP) add[ess, wbich acts as 25
`a pointer to Lbc device associated wilb Lbe IP address. A
`typica l device may have a erial Line Tntemet Protocol or
`Poin t-to- Point Protocol { UP/PPP) accOlmt with a pemla(cid:173)
`ucnt IP addres for re eiving e-mail, voicemail, and Lbe like
`over the Internet. E-rnaiJ and voicemail is generall y intended 30
`to convey text, audio, etc., witb any routing information
`-uch as <m IP addn:: s and routing headers generally being
`considered an artifact of the communication, or even gih(cid:173)
`bcrisb to the recipient.
`Devices uch as a bost omputer or crver of a ompany 35
`rna y include mu ltiple modems for coMectioo of u ers to the
`Internet, with a temporary IP add.ress allocated to each user.
`For example, tbe host computer may have a general IP
`address "XXX.XXX.XXX", and each user may be allocated
`a successive IP address of XXX .XXX .XXX . lO, 4o
`XXX:.XXX.XXX.ll, XXX.XXX..XXX.U. etc. ucb tem(cid:173)
`porary I P addresse may be rt:assigned or re ·ycled to the
`users, for example, as each user is successively cortnected to
`ao outside party. For xarnple, a host cornputcrofacompaoy
`f 254 IP addresses whicb arc 45
`may support a maximum
`pooled and hared between devices co nnected to the host
`ompute r.
`Pennanen t! Paddressesofusers and devices acces:·ingth.;
`tnto.:rnet readily ~upport point-to-point c mrnunications of
`voice and video signals over the Internet. For example, so
`realtime video teleconferencing bas been implemented using
`dedicated IP addresses and mechanisms known as reflectors.
`Due to the dynamic nature of temporary IP atldresses of
`some devices accessing tbc Internet, poiot-to-poinl cornrnu(cid:173)
`uications ia realtime of voice aod video have beeo generally 55
`diJE ulr to attain.
`
`Referring now in specific detail to the drawings, with like
`rcfercoce numerals ideoiifying similar or idemical elemeois,
`as shown in F IG . l , the p resent disdosUie describes a
`point-to-point Internet protocol and sys1em 10 !'or u&ingsuch
`a protocol.
`In an exemplary emb dimt:nt, the system 10 includes a
`firs t proce siog unit 12 for sending al least a voice signal
`~o from a lirst user to a ocood user. Tbc first processing uuit
`U includes a processor 14, a memory 16, ao inp ut device 18,
`and an output device 20. The output device 20 incl udes at
`least one modern capable of, for example, 14.4 kbaud
`communicalions and operatively coMcctcd via wired and/c•r
`b5 wi.rcless cornrnu oicalion connections to tbc Internet. One
`sltilled in Lhe art would understand thai the input device 18
`may be implemented at least in part by the modem of Lh<::
`
`UMMARY OF THE INVENTION
`A poin t- to-point Internet protocol is di
`lased whjcb
`exchange - Internet Protocol (IP) addres.ses between prot:o:: s(cid:173)
`ing units to estahlish a point-to-point t.·ommunication link
`bet\veen the prQ<;essing uni ts through the Internet.
`A IJrst poio t-to·point Internet protocol is disclosed wb icb
`includes the steps of:
`(a) storing in a database a respective lP address of a set of
`pr cessi ng unit.! that have an on-line status with respect
`to the In ternet;
`
`Page 9 of32
`
`
`
`6,108 704
`
`tO
`
`35
`
`3
`output device: 20 to allow inJ ut signals from the communi(cid:173)
`cation connections to be received. Tbe second processing
`unit22 may have a processor, mcm ry. and input :.nd output
`devices, ioclud.ing all ast one modem and associ.a.ted com(cid:173)
`munication connections, as described above (or the Hrst
`processing unit L2. In an exemplary embodiment, .:ach of
`lhe processing units U, 22 may be a WEBPHONE"'f unit.
`available fmm NetSpca.k Corporation, Boca Raton, Fla.
`capable of operating tbe disc losed point-to-point lntemet
`protocol and system I 0, as des ribed herein.
`The first prucessing unit l2 and the second proce~sing
`unit 22 are operatively connected to tbe Internet 24 by
`communication devices aud software known in the art. The
`processing units 12, 22 may be operatively interconnected
`through the Internet 24 to a connection server 26, and may
`also be operatively connected to a mai l server 28 associated
`with tbe Internet 24.
`r 30, a timer
`The connection server 26 includes a proccs
`32 for gcocrati11g timestamps, aod <t memory such as a
`datnbase 34 for .;t lring, for example, 12-roail aod In ternet
`Protocol (I P) addresse of logged-in units. In an exemplary
`embodiment., the connection server 26 rnay be a PAH 5
`server or a SPAJl.C 20 server, available fro m SUN
`MICROSY TEMS fNC., Mountaill Veiw, Calif. baving a
`entral proceg;iog uo.it ( PU) as proceS!;or 30 operating an
`operating system (0 ) such as UNIX and providing liming
`operations such as maintaining tbc timer 32, a hard drive or
`Cixed drive as well as dynamj
`random access memory
`(DRAM) for storing tbc database 34, and a keyboard and
`display and/or otb r input and output devi e~ (not shown in
`f.IG. l). The dutabase 34 may be an SOL database av<1ilable
`from ORACLE or JNFOMLX.
`In an exemplary embodiment, tbc mail server 28 may be
`a Post Office Protocol (POP) Version 3 mail server including
`a processor, memory. and stored programs operating in a
`UNIX environment, or a lternatively aootber 0 ·, to prote.<;s
`E-mail capabilitie - between procc sing u oils and devices
`over I be [nteroet 24.
`The first processing unit u may operate tile d.i..closcd
`poin1-to-point Internet protocol hy a computer program
`described hereinbe low in t:onjll.llction with FIG. fi, which
`implemented f:rom compiled and/or interpreted
`may be
`in the C++ programming language and which
`source cod
`may be downloaded to the first processing unit U from an
`external computer. The operating computer program may be
`ston:d in the memo-ry L6, whit:h may include about 8 MB
`RAM :mel/or a bard m lhwd drive baving about 8 MB .
`Alternatively, tbe source code may be implemented in the
`first processing u.n.it 12 as firmware, ns :Ill erasable read only
`memory (EPROM), etc. It is understood that one skilled in
`the art wou ld be able to use programming languages other
`than C++ to implement tbe disclosed JlOiot-to-pointlntornct
`protocol and system 10.
`The processor l4 receives input command and data from
`a firSt user associated with the first processing unit 12
`through the inpu t device 18, which roay be an input port
`connected by a wired, optical, or a wireless connection for
`electromagnetic transmi · ions, or alternatively may be
`traru;ferahl storag media, su b as floppy disks, magnetic ~0
`tapes, compact disks, or other storagt: media including the
`input data from the first user.
`The input device 18 may include a user interface (oot
`shown) having, (or example, at least one button actuated by
`tbc user to input commands to select from a plurality of ~5
`operatiog modes to operate the first prot~siog unit 12. Io
`alternative embodimento, the inpu t devic"' 18 may include a
`
`4
`keyboard, a mou.s<:. a touch screen, and/ur ~ data reading
`dev ice su has a disk drive for receiving the inpu t data from
`input data files stored in tor age media sucb as a floppy disk
`or, for example, au mm ~torage tape. Tbe input device 18
`rnny alternatively include connections to other
`·omputer
`systems to receive Lbe .input commands and data therefrom.
`Tho first processing uoitl2 may .include a visua l interface
`as the ou tput device 20 for use in conjunction with the inpu t
`device 18 and embodied a one of the screen illustrated by
`the examples shown in FIGS . S-6 and discussed below. It is
`also understood that alternative input devices may be used ill
`conjunction with alternative output devices to receive com(cid:173)
`mands a.ocl data from the user, sucb a.s keyboards, mouse
`dcv jces. and gra pbical user .in terfacos ( GUf) sucb as Wl N(cid:173)
`DOWST'I 3.1 availab le from MICROSOFTU' Corporation
`15 Redmond. Wa . executed by the processor 14 using, for
`example, DOS 5.0. One skilled in the art would underslam.l
`that other operating systems and GUl s. such as OS- and
`OS/2 WARP, available (rom ffiM CORPORATION, Boca
`Raton, Pia . may he use I. Ot.her alternnt.ive input devices may
`20 include micr phones and}or telephone handsets [or receiv(cid:173)
`ing audio voice data aod comm<lllds, witb tb.c first proc.:e sing
`unit 12 .including speech or voice recognition devices. dual
`tone multi-frequency (DTMF) based devices, and/or soft(cid:173)
`ware known in the an to accept voice data and command
`1s and to operate tbe llr:st processing uo.it12.
`ln addition, either of tbe first processing uo.it 12 and the
`second processing unit 22 may be implemented in a personal
`digital assi ·tant (POi\) pr viding mod~m and 12-m ail capa(cid:173)
`bilities and lntemet access. with the POi\ providing tbe
`30 inpu t/output screens for mouse interaction or for touch (cid:173)
`screen activation as sbown, for example, in FIGS. 4-S, as a
`combination of th.: input devic.: 18 and output deviCe 20.
`For Jarity of explanation, the illu.~trative embodiment of
`tho;: disclosed point-to-point Internet protocol and system 10
`is presented as bav.ing individual functiona l blocks, wnicb
`labelled as '"processor· and
`may include functional block
`.. processing unit". The functions rcpresented by these blocks
`rnny be provitkd through the u!:;e of either shared or dedi(cid:173)
`cated bardwarc, including, but not limited to hardware
`40 capable of executing software. For example, !"be functions of
`each of tbe procc
`rs and processing uo.its presented bercio
`may be provided by a hared processor or by a pluralit of
`iodividunl pr ce!\SOrs. M reover, the use of tb
`fuoctional
`blocks witb accompanying labels bcreio is not to be con-
`45 stnted to refer exclusiv<Jiy to barchv<tre capable of execu ting
`software . illustrative embodiments may include digital sig(cid:173)
`oal processor (D P) hardware, such as the 1\J'&T D P 16 or
`D P32 ·, read-only memory (ROM) ~ r storing . oftware
`performing the operations discussed below, and random
`so aoccss memory {RAM) for storing DSP resu lts. Very large
`I) hardware cmbod iments, as well as
`seale integral ion (Vl
`custom VL I circuitry in combioation with a genera l pur(cid:173)
`pose OSPcircu.it, may 31so be pr videcl./\ny and all of these
`embodiments may be deemed to fall wit bin Lbe meaning of
`55 tbc .labels for the fur1ct.iounl blocks as used bcrein.
`The processing llnits U , 22 are capable of placing caUs
`and connecting to other processing units connected to the
`Internet 24, fo r example, via dialup UP/ PPP lines. [n an
`exemplary embodimeol, each processing unit assign au
`unsigned long session number. for example, a 32-bit long
`sequence in a * .ini file for each
`·all. Each call may be
`assigned a successive se· ion number in equence, which
`m<ty be used by tbe respective proctJSsing uo.it to associate
`the call with om: of the SLIP/PPP lines, to a soeiate a
`<ConnectOK> response signal with a <ConnectRcquest>
`signal, and to allow for mul!iptexing and demultiplexi ng of
`inbou nd and outbound onversations on conference lines.
`
`Page 10 of32
`
`
`
`6 108 704
`
`tO
`
`20
`
`5
`For Cilllt:e (m called) proct:
`ing units with uxed IP
`addresses, the caller (or calling) processing unit may open a
`'"socket", i.e. a file handle or address indicating where data
`is to be sent, and transmit a < all> command io establish
`comwuuicnlion with the .:alice utilizing, for example, data(cid:173)
`tandard network layering as
`gram services such as ln!crmn
`well as Lraosport layering, wbicb may include a Transport
`CClotrol Protocol (TCP) or aU er Datagram Protocol (UD P)
`on top of the IP. Typit:a lly, a processing unit having a uxed
`!P address may maintain at least one open socket and a
`called processing unit waits for a < all> command lo assign
`lhe open socket to tbe incoming signal. If all lines are in use,
`lh.: callee processing unit sends a HU 'Y signal or me~sage
`to the caller processing unit.
`As shown in FIG. l , the disclosed point-to-point Internet
`protocol and ystem 10 operate wbeo a callcc processing
`urritdoes not have a fixed or predetermined I P addres.~. In the
`exemplary embodiment and wi1hou 1 I "·s of generality, the
`ing unit 12 i.s tbe caller processing unit and the
`first proce
`second processing unit 22 is Lhc called processing unit.
`When t:itber of processing unit 12, 22 log 011 1
`the
`Internet via a d ial-up connection, the respective unit is
`provided a dynamicaUy alloca ted IP address by a conne ·tinn
`. crvicc prov icier.
`Upoo the first user initialing tile poinl-lo-point lntcmct 2,
`protocol when the first user is logged on to lmernet 24, the
`llrst proo:e:>sing unirl2 automatically transmits its associated
`E-mail address and its dynamica ll y allocated IP addre$s 10
`the connection server 26. The connection server 26 then
`stores tbese addresses in the database 34 Rod Lin1eslarnps U1e 30
`stored addresses usiog timer 32. The first user operating Lbc
`llrst processing unit 12 i thus t:stablished in the databas.: 34
`as an active on-line party avai lable fo r communication using
`imilurly, a
`the dis losecl point-to-point [nternet protocol.
`second user operating thc second processing u.nit 22, upon 35
`conne<:lion to Lhe lnternel 24 tltrough a connec1ion servict:
`providtlr, is proce sed hy 1 he onnection server 26 to bt:
`established in the database 34 :1s an active on-line party.
`The cooncctioo server 26 may usc the timestamps to
`update I be status of HCb processing urtit; for example, after 4o
`2 hours, l;O that the on-line !$latus inform!ltion stored in the
`database 34 is relatively current.
`tht:r predetermined timt:
`pe riods, such as a dtlFauh value of _4 hours, may be
`configured by a system operator.
`The first user witb the first processing unit l2 initiates a 45
`call using, for example, a end command and/or a command
`to speeddial an NTH :stored oumber, which may be labelled
`[SND] and [ 'PDJ[N], respectively, by the input dtlvic.: 18
`and/or the output device 20. sucb as sbowo in FIGS. S-6. In
`rCSJlODSC to either tbc Scod or speeddial comm;mds, the l]rst so
`processing unit U retrieves from m.:mory 16 a stored E-mail
`address ol' the callee corresponding to the N"'" stored
`number. Alternatively, the fu t user may direcUy enter UJe
`E-mail address of the alice.
`The first processing unit12 tben sends a query, including 55
`the E-mail <tddress of the callee, Ia the connection server 26.
`The .:onnection server 26 then earches the databa e 34 to
`determine whether tbe callet> is logged-in by finding any
`stored information corresponding to the callec 's E-mail
`address indicating that tbc calico is active and oo-line. lflbe
`callee is active and on-line, the coonection server 16 then
`performs the primary point-to-pl1int Internet protocol; i.e.
`tbe JP address of tbc callee is retrieved from the database 34
`and sent to the fir t processing unit 12. Tile first processing
`uoiL12 may tbco direct ly establish the point-to-point Inter(cid:173)
`net communication with the callee using th
`IP address of
`the callee.
`
`6
`If the callee is not on-line when the connection erver 26
`determines the callcc's statu. , the coooectioo server 26
`sends an OFF-LINE signal or me age to the first processing
`unit 12. "l11e first processing unit 12 may also display u
`mes.5age ~uch as ··Called Pany OIJ-Line' · to the fi rst user.
`When a user logs off or goes off-line from the Inwrnel 24,
`the connection server 26 updates tbc stntus of tbe user io tbe
`database 34; for example. by removing tbe user' s
`information, or by flagging the user as being oll'-line. The
`onnectioo server 26 may be instructed to update the user' s
`information in tbe database 34 by an olJ-line message, such
`as a data packet, scot a-utomatically from the processing unit
`or tbe user prior to being disconnected from the connection
`:server 26. Accordingly, an off-line user is e[ect.ively dis-
`15 abled from making and/or receiving point-to-point lnteroet
`communications.
`As shown in FlGS. 2-4, the di~closcd secondary point-
`to-point Iotemet prot col may be used as an alternative ro
`tht: primary point-to-point lnteruet protocol tl~scribed
`above, for example, if the connection server 26 is non(cid:173)
`rcspon ive, inoperative, aod/or unable to perform the pri-
`mary point-to-point l oternot protocol, as a non-responsive
`condition. Allernatively, the disclosed secondary point-to(cid:173)
`point l nternel protocol may be used independent of the
`primary poinl-lo-poiot Internet protocol. In tbe disclosed
`ec ndary pClint-to-point lntcroet 1'rotocol, tbe first process-
`ing unit 12 sends a <ConncctRequesl> message via E-mail
`over the Internet 24 to the mail server 28. The E-mail
`including the < oonectRequcst> message may bave, for
`example, the subject
`[*wp#XXXXXXXX#nnn.nnD.i'llln.nnn#emailAcldr]
`where onn.nnn.onn.onn is tbe current (i.e. temporary or
`pcrm~n.:nt) IP address of the first user, and XXXXXXXX is
`a session number. which may be unjque and associated with
`request of the first \Jser to i11itiat.o point-to-point com(cid:173)
`tb
`munication with the
`cond u er.
`As describad above, tbc first processing unit 12 may send
`the <C'onnectRequesl> message in response to an unsuc(cid:173)
`cessful auempt to perf0m1 the primary point-to-point lnler(cid:173)
`net protocol. Alternatively, the Jirsl processing unit12 may
`send the <ConnectRcquest> message in response ro the first
`USer initialing a
`·ND command or the like.
`After lht: <ConoectRequesl> mi!S.Sage via E-mail is sent.,
`ing unit l2 opens a socket and wails to detect
`the flrst proce
`a response from tbc socond processing unit 22. A timeout
`timer uch as timer 32, may be set by the first processing
`unit 12, in a manner known in the art, to wait lor a
`predetermined duration to receive a < 'onnectOK> signal.
`Tbe processor 14 of tbe first processing unit 12 may cause
`th output device 20 to output a Riog signal to the user. sucb
`a an 3udiblc riogiog sound, about every 3 seconds. Por
`t:xample, the processor 14 may output a * .wav llle, whid1
`may he lahelled RrNG.WAV, which is proce · ed by the
`output device 20 to output ao audible ringing sound.
`Tbc mail server 28 tbco polls tbc second processing uoit
`22, for examp.le, every 3-5 seconds, to deliver the E-mail.
`enerally. the . econd processing unit22 checks the incom(cid:173)
`ing line , for example, at regular ior rvals to wait for und to
`deie<:L incoming E-mail from tbe mail server 28 through the
`~o lntcroet 24.
`Typically, [or sendi ng 12-mail to users haviog as..'iO<.:iated
`processing units op.:ratively connected to a host computer or
`server operating an l otcrnel gateway. E-Mail for a specific
`user may be scot over !be Internet 24 and directed to the
`o5 permanent IP address or tbe SLll'/PPP account designation
`of tbe host computer, which then assigns a temporary IP
`addres. to the proL'CS.~ing unit of lht: specified user for
`
`Page 11 of32
`
`
`
`6 108 704
`
`t5
`
`7
`p(operly routing the E-mail Th E-mail signal may include
`a oamo or olhor designation such as a uscroarne which
`idcntilks lhc specific user regardless of the processing unit
`as.signcd to the user; thai is, the host computer may track and
`st re the pecific devi e where a specillc user 1$ assigned or
`loggc:d o n, indeJ endent 0f the IP address ystem, a.nd so thc:
`host computer may switch the E-mail signal to the device of
`the pecific user. At that time, a temp rary IP address may
`b generated or a. signed to the .·pecillc user and device.
`Upon detec ting and/or rec iving the incoming E-mail 10
`signal from the fm;t proCessing unit l2, the second process(cid:173)
`ing WJ..it 22 may assign or may be assigned a temporary IP
`address. Therefore, the delivery of the E-mail through the
`Internet 24 provides the second prm:e:sing unit 22 with a
`session number as well as IP addresses of both the 1irsl
`processing unit 12 and the second processing unit 22.
`Point-to-point communication may then be established by
`the processing units ll, 22. For example, the second pro(cid:173)
`cessing unit 22 may proce. s tbe £-mail signal to extrac.;t the
`< onneci.Requ.est> me~age, including the IP address of' the 20
`first processing unit U and tbe session number. The econd
`processing unit 22 may then open a socket and generate a
`< onnectOK> r sponse signal, which includes the tempo(cid:173)
`rary lP add