CN109861900B - Data processing method and device for real-time communication, computer equipment and storage medium - Google Patents

Data processing method and device for real-time communication, computer equipment and storage medium Download PDF

Info

Publication number
CN109861900B
CN109861900B CN201711240402.9A CN201711240402A CN109861900B CN 109861900 B CN109861900 B CN 109861900B CN 201711240402 A CN201711240402 A CN 201711240402A CN 109861900 B CN109861900 B CN 109861900B
Authority
CN
China
Prior art keywords
node
network
real
data
time communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711240402.9A
Other languages
Chinese (zh)
Other versions
CN109861900A (en
Inventor
薛笛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711240402.9A priority Critical patent/CN109861900B/en
Publication of CN109861900A publication Critical patent/CN109861900A/en
Application granted granted Critical
Publication of CN109861900B publication Critical patent/CN109861900B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

A data processing method, apparatus, computer device and medium for real-time communication, the method in one embodiment comprising: receiving real-time communication data to be transmitted, wherein the real-time communication data to be transmitted comprises a receiver address; determining a destination network node which is closest to the address of the receiver in a backbone network core network where the current data transfer node is located; and when the destination network node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the destination network node through an intranet dedicated line, so that the destination network node transmits the real-time communication data to be transmitted to the address of the receiver. The scheme of the embodiment improves the communication quality in real-time communication.

Description

Data processing method and device for real-time communication, computer equipment and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a data processing method for real-time communication, a data processing apparatus for real-time communication, a computer device, and a computer storage medium.
Background
With the progress of computer technology, real-time communication technology has gradually been widely developed, and live video, multi-user real-time audio and video communication and the like have been widely used in recent years because of the realization of the interaction between the real-time audio and the picture of the user. Taking multi-person real-time audio and video communication as an example, multiple scenes such as multi-person real-time video chat, one-to-one or one-to-many video teaching, remote video conference and the like can all relate to the real-time audio and video communication among multiple persons. In a scene of multi-user real-time audio and video communication, audio and video data of one user needs to be transmitted to other users in the scene of multi-user real-time audio and video communication through a network, and the audio and video data transmitted by the users is received, so that the data volume needing to be transmitted in the network is large, and how to ensure the quality of multi-user real-time audio and video communication becomes one of important technical contents. The existing method improves the data transmission capability of multi-user real-time communication by self-defining a virtual network, but still cannot meet the requirement of data transmission quality of multi-user real-time communication.
Disclosure of Invention
Based on this, embodiments of the present invention provide a data processing method, a data processing apparatus, a computer device, and a computer storage medium for real-time communication, so as to improve communication quality during real-time communication.
A data processing method for real-time communication comprises the following steps:
receiving real-time communication data to be transmitted, wherein the real-time communication data to be transmitted comprises a receiver address;
determining a destination network node which is closest to the address of the receiver in a backbone network core network where the current data transfer node is located;
and when the destination network node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the destination network node through an intranet dedicated line, so that the destination network node transmits the real-time communication data to be transmitted to the address of the receiver.
A data processing apparatus for real-time communication, comprising:
the data receiving module is used for receiving real-time communication data to be transmitted, and the real-time communication data to be transmitted comprises a receiver address;
a destination node determining module, configured to determine a destination network node closest to the address of the receiver in a backbone network core network where the current data relay node is located;
and the data transmission control module is used for transmitting the real-time communication data to be transmitted to the destination network node through an intranet private line when the destination network node is not the current data transfer node, so that the destination network node transmits the real-time communication data to be transmitted to the address of the receiver.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method as described above when executing the computer program.
A computer storage medium having stored thereon a computer program which, when executed by a processor, implements the method as described above.
According to the scheme in the embodiment, after the real-time communication data to be transmitted is received, the destination network node which is closest to the address of the receiver in the backbone network core network is determined based on the address of the receiver, and when the destination network node is not the current node, the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line, so that the real-time communication data to be transmitted is directly transmitted to the network node which is closest to the address of the receiver in the backbone network core network through the intranet dedicated line.
Drawings
FIG. 1 is a schematic illustration of an operating environment for an embodiment of the present invention;
FIG. 2 is a network architecture diagram of an intranet internetworking architecture, under an embodiment;
FIG. 3 is a flow diagram that illustrates a data processing method for real-time communication, in one embodiment;
FIG. 4 is a network architecture diagram of an intranet Internet architecture in another embodiment;
FIG. 5 is a network architecture diagram of an intranet Internet architecture in another embodiment;
FIG. 6 is a network architecture diagram of an intranet Internet architecture in another embodiment;
FIG. 7 is a network architecture diagram of an intranet Internet architecture in another embodiment;
FIG. 8 is a network architecture diagram of an intranet Internet architecture in another embodiment;
FIG. 9 is a schematic configuration diagram of a data processing apparatus for real-time communication in one embodiment;
fig. 10 is a schematic diagram of a constituent structure of a computer apparatus to which an embodiment is applied.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the detailed description and specific examples, while indicating the scope of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
To facilitate an understanding of the invention, the invention will now be described more fully with reference to the accompanying drawings. Preferred embodiments of the present invention are shown in the drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term "or/and" includes any and all combinations of one or more of the associated listed items.
Fig. 1 is a schematic diagram of an operating environment in an embodiment of the present application, as shown in fig. 1, the operating environment relates to a user terminal 101, a user terminal 102, and an intranet internet architecture 100, and in an application scenario of other embodiments, the operating environment may also relate to more user terminals, such as the user terminal 103 shown in fig. 1. In the application scenario of each embodiment, the user terminals can perform real-time communication through the intranet internet architecture 100.
Fig. 2 shows a network architecture schematic diagram of an intranet internet architecture in an embodiment, as shown in fig. 2, the intranet internet architecture includes a plurality of data relay nodes, a data relay service Acc is deployed on the data relay node, and the data relay node completes data processing of real-time communication in the embodiment through the data relay service Acc deployed thereon, thereby serving as the data relay node to complete a data relay process between user terminals during real-time communication. In the embodiment and other drawings shown in fig. 2 and described below, the data transit node with the data transit service deployed is referred to as a data transit node Acc, so as to visually distinguish the data transit node with the data transit service deployed from other types of nodes, and different data transit nodes Acc are distinguished by different numerical identifiers, such as Acc11, Acc12, Acc13 and Acc14 shown in fig. 2. Fig. 2 illustrates an example of the data transfer node including 4 data transit nodes Acc11, Acc12, Acc13, and Acc 14. It can be understood that the number of data transfer nodes in the actual intranet internet architecture may be other numbers based on different needs of service development and technical scenarios. Of course, the data transit node Acc may also be deployed with other service modules. The embodiment of the application relates to a data relay processing process of a data relay node Acc in a real-time communication process.
As shown in fig. 2, in the intranet internet architecture of this embodiment, the data relay nodes are interconnected and connected and communicate through an intranet dedicated line, that is, any two data relay nodes in the intranet internet architecture of this example are connected through an intranet dedicated line, for this reason, in each of the following examples, the intranet dedicated line between the data relay nodes is also referred to as an intranet dedicated line.
In one embodiment, the Data relay node Acc may be a network node DC (Data Center) that deploys Data relay services, and the network node DC provides the infrastructure for operation and maintenance facilities and provides related services as a device for collecting, storing, processing and transmitting Data centrally. The network nodes DC may be data center nodes in a backbone network core network of the architecture and in an area where the nodes of the backbone network core network are located, wherein the network nodes DC having a connection relationship in the backbone network core network are connected by an intranet dedicated line, and communicate with each other by the intranet dedicated line. In an actual service architecture, any two network nodes DC may be connected by an intranet dedicated line, or any two network nodes DC may be connected by an intranet dedicated line only if needed, that is, for some network nodes DC, only the network nodes DC that need to be connected are connected by a dedicated line, but not all network nodes DC, which is not specifically limited in each embodiment of the present application.
In addition, in the intranet internet architecture shown in fig. 2, each data relay node Acc and each network node DC may also be deployed with a related signaling access service, a logic scheduling service, and a flow control policy service, where: the signaling access service provides a uniform signaling access channel, and the signaling can comprise information such as entering a room, inquiring room information and the like by taking audio and video communication as an example; the logic scheduling service completes logic scheduling in a service processing process, taking audio and video communication as an example, the logic scheduling process may include, for example, allocating addresses of a flow control policy service (Center) and a data relay service (Acc), allocating room numbers, performing security check, and the like according to a load condition; the flow control policy service completes flow control in the service processing process, taking audio and video communication as an example, the flow control policy service may include, for example, room management, calculation of user flow control policies in rooms, state synchronization, and the like, and specific signaling access control, logic scheduling, and flow control may be performed in any possible control manner.
Fig. 3 is a flowchart illustrating a data processing method for real-time communication in an embodiment, which may be applied to the data transit node Acc shown in fig. 2. As shown in fig. 3, the data processing method of real-time communication of the embodiment includes steps S301 to S303.
Step S301: receiving real-time communication data to be transmitted, wherein the real-time communication data to be transmitted comprises a receiver address.
The real-time communication data to be transmitted refers to received real-time communication data needing data transfer, and is data which a certain user terminal needs to transmit to other user terminals in the real-time communication process, such as audio and video data. Taking the application of the method to a certain data relay node Acc (for distinguishing from other data relay nodes, in this embodiment and the following embodiments, the currently located data relay node Acc is referred to as a current data relay node), the current data relay node may receive real-time communication data to be transmitted from any possible place, such as directly receiving data uploaded from a user terminal, receiving data forwarded by a certain network node DC or other data relay nodes Acc, and the like.
The real-time communication data to be transmitted contains a receiver address, and the receiver address is a final destination network address to which the real-time communication data to be transmitted is to be transmitted.
Step S302: and determining a destination network node which is closest to the address of the receiver in a backbone network core network where the current data transfer node is located.
The address of the receiving party is a network address, the network address may correspond to a specific address area, and any network node DC in the backbone network (it can be understood that the network node DC deployed with the data relay service is the data relay node in this embodiment) covers a data service of an area, and when the data service is related, the network node DC directly receives or receives data uploaded by each terminal within its coverage range through an external network, and issues the issued data to the terminal directly or through the external network. In an embodiment, a network node (referred to as a destination network node in this embodiment and in the following embodiments for convenience of distinguishing from other network nodes, and for convenience of distinguishing from other network nodes) in a backbone network core network where a current data forwarding node is located and closest to an address of a receiver may be determined based on a coverage range and an address of the receiver of each network node. In practical technical applications, the determined destination network node may be a network node DC in a core network of a backbone network, and may also be a data relay node.
Step S303: and when the destination network node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the destination network node through an intranet dedicated line, so that the destination network node transmits the real-time communication data to be transmitted to the address of the receiver.
In a specific example, the address of the receiving party may not be within the coverage of the current data relay node, and at this time, the real-time communication data to be transmitted may be transmitted to the destination network node through the dedicated intranet of the backbone network, and then the real-time communication data to be transmitted may be transmitted to the address of the receiving party through the destination network node.
According to the scheme in the embodiment, after the real-time communication data to be transmitted is received, the destination network node which is closest to the address of the receiver in the backbone network core network is determined based on the address of the receiver, and when the destination network node is not the current node, the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line, so that the real-time communication data to be transmitted is directly transmitted to the network node which is closest to the address of the receiver in the backbone network core network through the intranet dedicated line.
In a specific example, when determining the destination network node, the following method may be adopted: and when the address of the receiver is within the network coverage range of any network node in the backbone network core network, determining the network node as the destination network node. In this case, since the receiver address is within the coverage of a certain network node (i.e., the destination network node) in the backbone network core network, the network real-time communication data to be transmitted can be transmitted to the receiver address through the destination network node.
In a specific example, when the determined destination network node is not the current data transfer node, the following method may be adopted when the real-time communication data to be transmitted is transmitted to the destination network node through an intranet dedicated line:
determining a destination data transfer node closest to the destination network node;
when the target data transfer node is the current data transfer node, transmitting the real-time communication data to be transmitted to the target network node through an intranet special line;
and when the target data transfer node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the target data transfer node through an intranet interconnection dedicated line between the data transfer nodes, so that the target data transfer node transmits the real-time communication data to be transmitted to the target network node through the intranet dedicated line.
When the determined destination network node is the current data transfer node, the real-time communication data packet to be transmitted can be directly transmitted to the receiver address.
In a specific example, since the coverage area of each network node of the intranet internet architecture is limited, in the actual service development process, there may be an area where the service area needs to be covered but no network node is deployed in the area, and at this time, if the user terminal is directly connected to the network node DC through the external network, there may be a problem of poor quality. Thus, in this particular example, the access node for the region may be leased or purchased as a serving node. Fig. 4 shows a schematic structural diagram of an intranet internet architecture in this specific example.
In the specific example shown in fig. 4, in addition to the intranet internet architecture composed of the data relay nodes Acc shown in fig. 2, the intranet internet architecture further includes service nodes associated with the intranet internet architecture, and the service nodes constitute an edge network architecture of the intranet internet architecture, so as to supplement a coverage blind area of the intranet internet architecture, where each service node may be directly connected to each data relay node. For example, in the example shown in fig. 4, the service nodes 121, 122, and 123 are directly connected to the data relay node Acc12 to generate an association with the intranet internet architecture, and similarly, the service nodes 111 and 112 are connected to the data relay node Acc11 to generate an association, the service nodes 131 and 132 are connected to the data relay node Acc13 to generate an association, and the service nodes 141, 142, and 143 are connected to the data relay node Acc14 to generate an association. It is understood that fig. 4 is only an exemplary illustration, and in an actual technical implementation, each data transfer node may not access a service node or the number of the accessed service nodes may be other numbers.
Each service node of the architecture shown in fig. 4 is not a node that needs to be deployed by itself based on a service scope, but may be an access node provided by another network operator or a cloud service vendor, in this specific example of the application, after the service node is determined, a data transparent proxy module may be deployed on the service nodes, where the data transparent proxy module serves as a transparent transmission channel of data, and the service node forwards data uploaded by a user terminal to the connected data relay node Acc through the data transparent proxy module deployed thereon, or forwards data transmitted by the connected data relay node Acc to a corresponding user terminal. Therefore, in the area where the service needs to cover but the network node DC is not deployed by the service node, the transparent data proxy module is deployed on the service node through the service node, and the transparent data proxy module is only a transparent data transmission channel and does not need to have the related control function of a data transfer node, so that the transparent data proxy module has small dependence on other modules and high adaptability, can go deep into the area which cannot be covered by the self-built network node DC, avoids the problem of poor quality possibly encountered when the user terminal is directly connected with the network DC through an external network in the area where the service needs to cover but the network node DC is not deployed, improves the access quality of the areas, and improves the communication quality of real-time communication.
Accordingly, in this specific example, when the destination network node is determined, the following procedure may be adopted: when the address of the receiver is not within the network coverage range of any network node in the core network of the backbone network, determining a destination service node which is closest to the address of the receiver in service nodes associated with an intranet internet architecture where the current data transfer node is located, and determining a data transfer node which is closest to the destination service node in the intranet internet architecture as the destination network node.
In this case, in a specific example, if the determined destination network node is the current data transfer node, the real-time communication data to be transmitted may be transmitted to the destination service node, so that the destination service node transmits the real-time communication data to be transmitted to the receiver address. It can be understood that, at this time, the destination service node transmits the real-time communication data to be transmitted to the address of the receiver in a data transparent transmission mode.
In another specific example, if the determined destination network node is not the current data transfer node, the real-time communication data to be transmitted may be transmitted to the destination network node through an intranet dedicated line, so that the destination network node transmits the real-time communication data to be transmitted to the receiver address through the destination service node. After the real-time communication data to be transmitted is transmitted to the destination network node through the intranet private line, the destination network node transmits the real-time communication data to be transmitted to the receiver address through the destination service node.
Since the service node is an access node rented or purchased in the area, the service node is not connected with the network node DC or the data transfer node Acc in the backbone network core network, and each service node is not connected through an intranet dedicated line, so the service node and the network node DC or the data transfer node Acc connected with the service node can be provided with a data retransmission mechanism and a redundant transmission mechanism to improve the communication quality. In addition, the service node may also send heartbeat packet data to a logic scheduling service of the network node DC or the data relay node Acc connected to the service node DC or the data relay node Acc at intervals of a predetermined time period, where the heartbeat packet data may include information such as load information of the service node, network communication quality with the network node DC or the data relay node Acc, and the like, so that when the load of the service node exceeds a load threshold, the network communication quality with the network node DC or the data relay node Acc, or the heartbeat packet of the service node is not received beyond a predetermined time threshold, the network node DC or the data relay node Acc or the logic scheduling service may alarm in time, remove an abnormal node and a link in time, or adjust a logic control policy.
Fig. 5 shows a schematic structural diagram of an intranet internet architecture in another embodiment. In this embodiment, the intranet internet architecture includes two or more intranet sub-network architectures, each intranet sub-network architecture includes one or more data transfer nodes, and one or more data transfer nodes in each intranet sub-network architecture are used as external data transfer nodes and connected to external data transfer nodes in other intranet sub-network architectures through a dedicated line, so as to implement dedicated line connection and communication between the intranet sub-network architectures. The external data transfer node refers to a data transfer node that can be connected and communicated with each data transfer node in the internal network sub-network architecture and other internal network sub-network architectures in the internal network sub-network architecture, in the internal network sub-network architecture in which the external data transfer node is located. Therefore, the external data transfer node is used as a key node of the internal subnetwork architecture and is connected and communicated with other internal subnetwork architectures in a dedicated line, that is, when a node in other internal subnetwork architectures needs to communicate with a node in the current internal subnetwork architecture, the external data transfer node of one internal subnetwork architecture and the external data transfer node of another internal subnetwork architecture can be connected through one or more dedicated lines.
Fig. 5 illustrates two intranet sub-network architectures as an example, where the first intranet sub-network architecture includes data transit nodes Acc11, Acc12, Acc13, and Acc14, the second intranet sub-network architecture includes data transit nodes Acc21, Acc22, Acc23, Acc24, and Acc25, where Acc13 is an external data transit node of the first intranet sub-network architecture, Acc23 is an external data transit node of the second intranet sub-network architecture, Acc11, Acc12, Acc13, and Acc14 are interconnected, Acc21, Acc22, Acc23, Acc24, and Acc25 are interconnected, and Acc13 and Acc23 are connected by dedicated lines. Based on the design of a plurality of intranet sub-network architectures, the method can be deployed in a scene where excessive special lines are not conveniently deployed among various regions, for example, a first intranet sub-network architecture is deployed at home, a second intranet sub-network architecture is deployed at abroad, and the like, so that a core network covering the whole world can be formed, and the cross-country access and high-communication-quality real-time call can be realized.
Accordingly, in this specific example, when the destination network node is not the current data relay node, the following manner may be adopted when the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line.
In one example, when the data transit node associated with the destination network node does not belong to the first intranet sub-network architecture in which the current data transit node is located, if the current data transfer node is the first external data transfer node of the first intranet subnet network architecture, transmitting the real-time communication data to be transmitted to a second external data transfer node of a second intranet subnet network structure through a network private line between the first external data transfer node and the second external data transfer node, so that the second external data relay node transmits the real-time communication data to be transmitted to the destination network node through the intranet special line of the second intranet sub-network architecture, the second intranet subnet network architecture is an intranet subnet network structure where the data transfer node associated with the destination network node is located.
Referring to fig. 5, it is assumed that the current data relay node is the data relay node Acc13 in the first intranet subnet network architecture, and the determined destination network node is the data relay node Acc25 in the second intranet subnet network architecture or the network node DC associated with the data relay node Acc 25. When the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line, the current data relay node Acc13 transmits the real-time communication data to be transmitted to the second external data relay node Acc23 through the dedicated line, and the second external data relay node Acc23 transmits the real-time communication data to the data relay node Acc25 through the dedicated line, so that the real-time communication data reaches the destination network node Acc25 or transmits the real-time communication data to the destination network node through the data relay node Acc 25.
In an example, when the destination network node does not belong to the first intranet subnetwork architecture, if the current data relay node is not the first external data relay node, the to-be-transmitted real-time communication data is transmitted to the first external data relay node through an intranet dedicated line of the first intranet subnetwork network architecture, so that the first external data relay node transmits the to-be-transmitted real-time communication data to the second external data relay node through a network dedicated line between the first external data relay node and the second external data relay node.
Referring to fig. 5, it is assumed that the current data relay node is the data relay node Acc11 in the first intranet subnet network architecture, and the determined destination network node is the data relay node Acc25 in the second intranet subnet network architecture or the network node DC associated with the data relay node Acc 25. When the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line, the current data relay node Acc11 transmits the real-time communication data to be transmitted to the first external data relay node Acc13 through the dedicated line, the first external data relay node Acc13 transmits the real-time communication data to be transmitted to the second external data relay node Acc23 through the dedicated line, and the second external data relay node Acc23 transmits the real-time communication data to the data relay node Acc25 through the dedicated line, so that the real-time communication data to be transmitted reaches the destination network node Acc25 or is transmitted to the destination network node through the data relay node Acc25 through the dedicated line.
Fig. 6 shows a schematic structural diagram of an intranet internet architecture in another embodiment. In this embodiment, the intranet internet architecture includes two or more intranet sub-network architectures, each intranet sub-network architecture includes more than one data transfer node, and one of the data transfer nodes in each intranet sub-network architecture is used as an external data transfer node and is connected to the external data transfer node in another intranet sub-network architecture through a dedicated line. The data transfer node in each intranet sub-network architecture may not access the service node, or access more than one service node.
Fig. 7 shows a schematic structural diagram of an intranet internet architecture in another embodiment, as shown in fig. 7, in this example, a service node intranet architecture is further included, and the service node intranet architecture includes a service node in which a data relay service is deployed. Therefore, in a service scene that real-time communication is concentrated in a certain area but the network node DC is not deployed in the area, a service node is determined in the area, a data relay service is deployed on the service node, meanwhile, a flow control policy service of the network node DC can be deployed on the service node, and the service node is used as the data relay node to complete a data relay process, so that a service node intranet architecture is formed by the service nodes with the data relay service and the flow control policy service deployed. The service node intranet architecture shown in fig. 7 comprises service nodes Acc-T1, Acc-T2 and Acc-T3, wherein the service nodes Acc-T1, Acc-T2 and Acc-T3 are deployed with data transit service and flow control policy service. In the service node intranet architecture, service nodes Acc-T1, Acc-T2 and Acc-T3 are interconnected. In this case, since the communication process is performed in the serving node intranet architecture, the communication quality in the serving node intranet architecture is not affected by the fluctuation of the network quality outside the area where the serving node intranet architecture is located, and the communication quality is ensured.
Fig. 8 shows a schematic structural diagram of an intranet internet architecture according to another embodiment, in this example, based on the service node intranet architecture, other service nodes may also be included, such as the service nodes T11, T12, T21, T22, T31, and T32 shown in fig. 8, and these service nodes serve as upper deployment data transparent proxy modules to form an edge network architecture of the service node intranet architecture, so that a coverage blind area of the service node intranet architecture can be further supplemented.
Accordingly, in an example, when the current data relay node is a service node (e.g., the service nodes Acc-T1, Acc-T2, Acc-T3 shown in fig. 7 and 8), if the receiver address is within the transparent proxy service range of the service node, the real-time communication data to be transmitted is transmitted to the receiver address. So that it can be directly transmitted to the recipient address through the current data transfer node.
In a specific example, when the current data transit node is a service node such as the service nodes Acc-T1, Acc-T2, Acc-T3 shown in fig. 7 and 8), if the receiver address is not in the transparent proxy service range of the service node, determining that the service node is located in a destination service node whose transparent proxy service range covers the receiver address in the service node intranet framework, the destination service node may be the service nodes Acc-T1, Acc-T2, Acc-T3 in the service node intranet architecture shown in fig. 7 and 8, or may be the service nodes T11, T12, T21, T22, T31, T32 in the edge network architecture of the service node intranet architecture shown in fig. 7 and 8, and transmits the real-time communication data to be transmitted to the destination service node, and enabling the destination service node to transmit the real-time communication data to be transmitted to the address of the receiver.
Based on the same idea as the foregoing method, an embodiment further provides a data processing apparatus for real-time communication, and fig. 9 shows a schematic structural diagram of the data processing apparatus for real-time communication in an embodiment, where the apparatus is deployable or is on a data relay node according to the foregoing embodiments.
As shown in fig. 9, the data processing apparatus for real-time communication in this embodiment includes a data receiving module 901, a destination node determining module 902, and a data transmission control module 903.
The data receiving module 901 is configured to receive real-time communication data to be transmitted, where the real-time communication data to be transmitted includes a receiver address.
The real-time communication data to be transmitted refers to received real-time communication data needing data transfer, and is data which a certain user terminal needs to transmit to other user terminals in the real-time communication process, such as audio and video data. Taking the application of the method to a certain data relay node Acc (for distinguishing from other data relay nodes, in this embodiment and the following embodiments, the currently located data relay node Acc is referred to as a current data relay node), the current data relay node may receive real-time communication data to be transmitted from any possible place, such as directly receiving data uploaded from a user terminal, receiving data forwarded by a certain network node DC or other data relay nodes Acc, and the like.
The real-time communication data to be transmitted contains a receiver address, and the receiver address is a final destination network address to which the real-time communication data to be transmitted is to be transmitted.
A destination node determining module 902, configured to determine a destination network node closest to the receiver address in a backbone network core network where the current data relay node is located.
The address of the receiving party is a network address, the network address may correspond to a specific address area, and any network node DC in the backbone network (it can be understood that the network node DC deployed with the data relay service is the data relay node in this embodiment) covers a data service of an area, and when the data service is related, the network node DC directly receives or receives data uploaded by each terminal within its coverage range through an external network, and issues the issued data to the terminal directly or through the external network. In an embodiment, a network node (referred to as a destination network node in this embodiment and in the following embodiments for convenience of distinguishing from other network nodes, and for convenience of distinguishing from other network nodes) in a backbone network core network where a current data forwarding node is located and closest to an address of a receiver may be determined based on a coverage range and an address of the receiver of each network node. In practical technical applications, the determined destination network node may be a network node DC in a core network of a backbone network, and may also be a data relay node.
A data transmission control module 903, configured to transmit the real-time communication data to be transmitted to the destination network node through an intranet dedicated line when the destination network node is not the current data relay node, so that the destination network node transmits the real-time communication data to be transmitted to the receiver address.
In a specific example, the address of the receiving party may not be within the coverage of the current data relay node, and at this time, the real-time communication data to be transmitted may be transmitted to the destination network node through the dedicated intranet of the backbone network, and then the real-time communication data to be transmitted may be transmitted to the address of the receiving party through the destination network node.
According to the scheme in the embodiment, after the real-time communication data to be transmitted is received, the destination network node which is closest to the address of the receiver in the backbone network core network is determined based on the address of the receiver, and when the destination network node is not the current node, the real-time communication data to be transmitted is transmitted to the destination network node through the intranet dedicated line, so that the real-time communication data to be transmitted is directly transmitted to the network node which is closest to the address of the receiver in the backbone network core network through the intranet dedicated line.
In a specific example, the destination node determining module 902 may determine that any network node in the backbone network core network is the destination network node when the receiver address is within the network coverage of the network node. In this case, since the receiver address is within the coverage of a certain network node (i.e., the destination network node) in the backbone network core network, the network real-time communication data to be transmitted can be transmitted to the receiver address through the destination network node.
In a specific example, when the address of the receiver is not within the network coverage range of any network node in the backbone network core network, the destination node determining module 902 determines a destination service node closest to the address of the receiver in service nodes associated with an intranet internet network architecture where the current data relay node is located, and determines a data relay node closest to the destination service node in the intranet internet network architecture as the destination network node.
In an embodiment, the data transmission control module 903 further transmits the real-time communication data packet to be transmitted to the receiver address when the destination network node is the current data relay node.
In an embodiment, the data transmission control module 903 further transmits the real-time communication data to be transmitted to the destination service node when the destination network node is the current data relay node, so that the destination service node transmits the real-time communication data to be transmitted to the receiver address.
In an embodiment, the data transmission control module 903 further transmits the real-time communication data to be transmitted to the destination network node through an intranet dedicated line when the destination network node is not the current data relay node, so that the destination network node transmits the real-time communication data to be transmitted to the receiver address through the destination service node.
In one embodiment, the data transmission control module 903 determines a destination data transfer node closest to the destination network node when the destination network node is not the current data transfer node; when the target data transfer node is the current data transfer node, transmitting the real-time communication data to be transmitted to the target network node through an intranet private line; and when the target data transfer node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the target data transfer node through an intranet interconnection dedicated line between the data transfer nodes, so that the target data transfer node transmits the real-time communication data to be transmitted to the target network node through the intranet dedicated line.
In an embodiment, the data transmission control module 903 is further configured to, when the destination network node is not the current data relay node and the data relay node associated with the destination network node does not belong to a first intranet subnet architecture in which the current data relay node is located, if the current data relay node is a first external data relay node of the first intranet subnet network architecture, transmit the real-time communication data to be transmitted to a second external data relay node through a network dedicated line between the first external data relay node and a second external data relay node of a second intranet subnet network structure, so that the second external data relay node transmits the real-time communication data to be transmitted to the destination network node through the intranet dedicated line of the second intranet subnet architecture, and the second intranet subnet network structure is an intranet subnet in which the data relay node associated with the destination network node is located And (4) a collateral structure.
In an embodiment, the data transmission control module 903 is further configured to, when the destination network node is not the current data relay node and a data relay node associated with the destination network node does not belong to the first intranet subnet architecture, transmit the real-time communication data to be transmitted to the first extranet data relay node through an intranet dedicated line of the first intranet subnet network architecture if the current data relay node is not the first extranet data relay node, so that the first extranet data relay node transmits the real-time communication data to be transmitted to the second extranet data relay node through a network dedicated line between the first extranet data relay node and the second extranet data relay node.
In an embodiment, the data transmission control module 903 further transmits the real-time communication data to be transmitted to the address of the receiver if the address of the receiver is within the transparent proxy service range of the service node when the current data transit node is the service node.
In an embodiment, when the current data relay node is a service node, if the address of the receiver is not within the transparent proxy service range of the service node, the data transmission control module 903 determines that the target service node of the address of the receiver is covered by the transparent proxy service range in the intranet framework of the service node where the service node is located, and transmits the real-time communication data to be transmitted to the target service node, so that the target service node transmits the real-time communication data to be transmitted to the address of the receiver.
The apparatus in the above embodiments may be deployed in a computer device, and fig. 10 shows a schematic structural diagram of a computer device in an embodiment in which the apparatus in this embodiment is deployed. As shown in fig. 10, the computer device in this embodiment includes a processor, a power supply module, a communication module, and a memory connected by a system bus. Wherein the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores a computer program of an operating system, a database, and a data processing apparatus for real-time communication, which, when executed by a processor, causes the processor to implement the data processing method for real-time communication in the above-described embodiments. The internal memory may also store a computer program, and when the computer program is executed by the processor, the computer program may cause the processor to execute the data processing method of real-time communication in the above embodiments.
Accordingly, based on the examples described above, there is also provided in one embodiment a computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the data processing method of real-time communication as in any one of the above embodiments when executing the program.
It will be understood by those skilled in the art that all or part of the processes in the methods of the embodiments described above may be implemented by a computer program, which is stored in a non-volatile computer readable storage medium, and in the embodiments of the present invention, the program may be stored in the storage medium of a computer system and executed by at least one processor in the computer system to implement the processes of the embodiments including the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
Accordingly, in an embodiment, a storage medium is further provided, on which a computer program is stored, wherein the program, when executed by a processor, implements the data processing method of real-time communication as in any one of the above embodiments.
The technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (19)

1. A data processing method for real-time communication, comprising the steps of:
receiving real-time communication data to be transmitted, wherein the real-time communication data to be transmitted comprises a receiver address;
determining a destination network node which is closest to the address of the receiver in a backbone network core network where the current data transfer node is located based on the coverage range of each network node and the address of the receiver; the network node is a data center node in a backbone network core network and in an area where nodes of the backbone network core network are located, and the data transfer node is a network node with data transfer service deployed;
and when the target network node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the target network node through an intranet special line of a backbone network core network, so that the target network node transmits the real-time communication data to be transmitted to the address of the receiver.
2. The data processing method for real-time communication according to claim 1, wherein:
and when the address of the receiver is within the network coverage range of any network node in the backbone network core network, determining the network node as the destination network node.
3. The data processing method for real-time communication according to claim 1, wherein:
when the address of the receiver is not within the network coverage range of any network node in the core network of the backbone network, determining a destination service node which is closest to the address of the receiver in service nodes associated with an intranet internet architecture where the current data transfer node is located, and determining a data transfer node which is closest to the destination service node in the intranet internet architecture as the destination network node.
4. The data processing method of real-time communication according to claim 3, further comprising at least one of:
when the destination network node is the current data transfer node, transmitting the real-time communication data to be transmitted to the destination service node so that the destination service node transmits the real-time communication data to be transmitted to the address of the receiver;
and when the destination network node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the destination network node through an intranet dedicated line, so that the destination network node transmits the real-time communication data to be transmitted to the receiver address through the destination service node.
5. The data processing method for real-time communication according to claim 1, wherein when the destination network node is not the current data relay node, the manner of transmitting the real-time communication data to be transmitted to the destination network node via an intranet dedicated line includes:
determining a destination data transfer node closest to the destination network node;
when the target data transfer node is the current data transfer node, transmitting the real-time communication data to be transmitted to the target network node through an intranet special line;
and when the target data transfer node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the target data transfer node through an intranet interconnection dedicated line between the data transfer nodes, so that the target data transfer node transmits the real-time communication data to be transmitted to the target network node through the intranet dedicated line.
6. The data processing method for real-time communication according to claim 1, wherein when the destination network node is not the current data relay node, the manner of transmitting the real-time communication data to be transmitted to the destination network node via an intranet dedicated line includes at least one of:
when the data transfer node associated with the destination network node does not belong to a first internal network subnet framework where the current data transfer node is located, if the current data transfer node is a first external data transfer node of the first internal network subnet network framework, transmitting the real-time communication data to be transmitted to a second external data transfer node through a network private line between the first external data transfer node and the second external data transfer node of a second internal network subnet network structure, so that the second external data transfer node transmits the real-time communication data to be transmitted to the destination network node through the internal network private line of the second internal network subnet framework, and the second internal network subnet network structure is an internal network subnet network structure where the data transfer node associated with the destination network node is located;
when the data transfer node associated with the destination network node does not belong to the first intranet subnetwork framework, if the current data transfer node is not the first external data transfer node, transmitting the real-time communication data to be transmitted to the first external data transfer node through an intranet dedicated line of the first intranet subnetwork network framework, so that the first external data transfer node transmits the real-time communication data to be transmitted to the second external data transfer node through a network dedicated line between the first external data transfer node and the second external data transfer node.
7. The data processing method for real-time communication according to claim 1, further comprising at least one of:
when the current data transit node is a service node, if the address of the receiver is within the transparent proxy service range of the service node, transmitting the real-time communication data to be transmitted to the address of the receiver;
when the current data transfer node is a service node, if the address of the receiver is not within the transparent proxy service range of the service node, determining that the transparent proxy service range of the service node in the intranet framework of the service node covers the destination service node of the address of the receiver, and transmitting the real-time communication data to be transmitted to the destination service node, so that the destination service node transmits the real-time communication data to be transmitted to the address of the receiver.
8. A data processing apparatus for real-time communication, comprising:
the data receiving module is used for receiving real-time communication data to be transmitted, and the real-time communication data to be transmitted comprises a receiver address;
a destination node determining module, configured to determine, based on the coverage area of each network node and the address of the receiver, a destination network node closest to the address of the receiver in a backbone network in which the current data relay node is located; the network node is a data center node in a backbone network core network and in an area where nodes of the backbone network core network are located, and the data transfer node is a network node with data transfer service deployed;
and the data transmission control module is used for transmitting the real-time communication data to be transmitted to the destination network node through an intranet special line of a backbone network core network when the destination network node is not the current data transfer node, so that the destination network node transmits the real-time communication data to be transmitted to the address of the receiver.
9. The data processing apparatus of claim 8, wherein the destination node determining module determines any network node in the backbone network core network as the destination network node when the receiver address is within a network coverage of the network node.
10. The data processing apparatus for real-time communication according to claim 8, wherein:
and when the address of the receiver is not within the network coverage range of any network node in the core network of the backbone network, the destination node determining module determines a destination service node closest to the address of the receiver in service nodes associated with an intranet internet architecture in which the current data relay node is located, and determines a data relay node closest to the destination service node in the intranet internet architecture as the destination network node.
11. The data processing apparatus for real-time communication according to claim 10, wherein:
and the data transmission control module transmits the real-time communication data to be transmitted to the destination service node when the destination network node is the current data transfer node, so that the destination service node transmits the real-time communication data to be transmitted to the receiver address.
12. The data processing apparatus for real-time communication according to claim 10, wherein:
and the data transmission control module transmits the real-time communication data to be transmitted to the destination network node through an intranet dedicated line when the destination network node is not the current data transfer node, so that the destination network node transmits the real-time communication data to be transmitted to the receiver address through the destination service node.
13. The data processing apparatus of claim 8, wherein the data transmission control module determines a destination data relay node closest to the destination network node when the destination network node is not the current data relay node; when the target data transfer node is the current data transfer node, transmitting the real-time communication data to be transmitted to the target network node through an intranet private line; and when the target data transfer node is not the current data transfer node, transmitting the real-time communication data to be transmitted to the target data transfer node through an intranet interconnection dedicated line between the data transfer nodes, so that the target data transfer node transmits the real-time communication data to be transmitted to the target network node through the intranet dedicated line.
14. The data processing apparatus for real-time communication according to claim 8, wherein:
the data transmission control module further determines that the destination network node is not the current data transfer node and the data transfer node associated with the destination network node does not belong to the first intranet subnetwork architecture in which the current data transfer node is located, if the current data transfer node is the first external data transfer node of the first intranet subnet network architecture, transmitting the real-time communication data to be transmitted to a second external data transfer node of a second intranet subnet network structure through a network private line between the first external data transfer node and the second external data transfer node, so that the second external data relay node transmits the real-time communication data to be transmitted to the destination network node through the intranet special line of the second intranet sub-network architecture, the second intranet subnet network structure is the intranet subnet network structure where the data transfer node associated with the destination network node is located.
15. The data processing apparatus for real-time communication according to claim 8, wherein:
the data transmission control module is further configured to transmit the real-time communication data to be transmitted to the first external data relay node through an intranet dedicated line of the first intranet subnet network architecture if the destination network node is not the current data relay node and the data relay node associated with the destination network node does not belong to the first intranet subnet architecture, so that the first external data relay node transmits the real-time communication data to be transmitted to the second external data relay node through a network dedicated line between the first external data relay node and the second external data relay node.
16. The data processing apparatus for real-time communication according to claim 8, wherein:
and the data transmission control module is also used for transmitting the real-time communication data to be transmitted to the address of the receiver if the address of the receiver is within the transparent proxy service range of the service node when the current data transit node is the service node.
17. The data processing apparatus for real-time communication according to claim 8, wherein:
and the data transmission control module is also used for determining a target service node of the address of the receiving party in a service node intranet framework where the service node is located and in a transparent proxy service range if the address of the receiving party is not in the transparent proxy service range of the service node when the current data transit node is the service node, and transmitting the real-time communication data to be transmitted to the target service node so that the target service node transmits the real-time communication data to be transmitted to the address of the receiving party.
18. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1 to 7 when executing the computer program.
19. A computer storage medium on which a computer program is stored, which program, when being executed by a processor, is adapted to carry out the method of any one of claims 1 to 7.
CN201711240402.9A 2017-11-30 2017-11-30 Data processing method and device for real-time communication, computer equipment and storage medium Active CN109861900B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711240402.9A CN109861900B (en) 2017-11-30 2017-11-30 Data processing method and device for real-time communication, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711240402.9A CN109861900B (en) 2017-11-30 2017-11-30 Data processing method and device for real-time communication, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN109861900A CN109861900A (en) 2019-06-07
CN109861900B true CN109861900B (en) 2021-05-28

Family

ID=66888494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711240402.9A Active CN109861900B (en) 2017-11-30 2017-11-30 Data processing method and device for real-time communication, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN109861900B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822242B (en) * 2020-12-30 2023-03-24 杭州趣链科技有限公司 Point-to-point network and node communication method and device thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742690A (en) * 2008-11-27 2010-06-16 华为技术有限公司 Transmission optimization method, system and equipment of AP network
CN102130778A (en) * 2010-10-22 2011-07-20 华为技术有限公司 Method and system for protecting IPTV (Internet Protocol Television) multicast service
CN103731513A (en) * 2012-10-15 2014-04-16 中国联合网络通信集团有限公司 Base station forwarding method, base station and base station forwarding system
CN106357592A (en) * 2015-07-17 2017-01-25 中兴通讯股份有限公司 Resource sharing method, device and system
CN106789527A (en) * 2016-12-09 2017-05-31 中国联合网络通信集团有限公司 The method and system that a kind of private line network is accessed

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3764016B2 (en) * 1999-05-10 2006-04-05 財団法人流通システム開発センタ− Integrated IP transfer network
US7366779B1 (en) * 2000-06-19 2008-04-29 Aol Llc, A Delaware Limited Liability Company Direct file transfer between subscribers of a communications system
KR20060135085A (en) * 2005-06-24 2006-12-29 (주) 인터포스 A voip gateway apparatus based on digital enhanced cordless telecommunications which support wired/wireless multi-channel
CN101009669B (en) * 2007-01-05 2011-04-13 杭州华三通信技术有限公司 A method and system and route device for transmitting the multicast message
CN101247364B (en) * 2008-03-31 2012-01-18 腾讯科技(深圳)有限公司 Conversation message managing system and method thereof
CN101291301A (en) * 2008-06-13 2008-10-22 腾讯科技(深圳)有限公司 Method and customer terminal for establishing data channel in instant communicating system
CN101626627A (en) * 2008-07-11 2010-01-13 中国移动通信集团辽宁有限公司 Return access control subsystem, group sending system, group sending method and return access control method
CN103152265B (en) * 2013-03-22 2017-02-15 杭州华三通信技术有限公司 Message forwarding method and equipment in SPB (Shortest Path Bridge) network
CN105282564A (en) * 2015-10-22 2016-01-27 武汉兴图新科电子股份有限公司 Method for guaranteeing smoothness of media stream in complex network structure
CN107222936B (en) * 2017-06-26 2020-05-05 Oppo广东移动通信有限公司 Data processing method and device and terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742690A (en) * 2008-11-27 2010-06-16 华为技术有限公司 Transmission optimization method, system and equipment of AP network
CN102130778A (en) * 2010-10-22 2011-07-20 华为技术有限公司 Method and system for protecting IPTV (Internet Protocol Television) multicast service
CN103731513A (en) * 2012-10-15 2014-04-16 中国联合网络通信集团有限公司 Base station forwarding method, base station and base station forwarding system
CN106357592A (en) * 2015-07-17 2017-01-25 中兴通讯股份有限公司 Resource sharing method, device and system
CN106789527A (en) * 2016-12-09 2017-05-31 中国联合网络通信集团有限公司 The method and system that a kind of private line network is accessed

Also Published As

Publication number Publication date
CN109861900A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
CN103036809B (en) For having the method and apparatus of the scalable network that active link utilizes
CN109617731A (en) Adaptive gateway role configuration method and device under a kind of multi-gateway environment
EP2800308A1 (en) Tunnel failover
CN109672708B (en) Communication method, device and system
EP3267721B1 (en) Air-interface protocol stack configuration method, and data transmission method and device
JP2020511083A (en) Service quality control method and device, SMF, UPF, UE, PCF and AN
CN107105458B (en) A kind of information processing method and device
CN108476457A (en) Distributed reaction resource in time slotted channel hopping network and management and running
CN107332772B (en) Forwarding table item establishing method and device
KR20150060866A (en) Message sending method, routing bridge and system
CN110691110B (en) Communication method, device, system, terminal, equipment and medium
CN109861900B (en) Data processing method and device for real-time communication, computer equipment and storage medium
EP4156726A1 (en) Multicast-related communication
CN106331202A (en) Dynamic host configuration protocol (DHCP) server management method and device
CN107786441B (en) Communication method, OpenFlow switch and communication system
CN103780437A (en) Information synchronization method and device
US10771511B2 (en) Communication method to maintain an application session between a terminal and an application server
WO2005039125A1 (en) Home link setting method, home gateway device, and mobile terminal
CN107318094B (en) Network intercommunication method and terminal based on cluster communication system
CN107995201A (en) Transmission method and device, the server and storage medium of data
CN103701952A (en) Downlink transmission method of business data and grouped data gateway
CN110830295B (en) Equipment management method and system
CN108512671A (en) A kind of outer layer multicast ip address distribution method and device
CN108307401A (en) Establish the method, apparatus and communication equipment of communication connection
CN114697999A (en) Redundant path creating method, device and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant