IP Library Granted Patent US 10,740,584
Granted Patent B2
US 10,740,584 · App. 16/019,411 · Granted Aug 11, 2020

Transferring data files using a series of visual codes

Inventors: Armin Ebrahimi (Palo Alto, CA); Gaurav Khot (Cupertino, CA)
Assignee: Ping Identity Corporation
G06K7/1439G06K7/1095G06K19/06037G06K19/06112G09C5/00H04L9/14H04L9/30H04L9/3236H04L9/3247H04L9/3271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,740,584
App. No.
16/019,411
Granted
Aug 11, 2020
Kind
B2
Abstract

Software on an image-capturing device iteratively captures a visual code in a series of visual codes displayed in a repeating progression on a screen of a mobile device. The visual code was generated from a display block that resulted from a partition of an original data file into a series of display blocks of at least a specified size. The software converts the visual code back into a display block and reads a header for the display block, discarding the display block if it has already been captured, as determined by the ordered identifying block number in a header. The software stops the iterative capturing when all of the display blocks in the series have been captured, as determined by the count in the header and coalesces the captured display blocks into the original data file, using an order determined by the ordered identifying block numbers.

Claims (50)

1. A method, comprising operations of:

partitioning a data file into a plurality of data segments;

converting the plurality of data segments into a series of display blocks, wherein each display block includes a corresponding header identifying a position within the series of display blocks; and

iteratively displaying each of the display blocks in the series of display blocks in a repeating progression on a screen of a mobile device for capture by an image-capturing device which is configured to coalesce the captured display blocks back to the data file as a coalesced data file, using an order determined from corresponding headers;

wherein the image-capturing device is configured to verify integrity of the coalesced data file using information accessed from a blockchain database based on a hash of the coalesced data file and a seal accessed from the blockchain database that is generated from the data file that is hashed and signed using a private key of the mobile device in order to verify that the coalesced data file that is hashed matches the contents of the seal using a public key paired with the private key of the mobile device and a verification algorithm.

2. The method of claim 1 , wherein the corresponding header includes an identifying block number and a count of the display blocks in the series of display blocks.

3. The method of claim 1 , wherein the partitioning of the data file includes selecting a size for each of the plurality of data segments to enable correspondence to a predetermined size of the display blocks in the series of display blocks.

4. The method of claim 1 , wherein the iteratively displaying each of the display blocks in the series of display blocks causes a rotation of the display blocks displayed in a loop that repeats until each of the display blocks in the series of display blocks are confirmed captured by the image-capturing device.

5. The method of claim 1 , wherein each of the display blocks in the series of display blocks is a visual code comprising a QR code or bar code.

6. The method of claim 1 , further comprising:

encrypting the data file using a public key of the image-capturing device before partitioning the data file that is encrypted into the plurality of data segments,

wherein the image-capturing device is configured to coalesce the captured display blocks and decrypt the captured display blocks that are coalesced into the coalesced data file using a private key that is paired with the public key of the image-capturing device.

7. The method of claim 1 , further comprising:

including a certification with the data file before partitioning into the plurality of data segments, wherein the certification certifies the data file and is used to verify the validity of the data file, the certification based on contents of the data file and the seal stored in the blockchain database.

8. The method of claim 1 , wherein the image-capturing device is configured as a kiosk.

9. The method of claim 1 , wherein the image-capturing device is provided in association with an airline.

10. The method of claim 1 , wherein the data file is an image file.

11. The method of claim 1 , wherein the data file contains biometric data.

12. The method of claim 1 , wherein the blockchain database receives data for storage from a plurality of entities, the data received for storage is configured to be processed to generate a transaction record that is dependent on previous data stored to the blockchain database, wherein the transaction record being dependent on previous data stored to the blockchain database ensures that the data stored to the blockchain database is not modifiable, as later data stored to the blockchain database continues to be dependent on previous data stored to the blockchain database.

13. A computer system comprising:

a processor; and

memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method comprising:

partitioning a data file into a plurality of data segments;

converting the plurality of data segments into a series of display blocks, wherein each display block includes a corresponding header identifying a position within the series of display blocks; and

iteratively displaying each of the display blocks in the series of display blocks in a repeating progression on a screen of a mobile device for capture by an image-capturing device which is configured to coalesce the captured display blocks back to the data file as a coalesced data file, using an order determined from corresponding headers;

wherein the image-capturing device is configured to verify integrity of the coalesced data file using information accessed from a blockchain database based on a hash of the coalesced data file and a seal accessed from the blockchain database that is generated from the data file that is hashed and signed using a private key of the mobile device in order to verify that the coalesced data file that is hashed matches the contents of the seal using a public key paired with the private key of the mobile device and a verification algorithm.

14. The computer system of claim 13 , wherein in the method the partitioning of the data file includes selecting a size for each of the plurality of data segments to enable correspondence to a predetermined size of the display blocks in the series of display blocks.

15. The computer system of claim 13 , wherein in the method the iteratively displaying each of the display blocks in the series of display blocks causes a rotation of the display blocks displayed in a loop that repeats until each of the display blocks in the series of display blocks are confirmed captured by the image-capturing device.

16. The computer system of claim 13 , wherein in the method each of the display blocks in the series of display blocks is a visual code comprising a QR code or bar code.

17. The computer system of claim 13 , the method further comprising:

encrypting the data file using a public key of the image-capturing device before partitioning the data file that is encrypted into the plurality of data segments,

wherein the image-capturing device is configured to coalesce the captured display blocks and decrypt the captured display blocks that are coalesced into the coalesced data file using a private key paired with the public key of the image capturing device.

18. The computer system of claim 13 , the method further comprising:

including a certification with the data file before partitioning into the plurality of data segments, wherein the certification certifies the data file and is used to verify the validity of the data file, the certification based on contents of the data file and the seal stored in the blockchain database.

19. The computer system of claim 13 , wherein the image-capturing device is configured as a kiosk provided in association with an airline.

20. The computer system of claim 13 , wherein the data file contains biometric data.

21. A non-transitory computer-readable medium storing a computer program for implementing a method, the computer-readable medium comprising:

program instructions for partitioning a data file into a plurality of data segments;

program instructions for converting the plurality of data segments into a series of display blocks, wherein each display block includes a corresponding header identifying a position within the series of display blocks; and

program instructions for iteratively displaying each of the display blocks in the series of display blocks in a repeating progression on a screen of a mobile device for capture by an image-capturing device which is configured to coalesce captured display blocks back to the data file as a coalesced data file, using an order determined from corresponding headers;

wherein the image-capturing device is configured to verify integrity of the coalesced data file using information accessed from a blockchain database based on a hash of the coalesced data file and a seal accessed from the blockchain database that is generated from the data file that is hashed and signed using a private key of the mobile device in order to verify that the coalesced data file that is hashed matches the contents of the seal using a public key paired with the private key of the mobile device and a verification algorithm.

22. The computer-readable medium of claim 21 , wherein the program instructions for partitioning of the data file includes program instructions for selecting a size for each of the plurality of data segments to enable correspondence to a predetermined size of the display blocks in the series of display blocks.

23. The computer-readable medium of claim 21 , wherein the program instructions for iteratively displaying each of the display blocks in the series of display blocks causes a rotation of the display blocks displayed in a loop that repeats until each of the display blocks in the series of display blocks are confirmed captured by the image-capturing device.

24. The computer-readable medium of claim 21 , further comprising:

program instructions for encrypting the data file using a public key of the image-capturing device before partitioning the data file that is encrypted into the plurality of data segments,

wherein the image-capturing device is configured to coalesce the captured display blocks and decrypt the captured display blocks that are coalesced into the coalesced data file using a private key that is paired with the public key of the image-capturing device.

25. The computer-readable medium of claim 21 , further comprising:

program instructions for including a certification with the data file before partitioning into the plurality of data segments, wherein the certification certifies the data file and is used to verify the validity of the data file, the certification based on contents of the data file and the seal stored in the blockchain database.

26. The computer-readable medium of claim 21 , wherein in the method the image-capturing device is configured as a kiosk provided in association with an airline.

27. The computer system of claim 21 , wherein the data file contains biometric data.

Assignments (10)
RELEASE OF SECURITY INTEREST AT R/F 61703/0988 Recorded Nov 14, 2025
From: BLUE OWL CAPITAL CORPORATION
To: PING IDENTITY CORPORATION
Reel/Frame 073570/0777 →
SECURITY INTEREST Recorded Nov 13, 2025
From: PING IDENTITY CORPORATION; PING IDENTITY INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073557/0093 →
RELEASE OF SECURITY INTEREST Recorded Oct 19, 2022
From: BANK OF AMERICA, N.A.
To: PING IDENTITY CORPORATION
Reel/Frame 061709/0527 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Oct 18, 2022
From: PING IDENTITY CORPORATION
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061703/0988 →
SECURITY INTEREST Recorded Nov 23, 2021
From: PING IDENTITY CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 058944/0687 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2021
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: SHOCARD, LLC
Reel/Frame 058195/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: EBRAHIMI, ARMIN; KHOT, GAURAV
To: SHOCARD, INC.
Reel/Frame 053013/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2020
From: SHOCARD, LLC
To: PING IDENTITY CORPORATION
Reel/Frame 052889/0793 →
CHANGE OF NAME Recorded Apr 17, 2020
From: SHOCARD, INC.
To: SHOCARD, LLC
Reel/Frame 052435/0009 →
PATENT SECURITY AGREEMENT Recorded Apr 1, 2020
From: SHOCARD, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052291/0082 →
Continuity (3)
Continuation 15208580 · Jul 12, 2016
Provisional Application 62304934 · Mar 7, 2016
Related Publication 20180307883A1 · Oct 25, 2018
Cited By (3)
US 12,387,623 US 12,469,411 US 12,518,278