IP Library Granted Patent US 9,450,942
Granted Patent B1
US 9,450,942 · App. 14/694,167 · Granted Sep 20, 2016

Access to resources

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,450,942
App. No.
14/694,167
Granted
Sep 20, 2016
Kind
B1
Abstract

A method performed by one or more processing devices, comprising: receiving a request for a quick response code associated with the hosted resource; generating a reference code that references information included in the request; and encoding the reference code into the requested quick response code; transmitting information indicative of the quick response code to the system hosting the resource; receiving a request for access to a resource, the request for access comprising a decoded version of the quick response code; determining that access is requested for the hosted resource; determining that a user who is requesting access to the hosted resource is permitted to access the hosted resource; responsive to determining that the user is permitted to access the hosted resource, transmitting a token for permitting the user to access the hosted resource; and transmitting a message specifying that the user is granted access to the hosted resource.

Claims (101)

1. A method performed by one or more processing devices, comprising:

receiving, by the one or more processing devices from a client device, a request for access to a hosted resource, the request for access comprising a decoded version of a representation of a reference code that is associated with the hosted resource, with the representation being generated by the one or more processing devices;

determining, by the one or more processing devices, a correspondence between (i) the decoded version of the representation of the reference code received from the client device, and (ii) the generated reference code associated with the hosted resource;

responsive to the determined correspondence, determining, that access is requested for the hosted resource;

matching, by the one or more processing devices, (i) at least a portion of contents of the request for access that is received from the client device and that comprises the decoded version of the representation of the reference code for the hosted resource, to (ii) stored information specifying one or more users authorized to access the hosted resource;

determining, based on the matching, that a user who is requesting access to the hosted resource is permitted to access the hosted resource;

responsive to determining that the user is permitted to access the hosted resource, enabling the user to access the hosted resource.

2. The method of claim 1 , wherein:

the request for access to the hosted resource further comprises an indication of a geographic location of the client device; and

determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining that the geographic location of the client device is in a region from which the user is permitted to access the hosted resource; and

responsive to determining that the geographic location of the client device is in the region from which the user is permitted to access the hosted resource, determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource.

3. The method of claim 1 , wherein determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining, based on the contents of the request for access, an identity of the user who is requesting access to the hosted resource;

identifying, based on the identity of the user, one or more credentials of the user that have been granted by an entity associated with the hosted resource; and

determining, based on the identified one or more credentials, that the user is permitted to access the hosted resource.

4. The method of claim 1 , wherein the client device comprises a first client device, and wherein receiving the request for the representation of the reference code for accessing the hosted resource comprises:

receiving request information, the request information comprising (i) information indicative of a resource identifier of the hosted resource, (ii) information indicative of an action type, the action type specifying that access to the hosted resource is requested, (iii) a session identifier that identifies a session established between a second client device and a system hosting the resource, wherein the second client device is for viewing the hosted resource, (iv) a certificate that identifies an entity associated with the hosted resource, and (v) information indicative of a time to live value, with the time to live value specifying an amount of time for which the representation of the reference code is active;

storing the request information in a data repository; and

generating associations among items of the received request information and the generated reference code, wherein the reference code references the received request information through the associations.

5. The method of claim 4 , further comprising:

responsive to determining that the user is permitted to access the hosted resource,

identifying the session identifier that is associated with the reference code for the hosted resource;

identifying the resource identifier that is associated with the reference code for the hosted resource; and

generating a token based on the identified session identifier and the identified resource identifier; and

transmitting, to the system hosting the hosted resource, the generated token for granting the user access to the hosted resource, wherein access to the hosted resource is granted through the session established between the second client device and the system hosting the hosted resource.

6. The method of claim 4 , further comprising:

determining a time at which the request for access to the hosted resource is received;

retrieving, from the data repository, information indicative of a time when the reference code is generated;

determining an amount of time that has elapsed from the time when the reference code is generated to the time when the request for access to the hosted resource is received; and

determining that the amount of elapsed time is less than the amount of time specified by the time to live value;

wherein determining the identity of the user who is requesting access to the hosted resource comprises:

responsive to determining that the amount of elapsed time is less than the amount of time specified by the time to live value, determining the identity of the user who is requesting access to the hosted resource.

7. One or more machine-readable hardware storage devices storing instructions that are executable by one or more processing devices to perform operations comprising:

receiving, by the one or more processing devices from a client device, a request for access to a hosted resource, the request for access comprising a decoded version of a representation of a reference code that is associated with the hosted resource, with the representation being generated by the one or more processing devices;

determining, by the one or more processing devices, a correspondence between (i) the decoded version of the representation of the reference code received from the client device, and (ii) the generated reference code associated with the hosted resource;

responsive to the determined correspondence, determining, that access is requested for the hosted resource;

matching, by the one or more processing devices, (i) at least a portion of contents of the request for access that is received from the client device and that comprises the decoded version of the representation of the reference code for the hosted resource, to (ii) stored information specifying one or more users authorized to access the hosted resource;

determining, based on the matching, that a user who is requesting access to the hosted resource is permitted to access the hosted resource;

responsive to determining that the user is permitted to access the hosted resource, enabling the user to access the hosted resource.

8. The one or more machine-readable hardware storage devices of claim 7 , wherein:

the request for access to the hosted resource further comprises an indication of a geographic location of the client device; and

determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining that the geographic location of the client device is in a region from which the user is permitted to access the hosted resource; and

responsive to determining that the geographic location of the client device is in the region from which the user is permitted to access the hosted resource, determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource.

9. The one or more machine-readable hardware storage devices of claim 7 , wherein determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining, based on the contents of the request for access, an identity of the user who is requesting access to the hosted resource;

identifying, based on the identity of the user, one or more credentials of the user that have been granted by an entity associated with the hosted resource; and

determining, based on the identified one or more credentials, that the user is permitted to access the hosted resource.

10. The one or more machine-readable hardware storage devices of claim 7 , wherein the client device comprises a first client device, and wherein receiving the request for the representation of the reference code for accessing the hosted resource comprises:

receiving request information, the request information comprising (i) information indicative of a resource identifier of the hosted resource, (ii) information indicative of an action type, the action type specifying that access to the hosted resource is requested, (iii) a session identifier that identifies a session established between a second client device and a system hosting the resource, wherein the second client device is for viewing the hosted resource, (iv) a certificate that identifies an entity associated with the hosted resource, and (v) information indicative of a time to live value, with the time to live value specifying an amount of time for which the representation of the reference code is active;

storing the request information in a data repository; and

generating associations among items of the received request information and the generated reference code, wherein the reference code references the received request information through the associations.

11. The one or more machine-readable hardware storage devices of claim 10 , wherein the operations further comprise:

responsive to determining that the user is permitted to access the hosted resource,

identifying the session identifier that is associated with the reference code for the hosted resource;

identifying the resource identifier that is associated with the reference code for the hosted resource; and

generating a token based on the identified session identifier and the identified resource identifier; and

transmitting, to the system hosting the hosted resource, the generated token for granting the user access to the hosted resource, wherein access to the hosted resource is granted through the session established between the second client device and the system hosting the hosted resource.

12. The one or more machine-readable hardware storage devices of claim 10 , wherein the operations further comprise:

determining a time at which the request for access to the hosted resource is received;

retrieving, from the data repository, information indicative of a time when the reference code is generated;

determining an amount of time that has elapsed from the time when the reference code is generated to the time when the request for access to the hosted resource is received; and

determining that the amount of elapsed time is less than the amount of time specified by the time to live value;

wherein determining the identity of the user who is requesting access to the hosted resource comprises:

responsive to determining that the amount of elapsed time is less than the amount of time specified by the time to live value, determining the identity of the user who is requesting access to the hosted resource.

13. An electronic system comprising:

one or more processing devices; and

one or more machine-readable hardware storage devices storing instructions that are executable by the one or more processing devices to perform operations comprising:

receiving, by the one or more processing devices from a client device, a request for access to a hosted resource, the request for access comprising a decoded version of a representation of a reference code that is associated with the hosted resource, with the representation being generated by the one or more processing devices;

determining, by the one or more processing devices, a correspondence between (i) the decoded version of the representation of the reference code received from the client device, and (ii) the generated reference code associated with the hosted resource;

responsive to the determined correspondence, determining, that access is requested for the hosted resource;

matching, by the one or more processing devices, (i) at least a portion of contents of the request for access that is received from the client device and that comprises the decoded version of the representation of the reference code for the hosted resource, to (ii) stored information specifying one or more users authorized to access the hosted resource;

determining, based on the matching, that a user who is requesting access to the hosted resource is permitted to access the hosted resource;

responsive to determining that the user is permitted to access the hosted resource, enabling the user to access the hosted resource.

14. The electronic system of claim 13 , wherein:

the request for access to the hosted resource further comprises an indication of a geographic location of the client device; and

determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining that the geographic location of the client device is in a region from which the user is permitted to access the hosted resource; and

responsive to determining that the geographic location of the client device is in the region from which the user is permitted to access the hosted resource, determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource.

15. The electronic system of claim 13 , wherein determining that the user who is requesting access to the hosted resource is permitted to access the hosted resource comprises:

determining, based on the contents of the request for access, an identity of the user who is requesting access to the hosted resource;

identifying, based on the identity of the user, one or more credentials of the user that have been granted by an entity associated with the hosted resource; and

determining, based on the identified one or more credentials, that the user is permitted to access the hosted resource.

16. The electronic system of claim 13 , wherein the client device comprises a first client device, and wherein receiving the request for the representation of the reference code for accessing the hosted resource comprises:

receiving request information, the request information comprising (i) information indicative of a resource identifier of the hosted resource, (ii) information indicative of an action type, the action type specifying that access to the hosted resource is requested, (iii) a session identifier that identifies a session established between a second client device and a system hosting the resource, wherein the second client device is for viewing the hosted resource, (iv) a certificate that identifies an entity associated with the hosted resource, and (v) information indicative of a time to live value, with the time to live value specifying an amount of time for which the representation of the reference code is active;

storing the request information in a data repository; and

generating associations among items of the received request information and the generated reference code, wherein the reference code references the received request information through the associations.

17. The electronic system of claim 16 , wherein the operations further comprise:

responsive to determining that the user is permitted to access the hosted resource,

identifying the session identifier that is associated with the reference code for the hosted resource;

identifying the resource identifier that is associated with the reference code for the hosted resource; and

generating a token based on the identified session identifier and the identified resource identifier;

transmitting, to the system hosting the hosted resource, the generated token for granting the user access to the hosted resource, wherein access to the hosted resource is granted through the session established between the second client device and the system hosting the hosted resource.

18. The electronic system of claim 16 , wherein the operations further comprise:

determining a time at which the request for access to the resource is received;

retrieving, from the data repository, information indicative of a time when the reference code is generated;

determining an amount of time that has elapsed from the time when the reference code is generated to the time when the request for access to the resource is received; and

determining that the amount of elapsed time is less than the amount of time specified by the time to live value;

wherein determining the identity of the user who is requesting access to the hosted resource comprises:

responsive to determining that the amount of elapsed time is less than the amount of time specified by the time to live value, determining the identity of the user who is requesting access to the hosted resource.

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 25, 2015
From: VAZQUEZ, HECTOR; ANGELOV, KONSTANTIN; MIRONENKO, SERGEY; BENATTI, CHARLIE
To: MICROSTRATEGY INCORPORATED
Reel/Frame 035907/0264 →