The present disclosure is generally related to network communications and, more particularly, is related to delivery of network communications.
Frequently, business users send general business information to a distribution list of e-mail recipients. For example, someone may discover an article of interest about which he or she assumes that his or her colleagues are also interested and include the article in an electronic message addressed to the person's colleagues via a distribution list from an electronic messaging address book.
While a business user may expect that recipients of the message are interested in the information being shared, some of the recipients may not be interested in the material or the information being shared, regardless of the well-meaning intentions of the sender. Since a person may receive numerous of these messages during a workday, this causes consumption of a lot of network bandwidth and data storage. Further, the productivity of business users is also wasted for users who are not interested in such content and have to take the time to remove such content from their inbox daily. This problem also persists outside the business context, e.g., in the home.
Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.
Embodiments of the present disclosure provide methods and devices for distributing content over a network. In this regard, one embodiment of such a method, among others, can be broadly summarized by the following steps: receiving an electronic message addressed to a single network account; categorizing content of the electronic message into at least one content category; and providing access to the content to users that have previously indicated a preference for information corresponding to the categorized content.
Embodiments also include a computer readable medium having a computer program for performing the above steps. Other methods, features, devices, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description and be within the scope of the present disclosure.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
With reference to
The electronic messages are transmitted across the communications distribution network 100 using, for example, a mail server 130 and/or a Web server 140, as appropriate, and using transmission protocols such as, WAP (Wireless Application Protocol), HTTP (Hyper Text Transfer Protocol), SMTP (Simple Mail Transfer Protocol), POP (Post Office Protocol), or other suitable protocol. It will be understood that the disclosure is not limited to use with any particular transmission means or protocols.
The electronic messages are received by a message servicing system 150 (e.g., an e-mail server) which may reside, for example, on an organization's, such as, but not limited to, a corporation's, computer system (not shown) and network 110. The message servicing system 150 includes means for receiving electronic messages, which, in the example of
In the example illustrated in
At the message receiving module 160, various administrative functions are performed, such as checking whether the addressee of an electronic message is an authorized user of the messaging servicing system 150. Then, the electronic message is placed in a storage space reserved for that user, referred to as an inbox, within a database 170.
After receiving electronic messages by the message receiving module 160, a filtering module 180 may attempt to remove electronic messages that are deemed potentially malicious, violate network policies, or are from unknown sources. Such messages are often referred to as “spam.” For example, the filtering module 180 may implement an exclusion list of known “spammers” so that mail from senders on the exclusion list are filtered out of incoming mail before being delivered to a user's inbox. Note, that electronic messages received from outside an organizational or corporate network 110 are scanned by the filter module 180, and that electronic messages sent between users of the organizational network 110 may not be subject to the same level of scrutiny as electronic messages originating from outside the organizational network 110.
For example, while an electronic message sent between users of the organizational network 110 may be analyzed by the messaging servicing system 150 employed on the organizational network 110 to make sure that the message complies with organizational policies, an electronic message from any user of the organizational network is capable of being sent to any other user, as long as the content of the message does not violate organizational policies. As discussed below, additional modules, such as a content selection module 190, are also part of the messaging servicing system 150.
Note that each module of the messaging servicing system 150 may reside on a single computer or may be distributed across a computer system, as is convenient. Further, the communications distribution network 100 of
Referring now to
A content selection module 190 retrieves each message from the content selection inbox maintained in the database 170. One function of the content selection module 190 is to categorize or index contents of each message received by the content selection inbox into one or more categories. To this end, the content selection module 190 is associated with, or includes, a content analyzing module 215, and is further associated with, or includes, a rule engine (not shown). In one embodiment, the content analyzing module 215 analyzes a received message for specific keywords, associations of keywords (e.g., analyzing if multiple keywords are contained in the same sentence), frequency of use of keywords, etc. in order to classify or index the message as pertaining to one or more categories of subject matter. Further, in some embodiments, the content analyzing module 215 may also analyze a received message to ensure that the content complies with organizational policies and discard the message if it violates organizational policies (e.g., objectionable subject matter, size of message is too large, etc.)
Further, in one embodiment, the content analyzing module 215 supports concept mapping via use of linguistic analysis techniques in mapping content. For example, a user could subscribe to “basketball” which would match “free throw”, “dunk,” “hoops,” etc. even though “basketball” might not be in those artifacts although they all relate to the same concept.
Once categorized or indexed, the content of each message is returned to the database 170 by the content selection module 190 together with the determined categorization information. Accordingly, if the content of an electronic message primarily contains a document as an attachment, then the document may be extracted from the message and stored in the database 170. Alternatively, if the content of the electronic message primarily contains text within the body of the message, then the text in the body of the message may be extracted and saved as a separate file within the database 170.
Based upon the categorization information, the content of the electronic message is made available to users of the message servicing system 150 who have indicated a preference for receiving content of that type. For example, the database 170 may maintain profiles of users that indicate categories of information or content that are desired by the respective users. Therefore, messages with content within certain categories may be automatically routed to interested users by a distribution module 220 of the message servicing system 150.
The distribution module 220 retrieves the categorized messages and distributes them to the inboxes of users, according to the respective categorization and preference information designated by respective users. The distribution module 220 includes one or more software routines that automatically generate an appropriate response to received content according to its categorization information. In one embodiment, the distribution module 220 sends notification messages to appropriate users with hypertext links to the received content that is being stored in the database 170.
In one embodiment, the content analyzing module 215 is capable of determining multiple categories for a given electronic message. When an electronic message is processed by the content analyzing module 215, the content analyzing module 215 applies a set of rules to the content of the electronic message in order to determine the subject matter of the message, where there may be more than one. In this way, the content analyzing module 215 is able to classify, or categorize, the electronic message according to its content. Some messages may include more than one subject area and may therefore fall into more than one different class or category. For example, an article with the title “Paying College Football Athletes” may be deemed to fall in more than one category, such as “Legal,” “Sports,” “Financial,” “Academics,” etc. The content analyzing module 215 is therefore arranged to generate one or more categories for each message that it processes, depending on the content of each message.
In one embodiment, the content analyzing module 215 examines the text of each message, including attachments, in search of one or more alphanumeric text strings (e.g., a word or sequence of words), which may be used to identify the subject matter of the content under examination. The content analyzing module 215 may operate in association with a rule engine (not shown) to apply a set of rules to the message in order to determine how to categorize the current message.
For each user of the content selection service (via the messaging servicing system 150), the user specifies categories of content that are of interest to the user. This information may be maintained in a profile of the user stored on the database 170. Accordingly, after a message has been indexed or categorized within a certain category by the content selection module 190, the distribution module 220 prepares notification messages that are sent to users who have profiles that indicate a preference for receiving content of that type.
In one embodiment, the content selection service is targeted at organizational networks 110 and message servicing systems 150, such as corporate networks and servers. As such, it addresses the type of messages that are often internally generated within corporate networks, such as a person sending a tutorial article on web services to everyone in his or her organizational unit, whether the eventual recipients desire the tutorial or not. In contrast, in accordance with embodiments of the present disclosure, a person sends one message to the content selection service which then manages delivery of the message to recipients that have already indicated a preference for receiving messages of that type or category.
Referring now to
The electronic message is received (320) at a message server (e.g., message servicing system 150) that handles incoming electronic messages for the network address of the content selection service and places the received message in an inbox associated with the network address (e.g., an e-mail address) of the content selection service. The inbox of the network address is associated with a content selection module 190 that is part of or works in conjunction with the message server (e.g., messaging servicing system 150) and processes messages delivered to the inbox for the content selection service. Accordingly, the content selection module 190 analyzes (or requests another module, working in conjunction, to analyze) the content of the received electronic message and categorizes or indexes the content of the received electronic message. After categorizing (330) the contents of the message into one or more categories, the contents of the message are made available (340) to users of the content selection service that have indicated a preference for receiving information of that category or type. For example, profiles of the users may indicate preferences for certain categories of information, and the profiles may be maintained on a database 170 that is accessible by a message server utilized by the content selection service.
In one embodiment, users subscribe to one or more categories of content. Accordingly, any content received by the content selection service that is classified as a category that is subscribed by a user is then made available to the user. In particular, the content selection module 190 (or some other related module) maps the categories associated with a received electronic message with categories that have been subscribed by users (as expressed in user profiles). Note that in some embodiments, a user must be a recognized user of the message server in order to be allowed to subscribe to content categories.
In some embodiments, the content, such as an attachment, is sent to the inbox of the user via an e-mail message. In other embodiments, a notification message is sent to the inbox of the user with instructions for accessing the document, such as a hypertext link to the document at a network location that may be accessed via a Web browser or other computer application.
In this way, individual users may self-identify their preferences for certain types of information and then receive only electronic messages of that type. This centralized approach to message distribution efficiently reduces the processing, overhead, and time requirements associated with information handling and is an alternative to information sharing via an e-mail distribution list.
Therefore, instead of a sender broadcasting an electronic message across a network, the sender may send the message to one recipient—an account of the content selection service. The content selection service then consumes the content of the message and allows individuals that have subscribed to the service to receive the message, if there is a mapping between a category classification of the message and categories preferred and previously identified by the individuals. The content selection service, in this way, represents the specified interests of its users and delivers desired content to the users. In so doing, the content selection service also provides a mechanism for making content available to numerous users, without a sender having to target specific individuals. In other words, the sender is figuratively sending an electronic message having content of interest to a community of interest managed by the content selection service.
Referring now to
Next, in
Additional administrative functions are enabled to be performed by a user as part of the content selection service. For example, the user may cancel (530) the service at any time. For example, in one embodiment, the user may send an e-mail message to a special e-mail account of the content selection service, such as one that may be used to subscribe to the service, in one embodiment. Accordingly, to indicate that the user desires to cancel use of the service, the user may designate in a header of the message a particular keyword or parameter, such as “UNSUBSCRIBE,” that is automatically recognized by the content selection service as a request for cancellation. Likewise, in some embodiments, a user may also access a web site affiliated with the content selection service and make a request online to cancel his or her participation in the content selection service. Further, as part of the content selection service, a user may be prompted to affirm (540) participation in the service. For example, in one embodiment, the content selection service may periodically send an e-mail message to a user of the service asking the user to reply to the message in order to show that the user is still interested in participating in the service. In other embodiments, such messages may be sent to users after a designated period of inactivity by the user, as detected by the content selection service (e.g., by detecting that a user has not read any notification messages in a set period of time). In this way, the content selection service can manage delivery of content to users who evince an interest in receiving the content.
In one embodiment, actions performed by a process of an embodiment of the content selection service are shown in
When a subscription matches the new e-mail message, an e-mail notification message is sent (640) by an e-mail distribution module (e.g., distribution module 220) to notify the subscriber of a new content matching with the user's subscription has been received. The new content is then made available (650) to the user/subscriber. For example, in some embodiments, the original information sharing message could either be attached to the e-mail notice, or be made available via hyperlink to an e-mail store. As an additional function, the e-mail distribution module may also periodically send (660) validation request messages to users to validate existing subscriptions to the content selection service.
As explained previously, more than one approach may be used to specify categories of content that are of interest to a user of the content selection service. Accordingly,
Also, the user has the option of selecting a predefined category from a dropdown box 740 shown in the bottom portion of the Web page 710. After the user has specified a category, the user may then proceed to specify additional categories by selecting the SELECT ANOTHER CATEGORY button 750. Alternatively, if the user is finished selecting categories, then the user may select the END SELECTION PROCESS button 760. Note that the approach described in
Correspondingly, a variety of approaches may also be used to retrieve a document identified by the content selection service for a particular user. For example,
In another embodiment, as shown in
Accordingly, by activating the hypertext link 920 in the e-mail message 910 (e.g., by clicking on the link 920 with a mouse control), a Web browser may be directed, via a computer, to retrieve a Web page at a network location associated with the hypertext link 920. For example,
In the example shown, two documents are capable of being accessed by the user for the NANOTECHNOLOGY category in drop down box 1030. Namely, the documents are identified as “Technical Journal 12/12” and “Nano Weekly.” By clicking on the title, a Web browser 1020 may then download the document for the user to view.
Note that many variations and modifications may be made to the above-described embodiments. For example, in one alternative embodiment, all incoming mail to a user's inbox, in general, may be analyzed by a content selection module 190 such that the content is categorized and placed in an appropriate folder, where different folders are associated with different categories. In this way, incoming e-mail is automatically organized into organizational units rather than being stored in one inbox. Further, in some embodiments, a user may specify rules indicating where to sort incoming messages categorized or indexed by the content selection module 190. Accordingly, an e-mail client of the user may retrieve a message from the user's inbox with a categorization of the message such that the e-mail client then processes the rules designated by the user for filing or sorting such content, such as a designated folder.
Aspects of embodiments of the present disclosure, such as the content selection module 190, among others, can be implemented in hardware, software, firmware, or a combination thereof. In one embodiment, for example, the content selection module 190 is implemented in software or firmware that is implemented stored in a memory and that is executed by a suitable instruction execution system, such as a special or general purpose digital computer, such as a personal computer (PC; IBM-compatible, Apple-compatible, or otherwise), workstation, minicomputer, or mainframe computer. An example of a general purpose computer that can implement the content selection module 190 of the present disclosure is shown in
Generally, in terms of hardware architecture, as shown in
The processor 1120 is a hardware device for executing software, particularly that stored in memory 1140. The memory 1140 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory 1140 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 1140 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 1120.
The software in memory 1140 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The I/O devices 1160 may include input devices, for example but not limited to, a keyboard, mouse, scanner, microphone, etc. Furthermore, the I/O devices 1160 may also include output devices, for example but not limited to, a printer, display, etc. Finally, the I/O devices 1160 may further include devices that communicate both inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc.
If the computer 1110 is a PC, workstation, server, or the like, the software in the memory 1140 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of software routines that initialize and test hardware at startup, start the O/S 1122, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the computer 1110 is activated.
When the computer 1110 is in operation, the processor 1120 is configured to execute software stored within the memory 1140, to communicate data to and from the memory 1140, and to generally control operations of the computer 1110 pursuant to the software. The content selection module 190 and the O/S 1122, in whole or in part, are read by the processor 1120, perhaps buffered within the processor 1120, and then executed.
When the content selection module 190 is implemented in software, as is shown in
If implemented in hardware, as in an alternative embodiment, the content selection module 190 can be implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
Any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present disclosure.
It should be emphasized that the above-described embodiments are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure.