IP Library Granted Patent US 9,794,245
Granted Patent B1
US 9,794,245 · App. 15/149,649 · Granted Oct 17, 2017

Credential technology

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,794,245
App. No.
15/149,649
Granted
Oct 17, 2017
Kind
B1
Abstract

In one implementation, a server system receives, from a device of a user, a request to add a credential issued by an organization and authentication information that has been authorized, independently of the server system, by the organization that issued the credential. The server system identifies the organization related to the request to add the credential and identifies communication information established for the organization. The server system provides, using the communication information and to a system operated by the organization, the authentication information and receives, using the communication information and from the system operated by the organization, credential information for the user. The server system adds one or more credentials to an account of the user based on the received credential information.

Claims (96)

1. A computer implemented method for managing electronic credentials comprising:

maintaining, at a server, multiple credentials for a plurality of users;

receiving, at the server and from a device of a first user, a request to validate a credential of a second user;

identifying, by the server, the credential of the second user to validate from the multiple credentials maintained at the server;

determining, by the server, that a cached version of the identified credential to validate is not available by,

accessing credential information associated with the identified credential;

comparing a current time information with a cache until time associated with the identified credential; and

based on the comparison of the current time information with the cache until time associated with the identified credential, determining that the current time information exceeds the cache until time;

based on the determination that a cached version of the identified credential to validate is not available, requesting, by the server, an updated version of the credential of the second user from a credential issuing organization;

receiving, at the server and via an established communication network connection with the credential issuing organization, the updated version of the credential of the second user from the credential issuing organization; and

validating, to the first user, the credential of the second user based on the received updated version of the credential,

wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

2. The computer implemented method of claim 1 , wherein determining, by the server, that a cached version of the identified credential to validate is not available comprises:

accessing credential information associated with the identified credential;

comparing a current time information with an expiration date associated with the identified credential; and

based on the comparison of the current time information with the expiration date associated with the identified credential, determining that the credential has expired.

3. The computer implemented method of claim 2 , further comprising:

identifying, by the server, the established communication connection associated with the credential issuing organization that issued the identified credential;

accessing, by the server, an access token associated with the identified credential;

providing, via the identified established communication connection, the access token to the credential issuing organization that issued the identified credential; and

receiving, at the server, an updated version of the identified credential.

4. The computer implemented method of claim 1 , wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

5. The computer implemented method of claim 1 , further comprising:

prior to receiving, at the server and from a device of a first user, a request to validate an electronic credential of a second user:

receiving, at the server and from an organization, a request to establish a communication connection that includes an SSL certificate;

authenticating, by the server, the organization that requested to establish the communication connection by determining the SSL certificate was signed by a trusted server;

based on authenticating the organization that requested to establish the communication connection, establishing the communication connection; and

updating, at the server, a communication record to include the established communication connection.

6. The computer implemented method of claim 1 , further comprising:

prior to receiving, at the server and from a device of a first user, a request to validate an electronic credential of a second user:

receiving, at a server and from a device of the first user, a request to add a credential issued by an organization, wherein the received request includes an authentication access token associated with the credential issued by the organization;

adding, by the server, one or more credentials to an account of the first user based on the received credential information; and

providing, by the server, the one or more credentials to a credential management application at the user device for display.

7. A system comprising:

at least one processor; and

at least one memory coupled to the at least one processor having stored thereon instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

maintaining, at a server, multiple credentials for a plurality of users;

receiving, at the server and from a device of a first user, a request to validate a credential of a second user;

identifying, by the server, the credential of the second user to validate from the multiple credentials maintained at the server;

determining, by the server, that a cached version of the identified credential to validate is not available by,

accessing credential information associated with the identified credential;

comparing a current time information with a cache until time associated with the identified credential; and

based on the comparison of the current time information with the cache until time associated with the identified credential, determining that the current time information exceeds the cache until time;

based on the determination that a cached version of the identified credential to validate is not available, requesting, by the server, an updated version of the credential of the second user from a credential issuing organization;

receiving, at the server and via an established communication network connection with the credential issuing organization, the updated version of the credential of the second user from the credential issuing organization; and

validating, to the first user, the credential of the second user based on the received updated version of the credential,

wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

8. The system of claim 7 , wherein determining, by the server, that a cached version of the identified credential to validate is not available comprises:

accessing credential information associated with the identified credential;

comparing a current time information with an expiration date associated with the identified credential; and

based on the comparison of the current time information with the expiration date associated with the identified credential, determining that the credential has expired.

9. The system of claim 8 , wherein the operations further comprise:

identifying, by the server, the established communication connection associated with the credential issuing organization that issued the identified credential;

accessing, by the server, an access token associated with the identified credential;

providing, via the identified established communication connection, the access token to the credential issuing organization that issued the identified credential; and

receiving, at the server, an updated version of the identified credential.

10. The system of claim 7 , wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

11. The system of claim 7 , wherein the operations further comprise:

prior to receiving, at the server and from a device of a first user, a request to validate an electronic credential of a second user:

receiving, at the server and from an organization, a request to establish a communication connection that includes an SSL certificate;

authenticating, by the server, the organization that requested to establish the communication connection by determining the SSL certificate was signed by a trusted server;

based on authenticating the organization that requested to establish the communication connection, establishing the communication connection; and

updating, at the server, a communication record to include the established communication connection.

12. The system of claim 7 , wherein the operations further comprise:

prior to receiving, at the server and from a device of a first user, a request to validate an electronic credential of a second user:

receiving, at a server and from a device of the first user, a request to add a credential issued by an organization, wherein the received request includes an authentication access token associated with the credential issued by the organization;

adding, by the server, one or more credentials to an account of the first user based on the received credential information; and

providing, by the server, the one or more credentials to a credential management application at the user device for display.

13. At least one non-transitory computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:

maintaining, at a server, multiple credentials for a plurality of users;

receiving, at the server and from a device of a first user, a request to validate a credential of a second user;

identifying, by the server, the credential of the second user to validate from the multiple credentials maintained at the server;

determining, by the server, that a cached version of the identified credential to validate is not available by,

accessing credential information associated with the identified credential;

comparing a current time information with a cache until time associated with the identified credential; and

based on the comparison of the current time information with the cache until time associated with the identified credential, determining that the current time information exceeds the cache until time;

based on the determination that a cached version of the identified credential to validate is not available, requesting, by the server, an updated version of the credential of the second user from a credential issuing organization;

receiving, at the server and via an established communication network connection with the credential issuing organization, the updated version of the credential of the second user from the credential issuing organization; and

validating, to the first user, the credential of the second user based on the received updated version of the credential,

wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

14. The medium of claim 13 , wherein determining, by the server, that a cached version of the identified credential to validate is not available comprises:

accessing credential information associated with the identified credential;

comparing a current time information with an expiration date associated with the identified credential; and

based on the comparison of the current time information with the expiration date associated with the identified credential, determining that the credential has expired.

15. The medium of claim 14 , wherein the operations further comprise:

identifying, by the server, an established communication connection associated with a credential issuing organization that issued the identified credential;

accessing, by the server, an access token associated with the identified credential;

providing via the identified established communication connection, the access token to the credential issuing organization that issued the identified credential; and

receiving, at the server, an updated version of the identified credential.

16. The medium of claim 13 , wherein validating, to the first user, the credential of the second user based on the received updated version of the credential comprises transmitting, to the device of the first user, an electronic notification that the credential of the second user is valid.

17. The medium of claim 13 , further comprising:

prior to receiving, at the server and from a device of a first user, a request to validate an electronic credential of a second user:

receiving, at the server and from an organization, a request to establish a communication connection that includes an SSL certificate;

authenticating, by the server, the organization that requested to establish the communication connection by determining the SSL certificate was signed by a trusted server;

based on authenticating the organization that requested to establish the communication connection, establishing the communication connection; and

updating, at the server, a communication record to include the established communication connection.

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 Jun 12, 2016
From: VAZQUEZ, HECTOR; CHEN, GANG; MIRONENKO, SERGEY; GABRIEL, GARY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 038891/0347 →