# US 11,113,241 B1 · Computer application for blockchaining files through a graphical user interface

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

- Number: US 11,113,241 B1
- Document ID: US11113241B1
- Status: Granted
- Kind: B1
- Application number: 17/100,816
- Filed: 2020-11-21
- Granted: 2021-09-07
- Earliest claimed: 2020-08-22
- Applicants: Tyson York Winarski
- Inventors: Tyson York Winarski
- Web page: https://patentgrep.com/patent/US11113241B1

## CPC

- G06F 16/168: {Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs (query results presentation G06F16/156)}
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0486: Drag-and-drop
- G06F 9/451: Execution arrangements for user interfaces
- G06F 16/116: {Details of conversion of file system types or formats}
- G06F 16/137: {Hash-based (content-based indexing of textual data G06F16/31)}
- G06F 16/188: Virtual file systems
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- 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

The present specification discloses a blockchain computer application. This blockchain computer application includes a Graphical User Interface (GUI) that supports the organization and blockchaining of files to a blockchain. This GUI includes a virtual blockchain organizational tool onto which users can drag and drop files and organize them into various virtual blockchain blocks without permanently attaching those files to an actual blockchain until the virtual blockchain is converted to an actual blockchain. The conversion process preserves the organizational structure of the files set within the virtual blockchain. Files may also be automatically blockchained to a specific blockchain by dragging them and dropping them onto a blockchain application desktop icon. Files may also be automatically blockchained to specific blockchains by dragging them and dropping them onto a blockchain icon within the GUI where each blockchain icon is directly associated with a separate blockchain.

## Claims

### Claim 1

A non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application, comprising:
displaying one or more virtual blockchain blocks on a Graphical User Interface (GUI);
applying rules to the one or more virtual blockchain blocks that prevent files from being associated to specified virtual blockchain blocks based on file criteria;
associating files with the one or more virtual blockchain blocks through selecting a file from a file manager and identifying one of several virtual blockchain blocks to which the selected file is to be associated with through the use of a Graphical User Interface (GUI) pointing device and then adding metadata identifying the selected file to the one identified virtual blockchain block; and
converting the one identified virtual blockchain block to an actual new blockchain block added to a blockchain by accessing the selected file using the metadata from the one identified virtual blockchain block and creating a blockchain hash based on the selected file and a previous blockchain block, wherein the actual new blockchain block includes the blockchain hash and the selected file as data.

### Claim 2 (depends on 1)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 1, wherein the file criteria is selected from the group consisting of file type, file name, file metadata, an application associated with the file, and file size.

### Claim 3 (depends on 1)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 1, further comprising:
displaying two or more virtual blockchain blocks on the GUI at a time to enable different files selected from the file manager to be associated with different virtual blockchain blocks prior to adding them to the blockchain.

### Claim 4 (depends on 3)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 3, further comprising:
adding more than one file to one virtual blockchain block; and
combining the more than one file into a single contiguous file prior to adding it to the blockchain through a blockchain hashing process, wherein the single contiguous file is a ZIP file.

### Claim 5 (depends on 4)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 4, further comprising:
adding different types of files to one virtual blockchain block, wherein the different types of files are selected from the group consisting of word processing files, spreadsheet files, executable files, image files, media files, video files, music files, text files, message files, email files, financial records, medical records, tax records, telephone records, and data files.

### Claim 6 (depends on 1)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 1, wherein the virtual blockchain blocks do not contain blockchain hash information from the blockchain or from other virtual blockchain blocks, wherein each virtual blockchain block is converted into the actual new blockchain block while preserving the organization of files amongst the different virtual blockchain blocks as specified by the associated metadata.

### Claim 7 (depends on 6)

The non-transitory computer containing instructions for a method of creating blockchains that have files as data using a computer application of claim 6, further comprising:
distributing the actual new blockchain block onto a public distributed network, or onto a private distributed network formed of personal devices selected from the group consisting of a personal computer, an external drive, a mobile phone, a tablet, and a cloud storage system.

### Claim 8 (depends on 1)

The non-transitory computer medium containing instructions for a method of creating blockchains that have files as data using a computer application of claim 1, wherein associating files with the one or more virtual blockchain blocks is a foreground computer process, wherein converting the one identified virtual blockchain block to an actual new blockchain block is a background computer process.

### Claim 9

A non-transitory computer medium containing instructions for a method of creating new blockchain blocks from files for a blockchain using a computer application, comprising:
selecting a file from a Graphical User Interface (GUI) with a pointing device;
associating metadata from the selected file with a blockchain by dragging and dropping an icon of the selected file onto a desktop icon for a blockchain computer application in a foreground computer process; and
automatically creating a new blockchain block based on the selected file and a hash digest from a blockchain block from an end of the blockchain with the blockchain computer application in a background computer process directly upon the dragging and dropping of the icon of the selected file onto the desktop icon.

### Claim 10 (depends on 9)

The non-transitory computer medium of claim 9, further comprising accessing the selected file based on the associated metadata from a storage device with the blockchain computer application for creating the new blockchain block based on it.

### Claim 11 (depends on 10)

The non-transitory computer medium of claim 10, further comprising selecting the blockchain for appending the new blockchain block to through the blockchain computer application, wherein a single instance of dragging and dropping a file onto the desktop icon creates a single blockchain block, or wherein each file that is dragged and dropped onto the desktop icon creates a separate blockchain block, or separate instances of dragging and dropping files onto the desktop icon produces separate new blockchain blocks.

### Claim 12 (depends on 11)

The non-transitory computer medium of claim 11, further comprising automatically appending the new blockchain block to the blockchain with the blockchain computer application and distributing the new blockchain block onto a distributed network.

### Claim 13 (depends on 12)

The non-transitory computer medium of claim 12, further comprising accessing the blockchain from a distributed network or a local storage device with the blockchain computer application.

### Claim 14 (depends on 9)

The non-transitory computer medium of claim 9, further comprising accessing metadata from the from the blockchain to determine the hash algorithm used in order to apply it to the new blockchain block, and generating a metadata wrapper for the new blockchain block that is in conformance with the format of metadata wrappers used for the blockchain based on accessing metadata from the blockchain.

### Claim 15

A non-transitory computer medium containing instructions for a method of creating new blockchain blocks from files for a blockchain using a computer application, comprising:
displaying multiple different blockchain icons on a Graphical User Interface (GUI) for a blockchain application, wherein each blockchain icon is associated with a different blockchain;
associating metadata for a file with one of the different blockchains by dragging and dropping a file icon associated with the file onto the blockchain icon associated with that one blockchain with a foreground computer process; and
automatically blockchaining the file to that one blockchain by generating a new blockchain block containing the file as data with a background computer process directly upon the dragging and dropping of the file icon onto the blockchain icon.

### Claim 16 (depends on 15)

The non-transitory computer medium of claim 15, further comprising designating rules for a blockchain icon as to whether a specific file can have its metadata associated with any of the different blockchains based on criteria of the specific file contained within its metadata.

### Claim 17 (depends on 16)

The non-transitory computer medium of claim 16, wherein the criteria include file size, file type, a computer application associated with the file, hashtags specified within the metadata of the specific file, or file date.

### Claim 18 (depends on 16)

The non-transitory computer medium of claim 16, wherein the specific file is not allowed to be dropped and dragged onto a blockchain icon that has a rule that prevents it from being blockchained to the associated blockchain.

### Claim 19 (depends on 18)

The non-transitory computer medium of claim 18, wherein the specific file is allowed to be dropped and dragged onto a blockchain icon that lacks a rule that prevents it from being blockchained to the associated blockchain.

### Claim 20 (depends on 15)

The non-transitory computer medium of claim 15, further comprising accessing metadata from the from the one blockchain to determine the hash algorithm used in order to apply it to the new blockchain block, and generating a metadata wrapper for the new blockchain block that is in conformance with the format of metadata wrappers used for the one blockchain based on accessing metadata from the one blockchain.
