Connection method and computer readable medium for private communication architecture
Establishing a secure connection in the public cloud network through private cloud routing servers and callback servers, solving the privacy and security issues during access to private cloud storage servers, and realizing secure access and high-performance communication behind the firewall .
Patent Information
- Application Number
- CN202210016635.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-02-12
- Filing Date
- 2022-01-07
- Publication Date
- 2024-12-06
- Estimated Expiration
- 2042-01-07
AI Technical Summary
When the existing technology realizes access to private cloud storage servers, it faces the difficulties of firewall penetration and secure communication channels, especially when the public cloud routing server is not used, there are privacy and security problems, and Installation is complex and costly.
Using private cloud routing server (PCRS) and private cloud callback server (PCCBS), establish a secure talk message connection mechanism through public cloud networks, and use virtual regional network to realize access to private cloud servers, and use private cloud servers to Call back the server for point-to-point communication to avoid traditional hole-punching technology.
It realizes secure access to private cloud servers behind the firewall, reduces installation complexity and cost, improves privacy and security, and improves communication performance, and is suitable for consumer-grade smart device users.
Smart Images

Figure CN114928459B_ABST
Abstract
Description
Technical Field
[0001] The present invention is related to the network. Specifically, the present invention is related to an application on a private cloud network. Background Art
[0002] In an Internet-connected environment, smart device clients, including smartphones, tablets, e-book readers, laptops, personal computers, and a variety of smart appliances, are very common and ubiquitous. In addition to Internet connectivity, one of the values of smart device clients is that they can obtain services from one or more servers at any time and anywhere. These services include voice, video content, live or archived information, application execution, social media, messaging, email, storage media, backup, calendar, contacts, synchronization, sharing, remote desktop, and the Internet of Things (IoT). Other services include real-time private and secure video, voice, text, and application communications between at least two smart device clients.
[0003] There are different types of servers that can be used to meet the needs of various smart device clients. Generally speaking, these types of servers can be divided into two groups: a public cloud and a private cloud. Public cloud servers, as the name "public" suggests, provide free but limited functions or paid and more sophisticated services, and interact with the public. Examples of public cloud servers include data centers, social media services, and storage content providers on the Internet. Private cloud servers, on the other hand, tend to meet private needs. Compared to public clouds, servers in private clouds provide more privacy and personalized services.
[0004] An example of a private cloud server application is a private cloud storage server (PCSS). The private cloud storage server is located in a user-managed local area network (LAN). It provides users with online and backup storage in a local area network or a wide area network (WAN). Users can use smart device clients to access information from the private cloud storage server at any time and any place. The private cloud server and the associated smart device clients thus form a private cloud server and client architecture.
[0005] Traditionally, there are many storage server solutions, including Network Attached Storage (NAS), Windows / Mac / Linux servers, and Direct Attached Storage (DAS) to meet the needs of private cloud storage servers. However, the challenge faced by smart device clients in the field is how to avoid cumbersome installation to penetrate the firewall behind the LAN router to access the private cloud storage server in the home or office environment. There are at least four solutions to this challenge.
[0006] One solution is to arrange a fixed Internet Protocol (IP) address and open a connection port on the router in front of the private cloud storage server, such that a smart device client can probe the private cloud storage server from outside the local area network and perform self-authentication, penetrate the firewall and establish a secure communication channel with the private cloud storage server.
[0007] The second solution is for those who do not have a fixed Internet Protocol address. The user installs a router in the private cloud storage server LAN and opens the port corresponding to the private cloud storage server. The router can then be discovered by the smart device client via the Dynamic Domain Name System (DDNS) service on the WAN. The smart device client can authenticate itself, penetrate the firewall and establish a secure communication channel to the private cloud storage server.
[0008] The third solution relies on another routing server in the WAN to conduct a virtual private network (VPN) between the smart device client and the private cloud storage server. The VPN communication allows the smart device client to find out the location of the private cloud storage server, authenticate itself, penetrate firewalls, and establish a secure communication channel connected to the private cloud storage server.
[0009] The fourth solution relies on another routing server in the WAN to conduct Remote Desktop Protocol (RDP) or Virtual Network Computing (VNC) communication between the smart device client and the private cloud server. The RDP or VNC communication allows the smart device client to find out the location of the private cloud server, authenticate itself, penetrate the firewall, and establish a secure communication channel with the private cloud server. Other solutions are combinations of the above solutions.
[0010] In the first solution, a fixed IP address is required and the router needs to be installed. Fixed IP addresses involve more costs and are generally not applicable to home and small business environments. Therefore, the router installation is very complicated and not easy for most consumers.
[0011] In the second solution, a DDNS service is required and the router requires a more complicated installation. The DDNS involves additional cost and system complexity. Therefore, the router installation is very complicated and not easy for most consumers.
[0012] In the third and fourth solutions, when the installation of a router is not necessary, an external routing server or service needs to be installed. The external routing server or service is used to control and manage the login or authentication between the smart device client and the server. By using a public cloud server or service, the private cloud becomes less private and secure. In addition, if the server or service is down for any reason, it will jeopardize the communication or availability of the private cloud server.
[0013] The technical expertise required for the above solutions may be applicable to traditional integrated environments, but is not suitable for consumer-oriented smart device client-centric arrangements.
[0014] In most traditional systems, an external or public cloud routing server is used by smart device clients in accessing private cloud services. Using an external server brings many concerns to smart device client owners.
[0015] First, trust is always an issue because the routing server in the external or public cloud acts as a middleman in the communication between the smart device client and the private cloud service. It will know the account information, passwords and Internet protocol addresses of all the users of the smart device client and the private cloud service. The routing server can detect any kind of communication in the middle, making it insecure.
[0016] Second, as a routing server in an external or public cloud, the business model of the server owner may not always be consistent with that of the smart device client owner. If the routing server is out of service for any business reason, there is no repair method or alternative option to restore service. The routing server potentially poses a huge business risk to users, such as the link that is essential for communication can be destroyed without any resource consumption.
[0017] Traditionally, when two smart device clients communicate, both parties need to log in to a public cloud server to conduct real-time video, voice, text, and application communications. As mentioned above, since the communications must pass through a public cloud server, privacy and security are easily compromised.
[0018] In view of this, there is an urgent need for a system and method for solving the above problems. The present invention meets this need. Summary of the invention
[0019] In order to solve at least the above-mentioned problems, an embodiment of the present invention provides a method for use with a public cloud network. The method may include setting at least one private cloud routing server (Private Cloud Routing Server; PCRS) and at least one smart device client on the side of the private cloud routing server, and the at least one private cloud routing server and the at least one smart device client on the side of the private cloud routing server are in a client-server relationship. The method may also include setting at least one other smart device client on the side of the private cloud call-back server (Private Cloud Call-back Server; PCCBS), and the at least one other smart device client on the side of the private cloud call-back server is in a client-server relationship with the at least one private cloud routing server. The private cloud call-back server acts as an intermediary to relay the communication between the smart device client on the side of the private cloud call-back server and the private cloud routing server. The private cloud call-back server can call back to the private cloud routing server according to the request of the smart device. The at least one private cloud call back server includes a first message box associated therewith. The first message box is located in the private cloud call back server on a public cloud network. The smart device client includes a second message box associated therewith. The second message box is located in the private cloud call back server on the public cloud network. The at least one private cloud call back server is located in a public cloud network. The third message box associated with the private cloud routing server is located in the private cloud call back server on the public cloud network. The method further includes transmitting a conversation message between the first message box and the second message box, and transmitting a conversation message between the second message box and the third message box using a secure method.
[0020] The secure conversation message connection mechanism between the private cloud routing server, the private cloud call back server and at least one smart device client includes: initializing and preparing the private cloud call back server, creating a private cloud call back server client, viewing the private cloud call back server client, editing a private cloud call back server point-to-point password and status through a system administrator, modifying the private cloud call back server point-to-point password through the at least one smart device client, resetting the private cloud call back server point-to-point password and the status through a system administrator from a private cloud call back server local area network, and connecting to the private cloud call back server through the at least one smart device client. The conversation message is verified by the private cloud routing server, the private cloud call back server and at least one smart device client. The smart device client, the private cloud routing server and the private cloud call back server can communicate with each other after the conversation message is verified.
[0021] According to the verified conversation message, the at least one smart device client securely accesses a private network service through the public cloud network. The method also includes setting the at least one other smart device client, and the at least one other smart device client is in a client-server relationship with the at least one private cloud routing server and the at least one private cloud callback server. The at least two smart device clients can communicate with each other after the conversation message is verified. The at least two smart device clients can communicate privately and securely through the public cloud network. By using the private cloud callback server between the smart device client and the private cloud routing server, all types of Internet Protocol Address Translation (NAT) routers in the local area network environment can be more effectively passed without using traditional hole-punching technology. Due to the emergence of 5G, 6G and Wi-Fi 6 network technologies, the performance of communication is significantly improved through the private cloud callback server to minimize the delay of communication. In order to access another smart device client or an IoT device at home from a smart device client anywhere in the world, the present invention has the advantages of easy deployment, high privacy and security, full compatibility and high performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 A schematic diagram illustrating a traditional cloud network architecture.
[0023] Figure 2A schematic diagram illustrating a connection mechanism according to a first embodiment of the present invention is shown, wherein the connection mechanism is between a private cloud routing server, a private cloud callback server, and a smart device client.
[0024] Figure 3 A schematic diagram illustrating a connection mechanism according to a second embodiment of the present invention is shown, wherein the connection mechanism is between a private cloud routing server, a private cloud callback server, and a smart device client.
[0025] Figure 4 A schematic diagram illustrating a connection mechanism according to a third embodiment of the present invention is shown, wherein the connection mechanism is between a private cloud routing server, a private cloud callback server, and a smart device client.
[0026] Figure 5 A flow chart of initializing and preparing a private cloud routing server by a private cloud routing server administrator according to the present invention is illustrated.
[0027] Figure 6 A flowchart of a private cloud call back server administrator creating a client for a private cloud call back server according to the present invention is illustrated.
[0028] Figure 7 A flow chart of a private cloud callback server device client registering to a private cloud callback server according to the present invention is illustrated.
[0029] Figure 8 A flow chart from a private cloud callback server device client to a private cloud callback server according to the present invention is illustrated.
[0030] Fig. 9 A flowchart of an administrator viewing a client of a private cloud routing server according to the present invention is illustrated.
[0031] Fig.10 The flowchart of an administrator resetting a user's end-to-end password and editing properties of a private cloud callback server device according to the present invention is illustrated.
[0032] Fig.11 A flow chart of modifying a user end-to-end password of a private cloud callback server device according to the present invention is illustrated.
[0033] Fig.12 A flow chart of a peer-to-peer connection mechanism is illustrated, wherein the peer-to-peer connection mechanism is between a device client 1 and a device client 2 via a cloud network (prior art).
[0034] Fig.13A flow chart illustrating a point-to-point connection mechanism between a private cloud routing server and a private cloud routing server device client via a cloud network (prior art) is shown.
[0035] Fig.14 A flow chart of a point-to-point connection mechanism is illustrated, wherein the point-to-point connection mechanism is between a private cloud routing server, a private cloud callback server, a private cloud routing server device client and a private cloud callback server device client through a cloud network (prior art).
[0036] Fig.15 A flow chart of a private cloud routing server registering to a private cloud callback server virtual private network according to the present invention is illustrated.
[0037] Fig.16 A flow chart of a private cloud routing server to a private cloud callback server virtual private network according to the present invention is illustrated.
[0038] Fig.17 The flowchart of the private cloud call back server calling back to the private cloud routing server virtual private network according to the present invention is illustrated.
[0039] Explanation of symbols
[0040] As shown below:
[0041] 0, 1~8, 3-1, 3-3, 4-1, 4-3, 6-3: Code
[0042] 100, 200, 300, 400: Public cloud
[0043] 102, 103, 202, 203, 302, 303, 403: Router, Router_P, Router_S
[0044] 104, 105, 204, 205, 304, 305, 334, 405, 434: Local Area Network, LAN
[0045] 101, 106, 107, 109, 110, 111: Smart device client
[0046] 108: Private Cloud Server
[0047] 112, 212, 312, 412, 1200: Public routing servers
[0048] 113, 213, 313, 413: Public cloud servers
[0049] 114, 214, 314, 414: Public VPN routing servers
[0050] 201, 209, 210, 211, 221, 301, 309, 310, 311, 321, 401, 409, 410, 411, 421: PCCBS device user end
[0051] 206, 207, 306, 307, 335, 435: PCRS device user end
[0052] 208, 308, 408: PCRS
[0053] 216, 316, 416: PCCBS
[0054] 215, 315, 415: User-side message box
[0055] 222, 223, 224, 225, 322, 323, 324, 325, 326, 422, 423, 424, 426: Communication path
[0056] 228, 328, 336, 436: Private network services
[0057] 240, 2400, 340, 440: VLAN
[0058] 360, 460: LAN2
[0059] 270, 1300, 1302: PCRS Utility
[0060] 271: PCRS Client Database
[0061] 272, 276, 280, 282: Client message box utilities
[0062] 273: PCRS Administrator Device
[0063] 274: PCRS Device App
[0064] 275: PCRS Database
[0065] 277: PCCBS Administrator Device
[0066] 278: PCCBS Device App
[0067] 279: PCCBS Database
[0068] 281: Invitee Device
[0069] 1201: Device client 1
[0070] 1202: Device client 2
[0071] 1301: PCRS device client 1App
[0072] 1420: PCCBS Administrator Device
[0073] 1421: PCRS Device Utility
[0074] 1422: PCRS VPN Utility
[0075] 1423: PCCBS VPN Utility
[0076] 1424: PCCBS Installation Utility
[0077] 1425: PCCBS device client 1
[0078] 2700: PCCBS Utility
[0079] 2710: PCCBS Client Database
[0080] 2720: Server Message Box Utility
[0081] 500-508, 510-516, 540-543: Steps
[0082] 600-605, 610-614, 620-622, 640-642: Steps
[0083] 700-707, 710-720, 740-744: Steps
[0084] 800~821, 840~848: Steps
[0085] 900~906, 910~912, 940~942: Steps
[0086] 1000~1008、1010~1017、1020、1040~1045:Steps
[0087] 1100~1105, 1110~1116, 1140~1142: Steps
[0088] 1203~1210: Steps
[0089] 1303-1310: Steps
[0090] 1400~1407, 1413~1414, 1416, 1427~1428: Steps
[0091] 1500~1507、1510~1520、1540~1544:Steps
[0092] 1600-1617, 1619-1620, 1640-1646, 1648: Steps
[0093] 1700-1717, 1719, 1721, 1740-1746, 1748: Steps DETAILED DESCRIPTION
[0094] The present invention is related to the network. Specifically, the present invention is about an application on a private cloud network. The following description is used to enable ordinary technicians in the field to know and use the present invention, and present the relevant content required for the patent application of the present invention. Ordinary technicians in the field can easily understand other embodiments of the present invention based on the various embodiments described below and the principles and features that are essentially the same as the present invention. Therefore, the present invention is not limited to the implementation of the following embodiments, but is granted the maximum scope consistent with the principles and features that are essentially the same as the present invention.
[0095] In the following description, "client" may be equivalent to "smart device client", and "router" may be equivalent to "gateway", "access point" or "Internet Protocol Address Translation".
[0096] The smart device client in the wide area network of the present invention can obtain services from a private cloud storage server (Private Cloud Storage Server; PCSS) or any private cloud server (Private Cloud Server; PCS), so the system and method of the present invention solve the following challenges faced by users in the use environment:
[0097] 1. Access private cloud servers anytime, anywhere.
[0098] 2. Access a private cloud server located behind a firewall with a fixed or floating Internet Protocol (IP) address.
[0099] 3. No need for public cloud-based routing servers in the wide area network.
[0100] 4. No need to set up additional routers in the local area network.
[0101] 5. Verify the private cloud server.
[0102] 6. Establish a secure communication channel with the private cloud server.
[0103] If the present invention can overcome and solve the above challenges, the deployment of private cloud servers or services will be able to grow exponentially due to the simple plug-and-play nature of the present invention. Even if public cloud-based routing servers are not used, the technical and commercial problems associated with the field of the present invention will be eliminated. Therefore, private cloud servers for storage, remote desktops, and the Internet of Things will become very affordable and popular in the infrastructure of private clouds.
[0104] In a private cloud environment, if there are multiple private cloud servers or services coexisting at the same time, it is beneficial to divide the private cloud server into two functional blocks: Private Cloud Routing Service (PRS) and Private Network Service (PNS). Private network services are managed and accessed in a private network environment (wired or wireless) through smart device clients. For example: Remote Desktop Protocol (RDP), VNC software (Virtual Network Computing), Office Tools software, media players and other special user applications. Private network services can also serve as a storage server, which can include multiple TB of storage space provided for the private cloud. Then, the private network service functions of multiple private cloud routing servers (hereinafter referred to as "PCRS") can be integrated into one PCRS. PCRS is also commonly referred to as a "private cloud router."
[0105] The smart device client in the wide area network of the present invention can manage and access private network services from the PCRS, so the system and method of the present invention solve the following challenges faced by users in the use environment:
[0106] 1. Access PCRS anytime, anywhere.
[0107] 2. Access a PCRS located behind a firewall with a fixed or a floating IP address.
[0108] 3. No need for external or public cloud-based routing servers in the wide area network.
[0109] 4. No need to set up additional routers in the local area network.
[0110] 5. Verify PCRS.
[0111] 6. Establish a secure communication channel with private network services.
[0112] If the PCRS of the present invention can solve the above challenges, different private cloud servers from different manufacturers and suppliers can be split into simpler private network services and the complexity of private cloud settings, configurations and access can be eliminated.
[0113] The system and method of the present invention is intended to provide a PCRS, private network server and client architecture without the need for a routing server. The system and method of the present invention meet the above challenges, that is, a client can access the private network server anytime and anywhere. The system and method can also access the private network server behind a fixed or floating IP firewall to authenticate with the PCRS and establish a secure communication channel directly with the private network server without adding additional routing settings in the wide area network or routing servers in the public cloud.
[0114] like Figure 1 As shown, a cloud network architecture includes a public cloud 100, a public cloud server 113, a public routing server 112, a virtual private network (hereinafter referred to as VPN) routing server 114, a smart device client 101 in a wide area network, a router (Router_P) 102 and a router (Router_S) 103. Router 103 is used to connect a local area network (LAN) 105 with the network of the public cloud 100. Router 102 is used to connect a local area network (LAN) 104 with the network of the public cloud 100. At the back end of the local area network 104, there are smart device clients 106, 107 and a private cloud server 108. At the back end of the local area network 105, there are smart device clients 109, 110 and 111. These smart device clients can be a personal computer, laptop, tablet, e-book reader, GPS, smart TV, set-top box, MP3 player or any embedded device that can access the Internet.
[0115] They are labeled as 101, 106, 107, 109, 110 and 111 in the cloud network architecture. Any of the above-mentioned smart device clients can be replaced arbitrarily in this article. The following will be described with a representative smart device client 109.
[0116] Physically, there are three situations in which the smart device client 101, 107 or 109 is connected to the private cloud server 108. First, the smart device client 107 determines whether the target is located in an accessible area of the local area network 104, and decides to directly connect to the private cloud server 108. Second, the smart device client 101 determines that the target is not located in an accessible area of the local area network 104, and decides to connect to the public cloud 100 via the wide area network. The wide area network can detect the location of the router 102 and the local area network 104, and then connect to the private cloud server 108. Third, the smart device client 109 determines that the target is not located in an accessible area of the local area network 105, and decides to connect to the public cloud 100 in the wide area network through the local area network 105 and the router 103.
[0117] The smart device client 109 then finds out the location of the router 102 and the local area network 104 and connects to the private cloud server 108. The first and second cases are two derivative special cases of the third case. Therefore, the third case with a wider range of applications and complexity is beneficial.
[0118] The routing server message box (not shown) or client message box 215 can be hosted on an email server, a text message server, a web server or any type of server that can host a secure message exchange between a server (PCRS 208 and private cloud call back server (hereinafter referred to as "PCCBS") 216) and a client (smart device client 206, 207, 209, 210, 211, 201 and 221). The call back server message box (not shown) or client message box_S (Client Message Box Message_box_S) 215 is accessible and under the secure and private control of a server (PCRS 208 and PCCBS 216) and a client (smart device client 206, 207, 209, 210, 211, 201 and 221). The security and business model of the message box have been fully understood and expected by users in the industry. No matter what the reason, when the message box stops, it can be replaced or redeployed immediately without endangering the communication between the server and the client in the private cloud architecture.
[0119] The first embodiment of the present invention is a cloud network infrastructure, which is depicted in Figure 2 In this embodiment, a secure connection mechanism between PCRS, PCCBS and smart device clients is used to explore and access private network services across public clouds. Figures 5 to 15According to the disclosed mechanism, the smart device clients 201, 211 and 221 locate the PCRS 208 through the communication paths 222, 224 and 223 respectively. In addition, the PCRS 208 and the PCCBS 216 build a virtual local area network (VLAN) 240 and a virtual local area network 2400, which allow the authorized smart device clients 201, 211 and 221 to join the virtual local area network 240 and the virtual local area network 2400 as members. The smart device client 201 can act as a host through the installed program to initiate a private and secure communication. The smart device client 201 or 221 can act as a guest through the installed program to receive the communication invitation and join the private and secure communication session with the smart device client 201.
[0120] like Figure 2 As shown, when the smart device client 201 as a host wants to start a communication session, the program installed in the smart device client as the host first locates and logs in to the PCCBS 216 through the communication path 222. After the PCCBS 216 locates the PCRS 208, it joins the virtual local area network 240. The smart device client as the host 201 commits to join the chat communication. The program allows the smart device client to create and host a communication session. The program broadcasts the host session to invite the communication visitor 221. Then, the program starts scanning for identifiable visitors. Once the identity of the visitor is verified, the smart device client 201 can act as a host to conduct private and secure communication with the verified visitor (smart device client) 221. The private and secure communication includes video, voice, text and application communication. The application communication can be a program, utility (hereinafter referred to as Utility), operation or remote desktop recognized by both the host and the visitor.
[0121] If the smart device client 211 or 221 wants to join a communication session as a guest, the program installed in the guest (smart device client) first locates and logs in to the PCCBS 216 through the communication path 224 or 223 respectively. After the PCCBS 216 locates the PCRS 208, it joins the virtual local area network 240 under the server. The smart device client commits to join the chat communication as a client. The program waits for a communication invitation. Once it receives the communication invitation, the smart device client 211 or 221 can join a communication session as a guest. Then, the program starts scanning for identifiable guests. After the program identifies the host, it performs the communication login verification prompted by the host. Once verified, the smart device client can join the communication session. The smart device client 211 or 221 communicates privately and securely with the host (smart device client) 201 as a guest. The private and secure communication includes video, voice, text and application communication. The application communication may be a program, utility, operation or remote desktop recognized by both the host and the guest.
[0122] In another embodiment of the present invention, the smart device client can establish a private and secure communication with any service, as long as it is accessible via the physical local area network 250 or the virtual local area network 240 and virtual local area network 2400 under PCRS and PCCBS. Figure 2 As shown, once the smart device client 201, 211 or 221 locates and logs in to the PCCBS 216, it can access the private network services 228 accessible through the physical local area network 250, 260 or the virtual local area network 240 and the virtual local area network 2400 under the PCRS and PCCBS through the communication path 225. The private network services include voice, video content, live or saved information, application execution, social media, messaging, email, storage media, backup, calendar, contacts, synchronous video, sharing, remote desktop and Internet of Things (IoT), etc.
[0123] In some embodiments, the communication path 225 between the PCRS, PCCBS and the smart device client may include the following plurality of instructions:
[0124] 1. Initialize and provision a PCRS (by an administrator from the LAN of the PCRS).
[0125] 2. Initialize and prepare a PCCBS (via the administrator from the PCCBS's WAN).
[0126] 3. Create a PCRS client (by the administrator of the PCRS from the LAN).
[0127] 4. Register to a PCCBS (via the PCCBS client from the WAN).
[0128] 5. Connect to a PCCBS (via the PCCBS server client from the WAN).
[0129] 6. View a PCCBS Client (via the System Administrator from the PCCBS's WAN).
[0130] 7. Reset a PCCBS peer-to-peer password and status (via the system administrator from the PCCBS's WAN).
[0131] 8. Modify a PCCBS peer-to-peer password and status (via the PCCBS client from the WAN and through a VPN).
[0132] Many types of entities are introduced as secure communication channels 225, including but not limited to: system administrator, administrator device, PCRS Utility, PCCBS Utility, PCRS device client, PCCBS device client, invitee, and invitee device. The definitions of these entities are as follows. Utility refers to a utility program running in the PCRS. Administrator device refers to a device used by the system administrator to configure the PCRS. PCRS device client refers to a device used by the invitee to communicate with the PCRS. Invitee refers to an invited entity party that accesses the services and resources of the PCRS through the administrator. Invitee device refers to an intelligent device client used by the invitee to communicate with the PCRS.
[0133] A number of related terms are introduced, including: access code (Access_Code), code expiration time (Code_Expiration), invitee address (Address_Invitee), PCRS client address (Address_PCRS_Client), PCRS client point-to-point hash password (Hash_Password_PCRS_P2P), PCRS point-to-point password expiration time (Password_PCRS_P2P_Expiration) and PCRS client database status (Status in PCRSClient database). These terms are defined as follows. Access_Code refers to an invitee access code issued by the PCRS via the message box 216 by the administrator. Code_Expiration refers to the expiration date / time of the access code for security purposes. Address_Invitee refers to the invitee's message box address. Address_PCRS_Client refers to the PCRS client's message box address, which may be different from the invitee's message box address. Hash_Password_PCRS_P2P refers to a hash password used for peer-to-peer communication with the PCRS, which is stored in the PCRS Client database, and for security reasons, the actual hash password is never stored in the PCRS. Password_PCRS_P2P_Expiration refers to the expiration time of Hash_Password_PCRS_P2P. Status in PCRS Client database refers to the PCRS Client database record of whether it is in service, out of service, or deleted.
[0134] In addition, other terms not related to the PCRS client database include: PCRS address (Address_PCRS), PCRS password (Password_PCRS), PCRS client password (Password_PCRS_Client), and virtual LAN subnet (Virtual LAN subnet). The definitions of these terms are as follows. Address_PCRS and Password_PCRS are message box accounts used to configure the PCRS. They are only used once during the initialization and preparation of the PCRS and are not stored for security purposes. Address_PCRS_Client and Password_PCRS_Client are message box accounts used to configure the PCRS client. They are only used once during the creation of the PCRS client in the database. Although Address_PCRS_Client is stored in the database, Password_PCRS_Client is never stored for security purposes. Virtual LAN subnet refers to a subnet of a VPN, which is configurable and modifiable for security purposes.
[0135] like Figure 2 As shown, PCRS 208 includes a PCRS_Utility 270, which includes a PCRS Client database 271 and a router server message box Utility 272. PCRS Client database 271 includes a registration list of PCRS clients. Router server message box Utility 272 can communicate with a call back server message box (not shown).
[0136] The administrator device 273 is a smart device client 207, which includes a PCRS application Utility (PCRS_App) 274, which includes a PCRS server database (PCRS Server database) 275 and a client message box Utility 276. The PCRS Server database 275 includes a PCRS registration list. The client message box Utility 276 can communicate with the client message box 215.
[0137] The PCCBS device client 201 is a smart device client, which includes a PCCBS application Utility (PCCBS_App) 278, which in turn includes a PCCBS server database (PCCBS Server database) 279 and a client message box Utility (Client Message Box utility) 280. The PCCBS Server database 279 includes a PCCBS registration list. The message box Utility (Message Box utility) 280 can communicate with the client message box 215.
[0138] The invitee device 281 is a smart device client 221, which includes a client message box utility 282. The client message box utility 282 can communicate with the client message box 215. Figure 5 As shown, the system administrator uses PCRS_App 274 from the administrator device 207 to initialize and prepare PCRS 208. Both the administrator device 207 and PCRS 208 are located on the physical local area network 204 for security purposes and are configured to avoid hacker attacks on the Internet or wide area network. First, the system administrator configures the authentication of the PCRS message box by setting his account name and password. Afterwards, the authentication of the PCRS message box is sent to the PCRS Utility 270 in the PCRS 208.
[0139] PCCBS 216 includes a PCCBS Utility 2700, which includes a PCCBS Client database 2710 and a Routing Server Message Box Utility 2720. PCCBS Client database 2710 includes a registered list of PCCBS clients. Message Box Utility 2720 can communicate with a callback server message box (not shown). Figure 6As shown, the system administrator 277 also uses PPCBS_App 278 to create a PCCBS client account. The system administrator 277 is a PCCBS device client 201, which sets the invitee notification address in the application (PCCBS_Device_App) (labeled as 605) of the PCCBS device. Then, the PCCBS is required to send a connection invitation to the call-back server message box (not shown) through the call-back server message box Utility 2720, through the client message box 215, and finally to the invitee device 281, which is the client message box Utility 282. It should be noted that the call-back server message box and the client message box 215 are both hosted in the message box server. For example: an email server, a web server, and a message server. In addition, logically, the call-back server message box and the client message box 215 can be the same or different. After the invitee receives the invitation (labeled as 620), he will retrieve the PCCBS_Device_App from the PCCBS application link (PPCBS_App link) (labeled as 621) and install the PPCBS_App on the intended PCCBS device client 201. It is not necessary for the invitee device 281 to be on the same physical device as the PCCBS device client 201. The system administrator must know the invitee's message box address (labeled as 605) to send the invitation.
[0140] like Figure 7As shown, on the intended PCCBS device client 201, the invitee starts PCCBS_Device_App (labeled as 700) and registers to PCCBS (labeled as 701). At this time, the role of the invitee is changed to the PCCBS client on the PCCBS device client 201. Afterwards, the PCCBS client configures the authentication of its client message box by setting the account name and password, and registers the authentication to the client message box 215. Then, the previously received PCCBS address (Address_PCCBS) and Access_Code are retrieved from the invitee device 281, and are transmitted to the PCCBS (labeled as 710) via 740 together with the client message account PCCBS client address (Address_PCCBS_Client). After verification by PCCBSUtility 2700 in PCCBS 216, a set of peer-to-peer connection authentication 714 including the PCCBS peer-to-peer password (Password_PCCBS_P2P) is generated. The actual password is sent to the invitee device 281 via the client message box 215. The hashed password is stored in the PCCBS client database along with other client authentications. For security reasons, the actual user end-to-end password is never stored in the PCCBS 216. However, the hashed value is stored for comparison in the authentication 716. Once the PCCBS device client 201 receives its confirmation of registration 707 from the PCCBS 216, it records the PCCBS's Address_PCCBS in the PCCBS server database 279 in the PCCBS_Device_App 278.
[0141] like Figure 6 , Fig. 9 and Fig.10 As shown, PCCBS_Device_App provides the following four commands for the administrator device: Initialize and Provision, Create a Client, View PCCBS Client, and Reset PCCBS P2P Password / Edit Attributes. Whenever the administrator operates, for security reasons, access to the PCCBS is only allowed from the PCCBS virtual area network (physical or virtual). Due to the access restrictions, the PCCBS is only set up and configured on the PCCBS virtual area network to avoid network traffic monitoring and hacker attacks.
[0142] like Figure 7 , Figure 8 and Fig.11 As shown, PCCBS_Device_App provides the following three commands for PCCBS clients: "Register to a PCCBS", "Change P2P Password" and "Connect to PCCBS". Figure 7 As shown, regarding the "Register to a PCCBS" command, the PCCBS client can run PCCBS_Device_App and connect to the PCCBS Utility from the WAN or PCCBS virtual network because the communication exchange between the PCCBS client and the PCCBS Utility for Register to a PCCBS is through the client message box 215 and the call back server message box (not shown). Fig.11 As shown in the figure, regarding the "Change P2P Password" command, for security reasons, after the WAN is securely connected to the VPN, the PCCBS device client must run the PCCBS_Device_App on the PCCBS virtual network, because the P2P password can only be reset on the PCCBS virtual network. The only way for a PCCBS device client to connect to the PCCBS virtual network is through a secure VPN. Figure 8 As shown, regarding the "Connect to PCCBS" command, the PCCBS device client has not yet connected to the PCCBS from the WAN or PCCBS virtual network. A secure and private connection between the PCCBS device client and the PCCBS is a condition for the command to run PCCBS_Device_App. PCCBS 216 acts as a middleman to relay the communication between the smart device client 201, 211, 221 and the PCRS 218. It will call back the PCRS according to the request of the smart device client.
[0143] Figure 3 A second embodiment of the present invention is illustrated. Figure 2The disclosed method, that is, PCRS 208 is connected to a router (Router_P) 202 of a local area network, wherein PCRS 308 is connected to a router (Router_P) 302 of a local area network. PCRS 308 can also be connected to a physical virtual network 360 in the downstream. A private network service 336 and a smart device client 335 are connected in the downstream. Private network service 336 can be accessed through communication path 326 and can be connected to PCRS 308 through local area network 334. As long as through PCCBS 316, virtual local area network 340, physical local area network 350, 360 can be discovered and accessed by smart device clients 311, 309, 301, 321, 306 and 335 across the cloud, and PCRS 308, private network services 328, 336 and smart device clients 306, 335 can all become accessible.
[0144] Figure 4 The third embodiment of the present invention is illustrated. PCRS 408 is connected to the cloud and has a public IP (public_IP_P) 417. PCRS 408 is also connected to a downstream physical local area network 460. A private network service 436 and a smart device client 435 are connected downstream. Private network service 436 can be accessed through communication path 426 and can be connected to PCRS 408 through local area network 434. As long as through PCCBS 416, virtual local area network 440, physical local area network 450, 460 can be discovered and accessed by smart device clients 411, 410, 409, 401, 421 and 435 across the cloud, and PCRS 408, private network service 436 and smart device client 435 all become accessible.
[0145] Figure 5 A flow chart of initializing and preparing the communication of the PCRS through a PCRS administrator according to the present invention is illustrated. Figure 5As shown, from the perspective of the PCRS administrator device (PCRS Admin Device), in step 500, the PCRS administrator device is connected to the PCRS network on the local area network. In step 501, the application of the PCRS device (PCRS_Device_App) is opened in the PCRS local area network. In step 502, the PCRS Address_PCRS on the local area network is detected and selected. In step 503, the "Initialize and Provision" command on the PCRS_Device_App is selected. In step 504, the identity of the PCRS is set by setting the address (Address_PCRS) and password (Password_PCRS). In step 505, the administrator's identity (Initialize and Provision, Admin_name, Admin_password, Address_PCRS, Password_PCRS) is used to log in to the PCRS. In step 540, the identity is sent to the PCRSUtility (labeled as 510). In step 506, the administrator waits for PCRS verification. In step 507, configure the subnet of the virtual area network and the PCRS application link (PCRS App link). In step 542, send the PCRS Utility (labeled as 514). In step 508, if necessary, use PCRS as a client to join the existing access point router. In step 543, send this information to the PCRS Utility (labeled as 516).
[0146] In step 510, from the perspective of the PCRS Utility, the identity authentication (Initialize and Provision, Admin_name, Admin_password, Address_PCRS, Password_PCRS) of the PCRS administrator (PCRS Admin) is accepted. In step 511, the administrator's identity authentication (Admin_name, Admin_password) is verified. In step 541, the identity authentication (Address_PCRS, Password_PCRS) is transmitted to the administrator device (labeled as 506). In step 512, the identity authentication (Address_PCRS, Password_PCRS) is stored as the identity of the PCRS. In step 513, the identity authentication (Address_PCRS, Password_PCRS) is registered to the router server message box. In step 514, the subnet of the virtual area network and the PCRS App link are stored. In step 515, the PCRS_Profile file is generated and saved, which includes the interface protocol, certificate and key. In step 516, if necessary, join the existing access point router as a client.
[0147] Figure 6 The flowchart of the communication of creating a client for PCCBS through PCCBS Admin according to the present invention is illustrated. From the perspective of PCCBS Admin Device 201, first, in step 600, PCCBS_Device_App is opened in the wide area network. In step 601, PCCBS 216 located at Address_PCCBS is detected and selected. In step 602, the "Create a Client" command on PCCBS_Device_App is selected. In step 603, the invitee notification address Address_Invitee is set. In step 604, the administrator's identity authentication (Create a Client, Admin_name, Admin_password, Address_Invitee) is used to log in to PCCBS 216. In step 640, the identity authentication is sent to PCCBS_Device Utility. In step 605, the system administrator 277 waits for PCCBS authentication.
[0148] In step 610, from the perspective of the PCCBS device Utility, first accept the identity authentication of the PCCBS administrator (PCCBSAdmin) (Create a Client, Admin_name, Admin_password, Address_Invitee). In step 611, verify the administrator's identity authentication (Admin_name, Admin_password). In step 641, transmit the identity authentication to the administrator device. In step 612, generate an Access_Code and generate its Code_Expiration. In step 613, store the Access_Code, Code_Expiration, and Address_Invitee in the items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration, Status) of the PCCBS device client database (PCCBS_Device Client database). In step 614, an invitation is sent to the invitee notification address Address_Invitee, which includes PCCBS_Device application link, Address_PCCBS_Device, Access_Code and Code_Expiration. In step 642, it is sent to the invitee (labeled as 620).
[0149] From the perspective of the invitee device, in step 620, the invitation to Address_Invitee, PCCBS_Device app link, Address_PCCBS_Device, Access_Code and Code_Expiration is accepted. In step 621, PCCBS_Device_App is retrieved from PCCBS_Device app link. In step 622, PCCBS_Device_App is installed on the PCCBS device client 201, 209, 210 or 211.
[0150] Figure 7The flowchart of the communication of the PCCBS device client (PCCBS Device Client) registering to the PCCBS according to the present invention is illustrated. From the perspective of the PCCBS device client, in step 700, the PCCBS_Device_App is opened in the wide area network or the PCRS local area network. In step 701, if necessary, the PCCBS device client address (Address_PCCBS_Device_Client) is first created (not shown), and then the "Register a PCCBS (Register a Private Cloud Call-Back Server)" command on the PCCBS_Device_App is selected. In step 702, if the PCCBS device client has not been configured, the Address_PCCBS_Device_Client and Password_PCCBS_Device_Client are set. In addition, in step 702, Password_PCCBS_Device_P2P is a message box password associated with the client message box (not shown) address of Address_PCCBS_Device_Client for peer-to-peer communication, and Address_PCCBS_Device_Client and Password_PCCBS_Device_Client are registered to the client message box. In step 703, Address_PCCBS_Device and Access_Code are retrieved from the invitee. The information is initially received by the invitee device (labeled as 620).
[0151] Next, in step 704, Address_PCCBS_Device, Access_Code and client authentication (Register a Private Cloud Call-Back Server, Address_PCCBS_Device, Address_PCCBS_Device_Client, Access_Code) are sent to PCCBS via the client message box. In step 740, Address_PCCBS_Device and Access_Code are sent to the PCCBS device (labeled as 710). In step 705, the PCCBS device client waits for PCCBS authentication via the client message box. In step 706, the PCCBS device client waits for confirmation of PCCBS registration completion via the client message box. In step 707, if this is a new item, the Address_PCCBS_Device item in the PCCBS device server database (PCCBS_Device Server database) is registered on the PCCBS_Device_App.
[0152] In step 710, from the perspective of PCCBS_Device Utility, the PCCBS device client's authentication is accepted (Register a Private Cloud Call-Back Server, Address_PCCBS_Device, Address_PCCBS_Device_Client and Access_Code). In step 711, verification is performed to check whether Address_PCCBS_Device_Client is in the PCCBS device client database (PCCBS_Device Client database). If so, the PCCBS device client address (Address_PCCBS_Device_Client) and PCCBS device address (Address_PCCBS_Device) specified by the invitee are confirmed (marked as 719) and then returned. If not, the Access_Code is verified (marked as 712); in step 713, the Code_Expiration on the Access_Code is verified in the PCCBS_Device Client database. In step 741, Code_Expiration on Access_Code is sent to the PCCBS device client (labeled as 705). In step 714, Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status are generated with the related Access_Code, Code_Expiration, Address_Invitee and Address_PCCBS_Device_Client. In step 715, the hash value of Password_PCCBS_Device_P2P is saved as Hash_Password_PCCBS_Device_P2P.In step 716, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status are stored in the items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status) of the PCCBS_Device Client database. In step 717, Password_PCCBS_Device_P2P is sent to the invitee notification address Address_Invitee. In step 743, Password_PCCBS_Device_P2P is sent to the invitee (indicated as 720); in step 718, Password_PCCBS_Device_P2P is cleared. At step 719, the PCCBS device client address (Address_PCCBS_Device_Client) and PCCBS device address (Address_PCCBS_Device) specified by the invitee are confirmed. At step 744, the PCCBS device client address specified by the invitee is transmitted to the PCCBS device client (labeled as 706); at step 720, from the perspective of the invitee device, Password_PCCBS_Device_P2P is accepted and saved for future use.
[0153] Figure 8A flow chart illustrating the communication of a PCCBS device client connecting to a PCCBS according to the present invention is shown. From the perspective of the PCCBS device client, in step 800, a PCCBS_VPN_App is opened on a wide area network. In step 801, an Address_PCCBS_VPN is selected from the registered PCCBS VPN database. In step 802, a "Connect to PCCBS_VPN" command is selected on the PCCBS_VPN_App. In step 803, a point-to-point connection request is sent to Address_PCCBS_VPN. In step 840, the point-to-point connection request is sent to the PCCBS_VPN Utility (labeled as 810). In step 804, a point-to-point negotiation is initiated to communicate with the PCCBS_VPN located at Address_PCCBS_VPN using the Address_PCCBS_VPN_Client. In step 841, the PCCBS device client communicates with the PCCBS_VPN Utility (labeled as 811). In step 805, the PCCBS_VPN_Profile is accepted to initiate a smart VPN connection with PCCBS_VPN at Address_PCCBS_VPN. In step 806, a peer-to-peer connection is established between PCCBS_VPN and the device client. In step 843, the PCCBS device client communicates with PCCBS_VPN Utility (labeled as 813). In step 807, the client's identity authentication (Connect to PCCBS_VPN, Address_PCCBS_VPN, Address_PCCBS_VPN_Client and Password_PCCBS_VPN_P2P) is used to log in to PCCBS_VPN. In step 844, the client's identity authentication is sent to PCCBS_VPN Utility (labeled as 814). In step 808, the PCCBS device client waits for verification. In step 809, secure peer-to-peer communication is initiated. In step 846, the PCCBS device client communicates with PCCBS_VPN Utility (labeled as 817). In step 820, the PCCBS device client securely connects to the virtual private area network located at PCCBS_VPN.
[0154] From the perspective of PCCBS_VPN Utility, in step 810, a point-to-point connection request from Address_PCCBS_VPN_Client is accepted. In step 811, point-to-point negotiation begins using Address_PCCBS_VPN to communicate with the PCCBS_VPN Client located at Address_PCCBS_VPN_Client. In step 841, PCCBS_VPN Utility communicates with the PCCBS device client (labeled as 804). In step 812, the PCCBS_VPN_Profile file is sent to Address_PCCBS_VPN_Client to start the smart VPN connection. In step 842, the PCCBS_VPN_Profile file is sent to the PCCBS device client (labeled as 805). In step 813, a point-to-point connection between PCCBS_VPN and the device client is established. In step 843, PCCBS_VPN Utility communicates with the PCCBS device client (labeled as 806). In step 814, the PCCBS_VPN client's authentication is accepted (Connect to PCCBS_VPN, Address_PCCBS_VPN, Address_PCCBS_VPN_Client, and Password_PCCBS_VPN_P2P). In step 815, a list of items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_VPN_Client, Hash_Password_PCCBS_VPN_P2P, Password_PCCBS_VPN_P2P_Expiration, and Status) for Address_PCCBS_VPN_Client based on the PCCBS_VPN Client database is retrieved. In step 816, the existing peer-to-peer (P2P) password is verified by checking whether the hash value matches the Hash_Password_PCCBS_VPN_P2P item of Address_PCCBS_VPN_Client based on the PCCBS_VPN Client database. In step 845, the existing peer-to-peer (P2P) password is sent to the PCCBS device client (labeled as 808). In step 817, secure peer-to-peer communication is initiated. In step 846, PCCBS_VPN Utility communicates with the PCCBS device client (labeled as 809). In step 818, PCCBS_VPN Utility calls back to PCRS and initiates peer-to-peer communication with PCRS.In step 847, the PCCBS device client securely connects to the virtual private area network (labeled as 820) on the PCRS. In step 819, the PCCBS_VPN Utility establishes a point-to-point communication channel between the PCRS device client and the PCCBS device client or another PCCBS device client. In step 848, the PCCBS device client begins to connect to the PCRS device client or another PCCBS device client (labeled as 821).
[0155] Fig. 9 A flowchart of a PCCBS administrator viewing the communication of a PCCBS client according to the present invention is illustrated. From the perspective of the administrator device, in step 900, PCCBS_Device_App is opened on the wide area network. In step 901, an Address_PCCBS_Device is selected from the registered PCCBS device database (PCCBS_Device database). In step 902, the "View PCCBS_Device Client" command is selected on the PCCBS_Device_App. In step 903, a viewing item of the PCCBS device client database (PCCBS_Device Client database) is selected as a search index. In step 904, the administrator's identity authentication (ViewPCCBS_Device Client, Admin_name, Admin_password and View entry) is used to log in to PCCBS. In step 940, the identity authentication is transmitted to PCCBS_Device Utility (labeled as 910). In step 905, the administrator device waits for PCCBS verification. In step 906, a list of items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status) of the PCCBS_Device Client database is displayed based on the lookup index.
[0156] In step 910, from the perspective of PCCBS_Device Utility, the identity authentication of the PCCBS_Device client is accepted (View PCCBS_Device Client, Admin_name, Admin_password and View entry). In step 911, the identity authentication of the administrator (Admin_name, Admin_password) is verified. In step 941, the identity authentication of the administrator is transmitted to the administrator device (labeled as 905). In step 912, the viewed item is used as the reference index to reply from the item list of PCCBS_Device Client database (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status) based on the reference index. In step 942, the reply is transmitted to the administrator device (labeled as 906).
[0157] Fig.10The flowchart of the communication of the PCCBS administrator to reset the peer-to-peer password and edit the attributes for the PCCBS device user terminal according to the present invention is illustrated. From the perspective of the administrator device, in step 1000, PCCBS_Device_App is opened on the wide area network. In step 1001, an Address_PCCBS_Device is selected from the registered PCCBS device database (PCCBS_Device database). In step 1002, the "Reset P2P Password" or "Edit Attributes" command is selected in the PCCBS_Device_App. In step 1003, the invitee notification address Address_Invitee is entered as a search index. In step 1004, the administrator's identity authentication (Reset P2PPassword / Edit Attributes, Admin_name, Admin_password and Address_Invitee) is used to log in to PCCBS. In step 1040, the administrator's identity authentication is transmitted to PCCBS_Device Utility (labeled as 1010). In step 1005, the administrator device waits for PCCBS device authentication. In step 1006, Address_Invitee based on the PCCBS device client database (PCCBS_Device Client database) displays a list of items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status). In step 1007, if the "Reset peer-to-peer password" command is selected, the administrator device waits for completion. In step 1008, if the "Edit properties" command is selected, the properties are edited as needed. Among them, the properties include the status of the PCCBS device client (Active, Inactive, Deleted), the subnet of the virtual local area network and the PPCBS_App link, but are not limited to this. In step 1044, the properties are transmitted to PCCBS_Device Utility (labeled as 1017).
[0158] From the perspective of PCCBS_Device Utility, in step 1010, the PCCBS administrator's identity verification (P2P Password / Edit Properties, Admin_name, Admin_password, and Address_Invitee) is accepted. In step 1011, the administrator's identity verification (Admin_name, Admin_password) is verified. In step 1041, the PCCBS administrator's identity verification is transmitted to the administrator device (labeled as 1005). In step 1012, Address_Invitee is used as the reference index to respond based on the list of items in Address_Invite in the PCCBS_Device Client database (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration, and Status). In step 1042, the reply is sent to PCCBS_Device Utility (labeled as 1006). In step 1013, if the "Reset Peer-to-Peer Password" command is selected. In step 1014, a new Password_PCCBS_Device_P2P is generated, and the hash value of Password_PCCBS_Device_P2P located at Hash_Password_PCCBS_Device_P2P is saved. In step 1043, the new Password_PCCBS_Device_P2P is sent to the administrator device (labeled as 1007). In step 1015, Access_Code and Password_PCCBS_Device_P2P are sent to the invitee notification address Address_Invitee, and Password_PCCBS_Device_P2P is cleared. In step 1045, the Access_Code, Password_PCCBS_Device_P2P is sent to the invitee (indicated as 1020). In step 1016, if the "Edit Properties" command is selected, in step 1017, the edited properties are accepted and stored in the PCCBS device (PCCBS_Device).
[0159] From the perspective of the invitee device, in step 1020, the invitee notifies the address Address_Invitee to accept the Access_Code and Password_PCCBS_Device_P2P.
[0160] Fig.11 The flowchart of the communication of modifying the point-to-point password of the PCCBS device client according to the present invention is illustrated. From the perspective of the PCCBS device client, in step 1100, after establishing a secure VPN connection from the wide area network, the PCCBS_Device_App is opened in the wide area network. In step 1101, an Address_PCCBS_Device is selected from the registered PCCBS device database. In step 1102, the "Change P2P Password" command is selected in the PCCBS_Device_App. In step 1103, the client's identity authentication (Change P2P Password, Address_PCCBS_Device, Address_PCCBS_Device_Client and Password_PCCBS_Device_P2P) is used to log in to the PCCBS. At step 1140, the client's identity verification is sent to PCCBS_Device Utility (labeled 1110). At step 1104, the PCCBS device client waits for PCCBS device verification. At step 1105, a new peer-to-peer password is entered and re-entered until they match. At step 1142, the new password is sent to PCCBS_Device Utility (labeled 1113).
[0161] From the perspective of PCCBS_Device Utility, in step 1110, the PCCBS device client's identity verification (Change P2P Password, Address_PCCBS_Device, Address_PCCBS_Device_Client and Password_PCCBS_Device_P2P) is accepted. In step 1111, the Hash_Password_PCCBS_Device_P2P item is retrieved based on the Address_PCCBS_Device_Client in the PCCBS_DeviceClient database. In step 1112, the existing peer-to-peer password is verified by checking whether the hash value matches the Hash_Password_PCCBS_Device_P2P items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status) of the Address_PCCBS_Device_Client based on the PCCBS_Device Client database. In step 1141, the existing peer-to-peer password is sent to the PCCBS DeviceClient (labeled as 1104). In step 1113, the new peer-to-peer password Password_PCCBS_Device_P2P is accepted. In step 1114, the new peer-to-peer password is hashed into Hash_Password_PCCBS_Device_P2P. In step 1115, Hash_Password_PCCBS_Device_P2P is updated based on Address_PCCBS_Device_Client (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status) of the PCCBS_Device Client database, and the point-to-point password Password_PCCBS_Device_P2P is cleared.
[0162] Fig.12The flowchart of the communication of the peer-to-peer connection mechanism between the device client 1 and the device client 2 on a cloud Internet (prior art) is illustrated. The device client 1 and the device client 2 on the cloud network can communicate with each other through a public routing server 112 or a public VPN routing server 114. First, the application of the device client 1 (Device Client 1 App) (labeled as 1201) uses its IP address and communication port performance in the transmission control protocol (TCP) / user datagram protocol (UDP) to register with the public VPN routing server utility (Public VPN Routing Server Utility) (labeled as 1200), and the device client 1 App, IP address and communication port remain active with the routing server (labeled as 1203).Next, the application program (Device Client 1 App) (labeled as 1201) of the device client 1 requests the PublicVPN Routing Server Utility 1200 to connect to the device client 2 (labeled as 1204); the PublicVPNRouting Server Utility (labeled as 1200) notifies the device client 2 of the IP address and communication port performance of the TCP / UDP protocol of the device client 1 and its connection intention (labeled as 1205); the application program (DeviceClient2 App) (labeled as 1202) of the device client 2 replies to the PublicVPN Routing Server Utility (labeled as 1200) with its registration, wherein the registration includes the IP address and communication port performance of the TCP / UDP protocol, and the IP address and communication port performance of the device client 2 are kept active by connecting to the PublicVPN Routing Server Utility (labeled as 1200) (labeled as 1206); the PublicVPN Routing Server Utility (labeled as 1200) responds the IP address and communication port performance of device client 2 in TCP / UDP protocol to device client 1 (labeled as 1207); after device client 1 receives the IP address and communication port performance of device client 2 in TCP / UDP protocol, Device Client 1 App (labeled as 1201) starts to punch holes through the firewall of device client 2 (labeled as 1208); Device Client 2 App (labeled as 1202) also starts to punch holes through the firewall of device client 1 (labeled as 1209); finally, both sides of the firewall are punched, and point-to-point communication between device client 1 and device client 2 begins (labeled as 1210). It should be noted that if there is no Public VPN Routing Server, there will be no connection mechanism between Routing Server Utility and device client 1 or device client 2, and the basic process of the connection mechanism must rely on Public VPN Routing Server.
[0163] Fig.13 Flow chart illustrating the communication between PCRS and PCCBS via a cloud Internet (prior art) using a point-to-point connection mechanism. Fig.13As shown, according to the present invention, the device client through the cloud network does not need a public VPN routing server (Public VPN Routing Server) to connect to and access another device client or the network service under the server. The device client 1 and the PCCBS on the cloud network can communicate with each other without going through a public routing server 112 or a public VPN routing server 114. The application program (Device Client 1 App) (labeled as 1301) of the device client 1 requests to connect to the PCRS Utility (server part) (labeled as 1300) through the client message box 215, and as Figure 8As shown, PCRS Utility has the capability to set IP address and communication port in TCP / UDP protocol. PCRSDevice Client1 App, Internet protocol address and communication port remain active with PCRS Utility (labeled as 1303); PCRS Utility (server part) receives registration through the call back server message box (not shown); through the client message box 215, PCRS device client 1 requests PCRS Utility (server part) to connect to PCRS Utility (client part) (labeled as 1304); PCRS Utility (server part) 1300 receives the request through the call back server message box (not shown), and notifies PCRS Utility (client part) of the IP address and communication port performance of PCRS device client 1 in TCP / UDP protocol and its connection intention (labeled as 1302) at 1305; PCRS Utility (client part) (labeled as 1302) replies to PCRS Utility (server part) (labeled as 1300) with its registration, wherein the registration includes the IP address and communication port performance of TCP / UDP protocol. The IP address and communication port capabilities of Device Client 2 are kept active through the connection with PCRS Utility (server part) (labeled as 1300). PCRS Utility (server part) (labeled as 1300) responds the IP address and communication port capabilities of Device Client 2 in TCP / UDP protocol to Device Client1 App (labeled as 1301) by calling back the server message box (not shown). After receiving the IP address and communication port capabilities of PCRS Utility (client part) in TCP / UDP protocol through the client message box 215, PCRS Device Client1 App (labeled as 1301) begins to punch a hole through the firewall of PCRS Utility (client part) (labeled as 1308). PCRS Utility (client part) (labeled as 1302) also begins to punch holes through the firewall of PCRS Device Client1 (labeled as 1309); finally, both sides of the firewall are punched, and PCRS Utility (client part) and PCRS Utility (client part) begin point-to-point communication (labeled as 1310). All information exchanges between PCRS Utility and PCRS Device Client1 are through the callback server message box (not shown), rather than through a public routing server 212 or a public VPN routing server 214.As shown in step 820, PCRS Device Client1 can securely connect to the virtual private area network on PCRS. PCRS Device Client1 can access any device client 206 or private network service 228 accessible under PCRS. Fig.13 As shown, other PCRS Device Client1 (not 201, 221, 209, 210 and 211) can be connected to PCRS through the same connection mechanism. Once any pair of PCRS device clients (PCRS Device Clients) and PCCBS device clients (PCCBS Device Clients) are connected to the virtual private area network 240, 2400 of PCRS and PCCBS, private and secure communication for text, voice and video can be carried out between each other.
[0164] Fig.14 The flowchart of the communication of the point-to-point connection mechanism between PCRS, PCCBS, PCRS device clients and PCCBS device clients through a cloud Internet is illustrated. According to the present invention, the device clients through the cloud network do not need a public cloud routing server to connect and access to the PCCBS, PCCBS, another device client or another network service under the server. Fig.14 As described above, the device client 1 and the PCRS on the cloud network can communicate with each other without going through a public routing server 112 or a public VPN routing server 114. Figure 5 and Fig.14 As described in the code 0 (labeled as 1400), first, PCCBS (labeled as 1428) is initialized and prepared through PCRS Device Utility (labeled as 1421) and PCCBS Administrator Device (labeled as 1420). Afterwards, PCRS Utility (labeled as 1421) transmits the internal message of PCCBS (labeled as 1428) to PCRS_VPN Utility (labeled as 1422). Next, please refer to Fig.14 Code 1 (marked as 1401) and Fig.15 , register PCCBS registration information to PCCBS VPN Utility (labeled as 1423), which includes the IP address and communication port performance of TCP / UDP protocol. Fig.16As shown, a PCCBS tuple and a communication socket (labeled 1600) are also established. Through the connection with PCCBSUtility (labeled 1401), the IP address and communication port performance of the device client 2 remain active. After registration, PCRS_VPN Utility connects to PCCBS_VPN (labeled 1602) and establishes a point-to-point communication channel between PCRS_VPN and PCCBS_VPN (labeled 1619). PCCBS_VPN Utility (labeled 1423) communicates with PCCBS_Device Utility (labeled 1424) through messages within PCCBS (labeled 1427). Please refer to Fig.14 In code 2 (labeled as 1402), PCCBS_Device Utility remains in a loop and waits for the request of the PCCBS device client. Figure 7 As shown, first, PCCBS Device Client1 (labeled as 1405) uses the IP address and communication port performance of the TCP / UDP protocol to register with PCCBS_Device Utility (labeled as 1424); through PCCBS_Device Utility (labeled as 1424), PCCBS Device Client1, IP address and communication port remain active (see Figure 7 and Fig.14 The PCCBS_Device Utility (labeled as 1424) transmits the registration and connection request from within the PCCBS (labeled as 1427) to the PCCBS_VPN Utility (labeled as 1423). Figure 8 As shown, after registration, PCCBSDevice Client1 (labeled as 1425) connects to PCCBS_VPN (see Figure 8 Step 802), and in PCCBS DeviceClient1 (labeled as 1424) and PCCBS_VPN (see Figure 8 Step 817) establishes a point-to-point communication channel between them. Fig.14 Code 5 (marked as 1405), Code 7 (marked as 1407) and Figure 8In step 818, PCCBS_VPN Utility (labeled as 1423) calls back to PCRS_VPN Utility (labeled as 1422) to establish a point-to-point communication channel between PCCBS_VPN Utility (labeled as 1423) and PCRS_VPN Utility (labeled as 1422). When the call back action from PCCBS_VPN Utility (labeled as 1423) to PCRS_VPN Utility (labeled as 1422) is successful, a point-to-point communication channel is finally established between PCCBS_DeviceClient1 and PCRS_VPN, and then connected to PCRS Device Client2 (labeled as 1426), or another PCCBS device client 3 (PCCBS Device Client3) (labeled as 1401), assuming that PCCBS_VPN Utility (labeled as 1423) is also successfully connected to PCCBS_VPN Utility (labeled as 1423). Fig.17 This example illustrates the callback action from PCCBS_VPNUtility to PCRS_VPN (see Figure 8 Step 818).
[0165] Fig.15 The flowchart of the communication of PCRS registering to PCCBS according to the present invention is illustrated. From the perspective of PCRS, in step 1500, a PCCBS tuple and a communication interface are established. If necessary (not shown), a PCCBS device client address (Address_PCCBS_Device_Client) is created. Then, in step 1501, a "Register a PCCBS (Register aPrivate Cloud Call-Back Server)" command is issued. In step 1502, if PCCBS_DeviceClient has not been configured, Address_PCCBS_Device_Client and Password_PCCBS_Device_Client are configured. Among them, Password_PCCBS_Device_P2P is a message box password associated with the message box (not shown) address of the client, and its message box address is used for point-to-point communication of Address_PCCBS_Device_Client. At step 1502, Address_PCCBS_Device_Client and Password_PCCBS_Device_Client are registered to the client message box. At step 1503, Address_PCCBS_Device and Access_Code are retrieved from the invitee. The information is initially received via the invitee device 620.
[0166] In step 1504, Address_PCCBS_Device, Access_Code and client authentication (Register a Private Cloud Call-Back Server, Address_PCCBS_Device, Address_PCCBS_Device_Client and Access_Code) are sent to PCCBS via the client message box. In step 1540, Address_PCCBS_Device and Access_Code are sent to PCCBS (labeled as 1510). In step 1505, the PCRS waits for the verification of the PCCBS via the client message box. In step 1506, the PCRS waits for the confirmation of the registration completion of the PCCBS via the client message box. In step 1507, if it is a new project, the Address_PCCBS_Device project in the PCCBS device server database (PCCBS_Device Server database) is registered on the PCCBS_Device_App.
[0167] From the perspective of PCCBS_Device Utility, in step 1510, the authentication of the PCCBS device client (PCCBS_Device Client) is received (Register a Private Cloud Call-Back Server, Address_PCCBS_Device, Address_PCCBS_Device_Client and Access_Code). In step 1512, verification is performed to check whether Address_PCCBS_Device_Client is in the PCCBS device client database (PCCBS_Device Client database). If so, the PCCBS device client address (Address_PCCBS_Device_Client) and PCCBS device address (Address_PCCBS_Device) specified by the invitee are confirmed (marked as 1519) and then returned. If not, the Access_Code is verified (marked as 1512); in step 1513, the Code_Expiration on the Access_Code is verified in the PCCBS_Device Client database. At step 1541, Code_Expiration on Access_Code is sent to the PCCBS device client (labeled as 1505). At step 1514, Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status are generated with the related Access_Code, Code_Expiration, Address_Invitee and Address_PCCBS_Device_Client. At step 1515, the hash value of Password_PCCBS_Device_P2P is saved as Hash_Password_PCCBS_Device_P2P.In step 1516, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status are stored in the PCCBS_Device Client database items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_Device_Client, Hash_Password_PCCBS_Device_P2P, Password_PCCBS_Device_P2P_Expiration and Status). In step 1517, Password_PCCBS_Device_P2P is sent to the PCRS message box. In step 1518, Password_PCCBS_Device_P2P is cleared. At step 1519, the PCCBS device client address (Address_PCCBS_Device_Client) and PCCBS device address (Address_PCCBS_Device) specified by the invitee are confirmed. At step 1544, the PCCBS device client address specified by the invitee is transmitted to the PCCBS device client (labeled as 1506). At step 1520, from the perspective of the invitee device, Password_PCCBS_Device_P2P is accepted and saved for future use.
[0168] Fig.16A flow chart illustrating the communication of the PCRS to the PCCBS according to the present invention. From the perspective of the PCRS, in step 1600, a PCCBS tuple and a communication interface are established. In step 1601, an Address_PCCBS_VPN is selected from the registered PCCBS VPN database (PCCBS_VPN database). In step 1602, the "Connect to PCCBS_VPN" command is selected in the PCCBS_VPN_App. In step 1603, a point-to-point connection request is sent to Address_PCCBS_VPN. In step 1640, the point-to-point connection request is sent to the PCCBS_VPN Utility (labeled as 1610). The point-to-point negotiation begins using the Address_PCCBS_VPN_Client to communicate with the PCCBS_VPN located at Address_PCCBS_VPN. In step 1641, the PCCBS_VPN communicates with the PCCBS_VPN Utility (labeled as 1611). In step 1605, the PCCBS_VPN_Profile is accepted to initiate a smart VPN connection with PCCBS_VPN at Address_PCCBS_VPN. In step 1606, a point-to-point connection is established between PCCBS_VPN and the device client. In step 1643, PCCBS_VPN communicates with PCCBS_VPN Utility (labeled as 1613). In step 1607, PCCBS_VPN is logged in using the client's authentication (Connect to PCCBS_VPN, Address_PCCBS_VPN, Address_PCCBS_VPN_Client and Password_PCCBS_VPN_P2P). In step 1644, the client's authentication is sent to PCCBS_VPNUtility (labeled as 1614). In step 1608, PCCBS_VPN waits for verification. In step 1609, secure point-to-point communication begins. At step 1646, PCCBS_VPN communicates with PCCBS_VPN Utility (labeled as 1617). At step 1620, PCCBS_VPN securely connects to the virtual private area network located at PCCBS_VPN.
[0169] From the perspective of PCCBS_VPN Utility, in step 1610, a point-to-point connection request from Address_PCCBS_VPN_Client is accepted. In step 1611, point-to-point negotiation begins using Address_PCCBS_VPN to communicate with the PCCBS_VPN Client located at Address_PCCBS_VPN_Client. In step 1641, PCCBS_VPN Utility communicates with PCRS_VPN (labeled as 1604). In step 1612, the PCCBS_VPN_Profile file is sent to Address_PCCBS_VPN_Client to start the smart VPN connection. In step 1642, the PCCBS_VPN_Profile file is sent to PCRS_VPN (labeled as 1605). In step 1613, a point-to-point connection between PCCBS_VPN and the device client is established. In step 1643, PCCBS_VPN Utility communicates with PCCBS_VPN (labeled as 1606). In step 1614, the PCCBS_VPN client's authentication is accepted (Connect to PCCBS_VPN, Address_PCCBS_VPN, Address_PCCBS_VPN_Client, and Password_PCCBS_VPN_P2P). In step 1615, a list of items (Access_Code, Code_Expiration, Address_Invitee, Address_PCCBS_VPN_Client, Hash_Password_PCCBS_VPN_P2P, Password_PCCBS_VPN_P2P_Expiration, and Status) for Address_PCCBS_VPN_Client based on the PCCBS_VPN Client database is retrieved. In step 1616, the existing peer-to-peer (P2P) password is verified by checking whether the hash value matches the Hash_Password_PCCBS_VPN_P2P item of Address_PCCBS_VPN_Client based on the PCCBS_VPN Client database. At step 1645, the existing peer-to-peer (P2P) password is sent to PCRS_VPN (labeled as 1608). At step 1617, secure peer-to-peer communication is initiated. At step 1646, PCCBS_VPN Utility communicates with PCRS_VPN (labeled as 1609).In step 1619, PCCBS_VPN Utility establishes a point-to-point communication channel between PCRS_VPN and PCCBS_VPN. In step 1645, PCRS_VPN starts connecting to PCCBS_VPN (indicated as 1621).
[0170] Fig.17A flow chart illustrating the communication of PCCBS calling back to PCRS according to the present invention is illustrated. From the perspective of PCCBS, in step 1700, a PCCBS tuple and communication interface are established. In step 1701, an Address_PCRS_VPN is selected from the registered PCRS VPN database (PCRS_VPN database). In step 1702, the "Connect to PCRS_VPN" command is selected in the PCRS_VPN_App. In step 1703, a point-to-point connection request is sent to Address_PCRS_VPN. In step 1740, the point-to-point connection request is sent to PCRS_VPN Utility (labeled as 1710). Point-to-point negotiation begins using Address_PCRS_VPN_Client to communicate with the PCRS_VPN located at Address_PCRS_VPN. In step 1741, PCRS_VPN communicates with PCRS_VPN Utility (labeled as 1711). In step 1705, the PCRS_VPN_Profile is accepted to initiate a smart VPN connection with PCRS_VPN at Address_PCRS_VPN. In step 1706, a peer-to-peer connection is established between PCRS_VPN and the device client. In step 1743, PCRS_VPN communicates with PCRS_VPNUtility (labeled 1713). In step 1707, PCCBS_VPN is logged in using the client's authentication (Connect to PCRS_VPN, Address_PCRS_VPN, Address_PCRS_VPN_Client, and Password_PCRS_VPN_P2P). In step 1744, the client's authentication is sent to PCRS_VPN Utility (labeled 1714). In step 1708, PCRS_VPN waits for verification. In step 1709, secure peer-to-peer communication is initiated. In step 1746, PCRS_VPN communicates with PCRS_VPN Utility (labeled 1717). PCCBS_VPN Utility establishes a point-to-point connection channel between PCRS_VPN and PCCBS_VPN (indicated as 1719). In step 1721, PCCBS establishes a point-to-point connection channel between PCCBS_VPN Device Client and PCRS Device Client or another PCCBS_VPN Device Client.
[0171] From the perspective of PCRS_VPN Utility, in step 1710, a point-to-point connection request from Address_PCRS_VPN_Client is accepted. In step 1711, point-to-point negotiation begins using Address_PCRS_VPN to communicate with the PCRS_VPN Client located at Address_PCRS_VPN_Client. In step 1741, PCRS_VPN Utility communicates with PCRS_VPN (labeled as 1704). In step 1712, the PCRBS_VPN_Profile file is sent to Address_PCRS_VPN_Client to start the smart VPN connection. In step 1742, the PCRS_VPN_Profile file is sent to PCRS_VPN (labeled as 1705). In step 1713, a point-to-point connection between PCRS_VPN and the device client is established. In step 1743, PCRS_VPN Utility communicates with PCRS_VPN (labeled as 1706). In step 1714, the PCRS_VPN client's authentication is accepted (Connect to PCRS_VPN, Address_PCRS_VPN, Address_PCRS_VPN_Client, and Password_PCRS_VPN_P2P). In step 1715, a list of items (Access_Code, Code_Expiration, Address_Invitee, Address_PCRS_VPN_Client, Hash_Password_PCRS_VPN_P2P, Password_PCRS_VPN_P2P_Expiration, and Status) for the Address_PCRS_VPN_Client based on the PCCBS VPN Client database is retrieved. In step 1716, the existing peer-to-peer (P2P) password is verified by checking whether the hash value matches the Hash_Password_PCRS_VPN_P2P item for the Address_PCRS_VPN_Client based on the PCRS_VPN Client database. In step 1745, the existing peer-to-peer (P2P) password is sent to PCRS_VPN (labeled as 1708). In step 1717, secure peer-to-peer communication is initiated. In step 1746, PCCBS_VPN Utility communicates with PCRS_VPN (labeled as 1709). PCCBS_VPN Utility establishes a peer-to-peer communication channel (labeled as 1709) between PCRS_VPN and PCCBS_VPN.In step 1748, PCRS establishes a point-to-point connection channel (labeled as 1721) between PCCBS_VPNDevice Client and PCRS Device Client or another PCCBS_VPN Device Client.
[0172] Although the present invention has been described according to the above embodiments, those skilled in the art can easily understand that these embodiments can have more changes, and these changes do not deviate from the basic spirit of the present invention. Accordingly, those skilled in the art can make more changes to the embodiments of the present invention without departing from the scope of the patent application.
Claims
1. A method for use with a public cloud network, the method comprising: In a client-server relationship, at least one private cloud routing server, at least one private cloud callback server and at least one smart device client are set; wherein the at least one private cloud routing server comprises a first message box associated with the at least one private cloud routing server, and the first message box is located in the public cloud network; wherein the at least one smart device client comprises a second message box associated with the at least one smart device client, and the second message box is located in the public cloud network; and wherein the at least one private cloud call back server hosts the first message box and the second message box on the public cloud network; Transmitting a conversation message between the first message box and the second message box using a secure method; wherein a secure session message connection mechanism hosted by the at least one private cloud call back server located between the at least one private cloud routing server and the at least one smart device client comprises: initializing and preparing the at least one private cloud routing server and the at least one private cloud call back server, creating a private cloud call back server client, viewing the private cloud call back server client, editing a private cloud call back server point-to-point password and a status of the private cloud call back server, modifying the private cloud call back server point-to-point password through the at least one smart device client, and connecting to the at least one private cloud routing server through the at least one smart device client; wherein the conversation message is verified by the at least one private cloud call back server and the at least one smart device client; In response to the conversation message being verified, the at least one smart device client communicates with the at least one private cloud callback server; wherein according to the verified conversation message, the at least one smart device client securely accesses a private network service through the public cloud network; Setting at least one private cloud callback server, wherein the at least one private cloud callback server is in a client-server relationship with at least one private cloud routing server; wherein in response to the session message being verified, the at least one private cloud callback server communicates with the at least one private cloud routing server; wherein the at least one private cloud callback server and the at least one private cloud routing server privately and securely communicate with each other via the public cloud network; Setting the at least one smart device client, the at least one smart device client and the at least one private cloud callback server are in a client-server relationship; and Setting at least one other smart device client, the at least one other smart device client being in a client-server relationship with the at least one private cloud routing server; In response to the session message being verified, the at least one smart device client and the at least one other smart device client communicate with the at least one private cloud callback server and the at least one private cloud routing server; and The at least one smart device client and the at least one other smart device client communicate with each other privately and securely through the public cloud network.
2. The method of claim 1, wherein the at least one private cloud callback server comprises: a computing device; a connection to a network; and A program executes instructions stored in a storage device to cause the at least one private cloud callback server to perform the following actions: Creating and managing a verified client list to accommodate a plurality of smart device clients; Sending a conversation invitation to the second message box; Retrieving a session access request of the at least one smart device client from the first message box; as well as Send a meeting confirmation to the second message box.
3. The method according to claim 2, wherein the program further executes instructions stored in the memory to cause the at least one private cloud callback server to perform the following actions: Sending a communication request to the at least one smart device client; Sending a communication request to the at least one private cloud routing server; Binding the network connection between the at least one private cloud callback server and the at least one private cloud routing server; Routing a new incoming request from the at least one smart device client on the at least one private cloud callback server side to the at least one private cloud routing server; Establishing a secure peer-to-peer communication with the at least one smart device client on the side of the at least one private cloud callback server; Enabling access to the at least one private network service from the at least one smart device client on the at least one private cloud routing server side; Calling back to the at least one private cloud routing server according to the request of the smart device client to connect to the at least one other smart device client, the at least one private cloud routing server can reach the at least one other smart device client in a virtual private network of the at least one private cloud routing server; as well as Private and secure communication is enabled between the at least one smart device client on the side of the at least one private cloud callback server and the at least one other smart device client on the side of the at least one private cloud routing server.
4. The method according to claim 2, wherein the at least one smart device client on the side of the at least one private cloud call back server comprises: a computing device; and A connection to a network through a router; The router has a program that executes instructions stored in a memory to enable the at least one smart device client to perform the following actions: Retrieving a conversation invitation from the at least one smart device client message box; Sending a session access request to the at least one private cloud routing server message box; Retrieving a conversation confirmation from the at least one smart device client message box; Sending a communication request to the at least one private cloud callback server; Sending a communication request to the at least one smart device client; Binding the network connection between the at least one private cloud callback server and the at least one smart device client; Routing an incoming request from the at least one private cloud callback server to the at least one smart device client; Establishing a secure peer-to-peer communication with the at least one private cloud callback server; Accessing the at least one private network service through the at least one private cloud callback server; and The at least one private cloud routing server communicates with at least one other smart device client on the side of the at least one private cloud routing server.
5. The method according to claim 2, wherein the at least one smart device client on the side of the at least one private cloud routing server comprises: a computing device; a connection to a network via wired or wireless; and A program executes instructions stored in the memory to cause the at least one smart device client to perform the following actions: Retrieving a conversation invitation from the at least one smart device client message box; Sending a session reply to the at least one private cloud routing server message box; Retrieving a conversation confirmation from the at least one smart device client message box; Sending an access request to the at least one private cloud callback server; Waiting for a response from the at least one private cloud routing server; Binding the network connection between the at least one private cloud routing server and the at least one smart device client; Routing an incoming request from the at least one private cloud routing server to the at least one smart device client; Establishing a secure peer-to-peer communication with the at least one private cloud routing server; Accessing the at least one private network service through the at least one private cloud routing server; and The at least one private cloud callback server communicates with the at least one other smart device client on the at least one private cloud callback server side.
6. The method of claim 4, wherein the program further: Accessing the at least one private cloud routing server anytime and anywhere; Accessing the at least one private cloud routing server located behind a firewall with a fixed or a floating Internet Protocol address; The at least one smart device client on the side of the at least one private cloud callback server does not require a public cloud routing server in a wide area network, does not require an additional router setting in a local area network, and establishes a secure point-to-point communication channel with the at least one private cloud routing server; Accessing a private network service through the at least one private cloud callback server and the at least one private cloud routing server; and Communicate with at least one other smart device client on the side of the at least one private cloud routing server through the at least one private cloud routing server.
7. The method according to claim 5, wherein the program further comprises: Accessing the at least one private cloud routing server anytime and anywhere; Accessing the at least one private cloud routing server located behind a firewall with a fixed or a floating Internet Protocol address; The at least one smart device client does not require a public cloud routing server in a wide area network, does not require an additional router setting in a local area network, and establishes a secure point-to-point communication with the server; Accessing private network services through the at least one private cloud routing server; and Communicate with the at least one other smart device client through the at least one private cloud routing server.
8. The method of claim 4, wherein the program further comprises: Accessing the at least one private cloud routing server anytime and anywhere; Accessing the at least one private cloud routing server located behind a firewall with a fixed or a floating Internet Protocol address; The at least one smart device client does not require a public cloud routing server in a wide area network, does not require an additional router configuration in a local area network, and establishes a secure point-to-point communication channel with the at least one private cloud routing server; Mapping a regional physical input and output to a virtual private cloud routing server input and output; Accessing a private network service through the at least one private cloud routing server; and Communicate with at least one other smart device client through the at least one private cloud routing server.
9. The method according to claim 5, wherein the program further comprises: Accessing the at least one private cloud routing server anytime and anywhere; Accessing the at least one private cloud routing server located behind a firewall with a fixed or a floating Internet Protocol address; The at least one smart device client does not require a public cloud routing server in a wide area network, does not require an additional router configuration in a local area network, and establishes a secure point-to-point communication with the server; Mapping a local physical input and output to a virtual server input and output; Accessing private network services through the at least one private cloud routing server; as well as Communicate with the at least one other smart device client through the at least one private cloud routing server.
10. The method of claim 1, wherein the at least one private cloud routing server comprises: a computing device; a connection to a network; and A program executes instructions stored in a memory to cause the at least one private cloud routing server to perform the following actions: Creating and managing a verified client list to accommodate a plurality of smart device clients; Sending a conversation invitation to the second message box; Retrieving a session access request of the at least one smart device client from the first message box; as well as Send a meeting confirmation to the second message box.
11. The method of claim 10, wherein the program further executes instructions stored in the memory to cause the at least one private cloud routing server to perform the following actions: Sending a communication request to the at least one smart device client; Sending a communication request to the at least one private cloud routing server; Binding the at least one private cloud routing server and the network connection between the at least one private cloud routing server; Routing a new incoming request from the at least one smart device client on the at least one private cloud routing server side to the at least one private cloud routing server; Establishing a secure point-to-point communication with the at least one smart device client on the at least one private cloud routing server side; enabling access to the at least one private network service from the at least one smart device client on the at least one private cloud routing server side; and Private and secure communication is enabled between the at least one smart device client on the side of the at least one private cloud callback server and the at least one other smart device client on the side of the at least one private cloud routing server.
12. A method for providing a secure conversation message connection mechanism between a private cloud call back server and at least one smart device client in a private cloud call back server network, the method comprising: Initializing and preparing the private cloud callback server; Create a private cloud callback server client; View the private cloud callback server client; Editing a private cloud call back server peer-to-peer password and a status of the private cloud call back server; Modifying the point-to-point password of the private cloud callback server through the at least one smart device client; Resetting the private cloud call back server peer-to-peer password and the status from a private cloud call back server local area network by a system administrator; and The at least one smart device client is connected to the private cloud callback server.
13. A method for a communication process of a connection mechanism, wherein the connection mechanism is between at least one private cloud callback server device client and at least one private cloud routing server device client through a cloud network, the method comprising: Requesting, through at least one private cloud callback server device client application, to connect to a server-side utility of a private cloud callback server via a client message box, wherein the server-side utility of the private cloud callback server receives a registration via a routing server message box; registering to the private cloud routing server utility through the at least one private cloud routing server device client; The client-side portion utility program is registered to the private cloud callback server through the private cloud routing server utility program; receiving a request from a server-part utility program of the private cloud callback server through a client-part utility program of the private cloud callback server; Calling back to the private cloud routing server utility through the client-side utility of the private cloud callback server with a connection intention; sending a communication request from the private cloud routing server utility to the at least one private cloud routing server device client; as well as Initiate a point-to-point communication, wherein the point-to-point communication is from the client of the private cloud callback server device to the client-side utility program of the private cloud callback server, then to the server-side utility program of the private cloud callback server, then to the client-side utility program of the private cloud callback server, then to the private cloud routing server utility program, and finally to the client of the private cloud routing server device.
14. The method according to claim 13, wherein the call back server message box or the client message box is hosted on one of an email server, a text message server, a web server, or a server configured to host a secure message for information exchange between the private cloud call back server and the private cloud call back server device client; wherein the call back server message box or the client message box is accessible and under the secure and private control of the private cloud call back server or the private cloud call back server device client; and When the call back server message box or the client message box stops, it can be immediately replaced or redeployed without endangering the communication between the private cloud call back server and the private cloud call back server device client in the cloud network.
15. The method according to claim 13, further comprising providing a secure session message connection mechanism between a private cloud routing server and at least one smart device client in a private cloud routing server network, wherein the secure session message connection mechanism comprises: Initializing and preparing the private cloud routing server; Create a private cloud routing server client; View the private cloud routing server client; Edit a private cloud routing server peer-to-peer password and a status; Modifying the peer-to-peer password of the private cloud routing server through the at least one smart device client; Resetting the private cloud routing server peer-to-peer password and the status from a private cloud routing server local area network by a system administrator; The client portion connected to the private cloud callback server; and The at least one smart device client is connected to the private cloud callback server.
16. A non-transitory computer-readable medium storing executable instructions, which, when executed, causes a computer to perform the following operations: In a client-server relationship, a private cloud callback server and a smart device client are set up. The private cloud call back server includes a routing server message box utility program to access a first message box located on a public cloud network. wherein the private cloud call back server registers the public and private Internet protocol addresses of the smart device client, The smart device client includes a client message box utility program for accessing a second message box located in the public cloud network. wherein the private cloud call back server sends a session confirmation having public and private Internet Protocol addresses to the second message box; In a secure process, a conversation message is transmitted between the first message box and the second message box through the routing server message box utility of the private cloud call back server, The secure process for transmitting the conversation message between the first message box and the second message box of the private cloud call back server and the smart device client, respectively, includes: Initialize and prepare the private cloud callback server, Create a private cloud callback server client, View the private cloud callback server client, Editing a point-to-point password and a status of the private cloud callback server, and Modify a private cloud call back server point-to-point password through the smart device client, and connect to the private cloud call back server through the smart device client, The smart device client is connected to the private cloud callback server via at least one of the following connection methods: The smart device client determines that a target is located in a local area network with local access and decides to directly connect to the private cloud callback server. The smart device client determines that the target is not located in the local area network that can be accessed locally, and decides to connect to the public cloud via a wide area network, wherein the wide area network locates a router and the location of the local area network and connects to the private cloud call back server, the smart device client determines that the target is not located in the local area network that can be accessed locally, and decides to connect to the public cloud network in the wide area network through the local area network and the router, A secure conversation message is authenticated by the private cloud callback server and the smart device client. The smart device client and the private cloud call back server communicate with each other after the conversation message is verified. wherein according to the verified conversation message, the smart device client securely accesses a private network service through the public cloud network; and Setting at least one other smart device client, wherein the at least one other smart device client is in a client-server relationship with the private cloud callback server, wherein the smart device client and the at least one other smart device client communicate with the private cloud callback server after the conversation message is authenticated, and The smart device client and the at least one other smart device client communicate with each other privately and securely through the public cloud network.
17. A non-transitory computer-readable medium storing executable instructions, which, when executed, causes a computer to perform the following operations: A client device application requests a connection to a private cloud callback server utility via a client message box, wherein a server portion of the private cloud callback server utility receives a registration via a routing server message box; The private cloud call back server client device requests the server part of the private cloud call back server utility program to connect to a client part of the private cloud call back server utility program through the client message box; The server portion of the private cloud callback server utility receives the request via a routing server message box; The server portion of the private cloud callback server utility notifies the client portion of the private cloud callback server utility of an intention of the server portion to connect; The client portion of the private cloud callback server utility responds with a registration to the server portion of the private cloud callback server utility; The server portion of the private cloud callback server utility responds to the client device application via the routing server message box; sending, by the client portion of the private cloud callback server utility, a communication request to the at least one private cloud routing server; registering the public and private Internet Protocol addresses of the private cloud callback server client device via the private cloud callback server utility; sending, via the private cloud call back server utility, to the client message box, a session identified by the public and private Internet addresses; and Initiating a peer-to-peer communication between the private cloud call back server client device and the client portion of the private cloud call back server utility; wherein the private cloud call back server utility program and the private cloud call back server client device exchange information via the routing server message box and the client message box; The private cloud callback server client device is connected to the client portion of the private cloud callback server utility program via at least one of the following connection methods: The private cloud callback server client device determines that the client portion of the private cloud callback server utility is located in a local area network that is locally accessible, and decides to directly connect to the private cloud callback server utility, The private cloud callback server client device determines that the client portion of the private cloud callback server utility is not located in the local area network that is locally accessible, and decides to connect to the cloud network via a wide area network, wherein the wide area network locates a router and the location of the local area network and connects to the private cloud callback server utility, and The private cloud call back server client device determines that the client portion of the private cloud call back server utility is not located in the locally accessible local area network, and decides to connect to the cloud network in the wide area network through the local area network and the router.
Citation Information
Patent Citations
Private cloud routing server connection mechanism for use in private communication architecture
CN106257888A
