# US 2014/0156642 A1 · Generating And Using Temporal Metadata Partitions

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

- Number: US 2014/0156642 A1
- Document ID: US20140156642A1
- Status: Published application
- Kind: A1
- Application number: 13/693,597
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: AT&T Intellectual Property I, L.P.
- Applicants: At&T Intellectual Property I, L.P.
- Inventors: Theodore Johnson; Marios Hadjieleftheriou; Vladislav Shkapenyuk
- Web page: https://patentgrep.com/patent/US20140156642A1

## CPC

- G06F 16/24573: {using data annotations, e.g. user-defined metadata}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/245: Query processing
- G06F 16/24532: {of parallel queries}
- G06F 16/24554: {Unary operations; Data partitioning operations}
- G06F 16/2477: {Temporal data queries}
- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Concepts and technologies are disclosed herein for generating and using temporal metadata partitions. Metadata can be stored in temporal metadata partitions based upon a time range included in the metadata. Furthermore, metadata can be stored in multiple temporal metadata partitions to which the metadata is relevant. As such, metadata can be stored in manner that allows event data to be understood in the context of temporally accurate and/or relevant metadata. Functionality for executing queries of event data and providing results in view of metadata, as well as the merging of multiple temporal metadata partitions also are disclosed.

## Claims

### Claim 1

A method comprising:
obtaining metadata at a server computer executing a data management application, the metadata comprising a data value and a time range associated with the data value;
analyzing, by the server computer, the time range to identify a temporal metadata partition in which the metadata is to be stored; and
storing, by the server computer, the metadata in the temporal metadata partition.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining, based upon the time range, if the metadata is to be stored in a further temporal metadata partition; and
in response to a determination that the metadata is to be stored in the further temporal metadata partition, storing the metadata in the further temporal metadata partition.

### Claim 3 (depends on 1)

The method of claim 1, wherein the metadata is included in a data stream generated by a data source.

### Claim 4 (depends on 1)

The method of claim 1, wherein the metadata is included in a data stream generated by a data source, wherein the data stream comprises the metadata and event data, and wherein the metadata defines a context of the event data.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving a query;
executing the query against event data stored in a temporal data partition to obtain an event data query result;
identifying, in the event data query result, a timestamp; and
retrieving the metadata from a relevant temporal metadata partition based upon the timestamp.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
computing results based upon the metadata and the event data; and
outputting the results.

### Claim 7 (depends on 6)

The method of claim 6, wherein the metadata provides a context for the event data, and wherein computing the results comprises selecting event data based, at least partially, upon the metadata.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining, based upon the time range, that the metadata is to be stored in a further temporal metadata partition;
storing the metadata in the further temporal metadata partition;
determining that the temporal metadata partition and the further temporal metadata partition are to be merged; and
merging the temporal metadata partition and the further temporal metadata partition.

### Claim 9 (depends on 8)

The method of claim 8, wherein determining that the temporal metadata partition and the further temporal metadata partition are to be merged comprises
selecting the temporal metadata partition; and
identifying the further temporal metadata partition as a related temporal metadata partition.

### Claim 10 (depends on 8)

The method of claim 8, wherein merging the temporal metadata partition and the further temporal metadata partition comprises
merging a time range of the temporal metadata partition with a further time range of the further temporal metadata partition to generate a merged temporal metadata partition having a merged time range and the data value; and
storing the merged temporal metadata partition.

### Claim 11

A system comprising:
a processor; and
a memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising
obtaining metadata comprising a data value and a time range associated with the data value,
analyzing the time range to identify a temporal metadata partition in which the metadata is to be stored,
determining, based upon the time range, that the metadata is to be stored in a further temporal metadata partition,
storing the metadata in the further temporal metadata partition, and
storing the metadata in the temporal metadata partition.

### Claim 12 (depends on 11)

The system of claim 11, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:
receiving a query;
executing the query against event data stored in a temporal data partition to obtain an event data query result;
identifying, in the event data query result, a timestamp; and
retrieving the metadata from a relevant temporal metadata partition based upon the timestamp.

### Claim 13 (depends on 12)

The system of claim 12, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:
computing results based upon the metadata and the event data; and
outputting the results.

### Claim 14 (depends on 11)

The system of claim 11, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:
determining that the temporal metadata partition and the further temporal metadata partition are to be merged; and
merging the temporal metadata partition and the further temporal metadata partition.

### Claim 15 (depends on 14)

The system of claim 14, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising:
determining that the temporal metadata partition and the further temporal metadata partition are to be merged by
selecting the temporal metadata partition, and
identifying the further temporal metadata partition as a related temporal metadata partition; and
merging the temporal metadata partition and the further temporal metadata partition by
merging a time range of the temporal metadata partition with a further time range of the further temporal metadata partition to generate a merged temporal metadata partition having a merged time range and the data value, and
storing the merged temporal metadata partition.

### Claim 16

A computer storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising:
obtaining metadata comprising a data value and a time range associated with the data value;
analyzing the time range to identify a temporal metadata partition in which the metadata is to be stored;
determining, based upon the time range, that the metadata is to be stored in a further temporal metadata partition;
storing the metadata in the further temporal metadata partition; and
storing the metadata in the temporal metadata partition.

### Claim 17 (depends on 16)

The computer storage medium of claim 16, further comprising computer-executable instructions that, when executed by the processor, cause the processor to perform operations further comprising:
receiving a query;
executing the query against event data stored in a temporal data partition to obtain an event data query result;
identifying, in the event data query result, a timestamp; and
retrieving the metadata from a relevant temporal metadata partition based upon the timestamp.

### Claim 18 (depends on 16)

The computer storage medium of claim 16, further comprising computer-executable instructions that, when executed by the processor, cause the processor to perform operations further comprising:
determining that the temporal metadata partition and the further temporal metadata partition are to be merged; and
merging the temporal metadata partition and the further temporal metadata partition.

### Claim 19 (depends on 16)

The computer storage medium of claim 16, further comprising computer-executable instructions that, when executed by the processor, cause the processor to perform operations further comprising:
determining that the temporal metadata partition and the further temporal metadata partition are to be merged by
selecting the temporal metadata partition, and
identifying the further temporal metadata partition as a related temporal metadata partition; and
merging the temporal metadata partition and the further temporal metadata partition by
merging a time range of the temporal metadata partition with a further time range of the further temporal metadata partition to generate a merged temporal metadata partition having a merged time range and the data value, and
storing the merged temporal metadata partition.

### Claim 20 (depends on 16)

The computer storage medium of claim 16, wherein the metadata is included in a data stream generated by a data source, wherein the data stream comprises the metadata and event data, wherein the metadata defines a context of the event data, and wherein the temporal metadata partitions are stored at a distributed database.
