IP Library Granted Patent US 9,979,723
Granted Patent B1
US 9,979,723 · App. 15/015,817 · Granted May 22, 2018

User credentials

Inventors: Michael J. Saylor (Vienna, VA); Gang Chen (Vienna, VA); Kirill Butin (Vienna, VA); Roman Zolin (Vienna, VA); Hector Vazquez (Ashburn, VA)
Assignee: MicroStrategy Incorporated
H04L63/0861
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 9,979,723
App. No.
15/015,817
Granted
May 22, 2018
Kind
B1
Abstract

Obtaining and/or validating user credentials at client devices is described. A phrase may be generated based on one or more index values determined according to a function of time and a credential identifier identifying a user credential. The phrase may be output by the client device for validating the user credential.

Claims (64)

1. A non-transitory computer-readable storage medium storing instructions executable by one or more processors in an electronic device which, upon such execution, cause the electronic device to perform operations comprising:

obtaining, by the one or more processors in the electronic device, a credential identifier that identifies a credential granted to a user;

receiving, by the electronic device, synchronization data from one or more servers;

synchronizing, by the one or more processors, a timing device of the electronic device with a time of the one or more servers based on the synchronization data;

after synchronizing the timing device of the electronic device, obtaining, by the one or more processors, a time indicated by the synchronized timing device of the electronic device;

determining, by the one or more processors, one or more parameters using the credential identifier and the time indicated by the synchronized timing device of the electronic device, wherein the one or more processors are configured to determine different values for the one or more parameters having different values for different times obtained from the synchronized timing device;

generating, by the one or more processors, a representation for the credential according to the one or more parameters determined using the credential identifier and the time indicated by the synchronized timing device of the electronic device; and

controlling, by the one or more processors, one or more of a display and a speaker to output the representation for the credential to indicate possession of the credential.

2. The non-transitory computer-readable medium of claim 1 , wherein controlling, by the one or more processors, the one or more of a display and a speaker to output the representation for the credential comprises displaying a graphical representation at the display of the electronic device.

3. The non-transitory computer-readable medium of claim 2 , wherein the graphical representation includes a fractal or a three-dimensional rendering of an object, and

wherein controlling the one or more of a display and a speaker to output the representation for the credential comprises outputting the fractal or the three-dimensional rendering of the object to the display of the electronic device in a manner that enables a credential authority to validate the credential by visual inspection of the fractal or the three-dimensional rendering of the object.

4. The non-transitory computer-readable medium of claim 1 , wherein the one or more parameters define at least a shape included in the representation for the credential.

5. The non-transitory computer-readable medium of claim 1 , wherein generating, by the one or more processors, the representation for the credential comprises generating, independent of a second electronic device, the representation for the credential using the one or more parameters, the representation for the credential matching a time-varying representation of the credential generated by the second electronic device.

6. The non-transitory computer-readable medium of claim 5 , wherein the representation for the credential encodes data that matches time-varying data utilized by the second electronic device to generate the time-varying representation of the credential.

7. The non-transitory computer-readable medium of claim 1 , wherein the operations further comprise:

upon expiration of a time period during which the representation for the credential is valid, obtaining an updated time from the synchronized timing device of the electronic device;

updating the one or more parameters based on the credential identifier and the updated time obtained from the synchronized timing device of the electronic device;

based on the updated one or more parameters, generating an updated representation for the credential granted to the user; and

outputting the updated representation in a manner that enables the credential authority to validate the credential.

8. The non-transitory computer-readable medium of claim 1 , wherein the operations further comprise outputting, to the display of the electronic device, a representation of the timer in the electronic device during output of the representation for the credential, the representation of the timer in the electronic device showing a time that counts down to expiration of the representation for the credential.

9. The non-transitory computer-readable medium of claim 1 , wherein generating, by the one or more processors, the representation for the credential comprises:

generating an index value using the credential identifier and the time indicated by the synchronized timing device;

selecting, using the index value, one or more objects from a collection of objects; and

rendering the representation for the credential based on the selected one or more objects.

10. A system comprising:

one or more processors and one or more computer storage media storing instructions that are operable and when executed by the one or more processors, cause the one or more processors to perform operations comprising:

obtaining a credential identifier that identifies a credential granted to a user;

receiving synchronization data from one or more servers;

synchronizing a timing device of an electronic device with a time of the one or more servers based on the synchronization data;

after synchronizing the timing device of the electronic device, obtaining a time indicated by the synchronized timing device of the electronic device;

determining one or more parameters using the credential identifier and the time indicated by the synchronized timing device of the electronic device, wherein the one or more processors are configured to determine different values for the one or more parameters having different values for different times obtained from the synchronized timing device;

generating a representation for the credential according to the one or more parameters determined using the credential identifier and the time indicated by the synchronized timing device of the electronic device; and

controlling one or more of a display and a speaker to output the representation for the credential to indicate possession of the credential.

11. The system of claim 10 , wherein controlling the one or more of a display and a speaker to output the representation for the credential comprises displaying a graphical representation at the display of the electronic device.

12. The system of claim 11 , wherein the graphical representation includes a fractal or a three-dimensional rendering of an object, and

wherein controlling the one or more of a display and a speaker to output the representation for the credential comprises outputting the fractal or the three-dimensional rendering of the object to the display of the electronic device in a manner that enables a credential authority to validate the credential by visual inspection of the fractal or the three-dimensional rendering of the object.

13. The system of claim 10 , wherein the operations further comprise:

upon expiration of a time period during which the representation for the credential is valid, obtaining an updated time from the synchronized timing device of the electronic device;

updating the one or more parameters based on the credential identifier and the updated time obtained from the synchronized timing device of the electronic device;

based on the updated one or more parameters, generating an updated representation for the credential granted to the user; and

outputting the updated representation in a manner that enables the credential authority to validate the credential.

14. The system of claim 10 , wherein the operations further comprise outputting, to the display of the electronic device, a representation of the timer in the electronic device during output of the representation for the credential, the representation of the timer in the electronic device showing a time that counts down to expiration of the representation for the credential.

15. A method comprising:

obtaining, by one or more processors in an electronic device, a credential identifier that identifies a credential granted to a user;

receiving, by the electronic device, synchronization data from one or more servers;

synchronizing, by the one or more processors, a timing device of the electronic device with a time of the one or more servers based on the synchronization data;

after synchronizing the timing device of the electronic device, obtaining, by the one or more processors, a time indicated by the synchronized timing device of the electronic device;

determining, by the one or more processors, one or more parameters using the credential identifier and the time indicated by the synchronized timing device of the electronic device, wherein the one or more processors are configured to determine different values for the one or more parameters having different values for different times obtained from the synchronized timing device;

generating, by the one or more processors, a representation for the credential according to the one or more parameters determined using the credential identifier and the time indicated by the synchronized timing device of the electronic device; and

controlling, by the one or more processors, one or more of a display and a speaker to output the representation for the credential to indicate possession of the credential.

16. The method of claim 15 , wherein controlling, by the one or more processors, the one or more of a display and a speaker to output the representation for the credential comprises displaying a graphical representation at the display of the electronic device.

17. The method of claim 16 , wherein the graphical representation includes a fractal or a three-dimensional rendering of an object, and

wherein controlling the one or more of a display and a speaker to output the representation for the credential comprises outputting the fractal or the three-dimensional rendering of the object to the display of the electronic device in a manner that enables a credential authority to validate the credential by visual inspection of the fractal or the three-dimensional rendering of the object.

18. The method of claim 15 , further comprising:

upon expiration of a time period during which the representation for the credential is valid, obtaining an updated time from the synchronized timing device of the electronic device;

updating the one or more parameters based on the credential identifier and the updated time obtained from the synchronized timing device of the electronic device;

based on the updated one or more parameters, generating an updated representation for the credential granted to the user; and

outputting the updated representation in a manner that enables the credential authority to validate the credential.

19. The method of claim 15 , further comprising:

outputting, to the display of the electronic device, a representation of the timer in the electronic device during output of the representation for the credential, the representation of the timer showing a time that counts down to expiration of the representation for the credential.

20. The method of claim 15 , wherein generating, by the one or more processors, the representation for the credential comprises:

generating an index value using the credential identifier and the time indicated by the synchronized timing device;

selecting, using the index value, one or more objects from a collection of objects; and

rendering the representation for the credential based on the selected one or more objects.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072909/0779 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: SAYLOR, MICHAEL J.; CHEN, GANG
To: MICROSTRATEGY INCORPORATED
Reel/Frame 045610/0289 →
Continuity (3)
Continuation 13914373 · Jun 10, 2013
Provisional Application 61670456 · Jul 11, 2012
Provisional Application 61691526 · Aug 21, 2012