Abstract:
A message is received comprising a recipient list and an exclusion list. Recipients in the recipient list are identified, as are recipients in the exclusion list. A recipient is removed from the recipient list based on an identification of the recipient in the exclusion list.

Description:
BACKGROUND INFORMATION 
     Sending and receiving email messages via a computer network such as the Internet has been known for a number of years. One widely used protocol for sending a receiving email messages is Simple Message Transfer Protocol (SMTP). SMTP is described in, for example, RFC 2821—Simple Mail Transfer Protocol, published by the Internet Society (2001), fully incorporated by reference herein in its entirety, and RFC 1123—Requirements for Internet Hosts—Application and Support, published by the Internet Society (1989), also fully incorporated by reference herein in its entirety. RFC 2821 and RFC 1123 are both also presently available on the World Wide Web from the faqs.org website. SMTP provides for the sender of an email message to specify the email addresses or addresses to which a mail message should be sent, e.g., in the “TO” field of an email message. SMTP further provides an “EXPN” command that allows for the specification of a distribution list stored on a mail server that includes a list of one or more addresses to which an email message should be sent. 
     Distribution lists and the like provide a convenient and efficient way to send e-mail messages to multiple recipients without having to provide a specific e-mail designation or address for each of the multiple recipients. However, the list of e-mail addresses in a distribution list often does not precisely match the list of recipients to whom a person sending an e-mail wishes to send the e-mail. For example, a distribution list in a corporate environment may include all persons working in a particular office. A sender wishing to invite persons in the office to a surprise party for one of the people working in the office would want to send an email message to everyone in the office except the guest of honor. Presently, such a sender would have to enter the name or email address of every person in the office except the guest of honor into the “TO” field of an email message. Entering such names or email addresses is cumbersome, time-consuming, and inefficient, particularly where the number of intended recipients is large. Further, particularly as the number of intended recipients grows, it is likely that the sender of an email message will inadvertently neglect to identify some of the intended recipients of an email message. 
     Accordingly, what is needed is a way for a sender to be able to specify recipients on a distribution list or other list of message recipients who should be excluded from receiving the message. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a system for sending a message, according to an embodiment. 
         FIG. 2  illustrates a message, according to an embodiment. 
         FIG. 3  illustrates a process for sending a message, according to an embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  illustrates a system  100  for sending a message  105 , according to an embodiment. In embodiments discussed herein, message  105  is an email message that is sent according to SMTP, although it is to be understood that embodiments using other email protocols are contemplated. Further, it is to be understood that message  105  need not be an email, but could be some other kind of electronic message such as an instant message. 
     Client  110  and server  120  are used to send message  105 , generally via network  115 . Client  110  and server  120 , which are generally but not necessarily distinct computing devices, may each include any one of a number of known computing devices, including, without limitation, a computer workstation, a desktop, notebook, laptop, or handheld computer, or some other known computing device, such as a Java-enabled cellular telephone or similar device. Computing devices such as the foregoing may employ any of a number of known computer operating systems, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Sun Microsystems of Menlo Park, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., and the Linux operating system. 
     Client  110  and server  120  each include instructions executable by one or more computing devices such as those listed above. For example, client  110  generally comprises an email client software program such as Microsoft Outlook, provided by Microsoft Corporation of Redmond, Wash., or the like. Server  120  general comprises an SMTP server such as Microsoft Exchange Server, also provided by Microsoft Corporation. Further, some or all of process  300 , described below with reference to  FIG. 3 , may be implemented as computer-executable instructions. 
     In general, computer-executable instructions may be compiled or interpreted from computer programs created using a variety of known programming languages and/or technologies, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of known computer-readable media. 
     A computer-readable medium includes any medium that participates in providing data (e.g., instructions), which may be read by a computer. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes a main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
     Network  115  may be any one of a number of known computer networks, including the Internet, a local area network (LAN), wide area network (WAN), etc. 
     Distribution list  125  is generally stored on server  120 , and is generally identified by a name, e.g., “All,” “Tokyo Office,” “Sales Reps,” etc., and comprises a list of names and/or addresses to which message  105  may be sent. As is known, clients for sending messages  105  such as email clients generally allow a user to specify recipients of messages  105  variously according to a name, e.g., “John Doe,” or an address, e.g., “john@doe.com.”Distribution list  125  may similarly include such names and/or addresses according to which intended or potential recipients of messages  105  may be identified. 
     Filter  130  comprises instructions for removing names or addresses from distribution list  125  prior to sending message  105 . Such names or addresses to be removed from distribution list  125  may be specified individually, or may be specified as one or more second distributions lists  125 . For example, in one embodiment, SMTP is modified to include an “EXCL” command, which tells server  120  that filter  130  should be invoked. When the EXCL command or some similar command is sent from client  110  to server  120 , filter  130  removes specified addresses from the list of recipients for message  105  prior to sending message  105 . 
       FIG. 2  illustrates a message  105 , according to an embodiment. Message  105  includes date field  205 , recipient description field  210 , sender description field  215 , and subject field  225 , as well as message body  230 . Message  105  further includes exclude field  220 , which may be used to provide names, addresses, or distribution lists  125  to be excluded from a distribution list  125  provided in recipient description field  210 . Accordingly, filter  130  may comprise instructions for removing recipients identified in exclude field  220  from a list of recipients provided in recipient description field  210 . 
       FIG. 3  illustrates a process  300  for sending a message  105 , according to an embodiment. It is to be understood that, in addition to, or along with, the steps described with reference to process  300 , known steps for processing messages  105  using SMTP or other protocols will generally be executed. For example, process  300  may be implemented as computer-executable instructions on client  110  and/or server  120  that are executed along with or as part of other computer-executable instructions for sending and/or receiving messages  105 . 
     In step  305 , recipients for a message  105  are specified at client  110 , e.g., by a user specifying recipient names and/or addresses, or a distribution list  125  in recipient description field  210 . Generally such recipients are provided through a graphical user interface (GUI) in a client software program such as Microsoft Outlook® or the like, although embodiments are possible in which messages  105  may be populated and sent automatically from a computer program without the intervention of a human user. Further, generally names and/or addresses are included in recipient description field  210  by way of their inclusion in distribution list  125 , but it is also possible to provide names and addresses directly in recipient description field  210  at client  110 . 
     Next, in step  310 , names and/or addresses to be excluded from receipt of message  105  are specified at client  110  in exclude field  220 . Generally names and/or addresses are included by themselves and not as part of distribution list  125 , but it is to be understood that exclude field  220  may be populated with distribution list  125  instead of or in addition to names and/or addresses. 
     Next, in step  315 , message  105  is sent from client  110  to server  120 , e.g., by a user selecting a “send” button or the like in a GUI in a client program such as Microsoft Outlook, a web page for sending emails, etc. However, as noted above, embodiments are possible in which messages  105  are sent without the intervention of a human user, and without any display of message  105  in a GUI. 
     Next, in step  320 , server  120  receives message  105  and determines whether exclude field  220  is present and populated, i.e., whether message  105  includes an exclude field  220  containing one or more names and/or addresses. If not, process  300  proceeds to step  330 . Otherwise, step  325  is next executed. 
     In step  325 , server  120  removes names and/or addresses provided in exclude field  220  from the list of names and/or addresses provided in recipient description field  210 , e.g., in distribution list  125  in recipient description field  210 . It should be understood that step  325  may be performed in the context of known processing of SMTP messages. For example, it should be understood that, upon receiving message  105  from client  110 , where distribution list  125  is present in message  105 , server  120  will execute an SMTP “EXPN” command to replace distribution list  125  with a list of names and/or addresses to receive message  105 . Once the EXPN command has been executed, it is then possible, in step  325 , to remove the names and/or addresses provided in exclude field  220  from the list of recipients to which server  120  will send message  105 , e.g., by using an “EXCL” command or the like to apply filter  130 , as described above. 
     It is possible that a distribution list  125  in recipient description field  210  will include one or more other distribution lists  125  where such other distribution lists  125  are stored on a server other than server  120 . Server  120  generally cannot resolve such distribution lists  125  to a list of individual recipients for message  105 , because the host server for the other distribution lists  125  is required to resolve the other distribution lists  125  to a list of individual recipients for message  105 . Accordingly, in such situations, it is to be understood that server  120  may provide SMTP&#39;s EXPN command or the like to the server hosting a particular distribution list  125  in need of resolution, and that server  120  will then provide the EXCL command to the server hosting the distribution list  125  in need of resolution. Accordingly, the names and/or addresses specified in exclude field  220  may be excluded from receiving message  105  even if such names and addresses are included in a distribution list  125  stored on a server other than server  120 . 
     Following step  325 , step  330  is next executed. In step  330 , server  120  sends message  105  to listed recipients as specified in the protocol according to which server  120  is programmed, e.g., SMTP. 
     Following step  330 , process  300  ends. 
     CONCLUSION 
     With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claimed invention. 
     Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the invention is capable of modification and variation and is limited only by the following claims. 
     All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.