« PrécédentContinuer »
METHOD AND APPARATUS FOR
TRANSMITTING ELECTRONIC MAIL
ATTACHMENTS WITH ATTACHMENT
FIELD OF THE INVENTION
The present invention relates to the transmission of electronic mail over computer networks, and, in particular, to apparatuses and method for providing for electronic mail attachments by reference rather than by value.
DESCRIPTION OF THE RELATED ART
In computer network systems such as local-area networks ("LANs"), wide-area networks ("WANs"), and the Internet 15 and the world-wide web ("WWW") which operates thereon, electronic mail ("e-mail") systems are often utilized to facilitate communication between two users of the network. Each user has a unique network address which may be used for routing and identifying purposes in delivering an e-mail 20 message from one user (the "sender") to another user (the "recipient") on the network.
Often an e-mail message contains a relatively small amount of text or other forms of data. One or more additional files of data, called "attachments," are often attached 25 to the e-mail message. For example, a word processing file or graphic file that is incompatible with the display capabilities of the e-mail system or that is too large to be conveniently displayed by the e-mail application program may be transmitted from the sender to the recipient by 30 attaching it to an e-mail message. The e-mail message may introduce or explain the attachments attached thereto, for example. Thus, the recipient receives the e-mail message plus any attached data files, which may be opened, accessed, or utilized separately from the e-mail message itself. 35
Such attachments are typically transmitted via the transmission medium of the network "by value," which means that the actual data of a given attachment is transmitted along with the primary e-mail message (or an attachment may be transmitted independently, with no accompanying e-mail message). One problem with current methods of transmitting e-mail attachments is that, because of the potentially significant size of such attachments, a large amount of network communications bandwidth can be consumed in order to transmit such attachments. Costly network resources may also be required as such message and attachments traverse several nodes or elements of the network on the way from the sender to the recipient node. Additionally, the memory storage devices of local nodes of the network that often store such incoming e-mail messages and their associated attached files may be overloaded by many incoming e-mail messages.
Thus, prior art e-mail systems suffer from several disadvantages. There is, therefore, a need for methods and sys- 5J terns for providing for attachments for e-mail messages that more efficiently utilize processor and communications medium bandwidth and memory storage in a computer communications network.
There is provided herein a method, apparatus, and storage medium for transmitting e-mail attachments from a sender of a network to at least one recipient of the network. According to a preferred embodiment of the invention, an 65 attachment is stored in a storage device visible to the network and relatively local to the sender, the attachment
having a unique network address. An attachment reference is generated, comprising the network address of the attachment. The attachment reference is transmitted from the sender to the at least one recipient.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention will become more fully apparent from the following description, appended claims, and accompanying drawings in which:
FIG. 1 shows a networked computer system in accordance with a preferred embodiment of the present invention;
FIG. 2 depicts a second networked computer system in accordance with a preferred embodiment of the present invention;
FIG. 3 illustrates a third networked computer system in accordance with a preferred embodiment of the present invention;
FIG. 4 illustrates an e-mail message format in accordance with a preferred embodiment of the present invention;
FIG. 5 shows another computer network in accordance with a preferred embodiment of the present invention;
FIG. 6 shows an HTTP-only e-mail system in accordance with a preferred embodiment of the present invention; and
FIG. 7 is a flow chart illustrating the method of operation of the e-mail system of FIG. 6.
DESCRIPTION OF THE PREFERRED
Referring now to FIG. 1, there is shown networked computer system 100, in accordance with a preferred embodiment of the present invention. Networked computer system 100 comprises a plurality of nodes or personal computers ("PCs") 110, 120, 130. Personal computer or node 110 comprises a processor 116, memory 117, video camera 111, microphone 112, mouse 113, speakers 114, and monitor 115. Nodes 110, 120, 130 and other nodes of the network are interconnected via medium 101. Medium 101 may be, for example, a communication channel such as an Integrated Services Digital Network ("ISDN"). As will be understood, various nodes of a networked computer system may be connected through a variety of communication media, including local area networks ("LANs"), plain-old telephone lines ("POTS"), sometimes referred to as public switched telephone networks ("PSTN"), and the like. Various nodes of a network may also constitute computer system users interconnected via a network such as the Internet. As will be appreciated, each user of a network has a unique address or identification within the network. As used herein, "user" may be utilized interchangeably with a node of a network. Thus, each user or node has a particular network address within a given network that uniquely identifies the user or node. Those skilled in the art will understand, however, that this usage is to be distinguished from an actual human user who may also have a unique address, such as an e-mail address, that is not related to the network address of any particular node of the network, since human users can often access e-mail messages from arbitrary nodes within the network. However a human user at a given point in time while using a network uses a particular node having a unique network address as discussed above.
Often a multi-point data conferencing system may be supported by such a network, as well as the capability of transmitting e-mail messages from one user to another. A plurality of multipoint conferencing units ("MCUs") may
thus be utilized, as will be understood by those skilled in the art, to transmit data to and from various nodes or "endpoints" of the conferencing system. Nodes and/or MCUs may be interconnected via an ISDN link or through a local area network ("LAN"), in addition to various other commu- 5 nications media such as nodes connected through the internet. Those skilled in the art will appreciate that nodes of a conferencing system may, in general, be connected directly to the communications medium such as a LAN or through an MCU, and that a conferencing system may comprise other 10 nodes or elements such as routers, servers, and the like.
Processor 116 is preferably a general-purpose programmable processor, such as an Intel® PentiumTM processor. Those skilled in the art will also appreciate that processors of nodes of networked computer system 100 may also be a 15 special-purpose video processor such as the Intel® 82750PB. As will be appreciated, the various peripherals and components of a node such as those of node 110 may vary from those of other nodes. Thus, node 120 and node 130 may be configured identically to or differently than node 20 110, as will also be understood. It will further be understood that a node may be implemented on any suitable computer system in addition to personal computer systems.
Referring now to FIG. 2, there is shown a second networked computer system 200, in accordance with a pre- 25 ferred embodiment of the present invention. System 200 illustrates a network such as LAN 201, which may be used to interconnect a variety of users that may communicate with each other, for example with e-mail messages. Attached to LAN 201 are a plurality of users such as PCs 210, 211, 30 212. A user may also be connected to the LAN via a server or other means (not shown). As will be appreciated, system 200 comprises other types of nodes or elements, such as centralized post office server 220 and other routers, servers, and nodes. As will be appreciated, a post office server is a 35 special type of server typically having a directory of the users or a subset of users on the LAN of which the post office server is attached, and serves as a repository of incoming mail for its users. As will be understood by those skilled in the art, in prior art e-mail techniques, a sending user such as 40 PC 210 desiring to send and e-mail message with one or more attachments to a recipient such as PC 212 transmits the e-mail message plus attachment to LAN 220 for delivery to PC 212. The message and attachment are stored centrally at post office server 220, which then communicates to PC 212 45 through LAN 201 to inform the user of PC 201 that it has received e-mail. When the user of PC 212 selects an option running on a local version of an e-mail application program compatible with LAN 201, the e-mail message and any selected attachment are transmitted from centralized post 50 office server 220 to PC 212 across LAN 201.
As explained hereinabove, this can lead to bandwidth problems. For example, post office 220 may need to store a very large number of e-mail messages and attachments as various users of the network send e-mail messages to one 55 another. This can utilize substantial amounts of processing bandwidth of post office 220, and also requires communications bandwidth of LAN 201 to transmit such data to and from post office server 220. As will be appreciated, a plurality of LANs such as system 200, or other networks or 60 users, may be further interconnected via other network links such as WAN links. For instance, post office 220 may send and receive messages to and from its own users such as PCs 210, 211, 212 to other particular users interfaced to another post officer server of another LAN (not shown). Such a 65 linking of LANs through WAN or other links is illustrated in the exemplary system of FIG. 3.
Referring now to FIG. 3, there is illustrated a third networked computer system 300, in accordance with a preferred embodiment of the present invention. System 300 illustrates a WWW system having communications across a backbone communications network such as Internet 301, which may be used to interconnect a variety of users that may communicate with each other, for example with e-mail messages. As will be appreciated, the WWW is a set of protocols operating on top of the Internet, and allows a graphical interface system to operate thereon for accessing information through the Internet. Attached to Internet 301 in the WWW are a plurality of users such as PCs 317,318,327. Typically, a user is interfaced to other nodes of the WWW through a WWW hyper text transport protocol ("HTTP") server such as servers 310, 320. As will be understood, the WWW is a distributed type of application, characterized by the WWW HTTP, the WWW's protocol, which runs on top of the Internet's transmission control protocol/Internet protocol ("TCP/IP"). As will also be understood, the WWW may thus be characterized by a set of protocols (i.e., HTTP) running on the Internet as its "backbone." A web browser is an application of a user of a network that, in WWWcompatible type network systems, allows users to view such information and thus allows the user to search graphical and text-based files that are linked together using "hypertext" links that are embedded in documents or files available from servers on the network that understand HTTP. As will be understood, when a given "web page" is retrieved by a user from another source across the Internet, the document retrieved may have various hypertext links embedded therein and a local copy of the page is created local to the user. Thus, when a user clicks on a hypertext link, the locally-stored information related to the selected hypertext link is typically sufficient to allow the user's machine to open a connection across the Internet to the server indicated by the hypertext link.
As will further appreciated, more than one user may be coupled to each HTTP server, for example through a LAN such as LAN 315 as illustrated with respect to WWW HTTP server 310. As will further be appreciated, system 300 comprises other types of nodes or elements. As will be understood by those skilled in the art, in prior art e-mail techniques, a sending user of a network desiring to send an e-mail message with one or more attachments to a recipient on the network transmits the e-mail message plus attachment across the network (for example, a network such as Internet 301) through various links and nodes of the network until it reaches the recipient user.
As will be appreciated, a WWW HTTP server is an application running on a machine, such as a PC. Thus, each user may be considered to have a unique "server," as illustrated with respect to PC 327. Alternatively, a "server" may be considered to be a server such as WWW HTTP server 310 which provides access to the network for a LAN or plurality of nodes or plurality of LANs. E-Mail Attachments by Reference
One problem with automatically attaching attachments by value is that many attachments are never read, viewed, or otherwise utilized by the recipient of the e-mail. Thus, the storage, processing bandwidth, and communications bandwidth resources utilized to transmit the attachment to the recipient are often used inefficiently. In networks such as networked computer system 200, this can lead to inefficient use of the storage and processing bandwidth of any centralized post office and of the communications bandwidth of the network. In networks such as computer system 300, again the interconnection network 301 may be utilized ineffi