Legal claims defining the scope of protection, as filed with the USPTO.
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 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 a second portion of the time period are similar, the second portion not having elapsed and being subsequent to the first portion, 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 an 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 that the expected amount of data usage exceeds a limit on actual data usage by the computer during an entirety of the time period; based in part on the expected amount of data usage exceeding the limit, the computer system making an adjustment of 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.
2. The method of claim 1 , further comprising the steps of: the computer system determining target ranges of amounts of actual data usage by respective applications or by respective types of applications within the time period; the computer system determining current rates of data usage by the applications or by the types of applications within the first portion of the time period; based in part on the current rates of data usage, the computer system determining expected amounts of data usage by the applications or by the types of applications within the first and second portions of the time period; and the computer system determining whether the expected amounts of data usage are within the target ranges of amounts, and in response, determining the expected amount of data usage is not within a corresponding target range included in the target ranges, wherein the step of making the adjustment to the characteristic of the data stream is based in part on the expected amount of data usage not being with the corresponding target range.
3. The method of claim 2 , further comprising the step of: the computer system adjusting characteristics of multiple data streams requested by the applications so that a total of the expected amounts of data usage by the applications does not exceed the limit and the data usage by the applications is maintained throughout the time period without a suspension, interruption or shutdown of (1) any of the applications or (2) a service that provides one or more of the multiple data streams.
4. The method of claim 2 , further comprising the steps of: the computer system determining a first application included in the applications has a first priority and determining a second application included in the applications has a second priority, the first priority outranking the second priority; and based on the first priority outranking the second priority, the computer system (1) keeping characteristics of a first data stream requested by the first application unadjusted throughout the time period, and (2) adjusting a characteristic of a second data stream requested by the second application so that the new expected data usage does not exceed the limit, wherein the step of making the adjustment includes the step of adjusting the characteristic of the second data stream.
5. The method of claim 1 , further comprising the steps of: the computer system determining a target range of actual data usage during the entirety of the time period; and repeatedly within the second portion of the time period, the computer system updating a rate of data usage by the computer up to a current time; based on the updated rate of data usage, the computer system updating the expected amount of data usage; and the computer system determining and making a re-adjustment of the characteristic of the data stream so that the updated expected amount of data usage is within the target range, wherein the step of making the re-adjustment causes a decrease or an increase in a performance of the data stream.
6. The method of claim 1 , further comprising the step of: providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, the program code being executed by a processor of the computer system to implement the steps of recording, determining the current rate of data usage, determining the historical data usage, determining the anticipated data usage in the second portion of the time period, determining the expected amount of data usage within the first and second portions of the time period, determining the expected amount of data usage exceeds the limit, making the adjustment of the characteristic of the data stream, calculating the new expected data usage, intercepting the request, modifying the request, sending the modified request, and keeping the actual data usage from exceeding the limit.
7. A computer system comprising: a central processing unit (CPU); a memory coupled to the CPU; and a computer-readable storage device coupled to the CPU, the storage device containing instructions that are executed by the CPU via the memory to implement a method of adjusting a characteristic of a data stream to a computer, the method comprising the steps of: the 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; 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 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 a second portion of the time period are similar, the second portion not having elapsed and being subsequent to the first portion, 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 an 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 that the expected amount of data usage exceeds a limit on actual data usage by the computer during an entirety of the time period; based in part on the expected amount of data usage exceeding the limit, the computer system making an adjustment of 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.
8. The computer system of claim 7 , wherein the method further comprises the steps of: the computer system determining target ranges of amounts of actual data usage by respective applications or by respective types of applications within the time period; the computer system determining current rates of data usage by the applications or by the types of applications within the first portion of the time period; based in part on the current rates of data usage, the computer system determining expected amounts of data usage by the applications or by the types of applications within the first and second portions of the time period; and the computer system determining whether the expected amounts of data usage are within the target ranges of amounts, and in response, determining the expected amount of data usage is not within a corresponding target range included in the target ranges, wherein the step of making the adjustment to the characteristic of the data stream is based in part on the expected amount of data usage not being with the corresponding target range.
9. The computer system of claim 8 , wherein the method further comprises the step of: the computer system adjusting characteristics of multiple data streams requested by the applications so that a total of the expected amounts of data usage by the applications does not exceed the limit and the data usage by the applications is maintained throughout the time period without a suspension, interruption or shutdown of (1) any of the applications or (2) a service that provides one or more of the multiple data streams.
10. The computer system of claim 8 , wherein the method further comprises the steps of: the computer system determining a first application included in the applications has a first priority and determining a second application included in the applications has a second priority, the first priority outranking the second priority; and based on the first priority outranking the second priority, the computer system (1) keeping characteristics of a first data stream requested by the first application unadjusted throughout the time period, and (2) adjusting a characteristic of a second data stream requested by the second application so that the new expected data usage does not exceed the limit, wherein the step of making the adjustment includes the step of adjusting the characteristic of the second data stream.
11. The computer system of claim 7 , wherein the method further comprises the steps of: the computer system determining a target range of actual data usage during the entirety of the time period; and repeatedly within the second portion of the time period, the computer system updating a rate of data usage by the computer up to a current time; based on the updated rate of data usage, the computer system updating the expected amount of data usage; and the computer system determining and making a re-adjustment of the characteristic of the data stream so that the updated expected amount of data usage is within the target range, wherein the step of making the re-adjustment causes a decrease or an increase in a performance of the data stream.
12. A computer program product, comprising: a computer-readable storage device; and a computer-readable program code stored in the computer-readable storage device, the computer-readable program code containing instructions that are executed by a central processing unit (CPU) of a computer system to implement a method of adjusting a characteristic of a data stream to a computer, the method comprising the steps of: the 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; 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 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 a second portion of the time period are similar, the second portion not having elapsed and being subsequent to the first portion, 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 an 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 that the expected amount of data usage exceeds a limit on actual data usage by the computer during an entirety of the time period; based in part on the expected amount of data usage exceeding the limit, the computer system making an adjustment of 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.
13. The computer program product of claim 12 , wherein the method further comprises the steps of: the computer system determining target ranges of amounts of actual data usage by respective applications or by respective types of applications within the time period; the computer system determining current rates of data usage by the applications or by the types of applications within the first portion of the time period; based in part on the current rates of data usage, the computer system determining expected amounts of data usage by the applications or by the types of applications within the first and second portions of the time period; and the computer system determining whether the expected amounts of data usage are within the target ranges of amounts, and in response, determining the expected amount of data usage is not within a corresponding target range included in the target ranges, wherein the step of making the adjustment to the characteristic of the data stream is based in part on the expected amount of data usage not being with the corresponding target range.
14. The computer program product of claim 13 , wherein the method further comprises the step of: the computer system adjusting characteristics of multiple data streams requested by the applications so that a total of the expected amounts of data usage by the applications does not exceed the limit and the data usage by the applications is maintained throughout the time period without a suspension, interruption or shutdown of (1) any of the applications or (2) a service that provides one or more of the multiple data streams.
15. The computer program product of claim 13 , wherein the method further comprises the steps of: the computer system determining a first application included in the applications has a first priority and determining a second application included in the applications has a second priority, the first priority outranking the second priority; and based on the first priority outranking the second priority, the computer system (1) keeping characteristics of a first data stream requested by the first application unadjusted throughout the time period, and (2) adjusting a characteristic of a second data stream requested by the second application so that the new expected data usage does not exceed the limit, wherein the step of making the adjustment includes the step of adjusting the characteristic of the second data stream.
16. The computer program product of claim 12 , wherein the method further comprises the steps of: the computer system determining a target range of actual data usage during the entirety of the time period; and repeatedly within the second portion of the time period, the computer system updating a rate of data usage by the computer up to a current time; based on the updated rate of data usage, the computer system updating the expected amount of data usage; and the computer system determining and making a re-adjustment of the characteristic of the data stream so that the updated expected amount of data usage is within the target range, wherein the step of making the re-adjustment causes a decrease or an increase in a performance of the data stream.
Unknown
September 4, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.