The Internet has spawned many new communications mediums that continue to become increasingly popular and wide spread. These new mediums include but are not limited to electronic mail (email) and text messaging over a network of two or more computers or network connectable, processor-based devices. Email allows electronic communication of a text message alone or in combination with graphics and optional attachments. Text or instant messaging is a simpler communication mechanism for transmitting short text messages. These electronic communication mediums are popular as they provide cheap, easy, point-to-point communication that is less intrusive than a traditional phone call. There is an abundance of other benefits, for example, email easily enables one-to-many communication, there is no need to synchronize participants and the content can be planned easier, among other things. Unfortunately, these mediums have two main adversaries that threaten the convenience of and confidence in their use, namely spam and viruses.
Spam is the electronic relative of traditional junk mail. Like junk mail, spam is unsolicited messages that are sent in bulk. Typically, spam is commercial in nature. For example, direct marketers, companies, and individuals employ spam to advertise products, get-rich-quick schemes and the like as well as solicit donations. Due to the nature of spam, that is unwanted messages, and the pure volume thereof, spam is a nuisance that inconveniences users of electronic communication mediums Not only do users have to waste time sorting through a deluge of undesired communications, but also they likely bear the cost (passed on by service providers) of the tremendous amounts of resources (e.g., storage space, network bandwidth . . . ) required to cope with these messages. Furthermore, a large volume of spam can have the effect of a denial of service attack, because the real mail is lost in the mass of other messages.
In addition to spam, electronic communication systems are susceptible to virus and other types of malicious code such as worms and Trojans. For instance, a message such as an email can include a virus as an attachment. A computer can subsequently be infected with the virus upon execution, for example, upon opening the attachment. The virus can then damage hardware, software, and/or files. The virus can thereafter be transferred and spread to other computers via email. A worm is similar to a virus in its devastating effects but can replicate and transmit itself to other computers without aid. For example, a worm can locate a user's address book and send itself to every listed recipient. A Trojan or Trojan horse is slightly different in that it employs trickery to lure a user to open or execute the code and does not infect files like a virus or replicate itself like a worm. Rather, a Trojan appears as a legitimate piece of software that when opened can delete or destroy files as well as open a backdoor that can be utilized to access personal or confidential information and/or hijack a computer.
A variety of systems and techniques have been developed and employed to combat spam and malicious code. More specifically, email and text messages are subject to numerous filters to detect spam and/or malicious code. Once identified, action is taken on the content such as redirection to a designated location (e.g., spam folder, quarantine region . . . ) and/or deletion, among other things.
The following presents a simplified summary in order to provide a basic understanding of some aspects of the claimed subject matter. This summary is not an extensive overview. It is not intended to identify key/critical elements or to delineate the scope of the claimed subject matter. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
Briefly described the subject innovation provides for filtering voice, fax and like communications. In particular, filters or agents can be executed that detect unsolicited bulk communications or spam and/or malicious code such as viruses, worms, and Trojans, among others.
In accordance with an aspect of the subject innovation, filtering of voice and facsimile communications can be accomplished by leveraging the existing email pipeline and associated processes. Such communications can be converted into emails or SMTP messages of a particular form to align the messages with standard analysis tools. More particularly, voice and fax messages can be analyzed and at least a portion of the content provided in the body of an email as a preview together with other type-specific MIME data. The emails can then be processed utilizing conventional email filters.
According to another aspect of the subject innovation, preview generation can be done utilizing native or plug-in speech-to-text algorithms or mechanisms for voice messages. Similarly, native or plug-in character recognition techniques can be employed with respect to scanned documents such as facsimiles.
According to still another aspect of the subject innovation, the voice, fax or like communication can be added to an email as an attachment. Special filters are then able to analyze the entire message rather than just the generated preview. Furthermore, such filters can provide additional information that may be of interest in detecting spam, for instance, such as tone of voice or volume.
In accordance with a particular aspect of the subject innovation, a branch exchange component can forward a telephone call to a conversion component that answers the call and generates an email message. The generated message is then transmitted to a message server (e.g., SMTP server, email server) that applies one or more filters thereon to detect, among other things, spam and/or malicious code.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the claimed subject matter are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways in which the subject matter may be practiced, all of which are intended to be within the scope of the claimed subject matter. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
a-b depict exemplary message content that may be transmitted to recipients in conjunction with voice or facsimile communications.
The various aspects of the subject innovation are now described with reference to the annexed drawings, wherein like numerals refer to like or corresponding elements throughout. It should be understood, however, that the drawings and detailed description relating thereto are not intended to limit the claimed subject matter to the particular form disclosed. Rather, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the claimed subject matter.
As used in this application, the terms “component” and “system” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an instance, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Artificial intelligence based systems (e.g., explicitly and/or implicitly trained classifiers) can be employed in connection with performing inference and/or probabilistic determinations and/or statistical-based determinations as in accordance with one or more aspects of the subject innovation as described hereinafter. As used herein, the term “inference” or “infer” refers generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action in connection with the subject innovation.
Furthermore, the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed innovation. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Turning initially to
The speech-to-text component (also referred to herein as STT component) 123 recognizes verbal communication and converts spoken or recorded words to text. Hence, the STT component 123 can convert a voice message substantially in real time as it is being communicated or from a recorded version thereof. In this manner, the analysis component 122 can scrutinize the text produced by STT component 123 to detect spam or malicious code.
In contrast to the STT component 123, the speech component 124 can scan the audio alone, rather than text produced there from, to facilitate identification of particular keywords, phrases, and/or patterns thereof. Hence, the analysis component 122 can provide keywords, for example, to the speech component 124 and the component can indicated whether such keywords are present in the audio. Additionally, the speech component 124 may be able to discern additional characteristics that may be of interest including but not limited to tone of voice and volume.
The analyzer component 122 can also employ the character recognition component 125 to aid in identifying particular words in an electronic communication such as a fax. For example, the recognition component 125 can employ standard and/or novel recognition algorithms to create a structured document that represents the content of a scanned document. Additionally or alternatively, the structure component 126 is operable to scan the structure of a document, such as a fax, rather than the converted structured document to facilitate detection of spam or malicious code.
It should be appreciated that the analysis component 122 can employ more than one of the described components to facilitate detection as well as improve reliability. By way of example and not limitation, the analysis component 122 can receive data from both the STT component 123 and the speech component 124 to determine whether particular words or phrases are present in a voice message. Likewise, character recognition component 125 and structure component 126 can be utilized in combination to aid in identifying spam and/or malicious code in a scanned document such as a facsimile.
The detection component 120, as previously described with respect of
The action component 312 receives indication of whether a message is spam or includes malicious code from the detection component 120. Upon receipt of such an indicator, the action component 312 can perform some action, for instance based upon one or more rules and/or preferences. By way of example, upon receipt of a message that is identified as spam, the action component 312 could forward the message to a junk mail container or simply delete the message. Similarly, upon receipt of a message including malicious code the message could be deleted or quarantined so as not to allow the code to achieve its intended result. Additionally or alternatively, the phone number or other identifier of the source of a message can be recorded. Action taken by the action component 312 can be performed by a user application (e.g., email application) or more sensibly by a mail server such as an SMTP (Simple Mail Transport Protocol) server to relieve the user application of such responsibility. Likewise, detection can also be executed by a user application or a mail server.
It should also be appreciated that filter component 310 need not only be employed with respect to spam and malicious code. Additionally, the filter component 310 could represent some user or administrator rules or preferences. The filter component 310 could then be utilized to group or organize particular types of messages based at least upon their content. Thus, the detection component 120 could be employed to identify particular content and the action component 312 could perform the act or acts required to group or organize a message in accordance with a rule.
Referring to
Turning attention to
Conversion component 410 can also include an attachment component 520. The attachment component 520 can record and/or save a received voice or facsimile message. The recorded or saved version of the message can then be added to the email as an attachment. Conversion component 410 is communicatively coupled to preview component to facilitate generation of a preview of the message as detailed supra.
In addition to the aforementioned components, the conversion component 410 can include a type identity component 530. The identity component 530 can provide an indication in the email as to whether includes a voice mail message or a facsimile message. This indication can also be provided in the email body, inter alia. To aid the determination of voice or fax message, the identifier component is communicatively coupled to the preview component 510 and the attachment component 520. The identifier component 520 can make such a determination for example based on the attachment itself or whether the STT component 123 or the character recognition component 125 is employed to generate a preview and/or the preview itself.
The conversion component 410 converts a voice or facsimile message to an email message. For example, the voice or fax can be recorded or saved and attached to the email and at least a portion of the content provided in the body, among other things. The conversion component 410 can be communicatively coupled to one or more non-native, plug-in components 610 thereby extending the functionality of the conversion component 410. For example, plug-in component 610 can provide speech-to-text functionality to the conversion component 410.
Filter component 320 is communicatively coupled to and can receive messages from conversion component 410. The filter component 320 can identify and act upon particular emails. For instance, the filter component 320 can scan the text of converted voice or fax message for particular keywords and perform some action if the keywords are found. Additionally or alternatively, the filter component 320 can scan the attachment, which may include an audio or a scanned document, among other things. It should be appreciated that the filter component 320 can be combined with the conversion component 410.
Turning to
Filter 320 is communicatively coupled to the attachment component 520, the preview component 510 and the type identifier component 530. The filter component 320 can spot particular keywords, phrases or the like in an attempt to detect particular message content including but not limited to unsolicited bulk messages and malicious code. Action can be initiated by the filter component 320 based on the content discovered. The filter component 320 can analyzed a voice message during or after recording via the attachment component 520. Additionally or alternatively, the content preview generated by preview component 510 may be analyzed by the filter component 320 to detect and/or act upon messages. The filter component 320 may also provide information to the type identifier component 530 to facilitate discovery of the type of email message.
Conversion component 410, as previously described, can convert a received communication to an email. The conversion component 410 can receive a communication from the branch exchange component 810 or via a connection provided thereby. The communication can subsequently or concurrently be transformed into an SMTP (Simple Mail Transfer Protocol) message. As discussed supra, a voice or facsimile message can be recorded or saved and provided as an attachment. Further, at least a portion of the content of the message can be encoded in the body, for instance in a MIME (Multipurpose Internet Mail Extension) format. Additional information can also be captured in the body including but not limited to message type (e.g. voice, fax), calling telephone number, voice message duration, voice message sender name, attachment name, and fax number of pages. Further yet, the MIME message could be converted into an internal representation, which could be stored with an internal representation of a message classification. This classification can then be used by client access software to display an optimized UI.
Still further yet, based on available information from the branch exchange 810 and/or message server 830, the conversion component 410 can compose viewable messages, for instance utilizing the HTML content type. By way of example and not limitation
Conversion component 410 is also extensible. In particular, the conversion component 410 can utilize third party and/or non-native functionality, for instance provided by plug-in component 610. By way of example and not limitation, the plug-in component 610 can provide one or more algorithms to facilitate translating speech-to-text or for optical character recognition. In this manner, not all functionality needs to be provided solely by the conversion component 410. Moreover, the conversion component 410 can be updated such that it can employ the best techniques or mechanisms associated with email generation.
It should also be noted that conversion component 410 may facilitate checking intended recipients mailbox quota prior to and/or after receiving the message. In this manner, the component 410 can ensure a message that is accepted is transmitted to the intended recipient, as senders expect this and are often unable to receive a report indicating that the message was not delivered. For example, the system 820 may not answer a call indicated for a recipient whose mailbox quota has been exceeded.
A generated email or SMTP message can be transmitted from the conversion component 410 to a message server 830 (also a component as defined herein). The message server 830 can process messages for delivery to an intended recipient mailbox(es), among other things, such that they can be received or retrieved by an email application (e.g., viewer/editor and POP or IMAP client). Accordingly, the server 830 may correspond to among other things a mailbox, SMTP and/or a bridgehead server. It should also be appreciated that the conversion component 410 can be an SMTP client that communicates with the SMTP server. In addition to forwarding messages to a recipient's mailbox or mailboxes, the message server 830 can filter such messages. The filtration can be done using conventional filters for email including spam and malicious code filters or agents as well as normal email rules or agents. In this manner, the general message delivery pipeline can be leveraged to perform voice/fax filtering without the need to build a new pipeline. Additionally, the message server 830 can employ one or more special agents 832 (also components as that term is defined herein) to scan the audio rather than the text preview of the message. Such audio agents 832 could filter based on tone of voice, volume, and/or obscenity checking, among other things. Similarly, special fax agents 834 (also components as that term is defined herein) can be utilized to scan the structure of the email separate from the converted structured document or preview. It should also be noted that these agents 832 and 834 can be plug-ins or add-ons produced by the server vendor or third-party vendors, among others.
It should be noted that conversion component 410 might select from more than one message server 830. The component 410 may select from a list of servers utilizing an algorithm such as a round-robin algorithm to select a server during message submission. If component 410 fails to contact the selected server, it can note this and utilize the next server. The server marked as down will not be utilized for a predetermined time period (e.g., N seconds). If no server is available, the call will not be answered or a prompt can be played indicating that the server is unavailable. If the server goes down after answering the call and recording the message, then the conversion component 410 and more specifically a spooler associated therewith can ensure that the message is delivered when a server comes online.
The aforementioned systems have been described with respect to interaction between several components. It should be appreciated that such systems and components can include those components or sub-components specified therein, some of the specified components or sub-components, and/or additional components. Sub-components could also be implemented as components communicatively coupled to other components rather than included within parent components. Further yet, one or more components and/or sub-components may be combined into a single component providing aggregate functionality. The components may also interact with one or more other components not specifically described herein for the sake of brevity, but known by those of skill in the art.
Furthermore, as will be appreciated, various portions of the disclosed systems above and methods below may include or consist of artificial intelligence, machine learning, or knowledge or rule based components, sub-components, processes, means, methodologies, or mechanisms (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, classifiers . . . ). Such components, inter alia, can automate certain mechanisms or processes performed thereby to make portions of the systems and methods more adaptive as well as efficient and intelligent. By way of example and not limitation, filter component 810 and or agents 832 and 834 can utilize such mechanisms or methodologies to facilitate analyzing message content. The component 810 or agents 832 and 834 can infer (as that term is defined herein) that a message contains spam and/or malicious code based on the current message content as well as previous experience or knowledge.
In view of the exemplary systems described supra, methodologies that may be implemented in accordance with the disclosed subject matter will be better appreciated with reference to the flow charts of
Additionally, it should be further appreciated that the methodologies disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
Turning to
Turning to
In order to provide a context for the various aspects of the disclosed subject matter,
With reference to
The system bus 1618 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 11-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
The system memory 1616 includes volatile memory 1620 and nonvolatile memory 1622. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 1612, such as during start-up, is stored in nonvolatile memory 1622. By way of illustration, and not limitation, nonvolatile memory 1622 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory 1620 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
Computer 1612 also includes removable/non-removable, volatile/non-volatile computer storage media.
It is to be appreciated that
A user enters commands or information into the computer 1612 through input device(s) 1636. Input devices 1636 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1614 through the system bus 1618 via interface port(s) 1638. Interface port(s) 1638 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1640 use some of the same type of ports as input device(s) 1636. Thus, for example, a USB port may be used to provide input to computer 1612 and to output information from computer 1612 to an output device 1640. Output adapter 1642 is provided to illustrate that there are some output devices 1640 like displays (e.g., flat panel and CRT), speakers, and printers, among other output devices 1640 that require special adapters. The output adapters 1642 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1640 and the system bus 1618. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1644.
Computer 1612 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1644. The remote computer(s) 1644 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1612. For purposes of brevity, only a memory storage device 1646 is illustrated with remote computer(s) 1644. Remote computer(s) 1644 is logically connected to computer 1612 through a network interface 1648 and then physically connected via communication connection 1650. Network interface 1648 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit-switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
Communication connection(s) 1650 refers to the hardware/software employed to connect the network interface 1648 to the bus 1618. While communication connection 1650 is shown for illustrative clarity inside computer 1616, it can also be external to computer 1612. The hardware/software necessary for connection to the network interface 1648 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems, power modems and DSL modems, ISDN adapters, and Ethernet cards or components.
The system 1700 includes a communication framework 1750 that can be employed to facilitate communications between the client(s) 1710 (e.g., email applications) and the server(s) 1730 (e.g., message, STMP, bridgehead . . . ). The client(s) 1710 are operatively connected to one or more client data store(s) 1760 that can be employed to store information local to the client(s) 1710. Similarly, the server(s) 1730 are operatively connected to one or more server data store(s) 1740 that can be employed to store information local to the servers 1730.
What has been described above includes examples of aspects of the claimed subject matter. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the disclosed subject matter are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the terms “includes,” “has” or “having” or variations thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.