METHOD AND APPARATUS FOR ACCELERATING DATA THROUGH PRIVATE ENTERPRISE NETWORKS
Field of Invention
The present invention generally relates to a method and apparatus for improving data transfer rates, and more particularly to a method and apparatus for accelerating data through private enterprise networks.
Background of the Invention
The bandwidth problem is a lingering issue with many communication networks, particularly the Internet. No Internet surfer enjoys the long delays associated with viewing graphically intensive web sites. The use of the Internet continues to grow at an exponential rate. As the number of users has increased, so has the need for a solution to deliver data over the Internet quickly.
Most Internet users connect to the Internet by dialup modems running at 28.8 kilobits per second (kps) to 56.6 kps. Wireless mobile users have a bigger bandwidth problem. The best wireless connections are currently below 19.2 kps. Corporate landline users generally enjoy faster connections of 128kps or more. However, even at the higher connection speeds, users can find themselves waiting endlessly for a web site to download to their personal computer because of the size of data at the site.
The majority of web sites that tend to hold a user's interest use color- rich graphic files for appeal. These graphics can consume over 50% of the data volume found within the web site. Digital audio and video files similarly require millions of bytes per
second for transmission. The balance of the contents on a typical web page consists of text files, most of which are transmitted in raw uncompressed form.
Due to the rapid growth of Internet usage and the large size of most digital files on web pages, it has become apparent that a dire need exists for a seamless transport engine to move data quickly through the Internet. The ideal transport engine would allow the Internet user to control the rate at which information is received or sent.
It can be readily appreciated that the need often arises to transmit large amounts of data across a variety of communication networks (e.g., the Internet; the Plain Old Telephone System (POTS); Local Area Networks (LAN); Wide Area Networks (WAN); and Satellite Communications Systems). A major example is digital audio data. The volume of data required to encode raw audio data is large. Consider a stereo audio data sampled at 44100 samples per second and with a maximum of 16 bits used to encode each sample per channel. A one-hour recording of a raw digital music with that fidelity will occupy about 606 megabytes (MB) of storage space. To transmit such an audio file over 56 kilobits per second communications channel (e.g., the rate supported by most POTS through modems), will take over 24.6 hours.
One approach for dealing with the bandwidth limitation is to compress the data before transmission. For certain kinds of data (e.g., text, computer executable file, financial data) the compression/decompression process must reproduce a perfect reproduction of the transmitted data when decoded. Such a process is described as being "lossless." In some other cases, especially when the transmitted information is to be perceived and not to be read (e.g., pictures, audio, video data) the compression/decompression process need not result in a perfect reconstruction of the transmitted data. The process is described as being "lossy" when the reconstructed data is not a perfect copy of the original.
The present invention provides a method and apparatus for transmitting and receiving data at faster rates through private communication networks, such as an intranet. Moreover, the present invention selectively employs both "lossless" and "lossy" compression methods in order to compress the information being moved across a given network.
Summary of the Invention
According to the present invention there is provided a system for data transfer acceleration including: (1) an accelerator exchange client for compressing data being sent from an associated client for receipt by an exchange server, and decompressing data being sent from the exchange server for receipt by the associated client; and (2) an accelerator exchange server for decompressing data compressed by the accelerator exchange client, and forwarding decompressed data to the exchange server, and for compressing data sent from the exchange server for receipt by the associated client, and forwarding the compressed data to the accelerator exchange client.
According to another aspect of the present invention there is provided a method for data transfer acceleration comprising the steps of: compressing data being sent from a client for receipt by an exchange server; transmitting the compressed data via a first communications link to an accelerator exchange server; receiving the compressed data at an acceleration exchange server; and decompressing the compressed data and forwarding the decompressed data to the exchange server.
According to still another aspect of the present invention there is provided a method for data transfer acceleration comprising the steps of: compressing data being sent from an exchange server for receipt by a client; transmitting the compressed data via a first communications link to an accelerator exchange client; receiving the compressed data at an accelerator exchange client; and decompressing the compressed data and forwarding the decompressed data to the client.
According to yet another aspect of the present invention there is provided a method for data transfer acceleration comprising the steps of: compressing data being sent from an originating client for receipt by an exchange server; determining whether a recipient client has an associated accelerator exchange client; wherein if the recipient client has an associated accelerator exchange client: (a) transmitting the compressed data to the associated accelerator exchange client via the exchange server, and (b) decompressing the received compressed data and forwarding the decompressed data to the recipient client.
An advantage of the present invention is the provision of a method and apparatus for increasing a data transfer rate.
Another advantage of the present invention is the provision of a method and apparatus for accelerated data transfer that accelerates the sending and receiving of messages with attachments.
Still another advantage of the present invention is the provision of a method and apparatus for accelerated data transfer that does not require administration for Exchange Servers intended to be accelerated.
Still another advantage of the present invention is the provision of a method and apparatus for accelerated data transfer that does not require add-ons to existing Exchange Servers. Yet another advantage of the present invention is the provision of a method and apparatus for accelerated data transfer that allows various tasks to be performed simultaneously. Accordingly, this reduces "send" and "receive" tasks.
Yet another advantage of the present invention is the provision of a method and apparatus for accelerated data transfer wherein the Accelerator Exchange Client and Accelerator Exchange Server do not need to be updated when there is a new release or update of the associated messaging system. This is possible because a
preferred embodiment of the present invention utilizes real proxy/agent technology based on Distributed Component Object Model (DCOM).
Still other advantages of the invention will become apparent to those skilled in the art upon a reading and understanding of the following detailed description, accompanying drawings and appended claims.
Brief Description of the Drawings
The invention may take physical form in certain parts and arrangements of parts, a preferred embodiment and method of which will be described in detail in this specification and illustrated in the accompanying drawings which form a part hereof, and wherein:
Fig. 1 illustrates information flow to and from Clients within a conventional private communications network (e.g., a corporate Intranet) running a client/server messaging system, referred to herein as an "Exchange Server"; Fig. 2 illustrates information flow to and from Clients within a private communications network (e.g., a corporate Intranet) including an Accelerator Exchange Client (AEC) and Accelerator Exchange Server (AES), according to a preferred embodiment of the present invention;
Fig. 3 illustrates the transfer of a data document having non-media objects (e.g., text) and media objects (e.g., image data), in the private communications network shown in Fig. 2; and
Fig. 4 illustrates the overall architecture of a Client with an associated Accelerator Exchange Client.
Detailed Description of the Preferred Embodiment
The invention teaches a method and apparatus for sending and receiving data at high data transfer rates within private communication networks. While the present
invention will be described with reference to a private communications network based on a Microsoft Exchange Server implementation, the present invention is equally suitable for use in connection with private communications networks based on other client/server messaging systems, such as Lotus Notes and Novell Groupwise. Use of Microsoft Exchange for purposes of illustrating a preferred embodiment of the present invention is not intended in any way to limit the scope of the present invention.
Referring now to the drawings wherein the showings are for the purposes of illustrating a preferred embodiment of the invention only and not for purposes of limiting same, Fig. 1 illustrates the flow of information to and from Clients within a conventionally configured private communications network (e.g., a corporate Intranet) running a client/server messaging system, which will be referred herein as the "Exchange Server." In this regard, a plurality of Client computers 12, 14, and 16 respectively communicate with Exchange Servers 22, 24, and 26 via a communications link. Typically, this communications link will be a relatively low-speed medium (e.g., regular voice telephone line (POTS) or Cellular Wireless Network). The Exchange Servers 22, 24, and 26 communicate with each other via respective communication links to facilitate the transfer of data between the Clients 22, 24 and 26. The present invention improves the rate of data transfer between the Clients 12, 14, and 16 and the Exchange Servers 22, 24 and 26, by providing for the transmission of compressed data between an Accelerator Exchange Client and an Accelerator Exchange Server, as will be explained in detail below. Exchange Servers 22, 24 and 26 are applications that runs on a general-purpose server computer or on a special-purpose device or computer system.
Table I set forth below defines several terms commonly used in connection with communication networks.
TABLE I:
HTTP Hypertext Transfer Protocol: Used to download and upload content
from the Web
HTML Hypertext Markup Language: The set of "markup" symbols or codes inserted in a file intended for display on a World Wide Web browser. SMTP Simple Mail Transfer Protocol: Used to send mail messages in
Internet POP3 Post Office Protocol version 3: Used to retrieve messages from host mailboxes MIME Multi-Purpose Internet Mail Extensions: Used to exchange contents of different types other than text, which was the only content originally meant to transfer using SMTP and POP3. It allows the transferring attachment of multimedia and document content, as well as nested and forwarded attachments. It defines codes for each content type and encoding type like BASE64, QUOTED-PRLNTABLE, and the like.
BASE64 An encoding scheme, which encodes binary content, which can include non-printable and control into printable characters. It makes content longer, but BASE64 encoded content can travel through conventional SMTP and POP3 host, which cannot process binary content.
RPC Remote Procedure Call: Used to execute a function call at a remote computer, without knowledge of the underlying network. DCOM Distributed Component Object Model: A set of Microsoft concepts and program interfaces in which client program objects can request services from server program objects on other computers in a network.
The Component Object Model (COM) provides a set of interfaces allowing clients and servers to communicate within the same computer
(running a Windows 95 or NT system).
JPG, JPEG Joint Photographic Experts Group: A graphic image format, based on the Discrete Cosine Transform, created by choosing from a range of compression qualities.
GIF Graphics Interchange Format: One of the two most common file formats for graphic images on the World Wide Web
Referring now to Fig. 2 there is shown a preferred embodiment of the present invention. The present invention employs Accelerator Exchange Clients 30 and one or more Accelerator Exchange Servers 40 to improve the data transfer rate between Clients and Exchange Servers, as will be explained in detail below. The present
invention will be illustrated with reference to a system having a single Accelerator Exchange Server 40. However, it will be appreciated that the present invention may be implemented with a plurality of Accelerator Exchange Servers.
Accelerator Exchange Client is an application which runs on a Client computer (i.e., a user's computer) or a separate computer system . In a preferred embodiment it is an add-on for HTTP (Web), SMTP, POP3 (e-mail), and Messaging Application Program Interface (MAPI) (Exchange Server). Accelerator Exchange Server is an application which runs on the Exchange Server MAPI.
In a preferred embodiment, the Accelerator Exchange Client includes a Networks Accelerator Outlook Add-On that plugs into Messaging Application
Programming Interface (MAPI), which is used by an Outlook application. Outlook is an integrated messaging, calendaring, contact and task management application, available from Microsoft Corporation. It should be appreciated that Outlook is described herein merely to illustrate a preferred embodiment of the present invention, and that other integrated messaging, calendaring, contact and task management applications are also suitable for use in connection with the present invention.
With regard to Accelerator Exchange Client 30, the client component may take the form of Outlook 97/98/2000 Add-On component. It works in the MAPI level and performs: attachment compression when MAPI composes a message; decompression when MAPI receives a message, and also implements a special transport provider, which sends the attachments through the Accelerator Exchange Server. This intercepts RPC calls and decompresses attachments for sending, and compresses attachment at receiving. It should be appreciated that the present invention is suitable for use with a TCP/IP network connection where an Accelerator Exchange Server is available. For documents, such as Microsoft Office data documents, and other selected document types (e.g., Lotus 1-2-3), the compression algorithm first disassembles a data document to the component streams, e.g., non-media objects such as text and
formatting strings, and media objects, such as images, video and audio. The streams are compressed with the appropriate compression scheme at a selected quality Q (where Q = 100 is lossless), chosen by the user. Typically, non-media objects are compressed lossless, while media objects are compressed lossy. At decompression, the streams are decompressed using the appropriate decompression scheme and the data document is reconstructed in the original document format. The present invention achieves much higher compression rates than a simple lossless compression of an entire data document.
Referring now to Fig. 3, there is shown a data document comprised of a body text message and attachments which include media (picture and image) and non- media (text) objects. When attachments are added to a body text message, processing is handled by the Outlook Add-On component of the Accelerator Exchange Client. In this regard, the Accelerator Exchange Client compresses the components of the attachments at a selected quality Q, where Q = 100 is lossless. All embedded objects in the data document are compressed as well. In the embodiment illustrated in Fig. 3, where a data document is sent from a Client to an Exchange Server, the "body text" message is transferred directly to the destination Exchange Server with all information about the recipient and other data document information. This starts the transaction at the destination Exchange Server, so it is prepared to receive the attachments. It should be appreciated that in an alternative embodiment of the present invention, the "body text" message is subject to the same processing as the text objects of the attachments. In this regard, the "body text" message is compressed (lossless) by the Accelerator Exchange Client 30, and forwarded to the Accelerator Exchange Server 40 along with the attachments.
It should be understood that some "protocol data" associated with the data document is transmitted directly from the Client 12 to the destination Exchange Server. This protocol data is sent uncompressed, and provides information such as when to start/stop the communication transaction, etc.
The attachments, which were previously compressed by the Outlook Add- On of the Accelerator Exchange Client, travel through Accelerator Exchange Server 40, inside of RPC calls. Accelerator Exchange Server 40 intercepts these calls, decompressing the attachments, restoring their original form at quality Q, and forwarding the RPC call to the destination Exchange Server. Therefore, the destination Exchange Server receives the attachments uncompressed.
A similar operation is involved in receiving messages at a recipient Client. In this regard, Accelerator Exchange Server 40 will download the uncompressed data document from the destination Exchange Server, and compress the received data. The compressed data is the transmitted by the Accelerator Exchange Server 40 to an
Accelerator Exchange Client 30, associated with a recipient Client. The Accelerator Exchange Client 30 decompresses the received data, and forwards the uncompressed data to the Client, which may be subsequently displayed. If the recipient Client does not have an associated Accelerator Exchange Client 30, then the destination Exchange Server will transmit the uncompressed data directly to the Client, bypassing the Accelerator Exchange Server 40.
A preferred embodiment of the present invention does not require any administration changes of the existing network of Exchange Servers in a private communications network. Accelerator Exchange Server 40 acts merely on behalf of a Client. All information about which Exchange Server to contact, is sent in the communication between the Accelerator Client Server 30 and Accelerator Exchange Server 40. All other services provided by the Exchange Server (e.g., calendaring tasks) remain unaffected by the acceleration provided by Acceleration Exchange Client 30 and Acceleration Exchange Server 40. It should be appreciated that both Acceleration Exchange Client 30 and
Acceleration Exchange Server 40 use intelligent, content-based compression algorithms that can compress pictures and other media types with minimal perceptional quality loss
achieving much higher compression ratios than conventional lossless compression algorithms. Lossless compression is used for non-media objects, such as text, executables and unsupported media objects. Examples of compression algorithms include, but are not limited to cellular automata transforms (CAT), discrete cosine transform, wavelets, fractal image compression, Huffman coding, arithmetic coding and dictionary techniques (e.g., LZ77 and LZ78).
In the case of Exchange Messaging, the data transfer acceleration of the present invention is achieved in a way similar to the case of Internet e-mail (SMTP, POP3). The present invention minimizes the need for administration changes to an existing network of Exchange Servers in a private network. Accelerator Exchange Server acts merely as an agent executing transactions on behalf of the user on the user's Exchange Server. All information needed to communicate with the user's Exchange Server is sent in the communication between the Accelerator Exchange Client and Accelerator Exchange Server. It should be appreciated that typical set up of the
Accelerator Exchange Client basically includes only adding the information about the location of the Accelerator Exchange Server to the user's existing profile. All other settings remain unchanged. All other Exchange Services remain unaffected by the acceleration. It should be understood that in the embodiment illustrated herein, installation of the Accelerator Exchange Client on a Client is a fairly quick and simple process. In this regard, once the Accelerator Exchange Client is installed, the client profile is modified by adding a new transport provider named "Accelerator Transport," and the network address of the Accelerator Exchange Server is set. An overview of the Client with an associated Accelerator Exchange Client is shown in Fig. 4. Components 100 of Fig. 4 are added to an existing Client to provide the functions of the Accelerator Exchange Client.
It should be understood that one significant advantage of the present invention is that all Clients do not need to have an Accelerator Exchange Client in order for the private enterprise network to provide accelerated data transfer rates. In this regard, compression will be utilized along at least a portion of the data communication path.
In accordance with an alternative embodiment of the present invention, where the destination Client has an Accelerator Exchange Client, data is forwarded to the destination Accelerator Exchange Client via the respective Exchange Server in compressed form (i.e., as compressed by the Accelerator Exchange Server). Accordingly, the Accelerator Exchange Server does not perform decompression of compressed data. Instead, decompression of the data is performed by the Accelerator Exchange Client of the recipient Client. Further with respect to the alternative embodiment, in the case where the destination Client has no Accelerator Exchange Client, the Accelerator Exchange Server will decompress the compressed data received from the originating Accelerator Exchange Client, and forwards the decompressed data to the destination Client via the respective Exchange Server. It should be understood that the Accelerator Exchange Server determines the identity of the recipient Client in order to determine whether there is an associated Accelerator Client Server available for performing decompression. The invention has been described with reference to a preferred embodiment. Obviously, modifications and alterations will occur to others upon a reading and understanding of this specification. It is intended that all such modifications and alterations be included insofar as they come within the scope of the appended claims or the equivalents thereof.