Accessing and manipulating data in a data flow graph
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-007/00
G06F-017/30
출원번호
UP-0348388
(2006-02-06)
등록번호
US-7761586
(2010-08-09)
발명자
/ 주소
Olenick, Brad M.
Szyperski, Clemens A.
Hunt, David George
Hughes, Gregory Lawrence
Manis, William A.
Zmrhal, Terry
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Workman Nydegger
인용정보
피인용 횟수 :
6인용 특허 :
10
초록▼
The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be
The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data flow graph. The locations can be referenced by clients to access transformed outputs. Clients can register dependencies on data at various locations and can request evaluation of the data in response to data changes at a corresponding data store. Clients can also request data changes be propagated back through the data flow graph to one or more data stores and implemented at the one or more data stores.
대표청구항▼
What is claimed is: 1. A method of using a computer architecture to transform data which is provided in different formats from different providers so that data provided in response to a request from a client computer system connected to a network is provided in an updated and compatible format for
What is claimed is: 1. A method of using a computer architecture to transform data which is provided in different formats from different providers so that data provided in response to a request from a client computer system connected to a network is provided in an updated and compatible format for operation by the client computer system, wherein the computer architecture comprises first and second data stores for storing data having different formats that are otherwise not compatible, data connector modules for receiving data from each data store and for preparing the received data for input with a connected data format to a transform module, a transform module that transforms the input data into a different data type and/or different data format for compatible operation by the client computer system, and a metadata tree which provides a path for accessing storage locations which correspond to data as output by each data connector module and each transform module, and wherein the method is comprised of: an act of inputting into a first data connector module a first data set from a first data store, the first data set being in a first data format; an act of inputting into a second data connecter module a second data set from a second data store, the second data set being in a different data format that is otherwise incompatible for operation at the client computer system with the first data set; an act of outputting the first data set from the first data connector module with a connected data format that is adapted for inputting the first data set into a first transform module; an act of storing the first data set with a specified connected data format at a location in said metadata tree to permit access and retrieval of the first data set with its specified connected data format after the first data set is output from the first data connector module but before the first data set is input into the first transform module; an act of outputting the second data set from the second data connector module with a specified connected data format that is adapted for inputting the second data set into a second transform module; an act of storing the second data set with a specified connected data format at a location in said metadata tree to permit access and retrieval of the second data set with its specified connected data format after the second data set is output from the second data connector module but before the second data set is input into the second transform module; an act of providing the first output data set to the first transform module and the second output data set to the second transform module, wherein the first and second transform modules transform the first and second data sets respectively in accordance with a client request from the client computer system so that the first and second data sets are then compatible for operation at the client computer system; an act of storing the transformed first and second data sets at least one location in a metadata tree to permit access and retrieval of the transformed data sets for operation at the client system; and an act of receiving at an accessor module a request to register a client data dependency for the client computer system, the data dependency indicating that data at one or more locations in the metadata tree is dependent on data from at least two data stores that utilize different data formats, wherein the metadata tree stores various states of the data that are created as the data propagates through the data connector modules and transform modules of the computer architecture including the state of the data both before and after the data is input to the transform modules such that the metadata tree provides a path for accessing the various states of the data. 2. The method as recited in claim 1, wherein the first and second transform modules are the same transform module. 3. The method as recited in claim 1, wherein the first and second transform modules are different transform modules. 4. The method as recited in claim 1, wherein the method is further comprised of an act of requesting a dependency object in the form of a token from the accessor module which in turn is processed by a dependency service at the client computer system when updated data at the metadata tree requires revalidation at the client computer system. 5. The method as recited in claim 1, wherein the locations at which data is stored in the metadata tree are defined by location expressions based on a standard pathing language. 6. The method as recited in claim 1, wherein the at least one or more of the data connector and transform modules are symmetric such that inverse data operations may be performed as desired on data that flows in a reverse direction. 7. A method of using a computer architecture to transform and provide updated data which is provided in different formats from different providers so that data provided in response to a request from a client computer system connected to a network is provided in an updated and compatible format for operation by the client computer system, wherein the computer architecture comprises first and second data stores for storing data having different formats that are otherwise not compatible, data connector modules for receiving data from each data store and for preparing the received data for input with a connected data format to a transform module, a transform module that transforms the input data into a different data type and/or different data format for compatible operation by the client computer system, a metadata tree which provides a path for accessing storage locations which correspond to data as output by each data connector module and each transform module, and an accessor module for interacting between client computer systems and the metadata tree to locate and access data stored in the metadata tree by either retrieving or updating data stored in the metadata tree in response to requests from one or more client computer systems, and wherein the method is comprised of: an act of receiving at an accessor module a request to register a client data dependency for the client computer system, the data dependency indicating that data at one or more locations in the metadata tree is dependent on data from at least two data stores that utilize different data formats, wherein the metadata tree stores various states of the data that are created as the data propagates through the data connector module and transform module of the computer architecture including the state of the data both before and after the data is input to the transform module such that the metadata tree provides a path for accessing the various states of the data; an act of registering at the accessor module the client data dependency so that changes in data from either of the data stores which is stored in the metadata tree can be detected by the client computer system; an act of detecting at the client computer system a change in data of at least one of the data stores that is stored at a location in the metadata tree; and in response to the change in data detected at the client computer system, an act of triggering revalidation of the changed data at the at least one location of the metadata tree. 8. The method as recited in claim 7, further comprising an act of sending a dependency object from the accessor module to the client computer system in response to receiving the registration request from the client computer system. 9. The method as recited in claim 8, wherein the act of registering at the accessor module the client data dependency comprises an act of the client computer system forwarding a dependency object received from the accessor module to a dependency service located at the client computer system. 10. The method as recited in claim 7, wherein the act of receiving at an accessor module a request to register a client data dependency for the client computer system comprises an act of receiving a registration request that requests dependency on a portion of data at least partially accessed from a first data store and at least partially accessed from second a different data store. 11. The method as recited in claim 7, wherein the act of receiving at an accessor module a request to register a client data dependency for the client computer system comprises an act of receiving a registration request that requests dependency on a portion of data that is transformed by one or more transform modules before being accessed by client computer system, the one or more transforms transforming the portion of data into a format that is compatible for operation by the client computer system. 12. The method as recited in claim 7, further comprising: an act of sending from the client computer system to the accessor module an evaluation request to receive values for data at at least one or more locations for data stored in the metadata tree in response to the revalidation trigger. 13. A method of using a computer architecture to transform data which is provided in different formats from different providers so that data provided in response to a request from a client computer system connected to a network is provided in an updated and compatible format for operation by the client computer system, and then appropriately changing data at a data provider in response to a data changed by the client computer system, wherein the computer architecture comprises first and second data stores for storing data having different formats that are otherwise not compatible, data connector modules for receiving data from each data store and for preparing the received data for input with a connected data format to a transform module, a transform module that transforms the input data into a different data type and/or different data format for compatible operation by the client computer system, a metadata tree which provides a path for accessing storage locations which correspond to data as output by each data connector module and each transform module, and an accessor module for interacting between client computer systems and the metadata tree to locate and access data stored in the metadata tree by either retrieving or updating data stored in the metadata tree in response to requests from one or more client computer systems, and wherein the method is comprised of: an act of inputting into a first data connector module a first data set from a first data store, the first data set being in a first data format; an act of inputting into a second data connecter module a second data set from a second data store, the second data set being in a different data format that is otherwise incompatible for operation at the client computer system with the first data set; an act of outputting the first data set from the first data connector module with a connected data format that is adapted for inputting the first data set into a first transform module; an act of storing the first data set with a specified connected data format at a location in said metadata tree to permit access and retrieval of the first data set with its specified connected data format after the first data set is output from the first data connector module but before the first data set is input into the first transform module; an act of outputting the second data set from the second data connector module with a specified connected data format that is adapted for inputting the second data set into a second transform module; an act of storing the second data set with a specified connected data format at a location in said metadata tree to permit access and retrieval of the second data set with its specified connected data format after the second data set is output from the second data connector module but before the second data set is input into the second transform module; an act of providing the first output data set to the first transform module and the second output data set to the second transform module, wherein the first and second transform modules transform the first and second data sets respectively in accordance with a client request from the client computer system so that the first and second data sets are then compatible for operation at the client computer system; an act of storing the transformed first and second data sets at at least one location in said metadata tree to permit access and retrieval of the transformed data sets for operation at the client system, wherein the metadata tree stores various states of the data that are created as the data propagates through the data connector modules and transform modules of the computer architecture including the state of the data both before and after the data is input to the transform modules such that the metadata tree provides a path for accessing the various states of the data; an act of receiving at an accessor module a client data change request from the client computer system, the client data change request requesting a change to data that is accessed in the metadata tree accessible to the client; an act of tracing back through the metadata tree to identify a data store of a provider that provided the data that is the subject of the change request; an act of translating the client data change request into a provider data change request formulated in accordance with translations derived by tracing the data that is the subject of the change request back through the locations in the metadata tree where the corresponding data was stored as outputs to either a data connector module and/or a transform module; and an act of sending the provider data change request to the data store of the provider of the data in a format that can be converted by the data provider into commands natively compatible with the data store of the provider. 14. The method as recited in claim 13, wherein the act of receiving at an accessor module a client data change request from the client computer system comprises an act of a write accessor receiving a client change request, the write accessor configured to interact with one or more portions of the metadata tree that logically represents corresponding portions of a data flow graph. 15. The method as recited in claim 13, wherein the act of receiving at an accessor module a client data change request from the client computer system comprises an act of receiving a client data change request for data originating from at least two different data stores. 16. The method as recited in claim 15, wherein the act of translating the client data change request into a provider data change request comprises an act of splitting the client data change request into multiple provider data change requests, each provider data change request compatible with changing data at a corresponding data store. 17. The method as recited in claim 14, wherein the write accessor interacts with one or more portions of the metadata tree by using an electronic pathing language to address a portion of a metadata tree that is to receive the provider data change request. 18. The method as recited in claim 13, wherein the act of sending the provider data change request to the data store of the provider of the data comprises an act of performing one or more inverse data operations at one or more data connection modules and/or transform modules to convert data from a client data format to a data store data format. 19. A computer program product comprising a computer-readable storage media which contains computer-executable instructions for implementing the method of claim 1. 20. A computer program product comprising a computer-readable storage media which contains computer-executable instructions for implementing the method of claim 7. 21. A computer program product comprising a computer-readable storage media which contains computer-executable instructions for implementing the method of claim 13.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (10)
Bodamer Roger ; Draaijer Jacco ; Voss Eric ; Mani Raghu, Apparatus and method for transparent access of foreign databases in a heterogeneous database system.
Chang, Daniel T.; Donn, Siyi Terry; Hembry, Douglas Michael; Lee, Tae Jae; Soetarman, Basuki N.; Summers, Robert N.; Tung, Frank C., Federated searches of heterogeneous datastores using a federated datastore object.
Nishida, Koichi; Okada, Kazuhisa, High level synthesis method, thread generated using the same, and method for generating circuit including such threads.
Van Huben, Gary A.; Mueller, Joseph L., Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions.
Pinto, Edmund Samuel Victor; Wolf, Kenneth David; Schmidt, Robert Brian; Talbert, Nathan C.; Kizer, Geoffrey M., Unified expression and location framework.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.