CN114726850A - VNC remote access method, device and storage medium - Google Patents
VNC remote access method, device and storage medium Download PDFInfo
- Publication number
- CN114726850A CN114726850A CN202210340991.2A CN202210340991A CN114726850A CN 114726850 A CN114726850 A CN 114726850A CN 202210340991 A CN202210340991 A CN 202210340991A CN 114726850 A CN114726850 A CN 114726850A
- Authority
- CN
- China
- Prior art keywords
- vnc
- server
- mesh
- target
- connection
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 title claims description 12
- 238000004891 communication Methods 0.000 claims abstract description 11
- 239000003795 chemical substances by application Substances 0.000 claims description 74
- 230000004044 response Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004220 aggregation Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to the technical field of network communication, and discloses a VNC remote access method, which is applied to a system comprising VNC servers, VNC agents, VNCMesh servers and VNC clients, wherein a plurality of VNC servers construct a VNCMesh network, a plurality of VNC agents are registered in the VNCMesh network, and a plurality of VNC servers are connected to a plurality of VNC agents, and the method comprises the following steps: the first VNCMesh server receives a VNC remote access connection request sent by a VNC client; the first VNCMesh server determines a target VNCMesh server for VNC remote access; and the target VNCMesh server responds to the connection request, establishes connection with the VNC client, determines a target VNC server for VNC remote access, is connected to the target VNC server through a VNC agent, and establishes a VNC remote access link. The method and the device provided by the invention can select the optimal link according to the indexes of load size, bandwidth, time delay and the like of the VNCMesh server, thereby ensuring the stability and bandwidth of VNC connection.
Description
Technical Field
The present invention relates to the field of network communication technologies, and in particular, to a VNC remote access method, apparatus, and storage medium.
Background
In a conventional VNC (Virtual Network Computing) remote desktop system, one IP address and port of a VNC client can only be connected to one VNC server, and when a user wants to connect multiple VNC servers, only multiple IP addresses and ports can be used, which results in that each VNC server needs to be configured, which is extremely cumbersome.
Fig. 1 is a schematic diagram of a conventional VNC remote desktop management, which shows a topology diagram of the conventional VNC remote desktop management. It can be seen from fig. 1 that a VNC client (e.g. a PC) of an external network is almost impossible if it wants to directly access a VNC server of a private address in the router internal network, especially if the router has no public network IP address, only a VNC client (e.g. a PC) in the same local area network as the router.
The pit insurance manufacturing proposes a method for establishing connection between a VNC client and a VNC server through an intermediate proxy server (design and implementation of a single sign-on and behavior audit system of remote desktop access, pit insurance manufacturing, a full-text database of a Chinese excellent Master academic paper, 1139-. Although the problem that the VNC client of the external network is connected to the VNC server of the internal network is solved by using the intermediate proxy server, the following problem still exists in the conventional VNC proxy server using the intermediate proxy server.
1. When a certain proxy server is abnormal, a traditional VNC proxy server may directly cause unavailability of VNC services, and if line switching is performed, the VNC proxy server may cause disconnection of a VNC connection;
2. traditional VNC proxy servers may use load balancing, but load balancing cannot solve the problem of network connection quality, and when one proxy server is far away from a target VNC server, such as cross-intercontinental or cross-operator, the connection effect is usually not good due to line restrictions;
3. when a conventional VNC proxy server performs high-definition dynamic video transmission, an existing one-way VNC protocol cannot generally guarantee high-resolution, high-image-quality, and high-frame-rate video transmission.
Disclosure of Invention
In order to overcome the technical problems, the present invention provides a VNC remote access method, which is applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, wherein a plurality of VNC Mesh servers construct a VNC Mesh network, a plurality of VNC agents are registered to the VNC Mesh network, and a plurality of VNC servers are connected to the plurality of VNC agents, and the technical scheme of the method is as follows:
s1, a first VNC Mesh server matched with the position of the VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responding to the connection request, establishing a connection with the VNC client, and determining, by the target VNC Mesh server, a target VNC server for VNC remote access from the VNC agent registered in the VNC Mesh network according to registration information generated when the VNC agent is registered in the VNC Mesh network, where the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing a link for the VNC client to remotely access the target VNC server.
Further, the VNC Mesh network is constructed by:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information between each VNC Mesh server in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, delay and packet loss rate information;
when the VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires the configuration information from the existing VNC Mesh server in the VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result into the configuration information of the newly added VNC Mesh server;
and the newly-added VNC Mesh server broadcasts the updated configuration information to the VNC Mesh network, and each VNC Mesh server in the VNC Mesh network responds to the broadcast to update the configuration information of the VNC Mesh server.
Further, the plurality of VNC servers being connected to the plurality of VNC agents comprises: one said VNC agent establishing a connection with at least one said VNC server and one said VNC server establishing a connection with at least one said VNC agent; wherein the VNC agent establishes a connection with the VNC server via a remote frame buffer protocol; the VNC agent is deployed in: a router, a desktop computer, and/or a VNC server.
Further, the registration of the VNC agent with the VNC Mesh network comprises:
the VNC proxy sends a pre-registration request to the VNC Mesh server of the VNC Mesh network, and the VNC Mesh server returns VNC Mesh server list information allowing connection in response to the pre-registration request;
the VNC agent determines a second VNC Mesh server of which the information of an operator, bandwidth, load, delay and/or packet loss rate meets a first preset condition according to the returned VNC Mesh server list information;
the VNC proxy sends a registration request to the second VNC Mesh server, the second VNC Mesh server generates registration information in response to the registration request, establishes a connection with the VNC proxy, the second VNC Mesh server broadcasts the registration information to the VNC Mesh network, the VNC Mesh server in the VNC Mesh network generates the registration information for the VNC proxy in response to the broadcast, the registration information including a network protocol IP address and bandwidth requirements of the VNC proxy.
Further, the step S3 of the target VNC Mesh server connecting to the target VNC server through the VNC agent includes:
determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server is not the same server as the target VNC Mesh server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
Further, the target VNC Mesh server is connected to the target VNC server through the VNC agent in step S3, and establishing the link for the VNC client to remotely access the target VNC server includes: when there are a plurality of the VNC agents connected to the target VNC server, the target VNC Mesh server establishes connections with the plurality of VNC agents, and establishes a plurality of connection links from the target VNC Mesh server to the target VNC server.
Further, the target VNC Mesh server obtains different video frame data in the display buffer of the VNC server from the plurality of connection links, respectively, merges the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
Further, determining a connection link, as a first connection link, from the plurality of connection links, for which bandwidth, load, delay and/or packet loss rate information satisfies a second preset condition, and when the first connection link is disconnected, determining a second connection link, from remaining links of the plurality of connection links, for which bandwidth, load, delay and/or packet loss rate information satisfies a third preset condition; wherein the second preset condition is different from the third preset condition.
The present invention also provides a VNC remote access apparatus, which includes a memory and a processor, where the memory stores at least one program, and the at least one program is executed by the processor to implement the method for VNC remote access as described above.
The present invention also provides a computer-readable storage medium, in which at least one program is stored, and when the at least one program runs, the VNC remote access method is executed.
The technical scheme provided by the invention has the beneficial effects that:
according to the VNC remote access method and device, the VNC Mesh network can select the optimal link according to indexes such as load size, bandwidth and delay of the VNC Mesh server, and stability and bandwidth of VNC connection are guaranteed. In a further scheme of the invention, links of multiple VNC agents can be aggregated through a VNC Mesh network, network delay is reduced, network bandwidth is improved, frame rate of transmitted VNC server videos is increased in multiples during multi-link uploading, and when one link is abnormal, the link can be automatically switched to other effective links, so that VNC connection disconnection and reconnection cannot be caused.
Drawings
FIG. 1 is a diagram of a conventional VNC remote desktop management;
FIG. 2 is a flow chart of a method of remote access of a VNC according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating a VNC remote access network architecture, in accordance with an embodiment of the present invention;
figure 4 is a schematic diagram of VNC link optimization according to an embodiment of the present invention;
figure 5 is a schematic diagram of VNC link aggregation according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a VNC remote access device according to an embodiment of the present invention.
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 specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The first embodiment is as follows:
fig. 2 is a flowchart of a VNC remote access method according to an embodiment of the present invention, where the method is applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, where a plurality of VNC Mesh servers construct a VNC Mesh network, a plurality of VNC agents are registered in the VNC Mesh network, and a plurality of VNC servers are connected to a plurality of VNC agents, and the method includes:
s1, a first VNC Mesh server matched with the position of a VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responds to the connection request, and establishes a connection with the VNC client, and the target VNC Mesh server determines, from the VNC agents registered in the VNC Mesh network, the target VNC server for VNC remote access according to registration information generated when the VNC agents are registered in the VNC Mesh network, and the target VNC Mesh server is connected to the target VNC server through the VNC agents, and establishes a link for the VNC client to remotely access the target VNC server.
Specifically, a VNC Mesh network is constructed by the following steps:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information among the VNC Mesh servers in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, time delay and packet loss rate information;
when a VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires configuration information from the existing VNC Mesh server in VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result to the configuration information of the newly added VNC Mesh server;
and broadcasting the updated configuration information to the VNC Mesh network by the newly-added VNC Mesh server, and responding to the broadcast by each VNC Mesh server in the VNC Mesh network to update the configuration information of the VNC Mesh server.
Specifically, the connecting of the plurality of VNC servers to the plurality of VNC agents includes: one VNC agent establishing a connection with at least one VNC server and one VNC server establishing a connection with at least one VNC agent; the VNC agent establishes connection with the VNC server through a remote frame buffer protocol; the VNC agent is deployed in the following devices: a router, a desktop computer, and/or a VNC server.
Specifically, the registration of the VNC agent to the VNC Mesh network includes:
the VNC agent sends a pre-registration request to a VNC Mesh server of the VNC Mesh network, and the VNC Mesh server responds to the pre-registration request and returns VNC Mesh server list information allowing connection;
the VNC agent determines a second VNC Mesh server of which the operator, bandwidth, load, delay and/or packet loss rate information meet first preset conditions according to the returned VNC Mesh server list information;
the VNC agent sends a registration request to a second VNC Mesh server, the second VNC Mesh server responds to the registration request to generate registration information, connection with the VNC agent is established, the second VNC Mesh server broadcasts the registration information to a VNC Mesh network, the VNC Mesh server in the VNC Mesh network responds to the broadcast to generate the registration information of the VNC agent, and the registration information comprises a network protocol IP address and bandwidth requirements of the VNC agent.
Specifically, the step S3 in which the target VNC Mesh server is connected to the target VNC server through the VNC proxy includes:
and determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server and the target VNC Mesh server are not the same server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
Specifically, in step S3, the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing the link for the VNC client to remotely access the target VNC server includes: when a plurality of VNC agents are connected to the target VNC server, the target VNC Mesh server establishes connection with the plurality of VNC agents, and a plurality of connection links from the target VNC Mesh server to the target VNC server are established.
Specifically, the target VNC Mesh server obtains different video frame data in the display buffer of the VNC server from the multiple connection links, respectively, merges the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
Specifically, a connection link, of which bandwidth, load, delay and/or packet loss rate information satisfy a second preset condition, is determined from the multiple connection links as a first connection link, and when the first connection link is disconnected, a second connection link, of which bandwidth, load, delay and/or packet loss rate information satisfy a third preset condition, is determined from remaining links of the multiple connection links; wherein the second predetermined condition is different from the third predetermined condition.
Example two:
fig. 3 is a schematic diagram of a network structure for VNC remote access according to an embodiment of the present invention, which illustrates a network composed of a VNC server, a VNC proxy, a VNC Mesh server, and a VNC client.
In this embodiment, a network structure for VNC remote access includes an internal network formed by a plurality of VNC servers and a plurality of VNC agents, a VNC Mesh network formed by a plurality of VNC Mesh servers, and a plurality of VNC clients. The VNC client side sends a VNC connection request to the VNC Mesh network to achieve remote access to the VNC server.
For example, the internal network of this embodiment includes 2 VNC servers and 3 VNC agents. The VNC servers are respectively a VNC server a and a VNC server B in fig. 3, and the VNC agents are respectively a router VNC Proxy a, a router VNC Proxy B, and a PC/VNC Proxy a in fig. 3. The VNC agent, as a software service, may be deployed in a device such as a router, a PC, and a VNC server, and establish a connection with the VNC server through a router connection, a PC connection, a TCP connection, or the like, and the VNC agent may also establish an indirect connection with the VNC server through another VNC agent in the internal network. One VNC agent can be connected to multiple VNC servers, and one VNC server can also be connected to multiple VNC agents. As in fig. 3, router VNC Proxy a is connected to VNC server a and VNC server B, router VNC Proxy B is connected to PC/VNC Proxy a, and PC/VNC Proxy a is connected to VNC server a and VNC server B. The router VNC Proxy B is indirectly connected to VNC server a and VNC server B through PC/VNC Proxy a.
For example, the VNC Mesh network of the present embodiment includes 4 VNC Mesh servers, which are the VNC Mesh server a, the VNC Mesh server B, the VNC Mesh server C, and the VNC Mesh server D in fig. 3 respectively. By building a plurality of VNC Mesh servers into a VNC Mesh network, interconnection and intercommunication among the VNC Mesh servers are realized, and indexes such as whether each VNC Mesh server in the VNC Mesh network is on-line, load size, bandwidth, delay and the like can be obtained, so that an optimal data transmission link can be selected among the VNC Mesh servers.
Illustratively, the VNC client of the present embodiment is the VNC client/browser in fig. 3. It should be noted that the VNC client refers to a software service that can implement remote access to the VNC, and also includes a device that can implement remote access to the VNC. The VNC clients include a noVNC client in addition to VNC client software that traditionally needs to be downloaded for installation. The NoVNC client is not a client in the traditional sense, is a HyperText Markup Language fifth edition (HTML 5) VNC client, runs in a web browser, and is realized by adopting a duplex communication channel WebSockets, a tag definition graph Canvas and an transliteration script Language JavaScript in the HTML5, and the NoVNC is generally used in control panels of various cloud computing and virtual machines.
The VNC agent in the internal network is connected to the VNC Mesh network by a TCP connection, and sends registration information to the VNC Mesh network, where the registration information includes information such as a network protocol IP address, a port, a bandwidth, and a geographical location of the VNC agent. As shown in fig. 3, the router VNC Proxy a and the router VNC Proxy B are connected to the VNC Mesh network by TCP connection, and submit information including the connected registration information to the VNC Mesh network.
And the VNC client sends a VNC connection request to the VNC Mesh network through HTTP, HTTPS, WebSocket or RFB protocol. After receiving the VNC connection request, the VNC Mesh network establishes connection with a VNC agent which is registered in the VNC Mesh network in advance, and after receiving response information sent by the VNC agent, establishes a link of a VNC client for remote access of a VNC server.
The VNC Mesh network construction process in this embodiment specifically includes:
the method comprises the steps of constructing a VNC Mesh network by using a plurality of VNC Mesh servers, initializing configuration information of the VNC Mesh servers, wherein the configuration information comprises line state information between the VNC Mesh servers and other VNC Mesh servers in the VNC Mesh network, and the line state information comprises information of operators, line bandwidth, server load, packet loss rate and the like.
When a new VNC Mesh server is accessed to a VNC Mesh network, the new VNC Mesh server establishes connection with one VNC Mesh server in the VNC Mesh network and obtains configuration information, the configuration information is used for measuring speed with other VNC Mesh servers in the VNC Mesh network, the obtained configuration information is updated according to the speed measurement result to generate current configuration information, meanwhile, the current configuration information is broadcasted to other VNC Mesh servers in the VNC Mesh network, and the VNC Mesh servers in the VNC Mesh network respond to the broadcast information to update the configuration information of the VNC Mesh server.
In this embodiment, a VNC agent, that is, a VNC Proxy, establishes a connection with a VNC server in a conventional VNC connection manner, when one VNC agent establishes a one-to-one connection with one VNC server, a port with a port number of 5001 may be used to establish the connection, and when one VNC agent establishes a one-to-many connection with a plurality of VNC servers or when a plurality of VNC agents establish a many-to-one connection with one VNC server, a plurality of port numbers are used to establish the connection.
In this embodiment, a process of registering a VNC Proxy, that is, a VNC Proxy, to a VNC Mesh network includes:
1) the VNC Proxy is connected to the VNC Mesh network by using a domain name or an IP, and establishes connection with one VNC Mesh server in the VNC Mesh network;
2) the VNC Proxy sends a pre-registration request to the VNC Mesh server, and the VNC Mesh server responds to the pre-registration request and returns to an available VNC Mesh server list in the VNC Mesh network;
3) the VNC Proxy screens the returned available VNC Mesh server list, and VNC Mesh servers which do not meet preset conditions such as large load or far lines are excluded;
4) the VNC Proxy performs a connection speed test according to the screened VNC Mesh server list to obtain a target VNC Mesh server with the connection speed and stability meeting preset conditions;
5) the VNC Proxy sends a registration request to a target VNC Mesh server, formal connection is established with a VNC Mesh network, the target VNC Mesh server responds to the registration request to generate registration information of the VNC Proxy, and meanwhile, the registration information is broadcasted to other VNC Mesh servers in the VNC Mesh network, wherein the registration information comprises information such as a network protocol IP address, a port, bandwidth and geographic position of the VNC Proxy.
Example three:
as shown in fig. 4, which is a schematic diagram of VNC link optimization according to an embodiment of the present invention, when a network where a VNC client and a VNC server are located is far away, such as across countries, across operators, across oceans, and the like, a load balancing network of a conventional VNC proxy server can only balance loads, but cannot match optimal links.
In a simple case of this embodiment, when both the VNC client and the VNC proxy are connected to the same VNC Mesh server at the same time, the network latency is minimal and the data communication of the VNC connection is the most stable. In a data relay situation of this embodiment, when a network where a VNC client and a VNC agent are located is relatively far away, such as across countries, operators, and oceans, an optimal VNC Mesh server where the VNC client and the VNC agent are respectively connected in a VNC Mesh network is not the same VNC Mesh server, and at this time, the VNC Mesh network will establish an optimal matching link for 2 VNC Mesh servers, which includes:
1) assuming that a VNC client (i.e., a VNC client/browser in fig. 4) is in a mobile network, the VNC client sends a connection request with a VNC proxy to a VNC Mesh network, and the VNC Mesh network matches a closest optimal VNC Mesh server when analyzing the connection request sent by the VNC client, which is shown as a VNC Mesh server D in a mobile computer room in fig. 4;
2) the VNC agent connects to the nearest best VNC Mesh server in a similar manner as described in 1), shown in fig. 4 as VNC Mesh server a located in a foreign machine room;
when a VNC client establishes a VNC connection with a VNC server B, the VNC Mesh servers in the VNC Mesh network are connected by a dedicated line to implement interconnection and interworking, and a delay and a bandwidth from each VNC Mesh server to a VNC Mesh server D can be determined. When the VNC Mesh server D is directly connected to the VNC Mesh server a, and the connection delay is large or the packet loss rate is high, data transfer can be performed through the VNC Mesh server C across the country, so that stability of data communication is ensured, and optimization of the VNC link is achieved.
Example four:
as shown in fig. 5, which is a schematic diagram of VNC link aggregation according to an embodiment of the present invention, the VNC Proxy introduced in this embodiment is used to implement link aggregation of multiple VNC proxies, and video data generated by a VNC server from a display buffer area is efficiently transmitted through multiple links. Wherein, the VNC Proxy is the VNC agent of the present invention.
1) When two VNC Proxy of the internal network, which are the router VNC Proxy a and the router VNC Proxy B in fig. 5, are both registered to the VNC Mesh network, all VNC Mesh servers in the VNC Mesh network can know that they have a multi-path reachable VNC server a or VNC server B at the same time;
2) when there is only one VNC Proxy in the internal network, such as the router VNC Proxy a in fig. 5, the VNC server B can only provide data to the outside through the router VNC Proxy a, and the link at this time is VNC client/browser- > VNC Mesh server C- > VNC Mesh server a- > router VNC Proxy a- > VNC server B;
3) when there are 2 or more VNC Proxy in the internal network, such as the router VNC Proxy a and the router VNC Proxy B in fig. 5, one or more links connected to the VNC server B may be established on the user side, and the multiple links generated at this time may include, in addition to the link of 2), a VNC client/browser- > VNC Mesh server C- > VNC Mesh server B- > router VNC Proxy B- > PC/VNC Proxy a- > VNC server B.
The VNC Mesh server C collects the display buffer of the VNC server B through different VNC Proxy, for example: the VNC Proxy A of the router collects odd frames, the VNC Proxy B of the router collects even frames, and if more links exist, VNC proxies of different links can continue to subdivide. For example, in this embodiment, an original video with a frame rate of 60 frames may now be respectively provided with 30 frames of video data by 2 VNC Proxy, and after these video data are transferred to the VNC Mesh server C through the VNC Mesh server a and the VNC Mesh server B, the original video is restored to an original video and is integrated into common RFB data or html5 data, and the original video is transmitted to the VNC client/browser. Thereby achieving a frame rate that a single network direct connection may not reach.
In addition, the stability of the VNC connection can be improved through link aggregation, when one of the VNC Proxy is overtime due to some reason, and when the VNC Mesh server C detects that the current VNC Proxy is already unavailable, the VNC Mesh server C automatically degenerates to the single link condition without interrupting the service, and can continue to provide the VNC service.
Example five:
fig. 5 is a schematic diagram of VNC link aggregation according to an embodiment of the present invention, where the VNC Proxy introduced in this embodiment is used to implement link aggregation of multiple VNC proxies, so as to implement redundant backup of a VNC connection link. Wherein, the VNC Proxy is the VNC agent of the present invention.
1) When two VNC Proxy of the internal network, which are the router VNC Proxy a and the router VNC Proxy B in fig. 5, are both registered to the VNC Mesh network, all VNC Mesh servers in the VNC Mesh network can know that they have a multi-path reachable VNC server a or VNC server B at the same time;
2) when there is only one VNC Proxy in the internal network, such as the router VNC Proxy a in fig. 5, the VNC server B can only provide data to the outside through the router VNC Proxy a, and the link at this time is VNC client/browser- > VNC Mesh server C- > VNC Mesh server a- > router VNC Proxy a- > VNC server B;
3) when there are 2 or more VNC Proxy in the internal network, such as the router VNC Proxy a and the router VNC Proxy B in fig. 5, one or more links connected to the VNC server B may be established on the user side, and the multiple links generated at this time may include, in addition to the link of 2), a VNC client/browser- > VNC Mesh server C- > VNC Mesh server B- > router VNC Proxy B- > PC/VNC Proxy a- > VNC server B.
When one of the VNC Proxy is over time due to some reason, the VNC Mesh server C automatically degenerates to the single link condition when detecting that the current VNC Proxy is already unavailable, and the service is not interrupted, and the VNC service can be continuously provided.
When a certain VNC Mesh server in the VNC Mesh network is abnormal, the VNC Mesh network may select a VNC Mesh server that normally operates from normal network nodes to connect. The following are exemplary:
1) a current user is connected to a VNC Mesh server A through a VNC client/browser, and is connected with a router VNC Proxy A through the VNC Mesh server A to establish connection with a VNC server B;
2) when the VNC Mesh server A is abnormal and VNC connection cannot be maintained, the VNC Mesh network detects the abnormality of the VNC Mesh server A and starts to try to backup and link to a VNC Mesh server B;
3) when the VNC Mesh server B works normally, the VNC Mesh network switches the VNC connection from the VNC Mesh server A to the VNC Mesh server B, and the VNC connection is guaranteed to be kept continuously.
Example six:
the present invention also provides a VNC remote access apparatus, as shown in fig. 6, the apparatus includes a processor 601, a memory 602, a bus 603, and a computer program stored in the memory 602 and executable on the processor 601, the processor 601 includes one or more processing cores, the memory 602 is connected to the processor 601 through the bus 603, the memory 602 is used for storing program instructions, and the steps in the above-described method embodiments of the present invention are implemented when the processor executes the computer program.
Further, as an executable solution, the VNC remote access device may be a desktop computer, a notebook, a palm computer, a cloud server, and other computing devices. The system/electronic device may include, but is not limited to, a processor, a memory. It will be understood by those skilled in the art that the above-described constituent structures of the system/electronic device are only examples of the system/electronic device, and do not constitute a limitation on the system/electronic device, and may include more or less components than those described above, or some components in combination, or different components. For example, the system/electronic device may further include an input/output device, a network access device, a bus, and the like, which is not limited in this embodiment of the present invention.
Further, as an executable solution, the Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, a discrete hardware component, and the like. The general purpose processor may be a microprocessor or the processor may be any conventional processor or the like, the processor being the control center for the system/electronic device, various interfaces and lines connecting the various parts of the overall system/electronic device.
The memory may be used to store computer programs and/or modules that the processor implements by running or executing the computer programs and/or modules stored in the memory and invoking data stored in the memory, various functions of the system/electronic device. The memory can mainly comprise a program storage area and a data storage area, wherein the program storage area can store an operating system and an application program required by at least one function; the storage data area may store data created according to the use of the mobile phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.
Example seven:
the present invention also provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the above-mentioned method according to the embodiment of the present invention.
The system/electronic device integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium and used for instructing relevant hardware, and when the computer program is executed by a processor, the steps of the above-described embodiments of the method may be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in the jurisdiction.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (10)
1. A VNC remote access method applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, wherein a plurality of the VNC Mesh servers are constructed as a VNC Mesh network, a plurality of the VNC agents are registered to the VNC Mesh network, and a plurality of the VNC servers are connected to the plurality of VNC agents, the method comprising the steps of:
s1, a first VNC Mesh server matched with the position of the VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responding to the connection request, establishing a connection with the VNC client, and determining, by the target VNC Mesh server, a target VNC server for VNC remote access from the VNC agent registered in the VNC Mesh network according to registration information generated when the VNC agent is registered in the VNC Mesh network, where the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing a link for the VNC client to remotely access the target VNC server.
2. The method of claim 1, wherein the VNC Mesh network is constructed by:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information between each VNC Mesh server in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, delay and packet loss rate information;
when the VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires the configuration information from the existing VNC Mesh server in the VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result into the configuration information of the newly added VNC Mesh server;
and the newly-added VNC Mesh server broadcasts the updated configuration information to the VNC Mesh network, and each VNC Mesh server in the VNC Mesh network responds to the broadcast to update the configuration information of the VNC Mesh server.
3. The method of claim 1, wherein connecting a plurality of the VNC servers to a plurality of the VNC agents comprises: one said VNC agent establishing a connection with at least one said VNC server and one said VNC server establishing a connection with at least one said VNC agent; wherein the VNC agent establishes a connection with the VNC server via a remote frame buffer protocol; the VNC agent is deployed in: a router, a desktop computer, and/or a VNC server.
4. The method of claim 1, wherein registering the VNC agent with the VNC Mesh network comprises:
the VNC proxy sends a pre-registration request to the VNC Mesh server of the VNC Mesh network, and the VNC Mesh server returns VNC Mesh server list information allowing connection in response to the pre-registration request;
the VNC proxy determines a second VNC Mesh server of which the information of an operator, bandwidth, load, delay and/or packet loss rate meets a first preset condition according to the returned VNC Mesh server list information;
the VNC proxy sends a registration request to the second VNC Mesh server, the second VNC Mesh server generates registration information in response to the registration request, establishes a connection with the VNC proxy, the second VNC Mesh server broadcasts the registration information to the VNC Mesh network, the VNC Mesh server in the VNC Mesh network generates the registration information for the VNC proxy in response to the broadcast, the registration information including a network protocol IP address and bandwidth requirements of the VNC proxy.
5. The method according to claim 1, wherein the step S3 of connecting the target VNC Mesh server to the target VNC server through the VNC proxy comprises:
determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server is not the same server as the target VNC Mesh server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
6. The method according to claim 3, wherein the target VNC Mesh server is connected to the target VNC server through the VNC proxy in the step S3, and wherein establishing the link for the VNC client to remotely access the target VNC server comprises: when there are a plurality of the VNC agents connected to the target VNC server, the target VNC Mesh server establishes connections with the plurality of VNC agents, and establishes a plurality of connection links from the target VNC Mesh server to the target VNC server.
7. The method according to claim 6, wherein the target VNC Mesh server obtains different video frame data in a display buffer of the VNC server from the plurality of connection links, respectively, combines the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
8. The method according to claim 6, wherein a connection link with bandwidth, load, delay and/or packet loss rate information meeting a second preset condition is determined from the plurality of connection links as a first connection link, and when the first connection link is disconnected, a second connection link with bandwidth, load, delay and/or packet loss rate information meeting a third preset condition is determined from the remaining links of the plurality of connection links; wherein the second preset condition is different from the third preset condition.
9. An apparatus for VNC remote access, comprising a memory and a processor, the memory storing at least one program, the at least one program being executable by the processor to implement a method for VNC remote access according to any one of claims 1 to 8.
10. A computer-readable storage medium, wherein at least one program is stored in the storage medium, and wherein the at least one program when executed performs the method of VNC remote access of any one of claims 1 to 8.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210340991.2A CN114726850B (en) | 2022-04-02 | 2022-04-02 | Method, device and storage medium for remote access of VNC |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210340991.2A CN114726850B (en) | 2022-04-02 | 2022-04-02 | Method, device and storage medium for remote access of VNC |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114726850A true CN114726850A (en) | 2022-07-08 |
| CN114726850B CN114726850B (en) | 2024-01-05 |
Family
ID=82242276
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210340991.2A Active CN114726850B (en) | 2022-04-02 | 2022-04-02 | Method, device and storage medium for remote access of VNC |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114726850B (en) |
Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007140671A1 (en) * | 2006-05-30 | 2007-12-13 | Haisheng Ni | A internet access server for isolating the internal network from the external network and a process method thereof |
| US20100312851A1 (en) * | 2009-06-03 | 2010-12-09 | Jackson Bruce K | Systems and methods for creating virtual universal plug-and-play systems |
| US20100332605A1 (en) * | 2009-06-26 | 2010-12-30 | Digi International Inc. | Mesh network bridge routing |
| CN102523207A (en) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | VNC (Virtual Network Computer)-based remote resource access method and proxy device |
| CN103812913A (en) * | 2012-11-14 | 2014-05-21 | 杭州华三通信技术有限公司 | Remote access method and device based on VNC (virtual network computing) |
| CN104219330A (en) * | 2014-09-29 | 2014-12-17 | 北京神州绿盟信息安全科技股份有限公司 | Method and system for auditing screen record based on WEB proxy |
| US20150304384A1 (en) * | 2012-10-25 | 2015-10-22 | Samsung Electronics Co., Ltd. | Apparatus and method for accessing web in network system |
| US20160087933A1 (en) * | 2006-09-25 | 2016-03-24 | Weaved, Inc. | Techniques for the deployment and management of network connected devices |
| CN105933415A (en) * | 2016-04-21 | 2016-09-07 | 国家计算机网络与信息安全管理中心 | Virtual machine online screen record method in cloud computing environment based on VNC agent and virtual machine online screen record system thereof |
| US20170063972A1 (en) * | 2015-08-28 | 2017-03-02 | SoftNAS, LLC | System and method for avoiding proxy connection latency |
| CN106921699A (en) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | A kind of Network Access Method, device and system |
| CN107124450A (en) * | 2017-04-18 | 2017-09-01 | 恒泰艾普(北京)云技术有限公司 | A kind of remote desktop based on HTML5 accesses system and remote desktop access method |
| CN108075987A (en) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | A multi-path data transmission method and device |
| US20190209921A1 (en) * | 2017-01-24 | 2019-07-11 | Tencent Technology (Shenzhen) Company Limited | Game server switching method, apparatus, and system |
| CN110650089A (en) * | 2019-10-24 | 2020-01-03 | 北京大学 | Intermediate device supporting multi-path aggregation communication |
| CN111770140A (en) * | 2020-06-09 | 2020-10-13 | 成都中云天下科技有限公司 | Communication method, user equipment and proxy server cluster |
| CN111865710A (en) * | 2020-06-18 | 2020-10-30 | 王晓 | Remote equipment debugging system based on public network environment |
| US10938691B1 (en) * | 2019-08-28 | 2021-03-02 | Red Hat, Inc. | Detection and cleanup of unused microservices |
| CN113163002A (en) * | 2021-04-09 | 2021-07-23 | 深圳市腾讯网络信息技术有限公司 | Server switching method and device and storage medium |
| CN114221955A (en) * | 2020-09-03 | 2022-03-22 | 浙江宇视科技有限公司 | Device cross-region access method and device, electronic device and storage medium |
-
2022
- 2022-04-02 CN CN202210340991.2A patent/CN114726850B/en active Active
Patent Citations (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007140671A1 (en) * | 2006-05-30 | 2007-12-13 | Haisheng Ni | A internet access server for isolating the internal network from the external network and a process method thereof |
| US20160087933A1 (en) * | 2006-09-25 | 2016-03-24 | Weaved, Inc. | Techniques for the deployment and management of network connected devices |
| US20100312851A1 (en) * | 2009-06-03 | 2010-12-09 | Jackson Bruce K | Systems and methods for creating virtual universal plug-and-play systems |
| US20100332605A1 (en) * | 2009-06-26 | 2010-12-30 | Digi International Inc. | Mesh network bridge routing |
| CN102523207A (en) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | VNC (Virtual Network Computer)-based remote resource access method and proxy device |
| US20150304384A1 (en) * | 2012-10-25 | 2015-10-22 | Samsung Electronics Co., Ltd. | Apparatus and method for accessing web in network system |
| CN103812913A (en) * | 2012-11-14 | 2014-05-21 | 杭州华三通信技术有限公司 | Remote access method and device based on VNC (virtual network computing) |
| US20150293773A1 (en) * | 2012-11-14 | 2015-10-15 | Hangzhou H3C Technologies Co., Ltd. | Virtual machines |
| CN104219330A (en) * | 2014-09-29 | 2014-12-17 | 北京神州绿盟信息安全科技股份有限公司 | Method and system for auditing screen record based on WEB proxy |
| US20170063972A1 (en) * | 2015-08-28 | 2017-03-02 | SoftNAS, LLC | System and method for avoiding proxy connection latency |
| CN106921699A (en) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | A kind of Network Access Method, device and system |
| CN105933415A (en) * | 2016-04-21 | 2016-09-07 | 国家计算机网络与信息安全管理中心 | Virtual machine online screen record method in cloud computing environment based on VNC agent and virtual machine online screen record system thereof |
| CN108075987A (en) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | A multi-path data transmission method and device |
| US20190209921A1 (en) * | 2017-01-24 | 2019-07-11 | Tencent Technology (Shenzhen) Company Limited | Game server switching method, apparatus, and system |
| CN107124450A (en) * | 2017-04-18 | 2017-09-01 | 恒泰艾普(北京)云技术有限公司 | A kind of remote desktop based on HTML5 accesses system and remote desktop access method |
| US10938691B1 (en) * | 2019-08-28 | 2021-03-02 | Red Hat, Inc. | Detection and cleanup of unused microservices |
| CN110650089A (en) * | 2019-10-24 | 2020-01-03 | 北京大学 | Intermediate device supporting multi-path aggregation communication |
| CN111770140A (en) * | 2020-06-09 | 2020-10-13 | 成都中云天下科技有限公司 | Communication method, user equipment and proxy server cluster |
| CN111865710A (en) * | 2020-06-18 | 2020-10-30 | 王晓 | Remote equipment debugging system based on public network environment |
| CN114221955A (en) * | 2020-09-03 | 2022-03-22 | 浙江宇视科技有限公司 | Device cross-region access method and device, electronic device and storage medium |
| CN113163002A (en) * | 2021-04-09 | 2021-07-23 | 深圳市腾讯网络信息技术有限公司 | Server switching method and device and storage medium |
Non-Patent Citations (1)
| Title |
|---|
| 陈敏;陈磊;兰小鹏;: "中心实验室检验仪器远程监控管理系统的构建", 医疗卫生装备, no. 12 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114726850B (en) | 2024-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108173976B (en) | Domain name resolution method and device | |
| US10749780B2 (en) | Systems and methods for management of cloud exchanges | |
| WO2020093500A1 (en) | Intelligent scheduling method, terminal device, edge node cluster and intelligent scheduling system | |
| WO2020253266A1 (en) | Method for providing edge service, apparatus and device | |
| US11553058B1 (en) | Sticky sessions in a proxy infrastructure | |
| DE112019005826T5 (en) | Load-balanced access to distributed endpoints using global network addresses | |
| US9762405B2 (en) | Hierarchical publish/subscribe system | |
| CN109729190A (en) | Network access method, system, device, and computer-readable storage medium | |
| CN109379450B (en) | Network interface interaction management method and device, computer equipment and storage medium | |
| US9569753B2 (en) | Hierarchical publish/subscribe system performed by multiple central relays | |
| CN101217508A (en) | A network agent system and the corresponding realizing methods based on instant communication platform | |
| TW202103475A (en) | Method for terminal device management, server and terminal device | |
| CN110392066A (en) | A kind of method and apparatus of access service | |
| CN115102854B (en) | Remote procedure call route management control method, system and equipment for micro-service | |
| CN115442287B (en) | Weight-based private line gateway method and device | |
| US20130226984A1 (en) | Method and apparatus of providing optimized web browser communications | |
| JP4683345B2 (en) | Network load balancing apparatus, network load balancing method, and program | |
| CN114726850B (en) | Method, device and storage medium for remote access of VNC | |
| US7738401B2 (en) | System and method for overlaying a hierarchical network design on a full mesh network | |
| DE102021109509A1 (en) | SYSTEM AND PROCEDURE FOR RECONFIGURATION OF A NETWORK USING NETWORK TRAFFIC COMPARISONS | |
| US20260005911A1 (en) | System and method for multi-tier network repository function | |
| US9331863B2 (en) | Home network, method for sharing device information among home networks and home network system | |
| CN116233085A (en) | Multi-terminal streaming media transmission method, system and streaming media server cluster | |
| EP3022658B1 (en) | Failover handling in a content node of a content delivery network | |
| CN110138675B (en) | Data traffic forwarding method and device, network board and distributed equipment |
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 |