Abstract:
A method, computer program product, and apparatus for providing context-aware automatic e-mail filtering and reply generation based on message semantics, sender&#39;s e-mail ID, and the user&#39;s identity is provided. In one embodiment, e-mail received from objectionable sources as determined by the sender&#39;s ID or the IP address from which the e-mail originate are deleted. In other embodiments, e-mail containing objectionable content as determined by the presence of objectionable words or phrases or by an objectionable score determined by assigning weights to various words and phrases that exceeds a threshold value. Other embodiments allow for attachments to be forwarded to a parent or system administrator and approval received from the parent or system administrator prior to allowing access to the attachment by the recipient.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Technical Field  
           [0002]    The present invention relates generally to data processing systems and, more particularly, to a method and apparatus for providing context-aware automatic e-mail filtering and reply generation.  
           [0003]    2. Description of Related Art  
           [0004]    Although personal computers have become less expensive and in general more powerful, they are still difficult to use. The basic icon-oriented display, desktop metaphor and mouse interface have changed little in the past two decades. Attempts to make PCs easier to use have all been focused around the current display, keyboard, and mouse. For the most part, designers have concentrated on making PCs easier to use by changing the behavior of those three standard components rather than changing the entire paradigm. In other words, developers keep trying the make old user interface work but have failed to look “outside the box” for alternative methods of user interaction.  
           [0005]    Writing filters for e-mail and bulk e-mail messages referred to as SPAM is not a new technology. Most e-mail programs have some level of feature to filter e-mail messages by matching the user ID of the sender. While this has been somewhat successful in the past for filtering unwanted e-mail messages, bulk mail programs have become more sophisticated and generate random user IDs to foil the filtering software.  
           [0006]    Current technology to determine the contents of an e-mail message have focused on providing the algorithms to determine the contents of the message using some form of message scanning. The scanning routine attempts to determine the contents of the message based on semantic rules. It would be desirable, however, to have an e-mail filtering program that filters out messages based on the user or sender&#39;s identification or IP address.  
         SUMMARY OF THE INVENTION  
         [0007]    The present invention provides a method, computer program product, and apparatus for providing context-aware automatic e-mail filtering and reply generation based on message semantics, sender&#39;s e-mail ID, and the user&#39;s identity. In one embodiment, e-mail received from objectionable sources as determined by the sender&#39;s ID or the IP address from which the e-mail originate are deleted. In other embodiments, e-mail containing objectionable content as determined by the presence of objectionable words or phrases or by an objectionable score determined by assigning weights to various words and phrases that exceeds a threshold value. Other embodiments allow for attachments to be forwarded to a parent or system administrator and approval received from the parent or system administrator prior to allowing access to the attachment by the recipient.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]    The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:  
         [0009]    [0009]FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented;  
         [0010]    [0010]FIG. 2 depicts a pictorial diagram illustrating an Internet appliance in which the present invention may be implemented;  
         [0011]    [0011]FIG. 3 depicts a block diagram of e-mail filtering software which may be implemented on an Internet appliance in accordance with a preferred embodiment of the present invention;  
         [0012]    [0012]FIG. 4 depicts a flowchart illustrating an exemplary process for receiving e-mail through a e-mail filter in accordance with the present invention; and  
         [0013]    [0013]FIG. 5 depicts a flowchart illustrating an exemplary process for applying filter definitions in accordance with the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0014]    With reference now to the figures, FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented. Network data processing system  100  is a network of computers in which the present invention may be implemented. Network data processing system  100  contains a network  102 , which is the medium used to provide communications links between various devices and computers connected together within network data processing system  100 . Network  102  may include connections, such as wire, wireless communication links, or fiber optic cables.  
         [0015]    In the depicted example, a server  104  is connected to network  102  along with storage unit  106 . In addition, clients  108 ,  110 , and  112  also are connected to network  102 . These clients  108 ,  110 , and  112  may be, for example, personal computers or network computers. In the depicted example, server  104  provides data, such as boot files, operating system images, and applications to clients  108 - 112 . Clients  108 ,  110 , and  112  are clients to server  104 . Network data processing system  100  may include additional servers, clients, and other devices not shown. In the depicted example, network data processing system  100  is the Internet with network  102  representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. Of course, network data processing system  100  also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.  
         [0016]    With reference now FIGS. 2 and 3, FIG. 2 depicts a pictorial diagram illustrating an Internet appliance and FIG. 3 depicts a block diagram of e-mail filtering software which may be implemented on an Internet appliance, such as Internet appliance  200  or any other type of device used for the sending or receiving of electronic mail, in accordance with a preferred embodiment of the present invention. Internet appliance  200  may be implemented as, for example, internet appliance  114  in FIG. 1. The Internet appliance  200  may be installed in a reasonable proximity to the user, preferably mounted flush to the wall or embodied in some other type of appliance such as a refrigerator, a stove, or any other common home appliance. The Internet appliance  200  described herein generally has no exposed keyboard or mouse, and relies on a touch screen  206 , speakers  202 , microphone  203 , display  206 , digital camera  201  and optional network connection  208  input and output. The absence of a touch screen  206 , speakers  202 , microphone  203 , or digital camera  201  does not affect the fundamental operation of the present invention, but only affects the way data may be input or output.  
         [0017]    The Internet appliance  200  has an operating system such as Windows  95 ®, Windows  98 ®, Windows NT®, or Linux® and appropriate hardware adapters such as a modem, cable modem, DSL modem, token-ring, or Ethernet, to connect to the network  102 .  
         [0018]    The Internet appliance  200  also includes appropriate software drivers installed to enable it to use the TCP/IP communication protocol over the hardware adapters. In addition, the Internet appliance  200  has all the necessary software applications that a user uses to manage its routine information management tasks. These applications include a web browser, a dialer and mail clients. The web browser may be embodied as, for example, Netscape Navigator® or Microsoft&#39;s Internet Explorer®; a dialer may be embodied as, for example, AT&amp;T&#39;s Global network dialer; and mail clients can be embodied by, for example, Lotus Notes®, Microsoft Outlook®, or Eudora®.  
         [0019]    A user normally uses the Internet appliance  200  to retrieve, read, compose, and send electronic mail over the Internet. The Internet appliance  200  can also be used to browse or view Internet Web pages using a dial-up network connection  210  or connection to a local area network  208 . The user interacts with the Internet appliance  200  using the touch screen  206 . The present invention may also reside on a third-party network or system, and the functions of the present invention provided as a business service. The present invention then acts as a “proxy” between the arriving mail and the Internet appliance or computer system.  
         [0020]    E-mail received from a network mail server through network connection  302  passes through semantic engine  304  which, if configured to filter e-mail messages, analyzes the e-mail using filter definitions  306  and then saves, deletes, or forwards the e-mail based on matches or lack of matches between the e-mail and the filter definitions. E-mail that is to be stored for presentation to a user is stored in mail storage  308  from which a user may retrieve the e-mail through user input/output (I/O)  310 . Semantic Engine  304  may also be configured to observe actions taken by the user and store these actions in a historical data database  312 . Using the data in the historical data database, the semantic engine may automatically forward, save, or delete future e-mail messages received that have a user ID, originating IP address, or other characteristic in common with previously received e-mail based on the actions the user took with the previous e-mail.  
         [0021]    The user configures the present invention by choosing from a list of topics and actions to perform using the touch screen  206 . For example, if the user does not wish to be informed about gambling or casinos (a frequent source of junk mail), they can select the topic and choose the action to be performed: delete, forward, or save.  
         [0022]    If the delete option is selected, any e-mail for that particular user that contains the matching content will be immediately deleted.  
         [0023]    If the user selects save, the e-mail is saved normally and no action is taken.  
         [0024]    If the user chooses the forward option, the mail can be automatically forwarded to a specified e-mail address.  
         [0025]    If the user chooses SPAM, the e-mail is automatically forwarded to the administrator of the offending server, relay server, and ISP for disposition, and the mail deleted.  
         [0026]    Depending on the context of the received e-mail, the Semantic Engine  304  will attempt to identify the topic of the e-mail message and will suggest an action from a list of pre-loaded actions and previously performed actions. The actions are presented to the user in a scrollable form and selected by the user&#39;s finger on the touch screen display  206 .  
         [0027]    When the present invention is installed in the Internet appliance  200 , and the appliance is then connected to the network  102 , the invention is invoked by the operating filtering software  300  installed in the Internet appliance  200  when an e-mail message arrives via the network  102 , the message is examined by the Semantic Engine  304  for the selected content by topic, such as, for example, gambling, sex, work at home, etc. If the Semantic Engine  304  detects that the content of the e-mail meets the required criteria, the action associated with the topic is performed on the received e-mail.  
         [0028]    A parental or manager function allows e-mail to be scanned per user or globally on the system. This allows, for example, a parent to configure the e-mail system not to accept messages with the word “sex” in them, or to delete all mail for a particular user.  
         [0029]    When a valid, non-filtered or blocked e-mail arrives via the network  102 , the “e-mail received” LED on the Internet appliance  200  illuminates to notify the user that an e-mail message has arrived. The user may read the mail normally and respond, save, or delete. If the user chooses to respond, the response is chosen from a list of responses generated by the Semantic Engine  304  in response to the content of the particular e-mail. The user then selects the appropriate response and pushes the Send key.  
         [0030]    The Semantic Engine  304  can be configured to determine if a mail message contains a job application or resume, and route that particular e-mail to the human resources department.  
         [0031]    The Semantic Engine  304  can be configured to Automatic Mode, leaving the decision of that what action to be taken up to the invention. The Semantic engine  304  “learns” by keeping track of the number of offending e-mail message IDs, domains, and relays, and uses that information to automatically filter offending e-mail messages without any operator intervention. It saves the historical data in a database  312  and refers to database  312  each time a new message arrives.  
         [0032]    When the user views the mail, the invention can be configured to take a specific action upon the receipt of another similar e-mail. The user can select to the delete, save, forward, or SPA options based on the sender&#39;s ID or the topic as derived by the Semantic Engine  304 . For example, a parent can have any offensive e-mail messages for their children forwarded to their account for review. Even if the message is deemed acceptable and has no offending content, parents or managers can have a copy of the received e-mail forwarded automatically to them. This “spy” mode is useful for parents checking up on their kids and for employers concerned with employees&#39; activities.  
         [0033]    The user can print the e-mail message using an optional printer attached to the local network.  
         [0034]    If the e-mail includes an attachment such as a JPG or GIF file, the graphic will be displayed if the user touches the attachment using the touch screen display  206 . If the attachment is a multimedia file, touching the attachment will cause the audio file to be played or the video file to be displayed.  
         [0035]    The filter definitions  306  may be configured such that the semantic engine  304  may be the recipients ID is used to match or reject certain topics based on their user ID. For example, the invention can be configured to accept messages for John that include references to online gambling, but to filter messages for Sally that contain the same type of topics. This allows parents, for instance, to limit the content in e-mail directed toward a child&#39;s account, while allowing the message to be delivered to an adult. As another example, parents could elect to block all messages that come from the amazon.com domain from reaching a child&#39;s account, but allow those message to be sent to those accounts that are configured to receive them.  
         [0036]    Another feature provided by the present invention is the ability to capture any attached files such as graphics, video, or audio, and automatically route them to a parent or employer for review. The e-mail recipient can see that an attachment has arrived but can&#39;t gain access to it until the parent or employer “clears” the file for viewing. Once cleared, the e-mail recipient is free to access the attachment normally.  
         [0037]    Depending on certain settings, the invention will attempt to determine if the attachment contains objectionable material by scanning the attached file and file header information for embedded content such as file names, URLs, or other identifiers that contain any objectionable phrases or words. If found, the attachment is marked as “possible objectionable material” and forwarded to a parent or system administrator disposition.  
         [0038]    The system can also block the receipt of e-mail messages by IP number. It is a common practice to use another server as a relay to make it appear that the e-mail was sent from that server, rather than from the real originator. Once the bulk e-mail program finds one of these servers to use as a proxy, it will continue to use that server until the administrator of the server disables the relay. The e-mail program will continue to use the server for as long as possible, changing the sender&#39;s user ID each time and forging the message headers.  
         [0039]    To determine the message content, the system uses a Semantic Engine. The Semantic Engine  304  scans the e-mail content, retrieving certain verbs, adjectives, nouns, and other patterns of text. The Semantic Engine  304  uses a rules-based algorithm to attempt to determine the context of the message. This allows, for example, for the Semantic Engine to determine the a message from Aunt Tilly that says “the new skirt I just bought looks really sexy” does not have the same criteria as a message that contains “sexy girls online”.  
         [0040]    The Semantic Engine  304  works by assigning a weighted value to each objectionable noun, adjective, and verb, then calculating a sum and weighted average. This value is increased if the noun, adjective, or verb appears in an objectionable phrase. The resultant value is compared against a threshold value which can be changed by the manager or parent. Phrases such as “phone sex” are assigned a high numeric value equal to a value greater than the threshold value to insure that the message is filtered. The important aspect of the Semantic Engine is that the filter parameters including the threshold value are assigned on a “per-user” basis, allowing different filtering criteria to be applied to each user.  
         [0041]    In another variation of this invention is that the functions of the invention can be provided as a service from a third part. Instead of the software installed locally on a user&#39;s computer, the filtering service can be provided by an internet service provider or any third-party service provider. In this case, the invention resides fully or partially on the third-party&#39;s equipment or network.  
         [0042]    With reference now to FIG. 4, a flowchart illustrating an exemplary process for receiving e-mail through a e-mail filter is depicted in accordance with the present invention. Once a user has selected to download e-mail from an e-mail server, the server is accessed and the e-mail is received (step  402 ). The e-mail program then determines whether the user has selected to filter the e-mail through the semantic engine (step  404 ). If the user has selected not to filter the e-mail, then the e-mail is saved for presentation to the user (step  410 ). If, however, the filtering program has been selected by the user, then the semantic engine applies the filter definitions (step  406 ) and determines whether the e-mail is objectionable (step  408 ). If the e-mail is not objectionable, then the e-mail is saved for presentation to the user (step  410 ). If the e-mail is objectionable, then the semantic engine performs appropriate actions based on the type of objection triggered by the e-mail (step  412 ).  
         [0043]    With reference now to FIG. 5, a flowchart illustrating an exemplary process for applying filter definitions is depicted in accordance with the present invention. This flowchart shows in more detail, examples of actions that may be taken in step  406 - 412  in FIG. 4. The semantic engine determines whether the e-mail is Spam (step  502 ). If the e-mail is spam, then the semantic engine composes a message (step  504 ) and sends the message to the administrator of the server from which the offending e-mail originated and deletes the e-mail (step  506 ).  
         [0044]    If the e-mail is not spam, the semantic engine determines whether the e-mail is from an objectionable source (step  508 ) based upon, for example, the user identification of the sender or on the IP address from which the mail originated that has been previously identified as an objectionable source and stored as a filter definitions. If the e-mail is from an objectionable source, then the e-mail is deleted (step  510 ).  
         [0045]    If the e-mail is not from an objectionable source, the semantic engine then determines whether the e-mail contains objectionable words or phrases (step  512 ). If the e-mail does contain objectionable words or phrases, then the e-mail is deleted (step  514 ). The semantic engine may determine whether the e-mail is objectionable based merely on the presence of certain words or may use an algorithm that assigns weights to certain words or phrases and if a threshold value is exceeded, the semantic engine determines that the e-mail is objectionable.  
         [0046]    If the e-mail does not contain objectionable content, the semantic engine next determines whether the e-mail contains an indication that is should be routed to a particular user or department (step  516 ). If the e-mail does contain an indication that it should be forwarded, then the e-mail is forwarded to the appropriate user (step  518 ) based on information from within the e-mail. For example, if the e-mail contains a resume, then the e-mail is forwarded to the human resources department of the organization.  
         [0047]    If the e-mail should not be forwarded to another recipient, the semantic engine determines whether the e-mail contains attachments (step  520 ). If the e-mail does contain attachments and the user to which the e-mail is directed is not authorized to received unscreened attachments, then the attachment is forwarded to a parent or system administrator (step  522 ) and the attachment is locked such that the user is prevented from viewing the attachment until it has been approved by the parent or system administrator (step  524 ). If the e-mail does not contain an attachment, the e-mail is saved for presentation to a user (step  526 ).  
         [0048]    The order of the steps presented here may be altered in other embodiments. Furthermore, other steps not shown may be added, some steps removed, or some steps performed simultaneously with other steps. Also, in other embodiments, some of the steps that are depicted as mutually exclusive may not be mutually exclusive in other embodiments.  
         [0049]    While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.  
         [0050]    For example, while the exemplary implementation above has been described with regard to a portable computing device (e.g., a laptop computer), other devices such as personal data assistants (PDAs), Palm Pilots, portable telephones, products such as MobilePro produced by Sharp Corporation, etc. will find equal benefit with the features of the present invention.  
         [0051]    It is also important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links.  
         [0052]    The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.