Asynchronous binding of named objects
AssigneeMicrosoft Corporation
InventorsSrinivasa R. Koppolu, Johann Posch, Victor Stone, Antony S. Williams
Life of this patent
Estimating the term…
Abstract
An object-oriented framework unifies retrieval and browsing of data locally and from remote computer networks. The framework includes a class of monikers that operate on behalf of a client program to asynchronously bind or retrieve data referenced by a name without blocking execution of the client. This allows the client to provide responsive user interaction including when remotely retrieving data.
Claims69
An object-oriented framework for providing asynchronous retrieval of data from a storage site for a client, wherein the client comprises plural instructions for executing, the object-oriented framework comprising:
- a naming object having a reference to the data;
- and
- a binding function callable from the client to initiate asynchronous retrieval of the data from the storage site, the client continuing instruction execution independently of the retrieval of the data from the storage site.
A method of retrieving data in a computer system, comprising:
- providing an interface of a naming object having a reference designating stored data to a client application, wherein the client application comprises plural instructions for executing, the interface exposing a binding function of the naming object operative to perform a binding operation on the stored data;
- and
- on a call from the client application to the binding function, initiating binding the stored data as a background process while returning execution to the client application, the client application continuing instruction execution independently of the binding operation on the stored data.
A method of creating a moniker object to retrieve data referenced by a name, the name having a prefix portion indicative of a transport protocol followed by a colon character, the method comprising:
- registering a program identifier indicative of the transport protocol in association with a class identifier in a registry database, the class identifier being associated with a server application which supports a class of transport protocol object, objects of said class being operative to communicate using the transport protocol to retrieve named data and having a name parsing function operative to create monikers from names using the transport protocol;
- parsing the prefix portion up to the colon character from the name;
- searching the program identifiers in the registry for a match to the prefix portion;
- on matching the prefix portion to the program identifier indicative indicative of the transport protocol, instantiating a transport protocol object of said class and calling the name parsing function on the name so as to create the moniker object.
A storage medium having instructions therein for causing a computer to perform a data retrieval method comprising the steps of:
- creating a bind context object for storing information relating to a binding operation;
- registering a call back interface supported by a client application with the bind context object, wherein the call back interface exposes functions supported by the client application callable from the naming object to initiate communication with the client application, and wherein the client application comprises plural instructions for executing;
- creating a moniker object containing a name that references stored data and having a bind function;
- initiating a binding operation in the bind function which executes asynchronously of the client application, the client application continuing instruction execution independently of the binding operation;
- and
- providing notifications to the client application relating to the binding operation's status with the call back interface.
In a computer system having at least one computer, a moniker object comprising:
- a name element for storing a name that identifies data stored in the computer system;
- an interface structure through which a client invokes method elements of the moniker object via synchronous calls that suspend instruction execution of the client pending return from the synchronous calls;
- and
- a bind method element invoked by the client through such a synchronous call using the interface structure, the invoked bind method element operating to commence a retrieval operation to retrieve the data identified by the name and to return from said synchronous call during the retrieval operation, the return from said synchronous call permitting continued instruction execution of the client independent of the retrieval operation, whereby the continued instruction execution of the client occurs asynchronously of the retrieval operation.
An object-oriented framework for providing asynchronous retrieval of data from a storage site for a client application program, wherein the client application program includes plural instructions for executing, and wherein the client application program further includes a name that references a named item, the object-oriented framework comprising:
- association data defining an association of the name to the named item;
- a system object that exposes a programming interface to the client application program, wherein the programming interface includes a retrieval function, wherein the client application program initiates asynchronous retrieval of data for the named item through the retrieval function, and wherein the client application program continues instruction execution independently of the asynchronous retrieval of data.
An object-oriented framework for providing asynchronous retrieval of data from a storage site for client application program, wherein the client application program includes plural instructions for executing, and wherein the client application program furthr includes a name that references a named item, the object-oriented framework comprising:
- association data defining an association of the name to the named item, wherein the name further indicates a transport protocol for retrieving data for the named item;
- a retrieval object that implements the transport protocol indicated by the name, wherein the retrieval object handles asynchronous retrieval of data for the named item at the transport protocol level, and wherein the client application program continues instruction execution independently of the asynchronous retrieval of data.
A method of communicating between a client application program and a system object to asynchronously retrieve data stored in a computer system, the method comprising:
- initiating by client application program an asynchronous retrieval operation of stored data for a named item, wherein the asynchronous data retrieval operation executes as a background process, and wherein the client application program continues execution independently of the asynchronous retrieval operation;
- and
- providing a control interface to the client application program, wherein the control interface includes functions for the client application program to call to control the asynchronous retrieval operation.
A method of communicating between a client application program and a system object to asynchronously retrieve data stored in a computer system, wherein the client application program includes a client object, the method comprising:
- initiating by a client application program an asynchronous retrieval operation of stored data for a named item, wherein the a synchronous data retrieval operation executes as a background process, and wherein the client application program continues execution independently of the asynchronous retrieval operation;
- and
- providing a callback interface to the system object, wherein the callback interface includes functions for the system object to call to notify the client object of events concerning the asynchronous retrieval operation.
An object-oriented framework for providing asynchronous retrieval of data for a named item for a client application program, wherein the client application program includes plural instructions for executing, and wherein the client application program further includes a name that references the named item, the object-oriented framework comprising:
- a name parsing interface accessible to the client application program and operating to parse a name passed from the client application program in a request issued by the client application program to the interface, the name parsing interface identifying the type of the name and providing a name-type specific object to the client application program;
- and
- the name-type specific system object exposing a programming interface to the client application program wherein the programming interface includes a retrieval function, wherein the client application program initiates asynchronous retrieval of data for the named item through the retrieval function, and wherein the client application program continues instruction execution independently of the asynchronous retrieval of data.
An object-oriented framework for providing asynchronous data retrieval for a named item for a client application program, wherein the client application program includes plural instructions for executing, and wherein the client application program further includes a name that references the named item, the object-oriented framework comprising:
- a service object that instantiates one or more system objects, wherein the service object is callable from a client applicatino program;
- and
- a system object that exposes a programming interface to the client application program, wherein the service object instantiates the system object, wherein the programming interface includes a retrieval function, wherein the client application program initiates asynchronous retrieval of data for the named item through the retrieval function, and wherein the client application program continues instruction execution indenpendently of the asynchronous retrieval of data.
A method for encapsulating asynchronously retrieved data within an object for a client application program, wherein the client application program includes plural instructions for executing, the method comprising:
- de-referencing a data type to an object type;
- instantiating an object of the object type;
- asynchronously retrieving the data, wherein the client application program continues instruction execution independently of the asynchronous retrieval of the data;
- and
- encapsulating the asynchronously retrieved data within the instantiated object.
Dependencies are inferred from the claim text.