U.S. patent application number 11/622636 was filed with the patent office on 2008-02-28 for system and method for hunting out mail recipients in order to obtain a response.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to Frederic Bauchot, Gerard Marmigere.
Application Number | 20080052362 11/622636 |
Document ID | / |
Family ID | 39197938 |
Filed Date | 2008-02-28 |
United States Patent
Application |
20080052362 |
Kind Code |
A1 |
Bauchot; Frederic ; et
al. |
February 28, 2008 |
SYSTEM AND METHOD FOR HUNTING OUT MAIL RECIPIENTS IN ORDER TO
OBTAIN A RESPONSE
Abstract
The present invention discloses a method, system and computer
program to be executed on a sender side of a mail management
application, for automatically hunting out electronic mail
recipients for whom a response is expected when no response is
received within a predefined period of time. The method comprises
the steps of: receiving a selection of one or a plurality of
recipients of a mail for whom a response to said mail is expected
within a given period of time; recording means for identifying each
selected recipient of the mail; sending the mail to selected
recipients from whom a response is expected and to all other
recipients designated in the mail; recording each response received
from each selected recipient of the mail; at expiration of the
given period of time, identifying among the selected recipients of
the mail, the recipients who have not yet responded; sending a hunt
out message to each recipient who has not yet responded.
Inventors: |
Bauchot; Frederic;
(Saint-Jeannet, FR) ; Marmigere; Gerard; (Drap.,
FR) |
Correspondence
Address: |
PASTEL LAW FIRM
8 PERRY LANE
ITHACA
NY
14850
US
|
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
Armonk
NY
|
Family ID: |
39197938 |
Appl. No.: |
11/622636 |
Filed: |
January 12, 2007 |
Current U.S.
Class: |
709/206 |
Current CPC
Class: |
G06Q 10/107
20130101 |
Class at
Publication: |
709/206 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 30, 2006 |
GB |
06300084.8 |
Claims
1. A method to be executed on a sender side of a mail management
application, the method comprising the steps of: receiving a
selection of one or a plurality of recipients of a mail for whom a
response to the mail is expected within a predetermined period of
time; recording means for identifying each selected recipient of
the mail; sending the mail to selected recipients from whom a
response is expected and to all other recipients designated in the
mail; recording each response received from each selected recipient
of the mail; identifying among the selected recipients of the mail,
the recipients who have not yet responded at expiration of the
predetermined period of time; and sending a hunt out message to
each recipient that has not yet responded.
2. The method according to claim 1 wherein the step of receiving a
selection of one or a plurality of recipients comprises the step
of: receiving a value specifying the time period after which the
hunt out message is sent to a selected recipient when no response
is received from the selected recipient.
3. The method according to claim 1 further comprising the step of:
receiving a value specifying a time period after which the hunt out
message is sent to a selected recipient when no response is
received from the selected recipient.
4. The method according to claim 3 wherein the means for
identifying each recipient of the mail for whom a response is
expected comprises: means for identifying the mail; means
indicating when the mail has been sent; means for identifying the
recipient; a response status indicating whether a response from the
recipient is received or not; and means indicating when the
response from the recipient is received.
5. The method according to claim 4 wherein the step of sending the
mail to selected recipients from whom a response is expected and to
all other recipients designated in the mail, comprises the step of:
setting for each selected recipient of the mail, a response status
indicating that a response is expected from each of the selected
recipients.
6. The method according to claim 5 wherein the step of recording
each response of the mail received from each selected recipient,
further comprising the step of: updating a response status
indicating that the response is been received from the selected
recipient.
7. The method according to claim 6 further comprising the step of:
determining whether or not the content of the received response is
the content expected by the sender of the mail; and if the content
of the received response is not the content expected by the sender
of the mail, updating a response status indicating that a response
has not been received from the selected recipient; or if the
content of the received response is the content expected by the
sender of the mail, updating a response status indicating that a
response has been received from the selected recipient.
8. The method according to claim 7 wherein each hunt out message
sent to a recipient comprises no means to identify any other
selected recipient.
9. The method according to claim 8 wherein the selection of one or
a plurality of recipients of the mail for whom a response is
expected within a predetermined period of time, is performed by
means of a user graphical interface.
10. The method according to claim 9 wherein the value of the time
period is received by means of a user graphical interface.
11. The method according to claim 9 wherein the step of sending a
hunt out message to each recipient who has not yet responded after
a predetermined period of time, further comprises the step of:
sending the hunt out message at predetermined time intervals until
all selected recipients have responded.
12. The method according to claim 11 further comprising the step
of: informing the sender of the mail that the mail has been
received by all selected recipients when all selected recipients
have responded to the mail.
13. A system on the sender side of a mail application comprising
means adapted for carrying out the method according to claim 1.
14. The system of claim 13 wherein means for receiving a selection
of one or a plurality of recipients comprises: means for receiving
a value specifying the time period after which the hunt out message
is sent to a selected recipient when no response is received from
the selected recipient.
15. The system of claim 13 further comprising means for receiving a
value specifying a time period after which the hunt out message is
sent to a selected recipient when no response is received from the
selected recipient.
16. The system of claim 15 further comprising: means for
determining whether or not the content of the received response is
the content expected by the sender of the mail; and if the content
of the received response is not the content expected by the sender
of the mail, updating a response status indicating that a response
has not been received from the selected recipient; or if the
content of the received response is the content expected by the
sender of the mail, updating a response status indicating that a
response has been received from the selected recipient.
17. The system of claim 16 further comprising means for informing
the sender of the mail that the mail has been received by all
selected recipients when all selected recipients have responded to
the mail.
18. A computer program comprising instructions for carrying out the
method according to claim 1 when the computer program is executed
on a computer system.
19. The computer program including instructions for carrying out
the method according to claim 18 when the computer program is
executed on the computer system, the method further comprising the
step of receiving a value specifying a time period after which the
hunt out message is sent to a selected recipient when no response
is received from the selected recipient.
20. The computer program including instructions for carrying out
the method of claim 19 when the computer program is executed on the
computer system wherein the step of receiving a selection of one or
a plurality of recipients comprises the step of: receiving a value
specifying the time period after which a hunt out message is sent
to a selected recipient when no response is received from the
selected recipient.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to the field of electronic
mail distribution and, more particularly, to a method, system and
computer program for managing responses to mails and, when no
response is received within a predefined period of time, for
automatically hunting out electronic mail recipients for whom a
response is expected.
BACKGROUND OF THE INVENTION
[0002] The first electronic mail systems were using file transfer
protocols where the recipient's address was in the first line of
the message sent as a file. More elaborated electronic mail systems
have been defined and described in RFC (Request For Comments)
documents. Mail transmission protocols have been standardized such
as the Simple Mail Transfer Protocol (SMTP), RFC 2821 and the
Internet Message Format RFC 2822. According to the SMTP model, the
sender of a message provides in addition to the normal text,
additional information which are sent in the header of the message.
The author of the mail indicates: [0003] a sender address (`From:`
field in the mail header), and [0004] a recipient address which may
be the address of final recipient (`To:` field), [0005] the address
of the people in copy (`Cc:` field), and [0006] the address of
people in "Blind Carbon Copy" (`Bcc:` field).
[0007] The "Bcc:" field comprises the address of the recipients of
the message whose address must not be revealed to the other
recipients of the message. There are three ways in which the "Bcc:"
field is used (refer to RFC2822 Internet Message Format): [0008] In
the first case, when a message comprising a "Bcc:" field is
prepared to be sent, the "Bcc:" line is removed even though all of
the recipients (including those specified in the "Bcc:" field) are
sent a copy of the message. [0009] In the second case, a copy of
the message with the "Bcc:" line removed as above, is sent to the
recipients specified in the "To:" and "Cc:" lines. However, the
recipients on the "Bcc:" line get a separate copy of the message
with a "Bcc:" line (When there are multiple recipient addresses in
the "Bcc:" field, in some implementations, the "Bcc:" line
comprises only the address of the recipient). [0010] Finally, since
a "Bcc:" field may contain no address, a "Bcc:" field can be sent
without any addresses indicating to the recipients that blind
copies were sent to someone.
[0011] The Simple Mail Transfer Protocol (SMTP), by introducing the
recipient fields "To:", "Cc:" and "Bcc:" takes into account the
need of performing two operations: [0012] sending a mail to one or
several primary recipients ("To:" field) and officially informing
other recipients of this sending (the "Cc:" field), and [0013]
independently and unofficially informing other recipients of the
sending (the "Bcc:" field).
[0014] SMTP can send mails to these three kinds or recipients
without duplicating the sending operations. SMTP proposes a
function for simplifying the management of the addresses, mainly
based on the concept of Directories and Distribution Lists. [0015]
Directories can be based either on a general shared Directory or on
Local Address Books. Directories comprise distribution lists to
facilitate the sending to multiple recipients. According to SMTP, a
mailbox is a virtual storage entity which receives mail for a
particular recipient. [0016] A Distribution List allows a sender to
name a group of recipients without actually providing an individual
mailbox address for each recipient. When a sender creates a
message, he/she puts the name of the distribution list. [0017] In
case of local distribution list, the mail application operating on
his/her workstation automatically expands said distribution list by
replacing the distribution list name by the address of each member
of the distribution list. [0018] Otherwise (If the distribution
list is not local), the distribution list name is inserted in the
list of recipients. The distribution list will be expanded by the
MTA owner of this distribution list. [0019] So the Header of the
message may comprise both a list of mail boxes address and
distribution list names.
[0020] The sender has the possibility to request (or not) a mail
acknowledgment from the recipients.
[0021] Mails are used to pass information to other recipients but
also to ask for questions and to answer these questions. For
example in a virtual enterprise or in a consortium, the prime
partner may have to request to other partners to fill a form
concerning their enterprise in order to reply to a request for
information from a customer. Answers generally have to be received
as soon as possible. A way to track the received responses and
hence the responses which are not yet received, is to follow a
manual tracking process. Moreover to hunt out mail recipients, the
originator of the mail must forward the initial mail to the
recipients who have not yet answered. This method is not user
friendly as in a forward action, the fields To:, Cc: and Bcc: are
initially set to blank and have to be filled by the originator of
the mail. In this forwarded mail, a hunt out text has also to be
added. If the originator decides to hunt out mail recipients
individually to not show to the other partners who has not yet
responded, the process may become very long, error prone and
tedious.
[0022] US patent application US2004/0249890 entitled "Method and
system for notification of electronic message reply requirements"
(Fellenstein et al.) discloses a new function within electronic
mail applications whereby documents or messages, which are
annotated or designated with a notification such as "reply
requested", are monitored by a new proactive reminder system, in
order to minimize the occurrence of the late responses. In the
present invention, a new selection is added to the menus to "enable
reminder function". In the process of the present invention, the
sender enables the reminder function. The sender then selects the
date and time to send a first reminder, (if response has not been
received). The sender then selects frequency of reminder after
reminder is sent, (every 8 hours for example). The sender can
choose to be notified or excluded from reminders. A sender may also
choose to be notified, at the reminder interval, that responses
have not yet been received; however, in the case where the audience
of the note was very large, the user may wish for reminders to be
sent to recipients, but not to be copied on them. The method
modifies both the sender and the receiver mail client applications.
The mail application on the sender side is modified by adding a
request reply tag with associated metadata such as the periodicity
of reminding, the date of the first reminder, etc. . . . The mail
application on the receiver side is also modified by enabling a
function aimed to perform a periodic notification which reminds the
recipient of an electronic message about the need to reply to the
received message. This method allows to request selectively a reply
to a subset of recipients but does not provide an efficient method
to manage the responses. The main drawback of this solution is the
need to implement the invention in all receivers to whom a reply is
requested.
SUMMARY OF THE INVENTION
[0023] The present invention relates to the field of electronic
mail distribution and, more particularly, to a method, system and
computer program for managing responses to mails and, when no
response is received within a predefined period of time, for
automatically hunting out electronic mail recipients for whom a
response is expected.
[0024] The present invention is directed to a method, system and
computer program as defined in independent claims.
[0025] The method comprises the steps of: [0026] receiving a
selection of one or a plurality of recipients of a mail for whom a
response to said mail is expected within a given period of time;
[0027] recording means for identifying each selected recipient of
the mail; [0028] sending the mail to selected recipients from whom
a response is expected and to all other recipients designated in
the mail; [0029] recording each response received from each
selected recipient of the mail;
[0030] at expiration of the given period of time, [0031]
identifying among the selected recipients of the mail, the
recipients who have not yet responded; [0032] sending a hunt out
message to each recipient who has not yet responded.
[0033] Further embodiments of the invention are provided in the
appended dependent claims.
[0034] The foregoing, together with other objects, features, and
advantages of this invention can be better appreciated with
reference to the following specification, claims and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The new and inventive features believed characteristics of
the invention are set forth in the appended claims. The invention
itself, however, as well as a preferred mode of use, further
objects and advantages thereof, will best be understood by
reference to the following detailed description of an illustrative
detailed embodiment when read in conjunction with the accompanying
drawings, wherein:
[0036] FIG. 1 is a general view of the SMTP model.
[0037] FIG. 2 shows a Graphical User Interface (GUI) for selecting
recipients for whom a response to an electronic mail is
required.
[0038] FIG. 3A shows a Message Waiting Response table according to
the present invention.
[0039] FIG. 3B shows a Hunt Out Messages table according to the
present invention.
[0040] FIG. 3C shows a Response Solicited Recipient table according
to the present invention.
[0041] FIG. 4 is a flowchart showing the method according to the
present invention, for sending a mail and for recording the fact
that a response is required for a given list of recipients.
[0042] FIG. 5 is a flowchart showing the method according to the
present invention, for hunting out recipients who have not yet
responded when the time period to reply has expired.
[0043] FIG. 6 is a flowchart of the method according to the present
invention, for updating the response status when a response to a
mail is received.
[0044] FIG. 7 is a flowchart of the method according to the present
invention, for verifying, when a response to a mail is received,
that all expected responses for this mail have been received,
PREFERRED EMBODIMENT OF THE INVENTION
[0045] The following description is presented to enable one or
ordinary skill in the art to make and use the invention and is
provided in the context of a patent application and its
requirements. Various modifications to the preferred embodiment and
the generic principles and features described herein will be
readily apparent to those skilled in the art. Thus, the present
invention is not intended to be limited to the embodiment shown but
is to be accorded the widest scope consistent with the principles
and features described herein.
[0046] Principles
[0047] The present invention is executed on the client side of a
mail management application. The client side of the mail management
application sends electronic mails to the server side of the mail
management application. The method of sending electronic mails (the
initial mail comprising a message text and an initial list of
recipient addresses editable through a graphical user interface)
comprises the steps of: [0048] Before sending the mail, selecting a
new check box named "response required" which is added to the
common sending options which are generally implemented in most of
e-mail client such as "return receipt", "urgent", "encrypt", "do
not copy", . . . . At the same time the sender may change the
default time period after which an hunt out message will be sent in
absence of response. [0049] When the mail is sent, prompting the
sender or e-mail originator with the list of recipients defined in
the mail (To:, Cc: and Bcc) for selecting the persons from whom a
response is expected. Selected recipients are recorded in a
"Respond Solicited Recipient table" (RSRT for short). [0050] After
sending the message, the original message is saved in a new folder
named "Send Items Waiting Response". This folder is added to the
standard folder provided by the e-mail client such as "Inbox",
"Outbox", "Send Items", "Deleted items" and "Draft" for Microsoft
Outlook Express (Outlook Express is a trademark of Microsoft
Corporation) or "Inbox", "Sent", "Drafts" and "Trash" for IBM Lotus
Note (Lotus Notes is a trademark of IBM Corporation). [0051] Each
time a response is received in response to a mail existing in the
"Send Items Waiting Response" folder, the person who has sent the
response is flagged in the responder table with "Respond Received"
and the date of the response is recorded for this person. [0052] At
expiration of the time period after which responses have to be
received, a lookup of the RSRT table is performed for identifying
the recipients who have not yet responded. Then a hunt out message
is sent to all recipients who have not yet responded or preferably
to keep confidentiality about the non responding recipients, a
message is sent to each recipient without any other recipients
specified in the To:, Cc: and Bcc: fields. [0053] The number of
hunt out messages allowed to be sent to a particular recipient is
customisable and can be defined in a "properties file". At
expiration of the time period after which responses have to be
received, if the number maximum of hunt messages has been reached,
the user is prompted to select either to abandon the sending of
hunt out messages or to restart a new cycle of hunt out. If the
sender abandon the sending of hunt out messages, all the allocated
resources and records concerning the initial mail and subsequent
related mails are freed. [0054] In some case the received response
may not be considered as a valid response (e.g. "I am very busy
now, I will answer to you soon"). So, The mail originator may
reject a response and consequently swap the response status from
"Response received" to "Waiting Response". This function is
activated by selecting one of the two new buttons added to the menu
bar. These buttons are "Reject" and "Reject with reply". These two
buttons are added to standard buttons such as "New Memo", "Reply",
"Reply All", "Forward", . . . . In Lotus note. These new buttons
must appear only in case of response associated with a message for
which a solicited response has been requested. [0055] Finally when
all responses have been received, a prompt window warns the mail
originator to confirm the completion of the hunt out process. If
the originator agrees, all the allocated resources and records
concerning the initial mail and subsequent related mails are
freed.
[0056] Advantages
[0057] The main advantage of the present solution is to send to
selected recipients a mail including a request for a response, and
to hunt out each selected recipient at regular (or predefined) time
intervals until a response is received.
[0058] The implementation of the solution of the present invention
is simple as it only impacts the client mail application which is
called User agent for the SMTP protocol. The present solution does
not impact the recipient mail client application which does not
need to implement the present invention.
[0059] SMTP Model
[0060] FIG. 1 illustrates the SMTP model and the computing
environment of a preferred embodiment of the present invention. The
SMTP model for distributing electronic mails according to the prior
art is defined in the Request For Comments RFC 2821. The User
Agents 100 operating in the user workstations act as clients for
their respective mail servers 110,120,130 (the so called Mail
Transfer Agents (MTAs)). The User Agents A1 and A2 are connected to
the same MTA 110. The User Agents A3 and A4 are connected to their
respective MTAs 120, 130. The MTAs are in charge of managing the
recipient mail addresses for sending and receiving mails either to
or from the local User Agents. The local User Agents (A1, A2) are
connected to a local MTA 110 or over the Internet network 150 to
remote MTAs 120, 130. The remote MTAs transfer and receive mails
either to or from the local User Agents (A3 and A4) connected to
them. The User Agent sends a mail to its local MTA. This mail
comprises the data itself and the name of the recipients. To
deliver a mail to a local User Agent, the MTA looks for the
addresses of the recipients and puts the mail in the mail
repository (the mailbox 140) of the User Agent receiving the mail.
The sender and recipient names correspond to the mailboxes of the
senders and recipients.
[0061] Selecting Recipients
[0062] The mail originator may decide that a response is required
for a subset of recipients specified in the "To:", "Cc:" and "Bcc:"
fields. Any time during the mail composition and before sending it,
the mail originator can select from an option menu or an options
bar some sending options such as "return receipt", "urgent",
"encrypt", "do not copy", . . . . By the same means, a new option
may be selected using a check box to indicate that responses are
expected from selected recipients. Associated with the Response
Expected check box, a field defining a maximum time limit (Hunt Out
Delay) to wait for a response is defined. The default value of this
time limit is taken from a send option properties file, but may be
altered before sending of a mail by the mail originator. This time
limit added to the sending time, give the date/time at which an
Hunt Out message will be sent to all users for whom a response is
expected and which has not yet been received from them.
[0063] To select the mail recipients from whom a response is
expected, a prompt window (such as the window illustrated in FIG.
2) is displayed when the Send function is selected. This prompt
window comprises: [0064] three sub-windows for the "To:" 215, "Cc:"
225 and "Bcc:" 235 recipients and [0065] the associated scale bars
240, 250 and 260.
[0066] Using this prompt window, the mail originator has multiple
possibilities to select or unselect recipients from whom a response
is expected. [0067] By pressing the "Select ALL" button 270, all
recipients specified both in "To:", "Cc:" and "Bcc:" are selected.
In the same way using "Deselect ALL" button 275, all previously
selected recipients become unselected. [0068] Another way to select
a group of is to click on "To:" 215, "Cc:" 225 or "Bcc:" 235 button
to select or unselect all recipients of the corresponding group. At
each click on one of these group buttons, there is a swap of
function between select and unselect. [0069] Finally mail
originator may act directly on a given recipient by clicking on
it.
[0070] As described for the group button, at each click the status
of the recipient is changed. If a recipient is in status
"Selected", a click on the corresponding item will set the
recipient in status "unselected" and vice versa. In the preferred
embodiment, selected recipients appear on a gray background as
shown for users 290 and 295, while "unselected" users appear on a
white background. At the end of selection, the mail originator
clicks "Send" button 280 to complete the operation.
[0071] Recording that a Response is Required
[0072] FIG. 4 shows the process when a message is sent. [0073] 405:
A first checking is performed to determine whether or not at
solicited response is requested. [0074] 440: If no solicited
response is requested, the mail is processed in a normal way and is
passed to SMTP layer 440. Then the process is resumed 445. [0075]
410: If a solicited response has been requested, the mail
originator is prompted to select recipients who have to provide the
originator with a response. This is done using the window described
in FIG. 2. [0076] 415: The originator selects one or more
recipients and presses the "OK" button 280 to confirm the selection
and to go on with the sending process. [0077] 420: A checking is
performed to verify whether or not at least one recipient has to
provide the mail originator with a response. [0078] 440: If no
recipient has to provide the mail originator with a response, the
mail is processed in a normal way and is passed to SMTP layer 440.
[0079] 425: If at least one recipient has to provide the mail
originator with a response, the message to be sent is saved in the
folder "Items sent waiting response" 425, an entry is created 435
in the Message Waiting Response table 300 shown in FIG. 3, where:
[0080] MSG_ID 305 is set with the message identification (msg_id),
[0081] MSG@ 310 is set with a reference on the message newly saved
in the folder, [0082] "Next Hunt Date" 315 is set with the current
date incremented by the Hunt delay and [0083] "Hunt Out Count" 320
field is set to zero. [0084] Then the "Response Solicited Recipient
Table" 370 is updated. An entry is created for each recipient to
whom a solicited response has been requested. For each entry,
[0085] the first column of this table "MSG_ID" 375 is filled with
the message identification, [0086] "Recipient" 380 is filled with
the complete E-mail address of the recipient, [0087] "Responded"
status 385 is set to "False", and [0088] "Response Date" 390 field
is set to Null. [0089] Finally the mail is processed in a normal
way and is passed to SMTP layer 440.
[0090] Hunting Out Recipients Who Have Not Yet Responded
[0091] FIG. 5 shows the process to determine whether or not one or
more hunt out messages have to be sent and shows how to achieve
this function. [0092] 505: Each time a "Watch Dog" timer expire,
the process examines the Message Waiting Response table. [0093]
510: The first entry of the table is loaded to initialize the
process loop. [0094] 515: Then a checking is performed to determine
if it is the last entry of the table. [0095] 590: If it is the last
entry, the process ends. [0096] 520: If it is not the last entry,
and if the current record Hunt Out Date 315 is equal to the current
date of the system and the Hunt Count is less than the maximum hunt
out 530, then the Hunt Count is incremented by one 535 and saved in
the current entry. At this point The Response Solicited Recipient
table is examined to generate the hunt out message to the users who
have not yet returned the expected response. [0097] 540: The first
entry of table is loaded to initialize the process loop. [0098]
545: Then a checking is performed to determine if it is the last
entry of the table. [0099] 525: If it is the last entry, the next
entry of the Message Waiting Response table is processed. [0100]
546: If it is not the last entry, the MSG-ID of the current entry
is compared to the initial message identification. [0101] 570: If
message id's are not equal, the next user is processed by pointing
the next entry of the Response Solicited Recipient table. [0102]
550: If message id's are equal, an Hunt Out message is created and
a new entry is created in the Hunt Out Message table 560 to
associate the Hunt Out msg_id with the initial msg_id. This is
useful to be able to take into account a response done on the hunt
out message instead of on the initial message. [0103] 565: Then the
message is sent. [0104] 570: The next user is processed by pointing
the next entry of the Response Solicited Recipient table. [0105]
520: When the Message Waiting Response table is scanned, [0106] if
the Hunt Out Date does not correspond to the current date of the
system the next entry of the table is processed. [0107] if the Hunt
Out Date corresponds to the current date of the system, but the
Hunt Count is equal to the maximum allowed 530, the sender is
prompted to decide either to abandon or to restart the sending of
hunt out messages 532. [0108] If the sender answer is "restart",
then the Hunt Count is set to one, a new HuntOutDate is calculated
and saved 534, and The Response Solicited Recipient table is
examined to generate the hunt out message to the users who have not
yet returned the expected response. [0109] If the sender answer is
"abandon", all the allocated resources and records concerning the
initial mail and subsequent related mails are freed 533.
[0110] Updating the Response Status
[0111] FIG. 6 shows the process when a reply message is received.
An important aspect of this method is that both the response
directly done on the initial message and the response done on the
hunt out message are taken into account to validate that a response
has been done on the initial message. [0112] 605: Upon reception of
a response message, a scanning of Message Waiting Response Table
300 is initialized 610. [0113] 615: A first checking determines
whether or not it is the last entry of the Message Waiting Response
Table. [0114] 660: If it is the last entry of the Message Waiting
Response Table, a scanning of Hunt Out Message Table is started.
[0115] 620: If it is not the last entry of the Message Waiting
Response Table, the received message header field "In-reply-to" is
compared to the initial message identification which has been saved
in field MSG_ID 305 of the Message Waiting Response Table. [0116]
625: If they are not equal, the next entry of the Message Waiting
Response Table is processed. [0117] 630: If they are equal, a
temporary variable InitialMsgId is set to the value of MSG_ID 305
of the current Message Waiting Response Table entry and the process
to identify and flag the recipient originator of the response
starts. [0118] 660: In case where the "In-reply-to" of the received
response message is not found in the Message Waiting Response
Table, a scanning of Hunt Out Message Table 350 is initialized.
[0119] 665: A first checking determines whether or not it is the
last entry of the Hunt Out Message Table. [0120] 690: If it is the
last entry of the Hunt Out Message Table, the response process
check if all expected responses have been received. [0121] 670: If
it is not the last entry of the Hunt Out Message Table, then the
received message header field "In-reply-to" is compared to the hunt
out message identification which has been saved in field
HUNT_OUT_MSG_ID 355 of the Hunt Out Message Table. [0122] 675: If
they are not equal, next entry of the Hunt Out Message Table is
processed. [0123] 680: If they are equal, a temporary variable
InitialMsgId is set to the value of INITIAL_MSG_ID 360 of the
current Hunt Out Message Table entry and the process to identify
and flag the recipient originator of the response starts. [0124]
635: The process to identify and flag the recipient originator
starts by loading first the Response Solicited Recipient Table
entry. [0125] 640: A first checking determines whether or not it is
the last entry of the Response Solicited Recipient Table. [0126]
690: If it is it is the last entry of the Response Solicited
Recipient Table, then the response process is resumed. [0127] 645:
If it is not the last entry of the Response Solicited Recipient
Table, then the temporary variable InitialMsgId is compared to
MSG_ID 375 of the current Response Solicited Recipient Table entry.
[0128] 655: If both values match, then the field "Responded" 385 is
set equal to "True" and the field "Response_Date" 390 is
initialized with the current system date. [0129] 650: If both
values don't match, the next entry of the Response Solicited
Recipient Table is processed.
[0130] Verifying the Response Status
[0131] FIG. 7 shows the process when a reply message is received,
for checking if all expected responses have been received. [0132]
705: Local Boolean variable "AllReceived" is set to "true" [0133]
710: The process to check if all expected responses have been
received starts by loading the first Response Solicited Recipient
Table entry. [0134] 715: A first checking determines whether or not
the entry is the last entry of the Response Solicited Recipient
Table [0135] 740: If the entry is the last entry of the Response
Solicited Recipient Table, then a checking is performed to
determine if all expected responses have been received. [0136] 745:
If all responses have been received, the sender is prompted to
confirm the completion of process. [0137] 750: If the sender
confirms the completion of the process, all the allocated resources
and records concerning the initial mail and subsequent related
mails are freed 755 and the process is resumed. If the sender does
not confirm the completion of the process, this means that he/she
considers that one or several received responses are not valid. The
sender will change the "responded status" of the invalid responses
from "true" to "false". Then the process is resumed. [0138] 720: If
the entry is not the last entry of the Response Solicited Recipient
Table, then a checking is performed to determine if the response
has been received from the user corresponding to the current table
entry. [0139] If no response has been received, local Boolean
variable "AllReceived" is set to "false" 725 and the next entry of
the Response Solicited Recipient Table is processed 730. [0140] If
a response has been received, the next entry of the Response
Solicited Recipient Table is processed 730.
[0141] Computer Program
[0142] In a preferred embodiment, the invention is implemented in
software and takes form of a computer program product accessible
from a computer-usable or computer-readable medium providing
program code for use by or in connection with a computer or any
instruction execution system. For the purposes of this description,
a computer-usable or computer readable medium can be any apparatus
that can contain, store, communicate, propagate, or transport the
program for use by or in connection with the instruction execution
system, apparatus, or device.
[0143] The medium can be an electronic, magnetic, optical,
electromagnetic, infrared, or semiconductor system (or apparatus or
device) or a propagation medium. Examples of a computer-readable
medium include a semiconductor or solid state memory, magnetic
tape, a removable computer diskette, a random access memory (RAM),
a read-only memory (ROM), a rigid magnetic disk and an optical
disk. Current examples of optical disks include compact disk-read
only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
[0144] A data processing system suitable for storing and/or
executing program code will include at least one processor coupled
directly or indirectly to memory elements through a system bus. The
memory elements can include local memory employed during actual
execution of the program code, bulk storage, and cache memories
which provide temporary storage of at least some program code in
order to reduce the number of times code must be retrieved from
bulk storage during execution.
[0145] Input/output or I/O devices (including but not limited to
keyboards, displays, pointing devices, etc.) can be coupled to the
system either directly or through intervening I/O controllers.
[0146] Network adapters may also be coupled to the system to enable
the data processing system to become coupled to other data
processing systems or remote printers or storage devices through
intervening private or public networks.
[0147] While the invention has been particularly shown and
described with reference to a preferred embodiment, it will be
understood that various changes in form and detail may be made
therein without departing from the spirit, and scope of the
invention.
* * * * *