# US 2014/0195553 A1 · Metadata cache supporting multiple heterogeneous systems

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

- Number: US 2014/0195553 A1
- Document ID: US20140195553A1
- Status: Published application
- Kind: A1
- Application number: 14/174,684
- Filed: 2014-02-06
- Published: 2014-07-10
- Earliest claimed: 2011-12-22
- Assignees: EMC Corporation
- Applicants: EMC Corporation
- Inventors: Lyublena Antova; Florian Waas; Sivaramakrishnan Narayanan; Venkatesh Raghavan; Mohamed Soliman; Konstantinos Krikellas
- Web page: https://patentgrep.com/patent/US20140195553A1

## CPC

- G06F 16/21: Design, administration or maintenance of databases
- G06F 16/258: {Data format conversion from or to a database}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A request for a metadata object is received where the request includes an identifier. It is determined whether the metadata object is stored in a metadata cache, including by: selecting a sub-cache in the metadata cache based at least in part on the identifier and determining whether the metadata object is stored in that sub-cache. If it is determined the metadata object is not in the metadata cache, a request (in a format associated with the source) to obtain the metadata object is sent to a source with which the metadata object is associated. If the metadata object provided by the source is in a native format which is not the same as the common format, the metadata object is transformed from the native format into the common format. Access to the metadata object in the common format is provided.

## Claims

### Claim 1

A system, comprising:
a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
receive a request for a metadata object, wherein the request includes an identifier;
determine whether the metadata object is stored in a metadata cache, including by:
selecting one of a plurality of sub-caches in the metadata cache based at least in part on the identifier; and
determining whether the metadata object is stored in the selected sub-cache;
in the event it is determined the metadata object is not stored in the metadata cache, send, to a source with which the metadata object is associated, a request, in a format associated with the source, to obtain the metadata object;
transform the metadata object from a native format of the source into a common format, if the metadata object as provided by the source is in a native format that is not the same as the common format; and
provide access to the metadata object in the common format.

### Claim 2 (depends on 1)

The system of claim 1, wherein the metadata cache includes one or more of the following: metadata objects associated with a plurality of data management systems or metadata objects associated with a plurality of types of data management systems.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions for transforming include instructions for mapping a single metadata object in the native format of the source to a plurality of metadata objects in the common format.

### Claim 4 (depends on 1)

The system of claim 1, wherein a query associated with a data management system is processed using the metadata object in the common format.

### Claim 5 (depends on 4)

The system of claim 4, wherein the query is processed by one or more of the following: a parser, a planner, an executor, or a language binder.

### Claim 6 (depends on 1)

The system of claim 1, wherein there is a plurality of metadata providers, each of which is configured, for a respective type of source, to send and transform for that source type.

### Claim 7 (depends on 1)

The system of claim 1, wherein there is a plurality of metadata providers, each of which is configured, for a respective instance of a source, to send and transform for that source instance.

### Claim 8

A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
receiving a request for a metadata object, wherein the request includes an identifier;
determining whether the metadata object is stored in a metadata cache, including by:
selecting one of a plurality of sub-caches in the metadata cache based at least in part on the identifier; and
determining whether the metadata object is stored in the selected sub-cache;
in the event it is determined the metadata object is not stored in the metadata cache, sending, to a source with which the metadata object is associated, a request, in a format associated with the source, to obtain the metadata object;
transforming the metadata object from a native format of the source into a common format, if the metadata object as provided by the source is in a native format that is not the same as the common format; and
providing access to the metadata object in the common format.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the metadata cache includes one or more of the following: metadata objects associated with a plurality of data management computer program products or metadata objects associated with a plurality of types of data management computer program products.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein the computer instructions for transforming include computer instructions for mapping a single metadata object in the native format of the source to a plurality of metadata objects in the common format.

### Claim 11 (depends on 8)

The computer program product of claim 8, wherein a query associated with a data management computer program product is processed using the metadata object in the common format.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the query is processed by one or more of the following: a parser, a planner, an executor, or a language binder.

### Claim 13 (depends on 8)

The computer program product of claim 8, wherein there is a plurality of metadata providers, each of which is configured, for a respective type of source, to send and transform for that source type.

### Claim 14 (depends on 8)

The computer program product of claim 8, wherein there is a plurality of metadata providers, each of which is configured, for a respective instance of a source, to send and transform for that source instance.

### Claim 15

A system, comprising:
a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
receiving a request for a metadata object, wherein the request includes a version number associated with the metadata object;
using a processor to determine whether the metadata object is stored in a metadata cache, including by determining whether the metadata object having the version number included in the request is stored in the metadata cache;
in the event it is determined the metadata object is not stored in the metadata cache, sending, to a source with which the metadata object is associated, a request, in a format associated with the source, to obtain the metadata object;
transforming the metadata object from a native format of the source into a common format, if the metadata object as provided by the source is in a native format that is not the same as the common format; and
providing access to the metadata object in the common format, including by providing the version number.

### Claim 16 (depends on 15)

The system of claim 15, wherein the metadata cache includes one or more of the following: metadata objects associated with a plurality of data management systems or metadata objects associated with a plurality of types of data management systems.

### Claim 17 (depends on 15)

The system of claim 15, wherein the instructions for transforming include instructions for mapping a single metadata object in the native format of the source to a plurality of metadata objects in the common format.

### Claim 18 (depends on 15)

The system of claim 15, wherein a query associated with a data management system is processed using the metadata object in the common format.

### Claim 19 (depends on 18)

The system of claim 18, wherein the query is processed by one or more of the following: a parser, a planner, an executor, or a language binder.

### Claim 20 (depends on 15)

The system of claim 15, wherein there is a plurality of metadata providers, each of which is configured, for a respective type of source, to send and transform for that source type.

### Claim 21 (depends on 15)

The system of claim 15, wherein there is a plurality of metadata providers, each of which is configured, for a respective instance of a source, to send and transform for that source instance.

### Claim 22

A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
receiving a request for a metadata object, wherein the request includes a version number associated with the metadata object;
using a processor to determine whether the metadata object is stored in a metadata cache, including by determining whether the metadata object having the version number included in the request is stored in the metadata cache;
in the event it is determined the metadata object is not stored in the metadata cache, sending, to a source with which the metadata object is associated, a request, in a format associated with the source, to obtain the metadata object;
transforming the metadata object from a native format of the source into a common format, if the metadata object as provided by the source is in a native format that is not the same as the common format; and
providing access to the metadata object in the common format, including by providing the version number.

### Claim 23 (depends on 22)

The computer program product of claim 22, wherein the metadata cache includes one or more of the following: metadata objects associated with a plurality of data management computer program products or metadata objects associated with a plurality of types of data management computer program products.

### Claim 24 (depends on 22)

The computer program product of claim 22, wherein the computer instructions for transforming include computer instructions for mapping a single metadata object in the native format of the source to a plurality of metadata objects in the common format.

### Claim 25 (depends on 22)

The computer program product of claim 22, wherein a query associated with a data management computer program product is processed using the metadata object in the common format.

### Claim 26 (depends on 25)

The computer program product of claim 25, wherein the query is processed by one or more of the following: a parser, a planner, an executor, or a language binder.

### Claim 27 (depends on 22)

The computer program product of claim 22, wherein there is a plurality of metadata providers, each of which is configured, for a respective type of source, to send and transform for that source type.

### Claim 28 (depends on 22)

The computer program product of claim 22, wherein there is a plurality of metadata providers, each of which is configured, for a respective instance of a source, to send and transform for that source instance.
