IP Library Patent Application 14180210
Patent Application
App. No. 14/180,210

APPLICATION CONGESTION CONTROL

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 None
App. No.
14/180,210
Abstract

Controlling client side application congestion at least in part by using one or more heuristics to predict at a data producer node, such as a server, how much time an application at a data consumer node, such as a client, will require to process a unit of data is disclosed. In various embodiments, a predicted client side processing time associated with a unit of data to be sent to a client is determined. The predicted client side processing time associated with the unit of data is used to determine a time to send a data transmission to the client.

Claims (28)

1 . A method, comprising:

determining at a server a predicted client side processing time associated with a unit of data to be sent to the client; and

using the predicted client side processing time to determine at the server a time to send a data transmission from the server to the client.

2 . The method of claim 1 , wherein determining a predicted client side processing time associated with the unit of data includes using a client side processing time model to determine the predicted client side processing time associated with the unit of data.

3 . The method of claim 1 , wherein a heuristic value computed based on the unit of data is used to determine the predicted client side processing time associated with the unit of data.

4 . The method of claim 3 , wherein the heuristic comprises a measure of data complexity for the unit of data.

5 . The method of claim 4 , wherein the measure of data complexity is computed based on one or more of the following: a size of the unit of data; a number of nodes comprising a hierarchical structure of the unit of data; a number of hierarchical levels in a hierarchical structure of the unit of data.

6 . The method of claim 3 , further comprising computing the heuristic value for the unit of data.

7 . The method of claim 1 , wherein the predicted client side processing time associated with the unit of data is determined at least in part based on an observed value extrinsic to the unit of data.

8 . The method of claim 7 , wherein the observed value extrinsic to the unit of data comprises one or more of the following: an observed level of utilization of resources at the client; and an observed network delay associated with transmissions between the server and the client.

9 . The method of claim 1 , further comprising creating at the server a model of client side processing times associated with processing at the client units of data received from the server.

10 . The method of claim 9 , wherein building the model includes observing at the client for each of one or more tasks to process units of data received from the server an associated client side processing time for that unit of data.

11 . The method of claim 10 , further comprising reporting the respective observed client side processing times to the server.

12 . The method of claim 11 , wherein said steps of observing and reporting are performed by an application code sent from the server to the client.

13 . The method of claim 10 , further comprising updating the model based on a subsequently observed client side processing time

14 . The method of claim 11 , wherein the subsequently observed client side processing time is observed at least in part in response to a determination at the server that an update to the model is indicated.

15 . The method of claim 14 , wherein the determination is based at least in part on a recognition that an anomalous predicted client side processing time has been predicted.

16 . The method of claim 15 , wherein the anomalous predicted client side processing time comprises one or both of a negative amount of time and a lesser amount of time than predicted for a more complex previous unit of data.

17 . The method of claim 1 , wherein using the predicted client side processing time to determine at the server a time to send a data transmission from the server to the client includes waiting for a transmission delay period determined based at least in part on the predicted client side processing time associated with the unit of data to send the data transmission.

18 . The method of claim 17 , wherein the data transmission comprises a set of one or more subsequent units of data to be sent to the client subsequent to the unit of data with respect to which the predicted client side processing time is associated.

19 . A system, comprising:

a communication interface; and

a processor coupled to the communication interface and configured to:

determine a predicted client side processing time associated with a unit of data to be sent to a remote client; and

use the predicted client side processing time to determine at the server a time to send a data transmission to the client via the communication interface.

20 . A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instruction for:

determining at a server a predicted client side processing time associated with a unit of data to be sent to the client; and

using the predicted client side processing time to determine at the server a time to send a data transmission from the server to the client.

Assignments (4)
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: TOMER, ANIRUDH; WILEY, MARK; SUBRAMANI, SURESH
To: TIBCO SOFTWARE INC.
Reel/Frame 032980/0121 →