# US 2010/0169306 A1 · Type neutral container

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

- Number: US 2010/0169306 A1
- Document ID: US20100169306A1
- Status: Published application
- Kind: A1
- Application number: 12/317,729
- Filed: 2008-12-29
- Published: 2010-07-01
- Earliest claimed: 2008-12-29
- Assignees: Oracle International Corporation
- Inventors: Ramkrishna Chatterjee; Marco Carrer; Amit Dhuleshia; Ramesh Vasudevan
- Web page: https://patentgrep.com/patent/US20100169306A1

## CPC

- G06F 16/244: {Grouping and aggregation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and other embodiments associated with an artifact type neutral container are described. This artifact type neutral container is achieved through an artifact type neutral architecture that is managed using a central type neutral registration mechanism. Queries are executed on type neutral registration tables to return data stores that store the artifacts found within a given artifact type neutral container. The data stores are queried to return the artifacts in the artifact type neutral container. The artifact type neutral container can be used in systems in which the artifact type neutral container and artifact data are stored in the same database as well as in systems in which the artifact type neutral container and artifact data are stored in different databases.

## Claims

### Claim 1

A computer-implemented method comprising:
aggregating a plurality of artifacts having different artifact types in an artifact type neutral container by:
determining an element table that maps a container identifier to an container or non-container artifact type identifier for each type of container or non-container artifact aggregated within the artifact type neutral container;
determining a type registration table that maps container and non-container artifact type identifiers to a data store identifier that identifies a data store that stores artifacts of the artifact type, where the data store records an artifact identifier, an artifact type identifier that identifies an artifact type, and an artifact type neutral container identifier that identifies an artifact type neutral container in which the artifact is aggregated;
querying the element table to return the artifact type identifiers that identify the artifact types aggregated within the artifact type neutral container;
querying the type registration table for each identified artifact type to return a data store identifier that identifies an artifact data store that stores artifacts of the artifact type;
querying each identified data store to return artifact identifiers that identify artifacts aggregated within the artifact type neutral container; and
displaying the artifacts aggregated within the artifact type neutral container.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 comprising determining a container table that maps a child container identifier that identifies a child container to one or more parent container identifiers that identify one or more parent containers in which the child container is aggregated.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2 comprising querying the container table to return a child container identifier that is mapped to the artifact type neutral container such that the artifact type neutral container is a parent container to the child container.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3 comprising, for each child container identifier that is mapped to the artifact type neutral container:
querying the element table to return the artifact type identifiers that identify the artifact types aggregated within the child container;
querying the type registration table for each identified artifact type to return a data store identifier that identifies an artifact data store that stores artifacts of the artifact type; and
querying each identified data store to return artifact identifiers that identify artifacts aggregated within the child container.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1 where the storing of artifact information is performed by storing artifact information in two or more data stores located in two or more databases and where the determining of the element table is performed by storing an element table in each database of the two or more databases, the element table in each database recording artifact type identifiers for artifacts stored in the database, the method further comprising:
determining an element site table that maps a container identifier that identifies an artifact type neutral container to one or more database identifiers that identify databases in which an element table that stores information about artifacts aggregated in the artifact type neutral container is located; and
querying the element site table to return one or more database identifiers that identify one or more databases in which an element table that stores information about artifacts aggregated in the artifact type neutral container is located.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1 comprising imposing a referential integrity constraint between the container identifier and artifact type identifier in the data store and the container identifier and artifact type identifier in the element table, where the element table is designated as a parent for the purposes of the constraint and the data store is designated as a child for the purposes of the constraint.

### Claim 7 (depends on 2)

The computer-implemented method of claim 2 comprising imposing a referential integrity constraint between the container identifier in the element table and the container identifier in the container table where the container table is designated as a parent for the purposes of the constraint and the element table is designated as a child for the purposes of the constraint.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1 where the querying is performed by generating a dynamic PL/SQL code query.

### Claim 9

A computing system comprising:
an artifact type neutral container stored in a computer-readable medium, the artifact type neutral container comprising:
an element table determination logic that maintains an element table that maps a container identifier to a container or non-container artifact type identifier for each type of container or non-container artifact aggregated within the artifact type neutral container;
a type registration table determination logic that maintains a type registration table that maps each artifact type to a data store that stores artifacts of the artifact type;
a query engine to:
generate and execute a query on the element table to return one or more artifact type identifiers that identify an artifact type for each type of artifact aggregated within the artifact type neutral container;
generate and execute a query on the type registration table to return one or more data store identifiers that identify one or more data stores that store artifacts of the returned artifact types;
generate and execute a query on the one or more data stores identified by the one or more data store identifiers to return artifacts aggregated within the artifact type neutral container; and
a display to display the artifacts aggregated within the type neutral container.

### Claim 10 (depends on 9)

The computing system of claim 9 comprising a container table determination logic that maintains a container table that maps a child container identifier that identifies a child container to one or more parent container identifiers that identify one or more parent containers in which the child container is aggregated and where the query engine is provided to query the container table to return a child container identifier that is mapped to the artifact type neutral container such that the artifact type neutral container is a parent container to the child container.

### Claim 11 (depends on 9)

The computing system of claim 9 where artifacts are stored in two or more data stores located in two or more databases, the computing system comprising:
an element table stored in each database of the two or more databases, the element table in each database recording artifact type identifiers for artifacts stored in the database;
an element site table that maps a container identifier that identifies an artifact type neutral container to one or more database identifiers that identify databases in which an element table that stores information about artifacts aggregated in the artifact type neutral container is located; and
where the query engine is provided to generate and execute queries on the element site table to return one or more database identifiers that identify one or more databases in which an element table that stores information about artifacts aggregated in the artifact type neutral container is located.

### Claim 12

An artifact type neutral container that aggregates artifacts having more than one artifact type comprising:
an element table stored in a computer-readable medium that maps a container identifier to a container or non-container artifact type identifier for each type of container or non-container artifact aggregated within the artifact type neutral container;
a type registration table stored in a computer-readable medium that maps artifact type identifiers to data store identifiers that identify data stores that store artifacts of each artifact type;
a query engine to:
query the element table to return the artifact type identifiers that identify the artifact types aggregated within the artifact type neutral container;
query the type registration table for each identified artifact type to return a data store identifier that identifies an artifact data store that stores artifacts of the artifact type; and
query each identified data store to return artifact identifiers that identify artifacts aggregated within the artifact type neutral container.

### Claim 13 (depends on 12)

The artifact type neutral container of claim 12 further comprising a container table that maps a child container identifier that identifies a child container to one or more parent container identifiers that identify one or more parent containers in which the child container is aggregated and where the query engine is provided to query the container table to return a child container identifier that is mapped to the artifact type neutral container such that the artifact type neutral container is a parent container to the child container.

### Claim 14 (depends on 13)

The artifact type neutral container of claim 13 where the artifact data store is located in a first database separate from a second database in which the container table is stored, the artifact data store storing artifacts that are aggregated in the artifact type neutral container;
an element table stored in the first database, the element table recording artifact type identifiers for artifacts stored in the first database;
an element site table stored in the second database that maps a container identifier that identifies an artifact type neutral container to a database identifier that identifies the first database in which the element table that stores information about artifacts aggregated in the artifact type neutral container is located; and
where the query engine is provided to generate and execute queries on the element site table to return a database identifier that identifies the first database in which the element table that stores information about artifacts aggregated in the artifact type neutral container is located.

### Claim 15

A computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving a container identifier;
querying an element table to return one or more artifact types aggregated within an artifact type neutral container identified by the container identifier;
querying a type registration table to return one or more data stores that store artifacts of the returned one or more artifact types;
querying the returned one or more identified data stores to return artifacts aggregated within the artifact type neutral container identified by the container identifier; and
displaying the artifacts aggregated within the artifact type neutral container.

### Claim 16 (depends on 15)

The computer-readable medium of claim 15 where the computer-executable instructions include querying a container table to return a child container identifier that is mapped to the artifact type neutral container such that the artifact type neutral container is a parent container to the child container and further where the computer-executable instructions are repeated for each returned child container.

### Claim 17

A computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving an artifact having an artifact type;
storing the artifact in a data store by recording an artifact identifier that identifies the artifact, an artifact type identifier that identifies the artifact type, and a container identifier that identifies an artifact type neutral container in which the artifact is aggregated;
recording a data store identifier that identifies the data store in which the artifact is stored and the artifact type identifier in a type registration table;
recording the artifact type and the container identifier in an element table; and
providing a query engine to query the data store, the type registration table, and the element table to return artifacts aggregated in the artifact type neutral container.

### Claim 18

A system that aggregates artifacts having an artifact type in an artifact type neutral container, the system comprising:
means for receiving an artifact having an artifact type;
means for storing the artifact in a data store by recording an artifact identifier that identifies the artifact, an artifact type identifier that identifies the artifact type, and a container identifier that identifies an artifact type neutral container in which the artifact is aggregated;
means for recording a data store identifier that identifies the data store in which the artifact is stored and the artifact type identifier in a type registration table;
means for recording the artifact type and the container identifier in an element table;
means for receiving a container identifier;
means for querying an element table to return one or more artifact types aggregated within an artifact type neutral container identified by the container identifier;
means for querying a type registration table to return one or more data stores that store artifacts of the returned one or more artifact types; and
means for querying the returned one, or more identified data stores to return artifacts aggregated within the artifact type neutral container identified by the container identifier.
