U.S. patent application number 11/424889 was filed with the patent office on 2007-12-20 for method and system for email messaging.
Invention is credited to Ido Guy, Boaz Mizrachi, Vladimir Soroka.
Application Number | 20070294428 11/424889 |
Document ID | / |
Family ID | 38862825 |
Filed Date | 2007-12-20 |
United States Patent
Application |
20070294428 |
Kind Code |
A1 |
Guy; Ido ; et al. |
December 20, 2007 |
Method and System for Email Messaging
Abstract
A method and system for preventing sending of messages to
incorrect email recipients are provided. The method includes
determining (120) the intended recipients of an email message prior
to sending and comparing the intended recipients to defined
recipient groups (126, 122). Potential errors in the intended
recipients are identified and a prompt (125) is provided to amend
the intended recipients. The prompt (125) provides a suggestion to
replace, add or remove an intended recipient. The defined recipient
groups include one or more of groups of recipients formed from an
organization data structure (122), groups of recipients defined by
a user, and groups of recipients (126) mined from one or more
user's previous email correspondence.
Inventors: |
Guy; Ido; (Haifa, IL)
; Mizrachi; Boaz; (Haifa, IL) ; Soroka;
Vladimir; (Karmiel, IL) |
Correspondence
Address: |
Stephen C. Kaufman;IBM CORPORATION
Intellectual Property Law Dept., P.O. Box 218
Yorktown Heights
NY
10598
US
|
Family ID: |
38862825 |
Appl. No.: |
11/424889 |
Filed: |
June 19, 2006 |
Current U.S.
Class: |
709/245 |
Current CPC
Class: |
G06Q 10/107
20130101 |
Class at
Publication: |
709/245 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. A method for email messaging, comprising: determining the
intended recipients of an email message prior to sending, wherein
there are two or more intended recipients; comparing the intended
recipients to defined recipient groups; and providing a prompt to
amend the intended recipients.
2. The method as claimed in claim 1, including: identifying a
potential error in the intended recipients compared to the defined
recipient groups.
3. The method as claimed in claim 2, wherein comparing the intended
recipients to defined recipient groups uses a similarity measure to
identify a potential error.
4. The method as claimed in claim 2, including comparing the
intended recipients to defined recipient groups defined for a
sender of the email message.
5. The method as claimed in claim 1, including: identifying one or
more of the defined groups which include the intended recipients,
and providing a prompt to complete the list of intended recipients
in accordance with an identified defined group.
6. The method as claimed in claim 1, wherein providing a prompt to
amend the intended recipients provides a suggestion to replace, add
or remove an intended recipient.
7. The method as claimed in claim 1, wherein the defined recipient
groups include one or more of groups of recipients formed from an
organization data structure, groups of recipients defined by a
user, and groups of recipients mined from one or more user's
previous email correspondence.
8. The method as claimed in claim 7, wherein an organization data
structure defines a Boolean value for each pair of an individual in
an organization and a group indicating the likelihood of the
individual sending a message to the group.
9. The method as claimed in claim 8, including comparing the pair
of the sender of the email message and the group of intended
recipients with the Boolean value for the pair to identify a
potential error.
10. The method as claimed in claim 7, wherein groups of recipients
are mined from one or more user's previous email correspondence and
ranked by the strength of the group.
11. The method as claimed in claim 10, wherein a group is defined
as the set of the sender of a previous email message and the
recipients of the message, and a ranking is applied to the defined
groups according to the number of messages and/or the date of the
messages.
12. The method as claimed in claim 10, wherein groups are defined
by: building a graph with vertices of individuals who are senders
and/or recipients of previous email messages joined by edges
between individuals who correspond; and determining groups with
many edges connecting vertices of a group and few edges between
groups.
13. The method as claimed in claim 2, wherein identifying a
potential error in the intended recipients includes identifying a
mismatch between the sender and the intended recipients according
to an organization data structure.
14. The method as claimed in claim 2, wherein identifying a
potential error in the intended recipients includes identifying a
mismatch between the intended recipients and a defined recipient
group.
15. The method as claimed in claim 1, wherein providing a prompt to
amend the intended recipients suggests moving intended recipients
from a "to" addressee list to a blind carbon copy ("bcc") addressee
list.
16. A computer program product stored on a computer readable
storage medium, comprising computer readable program code means for
performing the steps of: determining the intended recipients of an
email message prior to sending, wherein there are two or more
intended recipients; comparing the intended recipients to defined
recipient groups; and providing a prompt to amend the intended
recipients.
17. A system for email messaging comprising: a data structure of
defined recipient groups; an agent including: means for determining
the intended recipients of an email message prior to sending,
wherein there are two or more intended recipients; and means for
comparing the intended recipients to the defined recipient groups;
and a prompt means on a graphical user interface to generate a
prompt to amend the intended recipients.
18. The system as claimed in claim 17, wherein the agent includes
means for identifying a potential error in the intended
recipients.
19. The system as claimed in claim 17, wherein the agent includes
means for identifying one or more of the defined groups which
includes the intended recipients, and the prompt means generates a
prompt to complete the list of intended recipients in accordance
with an identified defined group.
20. The system as claimed in claim 17, wherein the agent is
provided as part of an email client application in which the email
message is created.
21. The system as claimed in claim 17, wherein the agent is
provided by a server over a network to an email client application
in which the email message is created.
22. The system as claimed in claim 17, wherein the data structure
of predefined recipient groups is an organization data
structure.
23. The system as claimed in claim 17, wherein the data structure
of predefined recipient groups stores recipient groups mined from
one or more user's previous email correspondence.
24. A method of providing a service to a customer over a network,
the service comprising the method steps of: determining the
intended recipients of an email message prior to sending, wherein
there are two or more intended recipients; comparing the intended
recipients to defined recipient groups; and providing a prompt to
amend the intended recipients.
25. A method for email messaging, comprising: determining the
number of intended recipients of an email message prior to sending;
determining if the number of intended recipients exceeds a
predefined threshold number; if the number of intended recipients
exceeds the threshold number, providing a prompt to transfer the
intended recipients to blind carbon copy ("bcc") addressees.
26. The method as claimed in claim 25, wherein the intended
recipients are separate "to" or carbon copy ("cc") addressees.
27. The method as claimed in claim 25, including automatically
transferring addressees from "to" and/or carbon copy ("cc")
addressees following a user response to the prompt.
Description
FIELD OF THE INVENTION
[0001] This invention relates to the field of email messaging
systems. In particular, this invention relates to preventing the
sending of email messages to incorrect email recipients.
BACKGROUND OF THE INVENTION
[0002] Email messaging systems have become a regular form of
communication for people in their work and social interactions. The
use of email messages is particularly effective when communicating
the same message to multiple recipients. The information that
develops in a user's email application shows groups that the user
communicates with. The groups may be defined by social activities,
work, study, sport, committees, etc. This organizational
information that exists in email messaging systems is very valuable
to the user and any organization they work for.
[0003] People receive irrelevant email messages when users forward,
reply to, or send email messages to irrelevant addressees by
mistake. Receiving an irrelevant email message can be annoying as
the recipient must ascertain that it is not intended for him, and
this may waste valuable working time and distract the recipient
from other tasks. Privacy may also be compromised by the wrong
recipient receiving confidential information contained in an
erroneously sent message.
[0004] Email messages are often sent to incorrect addressees when
the sender is sending an email to a group of recipients. Much of
email messaging traffic is generated by email messages addressed to
a group of recipients and handling these groups of contacts in a
careful way is desired. This will lower the chances of a recipient
receiving an irrelevant message as well as protecting the sender's
privacy.
[0005] Current email applications support groups of contacts in the
following ways. [0006] Groups of users are predefined for the
organization as a whole. For example, this is done in Lotus Notes
for IBM (Lotus Notes and IBM are trade marks of International
Business Machines Corporation). Most of the groups are taken from
an organizational chart in which employees positions in the
organization are defined. [0007] Users of email applications are
able to manually define their own groups of contacts. In practice,
most email users do not use the manual definition of groups and
make use of only those groups who have been predefined for their
organization.
SUMMARY
[0008] It is an aim of the present invention to provide a method
and system for using groups of contacts in an email system in order
to decrease the chances of sending an email message to an incorrect
contact. It is also an aim to improve the protection of user
privacy that may be affected by messages sent to large groups of
contacts.
[0009] According to a first aspect of the present invention there
is provided a method for email messaging, comprising: determining
the intended recipients of an email message prior to sending, where
there are two or more intended recipients; comparing the intended
recipients to defined recipient groups; and providing a prompt to
amend the intended recipients.
[0010] In one embodiment, the method includes identifying a
potential error in the intended recipients compared to the defined
recipient groups. Comparing the intended recipients to defined
recipient groups may use a similarity measure to identify a
potential error. The method may include comparing the intended
recipients to defined recipient groups defined for a sender of the
email message.
[0011] In another embodiment, the method includes identifying one
or more of the defined groups which include the intended
recipients, and providing a prompt to complete the list of intended
recipients in accordance with an identified defined group.
[0012] Providing a prompt to amend the intended recipients may
provide a suggestion to replace, add or remove an intended
recipient.
[0013] The defined recipient groups may include one or more of:
groups of recipients formed from an organization data structure,
groups of recipients defined by a user, and groups of recipients
mined from one or more user's previous email correspondence.
[0014] An organization data structure may define a Boolean value
for each pair of an individual in an organization and a group
indicating the likelihood of the individual sending a message to
the group. The method may include comparing the pair of the sender
of the email message and the group of intended recipients with the
Boolean value for the pair to identify a potential error.
[0015] Groups of recipients may be mined from one or more user's
previous email correspondence and ranked by the strength of the
group. In one embodiment, groups may be defined as the set of the
sender of a previous email message and the recipients of the
message, and a ranking is applied to the defined groups according
to the number of messages and/or the date of the messages. In
another embodiment, groups may be defined by: building a graph with
vertices of individuals who are senders and/or recipients of
previous email messages joined by edges between individuals who
correspond; and determining groups with many edges connecting
vertices of a group and few edges between groups.
[0016] Identifying a potential error in the intended recipients may
include: identifying a mismatch between the sender and the intended
recipients according to an organization data structure. Identifying
a potential error in the intended recipients may include
identifying a mismatch between the intended recipients and a
defined recipient group.
[0017] Providing a prompt to amend the intended recipients may add
recipients to the intended recipients to complete a defined
recipient group. Providing a prompt to amend the intended
recipients may also suggests moving intended recipients from a "to"
addressee list to a blind carbon copy ("bcc") addressee list, if
the number of intended recipients exceeds a threshold value.
[0018] According to a second aspect of the present invention there
is provided a computer program product stored on a computer
readable storage medium, comprising computer readable program code
means for performing the steps of: determining the intended
recipients of an email message prior to sending, where there are
two or more intended recipients; comparing the intended recipients
to defined recipient groups; and providing a prompt to amend the
intended recipients.
[0019] According to a third aspect of the present invention there
is provided a system for email messaging comprising: a data
structure of defined recipient groups; an agent including: means
for determining the intended recipients of an email message prior
to sending, where there are two or more intended recipients; and
means for comparing the intended recipients to the defined
recipient groups; and a prompt means on a graphical user interface
to generate a prompt to amend the intended recipients.
[0020] The agent may includes means for identifying a potential
error in the intended recipients. The agent may include means for
identifying one or more of the defined groups which includes the
intended recipients, and the prompt means may generate a prompt to
complete the list of intended recipients in accordance with an
identified defined group.
[0021] The agent may be provided as part of an email client
application in which the email message is created. Alternatively,
the agent may be provided by a server over a network to an email
client application in which the email message is created.
[0022] The data structure of predefined recipient groups may be an
organization data structure. The data structure of predefined
recipient groups may store recipient groups mined from one or more
user's previous email correspondence.
[0023] According to a fourth aspect of the present invention there
is provided a method of providing a service to a customer over a
network, the service comprising the method steps of: determining
the intended recipients of an email message prior to sending, where
there are two or more intended recipients; comparing the intended
recipients to defined recipient groups; and providing a prompt to
amend the intended recipients.
[0024] According to a fifth aspect of the present invention there
is provided a method for email messaging, comprising: determining
the number of intended recipients of an email message prior to
sending; determining if the number of intended recipients exceeds a
predefined threshold number; and if the number of intended
recipients exceeds the threshold number, providing a prompt to
transfer the intended recipients to blind carbon copy ("bcc")
addressees.
[0025] The intended recipients may be separate "to" or carbon copy
("cc") addressees and the method may include automatically
transferring addressees from "to" and/or carbon copy ("cc")
addressees following a user response to the prompt.
[0026] The embodiments of the present invention include the
advantage that the content of an email message is not used to
determine the predefined recipient groups or when comparing the
intended recipients to predefined recipient groups. This means that
sensitive content data is not accessed and the method is language
independent.
[0027] The user input is also minimal as the user may accept or
reject prompts to amend the intended recipients.
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] 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:
[0029] FIG. 1 is a block diagram of an email system in accordance
with embodiments of the present invention;
[0030] FIG. 2 is a block diagram of a computer system in which the
embodiments of the present invention may be implemented;
[0031] FIGS. 3A and 3B are examples of organization data structures
used in accordance with embodiments of the present invention;
[0032] FIG. 4 is a flow diagram of an overall method in accordance
with embodiments of the present invention;
[0033] FIGS. 5A to 5D are flow diagrams of methods of determining
potential errors in addressee groups in accordance with embodiments
of the present invention; and
[0034] FIGS. 6A to 6C are representations of graphical user
interfaces in accordance with embodiments of the present
invention.
[0035] It will be appreciated that for simplicity and clarity of
illustration, elements shown in the figures have not necessarily
been drawn to scale. For example, the dimensions of some of the
elements may be exaggerated relative to other elements for clarity.
Further, where considered appropriate, reference numbers may be
repeated among the figures to indicate corresponding or analogous
features.
DETAILED DESCRIPTION
[0036] In the following detailed description, numerous specific
details are set forth in order to provide a thorough understanding
of the invention. However, it will be understood by those skilled
in the art that the present invention may be practiced without
these specific details. In other instances, well-known methods,
procedures, and components have not been described in detail so as
not to obscure the present invention.
[0037] The described method and system provide a prompt when a user
is forwarding, replying to, or sending an email message, to check
if the email is intended to be sent to the message addressees. The
described method and system provide an opportunistic approach which
aims to prevent irrelevant email messages being sent.
[0038] Email applications are extended in a way that assists email
users in sending messages to the correct addressees in groups and
helps users avoid common mistakes related to email addressee
groups. According to the described approach, upon sending an email
message to a group (either a predefined group or just a set of
several individual addresses), the email user may be provided with
appropriate recommendations and warnings, based an organizational
chart, the user's own social or contact network, and other factors
as described below.
[0039] Referring to FIG. 1, an email system 100 is shown including
an email user 101 who interacts with an email user interface 102 of
an email client application 103 running on a client computer system
104. The email client application 103 may be a stand alone email
application or part of a combined scheduling and calendar
application.
[0040] The email client application 103 communicates via a network
105 with other client computer systems 106-108 each running their
own email client application. A server system 110 provides an email
server application 112 for the email client application 103.
[0041] The email client application 103 enables a user to organize
their email messages by creating folders for storing mail 128,
searching through email messages, keeping an address book of people
to whom the user sends email messages, creating group mailing
lists, creating and adding a signature file, and many more
functions.
[0042] In the described system, an agent 120 is provided which
reviews a list of intended recipients in an email message created
by a user to check if the list of intended recipients is likely to
include any incorrect recipients. The agent 120 reviews the list of
intended recipients using a provided algorithm. A prompt 125 is
provided in the form of a dialogue box on the email user interface
102 if the agent 120 determines that the user should review one or
more of the intended recipients of the email message. The prompt
125 on the email user interface 102 may include appropriate
recommendations, warnings, etc. The user 101 can select the
relevant/irrelevant addressees and amend the email message
appropriately or the user 101 can choose to disregard the prompt
125.
[0043] The agent 120 can be provided as part of the email client
application 103. Alternatively, the agent 120 can be provided as a
service provided over a network from a server.
[0044] An email user 101 can configure the agent 120 to provide the
desired prompts 125 tailored to the user's requirements. This
configuration of the agent 120 can include a complete disablement
of the agent 120.
[0045] The agent 120 uses an algorithm to review the list of
intended recipients. The algorithm is based on correct group data.
The correct group data may be determined by any one or more of the
following: predefined organizational groups, the groups defined by
the user in his email application 103, and/or groups previously
used by the user.
[0046] Predefined organizational groups can be provided by an
organizational chart 122 which may be provided on an organization's
server system 112. The server system 112 on which the organization
chart resides may be the same or different to the server system 110
of the email server application 112.
[0047] A user can define groups of recipients in his email client
application 103. These defined groups can be used as correct
groupings by the agent 120.
[0048] Community or group information can also be gathered from
previous messages in one or more user's client email application
103. A group monitor 124 determines groups or communities based on
previous email correspondence of the user 101. A data structure 126
holds a ranking of groups within which a user corresponds based on
previous email correspondence. Each group includes meta-data such
as a graph representing the internal relationships, the number of
messages sent to it, and dates of correspondence. Based on this
meta-data, the rank of the group is determined. The data structure
is persistently stored either locally to the client system 104,
remotely on a server system 110, 112, or duplicated across a
client/server system.
[0049] Referring to FIG. 2, an exemplary system for implementing a
client system 104 includes a data processing system 200 suitable
for storing and/or executing program code including at least one
processor 201 coupled directly or indirectly to memory elements
through a bus system 203. 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.
[0050] The memory elements may include system memory 202 in the
form of read only memory (ROM) 204 and random access memory (RAM)
205. A basic input/output system (BIOS) 206 may be stored in ROM
204. System software 207 may be stored in RAM 205 including
operating system software 208. Software applications 210 may also
be stored in RAM 205.
[0051] The system 200 may also include a primary storage means 211
such as a magnetic hard disk drive and secondary storage means 212
such as a magnetic disc drive and an optical disc drive. The drives
and their associated computer-readable media provide non-volatile
storage of computer-executable instructions, data structures,
program modules and other data for the system 200. Software
applications may be stored on the primary and secondary storage
means 211, 212 as well as the system memory 202.
[0052] The computing system 200 may operate in a networked
environment using logical connections to one or more remote
computers via a network adapter 216.
[0053] Input/output devices 213 can be coupled to the system either
directly or through intervening I/O controllers. A user may enter
commands and information into the system 200 through input devices
such as a keyboard, pointing device, or other input devices (for
example, microphone, joy stick, game pad, satellite dish, scanner,
or the like). Output devices may include speakers, printers, etc. A
display device 214 is also connected to system bus 203 via an
interface, such as video adapter 215.
[0054] The agent 120 uses correct group data to review a list of
intended recipients. Correct group data is provided by different
sources and provides reliable information on members belonging to
recognised groups.
[0055] Correct group data may be provided by an organization data
structure defined for an organization. Such a data structure 122
may be provided on a server system 112 and accessed by the agent
120 of the email client application 103 via the network 105. The
organization data structure may be defined in many different ways
but generally takes the form of a hierarchical data structure with
members of the organization ordered in the hierarchy. Organization
data structures may be defined for any form of organization and the
user may have access to more than one organization data structure
if he belongs to more than one organization, for example, his
employer, professional body, committees, etc.
[0056] As examples, two forms of organization data structures are
shown in FIGS. 3A and 3B of company structures. In FIG. 3A, a data
structure 310 is shown in the form of a list hierarchy with a
member's name 311, position 312, department 313, and location 314.
The chief executive officer 314 of the company is listed at the top
with members of the company provided in order of seniority with
their department members.
[0057] In FIG. 3B, a data structure 320 is shown in the form of an
organization chart with a chief executive officer 324 at the root
node, with child nodes showing employees designated to each
superior node. Information, relating to a member is provided at the
node, for example, name 321, position 322, department 323, and
location 324.
[0058] In any form of organization data structure, groups can be
retrieved by common elements, such as location, department,
position or ranking, etc. Members of a group having one or more
common elements are extracted from the data structure. For example,
regional managers in United States, or trainees in the state of
California, or legal department members across the organization,
etc.
[0059] The data structure defines a Boolean value for each pair of
an individual and a group. This value indicates whether the
individual is likely to send a message to the group. Groups are
defined within the data structure for each recognisable set or
sub-set of the structure.
[0060] Boolean values are given in a matrix M that includes rows
for all employees and columns for all groups whose size is larger
than a threshold t. Each cell has a value of 1 if the employee is
likely to send to the group, 0 otherwise. The values may be set by
a system administrator or by a set of rules. The rules may be set
according to organization data structure parameters. When employee
x sends to group g whose size is larger than t, the value of
M[x][g] is considered. If it is 0, an appropriate warning is
issued.
[0061] For example, a rule may say that each employee is likely to
send to the smallest group she belongs to. The rules should also
take into account the level of the employee in the organization
data structure hierarchy. Normally, the higher the level is, the
larger the groups the employee is likely to send to.
[0062] Correct group data may also be provided in an email client
application 103 in which a user has defined correct group members
under a group heading. For example, members of a football squad
that meet regularly may all be defined in a user's email client
application under the heading "Football".
[0063] Correct group data may also be provided by mining an email
client application 103 for group information. This is referred to
as the user's social network. The group monitor 124 shown in FIG. 1
uses group information for determining when a prompt is need to a
user. Based on previous email correspondence of the mailbox owner,
a list of the groups or communities with which the user corresponds
is constructed.
[0064] This procedure can also be applied centrally to multiple
email client applications to determine group information mined from
users across an organization. Such correct group data may be stored
centrally on a server and accessed by each email client application
via a network.
[0065] The groups in the list are ranked according to their
strength. A strength of the groups is determined by the number of
messages sent to its members, the dates of these messages, and the
number of members in the group.
[0066] Two examples of how a ranked list of the groups can be
achieved are described.
[0067] In one embodiment, the messages in one or more mailboxes are
reviewed. Each message defines a group which is a set of the
following: the sender of the message, the recipients in the "to"
list, recipients in the "cc" list and the recipients in the "bcc".
The mailbox owner is not removed from this set to provide a group
the mailbox owner would send to.
[0068] Each message adds a unit to the score of the group it
defines. After reviewing all messages, a list of groups is formed
where the score of each group is the number of messages sent to it.
Sorting the list by score in descending order gives the desired
ranked list of groups. Some adjustments can be made to the score
each message gives to its group by taking the date of the message
into account, i.e. messages with a more recent date will give
higher score to their group.
[0069] In a second embodiment, a method is based on a graph built
based on the headers of messages in one or more mailboxes. This
graph is then partitioned into groups. Details can be found in the
following paper:
http://www.hpl.hp.com/research/idl/papers/email/index.html. The
paper describes automatic identification of communities from email
logs within an organization. An algorithm is used that finds
communities within a graph representing information flows.
[0070] A method is described in the referenced paper in which
vertices represent people (senders and recipients of email
messages) and edges are added between people who correspond.
Subsets of vertices with many edges connecting vertices of the same
subset and few edges lying between subsets define community
structure. Inter-community edges of highest betweeness are
identified and removed leaving the defined communities. The groups
detected by the algorithm can be ranked by the total weight of the
corresponding edges in the graph.
[0071] Using either of the embodiments, the conclusion of the
process is a ranked list of the mailbox's or mailboxes' groups.
This list can be stored in a persistent location on an individual
client system or on a server. Upon sending a message to a group, a
group correction or group completion can be achieved by using the
groups in the ranked list.
[0072] The intended group is compared to the list of popular groups
with which the sender corresponds. If the group to which the email
is proposed to be sent differs by one person, then an appropriate
suggestion (to either add or change an addressee) is issued.
[0073] Referring to FIG. 4, a flow diagram 400 is shown of the
method carried out by the agent 120. An email message is created
401 by a user of an email client application and it is determined
402 whether there is more than one intended recipient of the
message. If there is a single recipient 403, then no action is
taken 404 by the agent.
[0074] If there is more than one intended recipient 405, the
intended recipients are compared 406 with defined correct groups.
The defined correct groups may be retrieved from an organization
data structure, may be defined by the user in the email client
application, or may be retrieved from a ranked list of groups mined
from the user's mailbox.
[0075] It is determined 407 if there are any anomalies between the
intended recipients and the defined correct groups. If there are no
anomalies 408, then no action is taken 409 by the agent. If there
is one or more anomaly 410, then a relevant prompt is generated 411
and an action suggested 412. A suggested action may be to replace,
add or omit a recipient.
[0076] The following are example categories of occurrences or
anomalies that may be monitored by the agent 120 as a user creates
an email message with more than one intended recipient, instigating
a prompt by the agent 120.
[0077] 1. A user sending an email message to a predefined group,
which is highly unlikely according to the organizational chart or
involves special risks.
[0078] An example of this would be that if a director sends a
message to all employees, no warning will be issued, but when a
regular employee does so, an appropriate warning window will pop
up. Some of the mistakes of this kind are caused by inadvertently
using the "reply all" option rather than the "reply".
[0079] Another example would be when a user belongs to a group with
a similar name to another group. For example, if a member of the
"Information Services" group types by mistake "Information
Retrieval", an appropriate warning will be issued. This will be
done in spite of the fact that the typed group is a correct name of
a predefined group, but according to the organizational information
the group is unlikely to be correct.
[0080] 2. Group correction.
[0081] This category includes correcting a specific address in a
group which is highly unlikely to be included. For example, an
email message may be created to be sent relating to a particular
project to the project members. A mistake to include "Beth Brown"
instead of "Beth Brownholtz" may be identified as the project
members form a group which is regularly used by the user. According
to the user's social communities and possibly the syntactic
similarity between the addresses, a correction will be
suggested.
[0082] Syntactic similarity occurs, for example, when two addresses
in the organization differ by one character or when both have the
same prefix. (For example, beth_brown/us/company and
beth_brownholtz/uk/company, or john_smith/almaden/company &
john_smith/haifa/company).
[0083] Similarity scores can be computed of the username to other
usernames and a threshold set for deciding that the name
sufficiently similar to raise a warning. The similarity score can
be based on text similarity techniques, but should take into
account both edit distance (how many characters need to be replaced
to get from one string to another) and prefixes, as mentioned
above.
[0084] Similarly, the mistake may be identified if all the intended
recipients belong to an organization's department with the
exception of one incorrect member.
[0085] The category also includes adding a specific address that is
normally included in a group.
[0086] For example, when creating an email message from a previous
message and not using the "reply all" option, users tend to forget
to include the sender of the original message in the list of
recipients. This can occur by the user copying just the "to" list
and the "cc" list and forgetting to include the original sender.
Based on the user's social communities, a suggestion to include a
certain individual will be prompted in case the group is missing
one of its regular members.
[0087] In another example, inclusion of certain individuals may be
inferred by the inclusion of others. An individual X may be copied
on all correspondences with an individual Y. Based on previous
correspondence, in which individual Y is always copied
correspondence to individual X, an appropriate suggestion will be
made.
[0088] 3. Group completion.
[0089] When typing a list of individual addresses, a completion
will be offered to the user upon request of the most likely
possibilities to complete the group according to the user's social
network. The rank of the possibilities can include parameters such
as the total amount of communication with the group, the size of
the group, the communication in the last week/month, etc.
[0090] Similarly, the most likely possibilities to complete a group
can be determined according to the user defined groups, or
according to groups of an organizational data structure.
[0091] 4. Automatic conversion of addresses to the "bcc" list.
[0092] When sending an email message to a large number of
individual addresses, the prompt may suggest an automatic move of
the addresses from the "to" list to the "bcc" list with the "to"
list remaining empty, or containing the sender's own address, or
just a dummy address. This should be done both for security
reasons, to prevent email addresses being explicitly distributed
among many users, and for privacy reasons. The "bcc" (blind carbon
copy) list sends a message to the listed recipients in a way that
the message they receive does not contain a complete list of
recipients.
[0093] All of the above can be carried in an off-line or on-line
mode.
[0094] The following is an example pseudo code upon user x sending
to group g:
[0095] If g is a predefined organizational group and M[x][g]=0
[0096] Issue a warning (are you sure you want to send to g whose
size is g.size)
[0097] For each group g' in the top ranked list of groups with
which the user corresponds
[0098] If g is similar to g' (i.e. misses one contact or has one
different contact than) [0099] Issue an appropriate recommendation
(to either add or change the contact)
[0100] If g includes more than t' (where t' is a certain threshold)
separate addresses [0101] Issue a recommendation to move all
recipients to the bcc list
[0102] Group completion is done based on an explicit user request
and thus is not included in this example pseudo code. The pseudo
code may be extended to include checking for similarity of groups
with the predefined organizational groups and/or the predefined
user groups:
[0103] For each predefined organizational group g'', or predefined
user group g'''
[0104] If g is similar to g'' or g''' (i.e. misses one contact or
has one different contact than) [0105] Issue an appropriate
recommendation (to either add or change the contact)
[0106] FIGS. 5A to 5D are flow diagrams illustrating the above
methods.
[0107] FIG. 5A shows a flow diagram 510 of a method of comparing a
proposed group of recipients g to an organization data structure. A
user x creates 511 a message to send to a group g. The Boolean
value M[x][g] in a matrix M generated for groups of an organization
data structure is looked up 512. It is determined 513 if g is a
predefined organizational group. If it is not a predefined
organizational group, then the method ends 514. However, if g is a
predefined organizational group, it is determined 515 if M[x][g]=0.
If M[x][g].noteq.0, no warning is issued 516. If M[x][g]=0, a
warning is issued 517 as this indicates that the user x is unlikely
to send a message to this group.
[0108] FIG. 5B shows a flow diagram 520 of a method of comparing a
proposed group to groups mined from a user's mailbox. A user x
creates 521 a message to send to a group g. Group g.sub.n' is
selected 522 from the top ranked list of groups. It is determined
523 if g is similar to g.sub.n'. If it is similar, a warning with
an appropriate change is provided 524. If g is not similar to
g.sub.n', it may either be the same, or dissimilar. It is
determined 525 if n=n.sub.max or if there is at least another group
g.sub.n' in the ranked list. If there is another group, g.sub.n' is
changed to g.sub.n+1' 526 and the method loops to step 522. If
there are no further groups, the method ends 527.
[0109] The method of FIG. 5B may also be applied to compare a
proposed group to other correct data groups, for example, groups of
an organizational data structure or groups defined by a user.
[0110] FIG. 5C shows a flow diagram 530 of a method of determining
if a list of addressees should be amended to move the addressees to
a bcc list. A user x creates 531 a message to send to a group g. It
is determined 532 if g includes more than t' separate addresses,
where t' is a predefined threshold. If the threshold is not
exceeded, no action is taken and the method ends 533. If the
threshold is exceeded, a recommendation is issued 534 to move all
the recipients to the bcc list for security.
[0111] FIG. 5D shows a flow diagram 540 of a method of completion
of groups. A user creates 541 a message to send to a plurality of
recipients <r.sub.1, r.sub.2, r.sub.3, . . . r.sub.n>. The
user requests 542 completion of the group. The defined groups (for
example, in an organization data structure, user defined groups, or
groups mined from mailboxes) are searched 543 to identify groups
including the members <r.sub.1, r.sub.2, r.sub.3, . . .
r.sub.n>. It is determined 544 if one or more groups are
identified. If no groups are identified, this is reported 545 to
the user. If one or more groups are identified, a list is displayed
546 to the user who selects 547 the appropriate group. The
remaining members of the chosen group are added 548 to the list of
recipients of the message.
[0112] A combination of one or more of the above methods can be
applied to a message. For example, if a group is corrected
according to FIG. 5B, it may then be determined if the corrected
group is appropriate according to the method of FIG. 5A. Similarly,
if a group is completed according to the method of FIG. 5D, it may
then be determined if the number of recipients is above the
threshold according to the method of FIG. 5C. Other combinations
are also applicable.
[0113] Referring to FIGS. 6A to 6C, examples of prompts provided on
a graphical user interface are shown. In each of the figures, a
graphical user interface 600 of an email client application is
shown in which a new message 601 has been created. The message 601
has a list of intended recipients 602 formed of the "to"
addressees, "cc" addressees, and "bcc" addressees.
[0114] In FIG. 6A, a prompt in the form of a dialog box 610 is
shown which recommends adding a member to a group. The intended
recipients have been compared to correct groups, in this case mined
from the user's mailbox, and an omission identified. The dialog box
610 suggests an additional recipient and has input options to add
the recipient to the "to" addressees 611, to add the recipient to
the "cc" addressees 612, or to ignore 613. An option is also
provided to disable the prompt 614.
[0115] In FIG. 6B, a prompt in the form of a dialog box 620 is
shown which recommends replacing a member of a group. The intended
recipients have been compared to correct groups, in this case mined
from the user's mailbox, and a correction identified. The dialog
box 620 suggests a replacement and has input options to replace 621
or ignore 622 the replacement. An option is also provided to
disable the prompt 624.
[0116] In FIG. 6C, a prompt in the form of a dialog box 630 is
shown alerting a user before sending an email to a large group
which is unlikely according to the organization chart. The dialog
box 630 queries the send action and has input options abort the
send 631 or to continue with the send 632. An option is also
provided to disable the prompt 634.
[0117] The method of providing a prompt to correct or complete
intended recipients or to transfer recipients to a bcc list may be
provided as a service to a customer over a network.
[0118] The invention can take the form of an entirely hardware
embodiment, an entirely software embodiment or an embodiment
containing both hardware and software elements. In a preferred
embodiment, the invention is implemented in software, which
includes but is not limited to firmware, resident software,
microcode, etc.
[0119] The invention can take the 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.
[0120] 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.
[0121] Improvements and modifications can be made to the foregoing
without departing from the scope of the present invention.
* * * * *
References