Method for streaming data between a server and a client
First Claim
1. A data packet embodied on a computer readable medium comprising:
- a first data field identifying an email client component;
a second data field including a request for a plurality of email data objects; and
a third data field including an indication that the email client component is capable of handling an email data object having an error.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for improved client and server communications, more particularly, an improved protocol that may be used for communication between a client and a server, such as in an email environment. Many features are provided for improved communications. An email server may provide the best message body available for an email message, may transfer an entire data object if requested property or properties are not well defined within the data object, may provide progress data for use in tracking download progress, and may send error information for a data object having an error. Email changes may be optimized at an email server component, even if the email changes occurred at another email server component. An email server may maintain a table of changes that occur to folders at an associated data store, and may notify a subscribed email client component of changes that occur in the table.
45 Citations
72 Claims
-
1. A data packet embodied on a computer readable medium comprising:
-
a first data field identifying an email client component;
a second data field including a request for a plurality of email data objects; and
a third data field including an indication that the email client component is capable of handling an email data object having an error. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable medium having computer-executable instructions, the instructions comprising:
-
receiving, from an email client component, a request for a plurality of email data objects and an indication that the email client component is capable of handling an email data object having an error; and
in response to the request and the indication, retrieving the plurality of email data objects; and
for each of the email data objects;
if no error occurs in opening the email data object, transmitting the email data object to the email client component, and if an error occurs in opening the email data object, transmitting an error message to the email client component. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having computer-executable instructions, the instructions comprising:
-
sending, from an email client component, a request for a plurality of email data objects and an indication that the email client component is capable of handling an email data object having an error; and
for each of the email data objects;
if the email data object does not contain an error, receiving the email data object and copying the email data object at the email client component, and if the email data object does contain an error, receiving an error message. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A data packet embodied on a computer readable medium comprising:
-
a first data field identifying identification information regarding an email data object; and
a second data field including an error code for the email data object. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. A data packet embodied on a computer readable medium comprising:
-
a first data field identifying an email client component a second data field including a request for a plurality of email data objects; and
a third data field including an indication that the email client component is capable of handling progress mode data. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer-readable medium having computer-executable instructions, the instructions comprising:
-
receiving, from an email client component, a request for a plurality of email data objects and an indication that the email client component is capable of handling progress mode data;
in response to the request and the indication, retrieving the plurality of email data objects; and
providing progress mode data to the email client component along with the plurality of data objects, the progress mode data comprising a size of each of the email data objects. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A computer-readable medium having computer-executable instructions, the instructions comprising:
-
receiving, from an email client component, a request for a plurality of email data objects and an indication that the email client component is capable of handling progress mode data;
in response to the request and the indication, retrieving the plurality of email data objects; and
providing progress mode data to the email client component along with the plurality of data objects, the progress mode data comprising a size of the plurality of the email data objects. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A computer-implemented method, comprising:
-
sending, from an email client component, a request for a plurality of email data objects and an indication that the email client component is capable of handling progress mode data;
at an email server component, in response to the request and the indication, retrieving the plurality of email data objects and progress mode data for the plurality of email data objects; and
at the email client component, receiving the progress mode data and utilizing the progress mode data to monitor transmission progress of the plurality of data objects to the email client component. - View Dependent Claims (62, 63, 64, 65, 66, 67, 68)
-
-
69. A computer-readable medium having computer-executable instructions, the instructions comprising:
-
receiving, from an email client component, a plurality of subrequests within a request, each of the subrequests requesting an operation at an email server component and including size information; and
in response to each subrequest;
if the size information includes a size limit inside a range expected by the email server component, then limiting a response to the size limit; and
if the size information includes a size limit outside a range expected by the email server component, then looking for a new size limit in the size information. - View Dependent Claims (70)
-
-
71. A computer-implemented method, comprising:
-
at an email client component;
creating a plurality of subrequests within a request, each of the subrequests requesting an operation at an email server component and including size information; and
sending the request to an email server component;
at an email server component;
receiving the request; and
in response to each subrequest;
if the size information includes a size limit inside a range expected by the email server component, then limiting a response to the size limit, and if the size information includes a size limit outside a range expected by the email server component, then looking for a new size limit in the size information. - View Dependent Claims (72)
-
Specification