# US 12,182,116 B2 · Dynamic asset monitoring and management using a continuous event processing platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,116 B2
- Document ID: US12182116B2
- Status: Granted
- Kind: B2
- Application number: 18/243,438
- Filed: 2023-09-07
- Published: 2023-12-28
- Granted: 2024-12-31
- Earliest claimed: 2010-06-30
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Roman Schindlauer; Balan Sethu Raman; Torsten W. Grabs; Beysim Sezgin
- Web page: https://patentgrep.com/patent/US12182116B2

## CPC

- G06F 16/245: Query processing
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2255: {Hash tables}
- G06F 16/2428: {Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence)}
- G06F 16/2471: {Distributed queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosed architecture leverages realtime continuous event processing (CEP) to address using a general input interface framework to import a dynamic set of event types (e.g., assets), and using a declarative, expressive query model to implement monitoring and management tasks on an asset level. This is in contrast to looking separately at single values from static databases and/or realtime streams as is common conventionally. The architecture uses the CEP data model to model assets as realtime event types. Thus, queries can be formulated per asset and not just per single stream. The architecture uses the query capabilities of CEP to formulate asset management and monitoring tasks as standing, declarative queries, and uses the input interface of a CEP platform to correlate data from different data sources with different dynamic properties.

## Claims

### Claim 1

A computing device, comprising:
a memory and a processor, wherein the memory and the processor are respectively configured to store and execute instructions, including instructions for causing the computing device to perform operations, the operations including:
synchronizing realtime event data of a plurality of assets to model the plurality of assets as a single event type, the synchronizing including obtaining the realtime event data for each of a plurality of assets, the realtime event data for each of the plurality of assets representing that asset at a specific point in time, and the specific point in time for each of the plurality of assets being a same point in time;
providing an event stream that is based on the synchronized realtime event data;
providing a query that includes the event stream as the single event type; and
responsive to the query, indicating assets of the plurality of assets that match the query.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the query is a continuous event processing query.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the query is a standing declarative query.

### Claim 4 (depends on 1)

The computing device of claim 1, the operations further including:
signaling a change in information related to an asset of the plurality of assets.

### Claim 5 (depends on 4)

The computing device of claim 4, the operations further including:
detecting a change in a status of a static asset property of a data source related to membership of the static asset property in a group of asset properties being monitored using the query.

### Claim 6 (depends on 1)

The computing device of claim 1, the operations further including:
confirming actual values of the realtime event data are obtained for the same point in time for each asset of the plurality of assets.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein one or more operators used in providing the event stream include a join operator configured to merge realtime event data and static event data of corresponding assets into a single composite event stream, and a union operator configured to merge realtime event data and static event data of different assets of the same type into the event stream.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the query is formulated per asset.

### Claim 9

A method for processing event data, the method comprising:
synchronizing realtime event data of a plurality of assets to model the plurality of assets as a single event type, the synchronizing including receiving the realtime event data for each of a plurality of assets, the realtime event data for each of the plurality of assets representing that asset at a specific point in time, and the specific point in time for each of the plurality of assets being a same point in time;
providing an event stream that is based on the synchronized realtime event data;
providing a query that includes the event stream as the single event type; and
responsive to the query, indicating assets of the plurality of assets that match the query.

### Claim 10 (depends on 9)

The method of claim 9, further comprising detecting a change in a status of a static asset property of a data source related to membership of the static asset property in a group of asset properties being monitored.

### Claim 11 (depends on 9)

The method of claim 9, further comprising retrieving actual values of the realtime event data at the same point in time.

### Claim 12 (depends on 9)

The method of claim 9, further comprising importing a specific set of event type properties into the query.

### Claim 13 (depends on 9)

The method of claim 9, wherein the query is a continuous event processing query.

### Claim 14 (depends on 9)

The method of claim 9, further comprising merging the synchronized realtime event data and static event data of different assets of the same type using an operator as a union of corresponding realtime and static event data into a single event stream.

### Claim 15 (depends on 9)

The method of claim 9, wherein the query is a standing declarative query over an asset of the plurality of assets.

### Claim 16

A computer-readable storage device having computer-executable instructions stored therein that, in response to execution, cause a computing device to perform operations, the operations comprising:
synchronizing realtime event data of a plurality of assets to model the plurality of assets as a single event type, the synchronizing including obtaining the realtime event data for each of a plurality of assets for a same point in time;
providing an event stream that is based on the synchronized realtime event data;
providing a query that includes the event stream as the single event type; and
responsive to the query, indicating assets of the plurality of assets that match the query.

### Claim 17 (depends on 16)

The computer-readable storage device of claim 16, the operations further comprising detecting a change in a status of a static asset property of a data source related to membership of the static asset property in a group of asset properties being monitored.

### Claim 18 (depends on 16)

The computer-readable storage device of claim 16, the operations further comprising merging the synchronized realtime event data and static event data of different assets of the same type using an operator as a union of corresponding realtime and static event data into a single event stream.

### Claim 19 (depends on 16)

The computer-readable storage device of claim 16, wherein the query is a continuous event processing query.

### Claim 20 (depends on 16)

The computer-readable storage device of claim 16, wherein the query is a standing declarative query for a single asset type that comprises a composite of static and realtime asset properties.
