US-12627577-B2 - Method and apparatus for network resource management
Abstract
Systems and methods are described herein for managing network resources. A computing device may request network resources for an application and obtain a guarantee that those network resources can be provided. The computing device may use a layer in its operating system that communicates with a provider of the network resources in order to manage the network resources and obtain a guarantee that the network resources can be provided. The provider may confirm whether it can fulfill the computing device's request and may manage network traffic to guarantee that the network resources are provided.
Inventors
- Yiu L. Lee
Assignees
- COMCAST CABLE COMMUNICATIONS, LLC
Dates
- Publication Date
- 20260512
- Application Date
- 20210215
Claims (20)
- 1 . A method comprising: sending, to a first computing device, information comprising: a request for one or more network resources associated with execution of an application by a second computing device, and an identifier associated with a network connection for the application; receiving, from the first computing device, an indication that the one or more network resources are available for the network connection; and causing execution of the application using the one or more network resources.
- 2 . The method of claim 1 , wherein the one or more network resources comprise at least one of: a minimum bandwidth, a minimum buffer allocation, a maximum number of connections, a resolution, a number of network hops, jitter, or a latency.
- 3 . The method of claim 1 , wherein the application streams video content, and wherein the indication indicates that the one or more network resources comprise at least one of: a guaranteed resolution for the video content or a guaranteed bandwidth for the network connection.
- 4 . The method of claim 3 , wherein the video content is provided by the application in one or more formats, wherein each format of the one or more formats is associated with a level of quality.
- 5 . The method of claim 1 , wherein the indication indicates that the one or more network resources comprise a guaranteed latency for responding to a transaction request using the network connection.
- 6 . The method of claim 1 , wherein the causing execution is based on a user input indicating a selection of a network resource of the one or more network resources, wherein the network resource comprises at least one of: a guaranteed resolution for the video content or a guaranteed bandwidth for the network connection.
- 7 . The method of claim 1 , wherein the first computing device is associated with at least one of: a data center, an Internet service provider (ISP), or a network administrative domain; and wherein the first computing device monitors network data and performs instructions to apply the one or more network resources to the network connection.
- 8 . The method of claim 1 , further comprising: causing, via a user interface of the second computing device, display of the indication.
- 9 . The method of claim 1 , further comprising: determining, by a network resource layer associated with the second computing device, the one or more network resources associated with the execution of the application.
- 10 . The method of claim 9 , wherein the network resource layer resides in a kernel layer of an operating system of the second computing device.
- 11 . The method of claim 9 , wherein the information further comprises a registration request to register the network resource layer with the first computing device.
- 12 . A method comprising: receiving, from a computing device, information comprising: a request for one or more network resources associated with execution of an application by the computing device, and an identifier associated with a network connection for the application; and sending, to the computing device, an indication that the one or more network resources are available for the network connection to cause execution of the application using the one or more network resources.
- 13 . The method of claim 12 , wherein the one or more network resources comprise at least one of: a minimum bandwidth, a minimum buffer allocation, a maximum number of connections, a resolution, a number of network hops, jitter, or a latency.
- 14 . The method of claim 12 , wherein the application streams video content, and wherein the indication indicates that the one or more network resources comprise at least one of: a guaranteed resolution for the video content or a guaranteed bandwidth for the network connection.
- 15 . The method of claim 12 , wherein the indication indicates that the one or more network resources comprise a guaranteed latency for responding to a transaction request using the network connection.
- 16 . The method of claim 12 , wherein the request is determined, by a network resource layer associated with the computing device, wherein the network resource layer resides in a kernel layer of an operating system of the computing device.
- 17 . A method comprising: receiving, via a user input, an indication of a selected network resource associated with execution of an application by a first computing device; sending, to a second computing device, information comprising: a request for the selected network resource, and an identifier associated with a network connection for the application; receiving, from the second computing device, an indication that the selected network resource is available for the network connection; and causing execution of the application using the selected network resource.
- 18 . The method of claim 17 , wherein the application streams video content, and wherein the indication indicates that the selected network resource comprises at least one of: a guaranteed resolution for the video content or a guaranteed bandwidth for the network connection.
- 19 . The method of claim 17 , wherein the indication indicates that the selected network resource comprises a guaranteed latency for responding to a transaction request using the network connection.
- 20 . The method of claim 17 , wherein the second computing device is associated with at least one of: a data center, an Internet service provider (ISP), or a network administrative domain; and wherein the second computing device monitors network data and performs instructions to apply the one or more network resources to the network connection.
Description
BACKGROUND Operating systems may manage some computing resources for an application. However, the application may not have a mechanism to manage network resources. Accordingly, more efficient methods for managing network resources for applications are desired. SUMMARY Systems and methods are described herein for managing network resources. A computing device may determine what network resources are needed or requested by an application and obtain a guarantee that those network resources can be provided. For example, a computing device may negotiate for a guaranteed bitrate or resolution for a video streaming application so that a high-quality viewing experience is guaranteed. The computing device may manage the network resources using a layer in its operating system that communicates with a provider of the network resources. The provider may confirm whether it can fulfill the computing device's request and may manage network traffic to guarantee that the network resources are provided. BRIEF DESCRIPTION OF THE DRAWINGS The following detailed description is better understood when read in conjunction with the appended drawings. For the purposes of illustration, examples are shown in the drawings; however, the subject matter is not limited to specific elements and instrumentalities disclosed. In the drawings: FIG. 1 shows an example system; FIG. 2 shows an example system; FIG. 3 shows an example system; FIG. 4 shows an example method; FIG. 5 shows an example method; FIG. 6 shows an example method; and FIG. 7 shows an example computing device. DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS Systems and methods are described herein for managing network resources. Applications executing on a computing device may rely on the kernel layer of an operating system of the computing device to manage computing resources. The computing resources may include but are not limited to memory allocation and CPU cycle scheduling. As a result, scheduling these computing resources may be performed by the kernel layer and not managed by an application (“app”). The techniques described herein enable a computing device to determine network resources and negotiate for those network resources for an application so that the resources may be guaranteed for use by the application. For example, a computing device may manage network resources for an application executing on the computing device. The network resources may include but are not limited to bandwidth, resolution, bitrate, latency, jitter, quantity of connections per second, or quality of service. The network resources may be managed by the operating system of the computing device. The network resources may be managed by a layer residing in the operating system of the computing device. The network resources may be managed by a network resource management layer (NRL) residing in the operating system of the computing device. The NRL may reside in a layer of the operating system. For example, the NRL may reside in the kernel layer of operating system of the computing device. Although, the term NRL may be used in the examples herein, one skilled in the art recognizes that the techniques performed by the NRL may be performed by any operating system, any operating system layer, or any other aspect of a computing device. The computing device, executing the application, may communicate with another computing device that is associated with the application. The computing device associated with the application may provide the computing, storage, and networking resources for that application. For example, the computing device associated with the application may comprise a service provider, an Internet service provider (ISP), a data center, or an administrative network domain. The computing device associated with the application may allocate the network resources to the application. For example, the NRL may communicate with the computing device that is associated with the application in order to request network resources. The computing device associated with the application may, based on communication via the NRL, guarantee the availability of the network resources for the application. FIG. 1 shows an example system 100. The system may comprise computing devices 102a and 102b, a gateway 101, and a server 104. The gateway 101 may send signals via the network 110. The network 110 may comprise a network such as the Internet or any other network described herein. The server 104 may be associated with a service provider, an ISP, a data center, or an administrative network domain that provides the computing, storage, and networking resources for one or more applications. The gateway 101 may operate as a wireless local area network (WLAN) router and cable modem. The network 120 may comprise a Wi-Fi network. The network 120 may communicate using technologies such as WLAN technology based on the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards or any other appropriate technolo