The present invention relates generally to electronic mail (“e-mail”) and calendar event scheduling software technology, and more specifically to a method and system for preventing insertion or removal of recipients for a message thread.
Electronic mail (“e-mail”) systems are an integral part of today's communication infrastructure for businesses and individuals. In many circumstances, discussions between users performed using e-mail messages result in the formation of what are generally referred to as message “threads”. In an e-mail message thread, recipients of an original message and subsequent replies can participate in the discussion by replying to all recipients of the thread, e.g. all users listed in either the “TO:” or “CC:” field. In existing systems, new recipients are sometimes added to and/or removed from the set of recipients as reply messages are issued within the thread. Such additions and/or removals of recipients are outside the control of the user sending or the original message on which the thread is based. However, in many situations, for example due to the confidential nature of information or other legitimate business requirements, it becomes important to have some restrictions and/or control imposed over the addition and/or removal of recipients in the thread.
For example, in the case where a user A sends an e-mail message to users B and C. User B uses a “REPLY TO ALL” feature to send a reply message to both user A and user B, and also includes in the recipient list an additional user D. User C then replies to user B's reply message, again using the “REPLY TO ALL” feature, with the result that user D is included in the recipients for user C's reply, and in recipients to all subsequent replies generated to C's reply that are generated using the “REPLY TO ALL” feature. In this way, user D has been added into the conversation being held through the message thread. However, user A, who was the user that generated the original or “root” message of the thread, may have desired that receipt of messages in the thread be kept limited to the three users A, B and C. Existing systems provide no way for user A to conveniently and effectively enforce such a limitation. This problem is also specifically exemplified in the case of electronic calendar event invitations, which are often conveyed using e-mail messages or the like. Existing systems allow for users to add other users to the list of recipients of a calendar event invitation, and then forward the invitation to the expanded recipient list. This prevents an originator of the calendar event invitation from limiting receipt of the invitation to only those users listed as recipients in the original invitation. The standard e-mail client systems, such as Lotus Notes® of International Business Machines, Armonk N.Y., Microsoft Outlook® of Microsoft Corporation, Redmond Wash., and Internet based e-mail systems such as those provided by Yahoo!® and Google® do not effectively address this problem.
For the above reasons and others it would therefore be desirable to have a new system for providing e-mail communications that enables an originator of a message thread to control the recipients of messages in the thread in terms of whether recipients can be inserted and/or removed without permission.
To address the above described and other shortcomings of previous solutions, a method and system for preventing recipients from being added to and/or removed from a message thread is disclosed. The disclosed system may be embodied in e-mail and/or electronic calendaring and scheduling applications. The disclosed system may further be embodied to allow a recipient of a thread message to seek and obtain permission from a thread originator to add a recipient to and/or remove a recipient from the thread.
The disclosed system enables an originating user of a message thread to prevent addition and/or removal of recipients in the context of an e-mail message thread and/or a calendaring system invitation message thread. In one embodiment, the message composition user interface includes display objects that enable a user to select from at least the following thread recipient insertion/deletion control options: 1) “Prevent recipient insertion”, and/or 2) “Prevent recipient removal”. When thread recipient insertion/deletion control options are selected by the originator of an e-mail message or a calendaring system invitation, the disclosed system operates to appropriately control the addition and/or removal of recipients in the message thread. The controls over recipient insertion and/or removal provided by the disclosed system are desirable in situations in which an originating user wants to limit the audience of an e-mail thread, and/or the attendee list of a calendar event, and wants to automatically enforce boundaries on other users in this regard.
The disclosed system provides a mechanism for persistently registering the recipient removal and/or insertion settings provided by the originating user, for example as settings stored in and conveyed with the messages themselves.
In another aspect of the disclosed system, the originating user can permit non-originating users to insert and/or remove recipients from the thread. In one embodiment, the originating user can select an option in the message composition user interface that requires non-originating users to request permission to insert a recipient into and/or remove a recipient from a message thread. The requests sent from non-originating users are forwarded to the originating user, who can then accept or reject the requests.
In another aspect of the disclosed system, the originating user can expressly list or otherwise indicate which user or users cannot be added as recipients into the message thread, and/or which recipients cannot be removed from the message thread.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
As shown in
The user interfaces 14, 22, 30, and 38 may be embodied as any specific type of user interface. For example, in one embodiment, the client software 12, 20, 28 and 36, may be made up of dedicated client software associated with a communication application program, such as an electronic mail (“e-mail”) application program, or a calendaring and scheduling application program, and provide a user interface associated with that communication application program as part of a multi-window graphical user interface. Alternatively, the client software 12, 20, 28 and 36, may be made up of Web browser programs operable to provide user interfaces to a Web-based e-mail and/or calendaring and scheduling application program within a multi-window graphical user interface. The user interfaces generated by the client software components shown in
The client systems 10, 18, 26 and 34 shown in
Those skilled in the art will recognize that while only four client systems are shown in
Moreover, while client computer systems are shown in the illustrative embodiment of
During operation of the illustrative embodiment shown in
The initial message 42 includes a number of thread recipient insertion/deletion control flags. The thread recipient insertion/deletion control flags contained in the initial message 42 control whether recipients can be added to or removed from the recipient list for the initial message 42. The thread recipient insertion/deletion control flags in the initial message 42 are selected or otherwise indicated by the originating user 16. In one embodiment, the thread recipient insertion/deletion control flags in the initial message 42 are MIME (Multipurpose Internet Mail Extension) flags or the like contained in the initial message 42.
In one embodiment of the disclosed system, the thread recipient insertion/deletion control flags in the initial message 42 allow non-originating users to request permission from the originating user 16 to add a recipient into and/or delete a recipient from the recipient list contained in the initial message 42. When such control flags are set in the initial message 42, the non-originating users 24, 32 and 40 can issue permission request messages 43 that are sent to the originating user 16. When the permission requests 43 are received by the client system 10, the originating user 16 is provided with a user interface screen that enables the originating user 16 to either allow or disallow the requested recipient addition and/or removal. In the event that the originating user 16 allows a request to add a recipient into and/or remove a recipient from the recipient list contained in the initial message 42, an approval message for that request is sent to the client system of requesting non-originating user, which then operates to allow the non-originating user to perform the recipient insertion or removal for which permission was sought. In the event that the originating user 16 disallows the requested recipient insertion and/or removal, a rejection message for that request is sent to the client system of the requesting non-originating user, which then operates to prevent the non-originating user from performing the recipient insertion or removal for which permission was sought.
Controls over recipient insertion and/or deletion are maintained beyond first order replies to the initial message 42, and extend to all subsequent messages generated in the message thread based on the initial message 42. For example, the initial message 42 may be addressed to the set of recipients consisting of the non-originating user 24, the non-originating user 30, and the non-originating user 40. After the initial message 42 is received by the non-originating user 32, the non-originating user 32 may use a REPLY TO ALL feature of the communication system to generate a new message based on the initial message 42. That new message would accordingly be sent from the non-originating user 32 to each of the non-originating user 24, the non-originating user 40, and the originating user 16. The new message generated by the non-originating user 32, and sent using the REPLY TO ALL feature, is an example of a message in the message thread based on the initial message 42. The new message based generated by the non-originating user 32, and based on the initial message 42, is generated such that it includes the recipient insertion/removal control flags from the initial message 42.
When the new message generated by the non-originating user 32 is received, the non-originating user 24 may generate another new message in the thread using the REPLY TO ALL feature of the communication system. The non-originating user 32 may attempt to add a recipient to or remove a recipient from the set of recipients indicated by the initial message 42. However, since the thread recipient insertion/deletion control flags contained in the initial message 42 are also sent with each subsequent message contained in the message thread based on the initial message 42, the settings of those flags are used by the client software 20 to control such attempted recipient insertion/removal operations.
For example, when the non-originating user 24 generates a reply to the reply generated by the non-originating user 32, for example again using the REPLY TO ALL feature, the communication system will initially set up the message such that the recipients are the originating user 16, the non-originating 32, and the non-originating user 40. If the non-originating user 24 then attempts to remove one of those recipients, or attempts to add a new recipient, the client software 20 will check whether the attempted operation is permitted, based on the thread recipient insertion/removal control flags contained in the reply message to the initial message 42, and received from the non-originating user 32. The recipient insertion/removal control flats in the reply to the initial message 42 were copied from the initial message 42. Accordingly, whether the non-originating user 24 is permitted to remove or add a recipient to the message recipients list is determined based on the settings of the recipient insertion/deletion flags contained in the reply of non-originating user 32 to the initial message 42, which were in turn copied from the recipient insertion/removal control flags contained in the initial message 42.
As shown in
The new message composition user interface 50 further includes addressee fields 64. The addressee fields 64 enable the user to list the recipients for the message. Using the features of the disclosed system, accessed through the button 60, the originating user 16 can control whether users are added to or removed from the set of recipients entered by the originating user 16, when subsequent replies are generated in a message thread based on the message being composed using the user interface 50. In the embodiment shown in
Further shown in the new message composition user interface 50 is a Subject: field 70 for the originating user 16 to enter a subject line into with regard to the message being composed, and a message composition region 72 that enables the originating user 16 to enter text and/or other content to be included in the message being composed using the user interface 50.
The delivery options 82 in the illustrative embodiment of
The delivery options 82 further include a “Request read receipt” option 86. If selected by the originating user 16, the “Request read receipt” option 86 causes a read receipt confirmation message to be generated and sent back to the originating user 16 upon the message being read by each of its recipients.
The delivery options 82 further include a “Prevent copying” option 88. If selected by the originating user 16, the “Prevent copying” option 88 prevents copying of the message by recipients of the message.
The delivery options 82 further include a “Prevent all thread recipient insertion” option 90. If selected by the originating user 16, the “Prevent all thread recipient insertion” option 90 prevents any recipients to be added to the set of recipients listed in the addressee fields 64 (
The delivery options 82 further include a “Prevent insertion of the following users as thread recipients:” option 92. If selected by the originating user 16, the “Prevent insertion of the following users as thread recipients:” option 92 prevents any of the recipients listed by the originating user 16 in the delivery options user interface 80 from being added to the set of recipients listed in the addressee fields 64 (
The delivery options 82 further include a “Prevent all thread recipient removal” option 94. If selected by the originating user 16, the “Prevent all thread recipient removal” option 94 prevents any recipients from being removed from the set of recipients listed in the addressee fields 64 (
The delivery options 82 further include a “Prevent removal of the following thread recipients:” option 96. If selected by the originating user 16, the “Prevent removal of the following thread recipients:” option 96 prevents removal of the recipients listed by the originating user 16 in the delivery options user interface 80 from the set of recipients listed in the addressee fields 64 (
The delivery options 82 further include a “Require approval for thread recipient insertion” option 98. If selected by the originating user 16, the “Require approval for thread recipient insertion” option 98 requires approval be obtained from the originating user 16 for any non-originating user to add a new recipient to those recipients listed by the originating user 16 in the addressee fields 64 (
The delivery options 82 further include a “Require approval for thread recipient removal” option 100. If selected by the originating user 16, the “Require approval for thread recipient removal” option 100 requires approval be obtained from the originating user 16 for any non-originating user to remove a recipient from those recipients listed by the originating user 16 in the addressee fields 64 (
An “OK” button 102 enables the originating user 16 to submit the selected ones of the delivery options 82 to be applied to the message being composed through the user interface 50 of
During operation of the embodiment shown in
As shown in
As shown in
As shown in
At step 122, a recipient of the original message generated at step 120, or of a subsequent message in the message thread based on that original message, generates a reply message, e.g. through a REPLY TO ALL feature. The original message recipient also attempts send the reply message to a set of users other than the set of users in the list of recipients in the original message. For example, the original message recipient may attempt to remove a recipient from the list of recipients in the original message, or may attempt to add a recipient to the list of recipients in the original message. However, the client software (e.g. client software 20, 28 or 36 of
At step 124, the originating user is presented with the permission request message, and is allowed to either grant or deny permission to make the requested modification to the recipient list. The originating user may be presented with the names of the recipient(s) that is/are to be removed from or added to the recipient list, and/or the name of the user requesting the recipient list modification. In the event that the originating user grants permission for the requested modification, then at step 124 a message granting the requested permission is conveyed back to the client software of the original message recipient that requested the permission. Otherwise, in the event that the originating user denies the requested permission, then at step 124 a message denying the requested permission is conveyed back to the client software of the original message recipient. For purposes of illustration, at step 124 in the
At step 126, the client software of the recipient requesting permission to modify the recipient list receives the response to the request for permission to modify the recipient list. In the example of
The present invention can be realized in hardware, software, or a combination of hardware and software. A system according to the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The figures include 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 in such figures, 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 medium or 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 medium or 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.