AU5937900A - Point-to-point internet protocol - Google Patents

Point-to-point internet protocol Download PDF

Info

Publication number
AU5937900A
AU5937900A AU59379/00A AU5937900A AU5937900A AU 5937900 A AU5937900 A AU 5937900A AU 59379/00 A AU59379/00 A AU 59379/00A AU 5937900 A AU5937900 A AU 5937900A AU 5937900 A AU5937900 A AU 5937900A
Authority
AU
Australia
Prior art keywords
server
point
computer network
computer
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
AU59379/00A
Other versions
AU764583B2 (en
Inventor
Glenn W Hutton
Shane D Mattaway
Craig B Strickland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetSpeak Corp
Original Assignee
NetSpeak Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU72476/96A external-priority patent/AU727702B2/en
Application filed by NetSpeak Corp filed Critical NetSpeak Corp
Priority to AU59379/00A priority Critical patent/AU764583B2/en
Publication of AU5937900A publication Critical patent/AU5937900A/en
Application granted granted Critical
Publication of AU764583B2 publication Critical patent/AU764583B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Description

P/00/0 1 28/5/91 Regulation 3.2
AUSTRALIA
Patents Act 1990 COMPLETE SPECIFICATION STANDARD PATENT
(ORIGINAL)
Name of Applicant: Actual Inventors: Address for Service: Invention Title: NetSpeak Corporation, of 902 Clint Moore Road, Suite 104, Boca Raton, Florida 33487, United States of America.
HUTTON, Glenn W MATTAWAY, Shane D STRICKLAND, Craig B DAVIES COLLISON CAVE, Patent Attorneys, of 1 Little Collins Street, Melbourne, Victoria 3000, Australia.
"Point-to-Point Internet Protocol" The following statement is a full description of this invention, including the best method of performing it known to us: POINT-TO-POINT INTERNET PROTOCOL 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.
o* The increased popularity of on-line services such as AMERICA
ONLINE
TM
COMPUSERVE®, and other services such as Internet gateways have spurred applications to provide multimedia, including 10 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 T M available from Bonzi Software, as described in 9o "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 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 2 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 general IP address "XXX.XXX.XXX," and each user may be allocated a successive IP address of 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.
15 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.
A technique for matching domain names to Internet Protocol addresses is described in the text entitled "Internetworking With TCP/IP", •2nd Edition, by Douglas E. Comer, November 1992, Prentice Hall, Englewood Cliffs, New Jersey, U.S.A. Comer describes a domain name system and cooperative systems of name servers for matching domain names to network addresses. Each name server is a server program that supplies mapping of domain names to IP addresses. The system described in Comer, however, is not designed for use with network nodes whose network names or name to address bindings change frequently.
International Publication WO 92/19054 discloses a network P \OPER\DBWY72476-96 divI.dc8 Septenber, 210 -2Amonitoring system including an address tracking module which uses passive monitoring of all packet communications over a local area network to maintain a name table of IP address mappings. The disclosed address tracking module is capable of monitoring only a small number of nodes on a local area network and is not suitable for use with a multitude of nodes over a wide area network.
None of the above-described systems are suitable for use with processes which have dynamically assigned network protocol addresses and which are communicating over wide area or global networks.
Due to the dynamic nature of temporary IP addresses of some devices accessing the Internet, point-to-point communications in realtime of voice and video have been generally difficult to attain.
In accordance with the present invention, there is provided an apparatus for .00establishing a point-to-point communication link said apparatus operating in a *..*computer system operatively coupled to other computers and a server over a computer network, said apparatus comprising: means for transmitting, from the first process to a server a query as whether a second process is connected to the computer network; b. means for receiving a network protocol address of the second process from the server when the second process is connected to the computer network; and c. means, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network.
The present invention also provides an apparatus for use with a computer system capable of executing a first process and communicating with other processes, a directory server process and a mail server process over a computer network, the apparatus comprising: A. program logic configured to determine the currently assigned network protocol address of the first process upon connection to the computer network; B. program logic configured to establish a communication connection P:\OPER\)BW\72476-96 divl.dc8 September, -2Bwith the directory server process once the assigned network protocol of the first process is known; C. program logic configured to forward the assigned network protocol address of the first process to the directory server process upon establishing a communication connection with the directory server process; and D. program logic configured to establish a point-to-point communication with another process over the computer network.
The present invention also provides an apparatus for use with a computer system, the computer system capable of executing a first process connectable over a computer network to a second process and a directory database server process, the apparatus comprising: program logic configured to access a directory database, the database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and b. program logic responsive to one of the network protocol addresses and configured to establish a point-to-point communication link from the first process to the second process over the computer network.
The present invention also provides a computer program product for use with a computer system, the computer system executing a first process operatively connectable over a computer network to a second process and a server process, the computer program product comprising a computer useable medium having computer readable program code embodied therein, the program code comprising: a. program code configured to access a directory database, the database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and b. program code responsive to one of the network protocol addresses and configured to establish a point-to-point communication link from the first P:\OPER\DBW\72476-96 divl.do-8 Splember, 200 -2Cprocess to the second process over the computer network.
The present invention also provides a method of establishing a point-topoint communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: A. following connection of the first process to the computer network forwarding to the address server a network protocol address at which the first process is connected to the computer network; B. querying the address server as to whether the second process is connected to the computer network; C. receiving a network protocol address of the second process from the *°9..address server, when the second process is connected to the computer network; and D. in response to the network protocol address of the second process, establishing a point-to-point communication link with the second process over the S. computer network.
9 The present invention also provides a method for establishing point-to-point communications with other processes, said method for use in a computer system 9capable of executing a first process and communicating with other processes and a server process over a computer network, said method comprising: A. determining the currently assigned network protocol address of the first process upon connection to the computer network; B. establishing a communication connection with the server process once the assigned network protocol of the first process is known; C. forwarding the assigned network protocol address of the first process to the server process upon establishing a communication connection with the server process; and D. establishing a point-to-point communication with another process over the computer network.
PAOPER\DB~V72476.96 divldoc-8 SPtenber. -2D- The present invention also provides A method of establishing a point-topoint communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: a. accessing a directory database, the database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and b. in response to one of the network protocol addresses, establishing a point-to-point communication link from the first process to the second process over T the computer network.
The present invention also provides a method of establishing a point-topoint communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: a. transmitting to the server a network protocol address received by the first process following connection to the computer network; b. transmitting, to the server, a query as to whether the second process is connected to the computer network; c. receiving a network protocol address of the second process from the server, when the second process is connected to the computer network; and d. in response to the network protocol address of the second process, establishing a point-to-point communication link between the first process and the second process over the computer network.
The present invention also provides an apparatus capable of executing a first process and connecting to other processes and a server process over a computer network, the apparatus comprising: a. program logic configured to generate a user-interface enabling control of a first process executing on the computer system; P.\OPER\DBW\72476-9 divdoc-8 Sepcmbcr, -2Eb. program logic configured to determine the currently assigned network protocol address of the first process upon connection to the computer network; c. program logic, responsive to the currently assigned network protocol address of the first process, and configured to establish a communication connection with the server process and to forward the assigned network protocol address of the first process to the server process upon establishing a communication connection with the server process; and d. program logic, responsive to user input commands, and configured to establish a point-to-point communications with another process over the computer network.
The present invention also provides an apparatus for use with a computer :o isystem, the computer system executing a first process operatively coupled over a i.
e computer network to a second process and a directory database server process, the apparatus comprising: A. program logic configured to, following connection of the first process to the computer network, forward to the address server a network protocol address at which the first process is connected to the computer network; program logic configured to query the address server as to whether the second process is connected to the computer network; C. program logic configured to receive a network protocol address of the second process from the address server, when the second process is connected to the computer network; and D. program logic configured to, in response to the network protocol address of the second process, establish a point-to-point communication link with the second process over the computer network.
The present invention also provides Apparatus for establishing a point-topoint communication link, said apparatus operating in a computer system capable of executing a first process and operatively connectable to other processes and a server over a computer network, said apparatus comprising: P:\OPER\DBW\72476-9 divl.do-8 Septenber, 2000 2F a. means for transmitting, from the first process to the server, a query as to whether a second process is connected to the computer network; b. means for receiving a network protocol address of the second process from the server when the second process is connected to the computer network; and c. means, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network.
The present invention also provides a computer data signal embodied in a carrier wave comprising: program code for transmitting to a server a network protocol address received by a first process following connection to a computer network; program code for transmitting, to the server, a query as to whether a second process is connected to the computer network; program code for receiving a network protocol address of the second process from the server, when the second process is connected to the computer network; and program code, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first l S process and the second process over the computer network.
~The present invention also provides a computer program product for use Swith a computer system, the computer system executing a first process and operatively connectable to a second process and a server over a computer network, the computer program product comprising a computer useable medium having program code embodied in the medium, the program code comprising: program code for transmitting to the server a network protocol address received by the first process following connection to the computer network; program code for transmitting, to the server, a query as to whether the second process is connected to the computer network; P:\OPERDBW\72476-96 divl.doc-8 Septenmber, 2000 -3program code for receiving a network protocol address of the second process from the server, when the second process is connected to the computer network; and program code, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network.
Preferred embodiments of the present invention are hereinafter described, by way of example only, with reference to the following drawings, wherein: FIG 1 illustrates, in block diagram format, a system for the disclosed pointto-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 established; FIG 4 is another block diagram of the system of FIGS 1-2 with audio communications being conducted; *0 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; and FIG. 9 illustrates a flowchart of the performance of the secondary point-to-point Internet protocol.
e
C
C
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 0 device 20 includes at least one modem capable of, for example, 14.4 kbaud communications and operatively connected via wired and/or wireless communication connections to the Internet or other computer networks such as an Intranet, a private computer network. One skilled in the art would understand that the input device 18 may be 0o0o implemented at least in part by the modem of the output device 20 to 0 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 00,"0 unit 12. In an exemplary embodiment, each of the processing units 12, 22 may execute the WEBPHONE T M Internet telephony application available from NetSpeak Corporation, Boca Raton, FL, which is capable of performing the disclosed point-to-point Internet protocol and system as described herein.
2 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 oo storing the database 34, and a keyboard and display and/or other input and output devices (not shown in FIG. The database 34 may be an SQL database available from ORACLE or INFORMIX.
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.
l 20 The first processing unit 12 may operate the disclosed point-topoint 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 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 to implement the disclosed point-to-point network protocol and system 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) o. 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 *owll 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
OOO.
mm storage tape. The input device 18 may alternatively include ~connections to other computer systems to receive the input commands and data therefrom.
20 The first processing unit 12 may include a visual interface for use 0* 00 .0060 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, 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 multifrequency (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-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 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 dedicated 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 O.20 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 (RAM) for storing DSP results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided. Any and all of these embodiments may be deemed to fail 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 the SLIP/PPP lines, to associate a <ConnectOK> response signal with a <Connect Request> signal, and to allow for multiplexing and demultiplexing of inbound and outbound conversations on conference lines, as explained hereinafter.
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 9 address indicating where data is to be sent, and transmit a <Call> command to establish communication with the callee utilizing, for example, datagram services such as Internet Standard network layering *ooo 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 20 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 callee processing unit. As shown in FIG. 1, the disclosed point-topoint 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 the a connection service provider.
Upon the first user initiating the point-to-point Internet protocol when the first user is logged on to the 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 time stamps 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 the 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 time stamps to update the status of each processing unit; for example, after 2 hours, so that the online 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.
2o The first user with the first processing unit 12 initiates a call using,
:•H
for example, a Send command and/or a command to speeddial an NTH stored number, which may be labeled [SND] and [SPD] 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 Email 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 pointto-point Internet communications with the callee using the IP address of the callee.
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 V. 0..
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 disabled from making and/or receiving pointto-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-topoint Internet protocol described above, for example, if the connection server 26 is non-responsive, inoperative, and/or unable to perform the primary 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 processing 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.#emailAddr] where nnn.nnn.nnn.nnn. is the current 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 communication with the second user.
As described above, the first processing unit 12 may send the <ConnectRequest> message in response to an unsuccessful attempt to perform the primary point-to-point Internet 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 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 labeled RING.WAV, 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 incoming 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 properly routing the E-mail. The E-mail signal may include a name or other designation such as a user name 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 processing 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 unit 22 processing 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 temporary IP address of the second processing unit 22 as well as the session number of the first processing unit.
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 permanent 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 predetermined or preassigned) or temporary 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-topoint 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 processing unit 22 The processing units 12, 22 may perform the disclosed point-to-point Internet protocol automatically upon initiation of the point-to-point communication command by the first user without displaying the E-mail interactions to either user. Accordingly, the disclosed point-to-point Internet protocol may be transparent to the users. Alternatively, either of the first and second users may receive, for example, a brief message of "CONNECTION IN PROGRESS" or the like on a display of the respective output device of the processing units 12, 22.
After the initiation of either the primary or the secondary point-topoint Internet protocols described above in conjunction with FIGS. 1-2, the point-to-point communication link over the Internet 24 may be established as shown in FIGS. 3-4 in a manner known in the art. For example, referring to FIG. 3, upon receiving the <ConnectorOK> signal from the second processing unit 22, the first processing unit 12 extracts the IP address of the second processing unit 22 and the session number, and the session number sent from the second processing unit 22 is then checked with the session number originally sent from the first processing unit 12 in the <ConnectRequest> message as E-mail. If the session numbers sent and received by the processing unit 12 match, then the first processing unit 12 sends a <Call> signal directly over the Internet 24 to the second processing unit 22; i.e. using the IP address of the second processing unit 22 provided to the first processing unit 12 in the 4o*"* <ConnectOK> signal.
15 Upon receiving the <Call> signal, the second processing unit 22 .may then begin a ring sequence, for example, by indicating or annunciating to the second user that an incoming call is being received.
For example, the word "CALL" may be displayed on the output device of the second processing unit 22. The second user may then activate the S: 20 second processing unit 22 to receive the incoming call.
Referring to FIG. 4, after the second processing unit 22 receives the incoming call, realtime audio and/or video conversations may be conducted in a manner known in the art between the first and second users through the Internet 24, for example, by compressed digital audio signals. Each of the processing units 12, 22 also display to each respective user the words "IN USE" to indicate that the point-to-point communication link is established and audio or video signals are being transmitted.
In addition, either user may terminate the point-to-point 0 0 a a. a communication link by, for example, activating a termination command, such as by activating an [END] button or icon on a respective processing unit, causing the respective processing unit to send an <End> signal which causes both processing units to terminate the respective sockets, as well as to perform other cleanup commands and functions known in the art.
FIGS. 5-6 illustrate examples of display screens 36 which may be output by a respective output device of each processing unit 12, 22 of FIGS. 1-4 for providing the disclosed point-to-point Internet protocol and system 10. Such display screens may be displayed on a display of a personal computer (PC) or a PDA in a manner known in the art.
As shown in FIG. 5, a first display screen 36 includes a status area 38 for indicating, for example, a called user by name and/or by IP address or telephone number; a current function such as 02; a current 15 time; a current operating status such as "IN USE", and other control icons such as a down arrow icon 40 for scrolling down a list of parties on a current conference line. The operating status may include such annunciators as "IN USE," "IDLE," "BUSY," "NO ANSWER," "OFFLINE," "CALL," "DIALING," "MESSAGES," and "SPEEDDIAL." Other areas of the display screen 36 may include activation areas or icons for actuating commands or entering data. For example, the display screen 36 may include a set of icons 42 arranged in columns and rows including digits 0-9 and commands such as END, SND, HLD, etc.
For example, the END and SND commands may be initiated as described above, and the HLD icon 44 may be actuated to place a current line on hold. Such icons may also be configured to substantially simulate a telephone handset or a cellular telephone interface to facilitate ease of use, as well as to simulate function keys of a keyboard. For example, icons labeled L1-L4 may be mapped to function keys F1-F4 on standard 17 PC keyboards, and icons C1-C3 may be mapped to perform as combinations of function keys, such as CTRL-F1, CTRL-F2, and CTRL- F3, respectively. In addition, the icons labeled L1-L4 and C1-C3 may include circular regions which may simulate light emitting diodes (LEDs) which indicate that the function or element represented by the respective icon is active or being performed.
Icons L1-L4 may represent each of 4 lines available to the caller, and icons C1-C3 may represent conference calls using at least one line to connect, for example, two or more parties in a conference call. The 10 icons L1-L4 and C1-C3 may indicate the activity of each respective line or conference line. For example, as illustrated in FIG. 5, icons L1-L2 may have lightly shaded or colored circles, such as a green circle, indicating that each of lines 1 and 2 are in use, while icons L3-L4 may have darkly shaded or color circles, such as a red or black circle, indicating that each of lines 3 and 4 are not in use. Similarly, the lightly shaded circle of the icon labeled C2 indicates that the function corresponding to C2 is active, additionally indicated in the status are 38, while darkly shaded circles of icons labeled C1 and C3 indicate that such corresponding functions are not active. .o The icons 42 are used in conjunction with the status area 38. For example, using a mouse for input, a line that is in use, as indicated by the lightly colored circle of the icon, may be activated to indicate a party's name by clicking a right mouse button for 5 seconds until another mouse click is actuated or the [ESC] key or icon is actuated. Thus, the user may switch between multiple calls in progress on respective lines.
Using the icons as well as an input device such as a mouse, a user may enter the name or alias or IP address, if known, of a party to be called by either manually entering the name, by using the speeddial feature, or by double clicking on an entry in a directory stored in the memory, such as the memory 16 of the first processing unit 12, where the directory entries may be scrolled using the status area 38 and the down arrow icon Once a called party is listed in the status area 38 as being active on a line, the user may transfer the called party to another line or a conference line by clicking and dragging the status area 38, which is represented by a reduced icon 46. Dragging the reduced icon 46 to any one of line icons L1-L4 transfers the called party in use to the selected line, and dragging the reduced icon 46 to any one of conference line icons C1-C3 adds the called party to the selected conference call.
Other features may be supported, such as icons 48-52, where icon 48 corresponds to, for example, an ALT-X command to exit the communication facility of a processing unit, and icon 50 corresponds to, for example, an ALT-M command to minimize or maximize the display 15 screen 36 by the output device of the processing unit. Icon 52 eooe corresponds to an OPEN command, which may, for example, correspond to pressing the O key on a keyboard, to expand or contract the display screen 36 to represent the opening and closing of a cellular telephone.
An "opened" configuration is shown in FIG. 5, and a "closed" 20 configuration is shown in FIG. 6. In the "opened" configuration, additional features such as output volume (VOL) controls, input microphone (MIC) controls, waveform (WAV) sound controls, etc.
The use of display screens such as those shown in FIGS. 5-6 provided flexibility in implementing various features available to the user.
It is to be understood that additional features such as those known in the art may be supported by the processing units 12, 22.
Alternatively, it is to be understood that one skilled in the art may implement the processing units 12, 22 to have the features of the display screens in FIGS. 5-6 in hardware; i.e. a wired telephone or wireless cellular telephone may include various keys, LEDs, liquid crystal displays (LCDs), and touchscreen actuators corresponding to the icons and features shown in FIGS. 5-6. In addition, a PC may have the keys of a keyboard and mouse mapped to the icons and features shown in FIGS.
5-6.
Referring to FIG. 7, the disclosed point-to-point Internet protocol and system 10 is illustrated. First processing unit 12 initiates the point-topoint Internet protocol in step 56 by sending a query from the first processing unit 12 to the connection server 26. If connection server 26 is 10 operative to perform the point-to-point Internet protocol, in step 58, first processing unit 12 receives an on-line status signal from the connection server 26, such signal may include the IP address of the callee or a "Callee Off-Line" message. Next, first processing unit 12 performs the primary point-to-point Internet protocol in step 60, which may include 15 receiving, at the first processing unit 12, the IP address of the callee if the I9*9 callee is active and on-line. Alternatively, processing unit 60 may initiate and perform the secondary point-to-point Internet protocol in step 62, if the called party is not active and/or on-line.
Referring to FIG. 8, in conjunction with FIGS. 1 and 3-4, the disclosed point-to-point Internet protocol and system 10 is illustrated.
Connection server 26 starts the point-to-point Internet protocol, in step 64, and timestamps and stores E-mail and IP addresses of logged-in users and processing units in the database 34 in step 66. Connection server 26 receives a query from a first processing unit 12 in step 68 to determine whether a second user or second processing unit 22 is loggedin to the Internet 24, with the second user being specified, for example, by an E-mail address. Connection server 26 retrieves the IP address of the specified user from the database 34 in step 70, if the specified user is logged-in to the Internet, and sends the retrieved IP address to the first processing unit 12 in step 72 to enable first processing unit 12 to establish point-to-point communications with the specified second user.
The disclosed secondary point-to-point Internet protocol operates as shown in FIG. 9. First processing unit 12 generates an E-mail signal, including a session number and a first IP address corresponding to a first processing unit in step 76. First processing unit 12 transmits the E-mail signal as a <ConnectRequest> signal to the Internet 24 in step 78. The E-mail signal is delivered through the Internet 24 using a mail server 28 to the second processing unit 22 in step 80. Second processing unit 22 10 extracts the session number and the first IP address from the E-mail O* 8* signal in step 82 and transmits or sends the session number and a 6S@O :.°°,second IP address corresponding to the second processing unit 22, back to the first processing unit 12 through the Internet 24, in step 84. First processing unit 12 verifies the session number received from the second 15 processing unit 22 in step 86, and establishes a point-to-point Internet communication link between the first processing unit 12 and second processing unit 22 using the first and second IP addresses in step 88.
~While the disclosed point-to-point Internet protocols and system have been particularly shown and described with reference to the or 49 20 preferred embodiments, it is understood by those skilled in the art that •o ooi various modifications in form and detail may be made therein without departing from the scope and spirit of the invention. Accordingly, modifications such as those suggested above, but not limited thereto, are to be considered within the scope of the invention.
P:\OPER\DBW\72476-% divl.doc-S September. 2000 -21- Throughout this specification and the claims which follow, unless the context requires otherwise, the word "comprise", and variations such as "comprises" and "comprising", will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
The reference to any prior art in this specification is not, and should not be taken as, an acknowledgment or any form of suggestion that that prior art forms part of the common general knowledge in Australia.

Claims (23)

1. Apparatus for establishing a point-to-point communication link said apparatus operating in a computer system operatively coupled to other computers and a server over a computer network, said apparatus comprising: a. means for transmitting, from the first process to a server a query as to whether a second process is connected to the computer network; means for receiving a network protocol address of the *fl. second process from the server when the second process is connected to the 10 computer network; and c. means, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network. 15
2. The computer apparatus of claim 1 further comprising: d. means for receiving audio data and transmitting the audio data to the second processor over the established point-to-point communication link.
3. An apparatus for use with a computer system capable of executing a first process and communicating with other processes, a directory server process and a mail server process over a computer network, the apparatus comprising: A. program logic configured to determine the currently assigned network protocol address of the first process upon connection to the computer network; B. program logic configured to establish a communication connection with the directory server process once the assigned network protocol of the first process is known; P:\OPER\DB72476-96 dMivdo-8 Sptember, 2000 23 C. program logic configured to forward the assigned network protocol address of the first process to the directory server process upon establishing a communication connection with the directory server process; and D. program logic configured to establish a point-to-point communication with another process over the computer network.
4. The apparatus of claim 3 wherein the program logic D further comprises: S. 5D.1 program logic configured to transmit, from the first process to the directory server process, a query as to whether a second process is connected to 10 the computer network; and D.2 program logic configured to receive a network protocol address of the second process from the directory server process, when the second process oooo is connected to the computer network.
5. The apparatus of claim 3 wherein the program logic D further comprises: D.1 program logic configured to transmit an E-mail message containing a network protocol address from the first process to the mail server process over the computer network; S• D.2 program logic configured to receive a second network protocol address from a second process over the computer network.
6. An apparatus for use with a computer system, the computer system capable of executing a first process connectable over a computer network to a second process and a directory database server process, the apparatus comprising: a. program logic configured to access a directory database, the database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and P:\OPER\DBW\72476-96 dM -doc. September, 2000 -24- b. program logic responsive to one of the network protocol addresses and configured to establish a point-to-point communication link from the first process to the second process over the computer network.
7. A computer program product for use with a computer system, the computer system executing a first process operatively connectable over a computer network to a second process and a server process, the computer program product comprising a computer useable medium having computer readable program code I' embodied therein, the program code comprising: *o 10 a. program code configured to access a directory database, the =database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and 15 b. program code responsive to one of the network protocol addresses *°1 *and configured to establish a point-to-point communication link from the first process to the second process over the computer network.
A method of establishing a point-to-point communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: A. following connection of the first process to the computer network forwarding to the address server a network protocol address at which the first process is connected to the computer network; B. querying the address server as to whether the second process is connected to the computer network; C. receiving a network protocol address of the second process from the address server, when the second process is connected to the computer network; and PAOPER\DBW\72476-96 divI.dom-8 September, 2000 D. in response to the network protocol address of the second process, establishing a point-to-point communication link with the second process over the computer network.
9. A method for establishing point-to-point communications with other processes, said method for use in a computer system capable of executing a first process and communicating with other processes and a server process over a computer network, said method comprising: •ooo A. determining the currently assigned network protocol address of the 0 first process upon connection to the computer network; B. establishing a communication connection with the server process once the assigned network protocol of the first process is known; C. forwarding the assigned network protocol address of the first process o* to the server process upon establishing a communication connection 5 with the server process; and D. establishing a point-to-point communication with another process over the computer network.
10. The method of claim 9 wherein the program step D comprises: D.1 transmitting, from the first process to the server process, a query as to whether a second process is connected to the computer network; and D.2 receiving a network protocol address of the second process from the server process, when the second process is connected to the computer network.
11. A method of establishing a point-to-point communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: P\OPER\DBW\72476-96 div.do-8 Soptmb, 2000 -26- a. accessing a directory database, the database having a network protocol address for a selected plurality of processes having on-line status with respect to the computer network, the network protocol address of each respective process forwarded to the database following connection to the computer network; and b. in response to one of the network protocol addresses, establishing a *point-to-point communication link from the first process to the second process over the computer network.
12. A method of establishing a point-to-point communication between a first process and a second process, said method for use in a first computer process operatively coupled over a computer network to a second process and an address server, said method comprising: a. transmitting to the server a network protocol address received by the first process following connection to the computer network; b. transmitting, to the server, a query as to whether the second process is connected to the computer network; mec. receiving a network protocol address of the second process from the server, when the second process is connected to the computer network; and d. in response to the network protocol address of the second process, establishing a point-to-point communication link between the first process and the second process over the computer network.
13. An apparatus capable of executing a first process and connecting to other processes and a server process over a computer network, the apparatus comprising: a. program logic configured to generate a user-interface enabling control of a first process executing on the computer system; P.\OPERDW 72476-96 divl.doc-8 Septmber, 2000 -27- b. program logic configured to determine the currently assigned network protocol address of the first process upon connection to the computer network; c. program logic, responsive to the currently assigned network protocol address of the first process, and configured to establish a communication connection with the server process and to forward the assigned network protocol address of the first process to the server process upon establishing a communication connection with the server process; and **oo. d. program logic, responsive to user input commands, and configured to establish a point-to-point communications with another process over the computer network.
14. The apparatus of claim 13 wherein the program logic configured to establish a point-to-point communication link further comprises: d.l program logic, responsive to the network protocol address of a second process, and configured to establish a point-to-point communication link between the first process and the second process over the computer network. o
15. The apparatus of claim 14 wherein the program logic configured to establish a point-to-point communication link further comprise: d.2 program logic configured to transmit, from the first process to the server process, a query as to whether the second process is connected to the computer network; and d.3 program logic configured to receive a network protocol address of the second process from the server process, when the second process is connected to the computer network.
16. An apparatus for use with a computer system, the computer system executing a first process operatively coupled over a computer network to a second process and a directory database server process, the apparatus comprising: P \OPEMDBW\72476-96 divl.doc-8 Sepiembcr, 2000 -28- A. program logic configured to, following connection of the first process to the computer network, forward to the address server a network protocol address at which the first process is connected to the computer network; B. program logic configured to query the address server as to whether the second process is connected to the computer network; C. program logic configured to receive a network protocol address of the second process from the address server, when the second process is connected to the computer network; and S. D. program logic configured to, in response to the network protocol 10 address of the second process, establish a point-to-point communication link with the second process over the computer network.
17. Apparatus for establishing a point-to-point communication link, said apparatus operating in a computer system capable of executing a first process and 15 operatively connectable to other processes and a server over a computer network, said apparatus comprising: a. means for transmitting, from the first process to the server, a query as to whether a second process is connected to the computer network means for receiving a network protocol address of the second process from the server when the second process is connected to the computer network; and c. means, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network.
18. A computer data signal embodied in a carrier wave comprising: program code for transmitting to a server a network protocol address received by a first process following connection to a computer network; program code for transmitting, to the server, a query as to whether a second process is connected to the computer network; P:\OPERDBW 72476-96 divl .doc-8 September, 2000 -29- program code for receiving a network protocol address of the second process from the server, when the second process is connected to the computer network; and program code, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network. S
19. A computer program product for use with a computer system, the computer :.0system executing a first process and operatively connectable to a second process 10 and a server over a computer network, the computer program product comprising a computer useable medium having program code embodied in the medium, the program code comprising: .program code for transmitting to the server a network protocol address received by the first process following connection to the computer network; o o 15 program code for transmitting, to the server, a query as to whether the second process is connected to the computer network; program code for receiving a network protocol address of the second process from the server, when the second process is connected to the computer OVO• network; and program code, responsive to the network protocol address of the second process, for establishing a point-to-point communication link between the first process and the second process over the computer network.
Apparatus substantially as hereinbefore described with reference to the accompanying drawings.
21. A computer program product substantially as hereinbefore described with reference to the accompanying drawings.
22. A method substantially as hereinbefore described with reference to the accompanying drawings. P:kOPER\DBW72476-96 divIdo-9 Sptemnbcr, 2000 30
23. A computer data signal substantially as hereinbefore described with reference to the accompanying drawings. DATED this 8th day of September 2000 NetSpeak Corporation By its Patent Attorneys DAVIES COLLISON CAVE
AU59379/00A 1995-09-25 2000-09-13 Point-to-point internet protocol Ceased AU764583B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU59379/00A AU764583B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/533115 1995-09-25
AU72476/96A AU727702B2 (en) 1995-09-25 1996-09-25 Point-to-point internet protocol
AU59379/00A AU764583B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU72476/96A Division AU727702B2 (en) 1995-09-25 1996-09-25 Point-to-point internet protocol

Publications (2)

Publication Number Publication Date
AU5937900A true AU5937900A (en) 2000-11-23
AU764583B2 AU764583B2 (en) 2003-08-21

Family

ID=27768039

Family Applications (3)

Application Number Title Priority Date Filing Date
AU59378/00A Ceased AU764522B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol
AU59377/00A Ceased AU764521B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol
AU59379/00A Ceased AU764583B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol

Family Applications Before (2)

Application Number Title Priority Date Filing Date
AU59378/00A Ceased AU764522B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol
AU59377/00A Ceased AU764521B2 (en) 1995-09-25 2000-09-13 Point-to-point internet protocol

Country Status (1)

Country Link
AU (3) AU764522B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185860A (en) * 1990-05-03 1993-02-09 Hewlett-Packard Company Automatic discovery of network elements
WO1992019054A1 (en) * 1991-04-12 1992-10-29 Concord Communications, Inc. Network monitoring
US5517618A (en) * 1992-02-10 1996-05-14 Matsushita Electric Industrial Co., Ltd. Mobile migration communications control device
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks

Also Published As

Publication number Publication date
AU5937800A (en) 2000-11-30
AU764521B2 (en) 2003-08-21
AU5937700A (en) 2000-11-23
AU764522B2 (en) 2003-08-21
AU764583B2 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
EP0852868B1 (en) Point-to-point internet protocol
US6009469A (en) Graphic user interface for internet telephony application
US6226678B1 (en) Method and apparatus for dynamically defining data communication utilities
US7283829B2 (en) Management of call requests in multi-modal communication environments
EP1240777B1 (en) A client-server network for managing internet protocol voice packets
KR20020032431A (en) Network telephony appliance and system for inter/intranet telephony
KR20020064889A (en) Distributed communication network including one or more telephony communication devices having programmable functionality
CA2364680C (en) Digital browser phone
AU764583B2 (en) Point-to-point internet protocol
JP2004511936A (en) Network telephone communication equipment and system supporting wireless Internet telephone communication
US7308092B1 (en) Method for connecting calls directed to a PSTN extension to a handset of a packet switched network
AU2004205302A1 (en) Distributed communications network including one or more telephony communication devices having programmable functionality

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)