US20070086445A1 - Method and apparatus for providing caller identification based responses in a computer telephony environment - Google Patents

Method and apparatus for providing caller identification based responses in a computer telephony environment Download PDF

Info

Publication number
US20070086445A1
US20070086445A1 US11/637,099 US63709906A US2007086445A1 US 20070086445 A1 US20070086445 A1 US 20070086445A1 US 63709906 A US63709906 A US 63709906A US 2007086445 A1 US2007086445 A1 US 2007086445A1
Authority
US
United States
Prior art keywords
webphone
information
notification signal
server
wpp
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.)
Abandoned
Application number
US11/637,099
Inventor
Shane Mattaway
Glenn Hutton
Craig 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.)
Net2phone Inc
Original Assignee
Net2phone Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24124548&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20070086445(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Net2phone Inc filed Critical Net2phone Inc
Priority to US11/637,099 priority Critical patent/US20070086445A1/en
Publication of US20070086445A1 publication Critical patent/US20070086445A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4555Directories for electronic mail or instant messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/168Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/66Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
    • H04M1/663Preventing unauthorised calls to a telephone set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/45Aspects of automatic or semi-automatic exchanges related to voicemail messaging
    • H04M2203/4536Voicemail combined with text-based messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0075Details of addressing, directories or routing tables

Definitions

  • the present invention relates, in general, to data processing systems, and more specifically, to a method and apparatus for facilitating communications over a computer networks.
  • AMERICA ONLINETM On-line services
  • COMPUSERVE® COMPUSERVE®
  • Internet gateways 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.
  • a user may create an audio message to be sent to a predetermined E-mail address specified by the user.
  • IP Internet Protocol
  • SIP/PPP Serial Line Internet Protocol or Point-to-Point Protocol
  • E-mail and voicemail is generally intended to convey text, audio, etc., with any routing information such as an IP address and routing headers generally being considered an artifact of the communication, or even gibberish to the recipient.
  • Devices such as a host computer or server of a company may include multiple modems for connection of users to the Internet, with a temporary IP address allocated to each user.
  • the host computer may have a general IP address “XXX.XX.XX,” and each user may be allocated a successive IP address of XXX.XXX.XX.10, XXX.XXX.XX.11, XXX.XXX.XX.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.
  • 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.
  • real-time video teleconferencing has been implemented using dedicated IP addresses and mechanisms known as reflectors. Due to the dynamic nature of temporary IP addresses of some devices accessing the Internet, point-to-point communications in real-time of voice and video have been generally difficult to attain.
  • party or group specific notifications may include generating an audio signal or ringing tone which varies depending on the identity of the incoming call, or, generating a graphic image or activating a haptic sensor, such as a vibrator on a mobile pager, in response to the identity of the user.
  • the above deficiencies in the prior art and the previously described needs are fulfilled by the present invention which provides, in one embodiment, a utility for generating and receiving point-to-point communications over a computer network between users having dynamically assigned Internet Protocol addresses.
  • the communication utility includes the ability to identify incoming communications, and, based on the identity of the communication source, selectively responding.
  • the program code means further comprises means for comparing the information profile contained within the incoming communication with a plurality of information profiles and generating a notification signal associated with one of the plurality of information profiles if a match occurs.
  • the notification signal may be an audio signal, graphic image, or haptic sensor type signal.
  • a method of selectively notifying a user of an incoming communication comprises the steps of receiving an information profile identifying the source of the incoming communication and selectively notifying the user of the incoming communication.
  • the information profile is compared with a plurality of predetermined information profiles and, if a match occurs, a notification signal associated with the matched information profile is generated.
  • the information profile associated with the incoming communication contains an identifier of a notification signal which is indexed into a plurality of predetermined notification signals, if a match occurs.
  • 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 established;
  • FIG. 4 is another block diagram of the system of FIGS. 1-2 with audio communications being conducted;
  • FIG. 5 illustrates a display screen for a processing unit
  • FIG. 6 illustrates another display screen for a processing unit
  • FIG. 7 illustrates a flowchart of the initiation of the point-to-point Internet protocols
  • FIG. 8 illustrates a flowchart of the performance of the primary point-to-point Internet protocols
  • FIG. 9 illustrates a flowchart of the performance of the secondary point-to-point Internet protocol
  • FIG. 10 illustrates schematically a computer network over which the present invention may be utilized
  • FIG. 11 is a block diagram of a computer system suitable for use with the present invention.
  • FIG. 12 is a block diagram of an audio processing card suitable for use with the computer system of FIG. 10 ;
  • FIGS. 13 A-B are schematic block diagrams of the elements comprising the inventive computer network telephony utility of the present invention.
  • FIG. 14 is a screen capture illustrating an exemplary user interface of the present invention.
  • FIGS. 15 A-C are schematic block diagrams illustrating the architecture of the global server apparatus of the present invention.
  • FIG. 16A is a flowchart illustrating the process steps performed by the connection server in accordance with the present invention.
  • FIG. 16B is a flowchart illustrating the process steps performed by the information server in accordance with the present invention.
  • FIGS. 17 A-B are schematic diagrams illustrating of the packet transfer sequence in accordance with the communication protocol of the present invention.
  • FIG. 18 is a schematic conceptual diagram of the personal information directory of a client process in accordance with the present invention.
  • FIG. 20 is a flowchart illustrating the process steps performed by the communication utility in accordance with the present invention.
  • the present disclosure describes a point-to-point network protocol and system 10 for using such a protocol.
  • the system 10 includes a first processing unit 12 for sending at least a voice signal from a first user to a second user.
  • the first processing unit 12 includes a processor 14 , a memory 16 , an input device 18 , and an output device 20 .
  • the output device 20 includes at least one modem capable of, for example, 14.4 Kilobit-per-second communications and operatively connected via wired and/or wireless communication connections to the Internet or other computer networks such as an Intranet, i.e., a private computer network.
  • the input device 18 may be implemented at least in part by the modem of the output device 20 to allow input signals from the communication connections to be received.
  • the second processing unit 22 may have a processor, memory, and input and output devices, including at least one modem and associated communication connections, as described above for the first processing unit 12 .
  • each of the processing units 12 , 22 may execute the WEBPHONE® Internet telephony application available from NetSpeak Corporation, Boca Raton, Fla., which is capable of performing the disclosed point-to-point Internet protocol and system 10 , as described herein.
  • the first processing unit 12 and the second processing unit 22 are operatively connected to the Internet 24 by communication devices and software known in the art, such as an Internet Service Provider (ISP) or an Internet gateway.
  • ISP Internet Service Provider
  • 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.
  • the connection server 26 may be a SPARC 5 server or a SPARC 20 server, available from SUN MICROSYSTEMS, INC., Mountain View, Calif., having a central processing unit (CPU) as processor 30 , an operating system (OS) such as UNIX, for providing timing operations such as maintaining the timer 32 , a hard drive or fixed drive, as well as dynamic random access memory (DRAM) for storing the database 34 , and a keyboard and display and/or other input and output devices (not shown in FIG. 1 ).
  • the database 34 may be an SQL database available from ORACLE or INFORMIX.
  • the mail server 28 may be implemented with a Post Office Protocol (POP) Version 3 mail server and the Simple Mail Transfer Protocol (SMTP), including a processor, memory, and stored programs operating in a UNIX environment, or, alternatively, another OS, to process E-mail capabilities between processing units and devices over the Internet 24 .
  • POP Post Office Protocol
  • SMTP Simple Mail Transfer Protocol
  • the POP protocol is utilized to retrieve E-mail messages from mail server 28 while the SMTP protocol is used to submit E-mail message to Internet 24 .
  • the first processing unit 12 may operate the disclosed point-to-point Internet protocol by a computer program described hereinbelow in conjunction with FIG. 6 , which may be implemented from compiled and/or interpreted source code in the C++ programming language and which may be downloaded to the first processing unit 12 from an external computer.
  • the operating computer program may be stored in the memory 16 , which may include about 8 MB RAM and/or a hard or fixed drive having about 8 MB of available memory.
  • the source code may be implemented in the first processing unit 12 as firmware, as an erasable read only memory (EPROM), etc. It is understood that one skilled in the art would be able to use programming languages other than C++ to implement the disclosed point-to-point network protocol and system 10 .
  • the processor 14 receives input commands and data from a first user associated with the first processing unit 12 though the input device 18 , which may be an input port connected by a wired, optical, or a wireless connection for electromagnetic transmissions, or alternatively may be transferable storage media, such as floppy disks, magnetic tapes, compact disks, or other storage media including the input data from the first user.
  • the input device 18 may 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 .
  • the input device 18 may include a keyboard, a mouse, a touch screen, and/or a data reading device such as a disk drive for receiving the input data from input data files stored in storage media such as a floppy disk or, for example, an 8 mm storage tape.
  • the input device 18 may alternatively include connections to other computer systems to receive the input commands and data therefrom.
  • the first processing unit 12 may include a visual interface for use in conjunction with the input device 18 and output device 20 similar to those screens illustrated in FIGS. 5-6 , discussed below. It is also understood that alternative devices may be used to receive commands and data from the user, such as keyboards, mouse devices, and graphical user interfaces (GUI) such as WINDOWSTM 3.1 available form MICROSOFT Corporation, Redmond, Wash., and other operating systems and GUIs, such as OS2 and OS/2 WARP, available from IBM CORPORATION, Boca Raton, Fla.
  • GUI graphical user interfaces
  • Processing unit 12 may also include microphones and/or telephone handsets for receiving audio voice data and commands, speech or voice recognition devices, dual tone multi-frequency (DTMF) based devices, and/or software known in the art to accept voice data and commands and to operate the first processing unit 12 .
  • DTMF dual tone multi-frequency
  • 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 20 .
  • PDA personal digital assistant
  • 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.
  • 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.
  • the use of the functional blocks with accompanying labels herein is not to be construed to refer exclusively to hardware capable of executing software.
  • Illustrative embodiments may include digital signal processor (DSP) hardware, such as the AT&T DSP16 or DSP32C, read-only memory (ROM) for storing software performing the operations discussed below, and random access memory (RAM) for storing DSP results.
  • DSP digital signal processor
  • ROM read-only memory
  • RAM random access memory
  • VLSI Very large scale integration
  • 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.
  • 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.
  • 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, datagram 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.
  • 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.
  • the callee processing unit sends a BUSY signal or message to the caller processing unit.
  • 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.
  • the first processing unit 12 is the caller processing unit and the second processing unit 22 is the callee processing unit.
  • the respective unit is provided a dynamically allocated IP address by an Internet service provider.
  • the first processing unit 12 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 an Internet 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 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 N TH stored number, which may be labeled [SND] and [SPD] [N], respectively, by the input device 18 and/or the output device 20 , such as shown in FIGS. 5-6 .
  • the first processing unit 12 retrieves from memory 16 a stored E-mail address of the callee corresponding to the N TH stored number.
  • 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 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 Internet communications with the callee using the IP address of the callee.
  • connection server 26 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.
  • 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 point-to-point Internet communications.
  • 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, unreachable, inoperative, and/or unable to perform the primary point-to-point Internet protocol, as a non-responsive condition.
  • the disclosed secondary point-to-point Internet protocol may be used independent of the primary point-to-point Internet protocol.
  • the first processing unit 12 sends a ⁇ ConnectReq> message via E-mail over the Internet 24 to the mail server 28 .
  • the E-mail including the ⁇ ConnectReq> message may have, for example, the subject [*wp#XXXXXXX#nnn.nnnn.nnn.#emailAddr] where nnn.nnn.nnn.nn. is the current (i.e. temporary or permanent) IP address of the first user, and XXXXXXX 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.
  • the first processing unit 12 may send the ⁇ ConnectReq> message in response to an unsuccessful attempt to perform the primary point-to-point Internet protocol.
  • the first processing unit 12 may send the ⁇ ConnectReq> message in response to the first user initiating a SEND command or the like.
  • 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.
  • 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.
  • Second processing unit 22 polls mail server 28 at an interval, for example, once a minute, to check for incoming E-mail. Generally, second processing unit 22 checks the messages stored on mail server 28 at regular intervals to wait for and detect incoming E-mail indicating a ⁇ CONNECT REQ> message from first processing unit 12 .
  • E-mail for a specific user may be sent over Internet 24 and directed to the permanent IP address of the mail server providing the target user's mail services.
  • the E-mail is transported by a standard protocol, for example, SMTP, and stored into memory (not shown in FIG. 1 ) associated with mail server 28 .
  • the E-mail may subsequently be retrieved by processing unit 22 on behalf of the user with another standard protocol, for example POP 3.
  • POP 3 another standard protocol
  • the actual IP address utilized by the user's processing unit is immaterial to the retrieval of E-mail, as the mail server 28 can, for example, be polled or queried from any point on the network.
  • 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 .
  • Real-time point-to-point communication of audio signals over the Internet 24 may thus be established and supported without requiring permanent IP addresses to be assigned to either of the users or processing units 12 , 22 .
  • 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).
  • 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 .
  • 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.
  • 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 .
  • 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.
  • the first processing unit 12 upon receiving the ⁇ ConnectOK> signal from the second processing unit 22 , 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 ⁇ ConnectReq> message as E-mail.
  • 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 ⁇ ConnectOK> 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 second processing unit 22 to receive 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.
  • either user may terminate the point-to-point 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.
  • 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.
  • PC personal computer
  • PDA personal digital assistant
  • 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 C2; a current 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.
  • 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.
  • 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.
  • icons labeled L 1 -L 4 may be mapped to function keys F1-F4 on standard PC keyboards, and icons C 1 -C 3 may be mapped to perform as combinations of function keys, such as CTRL-F1, CTRL-F2, and CTRL-F3, respectively.
  • the icons labeled L 1 -L 4 and C 1 -C 3 may include circular regions which may simulate lamps or light emitting diodes (LEDs) which indicate that the function or element represented by the respective icon is active or being performed.
  • LEDs light emitting diodes
  • Icons L 1 -L 4 may represent each of 4 lines available to the caller, and icons C 1 -C 3 may represent conference calls using at least one line to connect, for example, two or more parties in a conference call.
  • the icons L 1 -L 4 and C 1 -C 3 may indicate the activity of each respective line or conference line.
  • icons L 1 -L 2 may have lightly shaded or colored circles, such as a green circle, indicating that each of lines 1 and 2 are in use
  • icons L 3 -L 4 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.
  • the lightly shaded circle of the icon labeled C 2 indicates that the function corresponding to C 2 is active, as additionally indicated in the status are 38 , while darkly shaded circles of icons labeled C 1 and C 3 indicate that such corresponding functions are not active.
  • the icons 42 are used in conjunction with the status area 38 .
  • 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.
  • the user may switch between multiple calls in progress on respective lines.
  • 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 40 .
  • 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 L 1 -L 4 transfers the called party in use to the selected line, and dragging the reduced icon 46 to any one of conference line icons C 1 -C 3 adds the called party to the selected conference call.
  • icons 48 - 52 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 screen 36 by the output device of the processing unit.
  • Icon 52 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
  • a “closed” configuration is shown in FIG. 6 .
  • additional features such as output volume (VOL) controls, input microphone (MIC) controls, waveform (WAV) sound controls, etc.
  • FIGS. 5-6 provide 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 .
  • processing units 12 , 22 may implement 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 .
  • a PC may have the keys of a keyboard and mouse mapped to the icons and features shown in FIGS. 5-6 .
  • First processing unit 12 initiates the point-to-point 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 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 receiving, at the first processing unit 12 , the IP address of the callee if the 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 connection server 26 is not operable.
  • Connection server 26 starts the primary 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 logged-in 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.
  • 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 extracts the session number and the first IP address from the E-mail signal in step 82 and transmits or sends the session number and a 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 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 .
  • connection server 26 provides only directory and information related services.
  • FIG. 10 illustrates an exemplary computer network 1000 over which the invention may operate.
  • a first processing unit 1012 is coupled to a computer network, illustrated here as the Internet 1010 , through an Internet service provider 1014 .
  • a second processing unit 1022 is coupled to Internet 1010 through Internet service provider 1018 .
  • the inventive directory server 1020 is similarly coupled to Internet 1010 through Internet service provider 1026 .
  • Directory server 1020 further comprises a connection server 1022 and information server 1024 , as will be explained hereinafter.
  • the first processing unit 1012 , second processing unit 1022 and directory server 1020 are operatively coupled to each other via the Internet 1010 .
  • network 1000 is not restricted to implementation over the Internet 1010 but may comprise other network configurations such as a local area network (LAN), a wide area network (WAN), a global area network or any number of private networks currently referred to as an Intranet.
  • LAN local area network
  • WAN wide area network
  • Intranet any number of private networks currently referred to as an Intranet.
  • Such networks may be implemented with any number of hardware and software components, transmission media and network protocols.
  • FIG. 11 illustrates the system architecture for a computer system 1100 such as an IBM PS2®, suitable for implementing first and second processing units 1012 and 1022 , respectively, of FIG. 10 , as well as global server 1020 .
  • the exemplary computer system of FIG. 11 is for descriptive purposes only. Although the description may refer to terms commonly used in describing particular computer systems, such as in IBM PS/2 computer, the description and concepts equally apply to other computer systems ranging from personal digital assistants (PDAs) to workstations to mainframe systems.
  • PDAs personal digital assistants
  • Computer system 1100 includes a central processing unit (CPU) 1105 , which may be implemented with a conventional microprocessor.
  • System 1100 further includes a random access memory (RAM) 1110 for temporary storage of information, and a read only memory (ROM) 1115 for permanent storage of information.
  • RAM random access memory
  • ROM read only memory
  • a memory controller 1120 is provided for controlling RAM 1110 .
  • a bus 1130 interconnects the components of computer system 1100 .
  • a bus controller 1125 is provided for controlling bus 1130 .
  • An interrupt controller 1135 is used for receiving and processing various interrupt signals from the system components.
  • Mass storage may be provided by diskette 1142 , CD ROM 1147 , or hard drive 1152 .
  • Data and software may be exchanged with computer system 1100 via removable media such as diskette 1142 and CD ROM 1147 .
  • Diskette 1142 is insertable into diskette drive 1141 which is, in turn, connected to bus 1130 by a controller 1140 .
  • CD ROM 1147 is insertable into CD ROM drive 1146 which is, in turn, connected to bus 1130 by controller 1145 .
  • Hard disk 1152 is part of a fixed disk drive 1151 which is connected to bus 1130 by controller 1150 .
  • Computer system 100 may be provided by a number of devices.
  • a keyboard 1156 and mouse 1157 are connected to bus 1130 by controller 1155 .
  • An audio transducer 1196 which may act as both a microphone and a speaker, is connected to bus 1130 by audio controller 1197 , as illustrated. It will be obvious to those reasonably skilled in the art that other input devices, such as a pen and/or tablet may be connected to bus 1130 with an appropriate controller and software, as required.
  • DMA controller 1160 is provided for performing direct memory access to RAM 1110 .
  • a visual display is generated by video controller 1165 which controls video display 1170 .
  • Computer system 1100 also includes a communications adaptor 1190 which allows the system to be interconnected to a network such as a local area network (LAN), a wide area network (WAN), or the Internet, schematically illustrated by transmission medium 1191 and network 1195 .
  • LAN local area network
  • WAN wide area network
  • Internet schematically illustrated by transmission medium 1191 and network 1195 .
  • computer system 1100 may include an Intel microprocessor such as the 80486DX-33 MHz, or faster, a 14.4 Kb communication modem or faster, and a sound card, as further described with reference to FIG. 12 .
  • Intel microprocessor such as the 80486DX-33 MHz, or faster, a 14.4 Kb communication modem or faster, and a sound card, as further described with reference to FIG. 12 .
  • Operation of computer system 1100 is generally controlled and coordinated by operating system software, such as the OS/2® operating system, available from. International Business Machines Corporation, Boca Raton, Fla., or Windows® DOS-based operating system available from Microsoft Corp., Redmond, Wash.
  • operating system software such as the OS/2® operating system, available from. International Business Machines Corporation, Boca Raton, Fla., or Windows® DOS-based operating system available from Microsoft Corp., Redmond, Wash.
  • the operating system controls allocation of system resources and performs tasks such as process scheduling, memory management, networking, and I/O services, among other things.
  • FIG. 12 illustrates schematically an audio sound card 1200 which may be used to implement audio controller 1197 of FIG. 11 .
  • sound card 1200 may comprise, in the exemplary embodiment, an analog-to-digital (A/D) converter 1212 , an input buffer 1216 , a digital signal processor (DSP) 1222 , ROM 1224 , RAM 1226 , an output buffer 1220 , and an analog-to-digital (D/A) converter 1218 , all of which may be interconnected over a bus 1210 .
  • Bus 1210 is in turn coupled to a bus interface 1228 which, in turn, is coupled to bus controller 1125 of computer system 1100 of FIG. 11 .
  • A/D converter 1212 is coupled to audio transducer 1214 which is typically a microphone.
  • D/A converter 1218 is coupled to audio transducer 1230 , typically a speaker. It will be obvious to those reasonably skilled in the art that audio transducers 1214 and 1230 , may be combined into a single element which serves as both a transmitter and receiver of audio signal.
  • A/D converter 1212 samples the audio signals supplied to it by transducer 1214 and stores the digital samples in buffer 1216 .
  • the digital sampling occurs under control of a program typically stored in ROM 1224 , or, alternatively, under the control of digital signal processor 1222 .
  • the digital samples stored in input buffer 1216 are forwarded periodically, typically when the buffer reaches near capacity, over bus 1210 to bus 1130 of FIG. 11 , for further processing by computer system 1100 .
  • the device driver for audio sound card 1200 generates system interrupts which will cause the digital samples stored in input buffer 1216 to be retrieved for processing.
  • the digital samples are uncompressed as supplied to computer system 1100 . However, compression of the digital samples may occur using DSP 1222 executing an appropriate compression algorithm, if desired.
  • Digital audio samples from computer system 1100 are also be converted to analog signals by sound card 1200 .
  • the digital samples are supplied to bus 1210 and temporarily stored into output buffer 1220 .
  • the digital samples are then converted by D/A converter 1218 into an analog signals which are then supplied to audio transducer 1230 , i.e., a speaker, or to further amplification and processing devices.
  • Sound card 1200 contemplated for use with the present invention may be implemented with any number of Windows compliant sound cards, such as the Sound Blaster sound card, commercially available from Creative Technologies Ltd., Singapore.
  • Windows compliant sound cards have a Windows compliant software interface allowing a standardized mechanism for software programs to operate the sound card device, such as Winsoc 1.1.
  • each of first processing unit 1012 and second processing unit 1022 of FIG. 10 are executing a software application capable of enabling point-to-point communication over network 1000 , such as an Internet telephone application.
  • a software application capable of enabling point-to-point communication over network 1000 , such as an Internet telephone application.
  • One such application suitable for use with the present invention is the WebPhone Version 1.0 or higher, software, hereafter referred as the “WebPhone,” commercially available from NetSpeak Corporation, Boca Raton, Fla.
  • WebPhone software
  • FIGS. 5-6 , 13 A-B and 14 An extensive detailed description of the architecture, application program interface, graphic user interface, and operation of the WebPhone can be found in U.S. patent application Ser. No. 08/719,554, filed Sep.
  • the WebPhone is an end-user software application which enables users to send real-time audio data to other WebPhone users over the Internet or any public or private TCP/IP based computer networks.
  • the WebPhone application and architecture may be designed to run on any number of operating systems or computer architectures.
  • the WebPhone application is implemented as a Windows compatible application executable on an IBM PC architecture or a clone thereof.
  • the WebPhone 1300 comprises a set of object modules, written in a programming language such as C++, which work together in a concerted fashion to provide real-time, multitasking, network-based media transmission and reception.
  • WebPhone 1300 comprises a graphic user interface (GUI) 1310 , a user interface (UI) 1312 , an event manager 1314 , a media engine 1316 , a database dynamic link library 1318 , one or more audio compression/decompression (codecs) 1320 , an audio manager 1324 , a WebPhone application program interface (API) 1326 , and a network interface 1322 .
  • GUI graphic user interface
  • UI user interface
  • API WebPhone application program interface
  • WebPhone GUI 1310 comprises the visual objects seen on a computer display by the user, as illustrated by the screen capture of FIG. 14 discussed hereinafter.
  • WebPhone GUI 1310 serves only to display the artwork associated with the underlying objects of WebPhone UI 1312 .
  • WebPhone GUI 1310 may be implemented in a modular fashion distinct from the WebPhone UI for rapid portability. In this manner, other graphic user interface environments such as those compatible with the Macintosh, X-Windows or OS/2 operating systems, may be substituted via the Plug and Play protocol, as would be understood by those reasonably skilled in the arts.
  • the WebPhone UI 1312 objects maintain the state of the WebPhone GUI and provide feedback to the WebPhone GUI objects from events originating from either the user or the event manager 1314 .
  • WebPhone UI objects notify associated WebPhone GUI objects to display the appropriate art work to the user.
  • WebPhone UI objects also interface with the database dynamic link library 1318 to maintain the WebPhone database information, e.g. configuration information, phone directory information, etc.
  • the WebPhone event manager 1314 processes all the events originating from the user, via WebPhone UI 1312 , the media engine 1316 , and WebPhone API 1326 .
  • Event manager 1314 may be implemented as a table-driven state machine that processes the above-identified events and performs the functions necessary to bring the WebPhone from one state to another. For example, event manager 1314 interacts with media engine 1316 to create, control and remove concurrently executing jobs managed by media engine 1316 .
  • Event manager 1314 also interfaces with the WebPhone API 1326 to provide communications with other WebPhones and connection servers, as described in more detail hereinafter.
  • WebPhone database 1318 is a dynamic link library of tree-based subroutines that provide fast database access to the WebPhone configuration information, personal phone directory, etc.
  • WebPhone media engine 1316 manages the allocation of associated resources to provide a multitasking environment and controls the flow of real-time data streams, e.g., conversations, outgoing messages, etc., and non-real-time data streams, e.g., voice mail, graphic images, files, etc., to and from a user network connection.
  • the objects representing tasks are created by event manager 1314 , thereby freeing media engine 1316 to manage resource routing.
  • the media engine routes data streams from sources such as a microphone, file or network socket, to destinations such as speaker, destination file or other network socket.
  • the media engine interfaces with the WebPhone API 1326 to control communication with other processes, and further communicates with audio manager 1324 to communicate with the system input/output apparatus, such as sound card 1200 of FIG. 12 .
  • Media engine 1314 may be designed to employ heuristic methods to sense and efficiently utilize available bandwidth to achieve timely and accurate delivery of all data streams, both real-time and non-real-time.
  • Media engine 1316 further interacts with WebPhone codec 1320 to achieve compression and decompression of audio data streams.
  • Codec 1320 provides coding of digital samples from the sound card 1200 of FIG. 12 into a compressed format more suitable for transmission over a computer network.
  • Codec 1320 further provides decoding of a compressed signal prior to its submission to sound card 1200 for subsequent conversion to an audible analog signal.
  • WebPhone codec 1320 is implemented in a modular fashion so that codecs may be replaced and updated with newer, more efficient compression/decompression algorithms via the Plug and Play protocol.
  • a codec suitable for use with the present invention is the True Speech codec, version 8.5, commercially available from the DSP Group, Inc., Santa Clara, Calif.
  • the True Speech codec is an enhanced linear predicative coding algorithm, specifically designed to efficiently encode and decode human speech data.
  • the True Speech codec samples the digital sample stream from sound card 1200 , and, using a look-up table-based algorithm, tries to predict the value of the next data sample in the digital data stream based on the history of prior data sample values.
  • the compressed data stream comprises a combination of identifiers of the predicted sample values, as well as error values used to correct the predictive values. Accordingly, the amount of digital data actually transmitted to represent the audio signal is significantly reduced in comparison to transmission of the actual data samples generated by sound card 1200 .
  • the True Speech codec provides temporal, frequency domain compression of the digital data representing the audio signal.
  • Audio manager 1324 handles communication with the audio sound card 1200 and presents a common interface to media engine 1314 . Audio manager 1324 interfaces with sound card 1200 through one or more application program interfaces. In the illustrative embodiment, audio manager 1324 utilizes low-level Microsoft Windows wave input/output routines to interface with MCI compliant sound cards. As with codecs 1320 , audio manager 1324 may be implemented to adhere to the Plug and Play protocol so other compliant audio sound cards or circuits, such as those for the Apple Macintosh, commercially available from Apple Computer Company, Cupertino, Calif., or a Unix compatible sound card or circuit may interact with the audio manager 1324 .
  • the WebPhone API 1326 enables the WebPhone to communicate with other WebPhones, connection and directory assistance servers, Internet gateway servers, credit processing servers, database access servers and other client processes implementing the WebPhone API.
  • the WebPhone API utilizes sockets, i.e., a file handle or address indicating where data is to be sent, allowing WebPhone API enabled processes to reside on the same computer, on a local area network, on a wide area network, or over the Internet.
  • a process 1328 communicates with the WebPhone API 1326 through a plurality of sockets 1322 .
  • the sockets 1322 are accessible by network 1330 through a number of protocols including Internet Protocol (IP) 1332 , Transmission Control Protocol (TCP) 1334 , Real-Time Protocol (RTP) 1336 and User Datagram Protocol (UDP) 1338 .
  • IP Internet Protocol
  • TCP Transmission Control Protocol
  • RTP Real-Time Protocol
  • UDP User Datagram Protocol
  • the WebPhone API provides remote command control of WebPhones and servers via the TCP.
  • WebPhone API 1326 transfers real-time and streamed audio via the UDP protocol and real-time audio and video data via the UDP and RTP protocols.
  • the WebPhone API utilizes TCP to transfer data of different types, i.e., file, image, graphics, etc. as well as to transfer streamline video and other multimedia data types, such as Java developed by Sun MicroSystems, Mountain View, Calif.
  • the WebPhone API provides user definable commands and data types.
  • FIG. 14 illustrates the graphic display produced upon invoking the WebPhone application.
  • Display 1400 is an alternative embodiment to that illustrated in FIGS. 5-6 with similar graphic elements, icons and display areas functioning as previously described with reference to FIGS. 5-6 .
  • FIG. 15A a network diagram, similar to that shown in FIG. 10 , is illustrated, including a schematic diagram of the global server 1500 and the various devices operatively coupling server 1500 to the Internet 1530 .
  • a first processing unit executing the WebPhone application hereafter referred to as WebPhone 1536 , is coupled to Internet 1530 through an Internet service provider 1532 .
  • a second processing unit executing the WebPhone application referred to as WebPhone 1538
  • Global server 1500 is coupled to Internet 1530 by an Internet service provider 1528 , a CSU/DSU 1526 , a router 1524 , and a fire wall server 1522 .
  • fire wall server 1522 and global server 1500 are connected through a local area network 1520 .
  • Network 1520 may be implemented with an Ethernet or other suitable transport for TCP/IP communications.
  • server 1500 may be connected directly to fire wall server 1522 .
  • firewall server 1522 is a single firewall mechanism which protects unauthorized access from network 1530 into global server 1500 .
  • Firewall server 1522 may be implemented on a work station, such as a SPARC 5 or SPARC 20 server from Sun MicroSystems, executing a commercially available firewall software application such as Raptor, available from Raptor Systems.
  • the firewall server prevents unauthorized access into global server 1500 and thereby prevents destruction of any of the information contained therein by checking the source of requests for information to global server 1500 .
  • Router 1524 translates logical addresses among networked topologies and may be implemented with any number of commercial router devices such as the CISCO model 2501 router executing CISCO 11.0 software, both commercially available from CISCO Systems, Inc., San Jose, Calif.
  • CSU/DSU 1526 (Channel Send Unit/Data Send Unit) functions as a sophisticated modem, converting network data to high speed serial data for transfer over a T1 or T3 line. Such high speed data is connected to another CSU/DSU, typically at the telephone company over the T1 or T3 line.
  • An apparatus suitable for use in implementing CSU/DSU 1526 in the present invention is the AT&T Paradigm by AT&T Laboratories, Murray Hill, N.J.
  • FIG. 15A further illustrates a logical schematic of global server 1500 .
  • the server comprises a hardware platform 1508 on which an operating system 1510 executes.
  • hardware platform 1508 may comprise any number of commercially available high end work stations such as a DEC Alpha 4100 System, commercially available from Digital Equipment Corporation, Maynard, Mass., or a SPARC 5 or a SPARC 20, both commercially available from Sun Micro Systems, Mountain View, Calif.
  • Operating system 1510 in the illustrative embodiment, may comprise the Unix, commercially available from Novell, Windows NT, commercially available from Microsoft Corporation, or Solaris, commercially available from Sun MicroSystems, Inc. Executing on operating system 1510 are a number of processes including connection server 1512 , information server 1514 , database server 1518 and database 1516 .
  • Connection server 1512 provides a directory information service to WebPhone client processes currently on-line with respect to the computer network.
  • Connection server 1512 behaves like a virtual machine within global server 1500 and interacts with database 1516 through database server 1518 and with network interface card 1540 through the WebPhone API.
  • the basic function of connection server 1512 is to provide a one-to-one mapping between an identifier of a WebPhone client process, such as a E-mail address, and the current IP address, dynamic or fixed, associated with that WebPhone client process.
  • connection server 1512 compares the E-mail address with the values of the records contained in on-line table 1516 B and, if a match occurs with one of the records contained therein, transmits the value of the Internet Protocol address associated with that record to the requesting WebPhone client, i.e., a one-to-one matching between E-mail addresses and Internet Protocol addresses.
  • connection server 1512 a flow chart illustrating the basic process steps used by connection server 1512 to implement a one-to-one mapping of E-mail addresses to Internet Protocol addresses in accordance with the present invention is illustrated.
  • the coding of the process steps of the flowchart of FIG. 16A into instructions suitable to control global server 1500 will be understandable by those having ordinary skill in the art of programming.
  • Connection server 1512 remains in an idle state until a ⁇ CONNECT REQ> packet is transmitted from a WebPhone client to global server 1500 , as illustrated by decisional block 1610 of FIG. 16A .
  • connection server 1512 Upon receipt of the packet, connection server 1512 extracts the E-mail address from the packet and supplies the E-mail address to database server 1518 which them communicates using the ODBC standard with database 1516 to perform a search of On-line Table 1516 B, as illustrated by process blocks 1612 and 1614 .
  • Database 1516 performs a search of on-line Table 1516 B and supplies the current Internet Protocol address of the WebPhone client associated with the E-mail address to connection server 1512 , via database server 1518 .
  • connection server 1512 supplies the Internet protocol address to the requesting WebPhone client by transmitting a ⁇ CONNECT ACK> packet, as illustrated by decisional block 1616 and process block 1618 . If, however, there is no Internet Protocol address associated with the queried E-mail address or the WebPhone client is off line, connection server 1512 will send an ⁇ OFFLINE> packet to the WebPhone client, as illustrated by process block 1622 . Connection server 1512 will return to an idle state to await the receipt of another ⁇ CONNECT REQ> packet, as illustrated by FIG. 16A .
  • FIG. 16A A description of the above described packets as well as a diagram illustrating the packet transfer sequence between a WebPhone client and global server 1500 can be found with reference to Tabes 7-8 and FIG. 17A , respectively.
  • Information server 1514 provides an interface between requests from WebPhone client processes and database 1516 .
  • Information server 1514 includes code written to extract the search criteria from an ⁇ INFO REQ> packet and supply the search criteria to the database search engine of database 1516 using the ODBC standard.
  • FIG. 16B a flow chart illustrating the basic process steps used by information server 1514 in performing information/directory service functions in accordance with the present invention is illustrated. The coding of the process steps of the flow chart into instructions suitable for execution by global server 1500 will be understood by those having ordinary skill in the art of programming.
  • Information server 1514 remains idle until an ⁇ INFO REQ> packet is received from a WebPhone client process, as illustrated by decisional step 1630 .
  • information server 1514 extracts the data elements defined within the ⁇ INFO REQ> packet and supplies them to database server 1518 which, in turn, forward them to database 1516 , as represented by the process step 1634 and 1636 .
  • the search engine contained within database 1516 performs the search and supplies to information server 1514 all client records meeting the search criteria specified in the ⁇ INFO REQ> packet, or a message indicating that no records were found.
  • information server 1514 transmits a ⁇ INFO ACK> packet to the WebPhone client process indicating the number of records satisfying the search criteria, as indicated by process step 1638 .
  • the WebPhone client may wish to receive all records satisfying the search criteria, or, if the number is excessively large, may desire to further refine the search by transmitting a ⁇ INFO ABORT> packet to information server 1514 and defining new search parameters to be sent with a subsequent ⁇ INFO REQ> packet. If a ⁇ INFO ABORT> packet is received by information server 1514 , the process will return to an idle state, as illustrated by decisional block 1640 . If no ⁇ INFO ABORT> packet was received, information server 1514 will transmit one or more ⁇ INFO> packets to the requesting WebPhone client until all records have been received by the WebPhone client, as illustrated by process step 1642 .
  • Information server 1514 will return to an idle state awaiting another ⁇ INFO REQ> packet, as illustrated in FIG. 16B .
  • a description of the packets comprising the WebPhone protocol is illustrated in Tables 7-8 and a diagram illustrating the packet transfer sequence defined in FIG. 17A -B.
  • Network interface card 1540 interfaces with connection server 1512 , information 1514 , and database server 1518 using the WebPhone API definition, as described herein, and the Windows Sockets 1.1 Protocol, or, in a Unix-based operating system, Berkeley Sockets Network API.
  • Network interface card 1514 may comprise, in illustrative embodiment, an Ethernet card capable of transmitting data at rates of 100 Mbps or greater, such cards being commercially available through a number of different vendors.
  • the connection from CSU/DSU 1526 to ISP 1528 may comprise a T1 connection, i.e., a long-distance, digital, point-to-point communication circuit capable of transmitting a signal at 1.544 Mbps with 24 channels at 64 Kbps.
  • a T3 connection may be used, i.e., a connection is similar to a T1 connection except it is capable of transmitting at 44.746 Mbps per second with up to 28 T1 channels.
  • Other connections may be suitable, depending on specific requirements and availability.
  • Database 1516 of global server 1500 may be implemented with any of a number of commercially available structured query language (SQL) database engines, such as Oracle 7.x, Informix, or Microsoft SQL server 6.x.
  • SQL structured query language
  • the SQL database resides on a RAID 1 and RAID 5 mirrored disk array.
  • database 1516 interacts with control server 1512 and information server 1514 through database server 1518 .
  • database 1516 comprises a Client table 1516 A, an On-line table 1516 B, a WebBoard table 1516 C, a WebBoard configuration table 1516 D and a WebBoard Source table 1516 E.
  • Client table 1516 A comprises a plurality of records, each of which may have the fields and corresponding data elements as described in Table 1.
  • Each WebPhone user hereinafter “client,” has a separate record in table 1516 A containing the information defining the client's profile of personal information.
  • the “activated,” “paid,” and “published” fields are boolean yes/no fields.
  • the “id” field comprises a unique ID sequence identifying a particular WebPhone client.
  • the “activation date,” “address change date,” and “access date” fields are time references measured in seconds since 00:00 Coordinated Universal Time (UTC), Jan. 1, 1970.
  • IPAddr represents the Internet protocol address of the WebPhone client and, if unknown, has a default value of 0.0.0.0.
  • the database record containing a WebPhone client's profile is defined upon first logging-on to global server 1500 and may be updated each time a WebPhone user's profile changes, as explained hereinafter.
  • the On-line table 1516 B provides a dynamic list of those clients from 1516 A who are currently On-line, as well as their current Internet protocol address.
  • On-line Table 1516 B comprises a plurality of records each of which may have the fields and data types illustrated in Table 2.
  • the record entries of On-line table 1516 B are used by connection server 1512 and information server 1514 , as explained hereinafter, to provide a directory of those WebPhone client processes currently having on-line status with respect to the computer network.
  • the WebBoardTM is a virtual multimedia billboard which is transmitted as a series of multimedia data files to WebPhone client processes while the WebPhone application is activated.
  • An extensive description of the WebBoard utility and its operation can be found in copending U.S. patent application Ser. No. 08/719,891, filed Sep. 25, 1996, entitled Method and Apparatus for Distribution of Multimedia Data Over a Computer Network by Mattaway et al., commonly assigned, the subject matter of which is incorporated herein by reference.
  • WebBoard table 1516 C includes a plurality of records each describing a specific WebBoard and having the field and data types illustrated in Table 3.
  • the “id” field of Table 3 provides a unique identification number for the WebBoard file.
  • the “imageType” field defines the video format of the image such as JPEG,TIF, GIF, etc.
  • the “audio” field defines the nature of the audio file, e.g.
  • the “hits” field defines the number of times the WebBoard has been selected by WebPhone clients, while the “hits profile” field defines the file name of the file identifying those WebPhone clients generating hits to the subject WebBoard.
  • the WebBoard configuration table 1516 D may have at least one record having the fields and data types illustrated in Table 4.
  • the count field represents the number of WebBoard records currently in the table 1516 C.
  • the WebBoard source table 1516 E may comprise a plurality of records each having the fields and data types defined in Table 5.
  • the “URL” field of Table 5 defines a data link in accordance with Uniform Resource Locator protocol to the home page or Web site of the source.
  • any entity including vendors, advertisers, individuals or groups wishing to post information or having a Web site or home page may have a WebBoard displayable through the present invention.
  • Database server 1518 serves as the interface between database 1516 and connection server 1512 and information server 1514 .
  • connection server 1512 and information server 1514 communicate with database engine 1518 through application program interfaces embedded in the code implementation of both the connection server and the information server.
  • Database server 1518 communicates with database 1516 , in the illustrative embodiment, using the open database connectivity (ODBC) standard, developed by Microsoft Corporation, Redmond, Wash.
  • Database server 1518 functions to supply structured database queries to database 1516 and to supply the results therefrom to connection server 1514 and information server 1512 .
  • database server 1518 may be implemented as a “virtual machine” executing on global server 1500 , or, alternatively, may be implemented on a separate computer system such as a DEC Alpha 4100 Workstation executing DEC Unix operating system, both available from Digital Equipment Corporation, Maynard, Mass.
  • Database server 1518 communicates with network interface card 1518 using the WebPhone Application Program Interface described herein.
  • global server 1500 is implemented as a single server apparatus on which a plurality of “virtual machines” execute simultaneously.
  • a plurality of separate servers one dedicated to each of connection server 1512 , information server 1514 , and database server 1518 may be interconnected to database 1516 and to each other using a local area network, to form a composite “virtual” global server, as illustrated by FIG. 15B , the construction of the system illustrated in FIG. 15B being within the knowledge of those reasonably skilled in the art in light of the descriptions contained herein.
  • more than one global server 1500 may be utilized, as illustrated by FIG. 15C .
  • multiple global servers 1500 A-D are maintained for fault tolerant load sharing, each one performing the above-described connection server, information server and database server processes.
  • Each of global servers 1500 A-D are connected to the Internet via a separate T1 or T3 connection to different Internet service providers, and are synchronized with each other via database server replication.
  • multiple global servers may be located in close proximity or in geographically disparate locations.
  • the WebPhone application is provided with the network address information of each global server 1500 A-D. In the event that any one of the global servers initially contacted is nonresponsive the WebPhone application will attempt connection to one or more of the remaining global servers to obtain directory and information services.
  • the global server can provide the network address of another global server capable of servicing the WebPhone client's request or which is logically more convenient. This process may occur during the initial log-in of the WebPhone client process, as described with references to messages 1 - 5 of FIG. 17A .
  • the WebPhone application can rely on the secondary Internet Protocol technique in which a WebPhone client process sends its current dynamically assigned Internet Protocol address to a prospective WebPhone callee through an E-mail message, as described herein.
  • Tables 6-7 illustrate the packet definitions of the packets comprising the WebPhone protocol (WPP) including the packet type, the direction and the data elements comprising each packet.
  • WPP WebPhone protocol
  • Tables 8-9 define the data elements described in Tables 6-7.
  • the terms “ULONG” and “UNSIGNED LONG” designate an unsigned long integer value, i.e., 32-bit integer value.
  • the terms “USHORT” and “UNSIGNED SHORT” designate an unsigned short integer value, i.e., 16-bit integer value.
  • the term “CHAR” designates a single character, typically assuming a binary value of either 1 or 0.
  • the term “UNSIGNED CHAR” designates an 8-bit character code, i.e., no sign bit.
  • the term “variable” indicates a variable length data field.
  • FIG. 17A illustrates a schematic block diagram of a packet transfer sequence between a pair of WebPhone client processes and the global server, in accordance with the present invention.
  • Each WebPhone application also referred to as a WebPhone client process, connects to global server 1500 upon start up to inform global server 1500 that the WebPhone client process is on-line and available to make and/or receive calls.
  • WebPhone 1536 opens a socket to the global server 1500 and transmits an ⁇ ONLINE REQ> packet from WebPhone 1536 to Global server 1500 , as illustrated by message 1 and FIG. 17A .
  • the ⁇ ON LINE REQ> packet may have the format and data illustrated in Table 6, and additional Feature bits which define the functionality of the WebPhone application, as explained in greater detail hereinafter.
  • connection server 1512 and information server 1514 of global server 1500 use the information contained in the ⁇ ONLINE REQ> packet to update the status of database 1516 .
  • global server 1500 returns to the WebPhone 1536 a ⁇ USER INFO REQ> packet, as illustrated by message 2 of FIG. 17A .
  • the ⁇ USER INFO REQ> packet includes the elements as defined in Table 9.
  • WebPhone 1536 returns a ⁇ USER INFO> packet as illustrated by message 3 of FIG.
  • the ⁇ USER INFO> packet contains the data elements defined in Table 8.
  • Connection server 1512 and information server 1514 of global server 1500 utilize the data in the ⁇ USER INFO> packet to update database 1516 .
  • information server 1514 utilizes such data to create a record in client table 1516 A representing WebPhone 1536 .
  • global server 1500 transmits to WebPhone 1536 a ⁇ REGISTRATION> packet, as illustrated by message 4 of FIG. 17A .
  • the ⁇ REGISTRATION> packet contains the data described in Table 7 plus Feature bits, as described hereinafter.
  • the ⁇ REGISTRATION> packet returned to WebPhone 1536 enables certain functions within the WebPhone architecture based on predetermined criteria, for example, whether the user has paid for the product, or which version of the product the user possesses.
  • global server 1500 further transmits an ⁇ ONLINE ACK> packet, as illustrated by message 5 of FIG. 17A .
  • connection server 1514 updates database 1516 , specifically On-line table 1516 B to indicate that WebPhone 1536 is on-line with respect to the computer network.
  • WebPhone 1536 closes the socket to global server 1500 .
  • WebPhone 1538 interacts in a similar manner with global server 1500 to establish on-line status. No further interaction occurs between the respective WebPhone client processes and the global server unless the WebPhones require directory or search assistance about a prospective callee.
  • a WebPhone user knows the E-mail address of anothe. WebPhone user to which he/she wishes to establish a point-to-point communication, however, the current dynamically assigned Internet protocol address of the callee is unknown to the caller.
  • the user of WebPhone 1536 requests assistance from global server 1500 to obtain the current dynamically assigned Internet Protocol address of the prospective callee WebPhone.
  • the user of WebPhone 1536 specifies the callee by entering all or part of the callee party's name or alias in the party name field area of the graphic user interface.
  • WebPhone 1536 opens a socket to global server 1500 and transmits a ⁇ CONNECT REQ> packet having the format described in Table 6.
  • Connection server 1512 of global server 1500 utilizes the value of the E-mail address specified in the ⁇ CONNECT REQ> packet to perform a one-to-one mapping in the on-line table 1516 B to determine the current Internet Protocol address of the indicated callee, as illustrated by the flowchart of FIG. 15A .
  • the server 1500 transmits to WebPhone 1536 a ⁇ CONNECT ACK> packet, as indicated by message 7 A of FIG. 17A .
  • the ⁇ CONNECT ACK> packet has the format and content as illustrated in Table 6 and includes the IP address of the callee as well as information such as an error code to indicate that no WebPhone application is associated with that callee.
  • global server 1500 transmits to WebPhone 1536 an ⁇ OFF LINE> packet to indicate that the desired party is not on-line, as illustrated by message 7 B of FIG. 17A .
  • the socket to global server 1500 opened by WebPhone 1536 is closed.
  • the packet transmission sequence illustrated between WebPhones 1536 and 1538 of FIG. 17A transpires. Whether a calling WebPhone knows the Internet Protocol address of the callee WebPhone, as in the case of a fixed Internet Protocol address, or obtains the Internet Protocol address from global server 1500 , as previously described, the calling sequence to establish a call occurs as follows. WebPhone 1536 opens a socket to WebPhone 1538 . Next, WebPhone 1536 transmits to WebPhone 1538 a ⁇ CALL> packet as illustrated by message 8 of FIG. 16A .
  • the ⁇ CALL> packet has the format illustrated in Table 6 and may, optionally, include information identifying the compression/decompression (codec) used by the caller WebPhone.
  • WebPhone 1538 may return with a number of different packets, as illustrated by messages 9 A-D.
  • callee WebPhone 1538 may respond to caller WebPhone 1538 with a ⁇ REJECT> packet, as illustrated by message 9 A, indicating that the callee WebPhone does not wish to be disturbed, e.g. total call blocking, or, that the callee WebPhone does not wish to talk to caller WebPhone, e.g. party specific or group specific call blocking.
  • the user information contained within the ⁇ CALL> packet of message 9 A is compared by the caller WebPhone application to a predefined list of WebPhone user information profiles which the callee does not wish to converse, such list having been predefined by the callee in the WebPhone user's personal directory, as explained hereinafter.
  • the caller WebPhone Upon receiving the ⁇ REJECT> packet the caller WebPhone annunciates the result to the user and the socket to the callee WebPhone is closed.
  • callee WebPhone 1538 may return a ⁇ BUSY> packet, as illustrated by message 9 B of FIG. 17A .
  • the ⁇ BUSY> packet indicates that the callee WebPhone is currently utilizing all available lines within its WebPhone application.
  • a further possible response from callee WebPhone 1538 is to issue an ⁇ ANSWER MACH> packet, as illustrated by message 9 C of FIG. 17A .
  • the ⁇ ANSWER MACH> packet includes data indicating whether the machine is capable of receiving voice mail type messages, as described in greater detail in copending U.S. patent application Ser. No. 08/719,898, filed on Sep. 25, 1006, entitled “Method and Apparatus for Providing Caller Identification Based Out-Going Messages in a Computer Telephony Environment,” by Mattaway et al., commonly assigned and incorporated herein by reference.
  • the preferred response by callee WebPhone 1538 is to transmit a call acknowledge ⁇ CALL ACK> packet, as illustrated by message 9 D of FIG. 17A .
  • the ⁇ CALL ACK> packet has the data content illustrated in Table 6.
  • Both the ⁇ CALL> and ⁇ CALL ACK> packets contain the information of the WebPhone users sending the packet. This information is useful by the recipient of the packet for a number of purposes. For example, the user information is displayed on the enunciator area of the WebPhone graphic display to identify the party placing the call.
  • the user may select such information and, using the drag and drop functionality of the WebPhone graphic user interface, add the user information to the callee WebPhone user's personal directory resident within his/her specific WebPhone application.
  • both parties are completely identified to each other prior to commencing audio communications.
  • the transmission of complete caller identification information with the ⁇ CALL> and ⁇ CALL ACK> symbols packets enables such functions as individual or group specific call blocking, party specific outgoing messages, visual caller identification, and party specific priority ringing and sound effects, as explained herein.
  • the callee WebPhone Following transmission of ⁇ CALL ACK> packet by callee WebPhone 1538 , the callee WebPhone further transmits an ⁇ ANSWER> packet to caller WebPhone 1536 , as illustrated by message 10 of FIG. 17A .
  • the ⁇ ANSWER> packet is essentially empty, containing nothing more than a session ID number which is unique to the call.
  • the socket previously opened by caller WebPhone 1536 over which the forgoing packets were transmitted remains open for the transmission of control information between caller WebPhone 1536 and callee WebPhone 1538 .
  • Such control information may comprise an ⁇ END> packet signaling the end of a call, a ⁇ HOLD> packet indicating that one of the parties to a call has placed the call “on hold” or other packets related to advance functionality of the WebPhone architecture.
  • caller WebPhone 1536 opens a second socket to callee WebPhone 1538 over which the respective WebPhones may exchange ⁇ AUDIO> packets, as illustrated by messages 11 A-B of FIG. 17A .
  • the ⁇ AUDIO> packets have the data content illustrated in Table 6.
  • the WebPhone application enables the parties to converse in real-time, telephone quality, encrypted audio communication over the Internet and other TCP/IP based networks.
  • both WebPhone client processes are utilized with full duplex sound cards, such as that illustrated in FIG. 12 , the WebPhone users may transmit and receive audio packets simultaneously, similar to normal telephone conversation. However, if the WebPhone client processes are used with half duplex sound cards, a WebPhone user may only transmit or receive audio data simultaneously, similar to a speaker phone. Exchange of ⁇ AUDIO> packets continues until either the callee WebPhone or the caller WebPhone transmits an ⁇ END> packet, as illustrated by message 12 of FIG. 16A . Following the receipt of an end packet, the WebPhone client process will cease to accept subsequent audio packets.
  • the socket opened by the caller WebPhone to the callee WebPhone over which real-time audio communication occurred is closed.
  • the previously opened socket over which control information was transmitted between the callee and caller WebPhones is likewise closed.
  • information server 1514 may be utilized as described.
  • the WebPhone user defines One or more of the first name, last name, company, city, state, or country values of the Query field contained within the ⁇ INFO REQ> packet sends the packet to the global server.
  • WebPhone 1536 opens a socket to global server 1500 and forwards ⁇ INFO REQ> packet to global server 1500 , as illustrated by message 1 of FIG. 17B .
  • Information server 1514 extracts the values specified the query field of the ⁇ INFO REQ> packet and queries the database 1516 , as previously described with reference to FIG.
  • Global server 1500 then transmits a ⁇ INFO ACK> packet back to WebPhone 1536 , as illustrated by message 2 of FIG. 17B .
  • the ⁇ INFO ACK> packet has the format and data elements indicated in Table 7, including the number of parties satisfying the search criteria, specified in the ⁇ INFO REQ> packet. If the user of WebPhone 1536 wishes to receive the number of parties satisfying the search criteria global server 1500 automatically transmits to WebPhone 1536 one or more ⁇ INFO> packets, as illustrated by messages 3 A-C of FIG. 17B .
  • the ⁇ INFO> packet has the format and data elements as described in Tables 6-7.
  • WebPhone 1536 may transmit an ⁇ INFO ABORT> packet to either prevent transmission of any ⁇ INFO> packets or to stop transmission of any remaining packets, as illustrated by message 4 of FIG. 17B .
  • the ⁇ INFO ABORT> packet has the format and data elements as described in Table 6-7.
  • the user may store such information in his/her personal WebPhone directory by dragging and dropping the information from the annunciator area to the direction dialog box using the WebPhone GUI.
  • the methods and apparatus described herein provide computer users with a powerful protocol in which to directly establish real-time, point-to-point communications over computer networks directly without server required linking.
  • the a directory server assists in furnishing the current dynamically assigned internet protocol address of other similarly equipped computer users or information about such users.
  • the WebPhone application may respond in a manner unique to the party calling the WebPhone user.
  • a ⁇ CALL> packet transmitted from WebPhone 1536 contains an information profile useful in identifying the caller.
  • the profile includes all the information illustrated in the userInfo field illustrated in Table 8.
  • the WebPhone application is designed to extract the userInfo information for caller identification purposes. This functionality is achieved by comparing the information profile of the caller against one or more previously defined information profiles resident within the personal directory of the WebPhone callee.
  • Table 11 illustrates the content of an exemplary information profile in a WebPhone users personal directory.
  • the information profile includes all of the information contained within the userInfo field of a ⁇ CALL> packet.
  • each information profile within the personal directory includes a Status field, an Action field, a File Name field, and a File Type field, all of which are user definable.
  • the Status field may be implemented with an unsigned long integer and may comprise a bit pattern defining the status of the WebPhone application, i.e., whether or not a specific function such as Do Not Disturb or Answer Machine is activated.
  • the Action field may also be implemented with an unsigned long integer and defines the desired responsive action, typically implemented with a code, to the status of the WebPhone application. For example, if the Status field indicates that the Answering Machine is on, the Action field may indicate that if the relevant information profile as matched, the answering machine should respond by playing an audio file indicated in the File Name field.
  • the File Name field is a descriptor of a file and may be implemented with a variable length character field.
  • the File Type field is similar to that illustrated in Table 9 and defines the nature of the file defined in the File Name field, for example, data, e-mail, text or binary type data.
  • the fileType field may further define, with a subfield portion thereof, specific data types.
  • the subfield may further designate a.wav file, indicating an audio file, or a.bmp file, indicating a bit map file.
  • a WebPhone personal information directory 1800 includes one or more information profiles 1810 - 1816 .
  • Each information profile includes one or more Response files A,B, . . . N.
  • Each response file contains a Status field, Action field, File Name field and File type field, as described with reference to Table 11.
  • the File Name field within the respective response files act as references to files outside personal information directory 1800 , but typically, within the virtual memory of the system upon which the WebPhone application is currently executing.
  • response file 1810 A of information profile 1810 references file 1820 which may be an *.wav file containing a personalized outgoing message which response file 1810 A commands should be played when the Answering Machine function of the WebPhone is activated, and, the user information in an incoming ⁇ CALL> packet matches the user information contained in information profile 1810 .
  • Response file 1810 B references file 1822 which may be a bitmap file. For example, if the information contained in the incoming ⁇ CALL> packet matches the information in information profile 1810 and the status of the WebPhone, for example normal status, matches Response file 1810 B, the WebPhone will display a bitmap image on the computer display to notify the user of an incoming call.
  • Response file 1810 B may include a reference to an audio file 1824 similar to .wav file 1820 .
  • the receipt of an incoming ⁇ CALL> packet which matches information profile 1810 will cause a bitmap image, for example, of the caller to be displayed on the screen as well as a .wav file which may be, for example, an audio file of the callee voice, or, a generic operators voice announcing the party.
  • Information profiles 1812 - 1816 are constructed similar to information profile 1810 and likewise reference, through their respective Response files, data files outside personal information directory 1800 .
  • the Response files when utilized by the WebPhone architecture may be capable of performing other activities such as activating a mobile pager, or, where the file contains a series of executable instructions, may be utilized to perform various activities on the system such as automatically opening up an appointment book or calendar application or forwarding a call according to a predefined schedule, all upon occurrence of an incoming ⁇ CALL> packet from a specific individual.
  • the above-described utility may be used to generate any type of caller identification based specific response activities such as group or party specific outgoing messages, group or party specific audio and/or video announcements of incoming calls, group or party specific call acceptance/blocking, call forwarding automatic application execution, etc.
  • FIG. 19 a flowchart illustrating the process steps executed by the WebPhone application in performing a caller identification based activity are illustrated.
  • the coding of the process steps of the flowchart into instructions suitable for execution by the WebPhone application will be understood by those having ordinary skill in the programming arts.
  • the WebPhone application remains idle or attends to other tasks unrelated to the immediate process until a ⁇ CALL> packet is received, as illustrated by decision of block 1900 .
  • the WebPhone determines the current status of the WebPhone, e.g. whether any specific functions are active, as illustrated by process block 1904 .
  • the WebPhone then extracts the userInfo data from the ⁇ CALL> packet and stores the information in a temporary data structure, as illustrated by procedural block 1905 .
  • the WebPhone compares the information extracted from the ⁇ CALL> packet with the information profiles contained in the personal directory, as illustrated by procedural block 1906 .
  • the WebPhone determines whether any of the Response files associated with the information profile match the current status of the phone. If a match occurs, as illustrated by decisional block 1908 and procedural block 1910 , the WebPhone will resolve any references to files contained within the matched Response file and will perform the designated activity, as illustrated by procedural 1914 .
  • Such activities may comprise playing a personalized outgoing message, rejecting the call of a specific party, displaying a bit map or a customized audio file to announce the incoming call, etc. as described hereinafter.
  • the WebPhone will generate any responsive packets associated with the caller identified response, such as generation of an ⁇ ANS MACHINE> packet in the event the answering machine functionality is activated, or transmitting a ⁇ REJECT> packet, in the event the callers communications are to be rejected. It will be obvious to those reasonably skilled in the arts that other packets such as a ⁇ CALL ACK> packet may likewise be transmitted to the caller WebPhone process.
  • the previously described protocol, personal information directory structure, and described process provide a powerful mechanism in which to personally customize the response of a communications utility application depending on the source generating an incoming communication over a computer network. Specific examples of how this functionality may be utilized to generate caller identification based outgoing messages, priority notifications, and acceptance/rejection of calls are described hereinafter.
  • WebPhone 1536 opens a socket to WebPhone 1538 .
  • WebPhone 1536 transmits to WebPhone 1538 a ⁇ CALL> packet as illustrated by message 8 of FIG. 17A .
  • WebPhone 1538 may return with a number of different packets, as illustrated by messages 9 A-D of FIG. 17A .
  • callee WebPhone 1538 is to issue an ⁇ ANS MACHINE> packet, as illustrated by message 9 C of FIG. 17A .
  • the ⁇ ANSWER MACH> packet includes data indicating whether the machine is capable of receiving voice mail type messages.
  • caller WebPhone 1536 transmits to WebPhone 1538 a ⁇ CALL> packet, as illustrated by message 1 of FIG. 20 .
  • WebPhone 1538 returns an ⁇ ANS MACHINE> packet as follows, as illustrated by message 2 of FIG. 20 .
  • the ⁇ ANSWER MACH> packet has the format and data illustrated in Table 6.
  • callee WebPhone 1538 transmits to caller WebPhone 1536 one or more audio packet containing the ⁇ AUDIO> data comprising the answering machine message, as illustrated by message 3 A-B of FIG. 20 .
  • the ⁇ AUDIO> packet has the format and data elements as illustrated in Table 6, including 512 bytes of audio data comprising the audioData field, similar to ⁇ AUDIO> packets comprising a real-time conversation between respective WebPhones, as illustrated by messages 11 A-B of FIG. 17A .
  • WebPhone 1538 transmits an ⁇ OGM END> packet indicting the end of the outgoing message from the answering machine, as illustrated by message 4 of FIG. 20 .
  • the ⁇ OGM END> packet has the format and data elements illustrated in Table 7.
  • WebPhone 1538 may further transmit a ⁇ ANS FULL> packet indicating that the answering machine portion of WebPhone 1538 is full and incapable of receiving further audio voicemail messages, as illustrated by message 5 of FIG. 20 .
  • the ⁇ ANS FULL> packet has the format and data elements as illustrated in Table 7. Not all WebPhone applications have the ability to receive audio voicemail messages.
  • the State field of the ⁇ ANS MACHINE> packet defines whether or not the WebPhone answering machine is capable of receiving incoming voicemail messages.
  • WebPhone 1536 will transmit an ⁇ AUDIO START> packet to WebPhone 1538 , as illustrated in message 6 of FIG. 20 .
  • WebPhone 1536 will then transmit to WebPhone 1538 one or more ⁇ AUDIO> packets comprising the voicemail message, as illustrated by messages 7 A-B of FIG. 20 .
  • WebPhone 1536 will transmit an ⁇ AUDIO END> packet to WebPhone 1538 symbolizing the end of the voicemail message, as illustrated by message 8 of FIG. 20 .
  • the above-described communications protocol enables WebPhone processes to exchange both prerecorded outgoing messages and receive responsive voicemail messages when a WebPhone user has selected his WebPhone be routed to the answering machine functionality contain therein.
  • the outgoing message from the callee WebPhone may be specifically selected or tailored to individual caller WebPhones for either party specific or group specific outgoing messages.
  • the WebPhone will utilize the value of a specific outgoing message file associated with the information profile and the appropriate response file in the personal directory to determine what outgoing message should be transmitted back to the caller WebPhone.
  • a WebPhone user may have recorded a generic message stating that the user is currently unavailable such message serving as the default outgoing message which will be received by the general calling public.
  • the user may specify an individually tailored outgoing message containing personal and/or private information.
  • the WebPhone architecture enables a WebPhone user to record a specific outgoing message and associate the message with one or more entries in the WebPhone user's personal directory. Alternatively, each entry in the directory may be associated with a default outgoing message. It will be obvious to those reasonably skilled in art that the number of individual outgoing messages and the length thereof a obvious choice of the system designer, and is typically based on the amount of memory available in the system.
  • the media player functionality contained within the WebPhone apparatus which is used to record specific outgoing messages is commercially available within the WebPhone application itself, from NetSpeak Corporation, Boca Raton, Fla. Accordingly, a description of either the graphic user interface or the underlying functionality utilized to record specific outgoing messages will not be described hereinafter.
  • WebPhone 1538 may respond to a ⁇ CALL> packet from WebPhone 1536 with a ⁇ REJECT> packet.
  • the determination of which calls to reject can be performed unconditionally by activating the Do Not Disturb function of the WebPhone architecture or can be done selectively utilizing the previously described caller identification based response method described with reference to FIGS. 18-19 .
  • a WebPhone user may designate in the response file associated with a specific information profile whether to override the Do Not Disturb functionality, i.e. party specific call acceptance, or whether to specifically reject communications from a matched information profile when the Do Not Disturb functionality is inactive, i.e. group or party specific call blocking.
  • the WebPhone application as commercially available, provides a sophisticated graphic user interface which allows for intuitive easy selection of parties to be either accepted or rejected, and for recordation of messages to be associated therewith.
  • the previously described protocol and information directory may be utilized to customize audio and or graphic announcements of incoming calls.
  • the user information contained therein is compared with the information profiles contained in the WebPhone personal information directory. If the userInfo in the packet matches one of the information profiles, and the state of one of the Response files matches the current state of the WebPhone architecture, the appropriate activity may be executed such as generating a special audio wave, such as the callers voice, and displaying a bit map of the callers image, as previously described. Any number unique audio waves may be recorded or graphic images displayed, including but not limited to execution of MIDI files or software or motion video files, to announce an incoming call.
  • the invention may be implemented as a computer program product for use with a computer system.
  • Such implementation may comprise a series of computer instructions either fixed on a tangible medium, such as a computer readable media, e.g. diskette 1142 , CD-ROM 1147 , ROM 1115 , or fixed disk 1152 of FIG. 11 , or transmittable to a computer system, via a modem or other interface device, such as communications adapter 1190 connected to the network 1195 over a medium 1191 .
  • Medium 1191 can be either a tangible medium, including but not limited to optical or analog communications lines, or may be implemented with wireless techniques, including but not limited to microwave, infrared or other transmission techniques.
  • the series of computer instructions embodies all or part of the functionality previously described herein with respect to the invention.
  • Those skilled in the art will appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Further, such instructions may be stored using any memory technology, present or future, including, but not limited to, semiconductor, magnetic, optical or other memory devices, or transmitted using any communications technology, present or future, including but not limited to optical, infrared, microwave, or other transmission technologies.
  • Such a computer program product may be distributed as a removable media with accompanying printed or electronic documentation, e.g., shrink wrapped software, preloaded with a computer system, e.g., on system ROM or fixed disk, or distributed from a server or electronic bulletin board over a network, e.g., the Internet or World Wide Web.
  • printed or electronic documentation e.g., shrink wrapped software
  • WPP_CONNECTREQ ⁇ WPP_CONNECTREQ
  • sid version, emailAddr, IPAddr, onlineState, feature bits OnlineACK WPP ONLINEACK WPP_ONLINEACK, sid onlineStatus, feature bits Offline WPP_OFFLINE WPP_OFFLINE, sid Hello WPP_HELLO WPP_HELLO, sid, version Connect Req WPP_CONNECTREQ ⁇ WPP_CONNECTREQ, sid, version, callType, partyEmailAddr, emailAddr, IPAddr, connectState Connect ACK WPP_CONNECTACK WPP_CONNECTACK, sid, connectStatus, partyIPaddr Call WPP_CALL WPP CALL sid, version, emailAddr, IPAddr, userInfo CallACK WPP_CALLACK WPP_CALLACK, si
  • WPP_FILEXMTACK Packet Packet Type Direction Data FileXmtAck WPP_FILEXMTACK WPP_FILEXMTACK, sid File WPP_FILE WPP_FILE, sid, length, fileData FileXmtEnd WPP_FILEXMTEND WPP_FILEXMTEND, sid FileXmtAbort WPP_FILEXMTABORT WPP_FILEXMTABORT, sid InfoReq WPP_INFOREQ ⁇ WPP_INFOREQ, sid, query InfoACK WPP_INFOACK WPP_INFOACK, sid, nparties Info WPP_INFO WPP_INFO, sid, partyInfo InfoAbort WPP_INFOABORT ⁇ WPP_INFOABORT, sid UserInfoReq WPP_USRINFOREQ WPP_USRINFOREQ, sid UserInfo WPP_USRINFO ⁇ WPP_USRINFO, sid, version, userInfo WBImage
  • SessionID 4 Unique value for duration of this connection +5 Version 6 WebPhone version and distributor stamp +11 Codec 1 Audio compression algorithm selected +12 FirstName 10 Given name, middle initial +22 LastName 25 Surname +47 Alias 20 Nickname +67 EmailAddr 90 Caller's electronic mail address +157 IpAddr 80 Caller's WebPhone's Internet address +237 Street 50 Street address of user +287 Apt 20 Apartment or suite number +307 City 20 City name +327 State 20 State or province +347 Country 20 Country name +367 ZipCode 20 Zip or postal code +387 Phone 25 Telephone number +412 Fax 25 Facsimile telephone number +437 Company 25 Employer or organization name +487 File Name 25 Name of file +512 Action Code 25 Action descriptor +537 File Type 10 File type descriptor +547 Status 25 Status of WebPhone utility

Abstract

A utility for enabling real-time, point-to-point communications over computer networks between users having dynamically assigned Internet Protocol addresses includes the ability to identify incoming communications, and, based on the identity of the incoming communication, selectively responding. In one embodiment, an information profile contained within an incoming signal is compared to a plurality of information profiles contained within the personal directory of a user, and if a match occurs, the notification signal associated with the matched profile is generated. In an alternative embodiment, the information profile contained within the incoming communication includes an identifier of a notification signal which is used to select from a number of predefined notification signals resident within the user's private directory.

Description

    RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 08/719,639, filed on Sep. 25, 1996, which is a continuation-in-part of U.S. patent application Ser. No. 08/533,115 entitled Point-to-Point Internet Protocol, by Glenn W. Hutton, filed Sep. 25, 1995, which claims priority to U.S. provisional patent application 60/025,415 entitled Internet Telephony Apparatus and Method by Mattaway et al., filed Sep. 4, 1996, and U.S. provisional patent application Ser. No. 60/024,251 entitled System and Methods for Point-To-Point Communications Over a Computer Network, by Mattaway et al., filed Aug. 21, 1996. The subject matter of those applications are incorporated herein by reference.
  • In addition, this application is one of a number of related applications filed on Sep. 25, 1996 and commonly assigned, the subject matters of which are incorporated herein by reference, including the following:
  • U.S. patent application Ser. No. 08/719,894, now U.S. Pat. No. 6,185,184, entitled Directory Server For Providing Dynamically Assigned Network Protocol Addresess, by Mattaway et al.;
  • U.S. patent application Ser. No. 08/721,316, now U.S. Pat. No. 6,009,469, entitled Graphic User Interface For Internet Telephony Application by Mattaway et al.;
  • U.S. patent application Ser. No. 08/719,554, now U.S. Pat. No. 6,131,121, entitled Point-to-point Computer Network Communication Utility Utilizing Dynamically Assigned Network Protocol Addresses, by Mattaway et al.;
  • U.S. patent application Ser. No. 08/719,640, now U.S. Pat. No. 6,226,678, entitled Method And Apparatus For Dynamically Defining Data Communication Utilities, by Mattaway et al.;
  • U.S. patent application Ser. No. 08/719,891, entitled Method And Apparatus For Distribution And Presentation Of Multimedia Data Over A Computer Network, by Mattaway et al.;
  • U.S. patent application Ser. No. 08/719,898, entitled Method And Apparatus For Providing Caller Identification Based Out-going Messages In A Computer Telephony Environment, by Mattaway et al.; and
  • U.S. patent application Ser. No. 08/718,911, now abandoned, entitled Method And Apparatus For Providing Caller Identification Based Call Blocking In A Computer Telephony Environment, by Mattaway et al.
  • FIELD OF THE INVENTION
  • The present invention relates, in general, to data processing systems, and more specifically, to a method and apparatus for facilitating communications over a computer networks.
  • BACKGROUND OF THE INVENTION
  • The increased popularity of on-line services such as AMERICA ONLINE™, COMPUSERVE®, and other services such as Internet gateways have spurred applications to provide multimedia, including video and voice clips, to online users. An example of an online voice clip application is VOICE E-MAIL FOR WINCIM and VOICE E-MAIL FOR AMERICA ONLINE™, available from Bonzi Software, as described in “Simple Utilities Send Voice E-Mail Online”, MULTIMEDIA WORLD, VOL. 2, NO. 9, August 1995, p. 52. Using such Voice E-Mail software, a user may create an audio message to be sent to a predetermined E-mail address specified by the user.
  • Generally, devices interfacing to the Internet and other online services may communicate with each other upon establishing respective device addresses. One type of device address is the Internet Protocol (IP) address, which acts as a pointer to the device associated with the IP address. A typical device may have a Serial Line Internet Protocol or Point-to-Point Protocol (SLIP/PPP) account with a permanent IP address for receiving E-mail, voicemail, and the like over the Internet. E-mail and voicemail is generally intended to convey text, audio, etc., with any routing information such as an IP address and routing headers generally being considered an artifact of the communication, or even gibberish to the recipient.
  • Devices such as a host computer or server of a company may include multiple modems for connection of users to the Internet, with a temporary IP address allocated to each user. For example, the host computer may have a general IP address “XXX.XXX.XXX,” and each user may be allocated a successive IP address of XXX.XXX.XXX.10, XXX.XXX.XXX.11, XXX.XXX.XXX.12, etc. Such temporary IP addresses may be reassigned or recycled to the users, for example, as each user is successively connected to an outside party. For example, a host computer of a company may support a maximum of 254 IP addresses which are pooled and shared between devices connected to the host computer.
  • Permanent IP addresses of users and devices accessing the Internet readily support point-to-point communications of voice and video signals over the Internet. For example, real-time video teleconferencing has been implemented using dedicated IP addresses and mechanisms known as reflectors. Due to the dynamic nature of temporary IP addresses of some devices accessing the Internet, point-to-point communications in real-time of voice and video have been generally difficult to attain.
  • The ability to locate a user having a temporary or dynamically assigned Internet Protocol address has been difficult without the user manually initiating the communication. Accordingly, spontaneous, real-time communications with such users over computer networks have been impractical. Further, it is desirable to identify the source of an incoming communication and notify the user in a selective manner as determined by the identity of the communication source. For example, party or group specific notifications may include generating an audio signal or ringing tone which varies depending on the identity of the incoming call, or, generating a graphic image or activating a haptic sensor, such as a vibrator on a mobile pager, in response to the identity of the user.
  • Accordingly, a need exists for a way in which to locate computer users having dynamically assigned Internet Protocol addresses so they may be accessible for point-to-point communications over computer networks.
  • A further need exists for a way in which to identify the source of an incoming communication over a computer network.
  • An even further need exists for the ability to selectively respond to an incoming communication over a computer network by providing different notification signals to the user based on the source of the incoming communication.
  • SUMMARY OF THE INVENTION
  • The above deficiencies in the prior art and the previously described needs are fulfilled by the present invention which provides, in one embodiment, a utility for generating and receiving point-to-point communications over a computer network between users having dynamically assigned Internet Protocol addresses. The communication utility includes the ability to identify incoming communications, and, based on the identity of the communication source, selectively responding.
  • According to one embodiment of the present invention, a computer program product for use with a computer system operatively coupled to a computer network comprises a computer usable medium having program code means for receiving an incoming communication, the incoming communication including an information profile identifying the source, and, program code means for selectively responding to the incoming communication in accordance with the identity of the source of the communication. The program code means further comprises means for comparing the information profile contained within the incoming communication with a plurality of information profiles and generating a notification signal associated with one of the plurality of information profiles if a match occurs. The notification signal may be an audio signal, graphic image, or haptic sensor type signal.
  • According to another embodiment of the present invention, a method of selectively notifying a user of an incoming communication comprises the steps of receiving an information profile identifying the source of the incoming communication and selectively notifying the user of the incoming communication. The information profile is compared with a plurality of predetermined information profiles and, if a match occurs, a notification signal associated with the matched information profile is generated. In an alternative embodiment, the information profile associated with the incoming communication contains an identifier of a notification signal which is indexed into a plurality of predetermined notification signals, if a match occurs.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above-described features and advantages of the invention will become more readily apparent and may be better understood by referring to the following detailed description of an illustrative embodiment of the invention, taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates, in block diagram format, a system for the disclosed point-to-point Internet protocol;
  • FIG. 2 illustrates, in block diagram format, the system using a secondary point-to-point Internet protocol;
  • FIG. 3 illustrates, in block diagram format, the system of FIGS. 1-2 with the point-to-point Internet protocol established;
  • FIG. 4 is another block diagram of the system of FIGS. 1-2 with audio communications being conducted;
  • FIG. 5 illustrates a display screen for a processing unit;
  • FIG. 6 illustrates another display screen for a processing unit;
  • FIG. 7 illustrates a flowchart of the initiation of the point-to-point Internet protocols;
  • FIG. 8 illustrates a flowchart of the performance of the primary point-to-point Internet protocols;
  • FIG. 9 illustrates a flowchart of the performance of the secondary point-to-point Internet protocol;
  • FIG. 10 illustrates schematically a computer network over which the present invention may be utilized;
  • FIG. 11 is a block diagram of a computer system suitable for use with the present invention;
  • FIG. 12 is a block diagram of an audio processing card suitable for use with the computer system of FIG. 10;
  • FIGS. 13A-B are schematic block diagrams of the elements comprising the inventive computer network telephony utility of the present invention;
  • FIG. 14 is a screen capture illustrating an exemplary user interface of the present invention;
  • FIGS. 15A-C are schematic block diagrams illustrating the architecture of the global server apparatus of the present invention;
  • FIG. 16A is a flowchart illustrating the process steps performed by the connection server in accordance with the present invention;
  • FIG. 16B is a flowchart illustrating the process steps performed by the information server in accordance with the present invention;
  • FIGS. 17A-B are schematic diagrams illustrating of the packet transfer sequence in accordance with the communication protocol of the present invention;
  • FIG. 18 is a schematic conceptual diagram of the personal information directory of a client process in accordance with the present invention; and
  • FIG. 20 is a flowchart illustrating the process steps performed by the communication utility in accordance with the present invention.
  • DETAILED DESCRIPTION
  • Referring now in specific detail to the drawings, with like reference numerals identifying similar or identical elements, as shown in FIG. 1, the present disclosure describes a point-to-point network protocol and system 10 for using such a protocol. In an exemplary embodiment, the system 10 includes a first processing unit 12 for sending at least a voice signal from a first user to a second user. The first processing unit 12 includes a processor 14, a memory 16, an input device 18, and an output device 20. The output device 20 includes at least one modem capable of, for example, 14.4 Kilobit-per-second communications and operatively connected via wired and/or wireless communication connections to the Internet or other computer networks such as an Intranet, i.e., a private computer network. One skilled in the art would understand that the input device 18 may be implemented at least in part by the modem of the output device 20 to allow input signals from the communication connections to be received. The second processing unit 22 may have a processor, memory, and input and output devices, including at least one modem and associated communication connections, as described above for the first processing unit 12. In an exemplary embodiment, each of the processing units 12, 22 may execute the WEBPHONE® Internet telephony application available from NetSpeak Corporation, Boca Raton, Fla., which is capable of performing the disclosed point-to-point Internet protocol and system 10, as described herein.
  • The first processing unit 12 and the second processing unit 22 are operatively connected to the Internet 24 by communication devices and software known in the art, such as an Internet Service Provider (ISP) or an Internet gateway. The processing units 12, 22 may be operatively interconnected through the Internet 24 to a connection server 26, and may also be operatively connected to a mail server 28 associated with the Internet 24.
  • The connection server 26 includes a processor 30, a timer 32 for generating time stamps, and a memory such as a database 34 for storing, for example, E-mail and Internet Protocol (IP) addresses of logged-in units. In an exemplary embodiment, the connection server 26 may be a SPARC 5 server or a SPARC 20 server, available from SUN MICROSYSTEMS, INC., Mountain View, Calif., having a central processing unit (CPU) as processor 30, an operating system (OS) such as UNIX, for providing timing operations such as maintaining the timer 32, a hard drive or fixed drive, as well as dynamic random access memory (DRAM) for storing the database 34, and a keyboard and display and/or other input and output devices (not shown in FIG. 1). The database 34 may be an SQL database available from ORACLE or INFORMIX.
  • In an exemplary embodiment, the mail server 28 may be implemented with a Post Office Protocol (POP) Version 3 mail server and the Simple Mail Transfer Protocol (SMTP), including a processor, memory, and stored programs operating in a UNIX environment, or, alternatively, another OS, to process E-mail capabilities between processing units and devices over the Internet 24.
  • In the illustrative embodiment, the POP protocol is utilized to retrieve E-mail messages from mail server 28 while the SMTP protocol is used to submit E-mail message to Internet 24.
  • The first processing unit 12 may operate the disclosed point-to-point Internet protocol by a computer program described hereinbelow in conjunction with FIG. 6, which may be implemented from compiled and/or interpreted source code in the C++ programming language and which may be downloaded to the first processing unit 12 from an external computer. The operating computer program may be stored in the memory 16, which may include about 8 MB RAM and/or a hard or fixed drive having about 8 MB of available memory. Alternatively, the source code may be implemented in the first processing unit 12 as firmware, as an erasable read only memory (EPROM), etc. It is understood that one skilled in the art would be able to use programming languages other than C++ to implement the disclosed point-to-point network protocol and system 10.
  • The processor 14 receives input commands and data from a first user associated with the first processing unit 12 though the input device 18, which may be an input port connected by a wired, optical, or a wireless connection for electromagnetic transmissions, or alternatively may be transferable storage media, such as floppy disks, magnetic tapes, compact disks, or other storage media including the input data from the first user.
  • The input device 18 may include a user interface (not shown) having, for example, at least one button actuated by the user to input commands to select from a plurality of operating modes to operate the first processing unit 12. In alternative embodiments, the input device 18 may include a keyboard, a mouse, a touch screen, and/or a data reading device such as a disk drive for receiving the input data from input data files stored in storage media such as a floppy disk or, for example, an 8 mm storage tape. The input device 18 may alternatively include connections to other computer systems to receive the input commands and data therefrom.
  • The first processing unit 12 may include a visual interface for use in conjunction with the input device 18 and output device 20 similar to those screens illustrated in FIGS. 5-6, discussed below. It is also understood that alternative devices may be used to receive commands and data from the user, such as keyboards, mouse devices, and graphical user interfaces (GUI) such as WINDOWS™ 3.1 available form MICROSOFT Corporation, Redmond, Wash., and other operating systems and GUIs, such as OS2 and OS/2 WARP, available from IBM CORPORATION, Boca Raton, Fla. Processing unit 12 may also include microphones and/or telephone handsets for receiving audio voice data and commands, speech or voice recognition devices, dual tone multi-frequency (DTMF) based devices, and/or software known in the art to accept voice data and commands and to operate the first processing unit 12.
  • 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 20.
  • For clarity of explanation, the illustrative embodiment of the disclosed point-to-point Internet protocol and system 10 is presented as having individual functional blocks, which may include functional blocks labeled as “processor” and “processing unit”. The functions represented by these blocks may be provided through the use of either shared or 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 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 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 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 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 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 callee 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 an Internet 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 an Internet 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 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 NTH stored number, which may be labeled [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 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 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 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, unreachable, 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 <ConnectReq> message via E-mail over the Internet 24 to the mail server 28. The E-mail including the <ConnectReq> message may have, for example, the subject
    [*wp#XXXXXXXX#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 communication with the second user.
  • The following E-mail messages are transmitted to a remote users post office protocol server via simple mail transport protocol using MIME by the event manager, as explained hereinafter.
    <ConnectRequest>
    <CampRequest>
    <VoiceMail>
    <FileTransfer>
    <E-mail>
  • The following E-mail messages are received from a local WebPhone users POP server via the POP protocol using MIME by the event manager, as explained hereinafter.
    <Connect Request>
    <Camp Request>
    <Voice Mail>
    <File Transfer>
    <E-mail>
    <Registration>
  • As described above, the first processing unit 12 may send the <ConnectReq> 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 <ConnectReq> 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 labeled RING.WAV, which is processed by the output device 20 to output an audible ringing sound.
  • Second processing unit 22 polls mail server 28 at an interval, for example, once a minute, to check for incoming E-mail. Generally, second processing unit 22 checks the messages stored on mail server 28 at regular intervals to wait for and detect incoming E-mail indicating a <CONNECT REQ> message from first processing unit 12.
  • Typically, for sending E-mail to user's 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 Internet 24 and directed to the permanent IP address of the mail server providing the target user's mail services. The E-mail is transported by a standard protocol, for example, SMTP, and stored into memory (not shown in FIG. 1) associated with mail server 28.
  • The E-mail may subsequently be retrieved by processing unit 22 on behalf of the user with another standard protocol, for example POP 3. The actual IP address utilized by the user's processing unit is immaterial to the retrieval of E-mail, as the mail server 28 can, for example, be polled or queried from any point on the network.
  • Upon 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.
  • Real-time 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 (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 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-to-point 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 <ConnectOK> 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 <ConnectReq> 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 <ConnectOK> signal.
  • 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 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 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 C2; a current 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 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 lamps or 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 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, as 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.
  • 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 40.
  • 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 screen 36 by the output device of the processing unit. Icon 52 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” 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-to-point 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 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 receiving, at the first processing unit 12, the IP address of the callee if the 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 connection server 26 is not operable.
  • Referring to FIG. 8, in conjunction with FIGS. 1 and 3-4, the disclosed point-to-point Internet protocol and system 10 are illustrated. Connection server 26 starts the primary 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 logged-in 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 extracts the session number and the first IP address from the E-mail signal in step 82 and transmits or sends the session number and a 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 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.
  • The primary and secondary point-to-point Internet protocols previously described enable users to establish real-time direct communication links over the Internet or other computer networks without the need for any interaction with connection server 26, the connection server providing only directory and information related services.
  • FIG. 10 illustrates an exemplary computer network 1000 over which the invention may operate. A first processing unit 1012 is coupled to a computer network, illustrated here as the Internet 1010, through an Internet service provider 1014. Similarly, a second processing unit 1022 is coupled to Internet 1010 through Internet service provider 1018. The inventive directory server 1020 is similarly coupled to Internet 1010 through Internet service provider 1026. Directory server 1020 further comprises a connection server 1022 and information server 1024, as will be explained hereinafter. The first processing unit 1012, second processing unit 1022 and directory server 1020 are operatively coupled to each other via the Internet 1010. It will be obvious to those reasonably skilled in the art that network 1000 is not restricted to implementation over the Internet 1010 but may comprise other network configurations such as a local area network (LAN), a wide area network (WAN), a global area network or any number of private networks currently referred to as an Intranet. Such networks may be implemented with any number of hardware and software components, transmission media and network protocols.
  • Exemplary Computer Architecture
  • FIG. 11 illustrates the system architecture for a computer system 1100 such as an IBM PS2®, suitable for implementing first and second processing units 1012 and 1022, respectively, of FIG. 10, as well as global server 1020. The exemplary computer system of FIG. 11 is for descriptive purposes only. Although the description may refer to terms commonly used in describing particular computer systems, such as in IBM PS/2 computer, the description and concepts equally apply to other computer systems ranging from personal digital assistants (PDAs) to workstations to mainframe systems.
  • Computer system 1100 includes a central processing unit (CPU) 1105, which may be implemented with a conventional microprocessor. System 1100 further includes a random access memory (RAM) 1110 for temporary storage of information, and a read only memory (ROM) 1115 for permanent storage of information. A memory controller 1120 is provided for controlling RAM 1110. A bus 1130 interconnects the components of computer system 1100. A bus controller 1125 is provided for controlling bus 1130. An interrupt controller 1135 is used for receiving and processing various interrupt signals from the system components.
  • Mass storage may be provided by diskette 1142, CD ROM 1147, or hard drive 1152. Data and software may be exchanged with computer system 1100 via removable media such as diskette 1142 and CD ROM 1147. Diskette 1142 is insertable into diskette drive 1141 which is, in turn, connected to bus 1130 by a controller 1140. Similarly, CD ROM 1147 is insertable into CD ROM drive 1146 which is, in turn, connected to bus 1130 by controller 1145. Hard disk 1152 is part of a fixed disk drive 1151 which is connected to bus 1130 by controller 1150.
  • User input to computer system 100 may be provided by a number of devices. For example, a keyboard 1156 and mouse 1157 are connected to bus 1130 by controller 1155. An audio transducer 1196, which may act as both a microphone and a speaker, is connected to bus 1130 by audio controller 1197, as illustrated. It will be obvious to those reasonably skilled in the art that other input devices, such as a pen and/or tablet may be connected to bus 1130 with an appropriate controller and software, as required. DMA controller 1160 is provided for performing direct memory access to RAM 1110. A visual display is generated by video controller 1165 which controls video display 1170. Computer system 1100 also includes a communications adaptor 1190 which allows the system to be interconnected to a network such as a local area network (LAN), a wide area network (WAN), or the Internet, schematically illustrated by transmission medium 1191 and network 1195.
  • In the illustrative embodiment, computer system 1100 may include an Intel microprocessor such as the 80486DX-33 MHz, or faster, a 14.4 Kb communication modem or faster, and a sound card, as further described with reference to FIG. 12.
  • Operation of computer system 1100 is generally controlled and coordinated by operating system software, such as the OS/2® operating system, available from. International Business Machines Corporation, Boca Raton, Fla., or Windows® DOS-based operating system available from Microsoft Corp., Redmond, Wash. The operating system controls allocation of system resources and performs tasks such as process scheduling, memory management, networking, and I/O services, among other things.
  • FIG. 12 illustrates schematically an audio sound card 1200 which may be used to implement audio controller 1197 of FIG. 11. Specifically, sound card 1200 may comprise, in the exemplary embodiment, an analog-to-digital (A/D) converter 1212, an input buffer 1216, a digital signal processor (DSP) 1222, ROM 1224, RAM 1226, an output buffer 1220, and an analog-to-digital (D/A) converter 1218, all of which may be interconnected over a bus 1210. Bus 1210 is in turn coupled to a bus interface 1228 which, in turn, is coupled to bus controller 1125 of computer system 1100 of FIG. 11.
  • As illustrated in. FIG. 12, A/D converter 1212 is coupled to audio transducer 1214 which is typically a microphone. Conversely, D/A converter 1218 is coupled to audio transducer 1230, typically a speaker. It will be obvious to those reasonably skilled in the art that audio transducers 1214 and 1230, may be combined into a single element which serves as both a transmitter and receiver of audio signal.
  • In operation, A/D converter 1212 samples the audio signals supplied to it by transducer 1214 and stores the digital samples in buffer 1216. The digital sampling occurs under control of a program typically stored in ROM 1224, or, alternatively, under the control of digital signal processor 1222. The digital samples stored in input buffer 1216 are forwarded periodically, typically when the buffer reaches near capacity, over bus 1210 to bus 1130 of FIG. 11, for further processing by computer system 1100. The device driver for audio sound card 1200 generates system interrupts which will cause the digital samples stored in input buffer 1216 to be retrieved for processing. In the exemplary embodiment, the digital samples are uncompressed as supplied to computer system 1100. However, compression of the digital samples may occur using DSP 1222 executing an appropriate compression algorithm, if desired.
  • Digital audio samples from computer system 1100 are also be converted to analog signals by sound card 1200. The digital samples are supplied to bus 1210 and temporarily stored into output buffer 1220. The digital samples are then converted by D/A converter 1218 into an analog signals which are then supplied to audio transducer 1230, i.e., a speaker, or to further amplification and processing devices.
  • Sound card 1200 contemplated for use with the present invention may be implemented with any number of Windows compliant sound cards, such as the Sound Blaster sound card, commercially available from Creative Technologies Ltd., Singapore. Such Window compliant sound cards have a Windows compliant software interface allowing a standardized mechanism for software programs to operate the sound card device, such as Winsoc 1.1.
  • WebPhone Application
  • In the exemplary embodiment of the present invention, each of first processing unit 1012 and second processing unit 1022 of FIG. 10 are executing a software application capable of enabling point-to-point communication over network 1000, such as an Internet telephone application. One such application suitable for use with the present invention is the WebPhone Version 1.0 or higher, software, hereafter referred as the “WebPhone,” commercially available from NetSpeak Corporation, Boca Raton, Fla. A description of the architecture and operation of the WebPhone is provided herein with reference to FIGS. 5-6, 13A-B and 14. An extensive detailed description of the architecture, application program interface, graphic user interface, and operation of the WebPhone can be found in U.S. patent application Ser. No. 08/719,554, filed Sep. 25, 1996, now U.S. Pat. No. 6,131,121, entitled “Point-to-Point Computer Network Communication Utility Utilizing Dynamically Assigned Internet Protocol Addresses” by Mattaway et al., commonly assigned, the complete subject matter of which is incorporated herein by reference.
  • Referring to FIGS. 13A-B, schematic block diagrams of the WebPhone architecture are illustrated. The WebPhone is an end-user software application which enables users to send real-time audio data to other WebPhone users over the Internet or any public or private TCP/IP based computer networks. The WebPhone application and architecture may be designed to run on any number of operating systems or computer architectures. In the illustrative embodiment, the WebPhone application is implemented as a Windows compatible application executable on an IBM PC architecture or a clone thereof.
  • Referring to FIG. 13A, the WebPhone 1300 comprises a set of object modules, written in a programming language such as C++, which work together in a concerted fashion to provide real-time, multitasking, network-based media transmission and reception. WebPhone 1300 comprises a graphic user interface (GUI) 1310, a user interface (UI) 1312, an event manager 1314, a media engine 1316, a database dynamic link library 1318, one or more audio compression/decompression (codecs) 1320, an audio manager 1324, a WebPhone application program interface (API) 1326, and a network interface 1322.
  • WebPhone GUI 1310 comprises the visual objects seen on a computer display by the user, as illustrated by the screen capture of FIG. 14 discussed hereinafter. WebPhone GUI 1310 serves only to display the artwork associated with the underlying objects of WebPhone UI 1312. WebPhone GUI 1310 may be implemented in a modular fashion distinct from the WebPhone UI for rapid portability. In this manner, other graphic user interface environments such as those compatible with the Macintosh, X-Windows or OS/2 operating systems, may be substituted via the Plug and Play protocol, as would be understood by those reasonably skilled in the arts.
  • The WebPhone UI 1312 objects maintain the state of the WebPhone GUI and provide feedback to the WebPhone GUI objects from events originating from either the user or the event manager 1314. When WebPhone changes a state that requires user notification, WebPhone UI objects notify associated WebPhone GUI objects to display the appropriate art work to the user. WebPhone UI objects also interface with the database dynamic link library 1318 to maintain the WebPhone database information, e.g. configuration information, phone directory information, etc.
  • The WebPhone event manager 1314 processes all the events originating from the user, via WebPhone UI 1312, the media engine 1316, and WebPhone API 1326. Event manager 1314 may be implemented as a table-driven state machine that processes the above-identified events and performs the functions necessary to bring the WebPhone from one state to another. For example, event manager 1314 interacts with media engine 1316 to create, control and remove concurrently executing jobs managed by media engine 1316. Event manager 1314 also interfaces with the WebPhone API 1326 to provide communications with other WebPhones and connection servers, as described in more detail hereinafter. WebPhone database 1318 is a dynamic link library of tree-based subroutines that provide fast database access to the WebPhone configuration information, personal phone directory, etc.
  • WebPhone media engine 1316 manages the allocation of associated resources to provide a multitasking environment and controls the flow of real-time data streams, e.g., conversations, outgoing messages, etc., and non-real-time data streams, e.g., voice mail, graphic images, files, etc., to and from a user network connection. The objects representing tasks are created by event manager 1314, thereby freeing media engine 1316 to manage resource routing. Specifically, the media engine routes data streams from sources such as a microphone, file or network socket, to destinations such as speaker, destination file or other network socket. To perform such routing functions the media engine interfaces with the WebPhone API 1326 to control communication with other processes, and further communicates with audio manager 1324 to communicate with the system input/output apparatus, such as sound card 1200 of FIG. 12. Media engine 1314 may be designed to employ heuristic methods to sense and efficiently utilize available bandwidth to achieve timely and accurate delivery of all data streams, both real-time and non-real-time.
  • Media engine 1316 further interacts with WebPhone codec 1320 to achieve compression and decompression of audio data streams. Codec 1320 provides coding of digital samples from the sound card 1200 of FIG. 12 into a compressed format more suitable for transmission over a computer network. Codec 1320 further provides decoding of a compressed signal prior to its submission to sound card 1200 for subsequent conversion to an audible analog signal. In the exemplary embodiment, WebPhone codec 1320 is implemented in a modular fashion so that codecs may be replaced and updated with newer, more efficient compression/decompression algorithms via the Plug and Play protocol. A codec suitable for use with the present invention is the True Speech codec, version 8.5, commercially available from the DSP Group, Inc., Santa Clara, Calif. The True Speech codec is an enhanced linear predicative coding algorithm, specifically designed to efficiently encode and decode human speech data. The True Speech codec samples the digital sample stream from sound card 1200, and, using a look-up table-based algorithm, tries to predict the value of the next data sample in the digital data stream based on the history of prior data sample values. The compressed data stream comprises a combination of identifiers of the predicted sample values, as well as error values used to correct the predictive values. Accordingly, the amount of digital data actually transmitted to represent the audio signal is significantly reduced in comparison to transmission of the actual data samples generated by sound card 1200. The True Speech codec provides temporal, frequency domain compression of the digital data representing the audio signal. Audio manager 1324 handles communication with the audio sound card 1200 and presents a common interface to media engine 1314. Audio manager 1324 interfaces with sound card 1200 through one or more application program interfaces. In the illustrative embodiment, audio manager 1324 utilizes low-level Microsoft Windows wave input/output routines to interface with MCI compliant sound cards. As with codecs 1320, audio manager 1324 may be implemented to adhere to the Plug and Play protocol so other compliant audio sound cards or circuits, such as those for the Apple Macintosh, commercially available from Apple Computer Company, Cupertino, Calif., or a Unix compatible sound card or circuit may interact with the audio manager 1324.
  • The WebPhone API 1326 enables the WebPhone to communicate with other WebPhones, connection and directory assistance servers, Internet gateway servers, credit processing servers, database access servers and other client processes implementing the WebPhone API. As illustrated in FIG. 13B, the WebPhone API utilizes sockets, i.e., a file handle or address indicating where data is to be sent, allowing WebPhone API enabled processes to reside on the same computer, on a local area network, on a wide area network, or over the Internet. A process 1328 communicates with the WebPhone API 1326 through a plurality of sockets 1322. The sockets 1322 are accessible by network 1330 through a number of protocols including Internet Protocol (IP) 1332, Transmission Control Protocol (TCP) 1334, Real-Time Protocol (RTP) 1336 and User Datagram Protocol (UDP) 1338. The WebPhone API provides remote command control of WebPhones and servers via the TCP. WebPhone API 1326 transfers real-time and streamed audio via the UDP protocol and real-time audio and video data via the UDP and RTP protocols. The WebPhone API utilizes TCP to transfer data of different types, i.e., file, image, graphics, etc. as well as to transfer streamline video and other multimedia data types, such as Java developed by Sun MicroSystems, Mountain View, Calif. In addition, the WebPhone API provides user definable commands and data types.
  • FIG. 14 illustrates the graphic display produced upon invoking the WebPhone application. Display 1400 is an alternative embodiment to that illustrated in FIGS. 5-6 with similar graphic elements, icons and display areas functioning as previously described with reference to FIGS. 5-6.
  • WebPhone Global Server
  • Having described the architecture of the WebPhone software which enables the first and second processing units to establish point-to-point communication over a network, a discussion of the global connection/information server is appropriate.
  • Referring to FIG. 15A, a network diagram, similar to that shown in FIG. 10, is illustrated, including a schematic diagram of the global server 1500 and the various devices operatively coupling server 1500 to the Internet 1530. A first processing unit executing the WebPhone application, hereafter referred to as WebPhone 1536, is coupled to Internet 1530 through an Internet service provider 1532. Similarly, a second processing unit executing the WebPhone application, referred to as WebPhone 1538, is coupled to the Internet 1530 by an Internet service provider 1534. Global server 1500 is coupled to Internet 1530 by an Internet service provider 1528, a CSU/DSU 1526, a router 1524, and a fire wall server 1522. In the illustrative embodiment, fire wall server 1522 and global server 1500 are connected through a local area network 1520. Network 1520 may be implemented with an Ethernet or other suitable transport for TCP/IP communications. However, as will be obvious to those recently skilled in the arts, server 1500 may be connected directly to fire wall server 1522.
  • In the illustrative embodiment, firewall server 1522 is a single firewall mechanism which protects unauthorized access from network 1530 into global server 1500. Firewall server 1522 may be implemented on a work station, such as a SPARC 5 or SPARC 20 server from Sun MicroSystems, executing a commercially available firewall software application such as Raptor, available from Raptor Systems. Essentially, the firewall server prevents unauthorized access into global server 1500 and thereby prevents destruction of any of the information contained therein by checking the source of requests for information to global server 1500.
  • Router 1524 translates logical addresses among networked topologies and may be implemented with any number of commercial router devices such as the CISCO model 2501 router executing CISCO 11.0 software, both commercially available from CISCO Systems, Inc., San Jose, Calif.
  • CSU/DSU 1526 (Channel Send Unit/Data Send Unit) functions as a sophisticated modem, converting network data to high speed serial data for transfer over a T1 or T3 line. Such high speed data is connected to another CSU/DSU, typically at the telephone company over the T1 or T3 line. An apparatus suitable for use in implementing CSU/DSU 1526 in the present invention is the AT&T Paradigm by AT&T Laboratories, Murray Hill, N.J.
  • FIG. 15A further illustrates a logical schematic of global server 1500. The server comprises a hardware platform 1508 on which an operating system 1510 executes. In the illustrative embodiment, hardware platform 1508 may comprise any number of commercially available high end work stations such as a DEC Alpha 4100 System, commercially available from Digital Equipment Corporation, Maynard, Mass., or a SPARC 5 or a SPARC 20, both commercially available from Sun Micro Systems, Mountain View, Calif. Operating system 1510, in the illustrative embodiment, may comprise the Unix, commercially available from Novell, Windows NT, commercially available from Microsoft Corporation, or Solaris, commercially available from Sun MicroSystems, Inc. Executing on operating system 1510 are a number of processes including connection server 1512, information server 1514, database server 1518 and database 1516.
  • Connection Server
  • Connection server 1512 provides a directory information service to WebPhone client processes currently on-line with respect to the computer network. Connection server 1512 behaves like a virtual machine within global server 1500 and interacts with database 1516 through database server 1518 and with network interface card 1540 through the WebPhone API. The basic function of connection server 1512 is to provide a one-to-one mapping between an identifier of a WebPhone client process, such as a E-mail address, and the current IP address, dynamic or fixed, associated with that WebPhone client process.
  • As described in further detail hereinafter, when a WebPhone client transmits a <CONNECT REQ> packet to global server 1500, an E-mail address such as “Shane@netspeak.com” is provided to connection server 1512. Connection server 1512 then compares the E-mail address with the values of the records contained in on-line table 1516B and, if a match occurs with one of the records contained therein, transmits the value of the Internet Protocol address associated with that record to the requesting WebPhone client, i.e., a one-to-one matching between E-mail addresses and Internet Protocol addresses.
  • Referring to FIG. 16A, a flow chart illustrating the basic process steps used by connection server 1512 to implement a one-to-one mapping of E-mail addresses to Internet Protocol addresses in accordance with the present invention is illustrated. The coding of the process steps of the flowchart of FIG. 16A into instructions suitable to control global server 1500 will be understandable by those having ordinary skill in the art of programming. Connection server 1512 remains in an idle state until a <CONNECT REQ> packet is transmitted from a WebPhone client to global server 1500, as illustrated by decisional block 1610 of FIG. 16A. Upon receipt of the packet, connection server 1512 extracts the E-mail address from the packet and supplies the E-mail address to database server 1518 which them communicates using the ODBC standard with database 1516 to perform a search of On-line Table 1516B, as illustrated by process blocks 1612 and 1614. Database 1516 performs a search of on-line Table 1516B and supplies the current Internet Protocol address of the WebPhone client associated with the E-mail address to connection server 1512, via database server 1518. If a corresponding Internet Protocol address is found for the E-mail address contained in the query, connection server 1512 supplies the Internet protocol address to the requesting WebPhone client by transmitting a <CONNECT ACK> packet, as illustrated by decisional block 1616 and process block 1618. If, however, there is no Internet Protocol address associated with the queried E-mail address or the WebPhone client is off line, connection server 1512 will send an <OFFLINE> packet to the WebPhone client, as illustrated by process block 1622. Connection server 1512 will return to an idle state to await the receipt of another <CONNECT REQ> packet, as illustrated by FIG. 16A. A description of the above described packets as well as a diagram illustrating the packet transfer sequence between a WebPhone client and global server 1500 can be found with reference to Tabes 7-8 and FIG. 17A, respectively.
  • Information Server
  • Information server 1514 provides an interface between requests from WebPhone client processes and database 1516. Information server 1514 includes code written to extract the search criteria from an <INFO REQ> packet and supply the search criteria to the database search engine of database 1516 using the ODBC standard. In particular, referring to FIG. 16B, a flow chart illustrating the basic process steps used by information server 1514 in performing information/directory service functions in accordance with the present invention is illustrated. The coding of the process steps of the flow chart into instructions suitable for execution by global server 1500 will be understood by those having ordinary skill in the art of programming. Information server 1514 remains idle until an <INFO REQ> packet is received from a WebPhone client process, as illustrated by decisional step 1630. Next, information server 1514 extracts the data elements defined within the <INFO REQ> packet and supplies them to database server 1518 which, in turn, forward them to database 1516, as represented by the process step 1634 and 1636. The search engine contained within database 1516 performs the search and supplies to information server 1514 all client records meeting the search criteria specified in the <INFO REQ> packet, or a message indicating that no records were found. Next, information server 1514 transmits a <INFO ACK> packet to the WebPhone client process indicating the number of records satisfying the search criteria, as indicated by process step 1638. The WebPhone client may wish to receive all records satisfying the search criteria, or, if the number is excessively large, may desire to further refine the search by transmitting a <INFO ABORT> packet to information server 1514 and defining new search parameters to be sent with a subsequent <INFO REQ> packet. If a <INFO ABORT> packet is received by information server 1514, the process will return to an idle state, as illustrated by decisional block 1640. If no <INFO ABORT> packet was received, information server 1514 will transmit one or more <INFO> packets to the requesting WebPhone client until all records have been received by the WebPhone client, as illustrated by process step 1642. Information server 1514 will return to an idle state awaiting another <INFO REQ> packet, as illustrated in FIG. 16B. A description of the packets comprising the WebPhone protocol is illustrated in Tables 7-8 and a diagram illustrating the packet transfer sequence defined in FIG. 17A-B.
  • Network interface card 1540 interfaces with connection server 1512, information 1514, and database server 1518 using the WebPhone API definition, as described herein, and the Windows Sockets 1.1 Protocol, or, in a Unix-based operating system, Berkeley Sockets Network API. Network interface card 1514 may comprise, in illustrative embodiment, an Ethernet card capable of transmitting data at rates of 100 Mbps or greater, such cards being commercially available through a number of different vendors.
  • The connection from CSU/DSU 1526 to ISP 1528 may comprise a T1 connection, i.e., a long-distance, digital, point-to-point communication circuit capable of transmitting a signal at 1.544 Mbps with 24 channels at 64 Kbps. Alternatively, a T3 connection may be used, i.e., a connection is similar to a T1 connection except it is capable of transmitting at 44.746 Mbps per second with up to 28 T1 channels. Other connections may be suitable, depending on specific requirements and availability.
  • Database
  • Database 1516 of global server 1500 may be implemented with any of a number of commercially available structured query language (SQL) database engines, such as Oracle 7.x, Informix, or Microsoft SQL server 6.x. The SQL database resides on a RAID 1 and RAID 5 mirrored disk array. As will be explained hereinafter, database 1516 interacts with control server 1512 and information server 1514 through database server 1518. In the illustrative embodiment, database 1516 comprises a Client table 1516A, an On-line table 1516B, a WebBoard table 1516C, a WebBoard configuration table 1516D and a WebBoard Source table 1516E.
  • Client table 1516A comprises a plurality of records, each of which may have the fields and corresponding data elements as described in Table 1. Each WebPhone user, hereinafter “client,” has a separate record in table 1516A containing the information defining the client's profile of personal information. In Table 1, the “activated,” “paid,” and “published” fields are boolean yes/no fields. The “id” field comprises a unique ID sequence identifying a particular WebPhone client. The “activation date,” “address change date,” and “access date” fields are time references measured in seconds since 00:00 Coordinated Universal Time (UTC), Jan. 1, 1970. The “IPAddr” field represents the Internet protocol address of the WebPhone client and, if unknown, has a default value of 0.0.0.0. The database record containing a WebPhone client's profile, is defined upon first logging-on to global server 1500 and may be updated each time a WebPhone user's profile changes, as explained hereinafter.
  • The On-line table 1516B provides a dynamic list of those clients from 1516A who are currently On-line, as well as their current Internet protocol address. On-line Table 1516B comprises a plurality of records each of which may have the fields and data types illustrated in Table 2. The record entries of On-line table 1516B are used by connection server 1512 and information server 1514, as explained hereinafter, to provide a directory of those WebPhone client processes currently having on-line status with respect to the computer network.
  • The WebBoard™ is a virtual multimedia billboard which is transmitted as a series of multimedia data files to WebPhone client processes while the WebPhone application is activated. An extensive description of the WebBoard utility and its operation can be found in copending U.S. patent application Ser. No. 08/719,891, filed Sep. 25, 1996, entitled Method and Apparatus for Distribution of Multimedia Data Over a Computer Network by Mattaway et al., commonly assigned, the subject matter of which is incorporated herein by reference.
  • A number of tables are associated with the WebBoard functionality including WebBoard table 1516C, a WebBoard configuration table 1516D, and a WebBoard source table 1516E WebBoard table 1516C includes a plurality of records each describing a specific WebBoard and having the field and data types illustrated in Table 3. The “id” field of Table 3 provides a unique identification number for the WebBoard file. The “imageType” field defines the video format of the image such as JPEG,TIF, GIF, etc. The “audio” field defines the nature of the audio file, e.g. a.wav file or a MIDI file, while the “audioType” field defines the codec, if any, used to compress/decompress the audio file. The “hits” field defines the number of times the WebBoard has been selected by WebPhone clients, while the “hits profile” field defines the file name of the file identifying those WebPhone clients generating hits to the subject WebBoard.
  • The WebBoard configuration table 1516D may have at least one record having the fields and data types illustrated in Table 4. The count field represents the number of WebBoard records currently in the table 1516C.
  • The WebBoard source table 1516E may comprise a plurality of records each having the fields and data types defined in Table 5. The “URL” field of Table 5 defines a data link in accordance with Uniform Resource Locator protocol to the home page or Web site of the source. In the illustrative embodiment, any entity, including vendors, advertisers, individuals or groups wishing to post information or having a Web site or home page may have a WebBoard displayable through the present invention.
  • Database Server
  • Database server 1518 serves as the interface between database 1516 and connection server 1512 and information server 1514. Specifically, connection server 1512 and information server 1514 communicate with database engine 1518 through application program interfaces embedded in the code implementation of both the connection server and the information server. Database server 1518 communicates with database 1516, in the illustrative embodiment, using the open database connectivity (ODBC) standard, developed by Microsoft Corporation, Redmond, Wash. Database server 1518 functions to supply structured database queries to database 1516 and to supply the results therefrom to connection server 1514 and information server 1512. In the illustrative embodiment, database server 1518 may be implemented as a “virtual machine” executing on global server 1500, or, alternatively, may be implemented on a separate computer system such as a DEC Alpha 4100 Workstation executing DEC Unix operating system, both available from Digital Equipment Corporation, Maynard, Mass. Database server 1518 communicates with network interface card 1518 using the WebPhone Application Program Interface described herein.
  • Global Server Network
  • In the illustrative embodiment, global server 1500 is implemented as a single server apparatus on which a plurality of “virtual machines” execute simultaneously. However, it will be obvious to those reasonably skilled in the art that a plurality of separate servers, one dedicated to each of connection server 1512, information server 1514, and database server 1518 may be interconnected to database 1516 and to each other using a local area network, to form a composite “virtual” global server, as illustrated by FIG. 15B, the construction of the system illustrated in FIG. 15B being within the knowledge of those reasonably skilled in the art in light of the descriptions contained herein.
  • It is further contemplated within the present invention that more than one global server 1500 may be utilized, as illustrated by FIG. 15C. In this implementation, multiple global servers 1500A-D are maintained for fault tolerant load sharing, each one performing the above-described connection server, information server and database server processes. Each of global servers 1500A-D are connected to the Internet via a separate T1 or T3 connection to different Internet service providers, and are synchronized with each other via database server replication. In such an embodiment, multiple global servers may be located in close proximity or in geographically disparate locations. In such an embodiment, the WebPhone application is provided with the network address information of each global server 1500A-D. In the event that any one of the global servers initially contacted is nonresponsive the WebPhone application will attempt connection to one or more of the remaining global servers to obtain directory and information services.
  • Further, in an implementation with multiple global servers, if the initially contacted global server is unable to accommodate a WebPhone client request, or, is not geographically convenient, the global server can provide the network address of another global server capable of servicing the WebPhone client's request or which is logically more convenient. This process may occur during the initial log-in of the WebPhone client process, as described with references to messages 1-5 of FIG. 17A.
  • As previously described, if none of the global servers are available, the WebPhone application can rely on the secondary Internet Protocol technique in which a WebPhone client process sends its current dynamically assigned Internet Protocol address to a prospective WebPhone callee through an E-mail message, as described herein.
  • WebPhone Protocol
  • Prior to describing the interaction of the connection server 1512 and information server 1514 with WebPhone client processes, a description of the WebPhone protocol by which the WebPhone client processes and the global server 1500 communicate is appropriate. Tables 6-7 below illustrate the packet definitions of the packets comprising the WebPhone protocol (WPP) including the packet type, the direction and the data elements comprising each packet. In Tables 6-7 the symbol “→” indicates a packet transmitted by a WebPhone client process, while the “←” symbol indicates a packet transmitted by the global server. Tables 8-9 define the data elements described in Tables 6-7. In Tables 6-9, the terms “ULONG” and “UNSIGNED LONG” designate an unsigned long integer value, i.e., 32-bit integer value. Similarly, the terms “USHORT” and “UNSIGNED SHORT” designate an unsigned short integer value, i.e., 16-bit integer value. The term “CHAR” designates a single character, typically assuming a binary value of either 1 or 0. The term “VARCHAR(X)”, where X is an integer, value symbolizes a variable length character string, with the number of characters indicated with the integer value. The term “UNSIGNED CHAR” designates an 8-bit character code, i.e., no sign bit. Finally, the term “variable” indicates a variable length data field.
  • FIG. 17A illustrates a schematic block diagram of a packet transfer sequence between a pair of WebPhone client processes and the global server, in accordance with the present invention. Each WebPhone application, also referred to as a WebPhone client process, connects to global server 1500 upon start up to inform global server 1500 that the WebPhone client process is on-line and available to make and/or receive calls. Specifically, as illustrated in FIG. 17A, WebPhone 1536 opens a socket to the global server 1500 and transmits an <ONLINE REQ> packet from WebPhone 1536 to Global server 1500, as illustrated by message 1 and FIG. 17A. The <ON LINE REQ> packet may have the format and data illustrated in Table 6, and additional Feature bits which define the functionality of the WebPhone application, as explained in greater detail hereinafter. In response, connection server 1512 and information server 1514 of global server 1500 use the information contained in the <ONLINE REQ> packet to update the status of database 1516. In the event that the WebPhone client process is logging on for the first time, global server 1500 returns to the WebPhone 1536 a <USER INFO REQ> packet, as illustrated by message 2 of FIG. 17A. The <USER INFO REQ> packet includes the elements as defined in Table 9. In response, WebPhone 1536 returns a <USER INFO> packet as illustrated by message 3 of FIG. 17A. The <USER INFO> packet contains the data elements defined in Table 8. Connection server 1512 and information server 1514 of global server 1500 utilize the data in the <USER INFO> packet to update database 1516. Specifically, information server 1514 utilizes such data to create a record in client table 1516 A representing WebPhone 1536. Next, global server 1500 transmits to WebPhone 1536 a <REGISTRATION> packet, as illustrated by message 4 of FIG. 17A. The <REGISTRATION> packet contains the data described in Table 7 plus Feature bits, as described hereinafter. The <REGISTRATION> packet returned to WebPhone 1536 enables certain functions within the WebPhone architecture based on predetermined criteria, for example, whether the user has paid for the product, or which version of the product the user possesses. Following the <REGISTRATION> packet, global server 1500 further transmits an <ONLINE ACK> packet, as illustrated by message 5 of FIG. 17A. Prior to transmission of the <ONLINE ACK> packet, connection server 1514 updates database 1516, specifically On-line table 1516B to indicate that WebPhone 1536 is on-line with respect to the computer network. Upon receiving the <ON-LINE ACK> packet, WebPhone 1536 closes the socket to global server 1500.
  • In the event WebPhone 1536 had previously registered with global server 1500, only messages 1 and 5 are required to establish WebPhone 1536 as being on-line. If WebPhone 1536 had new user information to supply to global server 1500, then packet sequence illustrated by messages 3 and 4 would occur.
  • Although the packet sequence illustrated by messages 1-5 is described with reference to WebPhone 1536, WebPhone 1538 interacts in a similar manner with global server 1500 to establish on-line status. No further interaction occurs between the respective WebPhone client processes and the global server unless the WebPhones require directory or search assistance about a prospective callee.
  • In one calling scenario, a WebPhone user knows the E-mail address of anothe. WebPhone user to which he/she wishes to establish a point-to-point communication, however, the current dynamically assigned Internet protocol address of the callee is unknown to the caller. In this scenario, the user of WebPhone 1536 requests assistance from global server 1500 to obtain the current dynamically assigned Internet Protocol address of the prospective callee WebPhone. First, the user of WebPhone 1536 specifies the callee by entering all or part of the callee party's name or alias in the party name field area of the graphic user interface. If the party is not in the WebPhone user's local directory, the IP address or E-mail address of the callee WebPhone may be entered into the number field area of the graphic user interface, followed by activation of the send button or icon on the graphic user interface. As a result, WebPhone 1536 opens a socket to global server 1500 and transmits a <CONNECT REQ> packet having the format described in Table 6. Connection server 1512 of global server 1500 utilizes the value of the E-mail address specified in the <CONNECT REQ> packet to perform a one-to-one mapping in the on-line table 1516B to determine the current Internet Protocol address of the indicated callee, as illustrated by the flowchart of FIG. 15A. Once this mapping is performed, the server 1500 transmits to WebPhone 1536 a <CONNECT ACK> packet, as indicated by message 7A of FIG. 17A. The <CONNECT ACK> packet has the format and content as illustrated in Table 6 and includes the IP address of the callee as well as information such as an error code to indicate that no WebPhone application is associated with that callee. Alternatively, if the selected callee is off line, global server 1500 transmits to WebPhone 1536 an <OFF LINE> packet to indicate that the desired party is not on-line, as illustrated by message 7B of FIG. 17A. Following the receipt of either a <CONNECT ACK> or an <OFF LINE> packet by WebPhone 1536, the socket to global server 1500 opened by WebPhone 1536 is closed.
  • If the current Internet Protocol address of the callee was returned from global server 1500, the packet transmission sequence illustrated between WebPhones 1536 and 1538 of FIG. 17A transpires. Whether a calling WebPhone knows the Internet Protocol address of the callee WebPhone, as in the case of a fixed Internet Protocol address, or obtains the Internet Protocol address from global server 1500, as previously described, the calling sequence to establish a call occurs as follows. WebPhone 1536 opens a socket to WebPhone 1538. Next, WebPhone 1536 transmits to WebPhone 1538 a <CALL> packet as illustrated by message 8 of FIG. 16A. The <CALL> packet has the format illustrated in Table 6 and may, optionally, include information identifying the compression/decompression (codec) used by the caller WebPhone. In response to the <CALL> packet, WebPhone 1538 may return with a number of different packets, as illustrated by messages 9A-D. First, callee WebPhone 1538 may respond to caller WebPhone 1538 with a <REJECT> packet, as illustrated by message 9 A, indicating that the callee WebPhone does not wish to be disturbed, e.g. total call blocking, or, that the callee WebPhone does not wish to talk to caller WebPhone, e.g. party specific or group specific call blocking. In the event of party or group specific call blocking, the user information contained within the <CALL> packet of message 9A is compared by the caller WebPhone application to a predefined list of WebPhone user information profiles which the callee does not wish to converse, such list having been predefined by the callee in the WebPhone user's personal directory, as explained hereinafter. Upon receiving the <REJECT> packet the caller WebPhone annunciates the result to the user and the socket to the callee WebPhone is closed.
  • Alternatively, callee WebPhone 1538 may return a <BUSY> packet, as illustrated by message 9B of FIG. 17A. The <BUSY> packet indicates that the callee WebPhone is currently utilizing all available lines within its WebPhone application.
  • A further possible response from callee WebPhone 1538 is to issue an <ANSWER MACH> packet, as illustrated by message 9C of FIG. 17A. The <ANSWER MACH> packet includes data indicating whether the machine is capable of receiving voice mail type messages, as described in greater detail in copending U.S. patent application Ser. No. 08/719,898, filed on Sep. 25, 1006, entitled “Method and Apparatus for Providing Caller Identification Based Out-Going Messages in a Computer Telephony Environment,” by Mattaway et al., commonly assigned and incorporated herein by reference.
  • The preferred response by callee WebPhone 1538 is to transmit a call acknowledge <CALL ACK> packet, as illustrated by message 9D of FIG. 17A. The <CALL ACK> packet has the data content illustrated in Table 6. Both the <CALL> and <CALL ACK> packets contain the information of the WebPhone users sending the packet. This information is useful by the recipient of the packet for a number of purposes. For example, the user information is displayed on the enunciator area of the WebPhone graphic display to identify the party placing the call. Second, the user may select such information and, using the drag and drop functionality of the WebPhone graphic user interface, add the user information to the callee WebPhone user's personal directory resident within his/her specific WebPhone application. In such a manner, both parties are completely identified to each other prior to commencing audio communications. The transmission of complete caller identification information with the <CALL> and <CALL ACK> symbols packets enables such functions as individual or group specific call blocking, party specific outgoing messages, visual caller identification, and party specific priority ringing and sound effects, as explained herein.
  • Following transmission of <CALL ACK> packet by callee WebPhone 1538, the callee WebPhone further transmits an <ANSWER> packet to caller WebPhone 1536, as illustrated by message 10 of FIG. 17A. Like the <BUSY> packet, the <ANSWER> packet is essentially empty, containing nothing more than a session ID number which is unique to the call. The socket previously opened by caller WebPhone 1536 over which the forgoing packets were transmitted remains open for the transmission of control information between caller WebPhone 1536 and callee WebPhone 1538. Such control information may comprise an <END> packet signaling the end of a call, a <HOLD> packet indicating that one of the parties to a call has placed the call “on hold” or other packets related to advance functionality of the WebPhone architecture. In addition, caller WebPhone 1536 opens a second socket to callee WebPhone 1538 over which the respective WebPhones may exchange <AUDIO> packets, as illustrated by messages 11A-B of FIG. 17A. The <AUDIO> packets have the data content illustrated in Table 6. The WebPhone application enables the parties to converse in real-time, telephone quality, encrypted audio communication over the Internet and other TCP/IP based networks. If both WebPhone client processes are utilized with full duplex sound cards, such as that illustrated in FIG. 12, the WebPhone users may transmit and receive audio packets simultaneously, similar to normal telephone conversation. However, if the WebPhone client processes are used with half duplex sound cards, a WebPhone user may only transmit or receive audio data simultaneously, similar to a speaker phone. Exchange of <AUDIO> packets continues until either the callee WebPhone or the caller WebPhone transmits an <END> packet, as illustrated by message 12 of FIG. 16A. Following the receipt of an end packet, the WebPhone client process will cease to accept subsequent audio packets.
  • Following either transmission or receipt of an <END> packet by the caller WebPhone, the socket opened by the caller WebPhone to the callee WebPhone over which real-time audio communication occurred is closed. Similarly, the previously opened socket over which control information was transmitted between the callee and caller WebPhones is likewise closed.
  • Referring now FIG. 17B, if a WebPhone caller seeks to determine whether a prospective WebPhone callee is connected to the computer network, but, has little information regarding the client process, information server 1514 may be utilized as described. The WebPhone user defines One or more of the first name, last name, company, city, state, or country values of the Query field contained within the <INFO REQ> packet sends the packet to the global server. WebPhone 1536 opens a socket to global server 1500 and forwards <INFO REQ> packet to global server 1500, as illustrated by message 1 of FIG. 17B. Information server 1514 extracts the values specified the query field of the <INFO REQ> packet and queries the database 1516, as previously described with reference to FIG. 16B. Global server 1500 then transmits a <INFO ACK> packet back to WebPhone 1536, as illustrated by message 2 of FIG. 17B. The <INFO ACK> packet has the format and data elements indicated in Table 7, including the number of parties satisfying the search criteria, specified in the <INFO REQ> packet. If the user of WebPhone 1536 wishes to receive the number of parties satisfying the search criteria global server 1500 automatically transmits to WebPhone 1536 one or more <INFO> packets, as illustrated by messages 3A-C of FIG. 17B. The <INFO> packet has the format and data elements as described in Tables 6-7. At any time following transmission of the <INFO ACK> packet, WebPhone 1536 may transmit an <INFO ABORT> packet to either prevent transmission of any <INFO> packets or to stop transmission of any remaining packets, as illustrated by message 4 of FIG. 17B. The <INFO ABORT> packet has the format and data elements as described in Table 6-7.
  • Once the user receives the information contained within the <INFO> packets satisfying the search criteria, the user may store such information in his/her personal WebPhone directory by dragging and dropping the information from the annunciator area to the direction dialog box using the WebPhone GUI.
  • The methods and apparatus described herein provide computer users with a powerful protocol in which to directly establish real-time, point-to-point communications over computer networks directly without server required linking. The a directory server assists in furnishing the current dynamically assigned internet protocol address of other similarly equipped computer users or information about such users.
  • Caller Identification Based Responses
  • In accordance with one aspect of the present invention, the WebPhone application may respond in a manner unique to the party calling the WebPhone user. Specifically, a <CALL> packet transmitted from WebPhone 1536 contains an information profile useful in identifying the caller. The profile includes all the information illustrated in the userInfo field illustrated in Table 8. The WebPhone application is designed to extract the userInfo information for caller identification purposes. This functionality is achieved by comparing the information profile of the caller against one or more previously defined information profiles resident within the personal directory of the WebPhone callee. Table 11 illustrates the content of an exemplary information profile in a WebPhone users personal directory. As illustrated, the information profile includes all of the information contained within the userInfo field of a <CALL> packet. In addition, each information profile within the personal directory includes a Status field, an Action field, a File Name field, and a File Type field, all of which are user definable. The Status field may be implemented with an unsigned long integer and may comprise a bit pattern defining the status of the WebPhone application, i.e., whether or not a specific function such as Do Not Disturb or Answer Machine is activated. The Action field may also be implemented with an unsigned long integer and defines the desired responsive action, typically implemented with a code, to the status of the WebPhone application. For example, if the Status field indicates that the Answering Machine is on, the Action field may indicate that if the relevant information profile as matched, the answering machine should respond by playing an audio file indicated in the File Name field. The File Name field is a descriptor of a file and may be implemented with a variable length character field. The File Type field is similar to that illustrated in Table 9 and defines the nature of the file defined in the File Name field, for example, data, e-mail, text or binary type data. In addition, the fileType field may further define, with a subfield portion thereof, specific data types. In the case of a binary field, the subfield may further designate a.wav file, indicating an audio file, or a.bmp file, indicating a bit map file.
  • Referring to FIG. 18, a conceptual schematic block diagram of the personal information directory of the WebPhone application is illustrated. Specifically, a WebPhone personal information directory 1800 includes one or more information profiles 1810-1816. Each information profile includes one or more Response files A,B, . . . N. Each response file contains a Status field, Action field, File Name field and File type field, as described with reference to Table 11. The File Name field within the respective response files act as references to files outside personal information directory 1800, but typically, within the virtual memory of the system upon which the WebPhone application is currently executing. For example, response file 1810A of information profile 1810 references file 1820 which may be an *.wav file containing a personalized outgoing message which response file 1810A commands should be played when the Answering Machine function of the WebPhone is activated, and, the user information in an incoming <CALL> packet matches the user information contained in information profile 1810. Response file 1810B references file 1822 which may be a bitmap file. For example, if the information contained in the incoming <CALL> packet matches the information in information profile 1810 and the status of the WebPhone, for example normal status, matches Response file 1810B, the WebPhone will display a bitmap image on the computer display to notify the user of an incoming call. In addition, Response file 1810B may include a reference to an audio file 1824 similar to .wav file 1820. In this instance, the receipt of an incoming <CALL> packet which matches information profile 1810 will cause a bitmap image, for example, of the caller to be displayed on the screen as well as a .wav file which may be, for example, an audio file of the callee voice, or, a generic operators voice announcing the party. Information profiles 1812-1816 are constructed similar to information profile 1810 and likewise reference, through their respective Response files, data files outside personal information directory 1800. The Response files, when utilized by the WebPhone architecture may be capable of performing other activities such as activating a mobile pager, or, where the file contains a series of executable instructions, may be utilized to perform various activities on the system such as automatically opening up an appointment book or calendar application or forwarding a call according to a predefined schedule, all upon occurrence of an incoming <CALL> packet from a specific individual.
  • The above-described utility may be used to generate any type of caller identification based specific response activities such as group or party specific outgoing messages, group or party specific audio and/or video announcements of incoming calls, group or party specific call acceptance/blocking, call forwarding automatic application execution, etc.
  • Referring to FIG. 19, a flowchart illustrating the process steps executed by the WebPhone application in performing a caller identification based activity are illustrated. The coding of the process steps of the flowchart into instructions suitable for execution by the WebPhone application will be understood by those having ordinary skill in the programming arts. The WebPhone application remains idle or attends to other tasks unrelated to the immediate process until a <CALL> packet is received, as illustrated by decision of block 1900. Upon receiving the packet, the WebPhone determines the current status of the WebPhone, e.g. whether any specific functions are active, as illustrated by process block 1904. The WebPhone then extracts the userInfo data from the <CALL> packet and stores the information in a temporary data structure, as illustrated by procedural block 1905. The WebPhone then compares the information extracted from the <CALL> packet with the information profiles contained in the personal directory, as illustrated by procedural block 1906. After locating an information profile which matches the userInfo data from the <CALL> packet, the WebPhone determines whether any of the Response files associated with the information profile match the current status of the phone. If a match occurs, as illustrated by decisional block 1908 and procedural block 1910, the WebPhone will resolve any references to files contained within the matched Response file and will perform the designated activity, as illustrated by procedural 1914. Such activities may comprise playing a personalized outgoing message, rejecting the call of a specific party, displaying a bit map or a customized audio file to announce the incoming call, etc. as described hereinafter. In addition, the WebPhone will generate any responsive packets associated with the caller identified response, such as generation of an <ANS MACHINE> packet in the event the answering machine functionality is activated, or transmitting a <REJECT> packet, in the event the callers communications are to be rejected. It will be obvious to those reasonably skilled in the arts that other packets such as a <CALL ACK> packet may likewise be transmitted to the caller WebPhone process.
  • The previously described protocol, personal information directory structure, and described process provide a powerful mechanism in which to personally customize the response of a communications utility application depending on the source generating an incoming communication over a computer network. Specific examples of how this functionality may be utilized to generate caller identification based outgoing messages, priority notifications, and acceptance/rejection of calls are described hereinafter.
  • Caller Identification Based Out-Going Messages
  • Whether a calling WebPhone knows the Internet Protocol address of the callee WebPhone, as in the case of a fixed Internet Protocol address, or obtains the Internet Protocol address from global server 1500, as previously described, the calling sequence to establish a call is similar. WebPhone 1536 opens a socket to WebPhone 1538. Next, WebPhone 1536 transmits to WebPhone 1538 a <CALL> packet as illustrated by message 8 of FIG. 17A. In response to the <CALL> packet, WebPhone 1538 may return with a number of different packets, as illustrated by messages 9A-D of FIG. 17A. One possible response from callee WebPhone 1538 is to issue an <ANS MACHINE> packet, as illustrated by message 9C of FIG. 17A. The <ANSWER MACH> packet includes data indicating whether the machine is capable of receiving voice mail type messages.
  • Referring to FIG. 20, caller WebPhone 1536 transmits to WebPhone 1538 a <CALL> packet, as illustrated by message 1 of FIG. 20. In response, WebPhone 1538 returns an <ANS MACHINE> packet as follows, as illustrated by message 2 of FIG. 20. The <ANSWER MACH> packet has the format and data illustrated in Table 6. Next, callee WebPhone 1538 transmits to caller WebPhone 1536 one or more audio packet containing the <AUDIO> data comprising the answering machine message, as illustrated by message 3A-B of FIG. 20. The <AUDIO> packet has the format and data elements as illustrated in Table 6, including 512 bytes of audio data comprising the audioData field, similar to <AUDIO> packets comprising a real-time conversation between respective WebPhones, as illustrated by messages 11A-B of FIG. 17A. Once the message has been transmitted in its entirety, WebPhone 1538 transmits an <OGM END> packet indicting the end of the outgoing message from the answering machine, as illustrated by message 4 of FIG. 20. The <OGM END> packet has the format and data elements illustrated in Table 7.
  • Following receipt of the <OGM END> packet callee WebPhone 1538 may further transmit a <ANS FULL> packet indicating that the answering machine portion of WebPhone 1538 is full and incapable of receiving further audio voicemail messages, as illustrated by message 5 of FIG. 20. The <ANS FULL> packet has the format and data elements as illustrated in Table 7. Not all WebPhone applications have the ability to receive audio voicemail messages. The State field of the <ANS MACHINE> packet, defines whether or not the WebPhone answering machine is capable of receiving incoming voicemail messages. In the event that the callee WebPhone 1538 is capable of receiving voicemail messages and has not issued a <ANS FULL> packet, WebPhone 1536 will transmit an <AUDIO START> packet to WebPhone 1538, as illustrated in message 6 of FIG. 20. WebPhone 1536 will then transmit to WebPhone 1538 one or more <AUDIO> packets comprising the voicemail message, as illustrated by messages 7A-B of FIG. 20. Following the last <AUDIO> packet, WebPhone 1536 will transmit an <AUDIO END> packet to WebPhone 1538 symbolizing the end of the voicemail message, as illustrated by message 8 of FIG. 20.
  • The above-described communications protocol enables WebPhone processes to exchange both prerecorded outgoing messages and receive responsive voicemail messages when a WebPhone user has selected his WebPhone be routed to the answering machine functionality contain therein.
  • In accordance with one aspect of the invention, the outgoing message from the callee WebPhone may be specifically selected or tailored to individual caller WebPhones for either party specific or group specific outgoing messages. The WebPhone will utilize the value of a specific outgoing message file associated with the information profile and the appropriate response file in the personal directory to determine what outgoing message should be transmitted back to the caller WebPhone. For example, a WebPhone user may have recorded a generic message stating that the user is currently unavailable such message serving as the default outgoing message which will be received by the general calling public. However, for specific callers, such as business colleagues or loved ones, the user may specify an individually tailored outgoing message containing personal and/or private information. Using the personal information directory and process described in FIG. 18-20, the WebPhone architecture enables a WebPhone user to record a specific outgoing message and associate the message with one or more entries in the WebPhone user's personal directory. Alternatively, each entry in the directory may be associated with a default outgoing message. It will be obvious to those reasonably skilled in art that the number of individual outgoing messages and the length thereof a obvious choice of the system designer, and is typically based on the amount of memory available in the system.
  • The media player functionality contained within the WebPhone apparatus which is used to record specific outgoing messages is commercially available within the WebPhone application itself, from NetSpeak Corporation, Boca Raton, Fla. Accordingly, a description of either the graphic user interface or the underlying functionality utilized to record specific outgoing messages will not be described hereinafter.
  • As described previously, with reference to FIG. 17A WebPhone 1538 may respond to a <CALL> packet from WebPhone 1536 with a <REJECT> packet. The determination of which calls to reject can be performed unconditionally by activating the Do Not Disturb function of the WebPhone architecture or can be done selectively utilizing the previously described caller identification based response method described with reference to FIGS. 18-19. A WebPhone user may designate in the response file associated with a specific information profile whether to override the Do Not Disturb functionality, i.e. party specific call acceptance, or whether to specifically reject communications from a matched information profile when the Do Not Disturb functionality is inactive, i.e. group or party specific call blocking. The WebPhone application, as commercially available, provides a sophisticated graphic user interface which allows for intuitive easy selection of parties to be either accepted or rejected, and for recordation of messages to be associated therewith.
  • In accordance with another aspect of the invention, the previously described protocol and information directory may be utilized to customize audio and or graphic announcements of incoming calls. Specifically, when a <CALL> packet is received the user information contained therein is compared with the information profiles contained in the WebPhone personal information directory. If the userInfo in the packet matches one of the information profiles, and the state of one of the Response files matches the current state of the WebPhone architecture, the appropriate activity may be executed such as generating a special audio wave, such as the callers voice, and displaying a bit map of the callers image, as previously described. Any number unique audio waves may be recorded or graphic images displayed, including but not limited to execution of MIDI files or software or motion video files, to announce an incoming call.
  • In an alternate embodiment, the invention may be implemented as a computer program product for use with a computer system. Such implementation may comprise a series of computer instructions either fixed on a tangible medium, such as a computer readable media, e.g. diskette 1142, CD-ROM 1147, ROM 1115, or fixed disk 1152 of FIG. 11, or transmittable to a computer system, via a modem or other interface device, such as communications adapter 1190 connected to the network 1195 over a medium 1191. Medium 1191 can be either a tangible medium, including but not limited to optical or analog communications lines, or may be implemented with wireless techniques, including but not limited to microwave, infrared or other transmission techniques. The series of computer instructions embodies all or part of the functionality previously described herein with respect to the invention. Those skilled in the art will appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Further, such instructions may be stored using any memory technology, present or future, including, but not limited to, semiconductor, magnetic, optical or other memory devices, or transmitted using any communications technology, present or future, including but not limited to optical, infrared, microwave, or other transmission technologies. It is contemplated that such a computer program product may be distributed as a removable media with accompanying printed or electronic documentation, e.g., shrink wrapped software, preloaded with a computer system, e.g., on system ROM or fixed disk, or distributed from a server or electronic bulletin board over a network, e.g., the Internet or World Wide Web.
  • Although various exemplary embodiments of the invention have been disclosed, it will be apparent to those skill in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the spirit and scope of the invention. These and other obvious modifications are intended to be covered by the appended claims.
    TABLE 1
    Client Table
    Field Data Type Comments
    id ulong Unique ID Sequence
    activated char 0 = NO, 1 = YES
    activationDate ulong Secs since 00:00 UTC
    Jan. 1, 1970
    version capability ushort Version of the Webphone
    version protocol ushort
    version vendor ushort
    paid char 0 = NO, 1 = YES
    prePaidCode varchar(16)
    firstName varchar(10)
    lastName varchar(25)
    alias varchar(20)
    emailAddr varchar(90)
    IPAddr varchar(80) 0.0.0.0 if not known
    street varchar(50)
    apt varchar(5)
    city varchar(20)
    state varchar(20)
    country varchar(20)
    postalCode varchar(20)
    phone varchar(25)
    fax varchar(25)
    feature bits ulong WebPhone Feature Definitions
    company varchar(25) Company Name
    addrChanges char No. of address changes
    addrChangeDate ulong Secs since 00:00 UTC
    publish char 0 = NO, 1 = YES
    accessDate ulong Secs since 00:00 UTC
    accessCount ulong # of log ons
    callCount ulong # of outbound calls
    social security number ulong optional
    age ushort optional
    occupation code ushort optional
    interest codes ushort optional
    household income range ushort optional
  • TABLE 2
    Online Table
    Field Data Type Comments
    emailAddr varchar(90)
    IPAddr varchar(80)
    flags char
    onlineDate ulong Secs since 00:00 UTC
  • TABLE 3
    WebBoard Table
    Field Data Type Comments
    id ulong Unique ID Sequence
    image varchar(255) Filename of image file
    imageType char .GIF = 0, JPG = 1, RLE = 3
    audio varchar(255) Filename of TSP encoded.WAV
    file
    audioType char GSM = 0, TRUESPEECH = 1
    hits ulong Number of accrued hits
    hitsprofile varchar(8) Filename of Demographics
    version ulong version of WebBoard
    URL varchar (255) home page url
  • TABLE 4
    Weboard Config Table
    Field Data Type Comments
    count ulong Number of WebBoards
  • TABLE 5
    Source Table
    Field Data Type Comments
    id ulong Unique ID Seqence
    weboardID ulong Link to WebBoard record
    name varchar(50) Company's name
    url varchar(80 URL to Home Page
    street varchar(50)
    apt varchar(5)
    city varchar(20)
    state varchar(20)
    country varchar(20)
    postalCode varchar(20)
    phone varchar(25)
    fax varchar(25)
    contact varchar(35) Name of contact
  • TABLE 6
    WebPhone Protocol (WPP) Packet Definitions
    Packet Packet Type Direction Data
    Invalid WPP_INVALID
    Figure US20070086445A1-20070419-P00801
    WPP_INVALID
    Online Req WPP_ONLINEREQ WPP_ONLINEREQ, sid, version,
    emailAddr, IPAddr, onlineState,
    feature bits
    OnlineACK WPP ONLINEACK
    Figure US20070086445A1-20070419-P00802
    WPP_ONLINEACK, sid
    onlineStatus, feature bits
    Offline WPP_OFFLINE
    Figure US20070086445A1-20070419-P00801
    WPP_OFFLINE, sid
    Hello WPP_HELLO
    Figure US20070086445A1-20070419-P00801
    WPP_HELLO, sid, version
    Connect Req WPP_CONNECTREQ WPP_CONNECTREQ, sid,
    version, callType,
    partyEmailAddr, emailAddr,
    IPAddr, connectState
    Connect ACK WPP_CONNECTACK
    Figure US20070086445A1-20070419-P00801
    WPP_CONNECTACK, sid,
    connectStatus, partyIPaddr
    Call WPP_CALL
    Figure US20070086445A1-20070419-P00801
    WPP CALL sid, version,
    emailAddr, IPAddr, userInfo
    CallACK WPP_CALLACK
    Figure US20070086445A1-20070419-P00801
    WPP_CALLACK, sid, version,
    emailAddr, IpAddr, userInfo
    CnfCall WPP_CNFCALL
    Figure US20070086445A1-20070419-P00801
    WPP_CNFCALL, sid, version,
    emailAddr, IPAddr, userInfo
    CnfCallACK WPP_CNFCALLACK
    Figure US20070086445A1-20070419-P00801
    WPP_CNFCALLACK, sid,
    version
    Answer WPP_ANSWER
    Figure US20070086445A1-20070419-P00801
    WPP_ANSWER, sid
    Busy WPP_BUSY
    Figure US20070086445A1-20070419-P00801
    WPP_BUSY, sid
    AnsMachine WPP_ANSMACH
    Figure US20070086445A1-20070419-P00801
    WPP_ANSMACH, sid, state
    End WPP_END
    Figure US20070086445A1-20070419-P00801
    WPP_END, sid
    Hold WPP_HOLD
    Figure US20070086445A1-20070419-P00801
    WPP_HOLD, SID, (ON/OFF)
    Reject WPP_REJECT
    Figure US20070086445A1-20070419-P00801
    WPP_REJECT, sid
    Camp WPP_CAMP
    Figure US20070086445A1-20070419-P00801
    WPP_CAMP, sid
    CampACK WPP_CAMPACK
    Figure US20070086445A1-20070419-P00801
    WPP_CAMPACK, sid
    Audio WPP_AUDIO
    Figure US20070086445A1-20070419-P00801
    WPP_AUDIO, sid, audioType,
    silence, length, audioData
    Pulse WPP_PULSE WPP_PULSE, sid
    Adjpulse WPP_PULSE
    Figure US20070086445A1-20070419-P00802
    WPP_ADJPULSE, sid, adjPulse
    Vmail WPP_VMAIL
    Figure US20070086445A1-20070419-P00801
    WPP_VMAIL sid, audioType,
    silence, length, audioData
    VmailEnd WPP_VMAILEND
    Figure US20070086445A1-20070419-P00801
    WPP_VMAILEND, sid
    OgmEnd WPP_OGMEND
    Figure US20070086445A1-20070419-P00801
    WPP_OGMEND, sid
    CnfAdd WPP_CNFADD
    Figure US20070086445A1-20070419-P00801
    WPP_CNFADD, sid,
    partyEmailAddr, partyIPaddr,
    partInfo
    CnfDrop WPP_CNFDROP
    Figure US20070086445A1-20070419-P00801
    WPP_CNFDROP, sid
    FileXmtReq WPP_FILEXMTREQ
    Figure US20070086445A1-20070419-P00801
    WPP_FILEXMTREQ, sid,
    fileType, fileName, fileSize
    Vmail WPP_VMAIL
    Figure US20070086445A1-20070419-P00801
    WPP_VMAIL, sid, audioType,
    silence, length, audioData
    VmailEnd WPP_VMAILEND
    Figure US20070086445A1-20070419-P00801
    WPP_VMAILEND, sid
    OgmEnd WPP_OGMEND
    Figure US20070086445A1-20070419-P00801
    WPP_OGMEND, sid
    CnfAdd WPP_CNFADD
    Figure US20070086445A1-20070419-P00801
    WPP_CNFADD, sid,
    partyEmailAddr, partyIPaddr,
    partInfo
    CnfDrop WPP_CNFDROP
    Figure US20070086445A1-20070419-P00801
    WPP_CNFDROP, sid
    FileXmtReq WPP_FILEXMTREQ
    Figure US20070086445A1-20070419-P00801
    WPP_FILEXMTREQ, sid,
    fileType, fileName, fileSize
  • TABLE 7
    WebPhone Protocol (WPP) Packet Definitions
    Packet Packet Type Direction Data
    FileXmtAck WPP_FILEXMTACK
    Figure US20070086445A1-20070419-P00801
    WPP_FILEXMTACK, sid
    File WPP_FILE
    Figure US20070086445A1-20070419-P00801
    WPP_FILE, sid, length, fileData
    FileXmtEnd WPP_FILEXMTEND
    Figure US20070086445A1-20070419-P00801
    WPP_FILEXMTEND, sid
    FileXmtAbort WPP_FILEXMTABORT
    Figure US20070086445A1-20070419-P00801
    WPP_FILEXMTABORT, sid
    InfoReq WPP_INFOREQ WPP_INFOREQ, sid, query
    InfoACK WPP_INFOACK
    Figure US20070086445A1-20070419-P00802
    WPP_INFOACK, sid, nparties
    Info WPP_INFO
    Figure US20070086445A1-20070419-P00802
    WPP_INFO, sid, partyInfo
    InfoAbort WPP_INFOABORT WPP_INFOABORT, sid
    UserInfoReq WPP_USRINFOREQ
    Figure US20070086445A1-20070419-P00802
    WPP_USRINFOREQ, sid
    UserInfo WPP_USRINFO WPP_USRINFO, sid, version,
    userInfo
    WBImageStart WPP_WBIMAGESTART
    Figure US20070086445A1-20070419-P00802
    WPP_WBIMAGESTART, sid,
    fileSize, imageType, url
    WBImage WPP_WBIMAGE
    Figure US20070086445A1-20070419-P00802
    WPP_WBIMAGE, sid, length,
    imageData
    WBImageEnd WPP_WBIMAGEEND
    Figure US20070086445A1-20070419-P00802
    WPP_WBIMAGEEND, sid
    WBAudioStart WPP_WBAUDIOSTART
    Figure US20070086445A1-20070419-P00802
    WPP_WBAUDIOSTART, sid,
    fileSize, audioType
    WBAudio WPP_WBAUDIO
    Figure US20070086445A1-20070419-P00802
    WPP_WBAUDIO, sid, length,
    audioData
    WBAudioEnd WPP_WBAUDIOEND
    Figure US20070086445A1-20070419-P00802
    WPP_WBAUDIOEND, sid
    Registration WPP_REG
    Figure US20070086445A1-20070419-P00802
    WPP_REG, sid, feature bits,
    EEMAILAddr, customer id
    Audio Start WPP_AUDIO START
    Figure US20070086445A1-20070419-P00801
    WPP_AUDIO START, sid
    Audio End WPP_AUDIO END
    Figure US20070086445A1-20070419-P00801
    WPP_AUDIO END, sid
    Caller OK WPP_CALLEROK WPP_CALLEROK, sid, version,
    emailAddr, feature bits
    Caller ACK WPP_CALLERACK
    Figure US20070086445A1-20070419-P00802
    WPP_CALLERACK, sid,
    callerStatus, feature bits
    Key Pad WPP_KEYPAD
    Figure US20070086445A1-20070419-P00802
    WPP_KEYPAD, sid (ON/OFF)
    Key WPP_KEY WPP_KEY, sid, ascii character
    WBLIST WPP_WBLIST
    Figure US20070086445A1-20070419-P00802
    WPP_WBLIST, sid, list of WB IDs
    WBLIST REQ WPP_WBLISTREQ WPP_BBLISTREQ, sid
    WB REQ WPP_WEBBOARDREQ WPP_WEBBOARDREQ, sid,
    WBid, Client id
    WB HIT WPP_WEBBOARDHIT WPP_WWBOARDHIT, sid, WB
    id, Client id
    ANS FULL WPP_ANS FULL WPP_ANS FULL, sid
  • TABLE 8
    WebPhone Protocol (WPP) Packet Data Definitions
    Element Data Type Comment
    WPP_* unsigned char WPP message identifier
    sid unsigned long session id unique per call
    version unsigned(3) version of the webphone
    (capability, protocol, vendor)
    emailAddr varchar(90) email address of caller
    IPAddr varchar(80) IP Address
    onlineState unsigned char bit 0 (ACTIVE/INACTIVE)
    bit 1 (Merchant Phone)
    bit 2 (Connection Server)
    bit 3 (webboard disabled)
    bit 4 Not Used
    bit 5 Not Used
    bit 6 Not Used
    bit 7 Not Used
    call Type unsigned char call type 0: EMAIL/1: IPCALL
    partyEmailAddr varchar(90) email address of person to call
    connectStatus unsigned char 0: NO WEBPHONE
    1: ONLINE
    2: OFFLINE
    3: RECONNECT
    4: PERM_RECONNECT
    partyIPAddr varchar(80) IP Address of person to call
    userInfo varchar(120) firstName, LastName, alias,
    emailAddr, street, apt, city,
    state, country, postalCode,
    phone, fax, company
    audioType unsigned char audio compress type
    0: GSM
    1: TRUESPEECH
  • TABLE 9
    WebPhone Protocol (WPP) Packet Data Definitions
    Element Data Type Comment
    length unsigned short length of audio or data in bytes
    audioData 512 Bytes compressed audio data
    feature bits unsigned long WebPhone feature definition
    fileType unsigned char file type
    0: DATA
    1: EMAIL
    2: TEXT
    3: BINARY
    fileName varchar(13) name of file to be transmitted.
    fileSize unsigned long size of file to be transmitted in
    bytes
    fileData variable file data
    query varchar(120) firstName, lastName, company,
    city, state, country
    nparties unsigned long number of parties or query
    records being sent
    size unsigned long size of file (IMAGE or AUDIO) to
    be sent
    imageType unsigned char image type
    0: GIF
    1: JPG
    imageData 512 Bytes image data
    eemailAddr varchar(90) encrypted email Address
    onlineStatus unsigned char 0 OK
    −1 Error
    callerStatus unsigned char 0 is unpaid
    1 if paid
    onlineState unsigned char bit 0 webboard disabled
    bit
    1 Not Used
    bit 2 Not Used
    bit 3 Not Used
    bit 4 Not Used
    bit 5 Not Used
    bit 6 Not Used
    bit 7 Not Used
    WBid unsigned long link to WebBoard record
    adjpulse unsigned long timer offset in secs
  • TABLE 10
    Feature Definition
    feature bit
    0 0 = 1 line 1 = 4 lines
    bit 1 0 = Limited Call Time 1 = Unrestricted Call Time
    bit
    2 0 = Limited VMail OGM 1 = Unlimited Vmail OGM
    bit
    3 0 = Limited Directory Entries 1 = Unlimited Dir Entries
    bit 4 0 = Webboard Not Disabled 1 = Allowed to Disable
    bit 5 0 = Conferencing(audio) Disabled 1 = Conferencing Enabled
    bit 6 0 = Conferencing(video) Disabled 1 = Conferencing Enabled
    bit 7 0 = Whiteboard Disabled 1 = Whiteboard Enabled
    bit 8 0 = Offline voicemail Disabled 1 = Offline voicemail Enabled
    bit 9-27 Reserved
    bit 28-30 Type of Phone
    0 - Normal webphone
    1 - Agent
    2 - Business webphone
    3 - Gateway
    4 - ACD
    5-7 reserved
    bit 31 1 = Disable all WebPhone features
  • TABLE 11
    Offset Name Size Description
    Reserved Reserved
    +1 SessionID 4 Unique value for duration of this
    connection
    +5 Version 6 WebPhone version and distributor stamp
    +11 Codec 1 Audio compression algorithm selected
    +12 FirstName 10 Given name, middle initial
    +22 LastName 25 Surname
    +47 Alias 20 Nickname
    +67 EmailAddr 90 Caller's electronic mail address
    +157 IpAddr 80 Caller's WebPhone's Internet address
    +237 Street 50 Street address of user
    +287 Apt 20 Apartment or suite number
    +307 City 20 City name
    +327 State 20 State or province
    +347 Country 20 Country name
    +367 ZipCode 20 Zip or postal code
    +387 Phone 25 Telephone number
    +412 Fax 25 Facsimile telephone number
    +437 Company 25 Employer or organization name
    +487 File Name 25 Name of file
    +512 Action Code 25 Action descriptor
    +537 File Type 10 File type descriptor
    +547 Status 25 Status of WebPhone utility

Claims (22)

1. A method of selectively alerting a user of an incoming communication over a computer network comprising the steps of:
A. receiving an information profile identifying the source of the incoming communication; and
B. responding to the incoming communication in accordance with the identity of the source.
2. The method of claim 1 wherein step B comprises:
B.1generating a notification signal based on the identity of the source.
3. The method of claim 2 wherein step B.1 further comprises:
B.1.1 associating a notification signal with selected of a plurality of information profiles.
4. The method of claim 3 wherein step B.1 further comprises:
B.1.2 comparing the information profile identifying the source with the plurality of information profiles.
5. The method of claim 4 wherein step B.1 further comprises:
B.1.3 generating the notification signal associated with one of the plurality of selected information profiles if said one information profile matches the information profile identifying the source of the incoming communication.
6. The method of claim 5 wherein step B.1 further comprises:
B.1.4 associating at least one of a plurality of notification signals with at least one of the plurality of information profiles.
7. The method of claim 2 wherein step B.1 further comprises:
B.1.1 comparing a notification signal identifier contained in the information profile identifying the source of the incoming communication with a plurality of notification signal identifiers.
8. The method of claim 7 wherein step B.1 further comprises:
B.1.2 generating the notification signal associated with one of the plurality of notification signal identifiers if said one notification signal identifier matches the notification signal identifier contained within the information profile identifying the source.
9. The method of claim 2 wherein the notification signal comprises an audio signal.
10. The method of claim 2 wherein the notification signal comprises a graphic image signal.
11. The method of claim 2 wherein the notification signal comprises a haptic sensor signal.
12. A computer program product for use with a computer system operatively couple to a computer network, the computer program product comprises a computer useable medium having embodied therein program code means comprising:
A. program code means for receiving an incoming communication over the computer network, the incoming communication containing an information profile identifying the source of the incoming communication; and
B. program code means, responsive to the information profile, for selectively notifying a user of the incoming communication in accordance with the identity of the source.
13. The computer program product of claim 12 wherein the program code means for notifying comprises:
program code means for generating a notification signal based on the identity of the source.
14. The computer program product of claim 13 wherein the program code means for generating further comprises:
program code means for associating a notification signal with selected of a plurality of information profiles.
15. A computer program product of claim 14 wherein the program code means for generating further comprises:
program code means for comparing the information profile identifying the source with the plurality of information profiles.
16. The computer program product of claim 15 wherein the program code means for generating further comprises:
program code means for generating the notification signal associated with one of the selected plurality of information profiles if said one information profile matches the information profile identifying the source of the incoming communication.
17. The computer program product of claim 16 wherein the program code means for generating further comprises:
program code means for associating at least one of a plurality of notification signals with at least one of the plurality of information profiles.
18. The computer program product of claim 13 wherein the program code means for generating further comprises:
program codes for comparing a notification signal identifier contained within the information profile identifying the source of the incoming communication with a plurality of notification signal identifiers.
19. The computer program product of claim 18 wherein the program code means for generating further comprises:
program code means for generating the notification signal associated with one of the plurality of notification signal identifiers if said one notification signal identifier matches the notification signal identifier contained within the information profile identifying the source of the incoming communication.
20. The computer program product of claim 13 wherein the notification signal comprises an audio signal.
21. The computer program product of claim 13 wherein the notification signal comprises an graphic image signal.
22. The computer program product of claim 13 wherein the notification signal comprises a haptic sensor signal.
US11/637,099 1995-09-25 2006-12-12 Method and apparatus for providing caller identification based responses in a computer telephony environment Abandoned US20070086445A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/637,099 US20070086445A1 (en) 1995-09-25 2006-12-12 Method and apparatus for providing caller identification based responses in a computer telephony environment

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/533,115 US6108704A (en) 1995-09-25 1995-09-25 Point-to-point internet protocol
US2425196P 1996-08-21 1996-08-21
US2541596P 1996-09-04 1996-09-04
US08/719,639 US7149208B2 (en) 1995-09-25 1996-09-25 Method and apparatus for providing caller identification based responses in a computer telephony environment
US11/637,099 US20070086445A1 (en) 1995-09-25 2006-12-12 Method and apparatus for providing caller identification based responses in a computer telephony environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/719,639 Continuation US7149208B2 (en) 1995-09-25 1996-09-25 Method and apparatus for providing caller identification based responses in a computer telephony environment

Publications (1)

Publication Number Publication Date
US20070086445A1 true US20070086445A1 (en) 2007-04-19

Family

ID=24124548

Family Applications (8)

Application Number Title Priority Date Filing Date
US08/533,115 Expired - Lifetime US6108704A (en) 1995-09-25 1995-09-25 Point-to-point internet protocol
US08/719,639 Expired - Fee Related US7149208B2 (en) 1995-09-25 1996-09-25 Method and apparatus for providing caller identification based responses in a computer telephony environment
US08/719,554 Expired - Lifetime US6131121A (en) 1995-09-25 1996-09-25 Point-to-point computer network communication utility utilizing dynamically assigned network protocol addresses
US09/345,221 Expired - Fee Related US6829645B1 (en) 1995-09-25 1999-06-30 Method and apparatus for establishing point-to-point communications over a computer network
US09/343,278 Expired - Fee Related US6687738B1 (en) 1995-09-25 1999-06-30 Establishing an internet telephone call using e-mail
US09/345,222 Expired - Lifetime US6701365B1 (en) 1995-09-25 1999-06-30 Point-to-point internet protocol
US09/407,270 Expired - Lifetime US6513066B1 (en) 1995-09-25 1999-09-29 Establishing a point-to-point internet communication
US11/637,099 Abandoned US20070086445A1 (en) 1995-09-25 2006-12-12 Method and apparatus for providing caller identification based responses in a computer telephony environment

Family Applications Before (7)

Application Number Title Priority Date Filing Date
US08/533,115 Expired - Lifetime US6108704A (en) 1995-09-25 1995-09-25 Point-to-point internet protocol
US08/719,639 Expired - Fee Related US7149208B2 (en) 1995-09-25 1996-09-25 Method and apparatus for providing caller identification based responses in a computer telephony environment
US08/719,554 Expired - Lifetime US6131121A (en) 1995-09-25 1996-09-25 Point-to-point computer network communication utility utilizing dynamically assigned network protocol addresses
US09/345,221 Expired - Fee Related US6829645B1 (en) 1995-09-25 1999-06-30 Method and apparatus for establishing point-to-point communications over a computer network
US09/343,278 Expired - Fee Related US6687738B1 (en) 1995-09-25 1999-06-30 Establishing an internet telephone call using e-mail
US09/345,222 Expired - Lifetime US6701365B1 (en) 1995-09-25 1999-06-30 Point-to-point internet protocol
US09/407,270 Expired - Lifetime US6513066B1 (en) 1995-09-25 1999-09-29 Establishing a point-to-point internet communication

Country Status (12)

Country Link
US (8) US6108704A (en)
EP (3) EP1379039A3 (en)
JP (5) JPH11515148A (en)
KR (1) KR100414512B1 (en)
CN (1) CN1108049C (en)
AU (1) AU727702B2 (en)
BR (1) BR9610980A (en)
CA (1) CA2231127C (en)
DE (1) DE69632195T2 (en)
HK (1) HK1017192A1 (en)
MX (1) MX9802341A (en)
WO (1) WO1997014234A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256188A1 (en) * 2005-05-02 2006-11-16 Mock Wayne E Status and control icons on a continuous presence display in a videoconferencing system
US20070038779A1 (en) * 1996-05-01 2007-02-15 Hickman Paul L Method and apparatus for accessing a wide area network
US20070189196A1 (en) * 2005-04-12 2007-08-16 Santera Systems, Inc. Dynamic loading for signaling variants
US20070280228A1 (en) * 2006-06-06 2007-12-06 Murata Kikai Kabushiki Kaisha Communication system and remote diagnosis system
US20080256454A1 (en) * 2007-04-13 2008-10-16 Sap Ag Selection of list item using invariant focus location
US20090268887A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation System and method to handle phone line services during modem dial-up connection
US20100005178A1 (en) * 2006-10-24 2010-01-07 Catalin Sindelaru Method and system for firewall friendly real-time communication
US7664097B2 (en) 1996-04-18 2010-02-16 Verizon Services Corp. Telephone service via networking
US7813332B1 (en) 1997-03-19 2010-10-12 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US7817619B1 (en) 1996-12-18 2010-10-19 Verizon Services Corp. Internet long distance telephone service
US7830860B2 (en) 1997-03-11 2010-11-09 Verizon Services Corp. Packet data network voice call quality monitoring
US7835344B1 (en) 1997-03-19 2010-11-16 Verizon Services Corp. Transport of caller identification information through diverse communication networks
US7948968B2 (en) 1997-09-16 2011-05-24 Verizon Communications Inc. Network session management
US20120047253A1 (en) * 2008-03-28 2012-02-23 Microsoft Corporation Network topology detection using a server
US20120140763A1 (en) * 2010-12-01 2012-06-07 Kevin Mundt Unified communications ip phone using an information handling system host
US8379531B2 (en) 1996-04-18 2013-02-19 Verizon Services Corp. Telephony communication via varied redundant networks

Families Citing this family (403)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389010B1 (en) * 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
US20100208634A1 (en) 1994-10-11 2010-08-19 Arbinet Corporation System and Method For Managing Multimedia Communications Across Convergent Networks
US6188756B1 (en) * 1994-10-11 2001-02-13 Alexander Mashinsky Efficient communication through networks
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
CA2201909C (en) 1994-10-12 2006-05-02 Technical Maintenance Corporation Intelligent digital audiovisual playback system
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US7424731B1 (en) 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
AU7093896A (en) * 1995-10-11 1997-04-30 Alexander Mashinsky Efficient communication through networks
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US7032185B1 (en) * 1995-12-29 2006-04-18 Microsoft Corporation Graphical method and system for accessing information on a communications network
US7035914B1 (en) * 1996-01-26 2006-04-25 Simpleair Holdings, Inc. System and method for transmission of data
US6343115B1 (en) * 1996-02-13 2002-01-29 At&T Corp Method of announcing an internet call
GB2310970A (en) * 1996-03-05 1997-09-10 Ibm Voice mail on the Internet
JP3471523B2 (en) * 1996-05-21 2003-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Communication method and communication terminal
GB9615029D0 (en) * 1996-07-17 1996-09-04 British Telecomm Internet call centre
CA2263264C (en) * 1996-08-14 2006-11-28 Northern Telecom Limited Internet-based telephone call manager
US6728784B1 (en) * 1996-08-21 2004-04-27 Netspeak Corporation Collaborative multimedia architecture for packet-switched data networks
FR2753868A1 (en) 1996-09-25 1998-03-27 Technical Maintenance Corp METHOD FOR SELECTING A RECORDING ON AN AUDIOVISUAL DIGITAL REPRODUCTION SYSTEM AND SYSTEM FOR IMPLEMENTING THE METHOD
US6448978B1 (en) * 1996-09-26 2002-09-10 Intel Corporation Mechanism for increasing awareness and sense of proximity among multiple users in a network system
US6438586B1 (en) * 1996-09-30 2002-08-20 Emc Corporation File transfer utility which employs an intermediate data storage system
IL119364A (en) * 1996-10-06 2000-11-21 Icq Inc Communications system
US6909708B1 (en) 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US6690654B2 (en) * 1996-11-18 2004-02-10 Mci Communications Corporation Method and system for multi-media collaboration between remote parties
US6754181B1 (en) 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US6335927B1 (en) 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US7031441B1 (en) * 1996-12-30 2006-04-18 Intel Corporation Method and apparatus for supporting on-demand connectivity for network applications
JP3708268B2 (en) * 1997-01-22 2005-10-19 松下電器産業株式会社 Internet phone server device and call system using the Internet
US6731625B1 (en) 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6750881B1 (en) 1997-02-24 2004-06-15 America Online, Inc. User definable on-line co-user lists
US7490169B1 (en) 1997-03-31 2009-02-10 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US7143177B1 (en) 1997-03-31 2006-11-28 West Corporation Providing a presentation on a network having a plurality of synchronized media types
EP1021917A4 (en) * 1997-03-31 2002-05-15 Broadband Associates Method and system for providing a presentation on a network
US7412533B1 (en) 1997-03-31 2008-08-12 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US5943478A (en) 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
KR19980086889A (en) * 1997-05-15 1998-12-05 이데이 노부유끼 Data communication method, data communication terminal, data communication system and communication control system
US6385195B2 (en) 1997-07-21 2002-05-07 Telefonaktiebolaget L M Ericsson (Publ) Enhanced interworking function for interfacing digital cellular voice and fax protocols and internet protocols
IL121501A (en) * 1997-08-08 2003-04-10 Icq Inc Telephone-status notification system
US6424647B1 (en) * 1997-08-13 2002-07-23 Mediaring.Com Ltd. Method and apparatus for making a phone call connection over an internet connection
US6243376B1 (en) * 1997-08-13 2001-06-05 Mediaring.Com Ltd. Method and apparatus for making a phone call connection over the internet connection
US6199102B1 (en) 1997-08-26 2001-03-06 Christopher Alan Cobb Method and system for filtering electronic messages
FR2769165B1 (en) 1997-09-26 2002-11-29 Technical Maintenance Corp WIRELESS SYSTEM WITH DIGITAL TRANSMISSION FOR SPEAKERS
US6963905B1 (en) * 1997-09-29 2005-11-08 Emc Corporation System and method including a communication interface for transferring information between at least two processes
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6144657A (en) * 1997-11-06 2000-11-07 Sun Microsystems, Inc. Remote device connection to a network
GB2331197B (en) 1997-11-11 2002-10-02 Ericsson Telefon Ab L M Method of handling a telephone call
US5960442A (en) * 1997-11-12 1999-09-28 Genesys Telecommunications Laboratories, Inc. Real-time interactive directory
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6594230B1 (en) * 1998-02-23 2003-07-15 Lucent Technologies Inc. System and method for providing advanced calling features to a packet network-based communication device and packet network employing the same
US6181694B1 (en) 1998-04-03 2001-01-30 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communciations using intelligently bridged TDM and packet buses
US6389009B1 (en) * 2000-12-28 2002-05-14 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses
US7072330B2 (en) * 1998-04-03 2006-07-04 Consolidated Ip Holdings, Inc. Systems for voice and data communications having TDM and packet buses and telephony station cards including voltage generators
US20090059818A1 (en) * 1998-04-03 2009-03-05 Pickett Scott K Systems and methods for providing configurable caller id iformation
US6498791B2 (en) 1998-04-03 2002-12-24 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US6539077B1 (en) * 1998-06-05 2003-03-25 Netnumber.Com, Inc. Method and apparatus for correlating a unique identifier, such as a PSTN telephone number, to an internet address to enable communications over the internet
US7522931B2 (en) * 1998-06-05 2009-04-21 Netnumber, Inc. Method and apparatus for accessing a network computer to establish a push-to-talk session
EP0964558A1 (en) * 1998-06-08 1999-12-15 THOMSON multimedia Method for accessing internet applications from home network devices
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US8254371B2 (en) * 1998-06-26 2012-08-28 Alcatel Lucent Method and system for routing and security for telephone calls over a packet-switched network
JP3042504B2 (en) * 1998-07-03 2000-05-15 富士通株式会社 Recording medium storing communication control program, communication control method, and communication control device
US6560239B1 (en) * 1998-07-08 2003-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Retaining a data communication while responding to a paging notification
FR2781582B1 (en) 1998-07-21 2001-01-12 Technical Maintenance Corp SYSTEM FOR DOWNLOADING OBJECTS OR FILES FOR SOFTWARE UPDATE
US7277424B1 (en) 1998-07-21 2007-10-02 Dowling Eric M Method and apparatus for co-socket telephony
FR2781591B1 (en) 1998-07-22 2000-09-22 Technical Maintenance Corp AUDIOVISUAL REPRODUCTION SYSTEM
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781580B1 (en) 1998-07-22 2000-09-22 Technical Maintenance Corp SOUND CONTROL CIRCUIT FOR INTELLIGENT DIGITAL AUDIOVISUAL REPRODUCTION SYSTEM
US6112227A (en) 1998-08-06 2000-08-29 Heiner; Jeffrey Nelson Filter-in method for reducing junk e-mail
US20100030838A1 (en) * 1998-08-27 2010-02-04 Beepcard Ltd. Method to use acoustic signals for computer communications
IL127569A0 (en) 1998-09-16 1999-10-28 Comsense Technologies Ltd Interactive toys
US6801952B2 (en) * 1998-08-31 2004-10-05 Nortel Networks Limited Method and devices for providing network services from several servers
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
WO2000021020A2 (en) 1998-10-02 2000-04-13 Comsense Technologies, Ltd. Card for interaction with a computer
US6607136B1 (en) 1998-09-16 2003-08-19 Beepcard Inc. Physical presence digital authentication system
US6618369B1 (en) * 1998-09-29 2003-09-09 Lg Electronics Inc. Internet phone protocol
US7293107B1 (en) 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
AU6410699A (en) 1998-10-13 2000-05-01 Chris Cheah Method and system for controlled distribution of information over a network
US7116656B1 (en) * 1998-10-23 2006-10-03 Verizon Laboratories Inc. Multi-line appearance telephony via a computer network
US6961748B2 (en) * 1998-10-27 2005-11-01 Murrell Stephen J Uniform network access
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6839759B2 (en) 1998-10-30 2005-01-04 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information
EP1125419B1 (en) 1998-10-30 2009-08-26 VirnetX Inc. An agile network protocol for secure communications with assured system availability
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6442591B1 (en) * 1998-11-02 2002-08-27 International Business Machines Corporation Method and system for automatic electronic mail address maintenance
US7451195B1 (en) * 1998-11-16 2008-11-11 Lucent Technologies Inc. Method and system for operating a PDA for use with an IP phone device
US6522875B1 (en) 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
US6442169B1 (en) 1998-11-20 2002-08-27 Level 3 Communications, Inc. System and method for bypassing data from egress facilities
US6614781B1 (en) 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
CN1074561C (en) * 1998-12-04 2001-11-07 谢建平 Method for distributing address among computers acceding to the network by using full digital code
US6338068B1 (en) * 1998-12-14 2002-01-08 International Business Machines Corporation Method to demonstrate software that performs database queries
US6366962B1 (en) * 1998-12-18 2002-04-02 Intel Corporation Method and apparatus for a buddy list
US6810036B1 (en) * 1998-12-31 2004-10-26 Nortel Networks Limited Caller IP address
JP3418563B2 (en) * 1999-01-20 2003-06-23 昇作 川合 Network communication system
FR2788918B1 (en) 1999-01-22 2002-10-04 Sagem METHOD FOR ESTABLISHING A COMMUNICATION BETWEEN TWO INFORMATION TRANSMISSION DEVICES CONNECTED TO AN INTERNET-TYPE COMPUTER NETWORK, AND LINK SERVER BETWEEN THE EQUIPMENTS
FR2789254B1 (en) * 1999-02-02 2001-03-02 Sagem MOBILE TELEPHONE OF A CELLULAR TELEPHONY NETWORK AND THE INTERNET
US6434617B1 (en) * 1999-02-22 2002-08-13 Hewlett-Packard Co. Extensible, object-oriented network interface
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
AU4006400A (en) * 1999-03-06 2000-09-28 Dti Networks, Inc. System and method for administrating call and call feature set-up in a telecommunications network
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
DE19914876A1 (en) * 1999-04-01 2000-10-05 Jobst Hensiek Point-to-point connection set-up for video telephone call using dynamic address allocation
US6262724B1 (en) * 1999-04-15 2001-07-17 Apple Computer, Inc. User interface for presenting media information
AU5004200A (en) * 1999-05-11 2000-11-21 Visitalk.Com, Inc. System and method for facilitating communications over a distributed electronic network
US6535506B1 (en) * 1999-05-11 2003-03-18 Click Interconnect, Inc. Method and apparatus for establishing communications with a remote node on a switched network based on hypertext calling received from a packet network
EP1186144B1 (en) * 1999-06-08 2013-10-23 The Trustees of Columbia University in the City of New York Network telephony appliance and system for inter/intranet telephony
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6754202B1 (en) * 1999-06-15 2004-06-22 Altigen Communications, Inc. Network call-back data capture method and apparatus
US6502062B1 (en) * 1999-06-21 2002-12-31 Lucent Technologies Inc. System and method for scheduling data delivery using flow and stretch algorithms
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
FR2796482B1 (en) 1999-07-16 2002-09-06 Touchtunes Music Corp REMOTE MANAGEMENT SYSTEM FOR AT LEAST ONE AUDIOVISUAL INFORMATION REPRODUCING DEVICE
US6765902B1 (en) * 1999-08-27 2004-07-20 Cisco Technology, Inc. Method and apparatus for network-based telephone communication without a separate call manager unit
US7060925B1 (en) * 1999-08-31 2006-06-13 United States Of America Postal Service Apparatus and methods for processing mailpiece information by an identification code server
US7081595B1 (en) 1999-08-31 2006-07-25 United States Postal Service Apparatus and methods for processing mailpiece information in a mail processing device using sorter application software
CN100361541C (en) * 1999-09-08 2008-01-09 高通股份有限公司 Efficient early protocol detecting method
US8019609B2 (en) 1999-10-04 2011-09-13 Dialware Inc. Sonic/ultrasonic authentication method
US6650652B1 (en) 1999-10-12 2003-11-18 Cisco Technology, Inc. Optimizing queuing of voice packet flows in a network
EP1093253A3 (en) * 1999-10-16 2002-08-21 Elsa AG Virtual private network
US6785724B1 (en) * 1999-11-02 2004-08-31 Walchem Corporation On-demand web server
US6393017B1 (en) 1999-11-17 2002-05-21 Worldcom, Inc. Virtual PBX system
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
US20010024436A1 (en) * 1999-12-17 2001-09-27 Keith Barraclough Voice-over IP audio-data terminal processor
US6766359B1 (en) * 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US7068668B2 (en) 2000-01-07 2006-06-27 Feuer Donald S Method and apparatus for interfacing a public switched telephone network and an internet protocol network for multi-media communication
KR100337757B1 (en) * 2000-01-08 2002-05-24 송병준 Method for Communication Between Clients Using Java Language
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US6822635B2 (en) 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
US6847819B1 (en) * 2000-01-31 2005-01-25 Qualcomm Incorporated Adaptive transport TCP/IP phone management
FR2805377B1 (en) 2000-02-23 2003-09-12 Touchtunes Music Corp EARLY ORDERING PROCESS FOR A SELECTION, DIGITAL SYSTEM AND JUKE-BOX FOR IMPLEMENTING THE METHOD
FR2805072B1 (en) 2000-02-16 2002-04-05 Touchtunes Music Corp METHOD FOR ADJUSTING THE SOUND VOLUME OF A DIGITAL SOUND RECORDING
FR2805060B1 (en) 2000-02-16 2005-04-08 Touchtunes Music Corp METHOD FOR RECEIVING FILES DURING DOWNLOAD
US20020034281A1 (en) * 2000-02-22 2002-03-21 Ellen Isaacs System and method for communicating via instant messaging
US6760754B1 (en) * 2000-02-22 2004-07-06 At&T Corp. System, method and apparatus for communicating via sound messages and personal sound identifiers
US7043530B2 (en) * 2000-02-22 2006-05-09 At&T Corp. System, method and apparatus for communicating via instant messaging
US20020039388A1 (en) * 2000-02-29 2002-04-04 Smart Kevin J. High data-rate powerline network system and method
US6678729B1 (en) * 2000-02-29 2004-01-13 Worldcom, Inc. Method of monitoring the availability of a messaging and VOIP networking
CA2403520C (en) 2000-03-17 2008-06-03 America Online, Inc. Voice instant messaging
JP3895092B2 (en) * 2000-03-24 2007-03-22 富士通株式会社 Communications system
CN1422482A (en) * 2000-03-30 2003-06-04 高通股份有限公司 Method and apparatus for a mobile station application to identify specified events
WO2001076205A1 (en) * 2000-03-31 2001-10-11 Coppercom, Inc. Telecommunications system and methods
US7188175B1 (en) 2000-04-06 2007-03-06 Web.Com, Inc. Method and system for communicating between clients in a computer network
IL135554A0 (en) * 2000-04-09 2001-05-20 Lea D Corp Ltd Method and system for end-to-end communication through the internet transmission infrastructure
US8157610B1 (en) * 2000-04-11 2012-04-17 Disney Enterprises, Inc. Location-sensitive toy and method therefor
IL135779A0 (en) * 2000-04-21 2001-05-20 Lea D Corp Ltd Method for global network naming and a method to use said method for giving internet addresses
US7979802B1 (en) 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US8122363B1 (en) 2000-05-04 2012-02-21 Aol Inc. Presence status indicator
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US9043418B2 (en) 2000-05-04 2015-05-26 Facebook, Inc. Systems and methods for instant messaging persons referenced in an electronic message
US6912564B1 (en) 2000-05-04 2005-06-28 America Online, Inc. System for instant messaging the sender and recipients of an e-mail message
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US8132110B1 (en) 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US7324635B2 (en) 2000-05-04 2008-01-29 Telemaze Llc Branch calling and caller ID based call routing telephone features
US6742044B1 (en) * 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
FR2808906B1 (en) 2000-05-10 2005-02-11 Touchtunes Music Corp DEVICE AND METHOD FOR REMOTELY MANAGING A NETWORK OF AUDIOVISUAL INFORMATION REPRODUCTION SYSTEMS
US7546337B1 (en) 2000-05-18 2009-06-09 Aol Llc, A Delaware Limited Liability Company Transferring files
US7962603B1 (en) 2000-06-06 2011-06-14 Nobuyoshi Morimoto System and method for identifying individual users accessing a web site
US7366779B1 (en) 2000-06-19 2008-04-29 Aol Llc, A Delaware Limited Liability Company Direct file transfer between subscribers of a communications system
FR2811175B1 (en) 2000-06-29 2002-12-27 Touchtunes Music Corp AUDIOVISUAL INFORMATION DISTRIBUTION METHOD AND AUDIOVISUAL INFORMATION DISTRIBUTION SYSTEM
US8001190B2 (en) 2001-06-25 2011-08-16 Aol Inc. Email integrated instant messaging
US7590539B1 (en) * 2000-06-28 2009-09-15 At&T Intellectual Property I, L.P. System and method for email notification
FR2811114B1 (en) 2000-06-29 2002-12-27 Touchtunes Music Corp DEVICE AND METHOD FOR COMMUNICATION BETWEEN A SYSTEM FOR REPRODUCING AUDIOVISUAL INFORMATION AND AN ELECTRONIC ENTERTAINMENT MACHINE
US7159008B1 (en) 2000-06-30 2007-01-02 Immersion Corporation Chat interface with haptic feedback functionality
US7895335B2 (en) 2000-06-30 2011-02-22 Aol Inc. Enabling communications of electronic data between an information requestor and a geographically proximate service provider
WO2002003217A1 (en) * 2000-06-30 2002-01-10 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
ATE502477T1 (en) 2000-07-25 2011-04-15 America Online Inc VIDEO MESSAGING
US6836765B1 (en) * 2000-08-30 2004-12-28 Lester Sussman System and method for secure and address verifiable electronic commerce transactions
US7187670B2 (en) 2000-09-01 2007-03-06 Nextlink.To A/S Communications terminal, a system and a method for internet/network telephony
FR2814085B1 (en) 2000-09-15 2005-02-11 Touchtunes Music Corp ENTERTAINMENT METHOD BASED ON MULTIPLE CHOICE COMPETITION GAMES
KR20020027807A (en) * 2000-10-05 2002-04-15 이종석 internet based telephone service method
US6782091B1 (en) 2000-10-13 2004-08-24 Dunning Iii Emerson C Virtual call distribution system
KR20020032249A (en) * 2000-10-26 2002-05-03 이종우 A Client Computer Executable Method for servicing Internet communication
US6965914B2 (en) 2000-10-27 2005-11-15 Eric Morgan Dowling Negotiated wireless peripheral systems
US7035932B1 (en) 2000-10-27 2006-04-25 Eric Morgan Dowling Federated multiprotocol communication
US6901429B2 (en) 2000-10-27 2005-05-31 Eric Morgan Dowling Negotiated wireless peripheral security systems
JP2002152249A (en) * 2000-11-06 2002-05-24 Sanyo Electric Co Ltd Connection method and phone system
US8554617B2 (en) 2007-10-02 2013-10-08 Ingenio Llc Systems and methods to provide alternative connections for real time communications
US6961773B2 (en) 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US6988148B1 (en) 2001-01-19 2006-01-17 Cisco Technology, Inc. IP pool management utilizing an IP pool MIB
JP2002237907A (en) * 2001-02-09 2002-08-23 Yoji Takeuchi Internet ip telephone communication system enabling voice call between two parties through use of exclusive telephone set over the internet, and exclusive telephone set for internet ip telephone communication system, management method for ip address information used for basic data of internet ip telephone communication function, automatic reception transmission method for reception/transmission between the internet ip telephone communication exclusive set and general telephone, and computer-readable recording medium for recording internet ip telephone communication program
DE60103610T2 (en) * 2001-03-02 2005-06-16 Hewlett-Packard Development Co., L.P., Houston Providing services for portable information devices via an information technology network
US20020133402A1 (en) 2001-03-13 2002-09-19 Scott Faber Apparatus and method for recruiting, communicating with, and paying participants of interactive advertising
JP2002278903A (en) * 2001-03-15 2002-09-27 Sony Corp Information processor, information processing method, recording medium and program
US9219708B2 (en) 2001-03-22 2015-12-22 DialwareInc. Method and system for remotely authenticating identification devices
US7512407B2 (en) * 2001-03-26 2009-03-31 Tencent (Bvi) Limited Instant messaging system and method
US20020143573A1 (en) * 2001-04-03 2002-10-03 Bryce John M. Integrated automated recruiting management system
US7277922B1 (en) * 2001-04-10 2007-10-02 At&T Bls Intellectual Property, Inc Completion of internet session notification service
US7702801B1 (en) * 2001-04-19 2010-04-20 Advanced Micro Devices, Inc. Determining logon status in a broadband network system and automatically restoring logon connectivity
US6728731B2 (en) * 2001-05-15 2004-04-27 Yahoo!, Inc. Method and apparatus for accessing targeted, personalized voice/audio web content through wireless devices
US7353252B1 (en) 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US7143164B2 (en) 2001-05-21 2006-11-28 Exigen Group Dynamic object library software architecture
US7788345B1 (en) * 2001-06-04 2010-08-31 Cisco Technology, Inc. Resource allocation and reclamation for on-demand address pools
US7197549B1 (en) 2001-06-04 2007-03-27 Cisco Technology, Inc. On-demand address pools
JP4319791B2 (en) * 2001-06-08 2009-08-26 パナソニック コミュニケーションズ株式会社 Data communication apparatus and internet facsimile apparatus
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US7213211B1 (en) 2001-07-03 2007-05-01 Dynamic Knowledge Transfer, Llc System for knowledge transfer in a group setting
DE10133833A1 (en) * 2001-07-12 2003-01-30 Siemens Ag Making packet data connection between variable address stations in network transmits point-to-point packet connection request, followed by temporary address request
US6704403B2 (en) 2001-09-05 2004-03-09 Ingenio, Inc. Apparatus and method for ensuring a real-time connection between users and selected service provider using voice mail
JP4446368B2 (en) * 2001-09-14 2010-04-07 富士通株式会社 Collaboration method, system, program, and recording medium
US7774711B2 (en) 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
US7512652B1 (en) 2001-09-28 2009-03-31 Aol Llc, A Delaware Limited Liability Company Passive personalization of buddy lists
US7016965B2 (en) * 2001-11-13 2006-03-21 International Business Machines Corporation System and method for asynchronously reading data across secure sockets layer sessions
US7366784B2 (en) * 2001-11-27 2008-04-29 Hitachi, Ltd. System and method for providing and using a VLAN-aware storage device
US7707591B2 (en) * 2002-02-05 2010-04-27 Talkway, Inc. Integration of audio or video program with application program
AU2003208585A1 (en) * 2002-02-15 2003-09-04 Lead I P Systems Ltd. End-to-end network communication
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7937443B2 (en) * 2002-03-10 2011-05-03 Talkway, Inc. Email messaging program with built-in video and/or audio media recording and/or playback capabilities
US7729487B2 (en) * 2002-03-29 2010-06-01 At&T Intellectual Property I, L.P. Custom ringtones for wireline telephones
US7542773B2 (en) * 2002-03-29 2009-06-02 At&T Intellectual Property I, L.P. Customized alerts for incoming data messages
US7526076B2 (en) * 2002-03-29 2009-04-28 At&T Intellectual Property I, L.P. Audio delivery of caller identification information
US7729687B2 (en) 2002-04-01 2010-06-01 At&T Intellectual Property I, L.P. Audio delivery of callerid information to a wireless communications device
US7867092B2 (en) * 2002-04-08 2011-01-11 Igt Gaming apparatus with an optical wireless system
US7869424B2 (en) * 2002-07-01 2011-01-11 Converged Data Solutions Inc. Systems and methods for voice and data communications including a scalable TDM switch/multiplexer
US7706359B2 (en) * 2002-07-01 2010-04-27 Converged Data Solutions, Inc. Systems and methods for voice and data communications including a network drop and insert interface for an external data routing resource
US7379421B1 (en) * 2002-07-23 2008-05-27 At&T Delaware Intellectual Property, Inc. System and method for forwarding messages
GB2391436B (en) * 2002-07-30 2005-12-21 Livedevices Ltd Server initiated internet communication
US20040054781A1 (en) * 2002-07-30 2004-03-18 Heng-Chien Chen Method for establishing point to point or point to multiple points internet connection(s)
AU2003221026B2 (en) * 2002-07-30 2004-10-07 Transpace Tech Co., Ltd Method for establishing point to point or point to multiple points internet connection(s)
US7143435B1 (en) * 2002-07-31 2006-11-28 Cisco Technology, Inc. Method and apparatus for registering auto-configured network addresses based on connection authentication
US7372826B2 (en) * 2002-08-01 2008-05-13 Starent Networks, Corp. Providing advanced communications features
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US7532614B2 (en) * 2002-09-24 2009-05-12 Siemens Communications, Inc. Methods and apparatus for facilitating remote communication with an IP network
US20040068400A1 (en) * 2002-10-03 2004-04-08 Gupta Vivek G. Portable communication device adapted to transfer data from an application subsystem to a communication subusstem across a channel and method therefor
JP2004129106A (en) * 2002-10-07 2004-04-22 Murata Mach Ltd E-mail system and its program
JP3915663B2 (en) * 2002-11-06 2007-05-16 ソニー株式会社 Data processing system, information processing apparatus and method, and computer program
US8059088B2 (en) * 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
AU2003293449A1 (en) 2002-12-08 2004-06-30 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
US8830161B2 (en) 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
JP4252301B2 (en) * 2002-12-26 2009-04-08 株式会社日立製作所 Storage system and data backup method thereof
US9742615B1 (en) 2002-12-31 2017-08-22 Aol Inc. Popularity index
US7263614B2 (en) 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
CN1759630B (en) 2003-01-16 2012-12-26 捷讯研究有限公司 System and method of exchanging identification information for mobile terminals
US7386609B2 (en) * 2003-02-20 2008-06-10 International Business Machines Corporation Method, system, and program for managing devices in a network
US20040179537A1 (en) * 2003-03-11 2004-09-16 Motorola, Inc. Method and apparatus providing a mobile server function in a wireless communications device
US7613776B1 (en) 2003-03-26 2009-11-03 Aol Llc Identifying and using identities deemed to be known to a user
US7290033B1 (en) 2003-04-18 2007-10-30 America Online, Inc. Sorting electronic messages using attributes of the sender address
US8291009B2 (en) * 2003-04-30 2012-10-16 Silicon Graphics International Corp. System, method, and computer program product for applying different transport mechanisms for user interface and image portions of a remotely rendered image
WO2004100429A2 (en) * 2003-05-01 2004-11-18 James, Long Network download system
US7590695B2 (en) 2003-05-09 2009-09-15 Aol Llc Managing electronic messages
US7769145B2 (en) * 2003-05-19 2010-08-03 Q Tech Systems, Inc. Telephone calling interface
US8055753B2 (en) * 2003-06-11 2011-11-08 International Business Machines Corporation Peer to peer job monitoring and control in grid computing systems
AU2003244909A1 (en) * 2003-06-30 2005-01-13 Nokia Corporation Method and device for determining and notifying users having matching preference profiles for accessing a multiple access online application
MXPA03005992A (en) * 2003-07-02 2005-04-11 Rodriguez De La Garza Ricardo Wireless internet telephony adapter.
US7006625B2 (en) * 2003-07-02 2006-02-28 Nvg, Inc. Cordless telephone-to-sound card interface adapter with hybrid transformer and control circuit
US7593346B2 (en) 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
JP2005078356A (en) * 2003-08-29 2005-03-24 Toshiba Corp Information processor
US7944947B2 (en) * 2003-09-05 2011-05-17 Nokia Corporation Providing address information for reaching a wireless terminal
US7424442B2 (en) 2004-05-04 2008-09-09 Utbk, Inc. Method and apparatus to allocate and recycle telephone numbers in a call-tracking system
US7366683B2 (en) 2003-10-06 2008-04-29 Utbk, Inc. Methods and apparatuses for offline selection of pay-per-call advertisers
US20070124207A1 (en) * 2003-10-06 2007-05-31 Utbk, Inc. Methods and Apparatuses to Provide Prompts in Connecting Customers to Advertisers
US9984377B2 (en) 2003-10-06 2018-05-29 Yellowpages.Com Llc System and method for providing advertisement
US9202217B2 (en) * 2003-10-06 2015-12-01 Yellowpages.Com Llc Methods and apparatuses to manage multiple advertisements
US8140389B2 (en) 2003-10-06 2012-03-20 Utbk, Inc. Methods and apparatuses for pay for deal advertisements
US7428497B2 (en) 2003-10-06 2008-09-23 Utbk, Inc. Methods and apparatuses for pay-per-call advertising in mobile/wireless applications
US9208496B2 (en) * 2003-10-06 2015-12-08 Yellowpages.Com Llc Systems and methods to provide a communication reference in a representation of a geographical region
US8069082B2 (en) * 2003-10-06 2011-11-29 Utbk, Inc. Methods and apparatuses to determine prices of communication leads
US8837698B2 (en) * 2003-10-06 2014-09-16 Yp Interactive Llc Systems and methods to collect information just in time for connecting people for real time communications
US8140392B2 (en) * 2003-10-06 2012-03-20 Utbk, Inc. Methods and apparatuses for pay for lead advertisements
US7609820B2 (en) * 2003-11-12 2009-10-27 At&T Intellectual Property I, L.P. Identification and management of automatically-generated voicemail notifications of voicemail and electronic mail receipt
US7882360B2 (en) 2003-12-19 2011-02-01 Aol Inc. Community messaging lists for authorization to deliver electronic messages
US7587421B2 (en) * 2004-01-30 2009-09-08 International Business Machines Corporation Method, system, and article of manufacture for generating device specific requests
KR100626533B1 (en) * 2004-03-04 2006-09-20 주식회사 팬택앤큐리텔 Method of Displaying Abbreviated Dialing in the Mobile Communication Terminal
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US8595146B1 (en) 2004-03-15 2013-11-26 Aol Inc. Social networking permissions
US7684783B1 (en) * 2004-03-23 2010-03-23 Autocell Laboratories, Inc. System and method for authenticating devices in a wireless network
US7493371B1 (en) * 2004-03-31 2009-02-17 Network Appliance, Inc. Using a client-server connection protocol to establish a peer-to-peer connection
US7317919B1 (en) * 2004-06-10 2008-01-08 Core Mobility, Inc. Initiating a wireless communication session from contact information on a computer
US7656870B2 (en) * 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
US20060018267A1 (en) * 2004-07-20 2006-01-26 Matsushita Electric Industrial Co., Ltd. IP telephone system, ENUM server and method for performing telephone conference
US20060025876A1 (en) * 2004-07-28 2006-02-02 Yueh-Hua Hsu Huang Digital audio frequency optimizer
JP4365747B2 (en) * 2004-08-09 2009-11-18 パナソニック株式会社 IP telephone system, IP telephone apparatus and calling method
US20070019571A1 (en) * 2004-09-01 2007-01-25 Scott Stogel Apparatus and method for audio communications
US7760721B2 (en) * 2004-09-01 2010-07-20 Scott Stogel Method and system for computer based intercom control and management
US20060044261A1 (en) * 2004-09-02 2006-03-02 Kao-Cheng Hsieh Pointing input device imitating inputting of hotkeys of a keyboard
US20060075326A1 (en) * 2004-09-20 2006-04-06 Parag Patel Research software tool with flowchart graphic user interface
US10645562B2 (en) 2004-09-21 2020-05-05 Agis Software Development Llc Method to provide ad hoc and password protected digital and voice networks
US8538393B1 (en) 2004-09-21 2013-09-17 Advanced Ground Information Systems, Inc. Method to provide ad hoc and password protected digital and voice networks
US20060100982A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Storage configuration loader with automatic error recovery
US7702565B2 (en) * 2004-11-17 2010-04-20 Q Tech Systems, Llc Reverse billing in online search
US20090006224A1 (en) * 2004-11-18 2009-01-01 Kwang-Ik Kim Control System Method for Internet Communication
US7519075B2 (en) 2004-12-10 2009-04-14 Mediatek Inc. Method and system for serverless VoIP service in personal communication network
GB2421333B (en) * 2004-12-17 2007-08-01 Motorola Inc An alert management apparatus and a method of alert management therefor
US7979308B2 (en) 2005-03-03 2011-07-12 Utbk, Inc. Methods and apparatuses for sorting lists for presentation
CN100399744C (en) * 2005-04-30 2008-07-02 腾讯科技(深圳)有限公司 Method for realizing group chatting
US7769017B2 (en) * 2005-07-26 2010-08-03 Nortel Networks Limited Using reachability information to facilitate peer-to-peer communications
US8599832B2 (en) 2005-09-28 2013-12-03 Ingenio Llc Methods and apparatuses to connect people for real time communications via voice over internet protocol (VOIP)
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US8185437B2 (en) 2007-07-12 2012-05-22 Utbk, Inc. Systems and methods to provide communication connections via partners
JP2007305799A (en) * 2006-05-11 2007-11-22 Fujitsu Ltd Manufacturing method of semiconductor device
US20070274270A1 (en) * 2006-05-25 2007-11-29 Motorola, Inc. Network pairing of wireless communication devices through one or more intermediate devices
US8437757B2 (en) * 2006-06-30 2013-05-07 Nokia Corporation Systems for providing peer-to-peer communications
US8121624B2 (en) * 2006-07-25 2012-02-21 Alcatel Lucent Message spoofing detection via validation of originating switch
US7956849B2 (en) 2006-09-06 2011-06-07 Apple Inc. Video manager for portable multifunction device
US9317855B2 (en) * 2006-10-24 2016-04-19 Yellowpages.Com Llc Systems and methods to provide voice connections via local telephone numbers
US7929552B2 (en) 2006-10-26 2011-04-19 At&T Intellectual Property I, L.P. Automated IP pool management
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US8451825B2 (en) 2007-02-22 2013-05-28 Utbk, Llc Systems and methods to confirm initiation of a callback
US8843107B2 (en) * 2007-02-08 2014-09-23 Yp Interactive Llc Methods and apparatuses to connect users of mobile devices to advertisers
US8719348B2 (en) * 2007-02-23 2014-05-06 At&T Intellectual Property I, L.P. Sender-controlled remote e-mail alerting and delivery
US8799369B2 (en) * 2007-02-23 2014-08-05 At&T Intellectual Property I, L.P. Recipient-controlled remote E-mail alerting and delivery
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US8452655B2 (en) 2007-04-10 2013-05-28 Utbk, Llc Systems and methods to facilitate real time communications and commerce via a social network
US20080263459A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Determine Availability for Real Time Communications via Virtual Reality
US20080262911A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Search in Virtual Reality for Real Time Communications
US8601386B2 (en) 2007-04-20 2013-12-03 Ingenio Llc Methods and systems to facilitate real time communications in virtual reality
US8725883B2 (en) * 2007-05-11 2014-05-13 Nokia Corporation Method for the establishing of peer-to-peer multimedia sessions in a communication system
US8315652B2 (en) * 2007-05-18 2012-11-20 Immersion Corporation Haptically enabled messaging
US8223757B2 (en) * 2007-06-11 2012-07-17 At&T Intellectual Property I, L.P. Methods and apparatus to perform call screening in a voice over internet protocol (VOIP) network
US8681952B2 (en) * 2007-06-18 2014-03-25 Ingenio Llc Systems and methods to selectively provide telephonic connections
US8320368B2 (en) 2007-06-18 2012-11-27 Utbk, Inc. Systems and methods to provide communication references based on recommendations to connect people for real time communications
US20080313083A1 (en) * 2007-06-18 2008-12-18 Utbk, Inc. Systems and Methods To Manage Presentations of Advertisements
US8532276B2 (en) 2007-06-26 2013-09-10 Ingenio Llc Systems and methods to provide telephonic connections via concurrent calls
US20100198988A1 (en) * 2009-01-30 2010-08-05 Rebelvox Llc Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication
US8645477B2 (en) * 2009-01-30 2014-02-04 Voxer Ip Llc Progressive messaging apparatus and method capable of supporting near real-time communication
US8688789B2 (en) * 2009-01-30 2014-04-01 Voxer Ip Llc Progressive messaging apparatus and method capable of supporting near real-time communication
US8280018B2 (en) 2007-07-06 2012-10-02 Utbk, Inc. Systems and methods to provide information via connections for real time communications between people
US8724789B2 (en) 2007-08-06 2014-05-13 Yellow Pages Systems and methods to connect people for real time communications via directory assistance
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8295465B2 (en) 2007-09-25 2012-10-23 Utbk, Inc. Systems and methods to connect members of a social network for real time communication
US20090144068A1 (en) * 2007-11-30 2009-06-04 Utbk, Inc. Methods and Apparatuses to Provide Connections for Real Time Communications
US8687650B2 (en) 2007-12-07 2014-04-01 Nsgdatacom, Inc. System, method, and computer program product for connecting or coupling analog audio tone based communications systems over a packet data network
EP2081362B1 (en) * 2008-01-21 2013-07-24 Alcatel Lucent Resource arbitration in a converged multi-media environment
US8667175B2 (en) * 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US8248237B2 (en) * 2008-04-02 2012-08-21 Yougetitback Limited System for mitigating the unauthorized use of a device
US9576157B2 (en) * 2008-04-02 2017-02-21 Yougetitback Limited Method for mitigating the unauthorized use of a device
US9031536B2 (en) * 2008-04-02 2015-05-12 Yougetitback Limited Method for mitigating the unauthorized use of a device
US8932368B2 (en) 2008-04-01 2015-01-13 Yougetitback Limited Method for monitoring the unauthorized use of a device
US9886599B2 (en) 2008-04-02 2018-02-06 Yougetitback Limited Display of information through auxiliary user interface
US9881152B2 (en) * 2008-04-01 2018-01-30 Yougetitback Limited System for monitoring the unauthorized use of a device
US8719909B2 (en) 2008-04-01 2014-05-06 Yougetitback Limited System for monitoring the unauthorized use of a device
US9838877B2 (en) 2008-04-02 2017-12-05 Yougetitback Limited Systems and methods for dynamically assessing and mitigating risk of an insured entity
US9916481B2 (en) 2008-04-02 2018-03-13 Yougetitback Limited Systems and methods for mitigating the unauthorized use of a device
US10354689B2 (en) 2008-04-06 2019-07-16 Taser International, Inc. Systems and methods for event recorder logging
US7759168B2 (en) * 2008-05-13 2010-07-20 International Business Machines Corporation Electromagnetic interference shield for semiconductors using a continuous or near-continuous peripheral conducting seal and a conducting lid
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US8600405B2 (en) 2008-08-12 2013-12-03 Apogee Technology Consultants, Llc Location-based recovery device and risk management system for portable computing devices and data
TW201022699A (en) * 2008-12-02 2010-06-16 Mediatek Inc If process engine, method for removing if carriers and GNSS receiver
US8589591B2 (en) * 2010-06-04 2013-11-19 Boadcom Corporation Customized delivery of content by a broadband gateway
US8619995B2 (en) * 2009-01-28 2013-12-31 Qualcomm Incorporated Methods and apparatus related to address generation, communication and/or validation
US8689128B2 (en) 2009-03-16 2014-04-01 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CA2754990C (en) 2009-03-18 2015-07-14 Touchtunes Music Corporation Entertainment server and associated social networking services
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
TW201037521A (en) * 2009-04-13 2010-10-16 Io Interconnect Ltd Peripheral interface
US8755372B2 (en) * 2009-04-27 2014-06-17 Five9, Inc. Secure customer service proxy portal
US20120109611A1 (en) 2009-05-13 2012-05-03 Matteo Loizzo System and Method for Performing Wellsite Containment Operations
US8863270B2 (en) * 2009-05-22 2014-10-14 Raytheon Company User interface for providing voice communications over a multi-level secure network
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US9949305B2 (en) 2009-10-02 2018-04-17 Blackberry Limited Methods and apparatus for peer-to-peer communications in a wireless local area network
CN101707637B (en) * 2009-11-27 2013-05-08 中兴通讯股份有限公司 Method and system for allocating IP address
EP2597608A1 (en) 2010-01-26 2013-05-29 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9112769B1 (en) * 2010-12-27 2015-08-18 Amazon Technologies, Inc. Programatically provisioning virtual networks
US10681021B2 (en) * 2011-06-01 2020-06-09 Qualcomm Incorporated Selective admission into a network sharing session
US8638356B2 (en) * 2011-07-08 2014-01-28 Skype Communication system
GB2522772B (en) 2011-09-18 2016-01-13 Touchtunes Music Corp Digital jukebox device with karaoke and/or photo booth features, and associated methods
JP5786613B2 (en) 2011-09-30 2015-09-30 ブラザー工業株式会社 Management device
JP5786612B2 (en) * 2011-09-30 2015-09-30 ブラザー工業株式会社 Management device
US8661146B2 (en) 2011-10-13 2014-02-25 Cisco Technology, Inc. Systems and methods for IP reachability in a communications network
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US9280541B2 (en) 2012-01-09 2016-03-08 Five9, Inc. QR data proxy and protocol gateway
CN103227746B (en) * 2012-01-31 2018-03-27 珠海德百祺科技有限公司 Data communications method and system
KR101939253B1 (en) * 2012-05-21 2019-01-16 엘지전자 주식회사 Method and electronic device for easy search during voice record
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
CN103338146B (en) * 2012-06-14 2017-09-22 微软技术许可有限责任公司 The notice of communication event
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
US9245428B2 (en) 2012-08-02 2016-01-26 Immersion Corporation Systems and methods for haptic remote control gaming
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US9491130B1 (en) * 2013-08-08 2016-11-08 Amie Erickson System and method for providing location based one-to-one communication
USD766914S1 (en) * 2013-08-16 2016-09-20 Yandex Europe Ag Display screen with graphical user interface having an image search engine results page
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
TWI722981B (en) 2014-03-25 2021-04-01 美商觸控調諧音樂公司 Digital jukebox device with improved user interfaces, and associated methods
AU2015200093B2 (en) * 2014-04-08 2015-12-10 Nec Corporation Chat system
WO2016036510A1 (en) 2014-09-02 2016-03-10 Apple Inc. Music user interface
US10484513B2 (en) 2015-07-17 2019-11-19 Nsgdatacom, Inc. System, method, and computer program product for connecting or coupling audio communications systems over a software defined wide area network
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10928980B2 (en) 2017-05-12 2021-02-23 Apple Inc. User interfaces for playing and managing audio items
CN111343060B (en) 2017-05-16 2022-02-11 苹果公司 Method and interface for home media control
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US10095724B1 (en) * 2017-08-09 2018-10-09 The Florida International University Board Of Trustees Progressive continuous range query for moving objects with a tree-like index
US10069776B1 (en) 2017-09-21 2018-09-04 T-Mobile Usa, Inc. Network based personal number blocking
KR20230039775A (en) 2019-05-31 2023-03-21 애플 인크. User interfaces for audio media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708422A (en) * 1995-05-31 1998-01-13 At&T Transaction authorization and alert system
US5805138A (en) * 1995-06-07 1998-09-08 International Business Machines Corporation Gross motion input controller for a computer system
US5825865A (en) * 1991-10-04 1998-10-20 Motorola, Inc. Temporary message routing and destination selection

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
US4450554A (en) 1981-08-10 1984-05-22 International Telephone And Telegraph Corporation Asynchronous integrated voice and data communication system
US4528659A (en) 1981-12-17 1985-07-09 International Business Machines Corporation Interleaved digital data and voice communications system apparatus and method
US4589107A (en) 1982-11-30 1986-05-13 Itt Corporation Simultaneous voice and data communication and data base access in a switching system using a combined voice conference and data base processing module
US4652703A (en) 1983-03-01 1987-03-24 Racal Data Communications Inc. Digital voice transmission having improved echo suppression
US4598397A (en) 1984-02-21 1986-07-01 Cxc Corporation Microtelephone controller
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4718005A (en) * 1984-05-03 1988-01-05 International Business Machines Corporation Distributed control of alias name usage in networks
DE3479468D1 (en) 1984-05-23 1989-09-21 Ibm Digital transmission system for a packetized voice
US4819228A (en) 1984-10-29 1989-04-04 Stratacom Inc. Synchronous packet voice/data communication system
US4694492A (en) 1984-11-09 1987-09-15 Pirmasafe, Inc. Computer communications security control system
US4799153A (en) * 1984-12-14 1989-01-17 Telenet Communications Corporation Method and apparatus for enhancing security of communications in a packet-switched data communications system
GB2171576B (en) 1985-02-04 1989-07-12 Mitel Telecom Ltd Spread spectrum leaky feeder communication system
US4675863A (en) 1985-03-20 1987-06-23 International Mobile Machines Corp. Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels
IL79775A (en) 1985-08-23 1990-06-10 Republic Telcom Systems Corp Multiplexed digital packet telephone system
US4800488A (en) * 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US4740963A (en) 1986-01-30 1988-04-26 Lear Siegler, Inc. Voice and data communication system
JPH0763171B2 (en) 1986-06-10 1995-07-05 株式会社日立製作所 Data / voice transmission / reception method
US4813040A (en) 1986-10-31 1989-03-14 Futato Steven P Method and apparatus for transmitting digital data and real-time digitalized voice information over a communications channel
JPH07118749B2 (en) 1986-11-14 1995-12-18 株式会社日立製作所 Voice / data transmission equipment
JPS63131637A (en) * 1986-11-20 1988-06-03 Fujitsu Ltd Address management system for communication network
SE456629B (en) 1987-02-27 1988-10-17 Ellemtel Utvecklings Ab PROCEDURE AND DEVICE FOR TRANSFERING INFORMATION FROM A BUS SYSTEM
US4932022A (en) 1987-10-07 1990-06-05 Telenova, Inc. Integrated voice and data telephone system
US4890282A (en) 1988-03-08 1989-12-26 Network Equipment Technologies, Inc. Mixed mode compression for data transmission
US4866704A (en) 1988-03-16 1989-09-12 California Institute Of Technology Fiber optic voice/data network
US4887265A (en) 1988-03-18 1989-12-12 Motorola, Inc. Packet-switched cellular telephone system
US4899333A (en) * 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US4962449A (en) 1988-04-11 1990-10-09 Artie Schlesinger Computer security system having remote location recognition and remote location lock-out
US5416495A (en) 1988-07-07 1995-05-16 Sentex Systems, Inc. Liquid-crystal display unit for electronic directory
CA1337132C (en) 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5220599A (en) 1988-08-12 1993-06-15 Kabushiki Kaisha Toshiba Communication terminal apparatus and its control method with party identification and notification features
JPH0744511B2 (en) 1988-09-14 1995-05-15 富士通株式会社 High suburb rate multiplexing method
US5130985A (en) 1988-11-25 1992-07-14 Hitachi, Ltd. Speech packet communication system and method
FR2641093B1 (en) 1988-12-23 1994-04-29 Alcatel Business Systems
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US4981371A (en) 1989-02-17 1991-01-01 Itt Corporation Integrated I/O interface for communication terminal
US4995074A (en) * 1989-04-03 1991-02-19 Goldman Bruce J Switched line modem interface system
US5113499A (en) * 1989-04-28 1992-05-12 Sprint International Communications Corp. Telecommunication access management system for a packet switching network
DE69029759T2 (en) * 1989-05-15 1997-07-17 Ibm Flexible interface for authentication services in a distributed data processing system
US5095480A (en) * 1989-06-16 1992-03-10 Fenner Peter R Message routing system for shared communication media networks
US5036513A (en) 1989-06-21 1991-07-30 Academy Of Applied Science Method of and apparatus for integrated voice (audio) communication simultaneously with "under voice" user-transparent digital data between telephone instruments
JP2901077B2 (en) * 1989-07-19 1999-06-02 株式会社東芝 Telephone system
WO1991004621A1 (en) * 1989-09-14 1991-04-04 Fujitsu Limited Network control system
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
US5155726A (en) 1990-01-22 1992-10-13 Digital Equipment Corporation Station-to-station full duplex communication in a token ring local area network
US5224095A (en) * 1990-01-30 1993-06-29 Johnson Service Company Network control system and method
US5446919A (en) 1990-02-20 1995-08-29 Wilkins; Jeff K. Communication system and method with demographically or psychographically defined audiences
US5056140A (en) 1990-02-22 1991-10-08 Blanton Kimbell Communication security accessing system and process
DE4006399A1 (en) * 1990-03-01 1991-09-05 Bayer Ag THERMOSTABLE MOLDS
US5816919A (en) * 1990-03-06 1998-10-06 Lottotron, Inc. Computer lottery wagering system
US5150360A (en) * 1990-03-07 1992-09-22 Digital Equipment Corporation Utilization of redundant links in bridged networks
US5185860A (en) * 1990-05-03 1993-02-09 Hewlett-Packard Company Automatic discovery of network elements
US5127001A (en) 1990-06-22 1992-06-30 Unisys Corporation Conference call arrangement for distributed network
US5309437A (en) * 1990-06-29 1994-05-03 Digital Equipment Corporation Bridge-like internet protocol router
US5204669A (en) * 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5166931A (en) * 1990-09-04 1992-11-24 At&T Bell Laboratories Communications network dynamic addressing arrangement
CA2048306A1 (en) * 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5159592A (en) * 1990-10-29 1992-10-27 International Business Machines Corporation Network address management for a wired network supporting wireless communication to a plurality of mobile users
US5214650A (en) 1990-11-19 1993-05-25 Ag Communication Systems Corporation Simultaneous voice and data system using the existing two-wire inter-face
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
US5187591A (en) 1991-01-24 1993-02-16 Micom Communications Corp. System for transmitting and receiving aural information and modulated data
US5249290A (en) 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
JPH04269049A (en) 1991-02-25 1992-09-25 Hitachi Ltd Address management system and communication
US5341374A (en) 1991-03-01 1994-08-23 Trilan Systems Corporation Communication network integrating voice data and video with distributed call processing
US5150410A (en) 1991-04-11 1992-09-22 Itt Corporation Secure digital conferencing system
WO1992019054A1 (en) * 1991-04-12 1992-10-29 Concord Communications, Inc. Network monitoring
JPH04326226A (en) * 1991-04-25 1992-11-16 Ricoh Co Ltd System for connecting isdn and lan
US5283819A (en) 1991-04-25 1994-02-01 Compuadd Corporation Computing and multimedia entertainment system
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5420862A (en) * 1991-06-14 1995-05-30 Digital Equipment Corporation Router using remote address resolution to enable bridge like data forwarding
US5157592A (en) 1991-10-15 1992-10-20 International Business Machines Corporation DC-DC converter with adaptive zero-voltage switching
US5287103A (en) 1991-12-30 1994-02-15 At&T Bell Laboratories Method and apparatus for providing local area network clients with internetwork identification data
EP0556148B1 (en) * 1992-01-10 1998-07-22 Digital Equipment Corporation Scheme for interlocking a line card to an address recognition engine
US5305312A (en) 1992-02-07 1994-04-19 At&T Bell Laboratories Apparatus for interfacing analog telephones and digital data terminals to an ISDN line
US5517618A (en) * 1992-02-10 1996-05-14 Matsushita Electric Industrial Co., Ltd. Mobile migration communications control device
US5446891A (en) 1992-02-26 1995-08-29 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
US5282197A (en) 1992-05-15 1994-01-25 International Business Machines Low frequency audio sub-channel embedded signalling
US5291554A (en) * 1992-05-28 1994-03-01 Tv Answer, Inc. Shared-price custom video rentals via interactive TV
US5241594A (en) * 1992-06-02 1993-08-31 Hughes Aircraft Company One-time logon means and methods for distributed computing systems
AU4538093A (en) * 1992-06-15 1994-01-04 Bunn, Daniel W. Audio communication system for a computer network
US5430709A (en) * 1992-06-17 1995-07-04 Hewlett-Packard Company Network monitoring method and apparatus
US5309433A (en) * 1992-06-18 1994-05-03 International Business Machines Corp. Methods and apparatus for routing packets in packet transmission networks
US5442633A (en) * 1992-07-08 1995-08-15 International Business Machines Corporation Shortcut network layer routing for mobile hosts
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
IL106384A0 (en) * 1992-07-30 1993-11-15 Yeda Res & Dev Method for establishing an interactive communication between users at different workstations in a network
JPH0662020A (en) * 1992-08-06 1994-03-04 Hitachi Ltd Constructing system and changing system for computer network
JP2675968B2 (en) * 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション Extension of subscriber distributed two-phase commit protocol
US5396485A (en) * 1992-09-01 1995-03-07 Hitachi, Ltd. Information communication system for point-to-point communication and point-to-multipoint communication using same lines
CA2078045C (en) * 1992-09-11 1999-11-16 Mark R. Sestak Global management of telephone directory
ES2198407T3 (en) * 1992-09-30 2004-02-01 Motorola, Inc. SYSTEM OF DISTRIBUTION OF EMAIL MESSAGES.
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
JPH07107990B2 (en) * 1992-11-12 1995-11-15 日本電気株式会社 ATM-based transmitter and communication system
CA2103766A1 (en) * 1992-11-12 1994-05-13 Paul C. Chamberlain Adaptive flow control system and method
US5274635A (en) 1992-11-18 1993-12-28 Stratacom, Inc. Method and apparatus for aligning a digital communication data stream across a cell network
US5301324A (en) 1992-11-19 1994-04-05 International Business Machines Corp. Method and apparatus for dynamic work reassignment among asymmetric, coupled processors
US5335276A (en) * 1992-12-16 1994-08-02 Texas Instruments Incorporated Communication system and methods for enhanced information transfer
EP0602295B1 (en) * 1992-12-17 1999-03-31 International Business Machines Corporation Method for configuring and operating a telecommunication apparatus
JPH06318951A (en) 1993-01-07 1994-11-15 Toshiba Corp Method and system for transferring cell
US5459864A (en) 1993-02-02 1995-10-17 International Business Machines Corporation Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors
US5479411A (en) * 1993-03-10 1995-12-26 At&T Corp. Multi-media integrated message arrangement
US5526489A (en) * 1993-03-19 1996-06-11 3Com Corporation System for reverse address resolution for remote network device independent of its physical address
US5327486A (en) * 1993-03-22 1994-07-05 Bell Communications Research, Inc. Method and system for managing telecommunications such as telephone calls
EP0624965A3 (en) 1993-03-23 1996-01-31 Us West Advanced Tech Inc Method and system for searching an on-line directory at a telephone station.
US5457683A (en) * 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
EP0711485B1 (en) * 1993-06-11 1997-04-16 Nortel Networks Corporation Method for providing user controlled call management services
US5694548A (en) * 1993-06-29 1997-12-02 International Business Machines Corporation System and method for providing multimedia quality of service sessions in a communications network
US5357571A (en) * 1993-07-01 1994-10-18 Motorola, Inc. Method for point-to-point communications within secure communication systems
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US5410754A (en) 1993-07-22 1995-04-25 Minute Makers, Inc. Bi-directional wire-line to local area network interface and method
US5500890A (en) * 1993-08-19 1996-03-19 Exxon Research And Engineering Company Point-of-sale system using multi-threaded transactions and interleaved file transfer
US5499295A (en) * 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
JPH0795552A (en) * 1993-09-20 1995-04-07 Fujitsu Ltd Video conference network managing system
US5533102A (en) * 1993-09-22 1996-07-02 Active Voice Telephone auto attendant system for delivering chosen greetings to callers while on the phone
CA2107299C (en) * 1993-09-29 1997-02-25 Mehrad Yasrebi High performance machine for switched communications in a heterogenous data processing network gateway
US5455854A (en) * 1993-10-26 1995-10-03 Taligent, Inc. Object-oriented telephony system
GB2283645B (en) * 1993-11-06 1997-09-03 Digital Equipment Int Digital communication systems
US5469500A (en) * 1993-11-12 1995-11-21 Voiceplex Corporation Method and apparatus for delivering calling services
US5524110A (en) * 1993-11-24 1996-06-04 Intel Corporation Conferencing over multiple transports
US5434913A (en) 1993-11-24 1995-07-18 Intel Corporation Audio subsystem for computer-based conferencing system
JPH07170288A (en) * 1993-12-15 1995-07-04 Hitachi Ltd Voice communication system and voice communication method
US5491800A (en) 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5473531A (en) 1993-12-28 1995-12-05 At&T Corp. Finite state machine with minimized memory requirements
US5428608A (en) 1993-12-30 1995-06-27 At&T Corp. Call connection technique
US5517432A (en) * 1994-01-31 1996-05-14 Sony Corporation Of Japan Finite state machine transition analyzer
US5467388A (en) 1994-01-31 1995-11-14 Bell Atlantic Network Services, Inc. Method and apparatus for selectively blocking incoming telephone calls
US5574774A (en) * 1994-05-04 1996-11-12 Ericsson Inc. Method and apparatus of maintaining an open communications channel between a cellular terminal and an associated cellular radio network
US5483524A (en) 1994-05-09 1996-01-09 Lev; Valy Method for transmitting data packets via a circuit-switched channel
US5544322A (en) * 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
US5636346A (en) * 1994-05-09 1997-06-03 The Electronic Address, Inc. Method and system for selectively targeting advertisements and programming
US5675507A (en) * 1995-04-28 1997-10-07 Bobo, Ii; Charles R. Message storage and delivery system
US5465286A (en) 1994-05-24 1995-11-07 Executone Information Systems, Inc. Apparatus for supervising an automatic call distribution telephone system
EP0684716B1 (en) * 1994-05-25 2002-02-27 International Business Machines Corporation A data communication network and method for operating said network
US5461611A (en) 1994-06-07 1995-10-24 International Business Machines Corporation Quality of service management for source routing multimedia packet networks
JP3521955B2 (en) * 1994-06-14 2004-04-26 株式会社日立製作所 Hierarchical network management system
US5625407A (en) * 1994-07-08 1997-04-29 Lucent Technologies Inc. Seamless multimedia conferencing system using an enhanced multipoint control unit and enhanced endpoint devices
US5623605A (en) * 1994-08-29 1997-04-22 Lucent Technologies Inc. Methods and systems for interprocess communication and inter-network data transfer
US5740231A (en) * 1994-09-16 1998-04-14 Octel Communications Corporation Network-based multimedia communications and directory system and method of operation
US5742905A (en) * 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
US5524141A (en) * 1994-09-22 1996-06-04 Bell Communications Research, Inc. System and method for providing directory information over a telephony network using ADSI
US5517494A (en) * 1994-09-30 1996-05-14 Apple Computer, Inc. Method and system of multicast routing for groups with a single transmitter
US5767897A (en) * 1994-10-31 1998-06-16 Picturetel Corporation Video conferencing system
US5754636A (en) * 1994-11-01 1998-05-19 Answersoft, Inc. Computer telephone system
US5533110A (en) * 1994-11-29 1996-07-02 Mitel Corporation Human machine interface for telephone feature invocation
US5841769A (en) * 1994-12-16 1998-11-24 Nec Corporation Data message routing system for mobile or fixed terminals within a network
CA2139081C (en) * 1994-12-23 1999-02-02 Alastair Gordon Unified messaging system and method
US5548694A (en) * 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation
US5546452A (en) * 1995-03-02 1996-08-13 Geotel Communications Corp. Communications system using a central controller to control at least one network and agent system
US5657246A (en) * 1995-03-07 1997-08-12 Vtel Corporation Method and apparatus for a video conference user interface
US5953350A (en) * 1995-03-13 1999-09-14 Selsius Systems, Inc. Multimedia client for multimedia/hybrid network
US5729748A (en) * 1995-04-03 1998-03-17 Microsoft Corporation Call template builder and method
US5790793A (en) * 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
US5937162A (en) * 1995-04-06 1999-08-10 Exactis.Com, Inc. Method and apparatus for high volume e-mail delivery
US5659596A (en) * 1995-04-12 1997-08-19 International Business Machines Corporation System for location of communication end users
US5805810A (en) * 1995-04-27 1998-09-08 Maxwell; Robert L. Apparatus and methods for converting an electronic mail to a postal mail at the receiving station
US5724506A (en) * 1995-05-05 1998-03-03 Apple Computer, Inc. Replaceable and extensible connection dialog component of a network component system
US5784619A (en) * 1995-05-05 1998-07-21 Apple Computer, Inc. Replaceable and extensible notebook component of a network component
US5606361A (en) * 1995-05-10 1997-02-25 Davidsohn; John Videophone interactive mailbox facility system and method of processing information
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US5581552A (en) * 1995-05-23 1996-12-03 At&T Multimedia server
US5619557A (en) * 1995-07-10 1997-04-08 Rockwell International Corporation Telephone switching system and method for controlling incoming telephone calls to remote agents and for collecting and providing call data
US5563882A (en) * 1995-07-27 1996-10-08 At&T Process for converting a point-to-point multimedia call to a bridged multimedia call
US5734828A (en) * 1995-08-30 1998-03-31 Intel Corporation System for accessing/delivering on-line/information services via individualized environments using streamlined application sharing host and client services
US5884032A (en) * 1995-09-25 1999-03-16 The New Brunswick Telephone Company, Limited System for coordinating communications via customer contact channel changing system using call centre for setting up the call between customer and an available help agent
US6226678B1 (en) * 1995-09-25 2001-05-01 Netspeak Corporation Method and apparatus for dynamically defining data communication utilities
US6009469A (en) * 1995-09-25 1999-12-28 Netspeak Corporation Graphic user interface for internet telephony application
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US5742675A (en) * 1995-09-26 1998-04-21 Telefonaktiebolaget Lm Ericsson Method and apparatus for automatically distributing calls to available logged-in call handling agents
JPH09134319A (en) * 1995-10-03 1997-05-20 Sony Electron Inc User interface for personal communication routing system and rule processing
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5828846A (en) * 1995-11-22 1998-10-27 Raptor Systems, Inc. Controlling passage of packets or messages via a virtual connection or flow
US5805587A (en) * 1995-11-27 1998-09-08 At&T Corp. Call notification feature for a telephone line connected to the internet
US5946629A (en) * 1995-11-28 1999-08-31 Telefonaktiebolaget L M Ericsson Cellular telephone network having short message service interaction with other networks
JP3637661B2 (en) * 1995-12-19 2005-04-13 ソニー株式会社 Terminal apparatus and transmission method
US5771355A (en) * 1995-12-21 1998-06-23 Intel Corporation Transmitting electronic mail by either reference or value at file-replication points to minimize costs
US5903723A (en) * 1995-12-21 1999-05-11 Intel Corporation Method and apparatus for transmitting electronic mail attachments with attachment references
US5764756A (en) * 1996-01-11 1998-06-09 U S West, Inc. Networked telephony central offices
US5680392A (en) * 1996-01-16 1997-10-21 General Datacomm, Inc. Multimedia multipoint telecommunications reservation systems
US5925103A (en) * 1996-01-26 1999-07-20 Magallanes; Edward Patrick Internet access device
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5872850A (en) * 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
US5828837A (en) * 1996-04-15 1998-10-27 Digilog As Computer network system and method for efficient information transfer
US5790548A (en) * 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US6069890A (en) * 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US5905736A (en) * 1996-04-22 1999-05-18 At&T Corp Method for the billing of transactions over the internet
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5784564A (en) * 1996-05-03 1998-07-21 High Technology Solutions, Inc. Closed browser for computer and computer network
US5864684A (en) * 1996-05-22 1999-01-26 Sun Microsystems, Inc. Method and apparatus for managing subscriptions to distribution lists
US5787253A (en) * 1996-05-28 1998-07-28 The Ag Group Apparatus and method of analyzing internet activity
US5950172A (en) * 1996-06-07 1999-09-07 Klingman; Edwin E. Secured electronic rating system
US5708655A (en) * 1996-06-14 1998-01-13 Telefonaktiebolaget L M Ericsson Publ Method and apparatus for addressing a wireless communication station with a dynamically-assigned address
US6014379A (en) * 1996-06-26 2000-01-11 Bell Atlantic Network Services, Inc. Telecommunications custom calling services
US6021126A (en) * 1996-06-26 2000-02-01 Bell Atlantic Network Services, Inc. Telecommunication number portability
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US20010055299A1 (en) * 1996-08-16 2001-12-27 Keith C. Kelly Method and apparatus for establishing communications between packet-switched and circuit-switched networks
US5950123A (en) * 1996-08-26 1999-09-07 Telefonaktiebolaget L M Cellular telephone network support of audible information delivery to visually impaired subscribers
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US5721827A (en) * 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information
US5751712A (en) * 1996-10-28 1998-05-12 Lucent Technologies Technique for efficiently allocating bandwidth to multimedia calls in a communications system
US6026086A (en) * 1997-01-08 2000-02-15 Motorola, Inc. Apparatus, system and method for a unified circuit switched and packet-based communications system architecture with network interworking functionality
US5903721A (en) * 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
US5884035A (en) * 1997-03-24 1999-03-16 Pfn, Inc. Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information
US5867665A (en) * 1997-03-24 1999-02-02 Pfn, Inc Domain communications server
US6014710A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. System and method for message transmission between network nodes using remote wires
US6198303B1 (en) * 1998-03-25 2001-03-06 Altera Corporation Configuration eprom with programmable logic
US6055594A (en) * 1998-08-24 2000-04-25 3Com Corporation Byte accessible memory interface using reduced memory control pin count
US6614774B1 (en) * 1998-12-04 2003-09-02 Lucent Technologies Inc. Method and system for providing wireless mobile server and peer-to-peer services with dynamic DNS update
US6212625B1 (en) * 1999-05-25 2001-04-03 Advanced Micro Devices, Inc. General purpose dynamically programmable state engine for executing finite state machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825865A (en) * 1991-10-04 1998-10-20 Motorola, Inc. Temporary message routing and destination selection
US5708422A (en) * 1995-05-31 1998-01-13 At&T Transaction authorization and alert system
US5805138A (en) * 1995-06-07 1998-09-08 International Business Machines Corporation Gross motion input controller for a computer system

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664097B2 (en) 1996-04-18 2010-02-16 Verizon Services Corp. Telephone service via networking
US8379531B2 (en) 1996-04-18 2013-02-19 Verizon Services Corp. Telephony communication via varied redundant networks
US20070038779A1 (en) * 1996-05-01 2007-02-15 Hickman Paul L Method and apparatus for accessing a wide area network
US20070050478A1 (en) * 1996-05-01 2007-03-01 Hickman Paul L Wireless telephone with internet access
US7957354B1 (en) 1996-05-01 2011-06-07 G&H Nevada-Tek Internet enabled cellular telephones
US20070206737A1 (en) * 1996-05-01 2007-09-06 Hickman Paul L Method and apparatus for accessing a wide area network
US8553681B2 (en) 1996-06-26 2013-10-08 Verizon Services Corp. Telephone service via packet-switched networking
US7817619B1 (en) 1996-12-18 2010-10-19 Verizon Services Corp. Internet long distance telephone service
US7830860B2 (en) 1997-03-11 2010-11-09 Verizon Services Corp. Packet data network voice call quality monitoring
US7813332B1 (en) 1997-03-19 2010-10-12 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US7835344B1 (en) 1997-03-19 2010-11-16 Verizon Services Corp. Transport of caller identification information through diverse communication networks
US9215254B1 (en) 1997-09-16 2015-12-15 Verizon Patent And Licensing Inc. Network session management for telephony over hybrid networks
US8976782B1 (en) 1997-09-16 2015-03-10 Verizon Patent And Licensing Inc. Network session management for telephony over hybrid networks
US7948968B2 (en) 1997-09-16 2011-05-24 Verizon Communications Inc. Network session management
US8228926B2 (en) * 2005-04-12 2012-07-24 Genband Us Llc Dynamic loading for signaling variants
US20070189196A1 (en) * 2005-04-12 2007-08-16 Santera Systems, Inc. Dynamic loading for signaling variants
US20060256188A1 (en) * 2005-05-02 2006-11-16 Mock Wayne E Status and control icons on a continuous presence display in a videoconferencing system
US7990410B2 (en) * 2005-05-02 2011-08-02 Lifesize Communications, Inc. Status and control icons on a continuous presence display in a videoconferencing system
US20070280228A1 (en) * 2006-06-06 2007-12-06 Murata Kikai Kabushiki Kaisha Communication system and remote diagnosis system
US7778184B2 (en) * 2006-06-06 2010-08-17 Murata Kikai Kabushiki Kaisha Communication system and remote diagnosis system
US20100005178A1 (en) * 2006-10-24 2010-01-07 Catalin Sindelaru Method and system for firewall friendly real-time communication
US20080256454A1 (en) * 2007-04-13 2008-10-16 Sap Ag Selection of list item using invariant focus location
US20120047253A1 (en) * 2008-03-28 2012-02-23 Microsoft Corporation Network topology detection using a server
US20090268887A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation System and method to handle phone line services during modem dial-up connection
US20120140763A1 (en) * 2010-12-01 2012-06-07 Kevin Mundt Unified communications ip phone using an information handling system host
US9621697B2 (en) * 2010-12-01 2017-04-11 Dell Products L.P. Unified communications IP phone using an information handling system host

Also Published As

Publication number Publication date
EP1379039A3 (en) 2004-03-10
KR19990063731A (en) 1999-07-26
JP2007135234A (en) 2007-05-31
BR9610980A (en) 1999-06-15
EP1379050A3 (en) 2004-03-10
US6701365B1 (en) 2004-03-02
HK1017192A1 (en) 1999-11-12
US6131121A (en) 2000-10-10
CN1108049C (en) 2003-05-07
EP0852868B1 (en) 2004-04-14
DE69632195T2 (en) 2005-04-21
US7149208B2 (en) 2006-12-12
MX9802341A (en) 1998-11-30
AU727702B2 (en) 2000-12-21
JPH11515148A (en) 1999-12-21
US6513066B1 (en) 2003-01-28
CA2231127C (en) 2003-01-28
JP2008283704A (en) 2008-11-20
US6687738B1 (en) 2004-02-03
KR100414512B1 (en) 2004-02-18
WO1997014234A3 (en) 1998-04-30
CA2231127A1 (en) 1997-04-17
US6829645B1 (en) 2004-12-07
US6108704A (en) 2000-08-22
EP1379050A2 (en) 2004-01-07
EP1379039A2 (en) 2004-01-07
US20030067908A1 (en) 2003-04-10
AU7247696A (en) 1997-04-30
DE69632195D1 (en) 2004-05-19
EP0852868A2 (en) 1998-07-15
CN1197567A (en) 1998-10-28
JP2007104726A (en) 2007-04-19
JP2007135235A (en) 2007-05-31
WO1997014234A2 (en) 1997-04-17

Similar Documents

Publication Publication Date Title
US7149208B2 (en) Method and apparatus for providing caller identification based responses in a computer telephony environment
US6185184B1 (en) Directory server for providing dynamically assigned network protocol addresses
US6226678B1 (en) Method and apparatus for dynamically defining data communication utilities
US6009469A (en) Graphic user interface for internet telephony application
US6259692B1 (en) Internet call waiting
US7917582B2 (en) Method and apparatus for autocorrelation of instant messages
CN1910883A (en) Instant messaging using telephone sets
EP1332435B1 (en) Network telephony appliance and system supporting wireless internet telephony
EP2204976B1 (en) Voice communication with any of multiple terminals
AU764583B2 (en) Point-to-point internet protocol

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION