IP Library Granted Patent US 12706830
Granted Patent B2
US 12706830 · App. 17/588,594 · Granted Aug 11, 2026

Routing entry obtaining method and apparatus, and device

Inventors: Shuping Peng (Beijing, CN); Lei Li (Beijing, CN); Zhenbin Li (Beijing, CN); Jianwu Hao (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/04H04L45/54H04L45/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12706830
App. No.
17/588,594
Granted
Aug 11, 2026
Kind
B2
Abstract

A routing entry obtaining method and apparatus applied to a network device and includes obtaining an identifier of an application program, a computing capability of a first apparatus running the application program, and a computing capability of a second apparatus running the application program; and obtaining a routing entry based on the identifier of the application program, the computing capability of the first apparatus, and the computing capability of the second apparatus, wherein the routing entry comprises the identifier of the application program and an egress port, where the egress port is capable of communicating with a target apparatus determined according to the computing capability of the first apparatus and the computing capability of the second apparatus.

Claims (42)

1 . A method implemented by a network device, wherein the method comprises:

receiving, by the network device and from a first apparatus running an application program, a first Border Gateway Protocol (BGP) packet comprising a first computing capability of the first apparatus and an identifier of the application program;

receiving, by the network device and from a second apparatus running the application program, a second BGP packet comprising a second computing capability of the second apparatus and the identifier of the application program;

selecting, according to the identifier of the application program, the first computing capability, and the second computing capability, at least one of the first apparatus or the second apparatus as a target apparatus by selecting, based on a comparison of the first computing capability and the second computing capability to a computing capability threshold, the at least one of the first apparatus or the second apparatus as the target apparatus, wherein when the first computing capability and the second computing capability comprise loads, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the loads being less than a preset load threshold, the at least one of the first apparatus or the second apparatus, wherein when the first computing capability and the second computing capability comprise quantities of CPU cores, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the quantities of CPU cores being greater than a preset quantity of cores threshold, the at least one of the first apparatus or the second apparatus, and wherein when the first computing capability and the second computing capability comprise sizes of random-access memories (RAMs), selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the sizes of RAMs being greater than a preset quantity of RAM, the at least one of the first apparatus or the second apparatus; and

identifying an egress port configured to communicate with a next-hop device on a path to the target apparatus.

2 . The method of claim 1 , further comprising receiving, from a virtual router, a third packet comprising the identifier of the application program, the first computing capability, and the second computing capability.

3 . The method of claim 2 , wherein the third packet is a third BGP packet.

4 . The method of claim 1 , further comprising receiving, from a terminal device, a fourth packet comprising the identifier of the application program, wherein identifying the egress port comprises obtaining, based on the identifier of the application program and a routing entry, the egress port, and wherein the method further comprises sending the fourth packet through the egress port.

5 . The method of claim 1 , wherein selecting the at least one of the first apparatus or the second apparatus as the target apparatus comprises selecting, based on the first computing capability or the second computing capability meeting a preset condition, the at least one of the first apparatus or the second apparatus as the target apparatus.

6 . The method of claim 5 , further comprising:

receiving a routing entry that comprises a network performance of the path;

obtaining the network performance; and

identifying, based on the network performance, the next-hop device.

7 . The method of claim 6 , further comprising receiving, from a terminal device, a fifth packet comprising the identifier of the application program and a network performance requirement of the application program, wherein selecting the at least one of the first apparatus or the second apparatus as the target apparatus comprises selecting, based on the identifier of the application program, the network performance matching the network performance requirement, and the routing entry, the at least one of the first apparatus or the second apparatus as the target apparatus, and wherein the method further comprises sending the fifth packet through the egress port.

8 . The method of claim 1 , further comprising obtaining a routing entry comprising a weight value identifying a probability of sending a sixth packet to the target apparatus through the egress port.

9 . The method of claim 1 , further comprising communicating, through the egress port, with the target apparatus.

10 . The method of claim 1 , wherein selecting the at least one of the first apparatus or the second apparatus as the target apparatus comprises selecting, based on ranking the first computing capability and the second computing capability, the at least one of the first apparatus or the second apparatus as the target apparatus having a highest rank.

11 . An apparatus applied to a network device, wherein the apparatus comprises:

a memory configured to store instructions; and

one or more processors coupled to the memory and configured to execute the instructions to cause the apparatus to:

receive, from a first apparatus running an application program, a first Border Gateway Protocol (BGP) packet comprising a first computing capability of the first apparatus and an identifier of the application program;

receive, from a second apparatus running the application program, a second BGP packet comprising a second computing capability of the second apparatus and the identifier of the application program;

select, according to the identifier of the application program, the first computing capability, and the second computing capability, at least one of the first apparatus or the second apparatus as a target apparatus by selecting, based on a comparison of the first computing capability and the second computing capability to a computing capability threshold, the at least one of the first apparatus or the second apparatus as the target apparatus, wherein when the first computing capability and the second computing capability comprise loads, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the loads being less than a preset load threshold, the at least one of the first apparatus or the second apparatus, wherein when the first computing capability and the second computing capability comprise quantities of CPU cores, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the quantities of CPU cores being greater than a preset quantity of cores threshold, the at least one of the first apparatus or the second apparatus, and wherein when the first computing capability and the second computing capability comprise sizes of random-access memories (RAMs), selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the sizes of RAMs being greater than a preset quantity of RAM, the at least one of the first apparatus or the second apparatus; and

identify an egress port configured to communicate with a next-hop device on a path to the target apparatus.

12 . The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to receive, from a virtual router, a third packet comprising the identifier of the application program, the first computing capability, and the second computing capability.

13 . The apparatus of claim 12 , wherein the third packet is a third BGP packet.

14 . The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to receive, from a terminal device, a fourth packet comprising the identifier of the application program, wherein identifying the egress port comprises obtaining, based on the identifier of the application program and a routing entry, the egress port, and wherein the one or more processors are further configured to execute the instructions to cause the apparatus to send the fourth packet through the egress port.

15 . The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to select, based on the first computing capability or the second computing capability meeting a preset condition, the at least one of the first apparatus or the second apparatus as the target apparatus.

16 . The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to:

obtain a routing entry comprising a network performance of the path;

obtain the network performance; and

identify, based on the network performance, the next-hop device.

17 . The apparatus of claim 16 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to receive, from a terminal device, a fifth packet comprising the identifier of the application program and a network performance requirement of the application program, wherein selecting the at least one of the first apparatus or the second apparatus as the target apparatus comprises selecting, based on the identifier of the application program, the network performance matching the network performance requirement, and the routing entry, the at least one of the first apparatus or the second apparatus as the target apparatus, and wherein the one or more processors are further configured to execute the instructions to cause the apparatus to send the fifth packet through the egress port.

18 . The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to obtain a routing entry comprising a weight value identifying a probability of sending a sixth packet to the target apparatus through the egress port.

19 . A method implemented by a network device, wherein the method comprises:

receiving, by the network device and from a first apparatus running an application program, a first Border Gateway Protocol (BGP) packet comprising a first computing capability of the first apparatus and an identifier of the application program;

receiving, by the network device and from a second apparatus running the application program, a second BGP packet comprising a second computing capability of the second apparatus and the identifier of the application program;

selecting, according to the identifier of the application program, the first computing capability, and the second computing capability, at least one of the first apparatus or the second apparatus as a target apparatus by selecting, based on a comparison of the first computing capability and the second computing capability to a computing capability threshold, the at least one of the first apparatus or the second apparatus as the target apparatus, wherein when the first computing capability and the second computing capability comprise loads, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the loads being less than a preset load threshold, the at least one of the first apparatus or the second apparatus, wherein when the first computing capability and the second computing capability comprise quantities of CPU cores, selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the quantities of CPU cores being greater than a preset quantity of cores threshold, the at least one of the first apparatus or the second apparatus, and wherein when the first computing capability and the second computing capability comprise sizes of random-access memories (RAMs), selecting the at least one of the first apparatus or the second apparatus comprises selecting, based on one of the sizes of RAMs being greater than a preset quantity of RAM, the at least one of the first apparatus or the second apparatus;

identifying an egress port configured to communicate with a next-hop device on a path to the target apparatus; and

communicating, through the egress port, with the target apparatus.

20 . The method of claim 19 , further comprising receiving, from a virtual router, a third packet comprising the identifier of the application program, the first computing capability, and the second computing capability.

21 . The method of claim 20 , wherein the third packet is a third BGP packet.