IP Library › Granted Patent US 9,258,249
Granted Patent B2
US 9,258,249 · App. 13/372,259 · Granted Feb 9, 2016

Resource access throttling

Inventors: Anderthan Hsieh (Bellevue, WA); James W. Chapman (Bothell, WA); Fuyau Lin (Woodinville, WA); Michael C. Strate (Sea Tac, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L47/72H04L67/32H04L63/10H04L67/325
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,258,249
App. No.
13/372,259
Granted
Feb 9, 2016
Kind
B2
Abstract

Techniques for resource access throttling are described. In implementations, access to a network resource can be controlled based on a variety of factors, such as a type of user requesting access to the network resource. For example, consider a scenario where an online content store is preparing to launch. To prevent resources associated with the online content store from being overwhelmed by the number of requests for access when the store is launched, techniques can be implemented to throttle the number of requests that are granted. For instance, requests for access can be throttled based on different user types.

Claims (40)

1. A computer-implemented method, comprising:

receiving a device identifier as part of a request from a device for access to a network resource;

processing the device identifier to generate a client value, the client value calculated from and having a different value than the device identifier;

determining whether the client value for the device is within current access throttling settings for the network resource; and

allowing or disallowing the device to access the network resource based on whether the client value is determined to be within the current access throttling settings, the access throttling settings including a threshold defining a maximum number of devices that are allowed access to the network resource at a particular time.

2. A method as described in claim 1 , wherein the device identifier is received in response to an indication that the network resource is in an access throttling mode.

3. A method as described in claim 1 , wherein the device identifier comprises a hash of a media access control (MAC) address for the device and at least one other identifier for the device.

4. A method as described in claim 1 , further comprising:

allowing the device access to the network resource in response to determining that the client value is within the current access throttling settings for the network resource; and

issuing the device an access pass that enables the device to access the network resource as part of at least one subsequent request to access the network resource.

5. A method as described in claim 4 , wherein the access pass is configured to at least one of expire after a particular period of time or be revoked by an access service associated with the network resource.

6. A method as described in claim 1 , wherein the current access throttling settings includes a threshold number of devices that are permitted to access the network resource at a particular time, and wherein the method further comprises raising the threshold number when a time period elapses after the particular time.

7. A method as described in claim 1 , wherein the access throttling settings comprise a set of access throttling settings, the set of access throttling settings being configured to incrementally increase over time the number of requests for access to the network resource that are granted.

8. A system comprising:

one or more computer-readable storage media storing executable instructions; and

one or more processors configured to execute the instructions to cause the system to determine whether a device is permitted to access a network resource by performing operations including:

receiving a device identifier as part of a request from the device for access to the network resource;

calculating a client value associated with the device by at least applying one or more algorithms to the device identifier, the client value having a different value than the device identifier; and

determining, based on the client value for the device, of whether the device is within a threshold number of devices that are permitted to access the network resource, the threshold defining a maximum number of devices that are allowed access to the network resource at a particular time.

9. A system as described in claim 8 , wherein the device identifier is received in response to an indication that the network resource is in an access throttling mode.

10. A system as described in claim 8 , wherein the device identifier comprises a hash of a media access control (MAC) address for the device and at least one other identifier for the device.

11. A system as described in claim 8 , wherein said determining comprises determining whether the client value is within one or more access throttling settings for the network resource.

12. A system as described in claim 8 , wherein the operations further include:

granting the device access to the network resource in response to a determination that the client value is within the threshold number of devices; and

issuing the device an access pass that enables the device to access the network resource as part of at least one subsequent request to access the network resource.

13. A system as described in claim 8 , wherein the threshold number corresponds to an access throttling setting included as part of a set of access throttling settings, the set of access throttling settings being configured to incrementally increase over time the number of requests for access to the network resource that are granted.

14. A system comprising:

one or more processors; and

one or more computer-readable storage devices having instructions stored thereon that are executable by the one or more processors to perform operations including:

receiving a device identifier as part of a request from a device for access to a network resource;

generating a client value for the device by applying one or more algorithms to the device identifier, the client value having a different value than the device identifier; and

determining, based on the client value, whether the device is within a threshold number of devices that are permitted to access the network resource, the threshold defining a maximum number of devices that are allowed access to the network resource at a particular time.

15. A system as described in claim 14 , wherein the device identifier comprises a hash of a media access control (MAC) address for the device and at least one other identifier for the device.

16. A system as described in claim 14 , wherein the operations further comprise:

granting the device access to the network resource in response to determining that the client value is within the threshold number of devices; and

issuing the device an access pass that enables the device to access the network resource as part of at least one subsequent request to access the network resource.

17. A system as described in claim 14 , wherein the access pass is configured to at least one of expire after a particular period of time or be revoked by an access service associated with the network resource.

18. A system as described in claim 14 , wherein the threshold number is set for a particular time, and wherein the method further comprises raising the threshold number when a time period elapses after the particular time.

19. A system as described in claim 14 , wherein the threshold number corresponds to an access throttling setting included as part of a set of access throttling settings, the set of access throttling settings being configured to incrementally increase over time the number of requests for access to the network resource that are granted.

20. A method as described in claim 1 , wherein processing the device identifier to generate the client value comprises applying a modulo operation to the device identifier with the result of the modulo operation corresponding to the client value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2012
From: HSIEH, ANDERTHAN; CHAPMAN, JAMES W.; LIN, FUYAU; STRATE, MICHAEL C.
To: MICROSOFT CORPORATION
Reel/Frame 027779/0509 →
Continuity (1)
Related Publication 20130212270A1 · Aug 15, 2013