# US 12,222,899 B2 · Smart content load

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

- Number: US 12,222,899 B2
- Document ID: US12222899B2
- Status: Granted
- Kind: B2
- Application number: 17/950,330
- Filed: 2022-09-22
- Published: 2024-03-28
- Granted: 2025-02-11
- Earliest claimed: 2022-09-22
- Assignees: DocuSign, Inc.
- Applicants: DocuSign, Inc.
- Inventors: Timothy Seth; Mark Rollins
- Web page: https://patentgrep.com/patent/US12222899B2

## CPC

- G06F 16/16: File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 40/205: Parsing
- G06N 3/09: Supervised learning
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 20/00: Machine learning
- G06V 30/191: {Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation}
- G06V 30/41: Analysis of document content (recognition of printed characters based on code marks G06V30/224)
- G06V 30/413: Classification of content, e.g. text, photographs or tables
- G06V 30/412: Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
- G06V 30/416: Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system and a method are disclosed for automatic content upload and process. The system retrieves a set of files from a source location based on instructions received from a client device of a user. The system then classifies the set of files into a plurality of categories corresponding to a sequence of one or more services configured to process or store files. The system then generates a data structure storing key values, where the key values are derived based on respective processing of subsets of files. Responsive to receiving an input to execute logic relating to the set of files, the system determines that the input is associated with one or more of the key values, retrieves the one or more of the key values, and executing the logic using the one or more retrieved key values.

## Claims

### Claim 1

A method, comprising:
retrieving, using at least one processor, a set of files from a source location based on instructions received from a client device;
classifying, using the at least one processor, the set of files into a plurality of categories corresponding to a plurality of channels, each of the plurality of channels comprising a sequence of one or more services configured to process or store files;
generating, using the at least one processor, a data structure storing key values, the key values derived, using one or more machine learning models, based on respective processing of subsets of files, wherein the subsets of files are processed by different ones of the channels in the plurality of channels, wherein processing of the subset of files includes
receiving one or more input features associated with the subset of files;
predicting, using the one or more machine learning models, based on the one or more input features associated with the subset of files, a scaling associated with at least one of: at least one channel in the plurality of channels and at least one service in the one or more services, the scaling including at least one of a processing workload and a processing speed associated with at least one of: the at least one channel and the at least one service;
processing, based on the predicting, at least one file in the subset of files;
receiving, using the at least one processor, an input to execute logic relating to the set of files;
determining, using the at least one processor, that the input is associated with one or more of the key values;
retrieving, using the at least one processor, the one or more of the key values; and
executing, using the at least one processor, the logic using the one or more retrieved key values.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
monitoring a workload or a processing speed of each of the plurality of channels; and
automatically scaling up a particular channel in the plurality of channels based in part on the workload or the processing speed of the particular channel.

### Claim 3 (depends on 2)

The method of claim 2, wherein the scaling up the particular channel includes adding a new channel that performs same processing as the particular channel.

### Claim 4 (depends on 2)

The method of claim 2, wherein the scaling up the particular channel includes allocating additional hardware resources to the particular channel.

### Claim 5 (depends on 1)

The method of claim 1, wherein the classifying the set of files into the plurality of categories includes:
monitoring the set of files for a particular extension; and
responsive to identifying the particular extension in a given file of the set of files, separating the given file into a plurality of files.

### Claim 6 (depends on 1)

The method of claim 1, wherein the classifying the set of files into the plurality of categories includes:
monitoring the set of files for a threshold file size; and
responsive to identifying a given file having at least the threshold file size, preventing the given file from being further processed until a given condition is met or delaying further processing of the given file to a later time.

### Claim 7 (depends on 1)

The method of claim 1, wherein the classifying the set of files into the plurality of categories includes:
identifying that a file in the set of files is password protected or encrypted; and
responsive to identifying that the file is password protected or encrypted, obtaining a password or decryption key; and
removing the password or encryption from the file or decrypting the file based on the password or decryption key.

### Claim 8 (depends on 1)

The method of claim 1, wherein the plurality of channels includes an artificial intelligence (AI) channel and a non-AI channel, and the one or more services of the AI channel includes an OCR processor configured to recognize text from a PDF file or an image file.

### Claim 9 (depends on 8)

The method of claim 8, wherein the AI channel further includes a data extractor configured to:
parse the text recognized by the OCR processor to generate cognitive data having a set of key values; and
generating a data structure storing the set of key values.

### Claim 10 (depends on 9)

The method of claim 9, wherein the AI channel further includes a table extractor configured to:
parse the text recognized by the OCR processor to identify a table having a set of key values; and
generate a data structure storing the set of key values.

### Claim 11

A non-transitory computer-readable medium comprising memory with instructions encoded thereon, the instructions, when executed, causing one or more processors to:
retrieve a set of files from a source location based on instructions received from a client device;
classify the set of files into a plurality of categories corresponding to a plurality of channels, each of the plurality of channels comprising a sequence of one or more services configured to process or store files;
generate a data structure storing key values, the key values derived, using one or more machine learning models, based on respective processing of subsets of files, wherein the subsets of files are processed by different ones of the channels in the plurality of channels, wherein processing of the subset of files includes
receiving one or more input features associated with the subset of files;
predicting, using the one or more machine learning models, based on the one or more input features associated with the subset of files, a scaling associated with at least one of: at least one channel in the plurality of channels and at least one service in the one or more services, the scaling including at least one of a processing workload and a processing speed associated with at least one of: the at least one channel and the at least one service;
processing, based on the predicting, at least one file in the subset of files;
receive an input to execute logic relating to the set of files;
determine that the input is associated with one or more of the key values;
retrieve the one or more of the key values; and
execute the logic using the one or more retrieved key values.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11,
wherein the one or more processors are further configured to monitor a workload of each of the plurality of channels; and
automatically scale up or down a particular channel in the plurality of channels based in part on the workload of the particular channel.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein scaling up the particular channel includes adding a new channel that performs same processing as the particular channel.

### Claim 14 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein scaling up or down the particular channel includes allocating more hardware resources to the particular channel, and allowing the particular channel to have a greater processing power.

### Claim 15 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein classifying the set of files into the plurality of categories includes:
identifying an extension of a file in the set of files; and
responsive to identifying a particular extension, separating the file into a plurality of files.

### Claim 16 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein classifying the set of files into the plurality of categories includes:
identifying a size of a file in the set of files; and
responsive to identifying that the size is greater than a threshold, setting the file aside.

### Claim 17 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein classifying the set of files into the plurality of categories includes:
identifying that a file in the set of files is password protected or encrypted; and
removing the password of the file or decrypting the file.

### Claim 18 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the plurality of channels includes an artificial intelligence (AI) channel and a non-AI channel, and the one or more services of the AI channel includes an OCR processor configured to recognize text from a PDF file or an image file.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the AI channel further includes a data extractor configured to:
parse the text recognized by the OCR processor to generate cognitive data having a set of key values; and
generating a data structure storing the set of key values.

### Claim 20 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the AI channel further includes a table extractor configured to:
parse the text recognized by the OCR processor to identify a table having a set of key values; and
generate a data structure storing the set of key values.
