USPatent applicationPatented

Method and apparatus for controlling cascading e-mail distribution

Granted 26 Oct 2004 · 2 office actions

Application· this page
9584292
filed 31 May 2000
Publication
Not published
not published
Patent
US 6,810,408
granted 26 Oct 2004

Life of the application

9 dated events
⤢ drag to zoom20002002200420062008201020122014201620182020ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A method, apparatus and an article of manufacture for providing cascade distribution of electronic mail comprising creating an electronic mail message having a flag to identify the electronic mail message as a cascade-type electronic mail message or a cascade forward-type electronic mail message; and forwarding a received cascade-type electronic mail message or a received cascade forward-type electronic mail message.As such, a retraction can be sent with respect to a previously sent electronic mail message, and the retraction will be cascaded to all recipients of previous message as well as to all the recipients of forwarded versions of the previous message.

Description

6 parts
›BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention generally relates to electronic mail systems and, more particularly, the invention relates to a method and apparatus for distributing electronic mail.

2. Background of the Related Art

In today's electronic mail (e-mail) environment many users either reply or forward the entire contents of received e-mail messages to a variety of users. The downside of distributing e-mail in such a manner is that the original sender has no control over who receives the forwarded messages. A single e-mail message that is sent to one person may be forwarded to others and then forwarded to even more people in a cascade distribution of the electronic mail. If the original sender retracts the e-mail statement and sends the retraction to the original recipient of e-mail, there is no certainty that the retraction will be passed on to all of the recipients of the original electronic mail message.

Therefore, a need exists in the art for a method, an article of manufacture and an apparatus for controlling cascade electronic mail distribution.

›SUMMARY OF THE INVENTION

The invention provides a method, apparatus and an article of manufacture for providing cascade distribution of electronic mail comprising creating an electronic mail message having a flag to identify the electronic mail message as a cascade-type electronic mail message; and forwarding received cascade-type electronic mail message to recipients in a recipients list. The invention also creates an electronic mail message having a flag to identify the electronic mail message as a cascade forward-type electronic mail message; and automatically forwards received cascade forward-type electronic mail message to recipients in a forwarded mail log.

›BRIEF DESCRIPTION OF THE DRAWINGS

The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:

FIG. 1 depicts a simplified block diagram of an electronic mail system that benefits from the present invention;

FIG. 2 depicts a flow diagram of a process for controlling cascade e-mail distribution;

FIG. 3 depicts an electronic mail program for the sender of an electronic mail message having a controlled cascade e-mail distribution;

FIG. 4 depicts a flow diagram of an electronic mail program having the capability of handling cascade enabled e-mail;

FIG. 5 depicts a flow diagram of a forwarding function for an e-mail program having a cascade enabled function;

FIG. 6 depicts an electronic mail program process for retracting a previously mailed e-mail message; and

FIG. 7 depicts a flow diagram of a portion of an e-mail program capable of autoforwarding a cascade enabled e-mail message.

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 1 of 3

FIG. 1 depicts an electronic mail (e-mail) system 100 that benefits by use of the present invention. The system 100 comprises an e-mail server 102 , a network 104 and a plurality of user terminals 106 1 , 106 2 , . . . 106 n . The terminals 106 may include data processing systems, computer systems, e-mail terminals, e-mail enabled network appliances and the like. The present invention is embodied in an executable software routine that generally resides within the user terminal 106 . The user terminals 106 are connected to one another through the network 104 and also connected through the network 104 to the e-mail server 102 . The e-mail server 102 provides e-mail services to all of the user terminals 106 such that the e-mail addressed from one terminal to another is routed through the network to the e-mail server. The e-mail server 102 then properly addresses the e-mail to an appropriate user terminal 106 . Although the system is shown as having a hub and spoke configuration, other forms of networks may also benefit from the invention.

Each user terminal 106 , e.g., a general purpose computer, comprises a computer 116 and an input/output (I/O) device or devices 114 such as a monitor, a keyboard, a mouse, a trackball and the like. The computer 116 comprises a central processing unit 108 , support components 112 , and a memory 110 . The memory 110 may be a solid state memory, a disk drive, an optical memory, a removable memory device, or a combination of any of these components. The I/O circuits 114 provide a well known interface from the CPU 108 to the I/O devices 114 . Also, the I/O circuits 118 generally contain a network interface card or modem that couples the computer to the network of FIG. 1 such that the e-mail messages can be routed to and from the computer 116 . The support components 112 are well known in the art and include such components as cache, power supplies, clock circuits, and the like. The combinations of all of these components forms a general purpose computer that, when executing a particular software package or routine, becomes a specific purpose computer. In this case, the CPU 108 when executing the electronic mail processing software 120 of the present invention operates as an e-mail processor. The e-mail software 120 resides in memory 110 . In addition, e-mail messages 122 and e-mail logs 124 are also stored within memory 210 .

As will be described in detail below, one embodiment of the invention is implemented as a program product for use with a computer system such as, for example, this system 100 of FIG. 1 . The programs of the program product defines functions of the preferred embodiments and can be contained on a variety of signal bearing media, which include, but are not limited to (1) information permanently stored on a nonwritable storage media (e.g., read-only memory devices within a computer such as a CD ROM disk readable by a CD ROM drive), (2) alterable information stored on writable storage media (e.g., floppy disks with a diskette drive or hard disk drive), or (3) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. Such signal bearing media, when carrying computer readable instructions that direct the functions of the present invention, represent embodiments of the present invention.

Within each terminal, when the CPU 108 is executing the software 120 , the electronic mail processor is formed and will both generate cascade enabled electronic mail and also process received cascade enabled electronic mail.

FIG. 2 depicts a flow diagram of the process by which electronic mail is cascade distributed to a plurality of users. The mail program of the first user (user A) is represented by reference number 202 and a mail program of user B is represented by reference number 204 . Through the user A mail program, user A, at step 206 , sends an electronic mail message to users B, C and D. The mail message 208 comprises an e-mail identification (ID) field 210 , a recipient's list 212 and the e-mail message itself 214 . The electronic mail ID identifies user A and a time-stamp (TS 1 ) that uniquely identifies when the mail message was sent. The recipients list 212 contains the addressees of the e-mail message, users B, C and D. At step 216 , user A's mail program 202 updates the sent mail log 218 to identify that the mail message was sent, what the e-mail ID of that mail message was, and also who the addressees were. User A's mail program sends the mail to users B, C and D mail programs. At steps 220 , 222 and 224 , the mail programs of users B, C and D respectively receive the e-mail message from user A. The details of receiving and processing the electronic mail in accordance with the present invention is shown with respect to user B's mail program 204 . The mail programs for users C and D operate in the same manner as described below with respect to user B's mail program.

At step 220 , user B receives an e-mail message from user A. At step 222 , user B forwards the e-mail that he receives from user A to users B 1 , B 2 and B 3 . The mail message 226 that is sent from user B to users B 1 , B 2 and B 3 contains the e-mail identification of the forwarded mail A_TS 1 in field 228 , the recipients' list in field 230 and the e-mail message in field 232 . At step 224 , the user B's mail program 204 updates the forwarded mail log 234 . At steps 236 , 238 and 240 , users B 1 , B 2 and B 3 respectively receive the forwarded electronic mail message from user B. As such, the original message sent by user A has now cascaded through user B to users B 1 , B 2 and B 3 . The method of the present invention, as described further below, enables user A to send a retraction of the message or a clarification of the message that was originally sent to user B and have that message automatically forwarded to any of the additional cascade recipients such as users B 1 , B 2 and B 3 .

FIG. 3 depicts a flow diagram of the operation of user A's mail program to send cascade enabled e-mail to, for example, users B, C and D. The program starts at step 302 and proceeds to step 304 . At step 304 , the method 300 (a portion of mail program 202 ) queries whether a send mail event has occurred. The method 300 is event driven such that an event will cause multiple steps to be performed within the e-mail message. If a send e-mail event has not been detected, the method 300 proceeds to either exit or handle other events that may occur at step 306 . If a send e-mail event has occurred at step 304 , the method proceeds to step 308 where the method queries whether the e-mail program is cascade forward enabled. Cascade forward enabling occurs by the user selecting the cascade forward feature to be active. If the feature is not active, the method 300 proceeds to step 310 where conventional send functions are performed to send an e-mail message. At step 311 , the program then exits.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 2 of 3

If the e-mail program 300 is cascade forward enabled at step 308 , the method proceeds to step 312 where the sender ID, for example, A_TS 1 , is appended to the electronic mail message and a recipients' list is also appended to the e-mail message. E-mail message 320 depicts an exemplary message created as a cascade forward enabled mail message. The electronic mail message comprises a cascade enabled field 328 which contains a “yes” flag 322 to identify that the e-mail message is cascade forward enabled; item 323 is the ID of sender field 330 ; item 324 is the recipients' list 332 ; and item 326 is the message text 334 that is sent within the electronic mail message At step 314 of the method 300 , the information from the electronic mail message is saved in the sent log 336 . The sent log 336 contains the sender ID 338 , the cascade enable flag 340 , the recipients' list 342 and the e-mail message 344 . The method 300 then proceeds to step 316 where the e-mail message is sent to users B, C and D. The method 300 ends at step 318 .

FIG. 4 depicts a method 400 of the e-mail program 204 of user B. The method 400 starts at step 402 and proceeds to step 404 . At step 404 , the method 204 queries whether a mail received event has occurred. If the mail received event has not occurred, the method 204 proceeds to step 406 where the method is exited or proceeds to handle other events. If the query at step 404 is affirmatively answered, the method 400 proceeds to step 408 where the method queries if the received e-mail has the cascade feature enabled. To identify the cascade feature being enabled, the electronic mail program looks for a “yes” in the cascade enabled field of the message. If the cascade feature is not enabled, the method 400 proceeds to step 410 where the method performs conventional electronic mail handling. If the received e-mail is cascade enabled, the method 204 proceeds to step 412 . At step 412 , the method 400 checks whether the user's electronic mail program is set up to accept cascade enabled electronic mail. For example, a user may select not to accept cascade enabled mail such that their terminal will not pass on cascade forwarded mail to others. If the user does not accept cascade enabled mail, at step 414 , the mail method 204 sends an automatic reply to the sender of the e-mail indicating that the e-mail was refused because the recipient does not accept cascade e-mail. If the method 204 is cascade enabled and accepts cascade enabled mail, the method 204 proceeds to step 416 wherein the electronic mail is saved to the user's in-box including the cascade flag, the e-mail ID, the recipients' list and message itself. At step 420 , method 400 ends.

FIG. 5 depicts a flow diagram of another method 500 of user B's electronic mail program 204 . This method 500 is for handling and forwarding cascade forward type e-mail. The method starts at step 502 and proceeds to step 504 . At step 504 , the method 500 queries whether a forward e-mail event has occurred. If the forward e-mail event has not occurred, the program 500 proceeds to step 506 where the method exits or handles other events. If the query at step 504 is affirmatively answered, the method 500 proceeds to step 508 . At step 508 , the electronic mail program method 500 queries whether the e-mail is cascade enabled. If not, at step 510 , the electronic mail is forwarded using a conventional process.

If the query at step 508 is affirmatively answered, the method 500 proceeds to step 512 . At step 512 , the method queries whether user B's electronic mail program is cascade enabled. If it is not cascade enabled, at step 514 , the method 500 strips all of the cascade information from the received e-mail message and then forwards the e-mail message using a conventional forwarding process at step 510 . If the user B's electronic mail program is cascade enabled, the method 500 proceeds to step 516 .

At step 516 , the method 500 enters a loop that will identify which of the recipients that the user B will forward mail to are cascade enabled. In one embodiment, a recipient table 518 contained within the electronic mail program identifies a plurality of recipients that user B forwards e-mail to and whether each one of those users are cascade enabled. In this case, the recipients are B 1 , B 2 and B 3 , where B 1 is not cascade enabled while users B 2 and B 3 are cascade enabled. At step 522 , routine 500 checks for the enablement of each recipient in the recipient table 518 . If any recipient is not enabled, the routine proceeds to step 514 wherein the cascade information is stripped from the e-mail message and the e-mail message is forwarded using conventional processes of step 510 . If the user is cascade enabled, the method proceeds to update the recipient list for the forwarded e-mail at step 522 . At step 524 , the recipients' list generated in step 522 is added to the “Forward To” field of the sent log and the sent log 534 is updated at step 526 . The log 534 contains the cascade enabled flag, the e-mail ID, the “To” field list that contains users B, C and D, the “Forward To” list that contains users B 2 and B 3 and the e-mail message. At step 528 , the recipients' list is added to the e-mail such that the e-mail message now looks like message 536 . In the e-mail message 536 , the “To” field now contains users B, C, D, B 2 and B 3 as the recipients of the forwarded e-mail. At step 530 , the e-mail is sent to users B, C, D, B 2 and B 3 and the mail program is exited at step 532 . In this manner, the retraction that is sent from user A can be routed to the other users that have had mail forwarded to them by having the e-mail program review the information in the sent log of user B.

FIG. 6 is a flow diagram of a method 600 of user A's electronic mail program when user A sends a retraction to users B, C and D. Method 600 begins at step 602 wherein user A creates a new electronic mail message 614 , for example, a retraction of the mail message previously sent to users B, C and D. At step 604 , the method 600 incorporates the prior message from a sent log into the new electronic mail message 614 . At step 606 , a new text message is appended to the old message, for example, a retraction of the previously sent message. The method 600 , at step 608 , then sets the e-mail type to “cascade forward” indicating that this message should be cascaded forward to any recipient that had the previous mail message forwarded to them. At step 610 , the method 600 sends the retraction e-mail 614 to users B, C and D and, at step 612 , the routine exits.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 3 of 3

The electronic mail message that is created by the method 600 is shown at 614 .

It contains a message ID, for example, A_TS 2 that is shown in field 616 . The e-mail type is “cascade forward”, shown in field 618 . The original e-mail message is shown in field 620 , and the new message text, which is the retraction, is shown in field 622 .

FIG. 7 depicts a flow diagram of the operation of a method 700 of user B's electronic mail program when it receives an e-mail message of type cascade forward. The method 700 starts at step 702 and proceeds to step 704 where the routine queries whether a received mail event has occurred. If a received mail event has occurred, routine 700 proceeds from step 704 to step 706 where the method handles other events different from a received mail event or exits. If a received mail event has occurred at step 704 , the routine proceeds to step 708 wherein the routine queries whether the mail type is “cascade forward”. If the mail type is not cascade forward, then the routine 700 proceeds to step 710 wherein the routine performs conventional mail processing.

If the mail type is “cascade forward”, the routine proceeds to step 712 where the previous electronic mail is retrieved from the sent log, for example, mail ID A_TS 1 . Then the method 700 proceeds to a group of steps that form a “Forward To” list processor 714 . The processor 714 starts with step 716 wherein the “Forward To” list is compared to the recipients' list of the new e-mail. The function of the processor 714 is to ensure that a cascade forward e-mail is not repeatedly forwarded to the same users again and again. At step 718 , the method 700 queries whether the same recipients appear in both the “Forward To” list and the recipients' list of the new electronic mail, that is, the “Forward To” list in the original sent log of the original electronic mail message. If the query at step 718 is negatively answered and the recipients are not the same, then the recipients of the new e-mail are added to the “Forward To” list of the e-mail that is going to be forwarded from user B's electronic mail program to the people on the “Forward To” list. If the same recipients are found, then they are not added to the “Forward To” list of the new e-mail message at step 722 . Once the e-mail is prepared with the proper “Forward To” list, the method 700 sends the electronic mail at step 724 to the users and the program exits at step 726 .

In this manner, the electronic mail that was originally sent by A to users B, C and D and then forwarded to users B 1 , B 2 and B 3 is now processed such that a retraction, when sent from user A to users B, C and D, would be automatically forwarded by user B to the recipients that received the forwarded e-mail from user B, those being users B 2 and B 3 . Since user B 1 does not accept cascade forwarded e-mail. (i.e., step 518 of FIG. 5 ), user B 1 is not sent the cascade forwarded e-mail. Consequently, any retraction sent from a user will ultimately be sent to all of the users that had originally received the message.

Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.

Claims as granted

27 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

15 codes
IPC · International Patent Classification
Section H — Electricity
  • H04L12/58
USPC · US Patent Classification
709/200379/100.8709/239713/152358/1.15709/219713/400709/201358/400379/100.13705/26709/205379/102.4709/206

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2000Jan 2001Jul 2001Jan 2002Jul 2002Jan 2003Jul 2003Jan 2004Jul 2004Jan 2005USPTOApplicantNon-final rejectionNon-final rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
4.4 y
1,609 days filing → grant
Office actions
2
non-final + final
Responses
2
no RCE
Interviews
1
examiner interview summaries
Examiner
Hosain Alam
art unit 2155 · TC 2100
Citations: 10 back · 19 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20002002200420062008201020122014201620182020Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock