# US 2019/0377803 A1 · Secure decompression

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

- Number: US 2019/0377803 A1
- Document ID: US20190377803A1
- Status: Published application
- Kind: A1
- Application number: 16/002,333
- Filed: 2018-06-07
- Published: 2019-12-12
- Earliest claimed: 2018-06-07
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Deepak MP
- Web page: https://patentgrep.com/patent/US20190377803A1

## CPC

- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/1744: {using compression, e.g. sparse files}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M 7/6005: {Decoder aspects}
- H03M 7/707: {Structured documents, e.g. XML}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A method and system including receiving a main input stream for a compressed file at an application server, wherein the main input stream includes two or more file streams; extracting a file-type extension from each file stream input stream; determining the file-type extension is supported; determining, for each file stream with the supported file-type extension, a signature for the file stream with the supported file-type extension is valid; determining, for each valid file stream, a size of the file is less than a threshold level; and storing the valid file stream on a storage device when the size of the file is less than the threshold level. Numerous other aspects are provided.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving a main input stream for a compressed file at an application server, wherein the main input stream includes two or more file streams;
extracting a file-type extension from each file stream input stream;
determining the file-type extension is supported;
determining, for each file stream with the supported file-type extension, a signature for the file stream with the supported file-type extension is valid;
determining, for each valid file stream, a size of the file is less than a threshold level; and
storing the valid file stream on a storage device when the size of the file is less than the threshold level.

### Claim 2 (depends on 1)

The method of claim 1, wherein the compressed file remains compressed through storing the file streams in the input stream.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
analyzing a syntax of the valid file stream prior to determining the size of the file.

### Claim 4 (depends on 3)

The method of claim 3, wherein analyzing the syntax of the valid file stream further comprises:
parsing the file stream to validate a structure of the file.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
providing a platform, wherein the file-type extension is supported by the platform executing on the application server.

### Claim 6 (depends on 1)

The method of claim 1, wherein the signature is based on the file type.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining the file-type extension is supported further comprises:
comparing the extracted file-type extension to a configuration file that specifies the supported file-types.

### Claim 8 (depends on 1)

The method of claim 1, wherein the signature includes a unique character pattern for each type of file.

### Claim 9

A system comprising:
a main input stream source;
an application server;
a decompression module including a file extension module, a file content type detector module, a file syntactic analyzer module, and a file size checker module;
a storage device; and
a decompression processor in communication with the decompression module and operative to execute processor-executable process steps to cause the system to:
receive a main input stream for a compressed file at the application server, wherein the input stream includes two or more file streams;
extract, via the file extension module, a file-type extension from each file stream;
determine the file-type extension is supported;
determine, via the file content type detector module, a signature for the file stream with the supported file-type extension is valid;
determine, via the file size checker module, a size of the file is less than a threshold level; and
store the valid file stream on the storage device when the size of the file is less than the threshold level.

### Claim 10 (depends on 9)

The system of claim 9, wherein the compressed file remains compressed through storing the file.

### Claim 11 (depends on 9)

The system of claim 9, wherein the decompression module further comprises a file syntactic analyzer module operative to execute processor-executable steps to cause the system to:
analyze a syntax of the valid file stream prior to determining the size of the file.

### Claim 12 (depends on 1)

The system of claim 1, wherein the valid file syntactic analyzer module includes a parser, and wherein analyzing the syntax of the file stream further comprises processor-executable steps to cause the system to:
parse, via the parser, the file stream to validate a structure of the file.

### Claim 13 (depends on 9)

The system of claim 9, further comprising:
a platform, wherein the file-type extension is supported by the platform executing on the application server.

### Claim 14 (depends on 9)

The system of claim 9, wherein the signature is based on the file type.

### Claim 15 (depends on 9)

The system of claim 9, wherein determining the file-type extension is supported further comprises processor-executable steps to:
compare the extracted file-type extension to a configuration file that specifies the supported file-types.

### Claim 16 (depends on 9)

The system of claim 9, wherein the signature includes a unique character pattern for each type of file.

### Claim 17

A non-transitory computer-readable medium storing program code, the program code executable by a computer system to cause the computer system to:
receive a main input stream for a compressed file at the application server, wherein the input stream includes two or more file streams;
extract, via the file extension module, a file-type extension from each file stream;
determine the file-type extension is supported;
determine, via the file content type detector module, a signature for the file with the supported file-type extension is valid;
determine, via the file size checker module, a size of the valid file is less than a threshold level; and
store the file stream on a storage device when the size of the file is less than the threshold level.

### Claim 18 (depends on 17)

The medium of claim 17, wherein the compressed file remains compressed through storing the file.

### Claim 19 (depends on 17)

The medium of claim 17, further comprising program code executable by the computer system to cause the system to:
analyze a syntax of the valid file prior to determining the size of the file.

### Claim 20 (depends on 19)

The medium of claim 19, wherein analyzing the syntax of the valid file further comprises program code executable by the computer system to cause the system to:
parse the file stream to validate a structure of the file.
