IP Library Granted Patent US 11,544,487
Granted Patent B2
US 11,544,487 · App. 17/370,731 · Granted Jan 3, 2023

Large data transfer using visual codes with feedback confirmation

Inventors: Armin Ebrahimi (Palo Alto, CA); Gaurav Khot (Cupertino, CA); Bhavya Chauhan (Cupertino, CA)
Assignee: Ping Identity Corporation
G06K7/1417G09C5/00H04L9/0618H04L9/3236H04L9/3247H04L9/3263H04L9/50H04L2209/80
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 11,544,487
App. No.
17/370,731
Granted
Jan 3, 2023
Kind
B2
Abstract

A method of confirming receipt, including iteratively capturing by a receiving device visual codes in a series of visual codes displayed on a sending device. A corresponding captured visual code being from a display block that resulted from a partition of an original data file into display blocks, and wherein each display block is converted to a corresponding string and header including an ordered identifying display block number and a total count of the display blocks. Each corresponding string is converted to a corresponding visual code. Each of the captured visual codes is converted into a corresponding string and a header is read for the corresponding string. Captured display blocks are determined. A confirmation message is generated including information indicating which display blocks have been received. The confirmation message is sent over a wireless communication link to the sending device to reduce the number of visual codes being displayed.

Claims (45)

1. A method, comprising:

displaying each visual code in a series of visual codes using an output device of a sending device such that a receiving device receives the series of visual codes and reconstructs a data file based on the series of visual codes, each visual code in the series of visual codes generated from a portion of the data file;

receiving a set of confirmation messages, from the receiving device, indicating a first subset of visual codes from the series of visual codes that has been received by the receiving device; and

causing, based on the set of confirmation messages, each visual code in the first subset of visual codes to no longer display using the output device of the sending device, while continuing to display using the output device each visual code in a second subset of visual codes from the series of visual codes that has not been indicated as received by the receiving device.

2. The method of claim 1 , further comprising:

displaying, using the output device of the sending device, an initial visual code; and

establishing a communication link between the sending device and the receiving device using the initial visual code.

3. The method of claim 1 , further comprising:

portioning the data file into a plurality of display blocks having at least a specified size;

including a total count of the plurality of display blocks and a unique display block identifier in each display block from the plurality of display blocks; and

generating the series of visual codes using the plurality of display blocks.

4. The method of claim 1 , wherein receiving the set of confirmation messages from the receiving device includes capturing, using a camera associated with the sending device, a set of visual confirmation codes (1) displayed on the receiving device, and (2) representing the set of confirmation messages.

5. The method of claim 1 , wherein each confirmation message from the set of confirmation messages includes: (1) a first portion for identifying a visual code from the set of visual codes associated with the confirmation message; and (2) a second portion that is set to a first value when the visual code associated with the confirmation message has been received by the receiving device, and is set to a second value when the visual code associated with the confirmation message has not been received by the receiving device.

6. The method of claim 1 , wherein at least one of the sending device or the receiving device has no internet connectivity.

7. The method of claim 1 , wherein the data file includes biometric data.

8. An apparatus, comprising:

an input device;

a memory; and

a processor of a receiving device, the processor operatively coupled to the input device and the memory, the processor configured to:

receive, from a sending device, a subset of visual codes in a series of visual codes using the input device, each visual code in the series of visual codes generated from a non-identical portion of a data file;

send a set of confirmation messages, to the sending device, indicating that a subset of visual codes from the series of visual codes has been received by the receiving device such that the sending device, causes, based on the set of confirmation messages, each visual code in the subset of visual codes to no longer display using an output device of the sending device; and

reconstruct the data file based on the series of visual codes after each visual code from the series of visual codes has been received.

9. The apparatus of claim 8 , wherein the processor is further configured to:

receive, using the input device, an initial visual code; and

establish a communication link between the sending device and the receiving device using the initial visual code.

10. The apparatus of claim 8 , wherein each visual code from the series of visual codes is associated with a display block from a plurality of display blocks having at least a specified size, each display block from the plurality of display blocks includes a total count of the plurality of display blocks and a unique display block identifier for that display block.

11. The apparatus of claim 8 , wherein each visual code in the series of visual codes is displayed in a repeating progression by the sending device during the receiving.

12. The apparatus of claim 8 , wherein each confirmation message from the set of confirmation messages includes: (1) a first portion for identifying the visual code; and (2) a second portion that is set to a first value when the visual code has been received by the receiving device, and is set to a second value when the visual code has not been received by the receiving device.

13. The apparatus of claim 8 , wherein at least one of the sending device or the receiving device has no internet connectivity.

14. The apparatus of claim 8 , wherein the data file includes an image.

15. A non-transitory processor-readable storage medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:

cause display of a first visual code using an output device associated with a first device such that a second device receives the first visual code at a first time, the first visual code generated from a first portion of a data file;

cause display of a second visual code using the output device associated with the first device such that the second device receives the second visual code at a second time after the first time, the second visual code generated from a second portion of the data file and different than the first portion of the data file;

cause display of a third visual code using the output device associated with the first device such that the second device receives the third visual code at a third time after the first time and the second time, the third visual code generated from a third portion of the data file and different than the first portion of the data file and the second portion of the data file;

receive, from the second device and at a fourth time after the first time, a first confirmation message indicating that the first visual code has been received by the second device;

in response to receiving the first confirmation message, cause the first visual code to no longer display using the output device associated with the first device, while continuing to display the second visual code and the third visual code using the output device associated with the first device;

receive, from the second device and at a fifth time after the fourth time, a second confirmation message indicating that the second visual code has been received by the second device; and

in response to receiving the second confirmation message, cause the second visual code to no longer display using the output device associated with the first device, while continuing to display the third visual code using the output device associated with the first device.

16. The non-transitory processor-readable storage medium of claim 15 , further comprising code to cause the processor to:

display, using the output device associated with the first device, an initial visual code; and

establish a communication link between the first device and the second device using the initial visual code.

17. The non-transitory processor-readable storage medium of claim 15 , wherein the first confirmation message includes: (1) a first portion for identifying the visual code; and (2) a second portion that is set to a first value when the visual code has been received by the second device, and is set to a second value when the visual code has not been received by the second device.

18. The non-transitory processor-readable storage medium of claim 15 , wherein at least one of the first device or the second device has no internet connectivity.

19. The non-transitory processor-readable storage medium of claim 15 , wherein the data file includes a timestamp.

20. The non-transitory processor-readable storage medium of claim 15 , wherein the first device is at least one of a mobile device, a smartphone, a wearable device, or a smartwatch.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: SHOCARD, LLC
To: PING IDENTITY CORPORATION
Reel/Frame 056802/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: SHOCARD, INC.
To: SHOCARD, LLC
Reel/Frame 056819/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: EBRAHIMI, ARMIN; KHOT, GAURAV; CHAUHAN, BHAVYA
To: SHOCARD, INC.
Reel/Frame 056802/0034 →
Continuity (6)
Continuation 16697110 · Nov 26, 2019
Continuation 15784093 · Oct 14, 2017
Continuation In Part 15208580 · Jul 12, 2016
Provisional Application 62408699 · Oct 14, 2016
Provisional Application 62304934 · Mar 7, 2016
Related Publication 20210406495A1 · Dec 30, 2021
Cited By (2)
US 12,518,278 US 12,609,817