|
Claims  |
|
|
We claim:
1. An electronic mail (e-mail) delivery system, comprising:
a plurality of delivery queues for delivering e-mail to a plurality of
destination hosts, the delivery queues being maintained on one or more
processors;
a stream of messages, each message in the stream including a destination
address for specifying a recipient of the message and a message body;
a routing processor for receiving the stream and routing the messages in
the stream to one of the plurality of delivery queues based on the
destination address.
2. The system of claim 1, wherein the routing processor includes hash means
for hashing the messages based on the destination addresses.
3. The system of claim 1, further including means to dynamically adjust the
number of the delivery queues based on an input message load.
4. The system of claim 1, further including means to dynamically adjust the
number of delivery queues being used at any one time based on the number
of processors.
5. The system of claim 1, further including means to dynamically adjust the
number of routing processors based on an input message load.
6. The system of claim 5, further including a plurality of local area
networks, the routing processors being located on different ones of the
plurality of local area networks.
7. A system according to claim 1, wherein the destination address
corresponds to a mail exchanger host of the destination recipient.
8. The system of claim 1, further comprising a domain name server for
querying a distributed database on the Internet and receiving a list of
mail exchanger host addresses in response to the query.
9. The system of claim 1, further including means for sorting the input
stream based on the destination addresses prior to the input stream being
received by the routing processor.
10. A method for controlling electronic mail ("e-mail") delivery to a
plurality of the destination hosts, comprising the steps of:
routing outgoing e-mail messages to one of a plurality of e-mail queues,
the routing being controlled such that e-mail messages with common
destinations are routed to the same e-mail queues;
delivering the e-mail messages in each queue to a destination host
designated by the e-mail messages.
11. A computer readable medium including instructions for operating a
processor to deliver electronic mail ("e-mail") to a plurality of
destinations, the instructions designed to perform the steps of:
routing outgoing e-mail messages to one of a plurality of e-mail queues,
the routing being controlled such that e-mail messages with common
destinations are routed to the same e-mail queues;
delivering the e-mail messages in each queue to a destination host
designated by the e-mail messages.
12. A method for controlling electronic mail ("e-mail") transmission,
comprising the steps of:
routing outgoing e-mail messages to one of a plurality of e-mail queues,
the routing being controlled such that the e-mail messages with common
destinations are routed to the same e-mail queues;
initiating a delivery protocol for each said e-mail message in each said
queue;
waiting a predetermined period for acknowledgment of a successful delivery
of the e-mail message;
removing the e-mail message from the queue when the predetermined waiting
period has elapsed.
13. The method of claim 12, further including the step of notifying a
database as the outgoing e-mail messages are routed to the e-mail queues.
14. The method of claim 13, further including the step of notifying the
database upon successful delivery of the e-mail message.
15. The method of claim 12, wherein the waiting step includes the step of
dynamically adjusting the waiting period based on e-mail message
histories.
16. A method according to claim 12, wherein the routing step includes the
step of hashing the e-mail destinations to determine which one of the
plurality of e-mail queues the messages will be routed to.
17. A method according to claim 12, wherein the removing step further
includes the step of transferring the removed e-mail messages to a queue
dedicated to delivering removed e-mail messages.
18. The method of claim 16, wherein the step of hashing includes the step
of dynamically adjusting a hash algorithm to alter distribution of the
routed e-mail messages.
19. A method of tracking electronic mail (e-mail) messages by an e-mail
delivery system, the method comprising the steps of:
inserting a code into a first e-mail message to uniquely identify the first
e-mail message;
sending the first e-mail message with the inserted code over a network to a
recipient;
receiving a second e-mail message containing the code; and
matching the second e-mail message with the first e-mail message based on
the code.
20. The method of claim 19, wherein the inserting step includes the step of
inserting the code into a message identification field and an envelope of
the first e-mail message.
21. The method of claim 19, wherein the sending step includes the step of
updating a database to indicate that the first e-mail message has been
transmitted.
22. The method of claim 19, wherein the matching step further includes the
step of updating the database to indicate that the second e-mail message
has been identified with the first e-mail message.
23. The method of claim 19, wherein the network is the Internet.
24. The method of claim 19, wherein the second e-mail message is an error
message indicating that the first e-mail message could not be successfully
delivered.
25. The method of claim 24, further including the step of updating the
database to indicate when the error message is a fatal error message.
26. A method according to claim 19 in which the inserting step inserts the
code into a message identification field of the e-mail message.
27. A method of tracking electronic mail ("e-mail") messages sent and
received from a central mailing site to recipients on a network,
comprising the steps of:
inserting a code into a first e-mail message;
sending the first e-mail message with the inserted code from the central
site to the recipient via the network;
receiving, at the central site, a second e-mail message containing the
code; and
matching the second e-mail message with the first e-mail message based on
the code.
28. A method according to claim 27, wherein the code of the first e-mail
message uniquely identifies the first e-mail message.
29. The method of claim 27, wherein the sending step includes the step of
updating a database to indicate that the first e-mail message has been
transmitted.
30. The method of claim 29, wherein the matching step further includes the
step of updating the database to indicate that the second e-mail message
has been identified with the first e-mail message.
31. A method for forming an electronic mailing for delivery to subscribers
on a network, the method comprising the steps of:
entering a record into a database for each of the subscribers, the entering
step including the substeps of:
selecting timing information indicating when the electronic mailing is to
be assembled and delivered,
selecting content information of the electronic mailing, and
selecting formatting information of the electronic mailing;
assembling the electronic mailing for each subscriber based on the record
corresponding to the subscriber; and
transmitting the assembled electronic mailing to the subscriber.
32. A method according to claim 31, wherein the entering step is performed
by a subscriber through a world wide web interface.
33. A method according to claim 31, wherein the entering step is performed
by a subscriber through e-mail.
34. A method according to claim 31, the formatting information indicating
that the electronic mailing is to be formatted as one of: Rich Text Format
(RTF), Hyper-text Markup Language (HTML), and text format.
35. A method according to claim 31, the timing information indicating that
the electronic mailing is to be assembled based on an event.
36. A method according to claim 31, the timing information indicating that
the electronic mailing is to be periodically assembled.
37. A method according to claim 31, wherein the selecting formatting
information step includes the step of selecting formatting information
based on compatibility of the subscriber with the selected formatting
information.
38. A method according to claim 31, wherein the assembling step includes
inserting a general advertising message into the mailing.
39. A method according to claim 31, wherein the assembling step includes
inserting a targeted advertising message into the mailing based on the
record corresponding to the subscriber.
40. A method according to claim 31, wherein the assembling step includes
inserting a targeted advertising message into the mailing based on the
selected content information.
41. A method according to claim 31, wherein the assembling step deletes a
general advertising message in the mailing based on an analysis of the
record corresponding to the subscriber.
42. An electronic mail (e-mail) delivery system, comprising:
a plurality of delivery queues for delivering e-mail to a plurality of
destination hosts, the delivery queues being maintained on one or more
processors;
a stream of messages, each message in the stream including a destination
address for specifying a recipient of the message and a message body;
a routing processor for receiving the stream and routing the messages in
the stream to one of the plurality of delivery queues based on a sort
criteria.
43. The method of claim 19, further comprising the step of correlating the
recipient of the first e-mail message to the second e-mail message.
44. The method of claim 25, wherein the step of updating the database
includes the substep of indicating that no more e-mail messages should be
delivered to the recipient.
45. The system of claim 2, wherein the routing processor dynamically
adjusts the hashing when the number of messages in a particular queue is
determined to be too high.
46. The system of claim 1, wherein the routing processor adjusts the
routing of the messages when the number of messages in a particular queue
is determined to be too high. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to electronic mail, and more particularly, to
high volume electronic mail delivery systems and methods.
2. Description of the Related Art
Electronic mail ("e-mail") is to the 1990s what fax machines were to the
1980s--a must-have capability for any corporate employee or service
professional. Additionally, consumers are increasingly adopting e-mail
through on-line services. The Internet, for example, has linked disparate
e-mail systems, creating a truly international distribution medium. It is
estimated that over thirty million people have access to e-mail via the
Internet today with an annual growth rate exceeding 100 percent.
Today, e-mail is used primarily as an interpersonal communication
technology. Corporate users communicate with customers, vendors, peers,
subordinates, and superiors, while residential users are increasingly
using e-mail to stay in touch with friends and relatives.
End-users generally do not use e-mail as an information services tool,
however. As noted above, most e-mail is generated by one person and sent
to another person. Very little of the worldwide e-mail volume is created
by a computer. This is due in no small part to the challenges of creating
automated processes for the generation and distribution of large volumes
of unique e-mail messages.
In the past five years, several services have been created with the goal of
using e-mail as an information services tool by creating a type of
personalized electronic newspaper. The services use computers (and
proprietary software) to sift through news stories or press releases and
select those articles/stories that match a predefined profile of a
particular subscriber. Generally, the profile is based on particular
industries or products; however, there may be options for somewhat more
refined sifting criteria.
These services all have one thing in common--they manipulate publicly
available information (AP wire service, Reuters, Business Wire, etc.) and
match this information to a generic customer profile, not to a unique
individual. The resulting personalized newspaper is sent via e-mail or
facsimile to all subscribers that match the selected profile.
There are other companies that have started on-line services that allow
end-users access to more personalized information, such as Compuserv,
Prodigy, America-on-line, or World Wide Web home pages. These services
allow end-users to get quotes on publicly traded securities and allow
end-users to search databases for particular strings of text or subject
matter. These services suffer from a common disadvantage, however, namely,
they require the active involvement of the end-user in accessing the
information. In other words, each time the end-user desires information,
he must dial up the service provider and request the information.
The Internet is made up of thousands of computers loosely coupled to one
another by a common protocol and fiber optic transmission backbones. Each
e-mail sent over the Internet must contain an address specifying to whom
the e-mail is to be delivered.
An Internet e-mail address, such as, for example, "jfunk@merc.com,"
includes the name of the user the e-mail is addressed to (i.e., "jfunk"),
followed by an "@" symbol. The mnemonic after the "@" defines the local
destination the e-mail is destined for. The destination may be a domain
name such as "merc.com," which does not refer to a specific computer, but
to a networked domain of computers. Alternatively, the destination may
correspond to a specific computer, such as the destination
"netra.merc.com," which references the computer named "netra" in the
"merc.com" domain.
When the destination after the "@" symbol refers to a group of hosts under
the same administrator, such as "merc.com," it is called a domain name.
When the destination refers to a specific computer, such as
"netra.merc.com," the destination is often referred to as the host, or
hostname. Throughout this specification, "hostname" and "domain name" are
used to refer to the symbolic destination of the to-be-delivered e-mail.
Hostnames exist for the convenience of humans. The actual routing of
information on the Internet is done with Internet Protocol ("IP")
addresses. An IP address is a 32 bit, non-symbolic number, which
represents the unique address of a device connected to the Internet.
Before a computer can deliver e-mail, it must first determine the correct
recipient IP address. Mappings between hostnames and IP addresses are kept
in a distributed database on the Internet called the Domain Name System
(DNS). Before the computer transmits its e-mail, it queries the DNS with a
host name and waits for the corresponding IP address to be returned.
Most hostnames correspond to at least one IP address. The hostname
"www.merc.com," for example, corresponds to the IP Address
204.255.152.133. The domain name "merc.com" is not a physical entity. It,
therefore, has no IP Address and information cannot be directly routed to
it. E-mail delivered to "merc.com" is sent to a site designated to receive
e-mail for "merc.com." Alternate designated sites may be desirable even
when the normal receiving site has an IP address. For example, an e-mail
recipient may not want e-mails sent to his address at night if the
computer is turned off.
The alternate designated sites for a hostname or domain name are called the
hostname's Mail eXchanger (MX) hosts. A query of the DNS for the MX
information on "jfunk@merc.com" will return a list of Internet hosts that
will accept mail for "merc.com." If no alternate hosts are available, the
query will indicate as much.
To transmit an e-mail message, a number of processing steps must be
performed before the e-mail message is actually transmitted onto the
Internet. Initially, a sending program determines whether it knows the
current IP address corresponding to the e-mail hostname or MX hostnames.
If not, the sending program queries the DNS for the IP address. The
sending program then transmits an initial message to the destination,
asking whether the destination computer can receive the e-mail. If the
destination computer replies favorably, the sending program breaks the
e-mail message up into a series of information packets, and separately
transmits each packet. The destination computer receives the packets and
reassembles them into the complete e-mail message.
Traditionally, e-mail transmission has been handled by a single sending
program operating on a single queue of messages. That is, e-mails to be
transmitted are lined up in a first-in-first-out (FIFO) queue, and the
queue is handled by a transmitting program. Although this method works
well for low-volume e-mail transmission, for sites that transmit
thousands, or even hundreds of thousands of e-mail messages a day, the
above-described method is slow and significantly underutilizes network
bandwidth because information is being sent over the Internet neither
while the DNS is being queried nor while the transmitting program is
waiting for the destination to acknowledge the initialization message.
Occasionally, a host site cannot complete delivery of an e-mail message.
When this occurs, the host site typically returns ("bounces") the e-mail
message back to the sender with an attached error message explaining why
the message could not be delivered. The returned messages are called
"bounced messages." A large number of received bounced messages is
burdensome on the system operator, who must manually read through the
messages to determine the appropriate action.
It is therefore desirable to provide an information delivery system and
methods that substantially obviate one or more of the problems due to the
limitations and disadvantages of the related art.
It is also an object of the present invention to provide a low-cost system
that allows a user to passively receive unique, customized, personal
information via e-mail and/or facsimile machine.
It is another object of the present invention to provide an e-mail
processing system that allows a user to automatically edit user
information by either sending an e-mail or interacting with the processing
system via the World Wide Web (WWW).
It is still a further object of the present invention to provide an
efficient, high volume e-mail transmission system and method.
It is still a further object of the present invention to provide an e-mail
system and method to effectively, automatically handle bounced e-mail
messages.
Additional features and advantages of the invention will be set forth in
the description which follows, and in part will be apparent from the
description, or may be learned by practice of the invention. The
objectives and other advantages of the invention will be realized and
attained by means of the instrumentalities and combinations particularly
pointed out in the written description and appended claims hereof as well
as the appended drawings.
SUMMARY OF THE INVENTION
The advantages and purposes of the invention will be set forth in part in
the description which follows, and in part will be obvious from the
description, or may be learned by practice of the invention. The
advantages and purpose of the invention will be realized and attained by
means of the elements and combinations particularly pointed out in the
appended claims.
To attain the advantages and in accordance with the purposes of the
invention, as embodied and broadly described herein, in one embodiment,
the invention is a system and method for controlling e-mail delivery to a
plurality of destination hosts. Exemplarily, one method comprises the
steps of routing outgoing e-mail messages to one of a plurality of e-mail
queues, the routing being controlled such that e-mail messages with common
destinations are routed to the same e-mail queues; and delivering the
e-mail messages in each queue to a destination host designated by the
e-mail messages.
In another embodiment, the invention is a method of tracking e-mail
messages. This embodiment comprises the steps of: inserting a code into a
first e-mail message; sending the first e-mail message with the inserted
code over a network to a recipient; receiving a modified version of the
first e-mail message, the modified version of the first e-mail message
containing the code; and matching the received e-mail message with the
first e-mail message based on the code.
In yet another embodiment, the invention is a method for forming an
electronic mailing for delivery to subscribers on a network. In this
embodiment, the method comprises the step of entering a record into a
database for each of the subscribers. This step further includes the
substeps of: selecting timing information indicating when the electronic
mailing is to be assembled and delivered, selecting content information of
the electronic mailing, and selecting formatting information of the
electronic mailing. The method also includes the steps of: assembling the
electronic mailing for each subscriber based on the record corresponding
to the subscriber and transmitting the assembled electronic mailing to the
subscriber.
The invention also includes corresponding systems for performing these
processes and methods as disclosed and claimed.
It is to be understood that both the foregoing general description and the
following detailed description are exemplary and explanatory only and are
not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part
of the specification, illustrate several preferred embodiments of the
invention and, together with the description of the preferred
implementations, serve to explain the principles of the invention.
In the drawings:
FIG. 1 is a block diagram of an information services system in accordance
with one embodiment of the present invention;
FIG. 2 is a block diagram of a service processing system in accordance with
one embodiment of the present invention;
FIG. 3 is a preferred embodiment of an e-mail message format generated by
the service processing system in accordance with one embodiment of the
present invention;
FIG. 4 illustrates sample database structures in accordance with one
embodiment of the present invention;
FIG. 5 is a processing flow diagram illustrating the processing operations
of the service processing system to set up and automatically generate an
e-mail message in accordance with one embodiment of the present invention;
FIG. 6 is a processing flow diagram operation of the service processing
system to modify a database based on inbound information in accordance
with one embodiment of the present invention;
FIG. 7 is a block diagram showing an alternative service processing system
in accordance with another embodiment of the present invention;
FIG. 8 is a block diagram illustrating an exemplary composition of an
end-user configuration file for a service processing system in accordance
with another embodiment of the present invention;
FIG. 9 is a block diagram showing a detailed view of an outbound e-mail
processing section for a service processing system in accordance with
another embodiment of the present invention;
FIG. 10 is a conceptual diagram illustrating the interaction of a hash
section and queues for a service processing system in accordance with
another embodiment of the present invention;
FIG. 11 is a flow chart showing a preferred method of dynamically scaling a
number of queues/processors for a service processing system in accordance
with another embodiment of the present invention;
FIG. 12 is a block diagram illustrating a system for reducing time wasted
while an e-mail queue waits for an acknowledge signal from a destination
host in accordance with another embodiment of the present invention; and
FIG. 13 is a flow diagram illustrating an automated bounced e-mail handling
procedure for a service processing system in accordance with another
embodiment of the present invention.
BEST MODE FOR CARRYING OUT THE INVENTION
Reference will now be made in detail to the construction and operation of
preferred implementations of the present invention which are illustrated
in the accompanying drawings. In those drawings, like elements and
operations are designated with the same reference numbers where possible.
The following description of the preferred implementations of the present
invention is only exemplary of the invention. The present invention is not
limited to these implementations, but may be realized by other
implementations.
FIG. 1 is a block diagram of an information services system in accordance
with one embodiment of the present invention. In a preferred embodiment,
the information provided by the system is securities information, such as
stocks, bonds, mutual funds, etc. However, the invention contemplates
information of all kinds, including, e.g. account balances, charges and
payments, cleared checks, weather update information, sports information,
etc.
As shown in FIG. 1, one or more information sources 100 are connected to a
service processing system 104 by connections 102. Connections 102
preferably include standard telephone line connections, but may include
other conventional computer connections. Information sources 100 include
any source of information such as the Associated Press, Reuters News, or
The Wall Street Journal. Consistent with the preferred embodiment, one of
the information sources 100 would obtain financial information from, e.g.,
a stock exchange.
Service processing system 104 connects via a connection 102 to the Internet
106 or some other e-mail network. End-user terminals 114 also connect to
the Internet 106 via connections 102, and the service processing system
104 provides the information to the end-user terminals 114 through the
Internet 106.
As discussed in more detail below, generally, service processing system 104
receives information from information sources 100, translates that
information into database format, and stores the translated information in
databases corresponding to services provided by the service processing
system 104. Service processing system 104 then generates e-mail messages
based on the contents of the databases and feeds those e-mail messages
through the Internet 106 to enduser terminals 114.
As also shown in FIG. 1, e-mail messages can also be routed to end-user
terminals 114 via a local area network ("LAN") 112. The LAN 112 is
connected to the Internet 106 by a connection 102, and end-user terminals
114 are connected to the LAN via conventional LAN connections 113.
Alternatively, e-mail messages can be delivered to an end-user by
voice-mail or facsimile message delivery systems. As shown in FIG. 1, a
message delivery system 116 is connected to the Internet 106 via a
connection 102. The message delivery system 116 may provide for voice-mail
services 110 and/or facsimile services 118, in accordance with
conventional techniques. As discussed in more detail below, if the service
processing system 104 provides e-mail messages to a message delivery
system 116, the service processing system 104 can first translate the
e-mail messages into the appropriate voice-mail or facsimile format for
delivery to the message delivery system 116. This translation is provided
by text-to-voice processor 220 or facsimile processor 216, respectively.
Alternatively, e-mail messages may be delivered to the message delivery
system 116 as a conventional e-mail message, and the message delivery
system 116 can translate the e-mail message into the appropriate
voice-mail or facsimile message format.
FIG. 2 is a block diagram of a service processing system 104 in accordance
with one embodiment of the present invention. As shown, service processing
system 104 preferably includes a plurality of databases, including a
customer database 200, source information database 202, portfolio value
database 204, name and symbol database 206, and message database 208. The
contents of each database 200-208 is described in more detail below.
In addition, service processing system 104 includes an inbound e-mail
processor 212, outbound e-mail processor 214, facsimile processor 216,
voice response processor 218, and text-to-voice processor 220. The
purposes and functions of each processor 212-220 will also be described in
more detail below.
Each database 200-208 and each processor 212-220 is connected to a
processor system 210. Generally, processor system 210 receives information
from information sources 100 and stores that information in one of
databases 200-208. As described in more detail below, at predetermined
intervals, such as one per day, processing system 210 generates a
temporary list or file of all information to be delivered via e-mails to
end-users, then sends the file to either the outbound e-mail processor
214, facsimile processor 216, or text-to-voice processor 220, depending on
the delivery path. These processors 214, 216, and 220, translate the file
into e-mail format or message delivery format for the Internet 106,
depending on whether the e-mails will be delivered via e-mail message
delivery system 116.
Before describing the system operation for generating and transmitting
e-mail messages, it is useful to consider an exemplary e-mail message
format as displayed on an end-user terminal 114.
FIG. 3 shows an exemplary e-mail message 300 to be sent to end-user, John
Doe. The exemplary e-mail message 300 includes a first information field
302 to identify the user, the source of the e-mail, the name of the e-mail
service, and the date. The e-mail message 300 also includes a message
field 304, which can include a text message as selected by the service
provider. In the preferred embodiment where the invention provides stock
quote information, field 306 lists selected companies (both exchange
acronym and formal name), their stocks'present values, and the amount of
gain or loss since a previous information period.
The preferred e-mail message 300 may also include information field 308 for
providing customer portfolio balance information including total equity
value and total cash balance for a customer's portfolio. Finally, an
additional generic message field 310 may be included at the end of the
message. As discussed in more detail below, messages for this field 310
can come from several sources, including third parties.
In accordance with the present invention, information for the various
fields of 302-310 of the e-mail message 300 come from databases 200-208.
Before describing the system processing operations for generating an
e-mail message from the database information, the content of certain
databases used to generate the exemplary e-mail 300 will be described.
FIG. 4 shows the database information for the customer database 200, source
information database 202, and the name and symbol database 206.
Specifically, in this preferred embodiment, customer database 200, for
each customer subscribing to the service, includes a customer record 201
(FIG. 2), which lists thirty-seven fields relating to the service
processor, the customer, and service. Column 4 of the listings in FIG. 4
provides a brief description of each field; hence, these descriptions need
not be repeated here. With reference to fields 22-36, however, customer
database 200 preferably provides for a list of fifteen securities, each
field containing one security.
The names and symbols for the securities (see field 306 of FIG. 3) come
from the names and symbols database 206 which, as shown in FIG. 4,
includes the company's exchange symbol (field 1) and the formal name of
the company associated with the symbol (field 2).
Customer database information for a customer record 201 is generated each
time a new customer subscribes to an information service. The information
to complete the fields may be gathered by an operator, over a direct
connection 102 or, in response to a request from a potential customer,
service processing system 104 may send a customer field template to the
potential customer, who can complete certain field information and mail
the information in via conventional mail or e-mail.
Referring still to FIG. 4, source information database 202 includes fields
1-11. These fields are dynamically updated at a predetermined interval
(e.g. once per day) or in real-time by an information source 100. In the
preferred stock quote embodiment, the information source 100 provides
stock information at the close of a stock exchange business day. Column 4
of FIG. 4 provides a brief description of each field 1-11 in the source
information database 202; hence, these descriptions need not be repeated
here.
FIG. 5 discloses the processing flow of the service processing system 104
for creating and distributing information e-mail for the preferred stock
quote embodiment. The processing starts with the first customer record 201
in the customer database 200 (step 500). Initially, processor system 210
opens a temporary list or file (step 502). The temporary file will be
filled in by the processor system 210 with the information from the
various databases 200-208, depending on the service. For example, in the
preferred embodiment stock quote service, the processor system 210
provides the contents of fields 1-37 of the customer record from the
customer database 200 to the temporary file (step 504). Information from
some of those fields will be used to complete fields 302 and 304 of the
corresponding e-mail message 300 and to set up the information field 306
of the corresponding e-mail message 300.
Based on the company symbols in fields 22-36 of customer database 200,
process system 210 goes to the name and symbol database 206 and writes to
the temporary file the company name and symbol for the customer's selected
securities (step 506). This information provides the name and symbol
information for field 306 of the e-mail message 300. Process system 210
then writes the content of the source information database 202 to the
temporary file for each security listed in the temporary file (step 508).
This source information provides the stock values and changes as listed in
field 306 of the e-mail message 300.
Next, process system 210 goes to the portfolio value database and inspects
the portfolio value for a customer off a customer portfolio record 205.
Preferably, using the information stored in the customer's portfolio
record 205, the processor system 210 calculates new portfolio values based
on the source information and updates the customer portfolio record 205.
Alternatively, the customer portfolio records 205 can be updated by an
information source 100 or oth | | |