Patent ID: 9736321
Date: 2017-08-15
CPC Classifications: G06F,H04L,H04M,H04W

Claim:
1. A method of adjusting a characteristic of a data stream to a computer, the method comprising the steps of: a computer system recording an amount of data usage provided by one or more data streams to the computer within a first portion of a time period, the first portion having elapsed and the time period not having elapsed, and the computer system having at least one processor and at least one memory; based on the recorded amount of data usage and an amount of time in the first portion, the computer system determining a current rate of data usage provided by the one or more data streams within the first portion of the time period; the computer system determining a limit on actual data usage by the computer during an entirety of the time period; the computer system determining an amount of time in a second portion of the time period, which is subsequent to the first portion and has not elapsed; the computer system determining a historical data usage by the computer in portions of respective historical time periods, wherein durations of the portions of the respective historical time periods and the second portion of the time periods are similar, wherein the durations being similar indicates that the durations are identical, and wherein each of the portions of the respective historical time periods has a similarity to the second portion of the time period, the similarity based on the second portion being a specified ordered duration of time within the time period and the specified ordered duration of time matching an ordered duration of time within each of the historical time periods, each of the portions of the respective historical time periods being the ordered duration of time; based on the historical data usage, the computer system determining an anticipated data usage in the second portion of the time period; based at least in part on the amount of time in the second portion, the current rate of data usage, and the anticipated data usage in the second portion of the time period based on the historical data usage in the portions of the historical time periods having the similarity to the second portion of the time period, the computer system determining an expected amount of data usage provided by all data streams to the computer within the first and second portions of the time period; the computer system determining the expected amount of data usage exceeds the limit; based in part on the expected amount of data usage exceeding the limit, the computer system determining an adjustment of the characteristic of the data stream; based in part on the expected amount of data usage exceeding the limit, the computer system making the adjustment to the characteristic of the data stream, which causes a downgrade of a quality of a content provided by the data stream within the second portion of the time period; the computer system calculating a new expected data usage provided by at least the one or more data streams within the first portion of the time period and the data stream within the second portion of the time period, the adjustment to the characteristic of the data stream having been made causing the calculated new expected data usage to not exceed the limit; the computer system intercepting a request for the data stream before the request is sent to an application, the request indicating a level of display resolution of the data stream which streams video; in response to the step of intercepting and based on the adjustment to the characteristic, the computer system modifying the request so that the level of display resolution of the data stream is downgraded; the computer system sending the modified request to the application; and based on the anticipated data usage in the second portion of the time period being based on the historical data usage in the portions of the historical time periods having the similarity to the second portion of the time period, the adjustment to the characteristic of the data stream having been made which causes the downgrade of the quality of the content provided by the data stream within the second portion of the time period, a reception by the application of the modified request, and the data stream having the downgraded level of display resolution, the computer system keeping an actual data usage provided by all data streams received by the computer during the entirety of the time period from exceeding the limit, which avoids an overage cost for exceeding the limit.