# US 2018/0025170 A1 · File transfer using an in-browser staging database

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

- Number: US 2018/0025170 A1
- Document ID: US20180025170A1
- Status: Published application
- Kind: A1
- Application number: 15/215,977
- Filed: 2016-07-21
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: Zyptonite, Inc.
- Applicants: Zyptonite, Inc.
- Inventors: Harri Hursti; Misa Munde
- Web page: https://patentgrep.com/patent/US20180025170A1

## CPC

- H04L 63/166: {at the transport layer}
- G06F 9/45529: {Embedded in an application, e.g. JavaScript in a Web browser}
- G06F 16/95: Retrieval from the web
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- G06F 2221/2149: Restricted operating environment
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for data transfer include storing received data chunks in a staging database that is implemented within a browser sandbox. The stored data chunks into a single file. The single file is saved to a memory outside of the staging database.

## Claims

### Claim 1

A method for data transfer, comprising:
storing a plurality of received data chunks in a staging database that is implemented within a browser sandbox;
assembling the stored data chunks into a single file using a processor; and
saving the single file to a memory outside of the staging database.

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving the plurality of received data chunks with a data transfer protocol implemented within the browser sandbox.

### Claim 3 (depends on 2)

The method of claim 2, wherein the data transfer protocol and the staging database are implemented in JAVASCRIPT®.

### Claim 4 (depends on 3)

The method of claim 3, wherein the data transfer protocol is implemented using one of a group consisting of WebSocket and WebRTC.

### Claim 5 (depends on 2)

The method of claim 2, wherein the data transfer protocol does not employ native browser data transfer tools.

### Claim 6 (depends on 1)

The method of claim 1, further comprising performing on-the-fly processing of the stored data chunks in the staging database before the stored data chunks are assembled into a single file.

### Claim 7 (depends on 6)

The method of claim 6, wherein on-the-fly processing of the stored data chunks performs at least one function selected from the group consisting of encryption, decryption, compression, decompression, serialization, error correction decoding, and malware inspection.

### Claim 8 (depends on 1)

The method of claim 1, wherein the received data chunks are encrypted on a per-chunk basis according to a first encryption protocol.

### Claim 9 (depends on 8)

The method of claim 8, wherein the received data chunks are furthermore encrypted using transport layer security.

### Claim 10 (depends on 1)

A computer readable storage medium comprising a computer readable program for data transfer, wherein the computer readable program when executed on a computer causes the computer to perform the steps of claim 1.

### Claim 11

A method for data transfer, comprising:
receiving a plurality of data chunks with a data transfer protocol implemented within a browser sandbox, wherein the data transfer protocol does not employ native browser data transfer tools;
storing a plurality of received data chunks in a staging database that is implemented within the browser sandbox;
performing on-the-fly processing of the stored data chunks in the staging database;
assembling the stored data chunks into a single file using a processor; and
saving the single file to a memory outside of the staging database.

### Claim 12

A system for data transfer, comprising:
a processor;
a memory;
a web browser residing in the memory and executed by the processor that comprises a sandbox; and
a staging database implemented within the web browser sandbox configured to store a plurality of received data chunks, wherein the web browser implements a data transfer protocol in the sandbox configured to assemble the stored data chunks into a single file and to save the single file to a memory outside of the staging database.

### Claim 13 (depends on 11)

The system of claim 11, wherein the transfer protocol is further configured to receive the plurality of received data chunks.

### Claim 14 (depends on 13)

The system of claim 13, wherein the data transfer protocol and the staging database are implemented in JAVASCRIPT®.

### Claim 15 (depends on 14)

The system of claim 14, wherein the data transfer protocol is implemented using one of a group consisting of WebSocket and WebRTC.

### Claim 16 (depends on 13)

The system of claim 13, wherein the data transfer protocol does not employ native browser data transfer tools.

### Claim 17 (depends on 11)

The system of claim 11, further comprising a browser extension configured to perform on-the-fly processing of the stored data chunks in the staging database before the stored data chunks are assembled into a single file.

### Claim 18 (depends on 17)

The system of claim 17, wherein on-the-fly processing of the stored data chunks performs at least one function selected from the group consisting of encryption, decryption, compression, decompression, serialization, error correction decoding, and malware inspection.

### Claim 19 (depends on 11)

The system of claim 11, wherein the received data chunks are encrypted on a per-chunk basis according to a first encryption protocol.

### Claim 20 (depends on 19)

The system of claim 19, wherein the received data chunks are furthermore encrypted using transport layer security.
