`
`[19]
`
`[11] Patent Number:
`
`6,009,469
`
`Mattaway et al.
`
`[45] Date of Patent:
`
`Dec. 28, 1999
`
`US006009469A
`
`[54] GRAPHIC UsER INTERFACE FOR
`INTERNET TELEPHONY APPLICATION
`
`[75]
`
`Inventors: Shane D. Mattaway, Boca Raton;
`Glenn W- H““011> Miami; C1318 3-
`Strickland, Tamarac, all of Fla.
`
`[73] Assignee: NetSpeak Corporation, Boca Raton,
`Fla.
`
`[21] APPL N01 08/721,316
`
`[22]
`
`Filed:
`
`Sep. 25, 1996
`
`Related U.S. Application Data
`
`[63]
`
`[60]
`
`Continuation—in—part of application No. 08/533,115, Sep. 25,
`1995
`Provisional application No. 60/025,415, Sep. 4, 1996, and
`provisional application No. 60/024,251, Aug. 21, 1996.
`Int. Cl.5 ...................................................... G06F 17/00
`..............................................................
`[58] Field of Search ....................... .. 395/200.57, 200.58;
`709/227, 228; 370/352, 355, 357, 389,
`395
`
`[51]
`
`[56]
`
`References Cited
`
`5,095,480
`
`U5 PATENT DOCUMENTS
`3/1992 Fenner.
`Eeicrllcrlrllg et a1’ '
`4/1993 Dorfe et al.
`.
`5 204 669
`6/1993 Woest et al..
`5,224,095
`3/1994 Morales.
`5,291,554
`.
`5/1994 Cidon et al.
`5,309,433
`5/1994 Perlman et al
`5 309 437
`6/1994 MCMHICH et al.
`5,321,813
`10/1994 Banwart .
`5,357,571
`3/1995 Yamada .
`5,400,335
`6/1995 Britton et a1.
`5,425,028
`7/1995 Galloway -
`5,430,709
`7/1995 C3119“ -
`14309727
`7/1995 Non‘) ‘
`5>432>846
`8/1995 Perkins et al.
`5,442,633
`9/1995 Shimizu .
`5,452,296
`5,455,854 10/1995 Dilts et al.
`5,457,683
`10/1995 Robins.
`5,457,738 10/1995 Sylvan .
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`
`.
`
`10/1995 Yasrebi.
`5,463,625
`5,465286 11/1995 Clare 61 a1~~
`5,469,500 11/1995 Satter et al.
`5,475,741
`12/1995 Davis et al.
`5,479,411
`12/1995 Klein .
`5 509 058
`4/1996 Sestak et al.
`5,517,494
`5/1996 Green .
`5,524,110
`6/1996 Danneels et al.
`5,524,141
`6/1996 Braun et a1.
`~
`5,526,489
`6/1996 Nilakantan et al.
`5,533,110
`7/1996 Pinard et al.
`.
`.
`5,544,303
`8/1996 Maroteaux et al.
`5,546,582
`8/1996 Brockmeyer et al.
`
`.
`
`.
`
`.
`
`FOREIGN PATENT DOCUMENTS
`
`European Pat. Off.
`11/1991
`A2 0445402
`8/1993 European Pat. Off.
`A2 0556012
`WO 9219054 10/1992 WIPO .
`
`.
`.
`
`OTHER PUBLICATIONS
`
`Internetworking with TCP/IR vol. 1, Second Edition, Prin-
`ta1§E0’::°?%fg“{Z>r:ZnD§‘;g1aS E"
`
`Weinberg, Netscape Conference and Ceehalk Meeting
`Roorn, www.q5.com, Feb. 22, 1996.
`Gull, Re: Getting IP address of PPP—connected Mac,
`<jgull—0304951005350001@pm012—11.dialip.mich.net>,
`Apr, 3, 1995,
`Mac?,
`for
`Phone
`Internet
`Gull,
`Re:
`>jgull—1704950116450001@pm049—28.dialip.mich.net>,
`Apr. 17,1995.
`Primary Examiner—Ellis B. Ramirez
`Attorney, Agent, or Firm—Kudirka & Jobse, LLP
`
`[57]
`
`ABSTRACT
`
`A communication utility for establishing real-time, point-
`to-point communications between processes over a com-
`puter network Includes apparatus for querying a server as to
`the network protocol address of another client process, and
`apparatus for directly establishing a communication link
`with the client process upon receipt of the network protocol
`address from the server. In one embodiment,
`the utility
`includes a sophisticated user interface having features simi-
`lar to typical telephony hardware but implementing greater
`flexibility with software.
`
`18 Claims, 27 Drawing Sheets
`
`22
`
`_\
`SECOND
`PROCESSING
`UN”
`
`Samsung — Exhibit 1001 — Page 1
`
`
`4D
`
`K-30
`TIMER
`
`ATABASE
`1
`
`
`PROCE
`
`'
`I
`[
`I
`E 14_»'
`'
`
`SSOR
`
`]
`]
`
`MEMORY
`16 J
`
`INPUT
`DEVICE
`1e_x
`OUTPUT
`DEVICE
`20 J
`
`I
`I
`:
`{
`I
`]
`I
`
`'
`E
`
`|NTERNET¢_ 25
`POP 3
`MAIL SERVER
`
`26
`CONNECTION SERVER
`[
`ROCESSOR
`
`1P
`
`
`
`Samsung - Exhibit 1001 - Page 1
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 1 of 27
`
`6,009,469
`
`ozoomm
`
`oz_wwmoomn_
`
`:2:
`
`
`
`m_m>mmm.__<_>_mn_On_
`
`
`
`mm_>mmmzofiomzzoo
`
`N.U~n~
`
`Samsung — Exhibit 1001 — Page 2
`
`Samsung - Exhibit 1001 - Page 2
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 2 of 27
`
`6,009,469
`
`mm
`
`>mm>m_mjoa
`
`mozoommma
`
`.I|lnI.In|
`
`ozoomm
`
`oz_mmmooE
`
`:2:
`
`
`
`mm>mmw.:<_>_mn_On_
`
`Ezmm»z_
`
`._________;
`
`fimmaommkomzzoov
`
`Qobomzzoov
`
`._.Dn_z_
`
`mo_>m_o
`
`______._—._______
`
`Samsung — Exhibit 1001 — Page 3
`
`Samsung - Exhibit 1001 - Page 3
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 3 of 27
`
`6,009,469
`
`ozoomw
`
`ozammoowa
`
`._._ZD
`
`Sm:
`
`oz_mmmoon_
`
`._._Z3
`
`ozoomw
`
`0z_mmm_ooE
`
`:2:
`
`_
`
`_
`
`
`
`_:<:o_oommmmmmzoovn
`
`AO_n_D<
`
`._.mzmm_._.z_
`
`Bx:
`
`oz_mmm_oo¢
`
`:2:
`
`Samsung — Exhibit 1001 — Page 4
`
`Samsung - Exhibit 1001 - Page 4
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 4 of 27
`
`6,009,469
`
`ANE
`.201 .00.137
`
`L1
`
`0024
`
`13
`
`O IDLE
`
`Samsung — Exhibit 1001 — Page 5
`
`f 36
`
`40
`
`
`ROGER
`91.103.001.027
`
`38
`
`0343
`C2
`O IN USE
`
`13
`
`
`42
`
`
`
`
`
`
`
`
`
`
`
`44
`
`50
`
`
`
`48
`
`Samsung - Exhibit 1001 - Page 5
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 5 of 27
`
`6,009,469
`
`54
`
`
`
`
`
`
`
`
`START THE POINT—TO—POlNT
`
`INTERNET PROTOCOLS
`
`INITIATE PRIMARY INTERNET
`
`PROTOCOL
`
`IS THE CONNECTION SERVER IN A
`
`RESPONSIVE CONDITION?
`
`
`
`60
`
`Y
`
`ES
`
`PERFORM PRIMARY
`
`INTERNET PROTOCOL
`
`NO
`
`62
`
`
`
`INITIATE SECONDARY
`
`INTERNT PROTOCOL
`
`56
`
`58
`
`64
`
`68
`
`FIG. 7
`
`START THE PRIMARY
`
`POINT—TO—PO|NT INTERNET
`
`PROTOCOL
`
`TIMESTAMP AND STORE E-MAIL
`
`
`
`
`
` 66
`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
`
`
` 70
`LOGGED-IN
`
`72
`
`
`
`
`SEND RETRIEVED IP ADRESS TO
`FIRST UNIT TO ESTABLISH POINT-
`TO—POINT CONNECTION
`
`FIG. 8
`
`Samsung —
`
`Exhibit I001 - Page 6
`
`Samsung - Exhibit 1001 - Page 6
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 6 of 27
`
`6,009,469
`
`START THE SECONDARY
`
`POINT—TO POINT INTERNET PROTOCOL
`
`GENERATE AN E-MAIL SIGNAL,
`INCLUDING A SESSION NUMBER AND A
`
`FIRST PROCESSING UNIT
`
`FIRST IP ADRESS CORRESPONDING TO A
`
`TRANSMIT THE E—MA|L SIGNAL AS A
`
`<CONNECTREQUEST> SIGNAL
`
`TO THE INTERNET
`
`DELIVER THE E-MAIL SIGNAL THROUGH
`
`THE INTERNET USING A MAIL SERVER TO
`
`A SECOND PROCESSING UNIT
`
`FIRST AND SECOND PROCESSING UNITS
`
`
`
`USING THE FIRST AND SECOND IP
`
`ADDRESSES
`
`Samsung — Exhibit 1001 — Page 7
`
`
`
`FIG. 9
`
`74
`
`75
`
`78
`
`80
`
`82
`
`84
`
`86
`
`88
`
`
`
`
`
`THE FIRST IP ADRESS FROM THE E—MAIL
`
`SIGNAL
`
`
`
`
`SEND THE SESSION NUMBER AND A
`SECOND IP ADRESS CORRESPONDING
`
`
`TO THE SECOND PROCESSING UNIT TO
`
`
`
`
`
`THE FIRST PROCESSING UNIT THROUGH
`I
`THE INTERNET
`
`EXTRACT THE SESSION NUMBER AND
`
`.
`-
`VERIFY THE SESSION NUMBER
`RECEIVED FROM THE SECOND
`
`PROCESSING UNIT
`
`
`
`ESTABLISH A POINT—TO—POINT INTERNET
`
`COMMUNICATION LINK BETWEEN THE
`
`
`
`Samsung - Exhibit 1001 - Page 7
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 7 of 27
`
`6,009,469
`
`82
`
`«mo_.
`
`coo.
`
`xmmamfiz
`
`
`
`._o>._ww_mno_G
`
`_mE3:_
`
`mo_>._mm
`
`.mu_>E..._
`
`39:9...
`
`Samsung — Exhibit 1001 — Page 8
`
`Samsung - Exhibit 1001 - Page 8
`
`
`
`
`
`om.
`
` ,mmjoEzm.vaa!$38582.s_m_5>wm2Mmi9:
`
`
`mofmmjogzoowmmjomhzooas_<mmam
`
`
`rm?
`
`®)0
`
`mm?FER.
`
`
`
`
`
`m>_moxmaDMXEm>_mo20¢00
`
`21.
`
`om.
`
`hi
`
`Tmmjompzoo
`
`>mo2m2
`
`
`
`o:mmjoyfizoo
`
`U.S. Patent
`
`%
`
`
`
`mm.
`
`6,009,469
`
`EVI
`
`
`
`2:PEG.mo.m&uHmL=m..l
`
`5.mm?
`
`702Mmmjowfizoo
`Om_D_><_>_DDZ<om<om>m_xN_m._._O~.._._.ZOOw.ommE<o<mm.:oE.zoommjomhzoomm:os_%ZO_._.<O_ZD_>=>_OO
`
`
`
`
`
`E:mmm»z_
`
`
`
`Samsung — Exhibit 1001 — Page 9
`
`Samsung - Exhibit 1001 - Page 9
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 9 of 27
`
`6,009,469
`
`BUS
`
`WA
`
`1220
`
`1214
`
`1216
`
`INPUT
`
`INTERFACE
`
`
`
`BUFFER
`
`1226
`
`1222
`
`FIGURE 12 (PRIOR ART)
`
`Samsung — Exhibit 1001 — Page 10
`
`Samsung - Exhibit 1001 - Page 10
`
`
`
`U.S. Patent
`
`999100:
`
`72£1001teehS
`
`6,009,469
`
`2_:mm.sou:_>>m=6m_sou:_>>-xD_:m:moE_oms_
`
`22
`
`_._moE_oms_
`
`m26c:_>>
`
`x_z:
`
`<.22:9...
`
`Samsung — Exhibit 1001 — Page 11
`
`Samsung - Exhibit 1001 - Page 11
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 11 of 27
`
`6,009,469
`
`WAPI
`
`1323
`
`process
`
`1334
`
`network
`
`FIGURE 13 B
`
`Samsung — Exhibit 1001 — Page 12
`
`Samsung - Exhibit 1001 - Page 12
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 12 of 27
`
`6,009,469
`
`1400
`
`1402A
`
`1402B
`
`14020
`1402F
`1402J
`
`1406
`
`1408
`
`1402
`
`1402E
`
`14020
`14029
`1402H
`
`1404
`
`
`
`
`BillBill
`
`
`
`
`£1? W@E0@£1n©1m@
`
`X
`
`Figure 14
`
`Samsung — Exhibit 1001 — Page 13
`
`Samsung - Exhibit 1001 - Page 13
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 13 of 27
`
`6,009,469
`
`1500
`
`
` DATABASE
`1516B
`l1516C
`i1516D
`l1516E
`
`DATABASE
`SEARCH
`ENGINE
`
`15151:
`
`CONNECTION
`
`INFORMATION
`
`
`SERVER SEE
`
`
`
`DATABASE
`SERVER
`
`I @
`
`153s
`
`1533
`I @ 1534
`
`NEWNORKINTERFACECARD
`
`1520
`
`1532
`
`FIREWALL SERVER
`
`ROUTER
`
`‘522
`
`‘524
`
`153°
`
`csumsu
`
`1526
`
`@ 1533
`Figure 15A
`
`SanBung—ExmbH1001—Page14
`
`Samsung - Exhibit 1001 - Page 14
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 14 of 27
`
`6,009,469
`
`DATABASE
`
`DATABASE
`SEARCH
`ENGINE
`
`CONNECTION
`
`INFORMATION
`SERVER
`
`Dgggsggfi
`
`- @
`
`1530
`
`1 538
`
`CSUIDSU
`
`1526
`
`1534
`
`Figure 15B
`
`Samsung — Exhibit 1001 — Page 15
`
`Samsung - Exhibit 1001 - Page 15
`
`
`
`U.S. Patent
`
`9mm
`
`m
`
`6,009,469
`
`m8.:a$23NE.6
`
`89.:88.m82
`
`
`.o>._mm_mno_0.m>._mm_mno_0
`
`
`
`
`._$aw.ozxmmnmfiz
`
`v_mwnwaoz%
`
`
`
`.o>._mm_mno_w
`
`Mcam.mum.
`E@
`
`02«Sat
`
`xmmamamz
`
`
`
`.o>._ww_mno__.o
`
`<8_.
`
`Samsung — Exhibit 1001 — Page 16
`
`Samsung - Exhibit 1001 - Page 16
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 16 of 27
`
`6,009,469
`
`am<wmmm_a
`
`omuzooummza
`
`<._.<D
`
`<2Ezmt
`
`
`
`ACMEpumzzoov
`
`...
`
`om>_momm
`
`
`
`.__<s_-m»u<E.xm
`
`mmmmoo<
`
`
`
`.__<s_-mn=n_<>>mOu_
`
`
`
`mm<m<»<aO...mmmEoa<
`
`nzmm
`
`
`
`Av_U<PUMZZOUV
`
`
`
`EOEEUazmm
`
`E0mo<mmms_
`
`
`
`AmZ_._u_u_Ov
`
`«N2
`
`Samsung — Exhibit 1001 — Page 17
`
`Samsung - Exhibit 1001 - Page 17
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 17 of 27
`
`6,009,469
`
`START
`
`
`
`DATA
`
`
`
`
` <INFO‘REQ>
`
`RECEIVED
`?
`
`
`
`DISGARD
`
`UNRECOGNIZED
`
`YES
`
` 1 635
`
`EXTRACT SEARCH
`
`1634
`
`CRITERIA
`
`SUPPLY SEARCH
`CRITERIA To DATABASE
`
`1636
`
`sang
`
`<INFO ACK>
`
`1638
`
`<|NFO ABORT
`
`RECEIVED
`
` YES
`
`
`
` 1644
`
`M)
`
`SEND <lNFO>
`
`1
`
`“O
`
`1632
`
`?
`
`YES
`
`W Figure 16B
`
`Samsung — Exhibit 1001 — Page 18
`
`Samsung - Exhibit 1001 - Page 18
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 18 of 27
`
`6,009,469
`
`mam—mam_.
`
`A._._<0vm
`
`fiomammv<m
`
`A>m:mvmm
`
`mo
`
`
`
`A_._0<_>_mm=smz<vomE0
`
`
`
`Av_U<.._._<Ov8E0
`
`zmzp
`
`A..m=smz<vS.
`
`Ao_n_:<v<3
`
`AO_DD<vmE.
`
`AozmvNF
`
`;|.umn.::ozuJ
`
`
`
`Acmm9.2.mmmavw
`
`Aommmz_._zov_.
`
`Azo:.<Em_.ommv..
`
`
`
`AOn_Z_mmmavm
`
`
`
`Av_U<mzzzovm
`
`AommBmzzoovo
`
`
`
`Av_U<Bmzzoov<5
`
`
`
`AmZ_._u_u_Ovmh
`
`C5_lOm<_l
`
`¢lJI.l.|I>llJlI
`
`Av_Omm._._<ov0:.
`
`
`
`Av_U<mm_._._<ovQ:
`
`E_9:m.E
`
`Samsung — Exhibit 1001 — Page 19
`
`Samsung - Exhibit 1001 - Page 19
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 19 of 27
`
`6,009,469
`
`1536
`
`gmmazozm
`
`3A<|NFO>
`
`3C<|NFO>
`
`on4<|NFO
`
`ABORT> 1500
`
`
`
`1<lNFOREQ>
`
`2<|NFOACK>
`
`Figure17B
`
`Samsung — Exhibit 1001 — Page 20
`
`Samsung - Exhibit 1001 - Page 20
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 20 of 27
`
`6,009,469
`
`S2
`
`mm_
`
`
`
`
`
`w..._>.rroamD.toga
`
`$mm_§t_>_:
`
`82
`
`ox:
`
`.8.3o_m_E_>_=
`
`_ob_._oO_m:t_>_D
`
`
`
`Ao:_m>_swzm_._o=o:_m>25z2muw:_a>uoon_a:t_>
`
`
`
`
`
`
`
`Ao:_m>.swzm:o=m:_m>.mwEon_m:t_>
`
`co:_m>~oO9.2_m:t_>
`
`=o_.8__oo_:
`
`
`
`_o.=:oO_D_o.=:oU_D0
`
`Eo._mn_
`
`
`
`«:o_~om__oO_Dm_ceu__._o..8.3o_m.E_>_:
`
`
`
`m:__.___m._o=:oo_:u
`
`
`
`Ewan..:o_.8__oo_:
`
`
`
`m:__n_w._o.Eoo_:
`
`o:_m>95.
`
`82
`
`32New_.
`
`<29=m.E
`
`Samsung — Exhibit 1001 — Page 21
`
`Samsung - Exhibit 1001 - Page 21
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 21 of 27
`
`6,009,469
`
`1804
`
`
`
`Ulcontrol
`
`
`
`GUlContro|* Sibling
`UlCo|lection* Parent
`
`
`
`1828
`
`1822
`
`U|ComboBox
`
`
`
`
`1814
`
`Figure 18B
`
`Samsung — Exhibit 1001 — Page 22
`
`Samsung - Exhibit 1001 - Page 22
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 22 of 27
`
`6,009,469
`
`Figure 180
`
`
`
`is a
`
`U|PushButton
`
`UlPlayRun
`
`UlToggle
`
`
`
`
`
`1342
`
`1844
`
`1846
`
`Ulcollection
`
`GU|VirtualObject* Childrenl]
`U|Collection* Parent
`
`
`
`Figure 18D
`
`1806
`
`void Show_()
`
`void Hide()
`
` 1834
`
`1832
`
`Samsung — Exhibit 1001 — Page 23
`
`Samsung - Exhibit 1001 - Page 23
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 23 of 27
`
`6,009,469
`
`
`
`..mEo._mucouxoo>tmn_zxmm._.So..
`
`
`
`
`
`mmo._omm<
`
`:2.mi0D‘Div6UEOxmfl3.3no._9.:
`
`._.m<._.wm<use39m239m
`
`
`n_O._.mmm<o._m:o_wmmmcabcozflzu
`
`ms_._.__"_m<an..9_oom93¢no...
`
`
`
`ms_mm:Im_<29m3m>:&mm_tmn_cll
`
`I8_.N:HEtna.o__mo2m2o
`=3.ca§_._$t__.o=moo>oEmm
`
`
`
`
`
`Illll.2_2a_._2__o>:mn__8o._._o_.xo:.
`
`
`
`
`
`5Emo._._«m<2.:o._o_-
`Ev_oommm<2%oa.a%u<
`5_n_m:m<u~_mu___on_o_
`
`
`
`
`
`
`
`o_s_o::m<:o._o_=Ill
`
`25.m<2:r.._=._o_.>§_.
`
`Um.9:9...32
`
`mfltmn.
`
`9.2..mm.m:=m.E
`
`
`
`m.__n_:m<mam:o_Em%>o:_mm
`
`
`
`oxmfio._mm.rm>oEom
`
`cv_mo.r2mo._o
`
`<2m.Sm.E 9.22:
`
`mannano_>m._._m9.:
`
`Samsung — Exhibit 1001 — Page 24
`
`Samsung - Exhibit 1001 - Page 24
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 24 of 27
`
`6,009,469
`
`2004
`
`2006
`
`
`
`SOCKET
`
`MICE
`
`NO
`
`BUFFER
`
` 2 14
`
`0
`
`SPEAKER
`
`®
`
`SOCKET
`
`3
`
`WRITE TO
`SPEAKER
`wnms TO
`FILE HANDLE
`
`
`
`LOOP FOR ALL PARTIES
`
`
`
`IS
`PARTY[1]
`
`ONLINE?
`
`
`
`
`
`
`2032
`PLACE EMPTY
`
`BUFFER ON
`""0
`ENABLED
`MIC SAMPLING
`7
`QUEUE
`
`
`
`
`2034
`
`
`
`2030
`
`SOCKET
`
`MIC
`
`PLACE EMPTY
`BUFFER ON
`Winsock QUEUE
`
`
`
`
`PLACE EMPTY
`
`BUFFER IN
`"free" POOL
`
`
`2036
`
`2038
`
`Figure 20A
`
`Samsung — Exhibit 1001 — Page 25
`
`Samsung - Exhibit 1001 - Page 25
`
`
`
`U.S. Patent
`
`9m
`
`2
`
`m,
`
`96
`
`Nuxoow:_>>Eo:.__oon_..E9:M.cam.
`
`
`
`o:>m<mmEEflno
`
`
`
`o.m-mommm
`
`$8_mEmE_ozEsaw
`
`$8$8@2:o_E
`
`88
`
`3
`
`M,mom2.3.:
`
`
`
`6«momomowSou
`
`7one;o:>m<mm...Emfioo_Emfimcm
`
`
`
`
`
`
`o_EE0:.._ooq..E9:m:__nEmm
`
`Samsung — Exhibit 1001 — Page 26
`
`Samsung - Exhibit 1001 - Page 26
`
`
`
`
`U.S. Patent
`
`6,009,469
`
`_._ooQ__
`
`00.:m._o3mmEmom._m=g_$80w88.9_$%2:
`
`MExmonmM82_.=sm02:E9.
`
`S02two.
`
`V.
`
`new9=m.E
`
`0
`
`9
`
`5.3%$8
`
`Samsung — Exhibit 1001 — Page 27
`
`xoom:;>:_
`
`._o=:nmwEmomiuwxoom.650
`
`
`
`
`
`$8
`
`omom«mom
`
`._.m<Hw
`
`Samsung - Exhibit 1001 - Page 27
`
`
`
`
`U.S. Patent
`
`Dec. 28, 1999
`
`Sheet 27 of 27
`
`6,009,469
`
`Discard pending
`data in mix
`
`buffer
`
`Figure 20D
`
`Samsung — Exhibit 1001 — Page 28
`
`Samsung - Exhibit 1001 - Page 28
`
`
`
`6,009,469
`
`1
`GRAPHIC USER INTERFACE FOR
`INTERNET TELEPHONY APPLICATION
`
`RELATED APPLICATIONS
`
`This application is a continuation-in-part of U.S. patent
`application Ser. No. 08/533,115 (Pending) entitled Point-to-
`Point Internet Protocol, by Glenn W. Hutton, filed Sep. 25,
`1995, commonly assigned, the subject matter of which is
`incorporated herein by reference.
`To the extent that any matter contained herein is not
`already disclosed in the above-identified parent application
`a location claims priority to U.S. provisional patent appli-
`cation 60/025,415 entitled Internet Telephony Apparatus and
`Method by Mattaway et al., filed Sep. 4, 1996, and U.S.
`provisional patent application Ser. No. 60/024,251 entitled
`System and Methods for Point-To-Point Communications
`Over a Computer Network, by Mattaway et al., filed Aug.
`21, 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 following:
`U.S. patent application Ser. No. 08/719,894, entitled
`Directory Server For Providing Dynamically Assigned
`Network Protocol Addresses, by Mattaway et al.;
`U.S. patent application Ser. No. 08/719,554, entitled
`Point-to-point Computer Network Communication
`Utility Utilizing Dynamically Assigned Network Pro-
`tocol Addresses, by Mattaway et al.;
`U.S. patent application Ser. No. 08/719,640, entitled
`Method And Apparatus For Dynamically Defining Data
`Communication Utilities, by Mattaway et al.;
`U.S. patent application Ser. No. 08/719,891, entitled
`Method And Apparatus For Distribution And Presen-
`tation Of Multimedia Data Over A Computer Network,
`by Mattaway et al.;
`U.S. patent application Ser. No. 08/719,898, entitled
`Method And Apparatus For Providing Caller Identifi-
`cation Based Out-going Messages In A Computer Tele-
`phony Environment, by Mattaway et al.;
`U.S. patent application Ser. No. 08/718,911, entitled
`Method And Apparatus For Providing Caller Identifi-
`cation Based Call Blocking In A Computer Telephony
`Environment, by Mattaway et al.; and
`U.S. patent application Ser. No. 08/719,639, entitled
`Method And Apparatus For Providing Caller Identifi-
`cation Responses In A Computer Telephony
`Environment, by Mattaway et al.
`
`FIELD OF THE INVENTION
`
`The present invention relates, in general, to data process-
`ing systems, and more specifically, to a method and appa-
`ratus for facilitating audio communications over computer
`networks.
`
`BACKGROUND OF THE INVENTION
`
`The increased popularity of on-line services such as
`AMERICA ONLINETM, COMPUSERVE®, and other ser-
`vices 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 ONLINETM, available from Bonzi
`Software, as described in “Simple Utilities Send Voice
`
`2
`E-Mail Online”, MULTIMEDIA WORLD, VOL. 2, NO. 9,
`Aug. 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 perma-
`nent 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 gib-
`berish 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 general IP
`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 tem-
`porary 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.
`The ability to locate users having temporary or dynami-
`cally 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 commu-
`nication 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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`communication utility, without
`with hardware.
`
`50
`
`the limitations associated
`
`Accordingly, a need exists for a way to determine whether
`computer users are actively connected to a computer net-
`work.
`
`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 allows
`
`for the flexibility associated with graphic user interfaces.
`SUMMARY OF THE INVENTION
`
`55
`
`60
`
`65
`
`The above deficiencies in the prior art and previously
`described needs are fulfilled by the present invention which
`
`Samsung — Exhibit 1001 — Page 29
`
`Samsung - Exhibit 1001 - Page 29
`
`
`
`6,009,469
`
`3
`provides a virtual communications utility displayable on
`computer system interfaces which enables real-time, point-
`to-point communications over computer networks. Accord-
`ing to one embodiment of the present invention, a computer
`program product for use with a computer system having a
`display and an audio transducer comprises a computer
`usable medium having computer readable code means
`embodied therein comprising program code means for gen-
`erating a user interface, program code means responsive to
`user input commands for establishing a point-to-point com-
`munication 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 commu-
`nication 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, pro-
`gram 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 com-
`munication 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-point Internet protocol;
`FIG. 2 illustrates, in block diagram format, the system
`using a secondary point-to-point Internet protocol;
`FIG. 3 illustrates, in block diagram format, the system of
`FIGS. 1-2 with the point-to-point Internet protocol estab-
`lished;
`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. 10;
`FIGS. 13 A—B are schematic block diagrams of the
`elements comprising the inventive computer network tele-
`phony 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 architec-
`ture of the connection server apparatus suitable for use with
`the present invention;
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`illustrating the process steps
`FIG. 16A is a flowchart
`performed by the connection server in accordance with the
`present invention;
`illustrating the process steps
`FIG. 16B is a flowchart
`performed in accordance with the information server of the
`present invention;
`FIGS. 17A—B are schematic block diagrams illustrating of
`the packet transfer sequence in accordance with the com-
`munication protocol of the present invention;
`FIGS. 18A—D are conceptual block diagrams illustrating
`user interface and graphic user interface objects utilized by
`the communication utility of the present invention;
`FIGS. 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 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 tele-
`phony application available from NetSpeak Corporation,
`Boca Raton, Fla., which is capable of performing the dis-
`closed 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 intercon-
`nected 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, Calif., having a
`central processing unit (CPU) as processor 30, an operating
`system (OS) such as UNIX, for providing timing operations
`
`Samsung — Exhibit 1001 — Page 30
`
`Samsung - Exhibit 1001 - Page 30
`
`
`
`6,009,469
`
`5
`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 INFORMIX.
`
`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 oper-
`ating in a UNIX 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 uti-
`lized 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 8 MB
`RAM and/or a hard or fixed drive having about 8 MB 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 under-
`stood 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 electromag-
`netic transmissions, or alternatively may be transferable
`storage media, such as floppy disks, magnetic tapes, com-
`pact 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, 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 WINDOWSTM 3.1 available form
`MICROSOFT Corporation, Redmond, Wash., and other
`operating systems and GUIs, such as OS/2 and OS/2 WARP,
`available from IBM CORPORATION, Boca Raton, Fla.
`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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`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-mail capa-
`bilities and Internet access, with the PDA providing the
`input/output screens for mouse interactions or for touch-
`screen 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-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 dedi-
`cated hardware,
`including, but not
`limited to, hardware
`capable of executing software. For example, the functions of
`each of the processors and 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 con-
`strued to refer exclusively to hardware capable of executing
`software. Illustrative embodiments may include digital sig-
`nal processor (DSP) hardware, such as the AT&T DSP16 or
`DSP32 C, read-only memory (ROM) for storing software
`performing the operations discussed below, and random
`access memory (RAM) for storing DSP results. Very large
`scale integration (VLSI) hardware embodiments, as well as
`custom VLSI circuitry in combination with a general pur-
`pose DSP circuit, may also be provided. Any and all of these
`embodiments may be deemed to fall within the meaning of
`the labels for the functional blocks as used herein.
`
`The processing units 12, 22 are capable of placing calls
`and connecting to other processing units connected to the
`Internet 24, for example, via dialup SLIP/PPP lines. In an
`exemplary embodiment, each processing unit assigns an
`unsigned long session number, for example, a 32-bit long
`sequence in a *.ini file for each call. Each call may be
`assigned a successive session number in sequence, which
`may be used by the respective processing unit to as