Method and system for transferring data between objects using registered data formats
AssigneeMicrosoft Corporation
InventorAntony S. Williams
Life of this patent
Estimating the term…
Abstract
A method and system for registering data formats for objects are provided. In a preferred embodiment, a server application registers in a registration database data formats for receiving and for sending data. To send data to the server application, a client application retrieves and selects from the registration database a data format that the server application supports for receiving data and sends data to the server application in the selected data format. To receive data from the server application, the client application retrieves and selects from the registration database a data format that the server application supports for sending data and requests the server application to send data in the selected data format.
Claims35
A method in a computer system of transferring data between a client and a server, the computer system having a persistent global registry for storing data format information, the method comprising the steps of:
- under control of the computer system,
- storing in the persistent global registry a plurality of data formats that the server supports;
- under exclusive control of the client and without arbitration from an external process,
- determining from the persistent global registry at least one stored data format that the server supports without accessing the server;
- and
- selecting a determined data format;
- under control of the client,
- sending a request to the server to supply data in the selected data format;
- under control of the server,
- receiving the request to supply data in the selected data format;
- and
- sending data in the selected data format to the client;
- and
- under control of the client,
- receiving the data sent by the server
- whereby the client can determine at least one data format that the server supports even though the server is not currently executing.
A method in a computer system of transferring data between a client and a server, the computer system having a persistent global registry for storing data format information, the method comprising the steps of:
- under control of the computer system,
- storing in the persistent global registry a plurality of data formats that the server supports;
- under exclusive control of the client and without arbitration from an external process,
- determining from the persistent global registry at least one stored data format that the server supports without accessing the server;
- and
- selecting a determined data format;
- under control of the client,
- sending data to the server in the selected data format;
- and
- under control of the server,
- receiving the data sent by the client
- whereby the client can determine a data format that the server supports without accessing the server.
A method in a computer system for a server to communicate to a client the data formats it supports, the computer system having a persistent global registry for storing data format information, the method comprising the steps of:
- under control of the computer system,
- storing in the persistent global registry a data format that the server supports for receiving data;
- and
- storing in the persistent global registry a data format that the server supports for sending data;
- and
- under exclusive control of the client and without arbitration from a process external to the client,
- determining from the persistent global registry without accessing the server the data formats supported by the server for receiving and sending data,
- wherein the server need not be currently executing when determining the formats;
- and
- selecting one of the data formats for use in transferring data.
A method in a computer system of transferring data between a first process and a second process, the computer system having a persistent global registry for storing data format information, the method comprising the steps of:
- under control of the computer system,
- storing in the persistent global registry an outgoing data format that the second process supports for receiving data from the first process;
- and
- storing in the persistent global registry an incoming data format that the second process supports for sending data to the first process;
- when data is to be transferred from the first process to the second process,
- under exclusive control of the first process and without arbitration by a third process,
- determining from the persistent global registry at least one stored outgoing data format that the second process supports for receiving data;
- and
- selecting a determined outgoing data format;
- under control of the first process, sending data to the second process in the selected outgoing data format;
- and
- under control of the second process, receiving the data sent by the first process;
- and
- when data is to be transferred from the second process to the first process,
- under exclusive control of the first process and without arbitration by a third process,
- determining from the persistent global registry at least one stored incoming data format that the second process supports for sending data;
- and
- selecting a determined incoming data format;
- under control of the first process, sending a request to the second process to supply data in the selected incoming data format;
- under control of the second process,
- receiving the request to supply data in the selected incoming data format;
- and
- sending data in the selected incoming data format;
- and
- under control of the first process, receiving the data sent by the second process.
A method in a computer system of transferring data between a client application and a server application, the computer system having a persistent global registry, the persistent global registry having a plurality of stored data formats that the server application supports and a stored location of an object handler for the server application, the object handler comprising code that is not executable as a stand-alone process, the client application executing as a client process and having an address space, the method comprising the steps of:
- under control of the client process,
- retrieving and selecting a stored data format and retrieving the location of the object handler from the persistent global registry without accessing the object handler;
- and
- invoking the object handler to supply data in the selected data format, the object handler being linked into the address space of the client process;
- under control of the object handler, supplying data in the selected data format to the client process;
- and
- under control of the client process, receiving the data supplied by the object handler
- whereby the client process can retrieve the stored data format before invoking the object handler.
A method in a computer system of transferring data between a client application and a server application, the computer system having a persistent global registry, the persistent global registry having a plurality of stored data formats that the server application supports and a stored location of an object handler for the server application, the object handler comprising code that is not executable as a stand-alone process, the client application executing as a client process and having an address space, the method comprising the steps of:
- under control of the client process,
- retrieving and selecting a stored data format and retrieving the location of the object handler from the persistent global registry without accessing the object handler;
- and
- sending data to the object handler in the selected data format, the object handler being linked into the address space of the client process;
- and
- under control of the object handler, receiving the data sent by the client process
- whereby the stored data format can be retrieved before invoking the object handler.
A method in a computer system of transferring data between a client task and a server task, each task being an entity schedulable for execution on the computer system such as a process or a thread or a similar entity, the computer system having a persistent global registry with data that is persistently stored when the computer system is powered down, the persistent global registry having a plurality of stored data formats that the server task supports, the method comprising the steps of:
- under exclusive control of the client task, selecting from the persistent global registry a stored data format that the server task supports, without a third task arbitrating the selection and without accessing the server task, wherein the stored data format can be selected without invoking services of the server task;
- under control of the client task, sending a request to the server task to supply data in the selected data format;
- under control of the server task,
- receiving the request to supply data in the selected data format;
- and
- sending data in the selected data format to the client task;
- and under control of the client task, receiving the data sent by the server task.
A method in a computer system of transferring data between a client task and a server task, each task being an entity schedulable for execution on the computer system, the computer system having a persistent global registry, the persistent global registry having a plurality of stored data formats that the server task supports, the method comprising the steps of:
- under exclusive control of the client task, selecting from the persistent global registry a stored data format that the server task supports, without a third task arbitrating the selection and without accessing the server task, wherein the stored data format can be selected without invoking services of the server task;
- under control of the client task, sending data to the server task in the selected data format;
- and
- under control of the server task, receiving the data sent by the client task.
A computer-readable medium containing instructions for causing a computer system to transfer data between a client and a server, the computer system having a persistent global registry for storing data format information, by:
- under control of the computer system, storing in the persistent global registry a plurality of data formats that the server supports;
- under exclusive control of the client and without arbitration from an external process,
- determining from the persistent global registry without accessing the server at least one stored data format that the server supports;
- and
- selecting a determined data format;
- under control of the client, sending data to the server in the selected data format;
- and under control of the server, receiving the data sent by the client.
Dependencies are inferred from the claim text.