Claims
- 1. A method for compressing an email message communicated from a server to a client, the method comprising:
providing a compression module disposed between the server and the client for compressing at least a portion of the email message; classifying a connection between the server and the client to determine whether the connection corresponds to an email service; breaking the connection between the server and the client to form a first connection between the client and the compression module and a second connection between the compression module and the server in response to a determination that the connection corresponds to the email service; receiving the email message from the server; causing the compression module to compress at least a portion of the email message received from the server; and transmitting the compressed email message to the client.
- 2. The method of claim 1, wherein the step of classifying comprises comparing a destination port field of packets associated with the connection with a predetermined set of destination port numbers.
- 3. The method of claim 1, wherein the step of classifying comprises classifying packets associated with the connection in accordance with a set of classification rules.
- 4. The method of claim 3, wherein the set of classification rules comprise one or more masks applied to a packet header of the packets.
- 5. The method of claim 1, wherein the step of breaking comprises:
terminating the connection with the client at the compression module to form the first connection; and opening a separate connection between the compression module and the server to form the second connection.
- 6. The method of claim 1, wherein the step of breaking comprises redirecting packets communicated between the client and the server to the compression module by replacing a destination address and a destination port field of the packets with a destination address and destination port associated with the compression module.
- 7. The method of claim 1, further comprising forwarding protocol specific messages between the first connection and the second connection in an uncompressed format.
- 8. The method of claim 7, further comprising monitoring the protocol specific messages to detect initiation of an email transaction.
- 9. The method of claim 8, further comprising buffering email message data in response to detection of the email transaction.
- 10. The method of claim 1, further comprising generating outgoing packets communicated from the compression module using a source address and a source port associated with the end-to-end connection between the client and the server.
- 11. The method of claim 1, wherein the step of causing the compression module to compress comprises compressing the portion of the email message using a compression type natively supported by an operating system of the client.
- 12. The method of claim 1, wherein the step of causing the compression module to compress comprises compressing the portion of the email message using a compression type compatible with a decompression module incorporated in an operating system of the client in a default configuration.
- 13. The method of claim 12, wherein the decompression module is used by the operating system of the client to decompress operating system files during installation.
- 14. The method of claim 1, wherein the step of causing the compression module to compress comprises compressing the portion of the email message in a Cabinet format.
- 15. The method of claim 1, wherein the step of causing the compression module to compress comprises changing a file extension of at least a part of the compressed email message to “.cab”.
- 16. The method of claim 1, wherein the email message includes one or more encapsulated parts, and wherein the step of causing the compression module to compress comprises the steps of:
extracting each of the one or more encapsulated parts; compressing each of the encapsulated parts individually; attaching message headers to each compressed part corresponding to the compressed data; and reassembling each compressed part in a same order as the uncompressed email message.
- 17. The method of claim 1, wherein the step of causing the compression module to compress comprises compressing the portion of the email message in accordance with a type of content associated with the email message.
- 18. The method of claim 17, further comprising storing an association between the type of content and a compression type in a file.
- 19. A method for performing service-based compression of an email message within a communications network, the communications network including a client having an operating system with a decompressor, the method comprising:
intercepting packets communicated between a client and a server, the packets containing data associated with an email session; monitoring a state of the email session between the client and the server; identifying transmission of the email message; compressing at least a portion of the email message using a compression type compatible with the decompressor included in the operating system of the client; and transmitting the compressed email message to the client.
- 20. The method of claim 19, further comprising determining whether a destination port field of the packets matches a predetermined set of destination port numbers.
- 21. The method of claim 19, further comprising determining whether the packets match one or more classification rules.
- 22. The method of claim 21, wherein the set of classification rules comprise one or more masks applied to a packet header of the packets.
- 23. The method of claim 19, further comprising the step of breaking the connection between the server and the client to form a first connection between the client and a compression module and a second connection between the compression module and the server in response to a determination that the connection corresponds to the email session.
- 24. The method of claim 23, wherein the step of breaking comprises:
terminating the connection with the client at the compression module to form the first connection; and opening a separate connection between the compression module and the server to form the second connection.
- 25. The method of claim 23, wherein the step of breaking comprises redirecting the packets communicated between the client and the server to the compression module.
- 26. The method of claim 19, further comprising forwarding protocol specific messages associated with the email session between the first connection and the second connection.
- 27. The method of claim 19, further comprising generating outgoing packets having a source address and a source port associated with the end-to-end connection between the client and the server.
- 28. The method of claim 19, wherein the decompressor is natively supported by an operating system of the client in a default configuration.
- 29. The method of claim 19, wherein the compression type comprises a Cabinet format.
- 30. The method of claim 19, wherein the step of compressing comprises changing a file extension of at least a part of the compressed email message to “.cab”.
- 31. The method of claim 19, wherein the email message includes one or more encapsulated parts, and wherein the step of compressing comprises the steps of:
extracting each of the one or more encapsulated parts; compressing each of the encapsulated parts individually; attaching message headers to each compressed part corresponding to the compressed data; and reassembling each compressed part in a same order as the uncompressed email message.
- 32. The method of claim 1, wherein the step of compressing comprises compressing the email message in accordance with a type of data associated with the email message.
- 33. A method for compressing an email message, the method comprising:
providing a socket compression module; providing a second compression module for compressing portions of the email message; receiving packets corresponding to the email message; determining whether a destination device supports decompression compatible with the socket compression module; compressing the email message using socket compression, if the destination device supports decompression compatible with the socket compression module; otherwise, compressing the email message using the second compression module.
- 34. The method of claim 33, wherein the step of determining comprises comparing a network address associated with the destination device to a predetermined network address.
- 35. The method of claim 33, wherein the step of determining comprises classifying the packets in accordance with a set of classification rules to determine whether a network address associated with the destination device matches a predetermined set of network addresses.
- 36. The method of claim 33, wherein the step of compressing the email message using the second compression module comprises the steps of:
buffering the email message until the entire email message is received; removing protocol specific data from the email message to form a protocol independent message; compressing the protocol independent message to form a compressed message; and adding new protocol specific data for the compressed message.
- 37. The method of claim 33, wherein the step of compressing the email message using the second compression module comprises compressing the email message using a compression type natively supported by an operating system of the destination device.
- 38. The method of claim 33, wherein the step of compressing the email message using the second compression module comprises compressing the email message in a Cabinet format.
- 39. A method for compressing an original email message having at least one encapsulated part to form a corresponding compressed email message, the method comprising:
extracting at least one encapsulated part from the original email message; compressing the at least one encapsulated part; generating a new message header for the compressed part; and assembling each compressed part in an order corresponding to the order of the original email message.
- 40. The method of claim 39, wherein the step of extracting compresses removing protocol specific data from each encapsulated part.
- 41. The method of claim 39, further comprising decoding each encapsulated part before each encapsulated part is compressed.
- 42. The method of claim 39, further comprising encoding each compressed part before performing the step of assembling.
- 43. The method of claim 39, wherein the step of compressing comprises the steps of:
determining a type of data associated with each encapsulated part; selecting from one of a plurality of compression types based on the type of data associated with each encapsulated part; and compressing each encapsulated party in accordance with the selected compression type.
- 44. The method of claim 43, further comprising storing an association between each of the plurality of compression types and the type of data in a configuration file.
- 45. The method of claim 44, wherein the step of selecting comprises determining the association between each of the plurality of compression types and the type of data.
- 46. The method of claim 39, wherein the step of compressing comprises changing a file extension associated with the compressed encapsulated part.
- 47. The method of claim 39, wherein the step of compressing comprises compressing the email message using a compression type natively supported by an operating system of a destination device.
- 48. The method of claim 39, wherein the step of compressing comprises compressing the email message using a compression type compatible with a decompression module incorporated in an operating system of a destination device in a default configuration.
- 49. A system for compressing an email message communicated from a server to a client, the system comprising:
a processor; and a memory unit, operably coupled to the processor, for storing data an instructions which when executed by the processor cause the processor to operate so as to:
classify a connection between the server and the client to determine whether the connection corresponds to an email service; break the connection between the server and the client to form a first connection between the client and a compression module and a second connection between the compression module and the server in response to a determination that the connection corresponds to the email service; compress at least a portion of the email message received from the server; and transmit the compressed email message to the client.
- 50. A system for performing service-based compression of an email message within a communications network, the system comprising:
a processor; and a memory unit, operably coupled to the processor, for storing data an instructions which when executed by the processor cause the processor to operate so as to:
intercept packets communicated between a client and a server, the packets containing data associated with an email session; monitor a state of the email session between the client and the server; identify transmission of the email message; compress at least a portion of the email message using a compression type compatible with the decompressor included in the operating system of the client; and transmit the compressed email message to the client.
- 51. A system for compressing an email message, the system comprising:
a processor; and a memory unit, operably coupled to the processor, for storing data an instructions which when executed by the processor cause the processor to operate so as to:
receive packets corresponding to an email message; determine whether a destination device supports socket decompression; compress the email message using socket compression, if the device supports socket decompression; otherwise, compress the email message using a second mode of compression.
- 52. A system for compressing an original email message having one or more encapsulated parts, the system comprising:
a processor; and a memory unit, operably coupled to the processor, for storing data an instructions which when executed by the processor cause the processor to operate so as to:
extract at least one encapsulated part from the original email message; compress the at least one encapsulated part; generate a new message header for the compressed part; and assemble each compressed part in an order corresponding to the order of the original email message.
REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority from U.S. provisional application No. 60/309,218 filed Jul. 31, 2001. U.S. provisional application No. 60/309,218 is hereby incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60309218 |
Jul 2001 |
US |