# US 2019/0379724 A1 · Technologies for file sharing

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

- Number: US 2019/0379724 A1
- Document ID: US20190379724A1
- Status: Published application
- Kind: A1
- Application number: 16/501,110
- Filed: 2018-06-08
- Published: 2019-12-12
- Earliest claimed: 2018-06-08
- Assignees: Saphyre, Inc.
- Applicants: Saphyre, Inc.
- Inventors: Gabino M. Roche, JR.
- Web page: https://patentgrep.com/patent/US20190379724A1

## CPC

- G06F 16/176: Support for shared access to files; File sharing support
- G06F 16/14: Details of searching files based on file metadata
- G06F 16/148: {File search processing}
- G06F 16/164: {File meta data generation}
- G06F 16/1748: {De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641)}
- G06F 16/182: Distributed file systems
- G06F 16/2272: {Management thereof}
- G06F 16/322: {Trees}
- G06F 16/325: {Hash tables}
- G06F 16/3331: Query processing
- G06F 16/93: Document management systems
- G06F 16/94: {Hypermedia (Hyperlinking G06F40/134)}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure enables various computing technologies for sharing various files securely and selectively between various predefined user groups based on various predefined workflows. For each of the predefined workflows, the files are shared based on a data structure storing various document identifiers and various metadata tags, with the document identifiers mapping onto the metadata tags.

## Claims

### Claim 1

A method comprising:
serving, via a server, a user interface to a first application running on a first client, wherein the first client includes a user input device that receives a user input, wherein the user interface is configured to receive a first entity identifier, a second entity identifier, an action identifier, and a selection of a file based on the input;
receiving, via the server, the first entity identifier, the second entity identifier, and the action identifier from the first application;
receiving, via the server, a copy of the file based on the selection;
generating, via the server, a task identifier, a data structure, and a document identifier;
grouping, via the server, the data structure with the task identifier;
populating, via the server, the data structure with the document identifier, the first entity identifier, the second entity identifier, and the action identifier such that the document identifier maps onto the first entity identifier, the second entity identifier, and the action identifier;
hosting, via the server, a session with a second application running on a second client, wherein the session is associated with the second entity identifier and the action identifier;
associating, via the server, the second application with the task identifier during the session based on the second entity identifier associated with the session and the action identifier associated with the session matching the second entity identifier in the data structure and the action identifier in the data structure; and
sharing, via the server, the copy with the second application during the session based on the task identifier such that the copy is retrievable via the second application based on the document identifier in the data structure.

### Claim at position 2

2-3. (canceled)

### Claim 4 (depends on 1)

The method of claim 1, wherein the copy is received from the first application based on the selection.

### Claim 5 (depends on 1)

The method of claim 1, wherein the copy is received from a data source remote from the first client based on the selection.

### Claim 6 (depends on 1)

The method of claim 1, wherein each of the first entity identifier and the second entity identifier includes a legal entity identifier.

### Claim 7 (depends on 6)

The method of claim 6, wherein the legal entity identifier of the first entity identifier is identical to the legal entity identifier of the second entity identifier.

### Claim 8 (depends on 6)

The method of claim 6, wherein the legal entity identifier of the first entity identifier is different from the legal entity identifier of the second entity identifier.

### Claim 9 (depends on 1)

The method of claim 1, wherein the copy is a data file.

### Claim 10 (depends on 1)

The method of claim 1, wherein the copy is an executable file.

### Claim at position 10

11-28. (canceled)

### Claim 29 (depends on 1)

The method of claim 1, further comprising:
populating, via the server, the data structure with the task identifier such that the task identifier is mapped onto the document identifier.

### Claim 30

(canceled)

### Claim 31 (depends on 1)

The method of claim 1, further comprising:
accessing, via the server, a smart contract logic;
coupling, via the server, the data structure to the smart contract logic; and
causing, via the server, the smart contract logic to be executed based on the data structure.

### Claim 32 (depends on 1)

The method of claim 1, wherein the data structure includes a table storing the document identifier, the first entity identifier, the second entity identifier, and the action identifier.

### Claim 33 (depends on 32)

The method of claim 32, wherein the table includes a number of columns, wherein the number is static.

### Claim 34 (depends on 32)

The method of claim 32, wherein the table includes a number of columns, wherein the number is dynamic.

### Claim 35 (depends on 32)

The method of claim 32, wherein the table stores the document identifier, the first entity identifier, the second entity identifier, and the action identifier in at least one of a predefined order or a predefined cell arrangement.

### Claim 36 (depends on 32)

The method of claim 32, wherein the table does not store the document identifier, the first entity identifier, the second entity identifier, and the action identifier in at least one of a predefined order or a predefined cell arrangement.

### Claim 37 (depends on 1)

The method of claim 1, wherein the data structure includes a flat file storing the document identifier, the first entity identifier, the second entity identifier, and the action identifier.

### Claim 38 (depends on 1)

The method of claim 1, wherein the data structure includes an in-memory database storing the document identifier, the first entity identifier, the second entity identifier, and the action identifier.

### Claim 39 (depends on 1)

The method of claim 1, wherein the data structure includes at least one of a vector, a tree, a linked list, a queue, a stack, a matrix, an array, a hash, a heap, a multimap, a quadtree, or a graph storing the document identifier, the first entity identifier, the second entity identifier, and the action identifier.

### Claim at position 22

40-41. (canceled)

### Claim 42 (depends on 1)

The method of claim 1, further comprising:
creating, via the server, a block based on a mapping between the document identifier and a group, wherein the group includes at least one of the first entity identifier, the action identifier, the task identifier, or the second entity identifier;
inserting, via the server, the block into a block chain;
performing, via the server, a read of the block from the block chain; and
taking, via the server, an action based on the read.

### Claim 43 (depends on 42)

The method of claim 42, wherein the data structure stores the item identifier and the category identifier such that the document identifier maps onto the item identifier and the category identifier, wherein the group includes the item identifier and the category identifier.

### Claim 44 (depends on 1)

The method of claim 1, further comprising:
deduplicating, via the server, the copy before sharing the copy with the second application during the session.

### Claim 45 (depends on 44)

The method of claim 44, wherein the copy is deduplicated based on at least one of the first entity identifier, the second entity identifier, the action identifier, or the task identifier.

### Claim 46 (depends on 45)

The method of claim 45, wherein the copy is deduplicated based on the first entity identifier, the action identifier, and at least one of the task identifier or the second entity identifier.

### Claim 47 (depends on 45)

The method of claim 45, wherein the data structure stores the item identifier and the category identifier such that the document identifier maps onto the item identifier and the category identifier, wherein the copy is deduplicated based on the first entity identifier, the action identifier, the task identifier, the second entity identifier, and at least one of the item identifier or the category identifier.

### Claim 48 (depends on 1)

The method of claim 1, wherein the server is a single server.

### Claim at position 30

49-50. (canceled)
