Efficient stream sharing for multi-user sensor data collection
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G08C-019/16
G08C-019/22
H04Q-009/00
G05B-015/02
G05B-019/18
G05B-013/02
G06F-019/00
G06F-007/00
G06F-017/30
출원번호
US-0045516
(2008-03-10)
등록번호
US-8797178
(2014-08-05)
발명자
/ 주소
Kansal, Aman
Tavakoli-Shiraji, Arsalan
Nath, Suman
Zhao, Feng
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Choi, Dan
인용정보
피인용 횟수 :
4인용 특허 :
10
초록▼
The claimed subject matter provides systems and/or techniques that facilitate and/or effectuate efficient stream sharing for multi-user sensor data collection. The system includes mechanisms that locate within a query a specification that includes spatial regions over which data is required, based o
The claimed subject matter provides systems and/or techniques that facilitate and/or effectuate efficient stream sharing for multi-user sensor data collection. The system includes mechanisms that locate within a query a specification that includes spatial regions over which data is required, based on the spatial regions the mechanism determines which sensors are situated within the region or ascertains which of the sensors in the region is actively streaming data and/or has persisted data in order to fulfill the query, constructs or utilizes a directed acyclic graph to obviate redundancy in a functional requirement included in the specification and imposed by the query, and formulates a result in fulfillment of the query that is delivered to an application.
대표청구항▼
1. A system that facilitates and effectuates efficient stream sharing for multi-user sensor data collection, the system comprising: a component that acquires a query via an interface, the component locates within the query a specification that includes a region over which data is requested,based at
1. A system that facilitates and effectuates efficient stream sharing for multi-user sensor data collection, the system comprising: a component that acquires a query via an interface, the component locates within the query a specification that includes a region over which data is requested,based at least in part on the region over which the data is requested the component determines one or more sensors situated within the region,the component ascertains which of the one or more sensors is currently streaming the data or has persisted the data and which of the one or more sensors need to be initialized to fulfill the query,the component at least one of constructs or utilizes a directed acyclic graph to obviate redundancy in a functional requirement imposed by the query and formulate a result directed to an application,the component obviates redundancy in the functional requirement by assigning a signature to leaf or non-leaf nodes associated with the directed acyclic graph, utilizing the signature to identify common leaf nodes, common non-leaf nodes, or common operations between the query and a second query, inserting an intermediate node in the directed acyclic graph, directing an edge from the common leaf node, the common non-leaf nodes, or the common operations to the intermediate node, and carrying out the assigning, the utilizing, the inserting, or the directing one or more times to capture re-usable computations; anda processing unit that executes the component,wherein the component forwards the data, flowing from the one or more sensors, directly to the application based at least in part on a determination that the functional requirement imposed by the query or a temporal characteristic included in the query is unique to the application or is unique with respect to another query. 2. The system of claim 1, the region demarcates an area circumscribed by at least one of a geographic boundary, a political boundary, a strip covering a road route, or an area defined by a polygon. 3. The system of claim 1, the query includes a temporal characteristic required of the data. 4. The system of claim 1, the component determines an accuracy level associated with the query, based at least in part on the accuracy level, the component at least one of prunes or augments a list of sensors to correspond with the accuracy level. 5. The system of claim 1, the component ascertains an accuracy level associated with the query based at least in part on cost-based guidelines of sensor data budgets. 6. The system of claim 1, the component constructs a rationalized list of sensors utilized to satisfy the query, the rationalized list of sensors include the one or more sensors within the region specified in the query, or a sensor pruned from or added to the rationalized list based at least in part on at least one of a sensor characteristic, a cost-based guideline, or a sensor data budget. 7. The system of claim 1, the component directs a branch from the directed acyclic graph to the one or more sensors for pre-processing, the one or more sensors return partially processed data that satisfy the functional requirement imposed by the query. 8. The system of claim 1, the component directs the data from the one or more sensors to a data cache based at least in part on a determination that the data has a past, present, or future utility to fulfill the functional requirement imposed by the query. 9. The system of claim 1, the component directs the data from the one or more sensors to the application based at least in part on bandwidth usage cost or a latency cost. 10. A method performed by a computing device, the method sharing at least one of data access, computation, or functional workload among multiple applications, the method comprising: locating a specification that includes an area over which data is requested;based at least in part on the area over which the data is requested, determining a data source location situated within the area;determining a data source that is currently streaming data or has persisted data or initiating another data source that is needed to fulfill a query;based at least in part on the determining or the initiating, constructing or employing a directed acyclic graph to obviate redundancy in a functional requirement imposed by the query and formulating a result directed to an application; anddiverting data flowing from the data source or the another data source directly to the application, the diverting being based on a determination that the functional requirement imposed by the query is unique to the query. 11. The method of claim 10, further comprising ascertaining accuracy levels associated with the query and based on the ascertaining removing or adding other data sources located in the area over which data is requested to comport with the accuracy levels. 12. The method of claim 10, further comprising determining accuracy levels associated with the query based at least in part on at least one of cost-based guidelines or sensor data budgets. 13. The method of claim 10, further comprising isolating a branch associated with the directed acyclic graph and sending the branch to the application for post-processing. 14. The method of claim 10, the constructing or employing of the directed acyclic graph further comprising: assigning a signature value to each leaf node or non-leaf node associated with the directed acyclic graph;identifying common leaf nodes, common non-leaf nodes, or common operations between the query and a second query; andmodifying the directed acyclic graph to include an intermediate node with arcs emanating from the common leaf nodes, the common non-leaf nodes, or the common operations re-directed to the intermediate node, and repeating the modifying one or more times for capturing re-usable computations. 15. The method of claim 10, further comprising persisting the data flowing from the data source or the another data source based on a past, present, or future need ascertained from the functional requirement imposed by the query. 16. A system comprising: a coordinator configured to: receive a first query requesting that a particular operation is applied to first data values from first data sources,receive a second query requesting that the particular operation is applied to second data values from second data sources,represent the first query using a first graph having: first leaf nodes representing the first data values from the first data sources, the first leaf nodes having an associated first signature representing that the first leaf nodes serve the first query, andfirst non-leaf nodes representing first computed values obtained by applying the particular operation to the first data values,represent the second query using a second graph having: second leaf nodes representing the second data values from the second data sources, the second leaf nodes having an associated second signature representing that the second leaf nodes serve the second query, andsecond non-leaf nodes representing second computed values obtained by applying the particular operation to the second data values,identify a subset of common data values from the first data values and the second data values by detecting common leaf nodes from the first leaf nodes and the second leaf nodes, wherein some individual first data values represented by remaining first leaf nodes are not part of the subset and some individual second data values represented by remaining second leaf nodes are not part of the subset,assign the common leaf nodes a new third signature while retaining the first signature for the remaining first leaf nodes and retaining the second signature for the remaining second leaf nodes, andcombine the first graph and the second graph to create a combined graph, wherein, in the combined graph, the remaining first leaf nodes have the first signature, the remaining second leaf nodes have the second signature, and the common leaf nodes have the new third signature; anda computing device configured to execute the coordinator. 17. The system of claim 16, wherein the combined graph includes: a first intermediate node representing application of the particular operation to each of the first data values represented by first nodes, anda second intermediate node representing application of the particular operation to each of the second data values represented by the second leaf nodes. 18. The system of claim 17, wherein the coordinator is configured to: perform an optimization of the combined graph, the optimization comprising creating a third intermediate node representing application of the particular operation to the subset of common data values represented by the common leaf nodes. 19. The system of claim 18, wherein the optimization further comprises: adjusting the combined graph such that the first intermediate node represents application of the particular operation to only the some individual first data values represented by the remaining first leaf nodes and not the subset of common data values represented by the common leaf nodes; andadjusting the combined graph such that the second intermediate node represents application of the particular operation to only the some individual second data values represented by the remaining second leaf nodes and not the subset of common data values represented by the common leaf nodes. 20. The system of claim 19, wherein the particular operation is a summation operation and, after the optimization: the first intermediate node represents application of the summation operation to the individual first data values that are not part of the subset of common data values;the second intermediate node represents application of the summation operation to the individual second data values that are not part of the subset of common data values; andthe third intermediate node represents application of the summation operation to the subset of common data values part of the subset of common data values. 21. The system of claim 20, wherein the first query and the second query also request an average operation and, after the optimization, the combined graph includes: a fourth intermediate node representing application of an average operation to a first sum of: the common data values, andthe individual first data values that are not part of the subset of common data values, anda fifth intermediate node representing application of the average operation to a second sum of: the subset of common data values, andthe individual second data values that are not part of the subset of common data values,wherein the fourth intermediate node is directly connected to the first intermediate node, is not directly connected to the second intermediate node, and is not directly connected to the third intermediate node, andwherein the fifth intermediate node is directly connected to the third intermediate node, is not directly connected to the first intermediate node, and is not directly connected to the second intermediate node. 22. A method performed by a computing device, the method comprising: receiving a first query requesting that a particular operation is applied to first data values from first data sources,receiving a second query requesting that the particular operation is applied to second data values from second data sources,representing the first query using a first graph having: first leaf nodes representing the first data values from the first data sources, the first leaf nodes having an associated first signature representing that the first leaf nodes serve the first query, andfirst non-leaf nodes representing first computed values obtained by applying the particular operation to the first data values,representing the second query using a second graph having: second leaf nodes representing the second data values from the second data sources, the second leaf nodes having an associated second signature representing that the second leaf nodes serve the second query, andsecond non-leaf nodes representing second computed values obtained by applying the particular operation to the second data values,identifying a subset of common data values from the first data values and the second data values by detecting common leaf nodes from the first leaf nodes and the second leaf nodes, wherein some individual first data values represented by remaining first leaf nodes are not part of the subset and some individual second data values represented by remaining second leaf nodes are not part of the subset,assigning the common leaf nodes a third signature while retaining the first signature for the remaining first leaf nodes and retaining the second signature for the remaining second leaf nodes, andcombining the first graph and the second graph to create a combined graph, wherein, in the combined graph, the remaining first leaf nodes have the first signature, the remaining second leaf nodes have the second signature, and the common leaf nodes have the third signature.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (10)
Garabedian, Arminch, Data sensor validation system and method.
Liu, Zhen; Towsley, Donald F.; Xia, Honghui; Ying, Lei, Methods and system for dynamic reallocation of data processing resources for efficient processing of sensor data in a distributed network.
Carlson, David Glenn; Choudhry, Tariq Mahmood; Kathmann, Kevin James, Parallel database query processing for non-uniform data sources via buffered access.
Agrawal, Sonali; Macklem, Walter; Mathew, Reena; Wong, Simon Y., Systems and methods for analyzing operations in a multi-tenant database system environment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.