`United States Patent
`6,108,704
`[11] Patent Number:
`Aug. 22, 2000
`Hutton et al.
`[45 J Date of Patent:
`
`USOO6108704A
`
`[54] POINT-TO-POINT INTERNET PROTOCOL
`
`[75]
`
`Inventors: Glenn W. Hutton, Miami; Shane D.
`Mattaway, Boca Raton; Craig B.
`Strickland, Tamarac, all of Fla.
`
`[73] Assignee: NetSpeak Corporation, Boca Raton,
`Fla.
`
`[21] Appl. No.: 08/533,115
`
`[22]
`
`Filed:
`
`Sep. 25, 1995
`
`[51]
`
`Int. Cl.7 ........................... .. G06F 13/33; 6061" 15/17
`
`[52] US. Cl.
`
`........................................... .. 709/227; 709/204
`
`[58] Field of Search ....................... .. 395/20001, 200.02,
`395/20009, 200.11, 200.15, 200.34, 200.35,
`200.47, 200.48, 200.57, 200.58, 200.75;
`709/204, 205, 217, 218, 227, 228, 235
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATION S
`
`December & Randall, “The World Wide Web Unleased,
`”Samw Publishing, Indianapolis, IN, Dec. 1994, pp. 3—24.
`
`a distributed hypermedia
`Heylighen, “WorldWideWeb:
`paradigm for global networking,” IEEE/INSPEC Database
`Updates and Additionss (1960—19950 Doc.# 134618: Pro-
`ceedings SHARE Spring Conference, pp. 355—368, Apr.
`1994.
`
`Internetworking with TCP/IP, vol. 1, Second Edition, Prin-
`ciples, Protocols, and Architecture, by Douglas E. Comer;
`1991; table of contents, pp. 1—3, 17—19, 311—333.
`
`(List continued on next page.)
`
`Primary Examiner—Mark H. Rinehart
`Attorney, Agent, or Firm—Kudirka & Jobsc, LLP
`
`[57]
`
`ABSTRACT
`
`5,095,480
`5,150,360
`5,166,931
`5,204,669
`5,224,095
`5,291,554
`5,309,433
`5,309,437
`5,321,813
`5,357,571
`5,400,335
`5,425,028
`5,430,709
`5,430,727
`
`.
`
`3/1992 Fenner.
`9/1992 Perlman et al. .
`11/1992 Riddle.
`4/1993 Dorfe et al. .
`6/1993 Woest et al.
`3/1994 Morales.
`.
`5/1994 Cidon et al.
`5/1994 Pcrlman ct al. .
`6/1994 McMillen el al. .
`10/1994 Banwart.
`/1995 Yamada.
`6/1995 Britton et al.
`7/1995 Galloway.
`7/1995 Callon .
`
`.
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`European Pat. Off.
`A2 0445402 11/1991
`European Pat. Off.
`A2 0556012
`8/1993
`W'O 9219054 10/1992 WIPO .
`
`.
`.
`
`44 Claims, 6 Drawing Sheets
`
`F To
`V
`STARI’ THE SECONDARV
`POINTETO PoINT INTERNET RRoTocoL
`4.._v—_
`GENERATE AN EMAIL SIGNAL
`INcLDDING A SESSION NuNDERANDA ./
`FIRST IP ADREss coRREsRuNquG Iu A
`FIRST PROCESSING DNIT
`TRANSMITTHE E-MAIL SIGNALAS A
`woNNECTREaDEsn SIGNAL
`To THE INTERNET
`
`
`
`
`
`
` v
`
`
`
`A point-to-point Internet protocol exchanges Internet Pro-
`tocol (IP) addresses between processing units to establish a
`point-to-point communication link between the processing
`units through the Internet. A first point-to-point Internet
`protocol includes the steps of (a) storing in a database a
`respective IP address of a set of processing units that have
`an on-line status with respect to the Internet; (b) transmitting
`a query from a first processing unit to a connection server to
`determine the on—line status of a second processing unit; and
`(c) retrieving the IP address of the second unit from the
`database using the connection server, in response to the
`determination of a positive on-line status of the second
`processing unit, [or establishing a point-lo-point communi-
`cation link between the first and second processing units
`through the Internet. A second point-to-point Internet pro-
`tocol includes the steps of (a) transmitting an E-niail signal,
`including a first IP address, from a first processing unit; (b)
`processing the E-mail signal through the Internet to deliver
`the E-mail signal
`to a second processing unit; and (c)
`transmitting a second IP address to the first processing unit
`for establishing a point-to-point communication link
`between the first and second processing units through the
`Internet.
`
`r 75
`
`/ 7s
`so
`
`1THE INTERNET USING A MAIL sERvERTo
`DELIVER THE EEMAIL SIGNAL THROUGH f
`A sEcoND PROCESSING uNIT
`—T7 22
`EXTRACT THE SESSION NUMBER AND
`/
`THE FIRST IF ADRESS FROM THE EMAIL ‘
`SIGNAL
`SEND'I’] Ir scamou VUMEERAND 7.
`1
`SECOND IP ADRESS OORRESPCNDING f
`To TI IEsEcoND “ROCESS NG UNIT To
`THE FIRST PROCESSING UNIT THROUGH
`TNE INTERNET
`E . E
`l
`VERIFY THE SESSION NUMBER
`RECEIVED FROM THE SECOND
`PROCESSING UNIT
`Es IADLIsH A POINTETOEPOINT INTERNET
`1
`COMMUNICATION LINK DEM/EEN TI'E
`HRS] AND sEcoND PROCESSING uNITs
`USING THE FIRST AND SECOND IP
`ADDRESSES
`
`/7
`i
`
`/7
`
`EA
`
`{h
`
`55
`
`Cisco - Exhibit 1025 - Page 1
`Cisco - Exhibit 1025 - Page 1
`
`
`
`6,108,704
`
`US. PATENT DOCUMENTS
`
`.
`
`.
`
`5,442,633
`5,452,296
`5,455,854
`5,457,683
`5,463,625
`5,469,500
`5,479,411
`5,517,494
`5,524,110
`5,524,254
`5,526,489
`5,533,110
`5,544,303
`
`7/1995
`8/1995
`/1995
`10/1995
`10/1995
`10/1995
`11/1995
`12/1995
`5/1996
`71996
`6/1996
`6/1996
`7/1996
`/1996
`
`Barris .
`Perkins et a1.
`Shimizu .
`Dilts et a1.
`Robins .
`Yasrebi .
`Satter et a1.
`Klein .
`Green .
`.
`Danneels et a1.
`....................... .. 395/500
`Morgan et a1.
`Nilakantan et a1.
`.
`Pinard et a1.
`.
`Mraoteaux et a1.
`
`.
`
`.
`
`VocalTec Internet Phone (TM) Version 2.5, WWW.COX.srn-
`11.edu/C1ass/rni56386/pe0p1e/stort/ph0ne25.exe.
`Weinberg, Netscape Conference and Cooltalk Meeting
`Room, WWW.q5.corn.
`Gull, Re: Getting IP address of PPP—connected Mac,
`<jgull—030495100535001@prn012—11.dialip.rnich.net>.
`Gull,
`Re:
`Internet
`Phone
`for
`Mac? ,
`>j gu1171704950116450001@prn049728.dialip.rnich.net>.
`
`Page 2 5,434,797
`
`.
`8/1996 Brockmeyer et a1.
`5,546,582
`5 581,552 12/1996 Civanlar et al.
`...................... .. 370/396
`5:608,786
`3/1997 Gordon .
`.
`5,740,231
`4/1998 Cohn et al.
`OTHER PUBLICATIONS
`
`Cisco - Exhibit 1025 - Page 2
`Cisco - Exhibit 1025 - Page 2
`
`
`
`
`
`US. Patent
`
`S
`
`40
`
`HDn—HDOMo0200mmMwr
`0mm>mmwZOEbMZZOO"ONorm:2:_mosmo
`
`29Ozawm—OON—n.
`
`
`
`mm>mmw.=<_>_mn_On_
`
`H312.
`
`mO_>m_D
`
`t__w__h__
`7,38Iem_1lllllllllllllllII"woP6,fl"NUNHNL,
`__m__.fl.__um__.vnA__E__n_vmn_m_Hc
`
`Cisco - Exhibit 1025 - Page 3
`
`
`
`IIIIIIIIIIIIIIIIIIIIIIIIII.
`
`||II|I|I |IIII
`
`K“I
`
`II|
`
`| I|llII||lII|I|lI|I
`
`V
`
`/'I
`
`I
`|
`I
`
`N
`"'
`
`
`
`
`
`PQMU
`
`40
`
`.__<_>_“.umn_On_"fl__m_--mNulummzmszu:rlllllllllllllllllllllllLm4/3
`hIIIlIIIIIIIIIIIIIIlIIII.IISmullll_..__
`_3_"AxokomzzoOV“m__m___2,__AHmMDOmEomzzonv_2._3_g__Mu_"vm_mm>mmm
`
`28200mm3w.>mm>mmica
`
`pm.0
`
`:2:.mozammoommN95%mozoommammw65
`
`7,48e0w19P6:2“
`
`Cisco - Exhibit 1025 - Page 4
`
`
`
`
`etaPQMU
`
`uA
`
`one
`
`mmn,
`
`Sheet 3 0f 6
`
`6,108,704
`
`
`02_wwmoomn_Oz_wmm00n_m0200mmkme
`
`.523.523
`
`
`02—wwmoommOZEWMOOQ
`
`
`
` _028%".565ommwmmmzoov"
`.523:2:
`
`AO_QD<kme
`
`V-
`
`‘3
`LA
`
`Cisco - Exhibit 1025 - Page 5
`Cisco - Exhibit 1025 - Page 5
`
`
`
`US. Patent
`
`Aug. 22, 2000
`
`Sheet 4 0f 6
`
`6,108,704
`
`SHANE
`19520100137
`L1
`
`38
`
`42
`
`
`
`48
`
`
`0024
`
`
`O 2
`
`mg
`
`0)
`
`44
`
`50
`
`FIG. 6
`
`Cisco - Exhibit 1025 - Page 6
`Cisco - Exhibit 1025 - Page 6
`
`
`
`
`
`US. Patent
`
`Aug. 22, 2000
`
`Sheet 5 0f 6
`
`6,108,704
`
`54
`
`56
`
`
`
`START THE POINT-TO-POINT
`INTERNET PROTOCOLS
`
`INITIATE PRIMARY INTERNET
`PROTOCOL
`
`IS THE CONNECTION SERVER IN A
`
`RESPONSIVE CONDITION?
`
`58
`
`NO
`
`62
`
`Y
`
`ES
`
`INITIATE SECONDARY
`
`INTERNT PROTOCOL
`
`
`
`PERFORM PRIMARY
`
`INTERNET PROTOCOL
`
`
`
`
`
`FIG. 7
`
`START THE PRIMARY
`
`
`
`64
`
`POINT-TO-POINT INTERNET
`PROTOCOL
`
`
`
`
`
`66
`
`7O
`
`72
`
`
`
`
`
`
`TIMESTAMP AND STORE E—MAIL
`ADRESSES AND IF ADRESSES OF
`LOGGED—IN UNITS IN A DATABASE
`
`
`RECEIVE QUERY FROM FIRST UNIT
`WHETHER A SPECIFIED SECOND
`UNIT IS LOGGED—IN
`
`
`
`
`68
`
`
`
`
`
`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
`
`Cisco - Exhibit 1025 - Page 7
`Cisco - Exhibit 1025 - Page 7
`
`60
`
`
`
`
`
`US. Patent
`
`Aug. 22, 2000
`
`Sheet 6 0f 6
`
`6,108,704
`
`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-MAIL SIGNAL AS A
`
`<CONNECTREQUEST> SIGNAL
`TO THE INTERNET
`
`
`
`THE INTERNET USING A MAIL SERVER TO
`A SECOND PROCESSING UNIT
`
`DELIVER THE E-MAIL SIGNAL THROUGH
`
`
`
`THE FIRST IP ADRESS FROM THE E—MAIL
`SIGNAL
`
`EXTRACT THE SESSION NUMBER AND
`
`
`SEND THE SESSION NUMBER AND A
`SECOND IP ADRESS CORRESPONDING
`
`TO THE SECOND PROCESSING UNIT TO
`
`THE FIRST PROCESSING UNIT THROUGH
`THE INTERNET
`
`
`
`
`
`
`
`
`74
`
`76
`
`78
`
`80
`
`82
`
`84
`
`86
`
`88
`
`VERIFY THE SESSION NUMBER
`RECEIVED FROM THE SECOND
`PROCESSING UNIT
`
`ESTABLISH A POINT-TO-POINT INTERNET
`COMMUNICATION LINK BETWEEN THE
`
`
`
`FIRST AND SECOND PROCESSING UNITS
`
`USING THE FIRST AND SECOND IP
`ADDRESSES
`
`
`
`FIG. 9
`
`
`
`Cisco - Exhibit 1025 - Page 8
`Cisco - Exhibit 1025 - Page 8
`
`
`
`
`
`6,108,704
`
`1
`POINT-TO-POINT INTERNET PROTOCOL
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`This disclosure relates to network communication
`
`protocols, and in particular to a point-to-point protocol for
`use with the Internet.
`
`2. Description of the Related Art
`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
`E-Mail Online”, MULTIMEDIA WORLD, VOL. 2, NO. 9,
`August 1995, p. 52. Using such Voice E-Mail software, a
`user may create an audio message to be sent to a predeter-
`mined E—mail address specified by the user.
`Generally, devices interfacing the to 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 Linc 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
`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,
`realtime 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 commu-
`nications in realtime of voice and video have been generally
`difficult to attain.
`
`SUMMARY OF THE INVENTION
`
`10
`
`15
`
`,
`
`40
`
`45
`
`is disclosed which
`A point-to-point Internet protocol
`exchanges Internet Protocol (IP) addresses between process-
`ing units to establish a point-to-point communication link
`between the processing units through the Internet.
`A first point-to-point Internet protocol is disclosed which
`includes the steps of:
`(a) storing in a database a respective IP address of a set of
`processing units that have an on-line status with respect
`to the Internet;
`
`60
`
`65
`
`2
`
`(b) transmitting a query from a first processing unit to a
`connection server to determine the on-line status of a
`second processing unit; and
`(c) retrieving the IP address of the second unit from the
`database using the connection server, in response to the
`determination of a positive on-line status of the second
`processing unit, for establishing a point-to-point com-
`munication link between the first and second process-
`ing units through the Internet.
`A second point-to-point Internet protocol is disclosed,
`which includes the steps of:
`(a) transmitting an E-mail signal, including a first IP
`address, from a first processing unit;
`(b) processing the E-mail signal through the Internet to
`deliver the E-mail signal to a second processing unit;
`and
`
`(c) transmitting a second IP address to the first processing
`unit for establishing a point-to-point communication
`link between the first and second processing units
`through the Internet.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The features of the disclosed point-to-point Internet pro-
`tocol and system 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 accompa-
`nying drawings, where:
`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 thc
`
`point-to-point Internet protocols;
`FIG. 8 illustrates a flowchart of the performance of the
`primary point-to-point Internet protocols; and
`FIG. 9 illustrates a flowchart of the performance of the
`secondary point-to-point Internet protocol.
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`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 Internet 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 kband
`communications and opcrativcly connected via wircd and/or
`wireless communication connections to the Internet. One
`skilled in the art would understand that the input device 18
`may be implemented at least in part by the modem of the
`
`Cisco - Exhibit 1025 - Page 9
`Cisco - Exhibit 1025 - Page 9
`
`
`
`
`
`
`
`6,108,704
`
`3
`output device 20 to allow input signals from the communi-
`cation 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 com-
`munication connections, as described above for the first
`processing unit 12. In an exemplary embodiment, each of
`the processing units 12, 22 may be a WEBPHONETM unit,
`available from NetSpeak Corporation, Boca Raton, Fla.
`capable of operating 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. 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 timestamps, 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 Vciw, Calif. having a
`central processing unit (CPU) as processor 30 operating an
`operating system (OS) such as UNIX and 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 INFOMIX.
`
`In an exemplary embodiment, the 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 alternatively another OS, to process
`E-mail capabilities between processing units and devices
`over the 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 compilcd and/or intcrprctcd
`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.
`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 Internet
`protocol and system 10.
`The processor 14 receives input commands and data from
`a first user associated with the first processing unit 12
`through 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
`
`10
`
`15
`
`40
`
`45
`
`60
`
`65
`
`4
`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
`as the output device 20 for use in conjunction with the input
`device 18 and embodied as one of the screens illustrated by
`the examples shown in FIGS. 5—6 and discussed below. It is
`also understood that alternative input devices may be used in
`conjunction with alternative output devices to receive com-
`mands and data from the user, such as keyboards, mouse
`devices, and graphical user interfaces (GUI) such as WIN-
`DOVVSTM 3.1 available from MICROSOFTTM Corporation
`Redmond, Was. executed by the processor 14 using, for
`example, DOS 5.0. One skilled in the art would understand
`that other operating systems and GUIs, such as 08/2 and
`08/2 WARP, available from IBM CORPORATION, Boca
`Raton, Fla. may be used. Other alternative input devices may
`include microphones and/or telephone handsets for receiv-
`ing audio voice data and commands, with the first processing
`unit 12 including speech or voice recognition devices, dual
`tone multi-frequency (DTMF) based devices, and/or soft-
`ware 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-mail capa-
`bilities and Internet access, with the PDA providing the
`input/output screens for mouse interaction or for touch-
`screen activation as shown, for example, in FIGS. 4—5, 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 labelled as “processor” and
`“processing unit”. The functions represented by these blocks
`may be provided through the use of either shared or dedi-
`catcd 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
`DSP32C, 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 associate
`the call with one of thc SLIP/PPP lines,
`to associate a
`<ConnectOK> response signal with a <ConnectRequest>
`signal, and to allow for multiplexing and demultiplexing of
`inbound and outbound conversations on conference lines.
`
`Cisco - Exhibit 1025 - Page 10
`Cisco - Exhibit 1025 - Page 10
`
`
`
`
`
`
`
`6,108,704
`
`5
`
`For callee (or called) processing units with fixed 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 <Call> command to establish
`communication with the callee utilizing, for example, data-
`gram services such as Internet Standard network layering as
`well as transport layering, which may include a Transport
`Control Protocol (TCP) or a User Datagram Protocol (UDP)
`on top of the IP. Typically, a processing unit having a fixed
`IP address may maintain at least one open socket and a
`called processing unit waits for a <Call> command to assign
`the open socket to the incoming signal. If all lines are in use,
`the callee processing unit sends a BUSY signal or message
`to the caller processing unit.
`As shown in FIG. 1, the disclosed point-to-point Internet
`protocol and system 10 operate when a callee processing
`unit does not have a fixed or predetermined IP address. In the
`exemplary embodiment and without loss of generality, the
`first processing unit 12 is the caller processing unit and the
`second processing unit 22 is the called processing unit.
`When either of processing units 12, 22 logs on to the
`Internet via a dial-up connection,
`the respective unit is
`provided a dynamically allocated IP address by a connection
`service provider.
`Upon the first user initiating the point-to-point Internet
`protocol when the first user is logged on to Internet 24, the
`first processing unit 12 automatically transmits its associated
`E-mail address and its dynamically allocated IP address to
`the connection server 26. The connection server 26 then
`stores these addresses in the database 34 and timestamps the
`stored addresses using timer 32. The first user operating the
`first processing unit 12 is thus established in the database 34
`as an active on—line party available for communication using
`the disclosed point-to-point Internet protocol. Similarly, a
`second user operating the second processing unit 22, upon
`connection to the Internet 24 through a connection service
`provider, is processed by the connection server 26 to be
`established in the database 34 as an active on-line party.
`The connection server 26 may use the timestamps to
`update the status of each processing unit; for example, after
`2 hours, so that the on-line status information stored in the
`database 34 is relatively current. Other predetermined time
`periods, such as a default value of 24 hours, may be
`configured by a systems operator.
`The first user with the first processing unit 12 initiates a
`call using, for example, a Send command and/or a command
`to speeddial an NIH stored number, which may be labelled
`[SND] and [SPD][N], respectively, by the input device 18
`and/or the output device 20, such as shown in FIGS. 5—6. In
`response to either the Send or speeddial commands, the first
`processing unit 12 retrieves from memory 16 a stored E-mail
`address of the callee corresponding to the NTH stored
`number. Alternatively, the first user may directly enter the
`E-mail address of the callee.
`
`The first processing unit 12 then sends a query, including
`the E-mail address of the callee, to the connection server 26.
`The connection server 26 then searches the database 34 to
`
`determine whether the callee is logged-in by finding any
`stored information corresponding to the callee’s E-mail
`address indicating that the callee is active and on-line. If the
`callee is active and on-line, the connection server 26 then
`performs the primary point-to-point Internet protocol; i.e.
`the IP address of the callee is retrieved from the database 34
`
`and sent to the first processing unit 12. The first processing
`unit 12 may then directly establish the point-to-point Inter-
`net communications with the callee using the IP address of
`the callee.
`
`10
`
`15
`
`40
`
`45
`
`60
`
`65
`
`6
`If the callee is not on-line when the connection server 26
`determines the callee’s status,
`the connection server 26
`sends an OFF-LINE signal or message to the first processing
`unit 12. The first processing unit 12 may also display a
`message such as “Called Party Off-Line” to the first user.
`When a user logs off or goes off-line from the Internet 24,
`the connection server 26 updates the status of the user in the
`database 34;
`for example, by removing the user‘s
`information, or by flagging the user as being off-line. The
`connection server 26 may be instructed to update the user’s
`information in the database 34 by an off-line message, such
`as a data packet, sent automatically from the processing unit
`of the user prior to being disconnected from the connection
`server 26. Accordingly, an off-line user is effectively dis-
`abled from making and/or receiving point-to-point Internet
`communications.
`
`As shown in FIGS. 2—4, the disclosed secondary point-
`to-point Internet protocol may be used as an alternative to
`the primary point-to-point Internet protocol described
`above, for example, if the connection server 26 is non-
`responsive, inoperative, and/or unable to perform the pri-
`mary point-to-point Internet protocol, as a non-responsive
`condition. Alternatively, the disclosed secondary point-to-
`point Internet protocol may be used independent of the
`primary point-to-point Internet protocol. In the disclosed
`secondary point—to—point Internet protocol, the first process—
`ing unit 12 sends a <ConnectRequest> message via E-mail
`over the Internet 24 to the mail server 28. The E-mail
`including the <ConnectRequest> message may have, for
`example, the subject
`[*wp#XXXXXXXX#nnn.nnn.nnn.nnn#emailAddr]
`where nnn.nnn.nnn.nnn is the current (i.e.
`temporary or
`permanent) IP address of the first user, and XXXXXXXX is
`a session number, which may be unique and associated with
`the request of the first user to initiate point—to—point com—
`munication with the second user.
`
`As described above, the first processing unit 12 may send
`the <ConnectRequest> message in response to an unsuc-
`cessful attempt to perform the primary point-to-point Inter-
`net protocol. Alternatively, the first processing unit 12 may
`send the <ConnectRequest> message in response to the first
`user initiating a SEND command or the like.
`After the <ConnectRequest> message via E-mail is sent,
`the first processing unit 12 opens a socket and waits to detect
`a response from the second processing unit 22. A timeout
`timer, such as timer 32, may be set by the first processing
`unit 12,
`in a manner known in the art,
`to wait for a
`predetermined duration to receive a <ConnectOK> signal.
`The processor 14 of the first processing unit 12 may cause
`the output device 20 to output a Ring signal to the user, such
`as an audible ringing sound, about every 3 seconds. For
`example, the processor 14 may output a *.wav file, which
`may be labelled RINGWAV, which is processed by the
`output device 20 to output an audible ringing sound.
`The mail server 28 then polls the second processing unit
`22, for example, every 3—5 seconds, to deliver the E-mail.
`Generally, the second processing unit 22 checks the incom-
`ing lines, for example, at regular intervals to wait for and to
`detect incoming E—mail from the mail server 28 through the
`Internet 24.
`
`Typically, for sending E-mail to users having associated
`processing units operatively connected to a host computer or
`server operating an Internet gateway, E-Mail for a specific
`user may be sent over the Internet 24 and directed to the
`permanent IP address or the SLIP/PPP account designation
`of the host computer, which then assigns a temporary IP
`address to the processing unit of the specified user for
`
`Cisco - Exhibit 1025 - Page 11
`Cisco - Exhibit 1025 - Page 11
`
`
`
`
`
`
`
`6,108,704
`
`7
`properly routing the E-mail. The E-mail signal may include
`a name or other designation such as a username which
`identifies the specific user regardless of the processing unit
`assigned to the user; that is, the host computer may track and
`store the specific device where a specific user is assigned or
`logged on, independent of the IP address system, and so the
`host computer may switch the E-mail signal to the device of
`the specific user. At that time, a temporary IP address may
`be generated or assigned to the specific user and device.
`Upon detecting and/or receiving the incoming E-mail
`signal from the first processing unit 12, the second process-
`ing unit 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 processing unit 22 with a
`session number as well as IP addresses of both the first
`processing unit 12 and the second processing unit 22.
`Point-to-point communication may then be established by
`the processing units 12, 22. For example, the second pro-
`cessing unit 22 may process the E—mail signal to extract the
`<ConnectRequest> message, including the IP address of the '
`first processing unit 12 and the session number. The second
`processing unit 22 may then open a socket and generate a
`<ConnectOK> response signal, which includes the tempo-
`rary IP address of the second processing unit 22 as well as
`the session number.
`
`10
`
`15
`
`The second processing unit 22 sends the <ConnectOK>
`signal directly over the Internet 24 to the IP address of the
`first processing unit 12 without processing by the mail server
`28, and a timeout timer of the second processing unit 22 may
`be set to wait and detect a <Call> signal expected from the
`first processing unit 12.
`Realtime point-to-point communication of audio signals
`over the Internet 24, as well as video and voicemail, may
`thus be established and supported without requiring perma-
`nent IP addresses to be assigned to either of the users or
`processing units 12, 22. For the duration of the realtime
`point-to-point link, the relative permanence of the current IP
`addresses of the processing units 12, 22 is sufficient, whether
`the current IP addresses were permanent (i.e. predetermined
`or preassigned) or temporary (i.e. assigned upon initiation of
`the point-to-point communication).
`In the exemplary embodiment, a first user operating the
`first processing unit 12 is not required to be notified by the
`first processing unit 12 that an E-mail is being generated and
`sent to establish the point-to-point link with the second user
`at the second processing unit 22. Similarly, the second user
`is not required to be notified by the second processing unit
`22 that an E-mail has been received and/or a temporary IP
`address is associated with the second processin