US 7,603,426 B2
Flexible context management for enumeration sessions using context exchange
Alan S. Geller, Redmond, Wash. (US); Donald F. Box, Bellevue, Wash. (US); Luis Felipe Cabrera, Bellevue, Wash. (US); and Raymond W. McCollum, Monroe, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Jun. 18, 2004, as Appl. No. 10/872,119.
Prior Publication US 2006/0047757 A1, Mar. 02, 2006
Int. Cl. G06F 15/16 (2006.01); H04J 3/22 (2006.01)
U.S. Cl. 709—207  [370/471] 46 Claims
OG exemplary drawing
 
1. In an environment that includes a data provider computing system that is capable of being network connected to a data receiver computing system, a method for the data provider computing system to provide a plurality of requested data items in a plurality of separate electronic messages to the data receiver computing system while controlling how much inter-message state information is retained by the data provider computing system, the method comprising:
the data provider managing a plurality of data items to be provided to the data receiver, the data items to be provided one portion at a time, each portion being delivered in response to a specific request;
an act of accessing a request for data items to be provided to the data receiver computing system;
an act of identifying a first portion of the plurality of data items to be provided in a first network response to the data receiver computing system, the first portion being less than all of the plurality of data items;
an act of identifying a context, the context identifying the portion of the plurality of data items to be provided to the data receiver computing system by the first portion within the first network response;
an act of determining a portion of the context to be provided to the data receiver computing system within a response, the response including the first portion of the plurality of data items, the portion of the context to be included in a subsequent request from the data receiver to the data provider for a subsequent portion of the plurality of data items, the portion of the context to be read from the subsequent request by the data provider, the portion of the context to be used by the data provider to identify a next portion of the plurality of data items to be provided to the data receiver in response to the subsequent request;
an act of constructing the first network response, the first network response including both the first portion of plurality of data items and the portion of the context; and
an act of dispatching the first network response to the data receiver computing system
wherein the act of identifying a first portion of the plurality of data items to be provided in a first network response to the data receiver computing system comprises the following:
an act of reading from the request a maximum number of data items to be provided in the first network response; and
an act of determining that the first portion of the plurality of data items is equal to the maximum number of data items.