Communication Using Virtual Telephone Numbers
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority from U.S. Provisional Ap- plication No. 60/174,504, filed January 4, 2000. BACKGROUND OF THE INVENTION
1. Field of the Invention.
This invention relates to a technique of anonymous communication over a public telephone network. More particularly this invention relates to a technique for reestablishing anonymous telephone communication between parties who have previously communicated anonymously using another technique.
2. Description of the Related Art.
Internet chatting has become a popular way to communicate over the World Wide Web, and in this way people from different parts of the world are able to contact each other, and share ideas and opinion. In some cases the chatters would like to recontact one another and communicate vocally by other modes, preferably over the telephone. Nevertheless, as the parties are generally complete strangers, they are reluctant to disclose their actual telephone number, whether assigned by the public switched telephone network (PSTN) , or a mobile telephone number (MP) .
U.S. Patent No. 5,818,836 proposes an anonymous voice sys- tern which can establish an anonymous telephone communication through a circuit switched network (CSN) . In operation, two parties place separate telephone calls to the anonymous voice system through the CSN. The parties then enter matchcodes through their telephone keypads. The anonymous voice system compares the matchcodes entered by the parties and connects the telephone calls if the matchcodes match. The system may include an on-line data service that establishes electronic communication between the parties through corresponding data terminals., The data terminals may have resident anonymous
voice input commands that can be selected by the parties. The on-line data service transmits a connect command to the anonymous voice system which dials the two parties, or waits for the parties to dial the system, and then connects the parties. The system also stores a couple record during the first anonymous call recording the matchcode and the telephone numbers of both parties .
This system is not easily scalable to mass use by internet participants. Its reliance upon the participants to select a matchcode virtually guarantees matchcode conflicts, and risks a rαisconnection. The system attempts to reduce this risk by relying on automatic number identification (ANI) to obtain the caller's telephone number. The participants are identified using both the chosen matchcode and the ANI. This arrangement requires a record of the participants' telephone numbers to be maintained, and telephone access to the system is limited to the particular telephone numbers which were used to create the system's database entries. If multiple parties are involved, then each must return to the telephone which was entered into the system's database record before a connection can be established. The telephones must all be identifiable using ANI, which is not universal. For example a subscriber can disable the ANI feature from his telephone. Or he may be calling via a PBX switch or similar, which defeats the ANI. Participants who prefer to change telephones between subsequent communications for reasons of telephone security would find this system to be impractical. Because the database entry stores the matchcode entry, the matchcode becomes a permanent key to identify the participants. As with any password which never changes, the security implications are immediately apparent. Participants having high security requirements and privacy concerns, as many internet users do, would be reluctant to permit such a matchcode to remain in circulation.
An additional operational drawback of the system is its failure to store the matchcode itself. While this may enhance the system's security, attempted accesses using an incorrect matchcode cannot be immediately recognized by the system, with the result that critical hardware resources are tied up during such an access before a disconnect eventually occurs, creating a drain on the system's performance.
Accordingly it would be desirable to provide the Internet chatters and other parties a facility so that they can commu- nicate anonymously over the telephone in a more convenient, rapid, and secure manner, without identifying their actual telephone numbers to any third party. SUMMARY OF THE INVENTION
It is therefore a primary object of some aspects of the present invention to provide an improved technique for parties to establish anonymous communication sessions therebetween.
It is a further object of some aspects of the present invention to improve the efficiency of a communications systems. It is another object of some aspects of the present inven- tion to provide an improved communication system that facilitates anonymous communication between two parties without maintaining a record of the actual telephone numbers or identities of the parties.
These and other objects of the present invention are at- tained by an agent which provides a virtual telephone number switchboard service to the parties. The agent is particularly adapted for use over a data network, which may be the Internet .
In some embodiments the agent provides software modules which can be integrated with web browsers and similar communication equipment. One or all of the parties desiring to establish subsequent anonymous communication select a Virtual Tele¬ phone Number (VTN) icon on the web page of a chat site or on the browser which connects them to the chat server. The chat
server sends a request to a VTN server for a VTN "box number", which is analogous to a telephone extension number. In response The VTN server generates a single-use VTN box number, which is not currently in use in the VTN system. The sin- gle-use VTN box number is stored within the VTN server's switchboard database. The VTN server provides all the chatters the telephone number of the VTN call center switchboard (the VTN PSTN) , and the single-use VTN box number for use upon reaching the switchboard. The chatting parties may optionally disconnect from the internet chat server, and within a mutually agreed upon time window, call the VTN call center switchboard, and enter the single-use VTN box number. The chatting parties may remain connected to the internet chat server, and continue their vocal conversation by internet-based vocal technologies, for example voice-over-IP. The chatting parties can enter their single-use VTN box number by providing the information to a human operator, or preferably by keypad entry, using known tone-dial technology. The VTN call center switchboard then connects all participants who entered the assigned single-use VTN box number on the same telephone line. After the parties have disconnected from the VTN box number, the box is closed and deleted from the VTN server's switchboard database, and its space is released for formation of a new single-use VTN box number in order to service new participants. Moreover, if there is no entry to the VTN box, it will be automatically deleted after a predetermined time-out interval. The VTN call center switchboard may have many open boxes at a given time.
In some embodiments in a semi-passive mode of operation at least one of the chat participants subscribes to the virtual telephone number service at a VTN web site by providing an actual telephone number (PSTN or MP) , but does not provide any other personal details. The subscriber receives a unique personal identification number (PIN) for identification when he
uses the VTN service. The subscriber may download client software to his personal computer, which includes a PIN. The PIN is automatically transmitted to the VTN server whenever he engages the VTN icon in his internet browser or on the web page of the chat site. The VTN server and VTN call center switchboard can be located in a common telephone center, or can be geographically distributed in many telephone centers under central synchronization control. They can also be located at the site of the chat server, or within public telecommunica- tions systems.
In some embodiments, in a semi-passive mode of operation, a first chatter, who has previously subscribed to the VTN service, may receive the single-use VTN box number and the telephone number of the VTN call center switchboard, and co - municate these to a second chatter manually, or via the chatting server. The second chatter then accesses the VTN call center switchboard and enters the single-use VTN box number. The VTN call center switchboard looks up the actual telephone number of the first chatter, and establishes an active tele- phone connection between the two chatters. Neither the subscriber nor the second chatter, who need not be a subscriber, has revealed his telephone number to the other. Subsequent telephonic sessions can be established between the two chatters by repeating the above-described procedure, using a new single-use VTN box number.
In an active mode of operation, the VTN call center switchboard calls the participants. Prior to their usage of the system, the participants must register and provide some information, for example their actual telephone numbers. They then receive a password and PIN number. After they schedule a meeting with one another as described above, companion, they both engage an icon on the chat site web page, or their internet browsers, after which they are each requested them to enter their respective passwords and PIN numbers. The VTN call
center switchboard then calls each of them at their pre-registered telephone number and establishes a connection between the two telephone lines. The connection can be established immediately, or at a scheduled time. In a semi-passive mode of operation, a first party participant, who has previously subscribed to VTN services in the manner given above, contacts the VTN call center switchboard. For example, a first party may desire to sell his car, but does not wish to reveal his actual telephone number. The first party contacts the VTN call center switchboard by any suitable method, identifies himself using his password and PIN, and requests a code identifier. The first party publicizes the code and invites offers . When a second party contacts the VTN call center switchboard and enters the code, the call is forwarded to the pre-registered telephone number of the first party. Optionally the first party can define conditions for the telephone connection, for example permissible times for receiving forwarded telephone calls from the second party.
In yet another mode of operation, a plurality of partici- pants call a telephone community, which is realized as a central telephone switchboard. The participants are presented with a list of currently available chat rooms, each dealing with an assigned topic. Such chat rooms can be created, either by the community administration, or by chatters themselves. The switchboard is accessible by normal telephonic communication, or via an internet VTN web site. Currently available chat rooms are made known by any public medium, e.g., television, radio, the community web sites, or other internet sites. Optionally the geographical location of the community switch- boards may be presented. In some embodiments the telephone chat room is open to a limited number of participants. Supervision of the chat form is accomplished by a system administrator, which may be a human, or a computer-controlled device, following a set of predetermined rules. For example, the ad-
ministrator may govern who will speak at a given moment, and for how long. Chatters may move among chat rooms as they wish, and may elect to chat privately with particular co-participants in the chat. The invention provides a method for establishing an anonymous communications channel between two parties, which comprises receiving a first communication from a first party on a first communication channel, and responsive to the first communication, generating a transaction identifier. The method further comprises memorizing the transaction identifier, communicating the transaction identifier to the first party, and thereafter accepting a second communication from one of the first party and a second party on a second communication channel. While maintaining the second communication channel the method further comprises authenticating the one party according to the transaction identifier, receiving a third communication from the other party on a third communication channel, authenticating the other party according to the transaction identifier, and connecting the second communication channel with the third communication channel to enable the first party to communicate with the second party.
According to another aspect of the invention, the first communication channel is established via an internet.
According to still another aspect of the invention, at least one of the second communication channel and the third communication channel is a telephonic channel.
According to an additional aspect of the invention, the method includes the step of invalidating the transaction identifier subsequent to performing the step of connecting the second communication channel with the third communication channel .
According to still another aspect of the invention, the step of communicating the transaction identifier to the first party also includes providing a telephone number to the first
party. The second communication and the third communication are telephonic, and are directed to the telephone number.
According to an additional aspect of the invention, the telephone number includes a first telephone number that is ac- cessed in the step of accepting the second communication and a second telephone number that is accessed in the step of accepting the third communication.
According to another aspect of the invention, at least one of the first communication, the second communication, and the third communication is effected using a voice over IP protocol.
According to a further aspect of the invention, at least one of the first communication, the second communication, and the third communication are received via a wireless device. According to still another aspect of the invention, the method further includes determining whether the first party has attempted the first communication more frequently than a predetermined rate, and if so, disconnecting from the first communication channel. Another aspect of the invention includes determining whether at least one of the first party and the second party has attempted the second communication more frequently than a predetermined rate, and if so, disconnecting from the second communication channel. An aspect of the invention includes communicating on the second communication channel a first set of identifiers to the one party, wherein members of the first set correspond to parties who are currently available for connection with the one party, receiving via the second communication channel a second set of identifiers from the one party, wherein the sec¬ ond set includes at least a subset of the first set, and connecting the one party with members of the second set.
An additional aspect of the invention includes receiving in the second communication a first set of identifiers from
the one party, communicating on the second communication channel a second set of identifiers to the one party, wherein the second set includes at least a subset of the first set, and wherein members of the second set correspond to parties who are currently available for connection with the one party, receiving via the second communication channel a third set of identifiers from the one party, wherein the third set includes at least a subset of the second set, and connecting the one party with members of the third set. According to an aspect of the invention, the first party communicates via a first online data service, and the second party communicates via a second online data service.
The invention provides a computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform the steps of receiving a first communication from a first party on a first communication channel, responsive to the first communication generating a transaction identifier, memorizing the transaction identi- fier, communicating the transaction identifier to the first party, thereafter accepting a second communication from one of the first party and a second party on a second communication channel, and while maintaining the second communication channel, authenticating the one party according to the transaction identifier, receiving a third communication from the other party on a third communication channel, authenticating the other party according to the transaction identifier, and connecting the second communication channel with the third communication channel to enable the first party to communicate with the second party.
According to yet another aspect of the invention, the com¬ puter further performs the step of invalidating the transaction identifier subsequent to performing the step of connect-
ing the second communication channel with the third communication channel .
According to an additional aspect of the invention, the computer further performs the steps of determining whether the first party has attempted the first communication more frequently than a predetermined rate, and if so, then disconnecting from the first communication channel.
According to an aspect of the invention, the computer further performs the steps of determining whether at least one of the first party and the second party has attempted the second communication more frequently than a predetermined rate, and if so, disconnecting from the second communication channel.
According to another aspect of the invention, the computer further perform the steps of communicating on the second com- munication channel a first set of identifiers to the one party, wherein members of the first set correspond to parties who are currently available for connection with the one party, receiving via the second communication channel a second set of identifiers from the one party, wherein the second set in- eludes at least a subset of the first set, and connecting the one party with members of the second set.
According to a further aspect of the invention, the computer further receives in the second communication a first set of identifiers from the one party. The computer communicates on the second communication channel a second set of identifiers to the one party, wherein the second set includes at least a subset of the first set, and wherein members of the second set correspond to parties who are currently available for connection with the one party, receives via the second communica- tion channel a third set of identifiers from the one party, wherein the third set includes at least a subset of the second set, and connects the one party with members of the third set.
The invention provides a method for establishing an anonymous communications channel between two parties, comprising
the steps of identifying a first party, memorizing identification information concerning the first party, establishing a criterion for establishing a connection between the first party and a second party, generating a transaction identifier, memorizing the transaction identifier, communicating the transaction identifier to the first party, thereafter accepting a first communication from the second party on a first communication channel, and while maintaining the first communication channel, authenticating the second party according to the transaction identifier, verifying compliance of the second party with the criterion, responsive to the step of verifying, establishing a second communication channel with the first party according to the identification information, and connecting the second communication channel with the first commu- nication channel to enable the first party to establish a second communication with the second party.
According to yet another aspect of the invention, the first communication channel is established via an internet.
According to still another aspect of the invention, at least one of the first communication channel and the second communication channel is a telephonic channel.
According to an additional aspect of the invention, at least one of the first communication channel and the second communication channel, is effected using a voice over IP pro- tocol.
According to an aspect of the invention, at least one of the first communication channel and the second communication channel is effected using a wireless device.
Another aspect of the invention includes determining whether the second party has attempted the first communication more frequently than a predetermined rate, and, responsive to the step of determining, disconnecting from the first communication channel .
According to a further aspect of the invention, the first party communicates via a first online data service, and the second party communicates via a second online data service.
The invention provides a computer software product, com- prising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform the steps of identifying a first party, memorizing identification information concerning the first party, memorizing a criterion for establish- ing a connection between the first party and a second party, generating a transaction identifier, memorizing the transaction identifier, communicating the transaction identifier to the first party, thereafter accepting a first communication from the second party on a first communication channel, and while maintaining the first communication channel authenticating the second party according to the transaction identifier, verifying compliance of the second party with the criterion, responsive to the step of verifying, establishing a second communication channel with the first party according to the identification information, and connecting the second communication channel with the first communication channel to enable the first party to establish a second communication with the second party.
According to an aspect of the invention, the first commu- nication channel is established via an internet.
According to another aspect of the invention, at least one of the first communication channel and the second communication channel is a telephonic channel.
According to a further aspect of the invention, at least one of the first communication channel and the second communication channel, is effected using a voice over IP protocol.
According to yet another aspect of the invention, at least one of the first communication channel and the second communication channel is effected using a wireless device.
According to still another aspect of the invention, includes the steps of determining whether the second party has attempted the first communication more frequently than a predetermined rate, and responsive to the step of determining, disconnecting from the first communication channel.
According to an additional aspect of the invention, the first party communicates via a first online data service, and the second party communicates via a second online data service. The invention provides a computer implemented communications system, comprising an interactive voice response machine, a server linked to the interactive voice response machine and to a data network, the server has computer instructions installed therein, which instructions, when read by a computer in the server, cause the server to perform the steps of receiving a first communication from a first party via the data network on a first communication channel, responsive to the first communication, generating a transaction identifier, memorizing the transaction identifier, communicating the transaction identifier to the first party, wherein the interactive voice response machine receives a second communication from one of the first party and a second party on a second communication channel comprising a first one of the lines, and while maintaining the second communication channel the inter- active voice response machine receives a third communication from another of the first party and the second party on a third communication channel comprising a second one of the lines. In the system a database application of the server authenticates the first party and the second party according to the transaction identifier, and responsive to a signal from the server the interactive voice response machine connects the second communication channel with the third communication channel to enable the first party to communicate with the second party.
According to still another aspect of the invention, includes a telephonic switch has a plurality of lines connected to a public network linked to the server, wherein the telephonic switch is interposed in a connection between the second communication channel and the third communication channel.
The invention provides to an aspect of the invention, the data network is an internet.
According to an aspect of the invention, the server further performs the step of invalidating the transaction identi- fier subsequent to performing the step of connecting the second communication channel with the third communication channel .
According to another aspect of the invention, the server further perform the steps of determining whether the first party has attempted the first communication more frequently than a predetermined rate, and if so, disconnecting from the first communication channel.
According to a further aspect of the invention, the server further performs the steps of determining whether at least one of the first party and the second party has attempted the second communication more frequently than a predetermined rate, and if so disconnecting from the second communication channel.
According to yet another aspect of the invention, the server further performs the steps of communicating on the sec- ond communication channel a first set of identifiers to the one party, wherein members of the first set correspond to parties who are currently available for connection with the one party, receiving via the second communication channel a second set of identifiers from the one party, wherein the second set includes at least a subset of the first set, and connecting the one party with members of the second set. According to an aspect of the invention, the server further perform the steps of
in the second communication, receiving a first set of identifiers from the one party, communicating on the second communication channel a second set of identifiers to the one party, wherein the second set includes at least a subset of the first set, and wherein members of the second set correspond to parties who are currently available for connection with the one party, receiving via the second communication channel a third set of identifiers from the one party, wherein the third set includes at least a sub- set of the second set, and connecting the one party with members of the third set.
The invention provides a computer implemented communications system, comprising a telephonic switch has a plurality of lines connected to a public network, an interactive voice response machine connected to the telephonic switch, a server linked to the interactive voice response machine, to the telephonic switch and to a data network, the server has computer instructions installed therein, which instructions, when read by a computer in the server, cause the server to perform the steps of identifying a first party, memorizing identification information concerning the first party, memorizing a criterion for establishing a connection between the first party and a second party, generating a transaction identifier, memorizing the transaction identifier, communicating the transaction identifier to the first party, wherein the telephonic switch accepts a first communication from the second party on a first communication channel comprising a first one of the lines, and while maintaining the first communication channel the server authenticates the second party according to the transaction identifier, verifies compliance of the second party with the criterion, and responsive to the step of verifying, establishes a second communication channel comprising a second one of the lines with the first party according to the identification information, and connects the second communication chan-
nel with the first communication channel to enable the first party to establish a second communication with the second party.
According to another aspect of the invention, the data network is an internet.
According to a further aspect of the invention, at least one of the first communication channel and the second communication channel is effected using a wireless device.
According to an additional aspect of the invention, at least one of the first communication channel and the second communication channel, is effected using a voice over IP protocol .
According to yet another aspect of the invention, the server further perform the steps of determining whether at least one of the first party and the second party has attempted the second communication more frequently than a predetermined rate, and if so, disconnecting from the second communication channel.
According to an aspect of the invention, the telephonic switch is connected to a plurality of on-line data services, wherein the first communication channel is established via a first one of the on-line data services and the second communication channel is established via a second one of the on-line data services. BRIEF DESCRIPTION OF THE DRAWING
For a better understanding of these and other objects of the present invention, reference is made to the detailed description of the invention, by way of example, which is to be read in conjunction with the following drawings, wherein: Fig. 1 is a diagram illustrating the architecture of a system in accordance with a preferred embodiment of the invention;
Fig. 2 is a block diagram of a server in the embodiment illustrated in Fig. 1;
Fig. 3 is a diagram illustrating the architecture of a system similar to Fig. 1 that is adapted for operation in a passive mode;
Fig. 4 is a flow chart illustrating the operation of the embodiment of Fig. 3 in a passive mode;
Fig. 5 is a flow chart illustrating the operation of the embodiment of Fig. 1 in an active mode;
Fig. 6 is a flow chart illustrating the operation of the embodiment of Fig. 1 in a semi-passive mode; and Fig. 7 is a diagram illustrating the architecture of a system in accordance with an alternate embodiment of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENT
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances well known circuits, control logic, and the details of computer program instructions for conventional algorithms and processes have not been shown in detail in order not to unnecessarily obscure the present invention. System Architecture.
Turning now to the drawings, a high level diagram of a preferred embodiment of the invention is shown in Fig. 1. The system 10 is connected to a plurality of telephone lines 12, preferably the telephone lines 12 number between 30 - 120, and are provided by any convenient carrier 14. The telephone lines 12 feed into a telephone switch 16 of known type, which is ca- pable of handling calls on all the telephone lines 12 simultaneously. The telephone switch 16 is linked bidirectionally to an interactive voice response machine 18 (I R) , which accepts calls arriving on the telephone lines 12, and receives the secret code, preferably using the well known dual tone multifre-
quency (DTMF) interactive voice response protocol. A plurality of parties 20, 22 communicate with the carrier 14 using telephone instruments 24. As will be disclosed in further detail below, in the preferred embodiments, the parties 20, 22 inform the interactive voice response machine 18 of their assigned matchcodes. The interactive voice response machine 18 confirms identity of matchcodes among a plurality of parties, including the parties 20, 22, who are accessing the system 10 using the telephone lines 12 at a given time. The interactive voice re- sponse machine 18 is also linked via a data network 26, which may be the Internet, and is linked to a server 28 that hosts a web site of an agent that communicates with the holds a homepage, and communicates with the parties 20, 22 in a web session and also maintains a database of activity, which is pref- erably an SQL database.
The system 10 in the currently preferred embodiment is configured as follows. The telephone lines 12 number 30-120. The telephone switch 16 is capable of handling a corresponding number of telephone calls simultaneously. The interactive voice response machine 18.
Referring now to the block diagram of Fig. 2, the organization of the server 28 is illustrated in further detail. The server 28 has a number of modules, which can be implemented as concurrently executing processes, depending on the performance characteristics of the particular hardware with which the server 28 is realized. A code generator 30 generates match- codes, which are output to a validity checker 32. The validity checker 32 queries a database 34 which includes currently active matchcodes. Software to operate the server 28 and to interact with users, including the code generator 30, the validity checker 32, and necessary software to operate the database 34, and the billing program 36 may be provided on any convenient computer readable medium.
Initial Web Interaction.
Referring to Fig. 1 and Fig. 2, the system 10 integrates with existing chat platforms and Internet portals. In some embodiments, integration is achieved by the embedding of no more than one hyperlink (button) in the chat web page. Selection of this hyperlink connects the computer 38 of a party 20 to the server 28 over a bi-directional channel 40 via the Internet. Upon engaging the hyperlink, a pop-up window appears in the user screen. The pop-up window describes the terms and condi- tions for the use of the VTN service.
After reading the rules the party 20 confirms his intent to use the VTN service by pressing an "accept" option. This causes a request to be communicated from the computer 38 to the server 28 via the channel 40. A code generation process executing in the server 28 generates a 5-digit code. Optionally the code can be of any desired length, and can be alphanumeric or numeric. A validity check is then conducted by another process, indicated in Fig. 2 as the validity checker 32, to assure that the generated code does not already exist in the database of the "waiting list" calls. If the code is valid a response is communicated from the server 28 to the computer 38, and a pop-up message appears, displaying appropriate information on the use of the assigned code, and the telephone number of the VTN service to be called in order to engage the system 10. The code, together with a time stamp, is stored in an SQL database 34 of the server 28 for later use, and for reference by the validity checker 32.
The party 20 who receives the code communicates it together with the telephone number of the VTN service to his fellow chatter, shown in Fig. 1 as the party 22. This communication is preferably accomplished in a "private room" mode. The parties 20, 22 then agree on the date and time for their subsequent telephone conversation to take place.
The Subsequent Telephone Call .
Continuing to refer to Figs. 1 and 2, at about the prearranged time both of the parties 20, 22 call the telephone number of the VTN service, and their calls traverse the facili- ties of the carrier 14, enter the telephone switch 16. It will be understood that the parties 20, 22 can use different carriers. The telephone switch 16 passes both calls to the interactive voice response machine 18, which requests the assigned code. The parties 20, 22 inform the system 10 of the assigned code, preferably using DTMF. The call normally arrive at different times.
In Fig. 1 the telephone switch 16 and the interactive voice response machine 18 are shown as separate modules for clarity of presentation. However it is known to combine their functions into a single module, which can be employed in a preferred embodiment of the invention. It should also be noted that the server 28 in interacting with the parties 20, 22, and in performing other functions required by the VTN service, may communicate with multiple on-line data services concurrently. Upon receiving a call the interactive voice response machine 18 initially consults an internal list of calls that are presently "on hold" in order to determine if the current call is from a second party seeking to connect with a first party who is waiting on hold. If there is no match, then the inter- active voice response machine 18 communicates with the server 28, preferably via the Internet, and requests that the validation of the assigned code. This is accomplished by the validity checker 32, which again references the database 34. However now the validity checker 32 verifies the existence of the assigned code in the database 34, rather than its non-existence. If the assigned code is successfully validated, the caller is placed on the internal list of calls presently on hold. A message is communicated from the server 28 to the interactive voice response machine 18, which then requests the
first caller of the parties 20, 22 to await the entrance into the system 10 of the second caller of the parties 20, 22. While on hold, the first caller is provided with music, advertisements, or other telephonic communications for his enjoy- ment in accordance with the policies of the VTN service.
If the code of the caller cannot be successfully validated, then service is denied, and the party is disconnected.
The second caller of the parties 20, 22 is processed in the same manner as the first caller. When the internal list of calls presently on hold has indicated a match with the first one of the parties 20, 22, then both of the parties 20, 22 are connected in the telephone switch 16. Now they can speak to one another as long as they wish, or alternatively their conversation could be limited in time, according to the policies of the VTN service. In the preferred embodiment the system 10 is not informed of the telephone numbers from which the parties 20, 22 have placed their calls, and does not maintain a record of the telephone numbers. While the above procedure has been described for convenience in terms of two parties 20, 22, any number of parties can access the system 10 at the same time, limited only by the number of telephone lines 12 and the capabilities of the telephone switch 16. Thus a conference call can be arranged among an arbitrary number of parties, all of whom remain mutually anonymous. In the presently preferred configuration of the system 10, as many as 60 couples of users can be connected simultaneously.
The server 28 includes a suitable software module 42 for the generation of statistical reports, as well as for display- ing a live log all transactions entering the system on a monitor 44 which is connected to the system 10.
An operator screen displayed on the monitor 44 enables the operator to extract various reports and graphs showing exact system activities such as: total number of calls, total of
calls failed, reasons for failures, calls per hour in a day, web sites of origination, etc. Moreover, different operating parameters can be dynamically controlled by the operator using the interface provided by the monitor 44, e.g., system on/off, duration of each telephone call, and pricing policies.
In the preferred embodiment of the invention, should the parties 20, 22 desire to establish yet another telephonic communication, a different code will be assigned when the system 10 is again accessed, even though the parties are the same. It will be appreciated that since the parties 20, 22 are identified by assigned codes, they can access the system 10 from any telephone or communication device at different times. In the preferred embodiment of the invention, the system 10 is indifferent to the actual telephone numbers of the parties 20, 22.
Modes of Operation.
The systems described have at least three configurations: an active configuration where the system calls the users; a "semi-passive" configuration: where one or more user calls the system and all other users are called by the system; and a passive" configuration where a plurality of users call the system. Passive Mode.
In a passive mode of operation, the system's hardware is as shown in Fig. 3, which is similar to the arrangement of Fig. 1, and in which like reference numbers denote the same element throughout. Referring now to Fig. 4, in initial step 46 the parties 20, 22 are in chatting contact via an internet chat web site 48 over channels 50. The chat web page has a link or button which, when engaged, directs the server of the chat web site 48 to communicate with the server 28 on a channel 52. When the parties 20, 22 agree that they wish to communicate by telephone, one of them engages a chat site link at step 54. At step 56 a request is sent through the chat web
site 48 to the server 28 by the party 20. In some embodiments step 54 can be completed by the selection of a link or option on the browser of the party 20, and the communication to the server 28 could be routed directly from the party 20 to the server 28, eliminating the chat web site 48 as an intermediary in the communication. This alternative has the advantage that the proprietor of the chat web site 48 has no indication of the intended telephonic communication. In some embodiments the communication between the party 20 and the server 28 may be encrypted to enhance security.
In step 58 the server 28 then generates a one-time code, which can be either numeric or alphanumeric. The number of digits may change as needed, but is preferably 5 digits.
In step 60 the one-time code is sent out from the server 28. In some embodiments the system 10 recognizes both the parties 20, 22, and following decision step 62 automatically replies to both of them at step 64, according to their IP addresses, or nicknames, sending the code, together with the telephone number of the telephone switch 16. This dual message relieves the requesting party 20 of the obligation to forward the information to the party 22.
If, at decision step 62, both of the parties 20, 22 are not recognized by the system 10, then in step 66 the code is returned to the requesting party 20, together with the tele- phone number of the telephone switch 16. In some embodiments the return communication is routed via the chat web site 48, and in other embodiments it reaches the party 20 directly. In step 68 the party 20 then gives this information to the party 22, his chatting companion, preferably in a "private room" chat session.
Meanwhile, at step 70, the information regarding the specific code and other information regarding the telephone call request are stored in the database 34 (Fig. 2) . At a time previously scheduled by the two parties 20, 22, they both call
the given number and are answered by the interactive voice response machine 18 at step 72, at which time the IVR leads them through the process of connecting each other. In step 72 each of the parties 20, 22 is requested to enter his specific code. At decision step 74 the interactive voice response machine 18 determines whether two concurrent callers have identical specific codes. If so, then at termination step 76 the connection is completed in the telephone switch 16, and the parties 20, 22 speak with each other, and may decide whether to proceed with subsequent connections. In termination step 76 the one-time code is also invalidated by the server 28, so that it cannot be reused in subsequent attempts to establish a connection, and in some embodiments the one-time code is filed in a codes bank 78 for eventual reuse. The use of the codes bank 78 is advantageous when using short transaction identifiers, as the activity space eventually becomes exhausted. Reissuing transaction identifiers from the codes bank 78 m accordance with a policy such "least recently used" prevents a transaction identifier from being reused within too short a time in- terval, and avoids conflicts among different parties who might otherwise have been issued the same transaction identifier during a period of activity. However if a match cannot be confirmed at decision step 74, then at decision step 80 a further test is made to determine if a timeout period has expired. This prevents the telephone switch 16 from becoming congested in situations where the second one of the parties 20, 22 fails to contact the system 10 within a predetermined time interval as measured from the time the first one of the parties 20, 22 made contact with the system 10. If the timeout interval has not elapsed, then control returns to decision step 74. If the timeout interval has elapsed, then the waiting party is disconnected from the telephone switch 16 at termination step 82. The one-time code still remains valid for use in subsequent attempts to establish a connection. However had a successful
connection actually been established, it would be necessary to repeat the procedure beginning at step 5 .
In the passive mode of operation two chatters can call each other for further acquaintance without violating their respective privacies. They do not need to reveal their telephone number or any other personal information to anyone. There is no need for prior registration in the VTN service. The system is passive in the sense that the users call the system and not vice versa. Direct billing for the VTN service is possible according to known techniques. For example billing can be done by the carrier, using specially assigned telephone numbers, such as the "1-900" series in current use in the United States, "0190" in Germany, or the "056/1957" in Israel. It is also possible to collect revenues via a billing program 36 (Fig. 2) that executes in the server 28. The billing program 36 may collect credit card information from the parties 20, 22 when they enter the system, using known billing, authorization and settlement mechanisms. It is also possible to collect revenues using many variants of a prepaid registration technique. Active Mode.
Referring now to Figs. 1, 2, and 5, in an active mode of operation, the system 10 calls the parties 20, 22 to establish a connection therebetween. Prior to their usage of the system 10, the parties 20, 22 are pre-registered in the database 34 at step 84, at which time they provide information, including their telephone numbers. They then receive a password and PIN number. At step 86 the parties 20, 22 establish initial contact in the same man- ner as disclosed in the discussion of passive mode operation. The browser interface with the parties 20, 22 is identical to that disclosed in the passive mode operation. The parties 20, 22 mutually agree on a time for a subsequent telephone contact, and both then engage the chat site link at step 88. At
step 90 the parties 20, 22 both contact the server 28, and they provide their passwords and PIN numbers. The system 10 then, at step 92, calls each, of them at their preregistered telephone number, and if, at decision step 94, the system 10 was successful in contacting both of the parties 20, 22, a connection between the two is established via the telephone switch 16 at termination step 96. The system 10 may either call the parties 20, 22 immediately following the contact in step 90 at a predetermined time. if at decision step 94 one or both of the contacts were unsuccessful, control proceeds to decision step 98 where it is determined whether a criterion for termination of the procedure has been met. The criterion may be a timeout period may, or the procedure may abort after a predetermined number of it- erations. If the criterion has not been met, then control returns to step 92. If the criterion is met, then the procedure terminates at termination step 100. Semi-Passive Mode.
A semi-passive mode of operation is disclosed with refer- ence to Figs. 1, 2, and 6. This is a hybrid configuration in which one user calls the system 10 while the other is called by the system 10.
Prior to their usage of the system 10, the party 20 is pre-registered in the database 34 at step 102, at which time he provides information, including his telephone number. The party 20 then receives a password and PIN number.
The semi-passive configuration permits the party 20 to predetermine contact parameters, which is accomplished at step 104. Step 104 may occur at the time of preregistration, or subsequently. For example, the party 20 may specify during which hours the system 10 is permitted to contact him in order to establish a connection with the party 22. At step 106 the party 20 publicizes his PIN number, and the telephone number of the telephone switch 16.
Next, the party 22 formulates an intention to contact the party 20. This can occur, for example, in the context of an advertisement in which the party 20 has included his PIN number, the telephone number of the telephone switch 16, and has invited a telephonic communication from the party 22. At step 108 the party 22 contacts the system 10.
At decision step 110, using the interactive voice response machine 18 in the manner disclosed above, the system 10 determines if the code provided by the party 22 matches the PIN number of the party 20. If not, the procedure terminates at termination step 112. If there is concordance between the code provided by the party 22 matches the PIN number of the party 20, then control proceeds to decision step 114, where it is determined if the conditions according to the contact parame- ters that were provided in step 104 are satisfied. If not, the procedure terminates at termination step 112.
If the test in decision step 114 is passed, the system 10 then, at step 116, calls the party 20 at his preregistered telephone number while the party 22 awaits. If, at decision step 118 the system 10 was successful in contacting the party 20, connection between the parties 20, 22 is established via the telephone switch 16 at termination step 120.
If at decision step 120 the attempt to contact the party 20 was unsuccessful, control proceeds to decision step 122, where it is determined whether a criterion for termination of the procedure has been met. The criterion may be a timeout period may, or the procedure may abort after a predetermined number of iterations. If the criterion has not been met, then control returns to step 116. If the criterion is met, then the procedure terminates at termination step 112.
An exemplary application of the semi-passive mode of operation is the electronic analog of a blind newspaper advertisement, in which the advertiser wishes to remain anonymous, but desires to receive offers or requests from the general
public. The PIN number has the same function as the blind box number of the newspaper advertisement, with the enhancement that the system 10 is able to screen inquiries and exclude those that do not meet predetermined criteria. Alternate Embodiments.
Continuing to refer to Fig. 1, in either the passive or active modes of operation, the parties 20, 22 may be issued different codes, which provides a greater degree of security. The server 28 is able to match the two codes when contact is made between the system 10 and the parties 20, 22. In some embodiments the parties 20, 22 receive different contact telephone numbers, which is appropriate when they are located remote from one another, possibly in different countries.
In the event that contact cannot be successfully estab- lished by the system 10 with the parties 20, 22, in some embodiments a mechanism for graceful termination of the procedure is provided. The parties 20, 22 may be offered the opportunity of rescheduling their conversation. This can be accomplished using the interactive voice response machine 18, or by other communication such as e-mail.
The system 10 in some embodiments supports voice over IP protocols, and the telephone switch 16 is adapted to support cellular telephone systems, and wireless devices.
It is optional to employ an "anti-spam" mechanism in deci- sion step 62 (Fig. 4) or decision step 110 (Fig. 6) in the active and semi-passive modes of operation respectively. This is particularly useful if the Internet is being used to contact the system 10. If the IP address of one or both of the parties 20, 22 is known to the system 10, it is possible to detect re- quests arriving at a higher than expected rate from one of them, and in such case the request may be disregarded by the system. Such a mechanism may also protect the system from malicious accesses, such as denial-of-service attacks. In some embodiments provision is made for blocking the VTN service
from specific ANIs. For example the telephone numbers associated with unpaid accounts.
In an alternate embodiment, which is operated in the active mode, and with reference to Fig. 1, the server 28 is made accessible to pre-registered users, such as the party 20. In this embodiment, when the party 20 preregisters, he designates a nickname for himself. Upon accessing the server 28 the party 20 can see the nicknames of all the other participants who are currently on-line. It is possible for the party 20 to obtain a direct telephonic connection to a co-participant simply by marking the nickname of that individual on his browser or other communication device. In a variation of this embodiment, the party 20 submits nicknames to the server 28 of individuals with whom he would like to connect by telephone. The server 28 polls a list of participants who are currently online, and should a match occur, the party 20 is signaled by the server 28, and he then has an option of being telephonically connected with at least a subset of the matched co-participant.
In an alternate embodiment the telephone system is con- nected to several chat services and chatters from different chat services can call the same switch.
In yet another alternate embodiment of the invention, which is disclosed with reference to Fig. 7, the system architecture is similar to that shown in Fig. 1, except now the party 20 is connected to an online data service 124 over a channel 126, and the party 22 is connected to a different online data service 128 over a channel 130. The server 28 is linked to both the online data service 124 over a channel 132, and with the online data service 128 over a channel 134. While the channels 132, 134 are preferably routed via the Internet, they could be private data network or via dedicated telephonic or similar communication channels. When a party 20 desires to request a connection with another party 22, the request is submitted via the online data service 124, which transfers the
request to the server 28. The code which is assigned by the server 28 is communicated to the online data service 124, which manages further communication with the party 20.
Preferably, when the embodiment of Fig. 7 is operated in the active mode, the online data services 124, 128 transmit PIN numbers to the server 28 which translates them to the actual telephone numbers of the parties 20, 22. The translated telephone numbers are then transmits these to the interactive voice response machine 18. This arrangement is more secure than transmitting the actual telephone numbers to the server 28. Specialized Applications.
The embodiments described herein have many applications other than the facilitation of telephone conversations between internet chatters under conditions of anonymity. Modifications of the VTN system will readily occur to those skilled in the art whenever there is a need for anonymous telephonic conversation, or for other means of telecommunication conversation, where either one or both sides wish to maintain their privacy. Examples include customer-to-customer (C2C) applications, such as forums, virtual communities, professional consultation sessions, where the client wishes to remain anonymous, while the professional is unconcerned with his own privacy. Other examples include on-line trading, and on-line auctions. Business-to-customer (B2C) applications include trading and auctions where the customer wishes to remain anonymous at the first acquaintance. Fields of application include art dealing, antiquities, stocks, finance, diamonds and other precious goods . Business-to-business (B2B) applications, where both businesses wish to initially remain anonymous, include activities such as bond and currency trading, travel deal offers, and B2B auctions .
The VTN system can be adapted to the formation of forums, such as internet forums. The prospective moderator identifies a topic of interest, and sends a message to the a chat site, scheduling a telephonic conference with public participation on the topic. The VTN system reserves an arbitrary number of positions on its telephone switch for participants who call a specially assigned telephone number during a predefined time interval. The participants are mutually connected as they contact the VTN system. An example of such a forum is a celebrity chat, wherein, at a known time a celebrity is available to chat with the participants who access the VTN system.
While this invention has been explained with reference to the structure disclosed herein, it is not confined to the details set forth and this application is intended to cover any modifications and changes as may come within the scope of the following claims: