Abstract:
Embodiments of a system for preventing unwanted calls are presented. In one embodiment, the system includes a transmitter, for transmitting an electronic message to a user, a receiver communicatively coupled with the transmitter, for receiving the electronic message intended for the user, and a message filter coupled with the receiver, including a message interceptor, for intercepting the electronic message, transmitted by the transmitter, prior to the electronic message being received by the receiver, a verification processor, for determining if the electronic message is unwanted, including a challenge originator, for issuing a challenge in the form of a query to the transmitter, and a validator, for receiving a response to the challenge from the transmitter and for determining the validity of the response, and a message manager, for passing the electronic message to the receiver, if the verification processor determines that the electronic message is not unwanted. Embodiments of a method and a computer-readable storage medium are also described and claimed.

Description:
PRIORITY REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims benefit of and hereby incorporates by reference U.S. Provisional Application No. 60/698,086, entitled “SYSTEM AND METHOD FOR THE PREVENTION OF UNSOLICITED CALLS AND CONTACTS”, filed on Jul. 12, 2005 by inventor Yuval Ben-ltzhak. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     Connectivity, functionality and security are conflicting objectives in daily life. The modern world allows users to connect to each other in many ways, either for social or business reasons. New connectivity methods are introduced every few years thanks to new technology inventions such as voice &amp; video over IP, instant messaging, peer-2-peer, mobile devices, SMS and e-mail. Unfortunately, the wealth of connectivity options between people is also being used for reasons they were not originally intended for; namely, for unsolicited calls and contacts.  
         [0003]     Recently the number of unsolicited calls and contacts has reached a level where people are asking for both legal and security solutions to prevent them. The growing number of unsolicited calls and contacts suppresses people&#39;s willingness to communicate using new technologies, and abuses computers, networks and human resources.  
         [0004]     Currently there are both legal and security solutions to prevent unsolicited calls and contacts, using limited methodology. Such solutions include the US government do-not-call registry, to prevent telephone solicitation by telemarketers, and anti-spam solutions for e-mail solicitation. Although there are debates regarding the effectiveness of these solutions, it is important to note that none of them relate to automatic prevention of unsolicited calls and contacts that are made using voice over IP, peer-2-peer and instant messaging communication technologies. Furthermore, these prior art methods do not guarantee reliability in preventing unsolicited calls.  
         [0005]     It may thus be useful to provide a system and method for automatic prevention of unsolicited calls and contacts in voice/video over IP, mobile devices, SMS, peer-2-peer and instant messaging communication technologies, in a simple and efficient manner. Similarly, it may be advantageous to provide a system and method that prevents computer-based programs from contacting people in order to establish a call and/or contact for sending/playing automated messages (e.g., a marketing message).  
       SUMMARY  
       [0006]     The present invention, in some embodiments, relates to a method and system that prevents computer-based programs and humans from contacting people in order to establish a call and/or contact by saying/sending/playing a message (e.g. a marketing message). In one embodiment, a method includes (a) detecting the event of a 2 nd  party initiating a contact/call with a user; (b) replying to the 2 nd  party with a voice and/or video and/or text message challenging the 2 nd  party to respond; (c) validating the correctness of the 2 nd  party&#39;s reply for correctness; and (d) reporting detected events and replies.  
         [0007]     Such validating may be performed by using predefined sets of logical rules, for deciding whether or not a reply is correct.  
         [0008]     In one embodiment, some or all of the steps involved are carried out in a semi-automatic manner, requiring the user&#39;s approval.  
         [0009]     In an embodiment, the reply to the 2 nd  party may include a warning to alert the 2 nd  party to avoid making unsolicited calls/contacts.  
         [0010]     In another embodiment, before sending a reply to the 2 nd  party the method checks if the 2 nd  party is already registered in an “allow contact/call list”, based on 2 nd  party attribute/s. If the 2 nd  party is already in the list, the contact/call is allowed without the challenging message. In an embodiment, a 2 nd  party whose contact/call is successfully validated is added to the allow contact/call list, with his attributes, so that future attempts by the same party are approved without challenging the party again. In an embodiment, the user is able to add/remove/edit information from the allow contact/call list in a manual and/or semi-automatic method. In another embodiment, the allow contact/call list is loaded with contact/call attributes that the user used in the past.  
         [0011]     In yet another embodiment, the reply to the 2 nd  party is based on randomly generated text and/or voice and/or video commands challenging the 2 nd  party. In such an embodiment, the reply to the 2 nd  party is based on a pre-defined list of text and/or voice and/or video commands challenging the 2 nd  party. Also, in an embodiment, the reply to the 2 nd  party is based on a mix from a pre-defined list and from randomly generated text and/or voice and/or video commands challenging the 2 nd  party.  
         [0012]     In another embodiment, the 2 nd  party is allowed more than one attempt to reply with the correct information to the challenge.  
         [0013]     In yet another embodiment, one or more modules of the system are separate from the user&#39;s device receiving the call/contact.  
         [0014]     There is thus provided in some embodiments a system for preventing unwanted calls, including a transmitter, for transmitting an electronic message to a user, a receiver communicatively coupled with the transmitter, for receiving the electronic message intended for the user, and a message filter coupled with the receiver, including a message interceptor, for intercepting the electronic message, transmitted by the transmitter, prior to the electronic message being received by the receiver, a verification processor, for determining if the electronic message is unwanted, including a challenge originator, for issuing a challenge in the form of a query to the transmitter, and a validator, for receiving a response to the challenge from the transmitter and for determining the validity of the response, and a message manager, for passing the electronic message to the receiver, if the verification processor determines that the electronic message is not unwanted.  
         [0015]     There is further provided in some embodiments a method for preventing unwanted calls, including intercepting an electronic message intended for delivery to a user, prior to the electronic message being received by the user, determining if the electronic message is unwanted, including issuing a challenge in the form of a query to an initiator of the electronic message, receiving a response to the challenge from the initiator, and validating the response to determine its validity, and passing the electronic message to the user, if the determining determines that the electronic message is not unwanted.  
         [0016]     There is provided in other embodiments a computer-readable storage medium storing program code for causing at least one computing device to intercept an electronic message intended for delivery to a user, prior to the electronic message being received by the user, to determine if the electronic message is unwanted, by issuing a challenge in the form of a query to an initiator of the electronic message, receiving a response to the challenge from the initiator, and validating the response to determine its validity, and to pass the electronic message to the user, if the computing device determines that the electronic message is not unwanted.  
         [0017]     Thus various embodiments provide a system and method for automatic prevention of unsolicited calls and contacts in voice/video over IP, mobile devices, SMS, peer-2-peer and instant messaging communication technologies, in a simple and efficient manner.  
         [0018]     Additionally, some embodiments provide a system and method that prevents computer-based programs from contacting people in order to establish a call and/or contact for sending/playing automated messages (e.g., a marketing message).  
         [0019]     Additionally, the some embodiments provide a system and method that does not err by blocking contacts and calls made by humans to humans on a normal requested basis, known as false positive errors.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0020]     Various embodiments of the present invention will be more fully understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:  
         [0021]      FIG. 1A  shows a typical environment where two users interact with each other over a voice over IP telephony system, according to the prior art;  
         [0022]      FIG. 1B  shows a typical environment where two users interact with each other over an instant messaging system, according to the prior art;  
         [0023]      FIG. 2A  shows a typical environment where an automated machine interacts with a user using a voice over IP telephony system, according to the prior art;  
         [0024]      FIG. 2B  shows a typical environment where an automated machine interacts with a user over an instant messaging system, according to the prior art;  
         [0025]      FIG. 3A  illustrates an environment according to an embodiment where a 2 nd  user and/or an automated machine attempts to contact/call the user, using voice over IP, with an unsolicited contact/call prevention system in place;  
         [0026]      FIG. 3B  illustrates an environment according to an embodiment where a 2 nd  user and/or an automated machine attempts to contact/call the user, using instant messaging, with an unsolicited contact/call prevention system in place;  
         [0027]      FIG. 4  is a block diagram illustrating how an embodiment of a method operates within an environment like that illustrated in  FIGS. 3A and 3B ;  
         [0028]      FIG. 5  is an example of an unsolicited text message sent by a 2 nd  user to the end-user using an instant messaging network;  
         [0029]      FIG. 6  is an example of a warning message a system may send for call/contact requests that are not available in the allow call/contact list in some embodiments;  
         [0030]      FIG. 7  is an example of a challenging message the call/contact initiator needs to reply to in some embodiments; and  
         [0031]      FIG. 8  is a system message reporting to the call/contact initiator that his call/contact request was denied in some embodiments.  
     
    
     DETAILED DESCRIPTION  
       [0032]     The present invention, in various embodiments, relates to preventing unsolicited calls and contacts. More particularly, an embodiment relates to a method and system for automatically and continuously preventing unsolicited calls and contacts in voice/video over IP, peer-2-peer, instant messaging, mobile devices, SMS, e-mail and computer networks. In an embodiment, this preventing is carried out in an automatic manner. Alternatively, in other embodiments, semi-automatic and manual methods may be employed.  
         [0033]     In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.  
         [0034]     Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Features and aspects of various embodiments may be integrated into other embodiments, and embodiments illustrated in this document may be implemented without all of the features or aspects illustrated or described.  
         [0035]      FIG. 1A  shows a typical environment where a 2 nd  user,  100   a , uses a voice over IP device,  110   a , to initiate a contact/call,  120   a , with an end-user,  150   a , via a voice over IP device,  130   a . In some environments, voice over IP device  130   a  may have a voice mail service,  140   a , available. In the environment described in  FIG. 1A , which does not have an automatic prevention system in place, end-user  150   a  is vulnerable to unsolicited contacts/calls made by the 2 nd  user  100   a.    
         [0036]      FIG. 1B  shows a typical environment where a 2 nd  user,  100   b , uses an instant messaging device,  110   b , to initiate a contact/call,  120   b , with an end-user,  150   b , via an instant messaging device,  130   b . In some environments, instant messaging device  130   b  may have a text mail service,  140   b , available. In the environment described in  FIG. 1B , which does not have an automatic prevention system in place, end-user  150   b  is vulnerable to unsolicited contacts/calls by the 2 nd  user,  100   b.    
         [0037]      FIG. 2A  shows a typical environment where an automated messaging machine,  200   a , uses a voice over IP device,  210   a , to initiate a contact/call,  220   a , with an end-user,  250   a , via a voice over IP device,  230   a . In some environments voice over IP device  230   a  may have a voice mail service,  240   a , available. In the environment illustrated in  FIG. 2A , which does not have an automatic prevention system in place, end-user  250   a  is vulnerable to unsolicited contacts/calls by automated messaging machine  200   a.    
         [0038]     Automated messaging machine  200   a  is a system and/or computer program, that plays voice and/or text messages that were pre-recorded and/or dynamically and/or semi-dynamically generated. Such a machine includes, inter alia, a tape recorder and a DVD player. For example, as shown in  FIG. 5 , using automated messaging machine  200   a , advertisers and telemarketing services can easily and cost effectively forward marketing messages to many end-users  250   a , with minimal effort.  
         [0039]     In some embodiments, video over IP is used instead of or in addition to the described voice over IP devices and network. In such case automated messaging machine  200   a  plays a pre-recorded and/or dynamically and/or semi-dynamically generated video message.  
         [0040]      FIG. 2B  shows a typical environment where an automated messaging machine,  200   b , uses an instant messaging device,  210   b , to initiate a contact/call,  220   b , with an end-user,  250   b , via an instant messaging device,  230   b . In some environments instant messaging device  230   b  may have a text mail service,  240   b , available. In the environment described in  FIG. 2B , which does not have an automatic prevention mechanism in place, end-user  250   b  is vulnerable to unsolicited contacts/calls by automated messaging machine  200   b . For example, the vulnerable end-user  250   b  may receive a marketing message forwarded by an automated messaging machine to promote a specific service and/or product.  
         [0041]      FIG. 3A  illustrates the structure of an improved system, according to one embodiment. A 2 nd  user and/or an automatic message machine,  300   a , attempts to initiate a contact/call,  321   a , with an end-user,  360   a . In one embodiment, a session challenging system,  320   a , is installed with the end-user&#39;s voice over IP device,  330   a , to trap the event of contact/call initialization. On such event  321   a , session challenging system  320   a  retrieves the 2 nd  user&#39;s  300   a  call/contact attributes, such as, inter alia, call number, identification number, time and location, and checks if one or more attributes are present in an allow contact/call list,  350   a . In some embodiments, the process of identifying if one or more attributes are present in allow contact/call list  350   a  may include additional logical rules.  
         [0042]     Having established the presence of the call/contact attribute in list  350   a , the session challenging system approves the call/contact initialization  321   a , and forwards it to the end-user&#39;s voice over IP device  330   a.    
         [0043]     If the call/contact attributes are not found in list  350   a , session challenging system  320   a  replies to initiator  300   a  via voice over IP device  310   a , with a challenging message,  322   a , such as the message illustrated in  FIG. 7 . In some embodiments, session challenging system  320   a  may reply with a pre-recorded and/or automatically and/or semi-automatically generated message to initiator  300   a , via voice over IP device  310   a . In other embodiments, if the call/contact attributes are not found in list  350   a  then session challenging system  320   a  forwards the call/contact to a voice mail system  340   a , without interrupting end-user  360   a.    
         [0044]     Challenging message  322   a  may be, inter alia, a voice message asking initiator  300   a  to dial and/or repeat a sequence of one or more digits and/or letters. In addition or alternatively, challenging message  322   a  may be, inter alia, a voice message asking initiator  300   a  one or more questions to be answered either verbally or by dialing one or more numbers and/or letters.  
         [0045]     If a reply is not received from initiator  300   a  within a pre-defined time limit, session challenging system  320   a  drops the call/contact request  321   a.    
         [0046]     If a reply,  323   a , from initiator  300   a  to challenge message  323   a  is received within the pre-defined time limit, session challenging system  320   a  checks if reply  323   a  is correct. In some embodiments, the validation process may include additional logical rules. If reply  323   a  is determined to be correct, session challenging system  320   a  then forwards the call to end-user  360   a  via voice over IP device,  330   a . In some embodiments, session challenging system  320   a  also updates allow contact/call list  350   a  with the validated call attributes.  
         [0047]     If reply  323   a  is determined to be incorrect, session challenging system  320   a  drops the call/contact request, and may issue a notification to 2 nd  user  300   a , such as the notification illustrated in  FIG. 8 . In some embodiments, session challenging system  320   a  forwards the call/contact request to voice mail system  340   a , without interrupting end-user  360   a.    
         [0048]     Session challenging system  320   a  may be coupled with voice over IP device,  330   a , or alternatively it may reside at a location that can trap the event of initiating a call/contact with end-user  360   a.    
         [0049]     Allow contact/call list  350   a  may be coupled with voice over IP device  330   a , or alternatively it may reside at a location that session challenging system  320   a  can query.  
         [0050]     Voice mail system  340   a  may be coupled with voice over IP device  330   a , or alternatively it may reside at a location that session challenging system  320   a  can forward call/contact requests to.  
         [0051]      FIG. 3B  illustrates the structure of an improved system, according to one embodiment. A 2 nd  user and/or an automatic message machine,  300   b , attempts to initiate a contact/call,  321   b , with an end-user,  360   b . In one embodiment, a session challenging system,  320   b , is coupled with the end-user&#39;s instant messaging device,  330   b , to trap the event of contact/call initialization. On such event,  321   b , session challenging system  320   b , retrieves the 2 nd  user&#39;s  300   b  call/contact attributes, such as, inter alia, call number, identification number, time and location, and checks if one or more attributes are already present in an allow contact/call list,  350   b . In some embodiments, the process of identifying if one or more attributes are present in allow contact/call list  350   b  may include additional logical rules.  
         [0052]     If the call/contact attribute is present in list  350   b , session challenging system  320   b  approves the call/contact initialization,  321   b , and forwards it to the end-user&#39;s instant messaging device  330   b.    
         [0053]     If the call/contact attribute is not present in list  350   b , session challenging system  320   b  replies to initiator  300   b , via instant messaging device  310   b , with a challenging message,  322   b , such as the message illustrated in  FIG. 7 . In some embodiments, session challenging system  320   b  may reply with a pre-recorded and/or automatically and/or semi-automatically generated message to initiator  300   b , via instant messaging device  310   b . In other embodiments, if the call/contact attributes are not found in list  350   b , session challenging system  320   b  forwards the call/contact to a text mail system,  340   b , without interrupting end-user  360   b.    
         [0054]     Challenging message  322   b  may be, inter alia, a text message asking initiator  300   b  to type and/or repeat a sequence of one or more digits and/or letters, such as the text message illustrated in  FIG. 7 . Additionally or alternatively, challenging message  322   b  may be, inter alia, a text message asking initiator  300   b  one or more questions to be answered by typing one or more numbers and/or letters.  
         [0055]     If a reply is not received from initiator  300   b  within a pre-defined time limit, session challenging system  320   b  drops the call/contact request  321   b.    
         [0056]     If a reply,  323   b , from initiator  300   b  to challenging message  323   b  is received within the pre-defined time limit, session challenging system  320   b  checks if reply  323   b  is correct. In some embodiments of the present invention, the validation process may include additional logical rules. If reply  323   b  is determined to be correct, session challenging system  320   b  forwards the call to end-user  360   b , via instant messaging device  330   b . In some embodiments of the present invention, session challenging system  320   b  also updates the allow contact/call list  350   b  with the validated call attributes.  
         [0057]     If reply  323   b  is determined to be incorrect, session challenging system  320   b  drops the call/contact request. In some embodiments of the present invention, session challenging system  320   b  forwards the call/contact request to text mail system  340   b , without interrupting end-user  360   b.    
         [0058]     Session challenging system  320   b  may be coupled with instant messaging device  330   b , or alternatively it made reside at a location that can trap the event of initiating a call/contact with end-user  360   b.    
         [0059]     Allow contact/call list  350   b , may be coupled with instant messaging device  330   b , or alternatively it may reside at a location that session challenging system  320   b  can query.  
         [0060]     Text mail system  340   b  may be coupled with instant messaging device  330   b , or alternatively it may reside at a location that session challenging system  320   b  can forward call/contact requests to.  
         [0061]     The systems of various embodiments illustrated in  FIGS. 3A and 3B , may be implemented in software, in hardware or in a software/hardware combination.  
         [0062]      FIG. 4  is a block diagram illustrating operation of an improved method according to one embodiment. After starting at step  400 , the method loads an allow contact/call list,  401 . Allow contact/call list  401  includes call/contact attributes which, if matched with an incoming call/contact request, are allowed to initiate a call/contact with the end-user. After loading the list, the method waits for a call/contact session initialization request,  402 , to occur. On event,  403 , the method retrieves session attributes by querying the initiating party,  404 . In some embodiments, the attributes can be, inter alia, caller ID, caller name, location and number. Having the attributes, the method checks if one or more of these attributes are already present in the allow contact/call list,  410 . In some embodiments, the checking process may include additional logical rules. If the call/contact attributes are present in the list, the method enables the call/contact initialization,  415 , and forwards it to the end user. The method continues to wait for additional session initialization requests,  402 .  
         [0063]     If the method does not find the attributes in the allow contact/call list, in some embodiments, it replies to the initiating party with a warning message that was pre-recorded, automatically and/or semi-automatically generated,  420 , such as the warning message illustrated in  FIG. 6 . In some embodiments, the warning message is in text and/or video format. If the software does not find the attributes in the allow contact/call list, it also replies with a challenging message to the initiator party,  422 , such as the challenging message illustrated in  FIG. 7 . The challenging message may be, inter alia, a text message asking the initiator to type and/or repeat a sequence of one or more digits and/or letters. In addition or alternatively, the challenging message may be, inter alia, a text message asking the initiator one or more questions to be answered by typing one or more numbers and/or letters; and/or a voice/video message asking the initiator one or more questions to be answered by typing numbers and/or letters.  
         [0064]     Following the challenging message, the method waits for a reply from the initiator,  425 . In some embodiments, the method waits for a pre-defined time limit and, if a reply is not received within the time limit, the method drops the session request and does not allow connection to the end-user,  428 . On event,  429 , the method validates the reply for correctness,  430 . In some embodiments, the validation process may include additional logical rules. If the reply is determined to be correct, the method forwards the call to the end-user,  415 . In some embodiments, the method also updates the allow contact/call list,  435 , with the validated call attributes.  
         [0065]     If the reply is determined to be incorrect, the method drops the call/contact request,  428 , and may issue a notification to the initiating party, such as the notification illustrated in  FIG. 8 . In some embodiments, the software forwards the call/contact request to the text/voice/video mail system,  440 , without interrupting the end-user.  
         [0066]     The method of the embodiment illustrated in  FIG. 4  may be implemented in software, in hardware or in a software/hardware combination.  
         [0067]      FIG. 5  is an example of an unsolicited marketing message that was received over an instant messaging system, which various embodiments can block.  
         [0068]     One skilled in the art will appreciate that although specific examples and embodiments of the system and methods have been described for purposes of illustration, various modifications can be made without deviating from the present invention. For example, embodiments of the present invention may be applied to many different types of databases, systems and application programs. Moreover, features of one embodiment may be incorporated into other embodiments, even where those features are not described together in a single embodiment within the present document.