This application relates to the communications field, and in particular, to a route computation method and a related device.
Currently, there are two development trends of internet computation, and one is a ubiquitous computing capability. That is, computing containers with different scales of computing capabilities are widely distributed in different distances between users. These computing containers may be thousands of base stations that have computing capabilities and that are brought by tens of billions of intelligent terminals, billions of home gateways worldwide, and future mobile edge computing (mobile edge computing, MEC) in each city, or may be hundreds of cloud-hosted (Cloud CO) equipment rooms brought by network function virtualization (network function virtualization, NFC), and dozens of large-scale cloud data centers in each country. The other is a trend that features being microservice-based or serverless (Serverless). A conventional client-server (client-server) mode is deconstructed. Applications on a server (server) side are deconstructed into “functional components” for being deployed on a cloud platform. The functional components are scheduled by a same application programming interface gateway (application programming interface gateway, API gateway). In this way, an event-triggering function component can “be used immediately after being required and be ended immediately after being used”. That is, the functional component can be dynamically instantiated as required. A service logic of a server is transferred to a client side. A client only needs to focus on a “computation function” but does not need to be aware of computing resources such as a computation place and a server/virtual machine/container. Therefore, the client needs to focus only on the service logic and implement that “a function is a service”.
There is a gap between a current internet architecture and the foregoing trends. In a space dimension, a current internet topology is an “end-to-end model”, that is, a network is in the middle and computation is in the periphery. However, in an edge computing or ubiquitous computing scenario, an internet topology is changed to computation and is embedded in a network. A current internet protocol (Internet Protocol, IP) route technology is based on the “end-to-end model” and considers only IP reachability. The network and the computation are two uncorrelated independent worlds. Consequently, it is difficult to construct, through the network, a highly efficiently organized distributed computing system by using a ubiquitous capability.
Embodiments of this application provide a route computation method and a related device, used to inject a computing capability, as routing information, into a routing domain, so that the computing capability is added to route computation, thereby achieving optimal computation and network resource utilization.
According to a first aspect, an embodiment of this application provides a routing domain. The routing domain includes a computing container and a network router. The network router is a routing node that supports route computation. The computing container is connected to the network router through a virtual link. The computing container is configured to run a routing protocol, where the routing protocol is used to carry a computing capability of the computing container or the computing capability of the computing container and an identifier of a service or function; and send the computing capability of the computing container or the computing capability of the computing container and the identifier of the service or function to the network router by using the routing protocol. The network router is configured to obtain the computing capability, and obtain a network capability of the routing domain; and compute a route based on the computing capability; or compute a route based on the computing capability and the network capability.
It can be learned from the technical solution provided in this embodiment of this application that the computing container diffuses the computing capability of the computing container and the identifier of the service or function in the routing domain, so that the computing capability is considered during route computation, thereby achieving optimal computation and network resource utilization.
Optionally, the network router may further generate a routing table based on the identifier of the service or function and the route, and store the routing table.
Optionally, the computing container sends a virtual link state to the network router. The virtual link state is used to indicate the computing capability or the computing capability of the computing container and the identifier of the service or function.
Optionally, in the routing domain, the computing container may also compute a route based on the obtained computing capability. Alternatively, the computing container may also obtain the network capability of the routing domain, and compute a route based on the computing capability and the network capability.
In this embodiment of this application, the route computed by the computing container is a route from a service or function consumer to each computing container in the routing domain. The computing container may be a server, a virtual machine, or a container, or a smaller unit that provides a computing resource. In addition, the computing container may further include application software or an operating system, and the application software or the operating system may also be used as a special router configured to compute a route. In this way, the computing container determines the route from the service or function consumer to each computing container, so that the user can select a more appropriate computing container to implement a corresponding service or function.
Optionally, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay. The network capability includes a network metric value or a network parameter, and the network parameter includes at least one of a network bandwidth and a network delay.
Optionally, a specific process in which the network router or the computing container computes a route based on the computing capability or based on the computing capability and the network capability is as follows:
In a possible implementation, the network router or the computing container obtains the computing metric value based on the computing capability parameter, and then computes the route based on the computing metric value.
In another possible implementation, the network router or the computing container obtains the computing metric value based on the computing capability parameter, and obtains the network metric value based on the network parameter. Then, the network router or the computing container computes the route based on the computing metric value and the network metric value.
In another possible implementation, the network router or the computing container obtains a composite metric value based on the computing capability parameter and the network parameter. Then, the network router or the computing container computes the route based on the composite metric value.
In this embodiment of this application, the route computed by the network router is a route from the network router to each routing node in the routing domain, and the route computed by the computing container or application software or operating system is a route from the service or function consumer to each computing container. In addition, the network router may be further configured to diffuse the computing capability or the computing capability and the identifier of the service or function to each network router in the routing domain; and/or the network router is further configured to diffuse the computing capability or the computing capability and the identifier of the service or function to another routing domain.
Based on the foregoing route computation method, when the route is computed by using the computing metric value and the network metric value, the network router or the computing container may perform comprehensive computation based on a specific service or function. For example, for a service that requires the computing capability, in a routing algorithm running on each node, the computing metric value is primarily used and the network metric value is secondarily used, to compute an optimal route; and for a conventional transmission-type service, because an edge computing capability is not required, in a routing algorithm running on each node, the network metric value is primarily used to compute an optimal route. In this way, the user can more effectively achieve optimal computation or network resource utilization.
Optionally, the network router or the computing container obtains the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the network router or the computing container obtains the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where α2, β1, β2 and γ2 are weighted values.
Optionally, the network router or the computing container obtains the composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula.
The third formula is:
where α1, γ1, α2, β1, β2, and γ2 are weighted values.
It may be understood that each weighted value in the first formula, the second formula, and the third formula may be appropriately set based on a service feature. For example, for a delay-sensitive service, a delay-related coefficient may be appropriately increased; and for a service that requires high bandwidth, a throughput-related or network bandwidth-related coefficient may be appropriately increased.
According to a second aspect, an embodiment of this application provides a computing container, specifically including: an obtaining unit, configured to obtain a computing capability or the computing capability and an identifier of a service or function; a running unit, configured to run a routing protocol, where the routing protocol is used to carry the computing capability of the computing container or the computing capability of the computing container and the identifier of the service or function that is/are obtained by the obtaining unit; and a sending unit, configured to send the computing capability or the computing capability and the identifier of the service or function to a network router by using the routing protocol run by the running unit.
Optionally, the sending unit is specifically configured to send a virtual link state to the network router, where the virtual link state is used to indicate the computing capability or the computing capability and the identifier of the service or function.
Optionally, the computing container further includes a computation unit, configured to compute a route based on the computing capability, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
Optionally, the obtaining unit is further configured to obtain a network capability of a routing domain in which the computing container is located, where the network capability includes a network metric value or a network parameter, the network parameter includes at least one of a network bandwidth and a network delay, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
The computation unit is further configured to compute a route based on the computing capability and the network capability, where the route computed by the computing container is a route from a service or function user to each computing container in the routing domain.
Optionally, the computation unit is specifically configured to obtain the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
Optionally, the computation unit is specifically configured to obtain the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the computation unit is specifically configured to: obtain a composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula; and compute the route based on the composite metric value to generate a routing table.
The third formula is:
where
α1, γ1, α2, β1, β2, and γ2 are weighted values.
Optionally, the computing container further includes application software or an operating system.
Optionally, the application software or the operating system is configured to compute the route based on the computing capability; or the application software or the operating system is configured to compute the route based on the computing capability and the network capability, where the route computed by the application software or the operating system is the route from the service or function user to each computing container in the routing domain.
Optionally, the computing container further includes a storage unit, configured to store the computing capability or the computing capability and the identifier of the service or function, and the network capability.
In a possible implementation, the computing container includes a processor and a transceiver, and the processor is configured to support the computing container in performing a corresponding function in the method provided in the second aspect. The transceiver is configured to indicate communication between the computing container and the network router, and send information or instructions in the foregoing method to the network router. Optionally, the apparatus may further include a memory. The memory is configured to be coupled to the processor, and stores program instructions and data that are necessary for the computing container.
The processor mentioned anywhere above may be a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more integrated circuits configured to control program execution of the channel resource coordination and allocation method in the foregoing aspects.
According to a third aspect, an embodiment of this application provides a network router, including: an obtaining unit, configured to obtain a computing capability of a computing container, and obtain a network capability of a routing domain in which the network router is located; and a computation unit, configured to compute a route based on the computing capability, or compute a route based on the computing capability and the network capability.
Optionally, the obtaining unit is specifically configured to receive a virtual link state sent by the computing container, where the virtual link state is used to indicate the computing capability or the computing capability and the identifier of the service or function.
Optionally, the network router further includes a sending unit, configured to: diffuse the computing capability or the computing capability and the identifier of the service or function to each network router in the routing domain; and/or diffuse the computing capability or the computing capability and the identifier of the service or function to another routing domain.
Optionally, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
The network capability includes a network metric value or a network parameter, and the network parameter includes at least one of a network bandwidth and a network delay.
Optionally, the computation unit is specifically configured to obtain the computing metric value based on the computing capability parameter; and compute the route based on the computing metric value.
Optionally, the computation unit is specifically configured to obtain the computing metric value based on the computing capability parameter, and obtain the network metric value based on the network parameter; and compute the route based on the computing metric value and the network metric value.
Optionally, the computation unit is specifically configured to obtain the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the computation unit is specifically configured to obtain the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the computation unit is specifically configured to: obtain a composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula; and compute the route based on the composite metric value to generate a routing table.
The third formula is:
where
α1, γ1, α2, β1, β2, and γ2 are weighted values.
Optionally, the network router further includes a storage unit. The storage unit is configured to store the computing capability of the computing container or the computing capability and the identifier of the service or function, and the network capability of the routing domain.
In a possible implementation, the network router includes a processor and a transceiver, and the processor is configured to support the network router in performing a corresponding function in the foregoing method. The transceiver is configured to indicate communication between the computing container and the network router, and send information or instructions in the foregoing method to the computing container. Optionally, the apparatus may further include a memory. The memory is configured to be coupled to the processor, and stores program instructions and data that are necessary for the network router.
The processor mentioned anywhere above may be a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more integrated circuits configured to control program execution of the channel resource coordination and allocation method in the foregoing aspects.
According to a fourth aspect, an embodiment of this application provides a route computation method, applied to a routing domain including the computing container and the network router in the first aspect to the third aspect. The network router is a router that supports route computation. A specific implementation is as follows: The computing container runs a routing protocol, where the routing protocol is configured to carry a computing capability of the computing container or the computing capability of the computing container and an identifier of a service or function; and sends the computing capability of the computing container or the computing capability of the computing container and the identifier of the service or function to the network router by using the routing protocol. The network router obtains the computing capability, and obtains a network capability of the routing domain. The network router computes a route based on the computing capability; or computes a route based on the computing capability and the network capability.
Optionally, the sending the computing capability of the computing container or the computing capability of the computing container and the identifier of the service or function to the network router includes: The computing container sends a virtual link state to the network router, where the virtual link state is used to indicate the computing capability or the computing capability of the computing container and the identifier of the service or function.
Optionally, in the route computation method, the computing container computes the route based on the computing capability. Alternatively, the computing container obtains the network capability; and the computing container computes the route based on the computing capability and the network capability, where the route computed by the computing container is a route from a service or function user to each computing container in the routing domain.
Optionally, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay. The network capability includes a network metric value or a network parameter, and the network parameter includes at least one of a network bandwidth and a network delay.
Optionally, a specific process in which the network router or the computing container computes a route based on the computing capability or based on the computing capability and the network capability is as follows:
In a possible implementation, the network router or the computing container obtains the computing metric value based on the computing capability parameter; and then computes the route based on the computing metric value.
In another possible implementation, the network router or the computing container obtains the computing metric value based on the computing capability parameter, and obtains the network metric value based on the network parameter. Then, the network router or the computing container computes the route based on the computing metric value and the network metric value.
In another possible implementation, the network router or the computing container obtains a composite metric value based on the computing capability parameter and the network parameter. Then, the network router or the computing container computes the route based on the composite metric value.
In this embodiment of this application, the route computed by the network router is a route from the network router to each routing node in the routing domain, and the route computed by the computing container or application software or operating system is a route from the service or function consumer to each computing container.
Based on the foregoing route computation method, when the route is computed by using the computing metric value and the network metric value, the network router or the computing container may perform comprehensive computation based on a specific service or function. For example, for a service that requires the computing capability, in a routing algorithm running on each node, the computing metric value is primarily used and the network metric value is secondarily used, to compute an optimal route; for a conventional transmission-type service, because an edge computing capability is not required, in a routing algorithm running on each node, the network metric value is primarily used to compute an optimal route. In this way, the user can more effectively achieve optimal computation or network resource utilization.
Optionally, the network router or the computing container obtains the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the network router or the computing container obtains the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the network router or the computing container obtains a composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula.
The third formula is:
where
α1γ1, α2, β1, β2, and γ2 are weighted values.
It may be understood that each weighted value in the first formula, the second formula, and the third formula may be appropriately set based on a service feature. For example, for a delay-sensitive service, a delay-related weighted value may be appropriately increased; for a service that requires high bandwidth, a throughput-related or network bandwidth-related weighted value may be appropriately increased.
It can be learned from the foregoing technical solution that, the embodiments of this application have the following advantages: The computing container diffuses the computing capability of the computing container and the identifier of the service or function in the routing domain, so that the computing capability is considered when a routing table is generated during route computation, thereby achieving optimal computation and network resource utilization. In addition, the computing container implements automatic allocation of computation, storage, and network resources, to adapt to a rapid service change or service mobility of the user. In this embodiment of this application, the network router performs route computation based on the computing capability of the computing container and the network capability, to achieve optimal computation and network resource utilization.
According to a fifth aspect, an embodiment of this application provides a computer-readable storage medium. The computer storage medium stores computer instructions, and the computer instructions are used to perform the method according to any possible implementation of the fourth aspect.
According to a sixth aspect, an embodiment of this application provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to perform the method according to the fourth aspect of the foregoing aspects.
Embodiments of this application provide a route computation method and a related device, used to inject a computing capability, as routing information, into a routing domain, so that the computing capability is added to route computation, thereby achieving optimal computation and network resource utilization.
In the specification, claims, and accompanying drawings of this application, the terms “first”, “second”, “third”, “fourth”, and so on (if existent) are intended to distinguish between similar objects but do not necessarily indicate a specific order or sequence. It should be understood that the data termed in such a way are interchangeable in proper circumstances so that the embodiments of the present invention described herein can be implemented in other orders than the order illustrated or described herein. Moreover, the terms “include”, “contain” and any other variants mean to cover the non-exclusive inclusion, for example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to those units, but may include other units not expressly listed or inherent to such a process, method, product, or device.
Currently, there are two development trends of internet computation, and one is a ubiquitous computing capability. That is, computing containers with different scales of computing capabilities are widely distributed in different distances between users. These computing containers may be thousands of base stations that have computing capabilities and that are brought by tens of billions of intelligent terminals, billions of home gateways worldwide, and MEC in each city, or hundreds of cloud CO equipment rooms brought by NFC, and dozens of large-scale cloud data centers in each country. However, there is a gap between a current internet architecture and the foregoing trends. In a space dimension, a current internet topology is an “end-to-end model” (that is, a network is in the middle and computation is in the periphery). As shown in
To resolve the problem, an embodiment of this application provides a routing domain. The routing domain includes a computing container and a network router. The network router is a routing node that supports route computation. The computing container is connected to the network router through a virtual link. The computing container is configured to run a routing protocol, where the routing protocol is used to carry a computing capability of the computing container or the computing capability of the computing container and an identifier of a service or function; and send the computing capability of the computing container or the computing capability of the computing container and the identifier of the service or function to the network router by using the routing protocol. The network router is configured to obtain a network capability of the routing domain; and compute a route based on the computing capability; or compute a route based on the computing capability and the network capability.
Specifically, an architecture of the routing domain may be shown in
Based on the routing domain shown in
The computing container 201, as a route initiator, runs a route daemon process. Then, in the route daemon process, an identifier of a service or function corresponding to the computing container 201 and a computing capability parameter of the computing container 201 are used as a virtual link state and sent to a neighboring network router 202 by using a routing protocol (where the routing protocol includes an interior gateway protocol (interior gateway protocol, IGP) or a border gateway protocol (border gateway protocol, BGP)). The routing protocol is used to carry a computing capability of the computing container or the computing capability of the computing container and an identifier of a service or function. Then, the network router 202 obtains a network capability of the routing domain. Finally, the network router 202 computes a route based on the network capability and the computing capability of the computing container 201 or the network router 202 computes a route based on the computing capability of the computing container.
Optionally, the computing container may also inject the computing capability or the computing capability of the computing container and the identifier of the service or function into the routing domain in a form of the virtual link state. Then, after receiving the virtual link state, the network router diffuses the virtual link state to other network routers in the routing domain, and even to another neighboring routing domain.
Optionally, after computing the route, the network router may further generate a routing table based on the identifier of the service or function and the route.
It may be understood that the computing capability includes the computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay. The network capability includes a network metric value or a network parameter, and the network parameter includes at least one of a network bandwidth and a network delay.
In an example, an architecture of the routing domain may be shown in
Specifically, a specific process in which the network router 202 or computing container 201 computes a route based on the computing capability and the network capability is as follows:
In a possible implementation, the network router 202 or the computing container 201 obtains a computing metric value based on the computing capability parameter, and obtains a network metric value based on the network parameter. Then, the network router 202 or the computing container 201 computes the route based on the computing metric value and the network metric value. In addition, when the route is computed by using the computing metric value and the network metric value, comprehensive computation may be performed based on a specific service or function. For example, for a service that requires the computing capability, in a routing algorithm running on each node, the computing metric value is primarily used and the network metric value is secondarily used, to compute an optimal route; and for a conventional transmission-type service, because an edge computing capability is not required, in a routing algorithm running on each node, the network metric value is primarily used to compute an optimal route.
In another possible implementation, the network router 202 or the computing container 201 obtains a composite metric value through computation based on the computing capability parameter and the network parameter. Then, the network router 202 and the computing container 201 compute the route based on the composite metric value.
In another possible implementation, the network router 202 or the computing container 201 obtains a computing metric value through computation based on the computing capability parameter. Then, the network router 202 or the computing container 201 computes the route based on the computing metric value.
Optionally, the network router 202 or the computing container 201 obtains the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the network router 202 or the computing container 201 obtains the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the network router 202 or the computing container 201 obtains the composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula.
The third formula is:
where
α1, γ1, α2, β1, β2, and γ2 are weighted values.
It may be understood that each weighted value in the first formula, the second formula, and the third formula may be appropriately set based on a service feature. For example, for a delay-sensitive service, a delay-related coefficient may be appropriately increased; and for a service that requires high bandwidth, a throughput-related or network bandwidth-related coefficient may be appropriately increased.
A computing capability of the computing container 201 is in a one-to-one correspondence with the identifier of the service or function. However, when a service or function is not instantiated in the computing container, the computing capability of the computing container 201 is in a one-
to-one correspondence with a benchmark service or function identifier. That is, the computing container 201 may use the computing capability of the computing container 201 and the benchmark service or function identifier as a virtual link state for being diffused in the routing domain, so that each network router 202 or computing container 201 in the routing domain can determine a computing resource or storage resource suitable for the service or function through computation. In addition, after it is determined that the service or function is instantiated in the routing domain, the benchmark service or function identifier is replaced with the identifier of the service or function, and the identifier of the service or function and a computing capability parameter of the computing container in which the instantiation is performed are diffused in the routing domain. It may be understood that the identifier of the service or function may be a name or an identifier that is uncorrelated to a location; the identifier of the service or function is mapping of an information object; the identifier of the service or function is a function of processing an information object; the identifier of the service or function is a specific service; or the identifier of the service or function is a network address. A specific case is not limited herein.
In this embodiment of this application, the route computed by the network router is a route from the network router to each routing node in the routing domain, and the route computed by the computing container or application software or operating system is a route from the service or function consumer to each computing container.
In this embodiment of this application, the computing container 201 diffuses the computing capability of the computing container 201 and the identifier of the service or function in the routing domain, so that the computing capability is considered when a routing table is generated during route computation, thereby achieving optimal computation and network resource utilization. In addition, the computing container implements automatic allocation of computation, storage, and network resources, to adapt to a rapid service change or service mobility of the user. In this embodiment of this application, the network router performs route computation based on the computing capability of the computing container and the network parameter, to achieve optimal computation and network resource utilization.
Specifically, referring to
Optionally, the computing container 201 sends the computing capability or the computing capability and the identifier of the service or function, as a virtual link state, to the network router 202.
Optionally, the computing container 201 further includes a computation unit 2014, configured to compute a route based on the computing capability, where the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
Optionally, the obtaining unit 2011 of the computing container 201 is further configured to obtain a network capability of a routing domain in which the computing container 201 is located, where the network capability includes a network metric value or a network parameter, the network parameter includes at least one of a network bandwidth and a network delay, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
The computation unit 2014 is further configured to compute a route based on the computing capability and the network capability.
Optionally, the computation unit 2014 is specifically configured to obtain the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the computation unit 2014 is specifically configured to obtain the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the computation unit 2014 is specifically configured to: obtain a composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula, and compute the route based on the composite metric value to generate a routing table.
The third formula is:
where
α1, γ1, α2, β1, β2, and γ2 are weighted values.
The computing container 201 further includes a storage unit 2015. The storage unit 2015 is configured to store the computing capability or the computing capability and the identifier of the service or function running in the computing container 201, and the network capability.
Optionally, the computing container 201 further includes application software or an operating system. The application software or the operating system may be configured to: compute the route based on the computing capability, or compute the route based on the computing capability and the network capability.
The following describes the computing container 201 by using a specific functional block diagram. Specifically, referring to
In this embodiment, the application layer software or operating system in the computing container 201 may be considered as a special router. A functional block diagram of the application layer software or operating system may be shown in
The transceiver 804 sends a computing capability to a network router 202.
In an example, the processor 802 may include a baseband circuit, for example, may compute a route to generate a routing table. The transceiver 804 may include a radio frequency circuit, to perform processing such as modulation and amplification on link state information generated based on the computing capability, and then send the link state information to the network router.
In another example, the processor 802 may run an operating system to control a function between each device and each component. The transceiver 804 may include a baseband circuit and a radio frequency circuit.
It may be understood that
The processor 802 in the computing container 201 may be a general-purpose processor, for example, a general-purpose central processing unit (CPU), a network processor (network processor, NP), or a microprocessor, or may be an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more integrated circuits configured to control program execution in the solutions of this application, or may be a digital signal processor (digital signal processor, DSP), a field programmable gate array (field-programmable gate array, FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. Alternatively, the controller/processor may be a combination of processors implementing a computation function, for example, a combination of one or more microprocessors, or a combination of a DSP and a microprocessor. The processor usually performs logical and arithmetic operations based on program instructions stored in the memory.
The bus 801 may be a peripheral component interconnect (peripheral component interconnect, PCI) bus, an extended industry standard architecture (extended industry standard architecture, EISA) bus, and or the like. The bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent the bus in
The foregoing computer-readable storage medium/memory 803 may further store an operating system and another application program. Specifically, the program may include program code, and the program code includes computer operation instructions. More specifically, the memory may be a read-only memory (read-only memory, ROM), another type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM), another type of dynamic storage device that can store information and instructions, a magnetic disk memory, or the like. The memory 803 may be a combination of the foregoing storage types. In addition, the computer-readable storage medium/memory may be located in the processor, or may be located outside the processor, or distributed on a plurality of entities including the processor or a processing circuit. The computer-readable storage medium/memory may be specifically embodied in a computer program product. For example, the computer program product may include a computer-readable medium in a packaging material.
Alternatively, an embodiment of this application further provides a universal processing system. For example, the universal processing system is usually referred to as a chip. The universal processing system includes one or more microprocessors that provide a processor function, and an external memory that provides at least a part of a storage medium. All these components are connected to another supporting circuit by using an external bus architecture. When instructions stored in the memory are executed by the processor, the processor is enabled to execute some or all steps of the computing container in the route computation method.
Method or algorithm steps described in combination with the content disclosed in this application may be implemented by hardware, or may be implemented by a processor by executing software instructions. The software instructions may be formed by a corresponding software module. The software module may be located in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable hard disk, a CD-ROM, or a storage medium of any other form known in the art. For example, a storage medium is coupled to a processor, so that the processor can read information from the storage medium or write information into the storage medium. Certainly, the storage medium may be a component of the processor. The processor and the storage medium may be located in an ASIC. In addition, the ASIC may be located in user equipment. Certainly, the processor and the storage medium may exist in the user equipment as discrete components.
It may be understood that, after the computing container generates the routing table, the computing container does not need to maintain the routing table or perform route forwarding.
In the embodiments of this application, the computing container diffuses the computing capability of the computing container and the identifier of the service or function in the routing domain, so that the computing capability is considered when the routing table is generated during route computation, thereby achieving optimal computation and network resource utilization. In addition, the computing container implements automatic allocation of computation, storage, and network resources, to adapt to a rapid service change or service mobility of the user.
Specifically, referring to
a computation unit 2022, configured to compute a route based on the computing capability, or compute a route based on the computing capability and the network capability.
Optionally, the computing capability includes a computing capability parameter or a computing metric value, and the computing capability parameter includes at least one of a throughput, a server load, and a computing delay.
The network capability includes a network metric value or a network parameter, and the network parameter includes at least one of a network bandwidth and a network delay.
Optionally, the computation unit 2022 is specifically configured to obtain the computing metric value based on the computing capability parameter; and compute the route based on the computing metric value.
Optionally, the computation unit 2022 is specifically configured to obtain the computing metric value based on the computing capability parameter, and obtain the network metric value based on the network parameter; and compute the route based on the computing metric value and the network metric value.
Optionally, the computation unit 2022 is specifically configured to obtain the network metric value through computation based on the network parameter by using a first formula or a nonlinear weighting algorithm.
The first formula is:
Network metric value=α1×Network bandwidth+γ1ΣNetwork delay, where
α1 and γ1 are weighted values.
Optionally, the computation unit 2022 is specifically configured to obtain the computing metric value through computation based on the computing capability parameter by using a second formula or a nonlinear weighting algorithm.
The second formula is:
where
α2, β1, β2, and γ2 are weighted values.
Optionally, the computation unit 2022 is specifically configured to: obtain a composite metric value through computation based on the computing capability parameter and the network parameter by using a third formula; and compute the route based on the composite metric value to generate a routing table.
The third formula is:
where
α1, γ1, α2, β1, β2, and γ2 are weighted values.
Optionally, the network router 202 further includes a storage unit, configured to store the computing capability of the computing container 201 or the computing capability of the computing container 201 and an identifier of a service or function running in the computing container 201, and the network capability of the routing domain.
Optionally, the network router 202 further includes a generation unit 2023. The generation unit 2023 is configured to generate the routing table based on the identifier of the service or function and the route, and store the routing table in the storage unit.
The following describes the network router 202 by using a specific functional block diagram. Specifically, referring to
The transceiver 1104 sends a link state request to the computing container 201.
In an example, the processor 1102 may include a baseband circuit, for example, may compute a route to generate a routing table. The transceiver 1104 may include a radio frequency circuit, to perform processing such as modulation and amplification on the link state request, and then send the link state request to the computing container.
In another example, the processor 1102 may run an operating system to control a function between each device and each component. The transceiver 1104 may include a baseband circuit and a radio frequency circuit.
It can be understood that
The processor 1102 in the network router 202 may be a general-purpose processor, for example, a general-purpose central processing unit (CPU), a network processor (network processor, NP), or a microprocessor, or may be an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more integrated circuits configured to control program execution in the solutions of this application, or may be a digital signal processor (digital signal processor, DSP), a field programmable gate array (field-programmable gate array, FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. Alternatively, the controller/processor may be a combination of processors implementing a computation function, for example, a combination of one or more microprocessors, or a combination of a DSP and a microprocessor. The processor usually performs logical and arithmetic operations based on program instructions stored in the memory.
The bus 1101 may be a peripheral component interconnect (peripheral component interconnect, PCI) bus, an extended industry standard architecture (extended industry standard architecture, EISA) bus, and or the like. The bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent the bus in
The foregoing computer-readable storage medium/memory 1103 may further store an operating system and another application program. Specifically, the program may include program code, and the program code includes computer operation instructions. More specifically, the memory may be a read-only memory (read-only memory, ROM), another type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM), another type of dynamic storage device that can store information and instructions, a magnetic disk memory, or the like. The memory 1103 may be a combination of the foregoing storage types. In addition, the computer-readable storage medium/memory may be located in the processor, or may be located outside the processor, or distributed on a plurality of entities including the processor or a processing circuit. The computer-readable storage medium/memory may be specifically embodied in a computer program product. For example, the computer program product may include a computer-readable medium in a packaging material.
Alternatively, an embodiment of this application further provides a universal processing system. For example, the universal processing system is usually referred to as a chip. The universal processing system includes one or more microprocessors that provide a processor function, and an external memory that provides at least a part of a storage medium. All these components are connected to another supporting circuit by using an external bus architecture. When instructions stored in the memory are executed by the processor, the processor is enabled to perform some or all steps of the network router in the route computation method.
Method or algorithm steps described in combination with the content disclosed in this application may be implemented by hardware, or may be implemented by a processor by executing software instructions. The software instructions may be formed by a corresponding software module. The software module may be located in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable hard disk, a CD-ROM, or a storage medium of any other form known in the art. For example, a storage medium is coupled to a processor, so that the processor can read information from the storage medium or write information into the storage medium. Certainly, the storage medium may be a component of the processor. The processor and the storage medium may be located in an ASIC. In addition, the ASIC may be located in user equipment. Certainly, the processor and the storage medium may exist in the user equipment as discrete components.
In this embodiment of this application, the network router performs route computation based on the computing capability of the computing container and the network parameter, to achieve optimal computation and network resource utilization.
It may be clearly understood by persons skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in the form of a software product. The software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disc.
The foregoing embodiments are merely intended for describing the technical solutions of this application, but not for limiting this application. Although this application is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some technical features thereof, without departing from the spirit and scope of the technical solutions of the embodiments of this application.
Number | Date | Country | Kind |
---|---|---|---|
201910100277.4 | Jan 2019 | CN | national |
This application is a continuation of International Application No. PCT/CN2020/071667, filed on Jan. 13, 2020, which claims priority to Chinese Patent Application No. 201910100277.4, filed on Jan. 31, 2019, The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2020/071667 | Jan 2020 | US |
Child | 17386761 | US |