IP Library Granted Patent US 9,124,594
Granted Patent B2
US 9,124,594 · App. 14/071,460 · Granted Sep 1, 2015

Method and apparatus for dynamic data flow control using prioritization of data requests

Inventors: Keith A. Lowery (Richardson, TX); David K. Davidson (Dallas, TX); Avinash C. Saxena (Plano, TX)
Assignee: Parallel Networks, LLC
H04L63/101H04L47/10H04L67/1002H04L67/1008H04L67/28H04L67/2842H04L43/0817H04L43/0852H04L43/16H04L63/10
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,124,594
App. No.
14/071,460
Granted
Sep 1, 2015
Kind
B2
Abstract

A data center determines whether requested content is available at the data center. The content is available when the content is both present at the data center and current. When the requested content is available at the data center, the data center returns the requested content to the browser. When the requested content is locally unavailable at the data center, the requested content is retrieved from an origin server. When retrieval of the content is delayed, the request is prioritized and placed in a queue for handling by the origin server based on the priority of the request. A status page may be communicated to the browser to inform a user of the delay and provide alternate content and status information related to the request determined as a function of the request or the current state of the origin server.

Claims (47)

1. A method for flow controlling data requests in a computer network, comprising:

transmitting an initial request message to a flow controlled server, the initial request message being associated with a data request from a requesting browser and requesting permission to retrieve data from a protected source, the initial request message including a request identifier associated with the data request;

receiving an initial response message from the flow controlled server, the initial response message indicating whether permission is granted to send the data request to the protected source, the initial response message upon permission being granted including a pause value indicating a length of time before a status page is to be sent to the browser, a refresh value indicating a length of time before the browser is to send the request identified associated with the data request, and a uniform resource locator of the status page; and

sending the data request to the protected source through the flow controlled server.

2. The method of claim 1 , further comprising:

sending the status page to the browser upon expiration of the pause value time; and

receiving the request identifier from the browser upon expiration of the refresh value time.

3. The method of claim 2 , further comprising:

providing content for the data request to the browser if available upon receipt of the request identifier; and

providing the status page to the browser upon receipt of the request identifier in response to the content not being available.

4. The method of claim 1 , wherein the initial response message indicates that permission is not granted.

5. The method of claim 4 , wherein the initial response message indicates a position in a queue at the flow controlled server for the data request.

6. The method of claim 5 , wherein the status page indicates the position in the queue for the data request.

7. The method of claim 4 , further comprising:

receiving a request to send message subsequent to receiving the initial response message that indicated permission was not granted, the request to send message indicating that permission has now been granted to send the data request to the protected server.

8. The method of claim 1 , wherein the data request is included in the initial request message.

9. A non-transitory computer readable medium including code for flow controlling data requests in a computer network, the code operable to:

transmit an initial request message to a flow controlled server, the initial request message being associated with a data request from a requesting browser and requesting permission to retrieve data from a protected source the initial request message including a request identifier associated with the data request;

receive an initial response message from the flow controlled server, the initial response message indicating whether permission is granted to send the data request to the protected source, the initial response message upon permission being granted including a pause value indicating a length of time before a status page is to be sent to the browser, a refresh value indicating a length of time before the browser is to send the request identifier associated with the data request, and a uniform resource locator of the status page; and

send the data request to the protected source through the flow controlled server.

10. The non-transitory computer readable medium of claim 9 , the code further operable to:

send the status page to the browser upon expiration of the pause value time;

receive the request identifier from the browser upon expiration of the refresh value time.

11. The non-transitory computer readable medium of claim 10 , the code further operable to:

provide content for the data request to the browser if available upon receipt of the request identifier; and

provide the status page to the browser upon receipt of the request identifier in response to the content not being available.

12. The non-transitory computer readable medium of claim 9 , wherein the initial response message indicates that permission is not granted.

13. The non-transitory computer readable medium of claim 12 , wherein the initial response message indicates a position in a queue at the flow controlled server for the data request.

14. The non-transitory computer readable medium of claim 13 , wherein the status page indicates the position in the queue for the data request.

15. The non-transitory computer readable medium of claim 12 , the code further operable to:

receive a request to send message subsequent to receiving the initial response message that indicated permission was not granted, the request to send message indicating that permission has now been granted to send the data request to the protected server.

16. The non-transitory computer readable medium of claim 9 , wherein the data request is included in the initial request message.

17. A system for flow controlling data requests in a computer network, comprising:

means for transmitting an initial request message to a flow controlled server, the initial request message being associated with a data request from a requesting browser and requesting permission to retrieve data from a protected source, the initial request message including a request identifier associated with the data request;

means for receiving an initial response message from the flow controlled server, the initial response message indicating whether permission is granted to send the data request to the protected source, the initial response message upon permission being granted including a pause value indicating a length of time before a status page is to be sent to the browser, a refresh value indicating a length of time before the browser is to send the request identifier associated with the data request, and a uniform resource locator of the status page; and

means for sending the data request to the protected source through the flow controlled server.

18. The system of claim 17 , further comprising:

means for sending the status page to the browser upon expiration of the pause value time;

means for receiving the request identifier from the browser upon expiration of the refresh value time;

means for providing content for the data request to the browser if available upon receipt of the request identifier; and

means for providing the status page to the browser upon receipt of the request identifier in response to the content not being available.

19. The system of claim 17 , wherein:

the initial response message indicates that permission is not granted;

the initial response message indicates a position in a queue at the flow controlled server for the data request;

the status page indicates the position in the queue for the data request.

20. The system of claim 19 , further comprising:

receiving a request to send message subsequent to receiving the initial response message that indicated permission was not granted, the request to send message indicating that permission has now been granted to send the data request to the protected server.

Assignments (6)
COURT ORDER Recorded Apr 22, 2021
From: PARALLEL NETWORKS LICENSING, LLC
To: MICROSOFT CORPORATION
Reel/Frame 056027/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2013
From: LOWERY, KEITH A.; DAVIDSON, DAVID K.; SAXENA, AVINASH C.
To: EPICREALM, INC.
Reel/Frame 031540/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2013
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 031540/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2013
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 031540/0848 →
MERGER Recorded Nov 4, 2013
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 031579/0651 →
MERGER Recorded Nov 4, 2013
From: EPICREALM LICENSING , LLC
To: EPICREALM LICENSING, LP
Reel/Frame 031579/0653 →
Continuity (6)
Continuation 13657634 · Oct 22, 2012
Continuation 13351779 · Jan 17, 2012
Continuation 12273433 · Nov 18, 2008
Continuation 09592486 · Jun 8, 2000
Provisional Application 60180587 · Feb 7, 2000
Related Publication 20140082750A1 · Mar 20, 2014