# US 11,451,839 B1 · System and method for client side compression in a content management environment

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

- Number: US 11,451,839 B1
- Document ID: US11451839B1
- Status: Granted
- Kind: B1
- Application number: 17/209,634
- Filed: 2021-03-23
- Published: 2022-09-29
- Granted: 2022-09-20
- Earliest claimed: 2021-03-23
- Assignees: Open Text Holdings, Inc.
- Applicants: Open Text Holdings, Inc.
- Inventors: Venkatesh Nandikalkere Giriyappa; Vidya Ellur; Roginy Balasubramanian
- Web page: https://patentgrep.com/patent/US11451839B1

## CPC

- G06F 16/93: Document management systems
- H04N 21/2353: {specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata}
- G06F 16/94: {Hypermedia (Hyperlinking G06F40/134)}
- G06F 16/9566: {URL specific, e.g. using aliases, detecting broken or misspelled links}
- H04N 21/23109: {by placing content in organized collections, e.g. EPG data repository (details of retrieval of video data and associated meta data in video databases G06F16/739)}
- H04N 21/25808: {Management of client data (terminal profiles in network data switching protocols H04L67/303)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Embodiments of content management systems in which compression and decompression may be performed at the client in cases where the client device or application may be capable of such compression and decompression while still allowing compression to be performed at the content management system when client devices or applications are unable to perform such compression or decompression are disclosed.

## Claims

### Claim 1

A content management system, comprising:
a data store including:
a first data repository storing compressed content;
a second data repository storing uncompressed content; and
a metadata repository, comprising document compression metadata; and
a content management server, comprising a non-transitory computer readable medium comprising instructions for:
receiving, from a client application, an access request in association with first content in the data store;
accessing the document compression metadata to determine that the first content is associated with compression;
when it is determined that the first content is associated with compression, returning metadata to the client application, the metadata including first compression metadata for that first content indicating that compression is enabled for the first content;
receiving, from the client application, a write request to write the content to the content management system, wherein the write request includes the first content;
determining if a client compression indicator is included in the write request;
when there is no client compression indicator in the write request:
determining if the first content should be compressed based on the document compression metadata;
when it is determined the first content should be compressed:
compressing the first content at the content management system; and
storing the compressed first content in the first repository;
when it is determined that the first content should not be compressed, storing the content in the second repository; and
when there is the client compression indicator in the write request:
determining that the client compression indicator indicates that the first content is compressed; and
storing the first content directly in the first data repository, wherein the first content was compressed at the client application and the client compression indicator was set at the client application.

### Claim 2 (depends on 1)

The system of claim 1, wherein the document compression metadata comprises metadata on the first and second content repositories used by the content management system identifying that the first data repository stores compressed content and the second data repository storing uncompressed content.

### Claim 3 (depends on 1)

The system of claim 1, wherein the document compression metadata comprise metadata on one or more file types specifying if each of the one or more file types are to be compressed.

### Claim 4 (depends on 1)

The system of claim 1, wherein the access request is a create document request.

### Claim 5

A content management system, comprising:
a data store including:
a first data repository storing compressed content;
a second data repository storing uncompressed content; and
a metadata repository, comprising document compression metadata; and
a content management server, comprising a non-transitory computer readable medium comprising instructions for:
receiving, from a client application, an access request in association with first content in the data store;
determining if the access request includes a client compression indicator set at the client application;
when there is no client compression indicator in the access request:
determining if the first content is compressed based on the document compression metadata;
when it is determined the first content is compressed, decompressing the first content at the content management system, and returning the decompressed first content from the first repository;
when there is a client compression indicator in the access request:
determining if the first content is compressed based on the document compression metadata;
determining that the client compression indicator indicates that decompression will be performed at the client application; and
returning the first content directly to the first client from the first data repository and returning first compression metadata for that first content indicating that the first content is compressed, wherein the client application is adapted to decompress the first content at the client application.

### Claim 6 (depends on 5)

The system of claim 5, wherein the access request is received through a remote procedure call or web services interface call.

### Claim 7 (depends on 5)

The system of claim 5, wherein the client application determines if the first content is stored in the first data repository that stores compressed content before preforming decompression on the first content.

### Claim 8

A method, comprising:
receiving at a content management server, from a client application, an access request in association with first content in a data store, the data store including a first data repository storing compressed content, a second data repository storing uncompressed content and a metadata repository, comprising document compression metadata;
accessing the document compression metadata to determine that the first content is associated with compression;
when it is determined that the first content is associated with compression, returning metadata to the client application, the metadata including first compression metadata for that first content indicating that compression is enabled for the first content;
receiving, from the client application, a write request to write the content to the content management system, wherein the write request includes the first content;
determining if a client compression indicator is included in the write request;
when there is no client compression indicator in the write request:
determining if the first content should be compressed based on the document compression metadata;
when it is determined the first content should be compressed:
compressing the first content at the content management system; and
storing the compressed first content in the first repository;
when it is determined that the first content should not be compressed, storing the content in the second repository; and
when there is the client compression indicator in the write request:
determining that the client compression indicator indicates that the first content is compressed; and
storing the first content directly in the first data repository, wherein the first content was compressed at the client application and the client compression indicator was set at the client application.

### Claim 9 (depends on 8)

The method of claim 8, wherein the document compression metadata comprises metadata on the first and second content repositories used by the content management system identifying that the first data repository stores compressed content and the second data repository storing uncompressed content.

### Claim 10 (depends on 8)

The method of claim 8, wherein the document compression metadata comprise metadata on one or more file types specifying if each of the one or more file types are to be compressed.

### Claim 11 (depends on 8)

The method of claim 8, wherein the access request is a create document request.

### Claim 12

A method, comprising:
receiving at a content management server, from a client application, an access request in association with first content in a data store, the data store including a first data repository storing compressed content, a second data repository storing uncompressed content and a metadata repository, comprising document compression metadata;
determining if the access request includes a client compression indicator set at the client application;
when there is no client compression indicator in the access request:
determining if the first content is compressed based on the document compression metadata;
when it is determined the first content is compressed, decompressing the first content at the content management system, and returning the decompressed first content from the first repository;
when there is a client compression indicator in the access request:
determining if the first content is compressed based on the document compression metadata;
determining that the client compression indicator indicates that decompression will be performed at the client application; and
returning the first content directly to the first client from the first data repository and returning first compression metadata for that first content indicating that the first content is compressed, wherein the client application is adapted to decompress the first content at the client application.

### Claim 13 (depends on 12)

The method of claim 12, wherein the access request is received through a remote procedure call or web services interface call.

### Claim 14 (depends on 12)

The method of claim 12, wherein the client application determines if the first content is stored in the first data repository that stores compressed content before preforming decompression on the first content.
