# US 11,307,838 B2 · De-duplication of localized resources

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

- Number: US 11,307,838 B2
- Document ID: US11307838B2
- Status: Granted
- Kind: B2
- Application number: 16/880,726
- Filed: 2020-05-21
- Published: 2021-11-25
- Granted: 2022-04-19
- Earliest claimed: 2020-05-21
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Anatoliy Burukhin; Sanjib Saha; Mithun Sibi Thomas
- Web page: https://patentgrep.com/patent/US11307838B2

## CPC

- G06F 9/454: {Multi-language systems; Localisation; Internationalisation}
- G06F 8/4434: {Reducing the memory space required by the program code}
- G06F 8/60: Software deployment
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In a device for de-duplicating localized resources including a processor and a memory in communication with the processor, the memory includes executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of accessing, from a data storage, a source resource package and a localized resource package containing first and second resources, respectively; filtering the localized resource package to identify the second resources that are not duplicates of the first resources; creating, based on the first resources, a language-neutral resource collection including a plurality of language-neutral resources; creating a localized resource collection including the second resources that are not duplicates of the first resources; and creating a deployment resource package containing the language-neutral and localized resource collections.

## Claims

### Claim 1

A device for de-duplicating localized resources, comprising:
a processor; and
a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of:
accessing, from a computer data storage, a source resource package and a localized resource package containing first and second resources, respectively, wherein the first resources and the second resources comprise computer resources;
filtering the localized resource package to identify the second resources that are not duplicates of the first resources;
creating, based on the first resources, a language-neutral resource container comprising a plurality of language-neutral resources;
creating a localized resource container comprising the second resources that are not duplicates of the first resources, wherein the language-neutral resource container and the localized resource container comprise a computer container;
creating a deployment resource package containing the language-neutral resource container and the localized resource container;
deploying the deployment resource package containing the language-neutral resource container and localized resource container on hardware assets; and
updating the deployment resource package on the hardware assets by updating only the language-neutral resource container.

### Claim 2 (depends on 1)

The device of claim 1, wherein, for filtering the localized resource package, the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:
comparing the second resources to the first resources;
identifying, based on the comparison, the second resources that are the duplicates of the first resources; and
removing, from the localized resource package, the duplicate second resources.

### Claim 3 (depends on 2)

The device of claim 2, wherein, for identifying the second resources that are the duplicates of the first resources, the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:
determining a threshold similarity level; and
determining whether each second resource meets the threshold similarity level with respect to any of the first resources.

### Claim 4 (depends on 2)

The device of claim 2, wherein the localized resource container comprises only the second resources that are not removed from the localized resource package after the filtering.

### Claim 5 (depends on 1)

The device of claim 1, wherein the language-neutral resource container comprises the first resources contained in the source resource package.

### Claim 6 (depends on 1)

The device of claim 1, wherein the language-neutral resources are in an authoring language of the source resource package.

### Claim 7 (depends on 6)

The device of claim 6, wherein the second resources are in a local language that is different from the authoring language.

### Claim 8 (depends on 1)

The device of claim 1, wherein localized resource container has fewer second resources than the localized resource package.

### Claim 9 (depends on 1)

The device of claim 1, wherein:
the localized resource package is a first localized resource package,
the localized resource container is a first localized resource container, and
the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:
accessing, from the data storage, a second localized resource package containing a plurality of third resources;
filtering the second localized resource package to identify the third resources that are not duplicates of the first resources; and
creating, a second localized resource container comprising the third resources that are not duplicates of the first resources.

### Claim 10 (depends on 9)

The device of claim 9, wherein, for creating the deployment resource package, the instructions, when executed by the processor, further cause the processor to control the device to perform a function of including the second localized container in the deployment resource package.

### Claim 11

A method of operating a device for de-duplicating localized resources, comprising:
accessing, from a computer data storage, a source resource package and a localized resource package containing first and second resources, respectively, wherein the first resources and the second resources comprise computer resources;
filtering the localized resource package to identify the second resources that are not duplicates of the first resources;
creating, based on the first resources, a language-neutral resource container comprising a plurality of language-neutral resources, wherein the language-neutral resource container and the localized resource container comprise a computer container;
creating a localized resource container comprising the second resources that are not duplicates of the first resources;
creating a deployment resource package containing the language-neutral and localized resource containers;
deploying the deployment resource package containing the language-neutral resource container and localized resource container on hardware assets; and
updating the deployment resource package on the hardware assets by updating only the language-neutral resource container.

### Claim 12 (depends on 11)

The method of claim 11, wherein filtering the localized resource package comprises:
comparing the second resources to the first resources;
identifying, based on the comparison, the second resources that are the duplicates of the first resources; and
removing, from the localized resource package, the duplicate second resources.

### Claim 13 (depends on 12)

The method of claim 12, wherein identifying the second resources that are the duplicates to the first resources comprises:
determining a threshold similarity level; and
determining whether each second resource meets the threshold similarity level with respect to any of the first resources.

### Claim 14 (depends on 12)

The method of claim 12, wherein the localized resource container comprises only the second resources that are not removed from the localized resource package after the filtering.

### Claim 15 (depends on 11)

The method of claim 11, wherein the language-neutral resource container comprises the first resources contained in the source resource package.

### Claim 16 (depends on 11)

The method of claim 11, wherein the language-neutral resources are in an authoring language of the source resource package.

### Claim 17 (depends on 16)

The method of claim 16, wherein the second resources are in a local language that is different from the authoring language.

### Claim 18 (depends on 11)

The method of claim 11, wherein:
the localized resource package is a first localized resource package,
the localized resource container is a first localized resource container, and
further comprising:
accessing, from the data storage, a second localized resource package containing a plurality of third resources;
filtering the second localized resource package to identify the third resources that are not duplicates of the first resources; and
creating, a second localized resource container comprising the third resources that are not duplicates of the first resources.

### Claim 19 (depends on 18)

The method of claim 18, wherein creating the deployment resource package comprises including the second localized container in the deployment resource package.

### Claim 20

A non-transitory computer readable medium containing instructions which, when executed by a processor, cause a computer to perform functions of:
accessing, from a computer data storage, a source resource package and a localized resource package containing first and second resources, respectively, wherein the first resources and the second resources comprise computer resources;
filtering the localized resource package to identify the second resources that are not duplicates of the first resources;
creating, based on the first resources, a language-neutral resource container comprising a plurality of language-neutral resources, wherein the language-neutral resource container and the localized resource container comprise a computer container;
creating a localized resource container comprising the second resources that are not duplicates of the first resources;
creating a deployment resource package containing the language-neutral and localized resource containers;
deploying the deployment resource package containing the language-neutral resource container and localized resource container on hardware assets; and
updating the deployment resource package on the hardware assets by updating only the language-neutral resource container.
