`
`.
`
`'
`.._ .. /
`\ '
`
`.
`
`0~/721316
`
`PATENT
`September 25, 1996 .
`N0003fi002
`
`Sir:
`
`NEW APPLICATION TRANSMITTAL LETTER
`
`Transmitted herewith for filing is the Patent Application of
`1 _ 00 lnventor(s): Shane D. Mattaway, Glenn W. Hutton, and Craig B. Strickland a _a. I.
`'
`For: GRAPHIC USER INTERFACE FOR INTERNET TELEPHONY APPLICATION
`
`This application is a continuation-in-part of U.S. Patent Application Serial No.
`08/533,115, entitled, Point-to-Point Internet Protocol, by Glenn W. Hutton, filed
`September 25, 1995.
`
`Enclosed are the following papers required to obtain a filing date under 37 C.F.R.
`§1.53(b):
`
`...
`
`_l,]_ Sheets of Informal Drawings
`--.ruL Pages of Specification, Including Claims and Abstract
`_6_ Claims
`
`The following papers, if indicated by an X, are also enclosed:
`
`A Declaration and Power of Attorney
`An Assignment of the invention
`An Information-Disclosure Statement, Form PT0-1449 and a copy of each cited
`reference
`A Small-Entity Declaration
`_x_ A Certificate of Express Mailing, Express Mail Label No. EM316008331US
`
`FEE CALCULATION:
`6- 20 = 0 X $22.00 = $00.00
`Total Claims:
`Independent Claims: 1 - 3 = 0 X $78.00 = $00.00
`
`Basic Fee:
`
`$750.00
`
`l
`
`Cisco - Exhibit 1002 - Page 1
`
`
`
`', Total of Above Cal-ions:
`
`$750.00
`
`_lL A check in the amount of $750.00 is enclosed to cover the Filing Fee.
`
`__ A check in the amount of $40.00 is enclosed to cover the Recording Fee for
`the Assignment. A duplicate copy of this transmittal letter is enclosed.
`
`The Commissioner is hereby authorized to charge any fees under 37 C.F.R. §1.16
`and 1.17 that may be required by this paper or any paper filed in connection with this
`Patent Application, or credit any overpayment, to our Deposit Account No. 02-3038.
`
`Please address all communications and telephone calls to the undersigned.
`
`Respectfully submitted,
`
`~2?-~
`
`Reg. No. 33,518
`BOOKSTEIN & KUDIRKA, P.C.
`One Beacon Street
`Boston, MA 02108
`(617) 367-4600
`
`·.express Mail-mailing label number £Nl3160o2"32:>1 US
`
`CJ 1z~ fl b
`
`Date of Deposit
`
`I
`·d
`• .b .d
`I hereby certify that this paper or fee ts emg epo•ne
`with the United States Postal S~rvice "Express Mail Post
`Ollice to Addre•see" service under 37 CFR 1.10 on the
`dare iJtdicatcd above and is addressed ro: The Com•
`missioner of Patents aAd Trademarks, Washington.
`D.C. 20231.
`
`Cisco - Exhibit 1002 - Page 2
`
`
`
`12
`
`f;~s; ;R;C;S;XNG-~X;---- ~
`
`°
`
`PROCESSOR
`
`14
`
`18
`
`MEMORY
`
`INPUT
`DEVICE
`
`OUTPUT
`DEVICE
`
`L16~""""'
`--------------
`
`20~
`
`J
`
`(:"_)
`
`. 10
`
`24
`
`N'l'ERNE'l'
`.
`
`~1 ________ l
`
`.
`
`28
`-
`
`I
`
`I
`
`PoP3
`)I ~d SIV\TP
`M A-I:I.... "SE:iWE:
`
`26
`
`CONNEC'l'ION SERVER
`
`22
`
`I
`
`SECOND
`)I PROCESSING
`UNI'l'
`
`34
`
`I
`
`I I I
`I I I DATABASE
`L _________ j
`
`FIG. 1
`
`~__,~
`
`•
`
`•
`
`= ex>
`.............
`~
`'t\:)
`~
`~·
`~ en
`
`Cisco - Exhibit 1002 - Page 3
`
`
`
`12 r::1 _________ _
`
`!FIRST PROCESSING UNIT - - - ~
`I
`I
`I
`
`PROCESSOR
`
`r--
`
`INPUT
`DEVICE
`
`14r' 1
`
`1 8 /
`
`OUTPUT
`.__ DEVICE
`I
`________ .:._ _____
`L
`
`MEMO~Y
`
`1 6 /
`
`20,...,
`
`I/
`....
`
`I
`I
`
`I
`I
`
`J
`
`10
`
`<Conne~tRequest>
`
`<ConnectOR>
`
`......
`
`.FIG~ 2
`
`POP 3
`MAIL SERVER
`Jf\
`
`r:---------,
`I :INTERNET
`I
`I
`I
`I I J'\
`I
`i
`I
`I
`__ j
`
`1 2a
`
`1
`I
`
`I
`I
`
`LJ_
`
`24
`
`.
`
`--
`
`•
`
`•
`
`c::=
`c;::-..0
`~
`·-..]
`
`~
`
`~
`~
`
`POLLS
`EVERY
`3-5 s
`ECONDS
`
`22}
`
`' v
`
`SECOND
`PROCESSING
`UNIT
`
`Cisco - Exhibit 1002 - Page 4
`
`
`
`12
`
`•
`
`FIRS'l'
`PROCESSING
`UNIT
`
`I
`'-'
`
`-<Call>
`'"
`
`22
`
`'
`
`J
`
`' ,
`
`' '
`
`,•,
`
`SBCOND
`.
`PROCBS~ING
`ONI'l'
`
`1 •
`
`IN'l'BilN
`:_ -
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`_.J
`
`FIG. 3
`
`~
`
`L
`
`-
`
`24
`
`12
`
`.. .....
`
`FIRS'r
`PROCESSING
`trNI'l'
`
`r-------------,
`I
`<compressed digital audio>
`
`.....
`
`22
`
`SECOND
`PROCESSING
`UNIT
`
`~
`
`...: -
`-
`L
`24
`. ....... ··-···-·· ····-·-····· ..... __________ .... ·-·---··· _, ______ .. .
`
`'
`IN'r.BRNE'r
`-
`-
`-
`- -· -
`-
`-
`-
`_.J
`--·-·· ........... ______ ··--····-·---:.----····-······ .. --·-······ ................. ·------··
`
`FIG. 4
`
`•
`
`= c.c:>
`...............
`-J
`l\:)
`t:-o'
`~
`~ en
`
`Cisco - Exhibit 1002 - Page 5
`
`
`
`•
`
`36
`
`I
`
`40
`
`•
`
`36
`
`I
`
`' m1!
`
`
`‘.IlefiAfljlffik 11%} HP! -
`”’1“Lib!”:11”:.7
`
`48
`
` 48
`
`52
`
`FIG. 5
`
`FIG. 6
`FIG. 6
`
`9lC1G~/8~
`SISTZL/Sfl
`
`Cisco - Exhibit 1002 - Page 6
`
`Cisco - Exhibit 1002 - Page 6
`
`
`
`•
`
`•
`
`START THE POINT-TO-POINT
`INTERNET PROTOCOLS
`
`5 4
`
`v
`
`~
`INITIATE PRIMARY INTERNET PROTOCOL r
`~
`
`5 8
`IS THE CONNECTION SERVER IN A ~
`RESPONSIVE CONDITION ?
`
`6
`,..,5
`
`60
`
`YES
`\ I
`PERFORM PRIMARY
`INTERNET PROTOCOL
`
`/
`
`6 2
`
`NO
`
`\ v
`
`/
`INITIATE SECONDARY
`INTERNET PROTOCOL
`
`EIG. 7
`
`START THE PRIMARY
`POINT-TO-POINT·INTERNET PROTOCOL
`~-
`TIMESTAMP AND STORE E-MAIL ADDRESSES
`AND IP ADDRESSES OF LOGGED-IN UNITS
`
`64
`~
`
`66
`
`l--J
`
`IN A DATABASE· w
`68
`RECErvE QUERY FROM FIRST UNIT WHETHER ~
`A SPECIFIED SECOND UNIT IS LOGGED-IN
`\lt
`
`70
`RETRIEVE IP ADDRESS FROM DATABASE ~
`IF THE SECOND UNI~ IS LOGGED-IN
`
`t
`
`72
`SEND RETRIEVED IP ADDRESS TO FIRST UNIT ~
`TO ESTABLISH POINT-TO-POINT CONNECTION
`
`FIG. 8
`
`Cisco - Exhibit 1002 - Page 7
`
`
`
`' ..
`
`.-
`
`•
`
`•
`
`START 'l'l:lE SECONDARY
`POINT-TO-POrNT INTERNET PROTOCOL
`
`74
`~
`
`~
`. 7 6
`GEN'BRA'.rli: AN E-MAIL SIGNAL, ~
`IBCLUDING A SESSION BOMBER AND A
`l':tJlST IP ADDRESS CORRESPONDING '1'0
`A FIRST PROCESSING UN~T
`J,
`7 8
`~SlUT TliE E-MAIL SIGDL ABA ~
`<ConnectRequest> SIGNAL
`TO THE DrrERNET
`-~
`8 0
`JJELZVER TBE E-MAIL BIGlll\L TlmOUGH ~
`1'l1E :INTERNE'l' OSING A HAIL SERVER
`TO A SECOND PROCESSING UNX~
`~ .. ,
`
`EXTRACT THE SESSION NDMBER·AND ~
`~ FIRS'l' IP ADDRESS FROM THE
`E-MAIL SIGNAL
`
`8 2
`
`..
`
`~
`
`SEND THE SESSION NUMBER AND A
`SECOND IP ADDRESS CORRESPONDING TO 1'0
`SECOND PROCESSING UNIT TO THE FIRST
`PROCESSING UNIT ~BROUGH THE INTERNET
`~
`VER7FY THE SESSION NUMBER RECEIVED
`FROM THE SECOND PROCESSING UNIT
`}_
`XN'l'ERNE'l'
`ESTABLISH A POINT-'1'0-POINT
`COMMtmiCA'l'ION I.INK DE'rWEEN THE FIRST
`AND ~ECOND PROCESSING ONI'l'S OSI~G 'l'RE
`FlRS'l' AND SECOND IP ADDRESSES
`
`8 •
`
`v
`
`6
`~8
`
`8 8
`
`-
`
`,r
`
`FIG. 9
`
`Cisco - Exhibit 1002 - Page 8
`
`
`
`•
`
`• ~~/721316
`
`Internet
`Service
`
`NetSpeak
`Gf b 1 S
`o a erver
`
`P•::., IDZZ=E~/OW
`fl>26r7
`
`I
`
`IS
`
`t02.1
`
`IDIB
`
`I 02 '2..
`
`J 0\2..
`
`Cisco - Exhibit 1002 - Page 9
`
`
`
`___ _I~ /197
`l CONTROLLER , - -
`
`AUDIO
`
`/120
`
`MEMORY
`CONTROLLER
`
`~/125
`
`I
`l CONTROLLER
`
`BUS
`
`r'1oo
`
`142
`
`II.
`
`··-···
`
`141
`
`: r' 147
`(c)
`
`'}146
`
`1152\
`
`DISKETTE DRIVE II CD ROM DRIVE
`
`FIXED DISK DRIVE
`
`140
`
`CONTROLLER
`
`CONTROLLER
`
`J 'i ~0
`
`DISK·
`CONTROLLER
`
`1135
`
`INTERRUPT
`CONTROLLER
`
`CPU
`
`1105
`
`BUS
`
`r-----L--/--.160 ~ /165 ~ I
`KEYBOARD AND
`DMA
`[
`VIDEO
`MOUSE
`CONTROLLER
`CONTROLLER
`CONTROLLER
`
`-
`
`{155
`
`4----J157
`FIG. 1.1 (P~~ MT)
`
`COMMUNICATION
`ADAPTER
`
`~·
`
`1191
`
`170
`
`NETWORK
`
`..
`
`•
`
`•
`
`= c::>O'
`.............
`-..]
`l\:)
`~
`~
`~
`~
`
`Cisco - Exhibit 1002 - Page 10
`
`
`
`.
`
`• ~~/721316
`
`03/721315
`
`I
`
`'
`
`••
`
`Bus
`para
`
`[212.
`
`[228
`
`t2.18
`1218
`
`1216 ‘Zzgj
`
`
`
`
`
`aquv-r
`59;
`
`‘4
`
`I220
`
`WM
`
`1226
`1 226
`
`A} /2
`/P6134 «7)
`
`Cisco - Exhibit 1002 - Page 11
`
`Cisco - Exhibit 1002 - Page 11
`
`
`
`..
`
`•
`
`•
`
`~~/721316
`
`1'310
`
`Macintosh
`UNIX
`Wiv\clow.s
`
`~"~acintosh gui
`X·Windows gui
`W\~ow.s 8vL
`
`-fwptsp.cdc
`wpgsm.ctic · : i
`i:
`'--:---'!
`
`wpxxx.cdc
`
`Cisco - Exhibit 1002 - Page 12
`
`
`
`. '
`
`.
`
`•
`
`l
`
`.,
`
`••
`
`08/721315
`~~/721316
`
`/
`
`_/ WAPI A, I 3; 3
`process
`
`
`
`F~. 13B
`
`'Cisco - Exhibit 1002 - Page 13
`
`Cisco - Exhibit 1002 - Page 13
`
`
`
`• ~8/721316
`
`r4o2~
`
`RogerWulco
`mi!co@isp.com
`
`*'
`
`'
`
`5
`: 10131
`
`M41!
`35
`
`I
`
`“$02.5
`
`[7102
`
`HOZE
`
`Cisco - Exhibit 1002 - Page 14
`
`Cisco - Exhibit 1002 - Page 14
`
`
`
`~8/721316
`
`
`
`/151&13
`
`//6/a<!. / /.S/6D
`
`//S/&c;
`
`ciul
`
`'@ ~ ~
`
`45/,
`
`1525
`
`
`
`Cisco - Exhibit 1002 - Page 15
`
`Cisco - Exhibit 1002 - Page 15
`
`
`
`•
`- - -
`
`\olD
`
`/~16
`
`'
`
`'
`
`--I
`I \
`I
`
`\
`
`(
`(
`I
`(
`
`\
`'--·
`
`•
`
`----
`
`1.0~(!_
`
`L .
`
`-
`
`~8/721316
`
`- -
`
`/
`
`I
`
`I
`
`J
`
`J
`
`I
`I
`
`~-~~----~---;------~----·~
`
`I
`l
`1578
`- L----r-----...1_ - - _J
`
`'sco - Exhibit-1002 - Page 16
`
`Cisco - Exhibit 1002 - Page 16
`
`
`
`'
`
`'
`
`•
`
`•
`
`~~/721316
`
`NetSpeak
`Global Server
`
`NetS peak
`Global Server
`
`NetSpeak
`Global Server
`
`lf-p
`j---J 1528
`
`Cisco - Exhibit 1002 - Page 17
`
`
`
`'
`
`'
`
`•
`
`•
`
`~8/721316
`
`<:CoNIJe:c..T "Rc(fl>
`
`'RECI.::-o!t:="D <
`
`/16'
`
`16/f
`
`1616
`
`N
`
`Cisco - Exhibit 1002 - Page 18
`
`
`
`,0
`
`~~/721316
`03/731316
`
`0mm)
`UNRECOGMEZED
`DATA
`
`/63->’
`/6.3s-
`
`.
`
`••
`
`/6bt;
`#20
`
`It
`M
`
`/656
`
`4.1MF0 IRE-20>
`“RECEIVEQ
`7
`
`N
`
`EM Seared.
`(Ly-{Wk
`
`F47. /6 B
`
`A540
`
`y
`Y
`
`and m Am
`RECE'LVED
`
`N
`
`/6 #42
`
`SM
`
`412%),
`
`M44
`y
`Y
`
`»
`
`M
`
`/6 32.
`
`N
`
`PowER OFF
`7
`
`Y
`
`END
`
`Cisco - Exhibit 1002 - Page 19
`
`Cisco - Exhibit 1002 - Page 19
`
`
`
`6
`L.
`0
`B
`A
`L
`s
`
`£.
`~
`\1
`£
`R
`
`;:: ISt;O
`
`r-r
`
`I <ONI..ztJE R6Q>
`
`w
`E".
`B
`p
`\+
`0
`N
`t:
`
`3 -<V.ScK LNF()>-
`
`4 < Rcr:s:r:5rRA-7.rtJN >-
`S < ONL...rN£ Ack. >(cid:173)
`(:. < Cr;!JNGc~r_!feQ>- -··(cid:173)
`'lA- < C!JJJkl c~r ACK. ~-~
`1 B <Or=rc L:l=.NE>
`
`~ ~
`
`;538
`
`0
`
`~ e.
`
`15;36
`
`<CALL';>
`< Rt::"Jec-r>
`
`-<AVDrO
`< ~D.::CO>
`12 <EN
`
`L-------------------
`1\<:.
`
`\\t)
`
`_ --<cAL.L.E~ 0!<.>
`< CA:LLC:e_ ~K.>
`
`pl·~ · 17 A
`
`•
`
`•
`
`= ex:>
`.............
`"'1
`,..,..
`tv
`~ ....... en
`
`Cisco - Exhibit 1002 - Page 20
`
`
`
`•
`
`•
`
`~~/721316
`[18/721316
`
`'?,\JJ~~~~ <\ll
`m2QIA»MWu3
`
`94092:; mam/ml (I
`
`I
`
`}--.
`
`1\)
`
`~
`-~
`\r
`J
`
`)
`I
`A A
`JL
`~ ~ AN ~
`A ~ ~~ J 't
`PC-
`< ~ 0
`~ ~ ~
`~ ~ ~ "\
`y y
`\( v
`[11/~1
`~
`~
`" - ~
`I
`Nl[
`
`f':)
`
`._
`
`\9..J IV \fl ~ .J
`
`r:n W ~) W cl
`
`~
`)'--_
`....._
`.
`,\)\::)
`~
`
`Cisco - Exhibit 1002 - Page 21
`
`Cisco - Exhibit 1002 - Page 21
`
`
`
`••
`
`•
`
`U !Virtual Base
`
`short 10
`short Type
`
`',//8/Z
`
`,;'
`
`I
`T
`
`is a
`
`/19tiJ
`
`I
`
`U IVirtuaiControl
`
`i
`
`is a
`
`UNirtuaiObject
`1-----------------------------
`i
`i ~rt,al bool Val,dateNewVarw•(long NewVal"") I
`-·
`-j- isa
`I
`
`-
`
`I
`
`UICollection
`
`:JIVirtuaiObject• Childrenl] !
`I
`~~~~~~-~ion• Parent
`I
`
`I
`
`I
`
`l-·
`
`i
`
`_j
`
`GUIControl
`
`long Value
`UIControl* Sibling
`
`----------~----
`UIControl
`
`GUIControl* Sibling
`UICollection• Parent
`
`.•
`
`Cisco - Exhibit 1002 - Page 22
`
`
`
`••
`
`•
`
`'"'" .
`l~~Ltl.
`
`UIControl
`
`GUIControl" Sibling
`! UICollection• Parent
`j------------------
`1
`
`UIButton
`
`\
`
`!
`1·-·-·---- ---------·-·----------------··------ ..
`I
`
`____ __j
`
`UITab
`
`r-
`~
`
`i
`i
`;
`
`-+--'- isa
`I
`l
`/
`1--------rl/ .
`/,_,___,
`
`UISiider
`
`UIScroller
`
`j
`i
`
`I
`-----·------··-------------··--···--·.-.I
`I i
`
`I
`!
`!
`I
`L
`l
`i
`
`UIDisplay
`
`I
`
`.l
`i
`
`i
`I
`
`I
`I I
`I
`
`I
`I
`i
`i
`I
`
`UllistBox
`
`!
`i
`
`j
`
`/
`
`f/Z,2..
`
`UIComboBox
`
`I
`/i/8
`
`I
`I
`I
`I
`UIEditBox
`
`I
`
`!
`L ---·----------
`: :
`!
`i
`
`I
`
`I ·/
`7
`11/f
`
`9tCt6l./8~
`
`Cisco - Exhibit 1002 - Page 23
`
`
`
`•
`
`UIButton •
`
`~-'- isa
`
`I .
`!
`
`I
`
`I ;
`--r---J
`
`;gjL6
`
`UICollection
`
`!
`l
`-· ·-· ... ····--.-
`GUIVortuaiObjed• ChildrenO:
`u~·P•em 1
`
`. r /lttJ(,
`
`...,----J
`is a
`
`j
`
`,---··----'---
`UIPhone
`i
`I
`I
`.. ---····I
`
`f------l'
`
`IJJ8
`
`r i
`
`UICaU
`
`UIUne
`
`r-(j. /8])
`
`Cisco - Exhibit 1002 - Page 24
`
`
`
`•
`
`_job
`p
`
`£
`
`.............. ..::
`id
`type
`state
`nparties
`*party( ]
`•in Task
`*outTask
`*nextJob
`•prevJob'_
`
`job()
`-job()
`Add Party()
`Remove Party()
`Create Task()
`Remove Task()
`
`cmd
`AE_IN!l.
`AE_CLOSE
`AE_START
`AE_STOP
`AE_FILLME
`AE_USEME
`
`src/dst
`
`AE MIC
`AE ITCMIC
`AE_SPKR
`AE ITCSPKR
`AE_SOCKET
`AE_FILE
`
`party
`
`\7
`
`state
`session
`socket
`partyRec
`party()
`-party()
`Load Party()
`
`Fia· I? A
`
`task
`()
`
`....__.,.
`cmd
`src
`dst
`state
`*job
`*buf
`extent
`file Handle
`file Type
`file len
`file Size
`mic
`spkr
`flags
`
`task()
`-task()
`
`line array
`
`job queue
`
`lines
`
`•job
`
`•parties
`
`jobs
`
`*tasks
`
`-----
`
`line
`
`0
`
`state
`duration
`*job
`
`CreateCall()
`Remove Call()
`
`9IC1G~/8~
`
`Cisco - Exhibit 1002 - Page 25
`
`
`
`•
`
`socket
`
`zol6
`
`•
`
`').oo6
`
`write to
`file handle
`
`x.
`
`':~
`
`i
`
`i:Ji
`
`------IJJ.!
`
`'
`~-------------------~
`
`place empty
`tl
`buffer on ,.f"' 2 O 31
`~~
`I mic sampling
`!J
`queue
`'-wO<·X·>O·><:·:<>>O·>·>X<·Or'»»»"''>O>;o·o·o·o:»o',:;
`
`p:ace empty
`buffer on
`
`,,
`i
`
`plac~;;:r% &~---1~ return
`\
`·-.....~,,=,,«-;wr:J'j.}
`
`"free" pool
`/f
`1
`,J<:,:;;,:;,c;,-:;,c;,'C:,:,;;,:,:,:,:,:,:::;;;,:,:,:,.,.,., ... ;,-:z,-:;J
`
`ii ~j
`
`~3b
`
`91CtG~/8~
`
`20:38
`
`ho·2DA
`
`Cisco - Exhibit 1002 - Page 26
`
`
`
`•
`
`mic
`
`•
`
`Obtain msg !f.---.! Async read
`from VVinSock
`from "pool"
`····::··::·
`
`return
`
`return
`
`91C1Gl./8~
`
`Cisco - Exhibit 1002 - Page 27
`
`
`
`• 16
`
`
`
`/
`
`
`\/ dest\‘>$
`
` :m.>.\~‘ ?
`
`•. !
`
`place msg buffer
`in MCI msg
`
`""
`
`QIEIaL/gu
`
`Cisco - Exhibit 1.002 - Page 23
`
`Cisco - Exhibit 1002 - Page 28
`
`
`
`•
`
`16
`
`2o70
`
`Zo76
`
`Cancel sa~ piing jjf··· -~
`from m1c
`:::
`(.
`'-=====d::::
`
`~-*----/ 2o8~
`i
`'----~ set src = NONE ,,.f:'i 1 - - - - - -____ J
`. , ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:;,:,:;r,:,:;,,,,,,,,,,,,,,,,,,,~,,,,,,J:I
`y
`
`'·=·=
`
`Cisco - Exhibit 1002 - Page 29
`
`
`
`•
`
`PATENT
`NOOOJ/7002
`
`Inventors: Shane D. Mattaway, Glenn W. Hutton, and Craig B. Strickland
`
`GRAPHIC USER INTERFACE FOR INTERNET TELEPHONY APPLICATION
`
`1
`
`Cisco - Exhibit 1002 - Page 30
`
`
`
`•
`
`PATENT
`NOOOJ/7002
`
`This application is a 90ntinuation-in-part of United States patent application serial
`l yf:r<-\&1'\\)
`number 08/533,115 entitled Point-to-Point Internet Protocol, by Glenn W. Hutton, filed
`"
`
`September 25, 1995, commonly assigned, the subject matter of which is inco~porated
`'1.
`
`herein by refer~nce.
`
`.
`To the extent that any matter contained herein is not already disclosed in the
`
`~
`
`above-identified parent applic*~!gi~~ation claims priority to United States
`~~b~~IS~~~
`provisional patent application"X0K4intitled Internet Telephony Apparatus and
`
`Method by Mattaway et al., filed September 4, 1996, and United States provisional
`G O/d :2..1/, {).s I
`patent application serial numbe~ XX!XXX,XXX. entitled System and Methods for Point-
`To-Point Communications Over a Computer Network, by Mattaway et al., filed August
`
`211 1996.
`
`In addition, this application is one of a number of related applications filed on an
`
`even date herewith and commonly assigned, the subject matters of which are
`incorporated herein by reference, including the f~ln !?'If
`U.S. Patent Application Serial No~
`x-x,~ntitled Directory Server
`For Providing Dynamically Assigned Network Protocol Addresses, by Mattaway
`fJi I 711 6~
`
`et al.;
`
`U.S. Patent Application Serial No1 xxmxx .• enlftled Point-to-point
`
`Computer Network Communication Utility Utilizing Dynamically Assigned
`
`Network Protocol Addresses, by Mattaway et al.;
`d f / 7 /f G. ¥ lJ
`.
`U.S. Patent Application Serial No. *XIXXX,XX-X:, entitled Method And
`A
`Apparatus For Dynamically Defining Data Communication Utilities, by
`
`Mattaway et al.;
`
`2
`
`Cisco - Exhibit 1002 - Page 31
`
`
`
`1• -;a-f . · PAT::It
`
`NOOOJ/7002
`
`.
`
`U.S.
`
`Apparatus Fo
`
`~~/721316
`t'Jf //jlffi/
`Serial No. ~entitled Method And
`A..
`And Presentation Of MultiiJledia Data Over A
`
`~ $ / 11 t f '!P
`Computer Network, by Mattaway et al.;
`U.S. Patent Application Serial No.~}()(,XXX, entitled Method And
`Apparatus For Providing Caller Identification Based Out-going Messages In A
`
`Computer Telephony Environment, by Matta~9Y et al.;
`<Jf/?lf. 91/
`U.S. Patent Application Serial No~X)(f)O(X,XXX, entitled Method And
`Apparatus For Providing Caller Identification Based Call Blocking In A Computer
`Telephony Environment, by Mattaway et al.; a:z ~ /_ ~
`"i 1/JJ ,3 L
`U.S. Patent Application Serial No1*'<1 X,)tXX, entitled Method And
`
`!
`
`.
`
`Apparatus For Providing Caller Identification Responses In A Computer
`
`Telephony Environment, by Mattaway et al.
`
`FIELD OF THE INVENTION
`
`The present invention relates, in general, to data processing systems, and more
`
`specifically, to a method and apparatus for facilitating audio communications over
`
`computer networks.
`
`BACKGROUND OF THE INVENTION
`
`The increased popularity of on-line services such as AMERICA ONLINE™,
`
`COMPUSERVE®, and other services such as Internet gateways have spurred
`
`applications to provide multimedia, including video and voice clips, to online users. An
`
`example of an online voice clip application is VOICE E-MAIL FOR WINCIM and VOICE
`
`E-MAIL FOR AMERICA ONLINE™, available from Bonzi Software, as described in
`
`"Simple Utilities Send Voice E-Mail Online", MULTIMEDIA WORLD, VOL. 2, NO. 9,
`
`3
`
`Cisco - Exhibit 1002 - Page 32
`
`
`
`•
`
`•
`
`PATENT
`NOOOJ/7002
`
`August 1995, p. 52. Using such Voice E-Mail software, a user may create an audio
`
`message to be sent to a predetermined E-mail address specified by the user.
`
`Generally, devices interfacing to the Internet and other online services may
`
`communicate with each other upon establishing respective device addresses. One
`
`type of device address is the Internet Protocol (IP) address, which acts as a pointer to
`
`the device associated with the IP address. A typical device may have a Serial Line
`
`Internet Protocol or Point-to-Point Protocol (SLIP/PPP) account with a permanent IP
`
`address for receiving E-mail, voicemail, and the like over the Internet. E-mail and
`
`voicemail is generally intended to convey text, audio, etc., with any routing information
`
`such as an IP address and routing headers generally being considered an artifact of the
`
`communication, or even gibberish to the recipient.
`
`Devices such as a host computer or server of a company may include multiple
`
`modems for connection of users to the Internet, with a temporary IP address allocated
`
`to each user. For example, the host computer may have a generaiiP address
`
`"XXX.XXX.XXX," and each user may be allocated a successive IP address of
`
`XXX.XXX.XXX.10, XXX.XXX.XXX.11, XXX.XXX.XXX.12, etc. Such temporary IP
`
`addresses may be reassigned or recycled to the users, for example, as each user is
`
`successively connected to an outside party. For example, a host computer of a
`
`company may support a maximum of 254 IP addresses which are pooled and shared
`
`between devices connected to the host computer.
`
`Permanent IP addresses of users and devices accessing the Internet readily
`
`support point-to-point communications of voice and video signals over the Internet. For
`
`example, real-time video teleconferencing has been implemented using dedicated IP
`
`addresses and mechanisms known as reflectors. Due to the dynamic nature of
`
`temporary IP addresses of some devices accessing the Internet, point-to-point
`
`communications in real-time of voice and video have been generally difficult to attain.
`
`4
`
`Cisco - Exhibit 1002 - Page 33
`
`
`
`" : I )
`
`•
`
`•
`
`PATENT
`NOOOJ/7002
`
`The ability to locate users having temporary or dynamically assigned Internet
`
`Protocol address has been difficult without the user manually initiating the
`
`communication. Accordingly, spontaneous, real-time communications with such users
`
`over computer networks have been impractical. Further, it is desirable to have a
`
`communication utility which contains familiar features and functions to current
`
`communication utility such as telephones and cellular telephones. It is even further
`
`desirable to utilize the current graphic user interface technology associated with
`
`computer software in a manner to achieve a more flexible interface to a such a
`
`communication utility, without the limitations associated with hardware.
`
`Accordingly, a need exists for a way to determine whether computer users are
`
`actively connected to a computer network.
`
`A further need exists for a way to obtain the dynamically assigned Internet
`
`Protocol address of a user having on-line status with respect to a computer network,
`
`particularly the Internet.
`
`An even further need exists for a method and apparatus by which to establish
`
`real-time, point-to-point communications over a computer network using a
`
`communication utility having an interface which combines the familiar aspects of current
`
`hardware communication utilities but which al~ows for the flexibility associated with
`
`graphic user interfaces.
`
`SUMMARY OF THE INVENTION
`
`The above deficiencies in the prior art and previously described needs are
`
`fulfilled by the present invention which provides a virtual communications utility
`
`displayable on computer system interfaces which enables real-time, point-to-point
`
`communications over computer networks. According to one embodiment of the present
`
`invention, a computer program product for use with a computer system having a display
`
`5
`
`Cisco - Exhibit 1002 - Page 34
`
`
`
`•
`
`•
`
`PATENT
`NOOOJ/7002
`
`and an audio transducer comprises a computer usable medium having computer
`
`readable code means embodied therein comprising program code means for
`
`generating a user interface, program code means responsive to user input commands
`
`for establishing a point-to-point communication link with another computer over a
`
`network and program code means responsive to audio data from the audio transducer
`
`for transmitting the audio data over the communication link.
`
`According to another embodiment of the present invention, a computer program
`
`product for use with a computer system comprises a computer usable medium having
`
`computer readable program code means embodied thereon comprising code means for
`
`transmitting from a client process to a server a query as to whether a second client
`
`process is connected to the computer network, program code means for receiving the
`
`network protocol address of the second process from the server, and program code
`
`means responsive to the network protocol address of the second client process for
`
`establishing a point-to-point communication link between the first client process and the
`
`second client process.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The features of the invention will become more readily apparent and may be
`
`better understood by referring to the following detailed description of an illustrative
`
`embodiment of the present invention, taken in conjunction with the accompanying
`
`drawings, in which:
`
`Fig. 1 illustrates, in block diagram format, a system for the disclosed point-to(cid:173)
`
`point Internet protocol;
`
`Fig. 2 illustrates, in block diagram format, the system using a secondary point-to(cid:173)
`
`point Internet protocol;
`
`6
`
`Cisco - Exhibit 1002 - Page 35
`
`
`
`•
`
`•
`
`PATENT
`N0003/7002
`
`Fig. 3 illustrates, in block diagram format, the system of FIGS. 1-2 with the point(cid:173)
`
`to-point Internet protocol established;
`
`Fig. 4 is another block diagram of the system of FIGS 1-2 with audio
`
`communications being conducted;
`
`Fig. 5 illustrates a display screen for a processing unit;
`
`Fig. 6 illustrates another display screen for a processing unit;
`
`Fig. 7 illustrates a flowchart of the initiation of the point-to-point Internet
`
`protocols;
`
`Fig. 8 illustrates a flowchart of the performance of the primary point-to-point
`
`Internet protocols;
`
`Fig. 9 illustrates a flowchart of the performance of the secondary point-to-point
`
`Internet protocol;
`
`Fig. 10 illustrates schematically a computer network over which the present
`
`invention may be utilized;
`
`Fig. 11 is a block diagram of a computer system suitable for use with the
`
`present invention;
`
`Fig. 12 is a block diagram of an audio processing card suitable for use with the
`
`computer system of FIG. 1 0;
`
`Fig. 13 A-B are schematic block diagrams of the elements comprising the
`
`inventive computer network telephony mechanism of the present invention;
`
`Fig. 14 is a screen capture illustrating an exemplary user interface of the present
`
`invention;
`
`Fig. 15 is a schematic diagram illustrating the architecture of the connection
`
`server apparatus suitable for use with the present invention;
`
`Fig. 16A is a flowchart illustrating the process steps performed by the connection
`
`server in accordance with the present invention;
`
`7
`
`Cisco - Exhibit 1002 - Page 36
`
`
`
`•
`
`•
`
`PATENT
`N0003/7002
`
`Fig. 168 is a flowchart illustrating the process steps performed in accordance
`
`with the information server of the present invention;
`
`Figs. 17 A-B are schematic block diagrams illustrating of the packet transfer
`
`sequence in accordance with the communication protocol of the present invention;
`
`Fig. 18A-D are conceptual block diagrams illustrating user interface and graphic
`
`user interface objects utilized by the communication utility of the present invention;
`
`Fig. 19A-C are conceptual block diagrams illustrating the event manager and
`
`media engine objects utilized by the communication utility of the present invention;
`
`and
`
`Figs. 20A-D illustrate process steps performed by the media engine function of
`
`the communication utility in accordance with the present invention.
`
`DETAILED DESCRIPTION
`
`Referring now in specific detail to the drawings, with like reference numerals
`
`identifying similar or identical elements, as shown in FIG. 1, the present disclosure
`
`describes a point-to-point network protocol and system 10 for using such a protocol.
`
`In an exemplary embodiment, the system 10 includes a first processing unit 12
`
`for sending at least a voice signal from a first user to a second user. The first
`
`processing unit 12 includes a processor 14, a memory 16, an input device 18, and an
`
`output device 20. The output device 20 includes at least one modem capable of, for
`
`example, 14.4 Kilobit-per-second communications and operatively connected via wired
`
`and/or wireless communication connections to the Internet or other computer networks
`
`such as an Intranet, i.e., a private computer network. One skilled in the art would
`
`understand that the input device 18 may be implemented at least in part by the modem
`
`of the output device 20 to allow input signals from the communication connections to be
`
`received. The second processing unit 22 may have a processor, memory, and input
`
`8
`
`Cisco - Exhibit 1002 - Page 37
`
`
`
`•
`
`•
`
`PATENT
`NOOOJ/7002
`
`and output devices, including at least one modem and associated communication
`
`connections, as described above for the first processing unit 12. In an exemplary
`
`embodiment, each of the processing units 12, 22 may execute the WEBPHONE®
`
`Internet telephony application available from NetSpeak Corporation, Boca Raton, FL,
`
`which is capable of performing the disclosed point-to-point Internet protocol and system
`
`10, as described herein.
`
`The first processing unit 12 and the second processing unit 22 are operatively
`
`connected to the Internet 24 by communication devices and software known in the art,
`
`such as an Internet Service Provider (ISP) or an Internet gateway. 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 mail server 28 associated with
`
`the Internet 24.
`
`The connection server 26 includes a processor 30, a timer 32 for generating time
`
`stamps, and a memory such as a database 34 for storing, for example, E-mail and
`
`Internet Protocol (IP) addresses of logged-in units. In an exemplary embodiment, the
`
`connection server 26 may be a SPARC 5 server or a SPARC 20 server, available from
`
`SUN MICROSYSTEMS, INC., Mountain View, CA, having a central processing unit
`
`(CPU) as processor 30, an operating system (OS) such as UNIX, for providing timing
`
`operations such as maintaining the timer 32, a hard drive or fixed drive, as well as
`
`dynamic random access memory (DRAM) for storing the database 34, and a keyboard
`
`and display and/or other input and output devices (not shown in FIG. 1 ). The database
`
`34 may be an SQL database available from ORACLE or INFORM IX.
`
`In an exemplary embodiment, the mail server 28 may be implemented with a
`
`Post Office Protocol (POP) Version 3 mail server and the Simple Mail Transfer Protocol
`
`(SMTP), including a processor, memory, and stored programs operating in a UNIX
`
`9
`
`Cisco - Exhibit 1002 - Page 38
`
`
`
`•
`
`•
`
`PATENT
`N0003/7002
`
`environment, or, alternatively, another OS, to process E-mail capabilities between
`
`processing units and devices over the Internet 24.
`
`In the illustrative embodiment, the POP protocol is utilized to retrieve E-mail
`
`messages from mail server 28 while the SMTP protocol is used to submit E-mail
`
`message to Internet 24.
`
`The first processing unit 12 may operate the disclosed point-to-point Internet
`
`protocol by a computer program described hereinbelow in conjunction with FIG. 6,
`
`which may be implemented from compiled and /or interpreted source code in the C++
`
`programming language and which may be downloaded to the first processing unit 12
`
`from an external computer. The operating computer program may be stored in the
`
`memory 16, which may include about 8MB RAM and/or a hard or fixed drive having
`
`about 8MB of available memory. Alternatively, the source code may be implemented
`
`in the first processing unit 12 as firmware, as an erasable read only memory (EPROM),
`
`etc. It is understood that one skilled in the art would be able to use programming
`
`languages other than C++ to implement the disclosed point-to-point network protocol
`
`and system 10.
`
`The processor 14 receives input commands and data from a first user associated
`
`with the first processing unit 12 though the input device 18, which may be an input port
`
`connected by a wired, optical, or a wireless connection for electromagnetic
`
`transmissions, or alternatively may be transferable storage media, such as floppy disks,
`
`magnetic tapes, compact disks, or other storage media including the input data from the
`
`first user.
`
`The input device 18 may include a user interface (not shown) having, for
`
`example, at least one button actuated by the user to input commands to select from a
`
`plurality of operating modes to operate the first processing unit 12. In alternative
`
`embodiments, the input device 18 may include a keyboard, a mouse, a touch screen,
`
`10
`
`Cisco - Exhibit 1002 - Page 39
`
`
`
`•
`
`•
`
`PATENT
`N0003/7002
`
`and/or a data reading device such as a disk drive for receiving the input data from input
`
`data files stored in storage media such as a floppy disk or, for example, an 8 mm
`
`storage tape. The input device 18 may alternatively include connections to other
`
`computer systems to receive the input commands and data therefrom.
`
`The first processing unit 12 may include a visual interface for use in conjunction
`
`with the input device 18 and output device 20 similar to those screens illustrated in
`
`FIGS. 5-6, discussed below. It is also understood that alternative devices may be used
`
`to receive commands and data from the user, such as keyboards, mouse devices, and
`
`graphical user interfaces (GUI) such as WINDOWS™ 3.1 available form MICROSOFT
`
`Corporation, Redmond, WA., and other operating systems and GUis, such as OS/2 and
`
`OS/2 WARP, available from IBM CORPORATION, Boca Raton, FL. Processing unit 12
`
`may also include microphones and/or telephone handsets for receiving audio voice
`
`data and commands, speech or voice recognition devices, dual tone multi-frequency
`
`(DTMF) based devices, and/or software known in the art to accept voice data and
`
`commands and to operate the first processing unit 12.
`
`In addition, either of the first processing unit 12 and the second processing unit
`
`22 may be implemented in a personal digital assistant (PDA) providing modem and E(cid:173)
`
`mail capabilities and Internet access, with the PDA providing the input/output screens
`
`for mouse interactions or for touchscreen activation as shown, for example, in FIGS. 5-
`
`6, as a combination of the input device 18 and output device 20.
`
`For clarity of explanation, the illustrative embodiment of the disclosed point-to(cid:173)
`
`point Internet protocol and system 10 is presented as having individual functional
`
`blocks, which may include functional blocks labeled as "processor" and "processing
`
`unit". The functions represented by these blocks may be provided through the use of
`
`either shared or dedicated hardware, including, but not limited to, hardware capable of
`
`executing software. For example, the functions of each of the processors and
`
`11
`
`Cisco - Exhibit 1002 - Page 40
`
`
`
`..
`
`•
`
`•
`
`PATENT
`NOOOJ/7002
`
`processing units presented herein may be provided by a shared processor or by a
`
`plurality of individual processors. Moreover, the use of the functional blocks with
`
`accompanying labels herein is not to be construed to refer exclusively to hardware
`
`capable of executing software. Illustrative embodiments may include digital signal
`
`processor (DSP) hardware, such as the AT&T DSP16 or DSP32C, read-only memory
`
`(ROM) for storing software performing the operations discussed below, and random
`
`access memory (RA