The present invention relates to communication networks suitable for hosting communication sessions such as phone calls, texts, and multi-media messages, and more particularly to hosting anonymous communication sessions between users.
Communication networks provide communication sessions between users in the form of voice calls, text, multi-media messages, and data exchanges, hereafter collectively referred to as “sessions.” Telephone networks provide such communications by establishing connections and transmission facilities between or among physical end points. An end point might be a physical location such as a home or office, or it may be a handheld device such as a mobile phone. Telephone numbers or, in the case of voice over IP networks, VOIP addresses, are employed as network addresses. Typically, a destination network address is specified at the origination point, and such network address uniquely identifies the desired termination point, thus enabling the network to establish effective point-to-point connections.
Network addresses are included in telephone networks that employ various internal methods including PSTN (public switched telephone network, also known as circuit switched) and VOIP (voice over IP). Regardless of the internal method, unique network addresses are associated with specific end points. End points are usually provisioned on behalf of specific users so a particular network address serves not only to identify an end point but also identifies the user. Information relating network addresses and identities of respective users is usually available to the public.
A user who originates a session must know the network address of the desired termination point, and the user at the termination point can usually learn the network address of the origination point through a feature of the network that conveys this information (such as caller ID). Using publicly available databases and/or knowing the network addresses, each user can learn the identities of other users. Malicious users could abuse this information to harass or invade the privacy of other users. This issue has not been adequately addressed or solved by conventional technology.
There is a need for systems and methods for providing anonymous sessions such as phone calls and messages between users in a manner enabling the actual network addresses and identities of both users to remain unknown to each other. Furthermore, there is a need for systems and methods for carrying anonymous sessions, such as phone calls and messages, and optionally integrating such services with conventional call centers for the purposes of synchronization, authorization of services, and billing. The present invention is directed toward solutions to address these and other needs, in addition to having other desirable characteristics that will be appreciated by one of skill in the art upon reading the present specification.
The present invention provides a means of establishing and conducting sessions over a network such as a telephone network using network addresses and virtual phone numbers in a manner that provides mutual anonymity by masking the actual network address of all end points from all participating end users. At least one user participating in an anonymous session must pre-subscribe to the virtual network service (the “subscriber”), and other participating users are “guests”. In certain embodiments, an operator working at home or at a call center might subscribe to the virtual network service, and customers of the call center might participate in the role of guest.
In accordance with an embodiment of the present invention, a computer-implemented method includes receiving, through an interface module, a call to a virtual phone number from a guest device having a guest network address. Using an identification module, a unique identification is determined and associated with the guest network address. Through communication using the interface module, a determination is made as to whether a subscriber device associated with the virtual phone number is available to receive a virtual session. The unique identification is transmitted, through the interface module, to the subscriber device associated with the virtual phone number. The virtual session is hosted, on the interface module, between the subscriber device and the guest device. Upon initiation of the virtual session, an indication that the subscriber device is not available is outputted through the interface module.
In accordance with aspects of the present invention, the virtual session is integrated with a call center to provide synchronization. In a further embodiment, the availability of the subscriber device is determined by a status of an existing virtual session combined with information from the call center which communicates with the interface module.
In accordance with aspects of the present invention, the virtual session is integrated with a call center to authorize billing and/or accounting. Alternatively, the virtual session is integrated with a call center to authorize a service.
In accordance with aspects of the present invention, the virtual session is a telephone communication. Alternatively, the virtual session is a text message (SMS). Alternatively, the virtual session is a multi-media message (MMS). Alternatively, the virtual session is a data transmission.
In accordance with aspects of the present invention, the unique identification is a distinctive number for each virtual phone number. In a further embodiment, the determination of the unique identification associated with the guest network address is created when the guest network address is first used with the virtual phone number.
In accordance with aspects of the present invention, the unique identification associated with the guest network address and the virtual phone number associated with the subscriber device are stored on one or more databases.
In accordance with aspects of the present invention, the guest network address is a telephone number.
In accordance with an embodiment of the present invention, a computer-implemented method includes receiving, through an interface module, a call to a virtual phone number from a subscriber device associated with the virtual phone number. The subscriber device is authenticated as the subscriber device previously associated with the virtual phone number. A unique identification, associated with a guest network address, is provided from the subscriber device to the interface module. The guest network address is associated with a guest device. The guest network address, associated with the unique identification, is retrieved through the interface module. A virtual session is hosted, on the interface module, between the subscriber device and the guest device.
In accordance with an embodiment of the present invention, a computer-implemented system includes an interface module for connecting to a virtual phone number from a guest device having a guest network address. The system also includes an identification module for determining a unique identification associated with the guest network address. The interface module is configured for determining whether a subscriber device associated with the virtual phone number is available to receive a call. Also, the interface module is configured to transmit the unique identification to the subscriber device associated with the virtual phone number, If the subscriber device is available to receive the call, the interface module hosts a virtual session between the subscriber device and the guest device.
In accordance with aspects of the present invention, the system further includes
a call center having an incoming call controller that controls incoming guest calls by placing each guest call in an order and assigning the guest calls to subscribers.
In accordance with aspects of the present invention, the availability of the subscriber device is determined by the status of any existing virtual session combined with information from a call center which communicates with the interface module.
These and other characteristics of the present invention will be more fully understood by reference to the following detailed description in conjunction with the attached drawings, in which:
An illustrative embodiment of the present invention relates to a system and method for hosting virtual sessions between a subscriber at his/her subscriber device (e.g., a telephone) and a guest at his/her guest device. The virtual session is hosted on a virtual phone number server in such a way that allows the guest's identity and guest network address as well as the subscriber's identity and subscriber network address to be maintained mutually anonymous from each other. Only an intermediary trusted entity knows information related to the actual network addresses and identities.
Certain illustrative systems and methods described herein utilize a unique identification (ID) assigned to each guest network address related to a particular virtual phone number assigned to each subscriber. The unique ID is a unique number related to each virtual phone number. Each virtual phone number represents the subscriber network address while the unique ID represents the guest network address. More particularly, the unique ID represents the guest network address related to a particular virtual phone number. For example, there could be two identical unique IDs respectively related to two different virtual phone numbers.
Accordingly, when establishing a virtual session from the guest to the subscriber, the virtual phone number server sends the unique ID, rather than the guest network address, to the subscriber. Similarly, when establishing virtual sessions from the subscriber to the guest, the virtual phone number server utilizes the subscriber's virtual phone number, rather than the subscriber's network address such as a landline or other network address, to make the call or send the message. Alternatively, the virtual phone number for the subscriber is a virtual network address such as an email, website, IP address, etc.
The virtual phone number server 12 includes an identification (ID) module 18 configured to assign unique identifiers (IDs) to the guest devices 27 of guests the first time they call a specific subscriber device 15. The virtual phone number server 12 is also configured to communicate with the subscriber device 15 at a pre-registered subscriber network address. In order to originate a call to a subscriber device 15, a guest uses his or her guest device 27 (e.g., telephone) to dial the subscriber's virtual phone number. The communications network 20 routes the call to the virtual phone number server which assigns an ID to the guest device 27 and creates a private record associating that ID with the guest's actual network address (of the guest device 27). The virtual phone number server 12 forwards the call to the subscriber device 15, conveying the guest's ID, but not the guest's actual network address (of the guest device 27). During this call, neither user is knowledgeable of the other user's actual network address; however the guest can reach the same subscriber again in the future by dialing or connecting with the subscriber's sane virtual phone number. The subscriber can reach the guest without knowing the guest's network address by calling the virtual phone number server 12 and submitting the guest's ID number to the server 12 (the virtual phone number server 12 also receiving the subscriber's virtual phone number). The virtual phone number server 12 references its private record for the guest's ID and transfers the call to the guest's actual network address. In this way, voice calls, texts, multi-media messages, data, and the like, can be conveyed anonymously between users.
The virtual phone number server 12 also includes one or more databases 16 containing a variety of information for enabling the functions described herein. For example, the one or more databases 16 can include information relating to the subscriber devices 15 (e.g., subscriber network addresses such as telephone numbers of the subscriber devices 15), as well as a virtual phone number associated with each subscriber device 15. The one or more databases 16 additionally can store guest network addresses such as telephone numbers of guest devices 27, as well as a unique identification (ID) assigned to each particular guest device 27 for a specific virtual phone number.
The virtual phone number server 12 also includes an interface module 24 configured to determine if a subscriber device 15 is currently engaged in a session such as a phone call. The interface module 24 is additionally configured to indicate that a particular subscriber device 15 is currently engaging in a session such as a virtual phone call hosted on the virtual phone number server 12, e.g., in order to help avoid collisions at the subscriber devices 15 due to additional incoming telephone calls being conveyed to a subscriber device 15 that is already engaged in a virtual session (e.g., phone call) hosted on the virtual phone number server 12.
The virtual phone number server 12 includes one or more databases 16 containing a variety of information for enabling the functions described herein. For example, the one or more databases 16 can include information relating to the subscriber devices 15 (e.g., subscriber network address such as phone numbers of the subscriber devices 15), as well as a virtual phone number associated with each subscriber device 15. The one or more databases 16 can additionally store guest network addresses such as telephone numbers of guest devices 27 used by guests, or more particularly customers of the call centers 14. The databases 16 can also store unique identification (ID) numbers assigned to each particular guest device 27 for a specific virtual phone number.
The call center 14 includes an incoming call controller 26 that controls incoming phone calls (e.g., which places phone calls in an order/queue, manages phone calls, assigns phone calls to particular subscribers, etc.) and performs other standard controlling and managing functions in call centers 14, as would be appreciated by one of skill in the art.
The virtual phone number server 12 is configured to receive sessions addressed to virtual phone numbers from guests on guest devices 27 and transmit the virtual sessions to subscribers on their subscriber devices 15 in a manner that maintains the anonymity of both (a) the subscriber network address of the subscriber, and (b) the guest network address of a guest placing the virtual call (and their respective devices 15, 27). Similarly, the virtual phone number server 12 is configured to allow subscriber devices 15 to initiate sessions using a unique identification (ID) number assigned to a guest, in a manner that maintains the anonymity of both (a) the subscriber network address of the subscriber, and (b) the guest network address of a guest receiving the virtual call (and their respective devices 15, 27).
The virtual phone number server 12 additionally includes an interface module 24 configured to query the incoming call controller 26 of the call center 14 via a data link. This query is for determining if a subscriber device 15 is currently engaged in another session such as a phone call with a different guest. The interface module 24 is additionally configured to instruct the incoming call controller 26, via the data link, to indicate that a particular subscriber device 15 is currently engaging in a virtual phone call hosted on the virtual phone number server 12, e.g., in order to help avoid collisions at the subscriber devices 15 due to incoming telephone calls at the call center 14 being conveyed to a subscriber device 15 that is already engaged in a virtual session (e.g., phone call) hosted on the virtual phone number server 12.
In the illustrative embodiments, according to the present invention, the virtual phone number that is provided to the guest in step 106 is a virtual phone number provided by, and hosted on, the virtual phone number server 12. Furthermore, the virtual phone number provided by the subscriber in step 106 is a virtual phone number that is assigned specifically to that particular subscriber's subscriber device 15. For example, the one or more databases 16 optionally can include virtual phone numbers and a specific subscriber device 15 (e.g., identified according to the subscriber network address such as a phone number, etc.) that is assigned to each virtual phone number. As such, when the guest connects with or calls the virtual phone number, provided in step 106, for a follow-up conversation, the guest is directed to the virtual phone number server 12, which can then transmit the virtual phone call to the specific subscriber device 15 assigned to the called virtual phone number. This enables guests to follow up with subscribers, with which they have previously spoken, without the subscriber having to provide the subscriber network address of his or her subscriber device 15.
Continuing with
Once the virtual phone number server 12 receives the guest's follow-up call or connection to the virtual phone number in step 110, the virtual phone number server 12 determines if the subscriber device 15 associated with that particular virtual phone number (i.e., the subscriber from step 104) is available to receive a phone call (step 114). Specifically, step 114 can include the virtual phone number server 12 interfacing with the call center 14 via the data link to determine if the particular subscriber device 15 associated with the dialed virtual phone number is currently on another call or session. For example, the interface module 24 can send, through at least one output device, a request to the call center 14 inquiring into the current status of the subscriber device 15 from step 104. Optionally, in step 114, the virtual phone number server 12 can also communicate with the call center 14, via the data link, to verify that the guest making the call is a valid guest (e.g., a billable guest or customer, etc.).
Turning now to
As described previously herein, the step 120 includes providing the subscriber device 15 with the unique ID of the guest that initiated the virtual phone call. This allows the subscriber, for example, to retrieve his/her notes from previous calls with the guest. In this manner, the guest is enabled to be re-connected with the subscriber from step 104 for the follow-up discussion, without need to reiterate the previous discussions. Accordingly, the interface module 24 allows the incoming call controller 26 to account for virtual sessions in the same system used to account for other sessions such as phone calls (e.g., landline calls, mobile calls, etc.).
Continuing with
Thus, by referencing the guest's unique ID, the subscriber from step 104 is able to call the guest back without ever knowing the guest's network address such as a phone number. For example, turning now to
According to yet further illustrative embodiments of the present invention, the guest and the subscriber from step 104 can contact one another for follow-up communication sessions using text (SMS) messages or multi-media (MMS) messages. For example, turning to
Similarly, the subscriber can respond to the guest (e.g., to the guest's text) by composing and sending the guest a text (SMS) message or a multi-media (MMS) message. For example, as depicted in
In general, any suitable computing device can implement the system 10A/10B (e.g., the call center 14 and the virtual phone number server 12), as well as the methods described herein. For example, the computing device can include one or more server devices, e.g., logically coupled and in communication with each other. Accordingly, the components (e.g., the modules, controllers, etc.) of FIGS, 1-2 generally can be implemented as executable instructions contained in one or more non-transitory computer readable storage devices included in the computing device, one or more input devices, one or more output devices, etc., as would be appreciated by one of skill in the art.
The computing device 500 can include a bus 510 that can be coupled to one or more of the following illustrative components, directly or indirectly: a memory 512, one or more processors 514, one or more presentation components 516, input/output ports 518, input/output components 520, and a power supply 522. One of skill in the art will appreciate that the bus 510 can include one or more busses, such as an address bus, a data bus, or any combination thereof. One of skill in the art additionally will appreciate that, depending on the intended applications and uses of a particular embodiment, multiple components can be implemented by a single device. Similarly, in some instances, a single component can be implemented by multiple devices. As such,
The computing device 500 can include or interact with a variety of computer-readable media. For example, computer-readable media can include Random Access
Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage 5 devices that can be used to encode information and can be accessed by the computing device 500.
The memory 512 can include computer-storage media in the form of volatile and/or nonvolatile memory. The memory 512 can be removable, non-removable, or any combination thereof.
Exemplary hardware devices are devices such as hard drives, solid-state memory, optical-disc drives, and the like.
The computing device 500 can include one or more processors 514 that read data from components such as the memory 512, the various I/O components 520, etc.
Presentation component(s) 516 present data indications to a user or other device. Exemplary presentation components 516 include a display device, speaker, printing component, vibrating component, etc.
The I/O ports 518 can allow the computing device 500 to be logically coupled to other devices, such as I/O components 520. Some of the I/O components 520 can be built into the computing device 500. Examples of such I/O components 520 include a microphone, joystick, recording device, game pad, satellite dish, scanner, printer, wireless device, blue-tooth device, networking device, and the like.
One of skill in the art will appreciate a wide variety of ways to modify and alter the system 10A/10B of
The example embodiments described herein enable numerous benefits. For example, the virtual phone numbers provided herein hosted by the virtual phone number server 12 can maintain mutual anonymity while permitting each user (e.g., guest and subscriber) to originate and receive sessions. Each user's actual network address or more specifically phone number is kept private. Additionally, the virtual phone number server 12 (e.g., which can be implemented at least in part as an application programming interface) supports better integration with the “back office” (e.g., the incoming call controller 26) of the call center 14. In some embodiments, virtual sessions (i.e., voice calls and text (SMS) messages) can be authorized in advance by the call center 14. Additionally, voice calls and text messages can be reported by the virtual phone number server 12 to the call center 14 via the data link, thereby enabling the call center 14 to bill the guest for the communications hosted on the virtual phone number server 12.
Overall, the system 10A/10B according to example embodiments of the present invention can enable any or all of the following: (a) calls originated by guest to subscriber; (b) calls originated by subscriber to guest; (c) text messages from guest to subscriber; and (d) text messages from subscriber to guest; (e) multi-media messages (MMS) from guest to subscriber; (0 multi-media messages from subscriber to guest; (g) data transmissions from guest to subscriber; and (h) data transmissions from subscriber to guest.
As further possible features, the virtual phone number server 12 can obtain approval from the guest for all purchases. Using the interface module 24, calls flowing through the normal call center channels can be coordinated and better integrated with virtual phone calls over the virtual phone numbers, thereby preventing collisions of calls to a busy subscriber. Additionally, the interface module 24 can be configured to permit supervisors of the subscribers to monitor and intervene on virtual phone calls between the subscriber and guest.
Notably, the virtual phone number server 12 enables subscribers to initiate virtual sessions such as phone calls to guests' telephones (e.g., landline phones, mobile phones, etc.). This is a distinct advantage over known systems, which only permit initiation of voice sessions using a web browser or web application. Furthermore, the virtual phone number server 12 can be enabled to quote prices for services in response to real time instructions provided by the call center 14, as would be appreciated by one of skill in the art upon reading the present specification. Furthermore, the virtual phone number server 12 and the interface module 24 can be configured to include features for managing and deterring guest and subscriber fraud. Additionally, the virtual phone number server 12 and interface module 24 can be configured to permit a subscriber to configure call routing individually for each guest. For example, a subscriber can configure a virtual phone number to route selected guests to voice mail, and other guests to specific phone numbers, and still other guests can be blocked from making future calls.
Numerous modifications and alternative embodiments of the present invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode for carrying out the present invention. Details of the structure may vary substantially without departing from the spirit of the present invention, and exclusive use of all modifications that come within the scope of the appended claims is reserved. Within this specification embodiments have been described in a way which enables a clear and concise specification to be written, but it is intended and will be appreciated that embodiments may be variously combined or separated without parting from the invention. It is intended that the present invention be limited only to the extent required by the appended claims and the applicable rules of law.
It is also to be understood that the following claims are to cover all generic and specific features of the invention described herein, and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
This application claims priority to, and the benefit of, co-pending U.S. Provisional Application Ser. No. 61/586,666, filed Jan. 13, 2012, for all subject matter common to both applications. The disclosure of said provisional application is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61586666 | Jan 2012 | US |