IP Library Granted Patent US 9,640,001
Granted Patent B1
US 9,640,001 · App. 13/957,020 · Granted May 2, 2017

Time-varying representations of user credentials

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,640,001
App. No.
13/957,020
Granted
May 2, 2017
Kind
B1
Abstract

Obtaining and/or validating time-varying representations for user credentials at client devices is described.

Claims (84)

1. One or more non-transitory computer-readable media storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, at a server, a validation request from a processing system associated with a validation entity, the validation request comprising a set of alphanumeric characters, wherein the set of alphanumeric characters were derived from a time-varying representation for a credential, wherein the time-varying representation for the credential comprises at least one from the group consisting of (i) a time-varying optical machine-readable representation for the credential and (ii) a time-varying code rendered as a sound signal, the sound signal having a frequency greater than 20 kHz, the set of alphanumeric characters comprising data corresponding to a key associated with a user, a credential identifier identifying the credential, and a first time at a client device;

determining, at the server, that the key is associated with the credential identifier;

obtaining, at the server, a second time from a timing device;

determining, at the server, that the second time from the timing device is within a predetermined amount of time of the first time at the client device; and

at the server, responsive to determining that the key is associated with the credential identifier, and that the second time is within a predetermined amount of time of the first time, communicating to the processing system a validation response indicating that the credential is validated.

2. The one or more non-transitory computer-readable media of claim 1 wherein receiving the validation request from the processing system associated with the validation entity comprises receiving the validation request via SMS from the processing system associated with the validation entity.

3. The one or more non-transitory computer-readable media of claim 1 , wherein the operations further comprise:

responsive to determining, at the server, that the key is associated with the credential identifier and that the second time from the timing device is within the predetermined amount of time of the first time at the client device:

obtaining, at the server, an image of the user; and

transmitting, from the server to the processing system, the image of the user.

4. The one or more non-transitory computer-readable media of claim 1 wherein determining, at the server, that the key is associated with the credential identifier comprises:

querying a database using the credential identifier to obtain a record corresponding to the credential identifier; and

determining that the record includes the key.

5. The one or more non-transitory computer-readable media of claim 1 , wherein the server is co-located with the processing system associated with the validation entity.

6. The one or more non-transitory computer-readable media of claim 1 , wherein the time-varying representation for the credential comprises a time-varying optical machine-readable representation for the credential.

7. The one or more non-transitory computer-readable media of claim 1 , wherein the time-varying representation for the credential comprises a time-varying code rendered as a sound signal, the sound signal having a frequency greater than 20 kHz.

8. The one or more non-transitory computer-readable media of claim 1 , wherein determining, at the server, that the second time from the timing device is within a predetermined amount of time of the first time at the client device comprises:

determining, at the server, that the first time at the client device does not match the second time from the timing device;

adjusting, at the server, the second time from the timing device by an offset; and

determining, at the server, that the adjusted second time matches the first time at the client device.

9. One or more non-transitory computer-readable media storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

obtaining, at a processing system associated with a validation entity, a time-varying representation for a credential from a client device of a user, wherein obtaining the time-varying representation comprises at least one from the group consisting of (i) scanning, at the processing system, a time-varying optical machine-readable representation for the credential from the client device and (ii) receiving, at a microphone operatively coupled to the processing system, a sound signal from the client device, the sound signal encoding the time-varying representation for the credential;

decoding, at the processing system, the time-varying representation for the credential to generate a set of alphanumeric characters, wherein the decoding includes decoding at least one from the group consisting of (i) the scanned time-varying optical machine-readable representation to generate the set of alphanumeric characters and (ii) the received sound signal to generate the set of alphanumeric characters, wherein the set of alphanumeric characters comprises data corresponding to: (i) a key, (ii) a credential identifier, and (iii) a time at the client device, wherein the key is associated with the user, and wherein the credential identifier identifies the credential;

transmitting, from the processing system, a validation request to a server, wherein the validation request includes data corresponding to the key, the credential identifier, and the time; and

receiving a validation response from the server, the validation response indicating that the credential is validated.

10. The one or more non-transitory computer-readable media of claim 9 , wherein:

obtaining, at a processing system associated with a validation entity, a time-varying representation for a credential from a client device of a user comprises scanning, at a processing system associated with a validation entity, a time-varying optical machine-readable representation for a credential from a client device of a user; and

decoding, at the processing system, the time-varying representation for the credential to generate a set of alphanumeric characters comprises decoding, at the processing system, the scanned time-varying optical machine-readable representation for the credential to generate the set of alphanumeric characters.

11. The one or more non-transitory computer-readable media of claim 9 , wherein:

obtaining, at a processing system associated with a validation entity, a time-varying representation for a credential from a client device of a user comprises receiving, at a microphone operatively coupled to the processing system associated with a validation entity, a sound signal encoding the set of alphanumeric characters corresponding to the time-varying representation for the credential from a client device of a user; and

decoding, at the processing system, the time-varying representation for the credential to generate a set of alphanumeric characters comprises decoding, at the processing system, the received sound signal to generate a set of alphanumeric characters.

12. The one or more non-transitory computer-readable media of claim 9 , wherein the one or more computers further perform operations comprising:

in response to receiving a validation response from the server:

obtaining, at the processing system, an image of the user; and

outputting, to a display operatively coupled to the processing system, the image of the user.

13. One or more non-transitory computer-readable media storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

obtaining, at a client device, a key associated with a user of the client device;

obtaining, at the client device, a credential identifier associated with a credential;

receiving, at the client device, a user command to output a representation for the credential, wherein the user command comprises at least one from the group consisting of (i) a user command to display an optical-machine-readable representation for the credential and (ii) a user command to provide a sound signal representing the credential; and

in response to receiving, at the client device, the user command to output the representation for the credential:

obtaining, at the client device, a time;

generating, at the client device, a set of alphanumeric characters based on the credential identifier, the key, and the time;

encoding, at the client device, the set of alphanumeric characters to generate a representation for the credential that includes at least one from the group consisting of (i) an optical machine-readable representation representing the set of alphanumeric characters and (ii) a sound signal representing the set of alphanumeric characters; and

outputting, at the client device, the representation for the credential in a manner that enables a validation entity to validate the credential, wherein outputting the representation comprises at least one from the group consisting of (i) outputting, to a display of the client device, the optical machine-readable representation for the credential and (ii) rendering, at a speaker operatively coupled to the client device, the sound signal representing the credential.

14. The one or more non-transitory computer-readable media of claim 13 , wherein:

encoding, at the client device, the set of alphanumeric characters to generate a representation for the credential comprises encoding, at the client device, the set of alphanumeric characters to generate an optical-machine readable representation for the credential;

receiving, at the client device, a user command to output the representation for the credential comprises receiving, at the client device, a user command to display the optical-machine-readable representation for the credential; and

outputting, at the client device, the representation for the credential in a manner that enables a validation entity to validate the credential comprises outputting, to a display of the client device, the optical machine-readable representation for the credential in a manner that enables a validation entity to validate the credential.

15. The one or more non-transitory computer-readable media of claim 13 , wherein:

encoding, at the client device, the set of alphanumeric characters to generate a representation for the credential comprises encoding, at the client device, the set of alphanumeric characters into a sound signal representing the set of alphanumeric characters;

receiving, at the client device, a user command to output the representation for the credential comprises receiving, at the client device, a user command to render the sound signal representing the credential from a speaker operatively coupled to the client device; and

outputting, at the client device, the representation for the credential in a manner that enables a validation entity to validate the credential comprises rendering, at a speaker operatively coupled to the client device, the sound signal representing the credential.

16. The one or more non-transitory computer-readable media of claim 13 , wherein generating, at the client device, the set of characters based on the credential identifier, the key, and the time comprises hashing the credential identifier, the key, and the time.

17. The one or more non-transitory computer-readable media of claim 13 wherein:

obtaining, at the client device, a time comprises obtaining, at the client device, a first time;

generating, at the client device, a set of alphanumeric characters based on the credential identifier, the key, and the time comprises generating, at the client device, a first set of alphanumeric characters based on the credential identifier, the key, and the first time;

encoding, at the client device, the set of alphanumeric characters to generate a representation for the credential comprises encoding, at the client device, the first set of alphanumeric characters to generate a first representation for the credential;

outputting, at the client device, the representation for the credential in a manner that enables a validation entity to validate the credential comprises outputting, at the client device, the first representation for the credential in a manner that enables a validation entity to validate the credential; and

wherein the operations further comprise:

obtaining, at the client device, a second time;

generating, at the client device, a second set of alphanumeric characters based on the credential identifier, the key, and the second time;

encoding, at the client device, the second set of alphanumeric characters to generate a second representation for the credential; and

outputting, at the client device, the second representation for the credential in a manner that enables a validation entity to validate the credential.

18. The one or more non-transitory computer-readable media of claim 1 , wherein the credential identifier identifies one of multiple credentials accessible using the client device.

19. The one or more non-transitory computer-readable media of claim 1 , wherein the credential identifier identifies a credential granted to a group of users that includes the user.

20. The one or more non-transitory computer-readable media of claim 1 , wherein the credential identifier identifies a credential accessible using any of multiple client devices.

21. One or more non-transitory computer-readable media storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, at a server, a validation request from a processing system associated with a validation entity, the validation request comprising a set of alphanumeric characters, wherein the set of alphanumeric characters were derived from a time-varying representation for a credential, the set of alphanumeric characters comprising data corresponding to a key associated with a user, a credential identifier identifying the credential, and a first time at a client device;

determining, at the server, that the key is associated with the credential identifier;

obtaining, at the server, a second time from a timing device;

determining, at the server, that the second time from the timing device is within a predetermined amount of time of the first time at the client device;

at the server, responsive to determining that the key is associated with the credential identifier, and that the second time is within a predetermined amount of time of the first time, communicating to the processing system a validation response indicating that the credential is validated;

responsive to determining, at the server, that the key is associated with the credential identifier and that the second time from the timing device is within the predetermined amount of time of the first time at the client device:

obtaining, at the server, an image of the user; and

transmitting, from the server to the processing system, the image of the user.

22. One or more non-transitory computer-readable media storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

obtaining, at a processing system associated with a validation entity, a time-varying representation for a credential from a client device of a user;

decoding, at the processing system, the time-varying representation for the credential to generate a set of alphanumeric characters, the set of alphanumeric characters comprising data corresponding to: (i) a key, (ii) a credential identifier, and (iii) a time at the client device, wherein the key is associated with the user, and wherein the credential identifier identifies the credential;

transmitting, from the processing system, a validation request to a server, wherein the validation request includes data corresponding to the key, the credential identifier, and the time;

receiving, at the processing system, a validation response from the server, the validation response indicating that the credential is validated; and

in response to receiving the validation response from the server:

obtaining, at the processing system, an image of the user; and

outputting, to a display operatively coupled to the processing system, the image of the user.

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 Jul 2, 2014
From: VAZQUEZ, HECTOR; CHEN, GANG; MIRONENKO, SERGEY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 033229/0433 →