FIELD OF THE INVENTIONThe present invention relates generally to computer application programs, and more specifically to a system and method for publication to shared sources using natural language electronic mail addresses and interest profiles registered by shared content sources.
BACKGROUND OF THE INVENTIONIn existing computer systems, a user can publish information to other users in an enterprise by sending electronic mail (“email”) messages to multiple recipients, or by putting documents in shared content sources, such as databases or repositories. However, publication by email message to multiple recipients is problematic, in that the resulting email messages appear in the destination users' inboxes, even if they are not important to that receiving user. This may cause a flooding problem in the inbox. For many users, such email publications are undesirable, almost like spam.
In an alternative approach, information is published by placement in a shared content source, to which users can navigate when they want to look for certain information. However, there are also problems with the publication of information to such shared sources. A user may not know which shared source to use to publish which information. A user may not know whether a shared source exists for publication of the information, or the location of an appropriate shared source. Additionally, it may be undesirable to publish the information in multiple shared sources when multiple shared sources exist in which the information could be published in. Overall, publication through shared sources is frequently inconvenient and time consuming, and users accordingly are discouraged from publishing information that could advantageously be shared.
Some existing systems include the concept of mail-in databases that have email addresses. These systems allow a user to email messages to shared sources in order to publish information. These solutions have been significantly limited, however, in that users still often do not know the appropriate email address(es) of the shared source(s).
For the above reasons it would be desirable to have a new system for users to conveniently share information with multiple other users. The system should be intuitive in the way it operates, such that users can easily store the information to be published within the shared sources.
SUMMARY OF THE INVENTIONTo address the above described and other deficiencies of the prior art, a method and system are disclosed that enable users to conveniently and intuitively send email messages to publish information in shared content sources. The disclosed system operates by allowing users to send email messages to shared sources by using natural language destination email addresses. Text in the destination address is parsed for keywords, which may include topics or phrases, that have been registered as interest profiles associated with corresponding shared sources. If a match with a keyword is found, the message is forwarded to a predetermined email destination associated with the shared source that registered the keyword as part of its interest profile. Thus the message is published through the shared source that is interested in the message. Comparison of the text contained in the destination address field to registered keywords may be performed by an email server system. Shared sources themselves may operate to register interest in certain keywords through the email server system.
Thus there is disclosed a new system for users to conveniently share information with multiple other users. The disclosed system operates in an intuitive way, so that users can easily store the information to be published within the appropriate shared sources.
BRIEF DESCRIPTION OF THE DRAWINGSIn order to facilitate a fuller understanding of the present invention, reference is now made to the appended drawings. These drawings should not be construed as limiting the present invention, but are intended to be exemplary only.
FIG. 1 shows software components in an illustrative embodiment; and
FIG. 2 shows steps performed in the illustrative embodiment.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTSAs shown inFIG. 1, an illustrative embodiment of the disclosed system operates using a number of software components executing on at least one client computer system, shown for purposes of illustration asclient system10 andclient system14, at least one email server computer system, shown for purposes of illustration asemail server system20, and at least one shared content source server computer system, shown for purposes of illustration asdatabase server system30 anddatabase server system40. Theclient systems10 and14,email server system20, anddatabase server systems30 and40 may, for example, each include at least one processor, program storage, such as memory, for storing program code executable on the processor, and one or more input/output devices and/or interfaces, such as data communication and/or peripheral devices and/or interfaces. Theclient systems10 and14,email server system20, anddatabase server systems30 and40 are communicably connected by a data communication system, such as a Local Area Network (LAN), the Internet, or the like. Theclient systems10 and14,email server system20, anddatabase server systems30 and40 may further include appropriate operating system software.
Theclient system10 is shown including ane-mail client component12, and theclient system14 is shown including ane-mail client component16. Theemail clients12 and16 are each capable of providing a graphical user interface through which a user can define email messages, including message body, attachments, destination email addresses, and any other appropriate message attributes for a given implementation. The user interface provided by theemail clients12 and16 further enables a user to provide an indication that an email message is to be treated as publishable. Such indication may be provided, for example, by the user including a predetermined command string within a destination address or “TO:” field value, such as “publish:”, “publish to:”, or any other predetermined string. Such indication may alternatively be provided through other interface features, for example, by a mouse click on a graphical display object, such as a “PUBLISH” button, or some other appropriate mechanism. As a result of the indication to the email client that a message is publishable, that message is marked by some indication recognized by a receiving email server to indicate that the message is not a normal email message, but is to be processed as a publishable message. The user interface further allows for receipt of a user-provided natural language destination address value. For example the natural language destination address value may include free text to be matched by a receiving email server against keywords stored in a shared source interest profile registry.
Theemail server system20 is shown including an emailserver software component22, as well as shared contentsource interest profiles24. The shared contentsource interest profiles24 are an example of a shared source interest profile registry. The shared contentsource interest profiles24 include associations between keywords and email addresses of shared content sources. The keywords may consist of words or phrases that represent topics relating to corresponding shared content sources. A given keyword may correspond to multiple shared content sources, in which case it may be associated with multiple shared content source email addresses. The shared contentsource interest profiles24 are searchable by keyword to determine the associated shared content source email addresses. The shared contentsource interest profiles24 include an interface for adding, modifying or deleting associations between keywords and shared content source email addresses.
Theemail server22 may operate as what is generally referred to as a “mail server”, “mail transport agent” (MTA), “mail router” or “Internet mailer”. It is an application program that is operable to receive incoming email messages from local users, such as users within an associated domain, as well as from remote senders, and to forward outgoing email messages. For example, theemail server22 may use SMTP (Simple Mail Transfer Protocol) or ESMTP (extended SMTP) for sending email messages, and either POP3 (Post Office Protocol 3) or IMAP (Internet Message Access Protocol) for receiving email messages.
Thedatabase server system30 is shown including sharedcontent sources34 and36, and thedatabase server system40 includes sharedcontent sources44 and46. The sharedcontent sources34,36,44 and46 may include any appropriate software allowing for receipt of email messages within the forwardedmessages50 that are addressed to email addresses associated with respective ones of the sharedcontent sources34,36,44 and46. Moreover, the sharedcontent sources34,36,44 and46 are further operable to store the contents of received email messages that are addressed to respective ones of the sharedcontent sources34,36,44 and46. For example, the sharedcontent source34 is operable to receive forwarded email messages sent to a destination email address associated with the sharedcontent source34, and to store such received messages, the sharedcontent source36 is operable to receive forwarded email messages sent to a destination email address associated with the sharedcontent source36, etc.
The sharedcontent sources34,36,44 and46 may consist of databases, repositories, teamrooms, or any other specific kind of shared content source. The sharedcontent sources34,36,44 and46 are further operable to register keywords in the shared contentsource interest profiles24 by sendinginterest registrations52 to theemail server system20. The registered keywords may, for example, consist of text words or phrases representing topics of interest associated with respective ones of the sharedcontent sources34,36,44 and46.
During operation of the components shown inFIG. 1, theemail clients12 and16 in theclient systems10 and14 generate and sendpublishable email messages18 having natural language destination address values to theemail server22 in theemail server20. Theemail server22 determines that theemail messages18 are to be processed as publishable email messages, and compares the text in the natural language destination address values they contain with keywords in the shared contentsource interest profiles24. If a match is found, then the associated one of thepublishable email messages18 is forwarded as one of the forwardedmessages50 with a destination email address associated with the shared content source that registered the matching keyword.
In one embodiment, if a shared content source registers multiple keywords, publishable messages are only forwarded to that shared content source if all the registered keywords for that shared content source are found in the destination address field of the message. This represents a logical “AND” of all registered keywords for a shared content source. Alternatively, a logical “OR” approach could be used, such that the message is forwarded to the shared content source if at least one registered keyword for that shared content source is found in the destination address field. If no shared content source has registered a keyword matching text in the destination address field of a publishable message, that message may be sent to a shared content source that is defined and maintained to stores such ‘dead’ messages.
FIG. 2 is a flow chart illustrating steps performed by an illustrative embodiment of the disclosed system. Atstep60, one or more shared content sources send interest profile registration messages to an email server system. Alternatively, the email server system may act atstep60 to obtain interest profile information either from one or more directories or other structures into which the shared content sources store their respective interest profile information, or directly from the individual shared content sources themselves. Atstep62, registration messages or the like are received by the email server system, and software components on the email server system operate to store the shared content source interest profile information. For example, the shared content source interest profile information may include keywords and shared content source email addresses to be associated with those keywords. In response, software components on the email server system form associations in a database of shared content source interest profile information between the keywords and the email addresses.
Atstep64, a user creates and sends an email message for publication that has a natural language destination address. For example, using an embodiment of the disclosed system, a user can create an email message with a destination or “TO:” field value of “publish: RCP, smart client, Eclipse”. In this example, the predetermined command string “publish:” is followed by free text consisting of a comma separated list of keywords such as words, acronyms, phrases or other text strings. Various other techniques may be used to indicate the publishability of a message. For example, the email client may present a graphical user interface button display object that can be clicked on by the user, causing a given message to be considered publishable.
Indication that a given message is publishable may also be provided in various ways. For example, a publishable message may be marked internally by using a special MIME (Multipurpose Internet Mail Extensions) content type. Any appropriate indication may be used for a given embodiment.
The publishable email message is received by the email server system atstep66. The email server system determines that the email message is to be processed as a publishable email message in response to finding the predetermined command string “publish:” in the destination address field value. As a result, the free text in the destination address value is compared with keywords in the shared content source interest profile information. If any of the strings “RCP”, “smart client”, or “Eclipse” matches a registered keyword, the message is forwarded to the email address of the associated shared content source. For example, a shared content source with an email address of “RCPTeamroom@us.ibm.com” may have previously registered one or more of the keywords “RCP”, “smart client” and “Eclipse.” In that case, a simple matching algorithm would find at least one match between the natural language destination address value and the registered keywords. In response to that match, the email server system would operate to forward the publishable email message to the email address “RCPTeamroom@us.ibm.com” atstep68. Atstep70, the shared content source system receives the forwarded publishable email message, and stores the contents of the message in the shared content source indicated by the destination address of the email message.
FIGS. 1-2 are block diagram and flowchart illustrations of methods, apparatus(s) and computer program products according to an embodiment of the invention. It will be understood that each block ofFIGS. 1-2, and combinations of these blocks, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the block or blocks.
Those skilled in the art should readily appreciate that programs defining the functions of the present invention can be delivered to a computer in many forms; including, but not limited to: (a) information permanently stored on non-writable storage media (e.g. read only memory devices within a computer such as ROM or CD-ROM disks readable by a computer I/O attachment); (b) information alterably stored on writable storage media (e.g. floppy disks and hard drives); or (c) information conveyed to a computer through communication media for example using wireless, baseband signaling or broadband signaling techniques, including carrier wave signaling techniques, such as over computer or telephone networks via a modem.
While the invention is described through the above exemplary embodiments, it will be understood by those of ordinary skill in the art that modification to and variation of the illustrated embodiments may be made without departing from the inventive concepts herein disclosed. Moreover, while the preferred embodiments are described in connection with various illustrative program command structures, one skilled in the art will recognize that they may be embodied using a variety of specific command structures.