# US 10,769,172 B2 · Globalized object names in a global namespace

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

- Number: US 10,769,172 B2
- Document ID: US10769172B2
- Status: Granted
- Kind: B2
- Application number: 15/938,584
- Filed: 2018-03-28
- Published: 2019-10-03
- Granted: 2020-09-08
- Earliest claimed: 2018-03-28
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Nguyen Truong; Kevin Kauffman; Gurunatha Karaje
- Web page: https://patentgrep.com/patent/US10769172B2

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/285: {Clustering or classification}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples include globalized object names in a global namespace. Some examples may relate to creation of an object with a globalized object name in a global namespace based on a determination. The determination may relate to a global namespace name pattern or the determination may be based on globalization information.

## Claims

### Claim 1

An article comprising at least one non-transitory machine-readable storage medium comprising instructions executable by at least one processing resource of a storage array of a storage group to:
receive, at the storage group, a request to create a new object with a specified object name;
determine whether the specified object name matches a global namespace name pattern for object names in a global namespace;
based on a determination that the specified object name matches the global namespace name pattern, prevent the new object from being created at the storage group with the specified object name; and
based on a determination that the specified object name does not match the global namespace name pattern:
create the new object on the storage group having the specified object name based on the storage group not comprising local name creation information that indicates that the storage group is to globalize object names; and
create the new object on the storage group having a globalized version of the specified object name in the global namespace based on the storage group comprising the local name creation information that indicates that the storage group is to globalize object names.

### Claim 2 (depends on 1)

The article of claim 1, the instructions comprising instructions executable to:
determine whether the storage group comprises the local name creation information that indicates that the storage group is to globalize object names.

### Claim 3 (depends on 1)

The article of claim 1, the instructions comprising instructions executable to:
write data to the new object, once created, without the new object being in a replication relationship with any other object; and
wherein the storage group is at least partially implementing a multi-tenant replication environment.

### Claim 4 (depends on 1)

The article of claim 1, the instructions comprising instructions executable to:
receive a request to replicate the new object of the storage group to a downstream storage group of a plurality of other storage groups;
based on a determination that globalization information, stored at the storage group, indicates that incoming object names from the downstream storage group are to be globalized to the global namespace by the storage group, convert the globalized object name of the new object to a de-globalized object name that is not in the global namespace;
request that the downstream storage group create the downstream object having the de-globalized object name; and
replicate the new object having the globalized object name from the storage group to the downstream object having the de-globalized object name at the downstream storage group.

### Claim 5 (depends on 1)

The article of claim 1, the instructions comprising instructions executable to:
store the globalization information at the storage group, wherein the globalization information is to indicate, for each respective other storage group of the plurality of other storage groups, whether incoming object names from a respective other storage group are to be globalized by the storage group.

### Claim 6 (depends on 1)

The article of claim 1, wherein the global namespace name pattern is defined such that object names that match the global namespace name pattern are object names formed of a character string including a prefix and a suffix separated by a delimiter, wherein the suffix includes a first portion of a first length separated by a delimiter from a second portion of a second length.

### Claim 7 (depends on 1)

The article of claim 1, wherein the storage group comprises more than one storage array.

### Claim 8

A storage array, of a first storage group, comprising:
at least one processing resource; and
at least one non-transitory machine-readable storage medium comprising instructions executable by at least one processing resource to:
store, at the first storage group, globalization information indicating, for each respective second storage group of a plurality of second storage groups, whether incoming object names from a respective second storage group are to be globalized to a global namespace by the first storage group;
receive a request to create a downstream object on the first storage group to receive replication of an upstream object of an upstream storage group of the plurality of second storage groups, the request specifying an upstream object name of the upstream object at the upstream storage group;
create the downstream object at the first storage group with an unmodified version of the upstream object name based on the globalization information not indicating that incoming object names from the upstream storage group are to be globalized by the first storage group; and
create the downstream object at the first storage group with a globalized version of the upstream object name based on the globalization information indicating that incoming object names from the upstream storage group are to be globalized by the first storage group.

### Claim 9 (depends on 8)

The storage array of claim 8, wherein the instructions comprise instructions executable to:
use the unmodified version of the upstream object name in at least some communications from the first storage group to the upstream storage group about the upstream object.

### Claim 10 (depends on 6)

The storage array of claim 6, wherein:
globalized version of the upstream object name is in the global namespace.

### Claim 11 (depends on 10)

The storage array of claim 10, wherein the instructions comprise instructions executable to:
receive, from the upstream storage group, a communication that specifies an object having the unmodified object name; and
based on a determination that the globalization information indicates that incoming object names from the upstream storage group are to be globalized by the first storage group:
process, at the first storage group, the communication in relation to the downstream object having the globalized version of the upstream object name.

### Claim 12 (depends on 10)

The storage array of claim 10, wherein the instructions comprise instructions executable to:
based on a determination that the globalization information indicates that incoming object names from the upstream storage group are to be globalized by the first storage group:
convert the object name of the downstream object to a de-globalized object name that is not in the global namespace; and
use the de-globalized object name in a communication from the first storage group to the upstream storage group about the upstream object.

### Claim 13 (depends on 10)

The storage array of claim 10, wherein the instructions comprise instructions executable to:
disallow creation of the downstream object at the first storage group, based on a determination that the globalization information indicates that incoming object names from the upstream storage group are to be globalized by the first storage group, and a determination that the unmodified upstream object name matches a global namespace name pattern for object names in a global namespace.

### Claim 14 (depends on 8)

The storage array of claim 8, wherein:
the globalization information comprises a globalize object names flag for each second storage group whose object names are to be globalized to the global namespace by the first storage group, when incoming to the first storage group, to be used by the first storage group; and
the first storage group at least partially implements a multi-tenant replication environment utilizing the global namespace.

### Claim 15

A method comprising:
storing, at a first storage group, globalization information indicating, for each respective second storage group of a plurality of second storage groups, whether incoming object names from a respective second storage group are to be globalized by the first storage group;
receiving a request to replicate an upstream object of the first storage group to a downstream storage group of the plurality of second storage groups, the upstream object having a globalized object name in a global namespace at the first storage group;
based on a determination that the globalization information, stored at the first storage group, indicates that incoming object names from the downstream storage group are to be globalized to the global namespace by the first storage group, converting the globalized object name of the upstream object to a de-globalized object name that is not in the global namespace:
requesting that the downstream storage group create the downstream object having the de-globalized object name; and
replicating the upstream object having the globalized object name from the first storage group to the downstream object having the de-globalized object name at the downstream storage group.

### Claim 16 (depends on 15)

The method of claim 15, wherein the converting comprises:
removing, from the globalized object name, a suffix to generate a substring of the globalized object name as the de-globalized object name.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
in response to a request to replicate another upstream object of the first storage group to another downstream storage group of the plurality of second storage groups:
requesting that the another downstream storage group create a given downstream object having a globalized object name of the another upstream object, based on a determination that the globalization information, stored at the first storage group, indicates that incoming object names from the another downstream storage group are not to be globalized to the global namespace by the first storage group.
