Internet browsing using cache-based compaction
First Claim
1. A process for retrieving an electronic mail message from an electronic mail server by a client having a client cache, the process comprising the steps of:
- selecting one or more objects in said client cache having similarities with respect to said electronic mail message;
transmitting a request from the client to the server identifying said electronic mail message and the one or more selected similar objects in said client cache;
receiving an encoded object in the client together with identifiers identifying one or more of the one or more selected similar objects; and
decoding in the client the encoded object into the requested message by using the one or more identified similar objects.
5 Assignments
0 Petitions
Accused Products
Abstract
The amount of information associated with an electronic mail message that must be transmitted from an electronic mail server to a client electronic mail application at a user'"'"'s computer or workstation is reduced using a cache-based compaction technique. This technique enable a requested electronic mail message to be encoded in the server using information relating to similar objects that were previously transferred by the server to the client and that remain available to the server. Differential encoding is performed in the server such that the server transmits to the client information indicative of the differences between the requested object and the reference (similar) objects available in the server cache. A corresponding decoding operation is performed in the client, using the encoded version and reference objects available in the client cache. A similar technique is employed for encoding electronic mail messages in the client that are to be transmitted to the server.
211 Citations
30 Claims
-
1. A process for retrieving an electronic mail message from an electronic mail server by a client having a client cache, the process comprising the steps of:
-
selecting one or more objects in said client cache having similarities with respect to said electronic mail message;
transmitting a request from the client to the server identifying said electronic mail message and the one or more selected similar objects in said client cache;
receiving an encoded object in the client together with identifiers identifying one or more of the one or more selected similar objects; and
decoding in the client the encoded object into the requested message by using the one or more identified similar objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
receiving the transmitted request in the server identifying said electronic mail message and the one or more selected similar objects in said client cache;
obtaining said electronic mail message in the server;
forming an encoded version of said electronic mail message in the server using one or more encoding objects substantially identical to ones of the one or more selected similar objects in said client cache; and
transmitting the encoded version to the client together with the identities of the encoding objects.
-
-
3. The process of claim 1, wherein object similarity is determined as a function of edit distance between a selected object and said electronic mail message, edit distance being defined as the fewest number of character operations required to transform the object into said electronic mail message.
-
4. The process of claim 3, wherein the character operations are selected from the set consisting of copy, replace, delete and insert operations.
-
5. The process of claim 3, wherein edit distance is determined with reference to a predetermined component of the selected object and the electronic mail message.
-
6. The process of claim 5, wherein the predetermined component is selected from the set consisting of message sender, message subject and message date.
-
7. The process of claim 6, wherein objects are selected from the set consisting of header objects and text body objects.
-
8. The process of claim 7, wherein objects are incrementally selected from said client cache, each incrementally selected object having an edit distance value least among edit distance values for each unselected object in said client cache.
-
9. The process of claim 8, wherein header objects are selected by determining the least edit distance value with respect to the message sender component.
-
10. The process of claim 9, wherein when each of a first plurality of header objects has the least edit distance value with respect to the message sender component, determining least edit distance for each of the first plurality of header objects with respect the message subject component.
-
11. The process of claim 10, wherein when each of a second plurality of header objects has the least edit distance value with respect to the message subject component, determining least edit distance for each of the second plurality of header objects with respect the message date component.
-
12. The process of claim 8, wherein text body objects are selected by determining the least edit distance value with respect to the message subject component.
-
13. The process of claim 12, wherein when each of a first plurality of text body objects has the least edit distance value with respect to the message subject component, determining least edit distance for each of the first plurality of text body objects with respect the message sender component.
-
14. The process of claim 13, wherein when each of a second plurality of text body objects has the least edit distance value with respect to the message sender component, determining least edit distance for each of the second plurality of text body objects with respect the message date component.
-
15. The process of claim 1, wherein the one or more selected similar objects in said client cache are locked until completion of the decoding step.
-
16. The process of claim 2, wherein the forming step includes differential encoding and the decoding step includes differential decoding.
-
17. The process of claim 8, wherein objects are incrementally selected so long as the sum of character string lengths for each of the incrementally selected objects does not exceed a predetermined threshold.
-
18. The process of claim 17, wherein the predetermined threshold is equivalent to approximately 64 kilobytes of binary character representations.
-
19. The process of claim 17, wherein the predetermined threshold is equivalent to the sum of the character string lengths for each of the objects in the client cache.
-
20. A process for transferring an electronic mail message from a client having a client cache to an electronic mail server, the process comprising the steps of:
-
selecting one or more objects in said client cache that are similar to said electronic mail message;
forming an encoded version of said electronic mail message in the client using ones of the one or more selected similar objects; and
transmitting the encoded version to the server together with information identifying the one or more encoding objects. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
transmitting after the selecting step the identities of the one or more selected similar objects to the server; and
receiving prior to the forming step a message from the server identifying one or more decoding objects, the decoding objects being substantially identical to ones of the one or more selected similar objects;
so that the encoded version of said electronic mail message portion in the client may be formed using ones of the one or more selected similar objects that correspond to the identified decoding objects.
-
-
23. The process of claim 20, wherein object similarity is determined as a function of edit distance between a selected object and electronic mail message, edit distance being defined as the fewest number of character operations required to transform the object into said electronic mail message.
-
24. The process of claim 23, wherein the character operations are selected from the set consisting of copy, replace, delete and insert operations.
-
25. The process of claim 23, wherein the object components are selected from the set consisting of message sender, message subject and message date.
-
26. The process of claim 23, wherein objects are selected from the set consisting of header objects and text body objects.
-
27. The process of claim 23, wherein objects are incrementally selected from said client cache, each incrementally selected object having an edit distance value least among edit distance values for unselected objects in said client cache.
-
28. A process for transferring an electronic mail message in a client/server mail application, wherein one of the client and server is the message sender and the other is the message recipient, the process comprising the steps of:
-
forming an encoded version of the electronic mail message by the message sender using one or more encoding objects, each one of said one or more encoding objects being selected from a sender cache and sharing similarities with the electronic mail message; and
transmitting the encoded version and the identities of the one or more selected similar objects to the message recipient. - View Dependent Claims (29, 30)
-
Specification