US20230121465A1 - Method for transmission data and apparatus for executing the method - Google Patents
Method for transmission data and apparatus for executing the method Download PDFInfo
- Publication number
- US20230121465A1 US20230121465A1 US18/081,818 US202218081818A US2023121465A1 US 20230121465 A1 US20230121465 A1 US 20230121465A1 US 202218081818 A US202218081818 A US 202218081818A US 2023121465 A1 US2023121465 A1 US 2023121465A1
- Authority
- US
- United States
- Prior art keywords
- network
- information
- computing device
- management server
- client device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims description 118
- 238000000034 method Methods 0.000 title claims description 25
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 210000004899 c-terminal region Anatomy 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/045—Network management architectures or arrangements comprising client-server management architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
Definitions
- Disclosed embodiments are related to data transmission technology.
- a video conferencing service makes it possible to share data in a similar manner to a physical conference by displaying images transmitted and received by a plurality of participants on a screen of each participant.
- a peer-to-peer (P2P) connection is randomly attempted between the participants, and data is shared through a P2P network when the connection is successful. That is, data (such as video and audio) is shared through P2P connection regardless of a network quality between the participants, and thus a problem occurs in that the quality of video or audio deteriorates when the amount of data exceeds an available network bandwidth.
- P2P peer-to-peer
- the disclosed embodiments are intended to provide a data transmission method and an apparatus for performing the method, which can prevent deterioration in data quality during data transmission.
- a data transmission method which is performed by a computing device including one or more processors and a memory in which one or more programs to be executed by the one or more processors are stored, including receiving, from connected client devices, peer-to-peer (P2P) network information of the client devices, extracting one or more of information on whether network access is successful and network quality information, which are matched with the P2P network information and pre-stored, and determining one of a first data transmission path and a second data transmission path as a data transmission path for the client devices based on one or more of the information on whether network access is successful and the network quality information.
- P2P peer-to-peer
- the first data transmission path may be a path that transmits data from one client device to another client device via the computing device and the second data transmission path may be a path that transmits data from one client device to another client device through a P2P connection.
- the determining of the data transmission path may include checking whether a network access success rate between each of the client devices is less than a preset reference value based on the information on whether network access is successful and determining the first data transmission path as the data transmission path for the corresponding client devices when the network access success rate between the corresponding client devices is less than the preset reference value.
- the determining of the data transmission path may include checking whether a network access success rate between each of the client devices is greater than or equal to a preset reference value based on the information on whether network access is successful, extracting network quality information pre-stored for corresponding client devices when the network access success rate between the corresponding client devices is greater than or equal to the preset reference value, and determining one of the first data transmission path and the second data transmission path as the data transmission path for the corresponding client devices based on the extracted network quality information.
- the determining of the data transmission path may include checking from the extracted network quality information whether a network quality by the first data transmission path between the corresponding client devices is superior to a network quality by the second data transmission path and determining the first data transmission path as the data transmission path for the corresponding client devices when the network quality by the first data transmission path is superior to the network quality by the second data transmission path.
- the data transmission method may further include, when the network quality by the first data transmission path is not superior to the network quality by the second data transmission path, determining the second data transmission path as the data transmission path for the corresponding client devices, and transmitting P2P network information of a peer device to the corresponding client devices.
- a computing device including one or more processors, a memory, and one or more programs, wherein the one or more programs are configured to be stored in the memory and to be executed by the one or more processors and the one or more programs include instructions for receiving, from connected client devices, peer-to-peer (P2P) network information of the client devices, extracting one or more of information on whether network access is successful and network quality information, which are matched with the P2P network information and pre-stored, and determining one of a first data transmission path and a second data transmission path as a data transmission path for the client devices based on one or more of the information on whether network access is successful and the network quality information.
- P2P peer-to-peer
- the first data transmission path may be a path that transmits data from one client device to another client device via the computing device and the second data transmission path may be a path that transmits data from one client device to another client device through a P2P connection.
- the instruction for determining the data transmission path may include instructions for checking whether a network access success rate between each of the client devices is less than a preset reference value based on the information on whether network access is successful and determining the first data transmission path as the data transmission path for the corresponding client devices when the network access success rate between the corresponding client devices is less than the preset reference value.
- the instruction for determining the data transmission path may include instructions for checking whether a network access success rate between each of the client devices is greater than or equal to a preset reference value based on the information on whether network access is successful, extracting network quality information pre-stored for corresponding client devices when the network access success rate between the corresponding client devices is greater than or equal to the preset reference value, and determining one of the first data transmission path and the second data transmission path as the data transmission path for the corresponding client devices based on the extracted network quality information.
- the instruction for determining the data transmission path may include instructions for checking from the extracted network quality information whether a network quality by the first data transmission path between the corresponding client devices is superior to a network quality by the second data transmission path and determining the first data transmission path as the data transmission path for the corresponding client devices when the network quality by the first data transmission path is superior to the network quality by the second data transmission path.
- the one or more programs may further include instructions for, when the network quality by the first data transmission path is not superior to the network quality by the second data transmission path, determining the second data transmission path as the data transmission path for the corresponding client devices, and transmitting P2P network information of a peer device to the corresponding client devices.
- a computing device including one or more processors, a memory in which one or more programs to be executed by the one or more processors are stored, a network information manager configured to transmit a peer-to-peer (P2P) network information of the computing device and network quality information at the time of connection of the computing device to a management server, and a network monitor configured to generate network quality information by measuring a network quality at the time of connection of the computing device.
- P2P peer-to-peer
- the P2P network information may include one or more of a user identification (ID) of the computing device, private IP and port information, public IP and port information, and network identification information and the network information manager may include a first network information manager configured to transmit the P2P network information of the computing device to the management server and a second network information manager configured to transmit the network quality information at the time of connection of the computing device to the management server.
- ID user identification
- the network information manager may include a first network information manager configured to transmit the P2P network information of the computing device to the management server and a second network information manager configured to transmit the network quality information at the time of connection of the computing device to the management server.
- the network monitor may include a first monitor configured to, when the computing device is connected to the management server, generate network quality information by measuring a quality of a network between the computing device and the management server and a second monitor configured to, when the computing device makes a P2P connection to another client device, generate network quality information by measuring a quality of a network between the computing device and the other client device.
- the first network information manager may transmit information on whether network access for the P2P connection is successful to the management server when the computing device makes a P2P connection to another client device.
- a data transmission method which is performed by a computing device including one or more processors and a memory in which one or more programs to be executed by the one or more processors are stored, including acquiring peer-to-peer (P2P) network information of the computing device, transmitting the P2P network information of the computing device to a management server, generating network quality information by measuring a network quality at the time of connection of the computing device, and transmitting the network quality information to the management server.
- P2P peer-to-peer
- the generating of the network quality information may include, when the computing device is connected to the management server, generating the network quality information by measuring a quality of a network between the computing device and the management server and, when the computing device makes a P2P connection to another client device, generating the network quality information by measuring a quality of a network between the computing device and the other client device.
- the data transmission method may further include, when the computing device makes a P2P connection to another client device, transmitting information on whether network access for the P2P connection is successful to the management server.
- FIG. 1 is a diagram illustrating a configuration of a data transmission system according to one embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating a configuration of a client device according to one embodiment of the present disclosure.
- FIG. 3 is a flowchart illustrating a data transmission method according to one embodiment of the present disclosure.
- FIG. 4 is a flowchart illustrating a data transmission method according to another embodiment of the present disclosure.
- FIG. 5 is a block diagram for describing an example of a computing environment including a computing device suitable for use in exemplary embodiments.
- the terminology of “communication”, “transmission”, “reception” of a signal or information and terminology similar thereto may include a meaning in which a signal or information is directly transmitted from one element to another element and is transmitted from one element to another element through an intervening element.
- a meaning in which a signal or information is “transmitted” or “sent” to another element may indicate a final destination of the signal or information and may not mean a direct destination. This may be equally applied with respect to a meaning of “reception” of the signal or information.
- a meaning in which two or more pieces of data or information are related it may mean that at least a portion of another data (or information) may be obtained based on one data when one data (or information) is obtained.
- first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first portion could be termed a second portion, and, similarly, a second portion could be termed a first portion without departing from the teachings of the disclosure.
- FIG. 1 is a diagram illustrating a configuration of a data transmission system according to one embodiment of the present disclosure.
- the data transmission system 100 may include a client device 102 and a management server 104 .
- the client device 102 is connected to communicate with the management server 104 through a communication network 150 .
- the communication network 150 may include the Internet, one or more local area networks, wide area networks, cellular networks, mobile networks, and other types of networks, or a combination of these networks.
- the data transmission system 100 will be described as a video conferencing service system, but the present disclosure is not limited thereto, and it is apparent that various other data transmission systems are applicable.
- the client device 102 is a terminal of a user participating in a video conference.
- the client device 102 may be a terminal provided with equipment for a video conference, such as a camera, a microphone, and a display.
- a plurality of client devices 102 may be provided according to the number of users participating in the video conference.
- the client device 102 may include a communication device, such as a tablet personal computer (PC), a notebook computer, a desktop PC, a smartphone, or the like.
- FIG. 2 is a block diagram illustrating a configuration of the client device 102 according to one embodiment of the present disclosure.
- the client device 102 may include an accessor 111 , a network information manager 113 , and a network monitor 115 .
- the accessor 111 may be connected to the management server 104 of the client device 102 .
- the accessor 111 may be connected to the management server 104 according to a user instruction of the client device 102 .
- the accessor 111 may be connected to the management server 104 through preset authentication process.
- the accessor 111 may make a P2P connection to another client device 102 .
- the accessor 111 may receive P2P network information of another client device 102 from the management server 104 and make a P2P connection to the other client device 102 based on the received P2P network information.
- the network information manager 113 may transmit the P2P network information of the client device 102 to the management server 104 .
- the network information manager 113 may transmit quality information (i.e., network quality information) of a corresponding network to the management server 104 .
- the network information manager 113 may include a first network information manager 113 - 1 and a second network information manager 113 - 2 .
- the first network information manager 113 - 1 may acquire P2P network information of the client device 102 and transmit the acquired P2P network information to the management server 104 .
- the P2P network information may include a user ID of the client device 102 , private IP and port information, public IP and port information, network identification information (e.g., Wi-Fi service set identifier (SSID) and basic service set identifier (BSSID)) and the like.
- SSID Wi-Fi service set identifier
- BSSID basic service set identifier
- the first network information manager 113 - 1 may transmit network access success information to the management server 104 . That is, each time the client device 102 makes a P2P connection, the first network information manager 113 - 1 may transmit information on whether network access is successful or failed (network access success information) to the management server 104 .
- the second network information manager 113 - 2 may acquire network quality information on the quality of the network between the client device 102 and the management server 104 and transmit the acquired network quality information to the management server 104 .
- the second network information manager 113 - 2 may acquire network quality information on the quality of the network between the client device 102 and the other client device 102 and transmit the acquired network quality information to the management server 104 .
- the network monitor 115 may monitor the quality of a corresponding network.
- the network monitor 115 may measure the network quality at the time of connection of the client device 102 and generate network quality information.
- the network quality may include a usable bandwidth, network delay rate, network packet loss rate, and the like.
- the network monitor 115 may measure the network packet loss rate through the following method.
- the client device 102 may transmit the data packet by including a sequence number in the data packet.
- the management server 104 or the other client device 102 may check loss rate of data packets based on the total number of data packets received for a predetermined period of time, the sequence number of the first data packet, and the sequence number of the last data packet.
- the management server 104 or the other client device 102 may transmit the network packet loss rate to the client device 102 .
- the network monitor 115 may measure the network delay rate through the following method.
- the client device 102 may transmit a data packet including transmission time to the management server 104 or another client device 102 at regular time intervals. Then, the management server 104 or the other client device 102 may calculate the network latency using an arrival time of a data packet and the transmission time included in the data packet.
- the network delay rate is 50 ms.
- the management server 104 or the other client device 102 may transmit the network delay rate to the client device 102 .
- the network monitor 115 may include a first monitor 115 - 1 and a second monitor 115 - 2 .
- the first monitor 115 - 1 may measure the quality of a network between the client device 102 and the management server 104 .
- the second monitor 115 - 2 may measure the quality of a network between the client device 102 and the other client device 102 .
- the management server 104 may be a server computing device for managing data transmission between the client devices 102 .
- the management server 104 may manage data transmission between the client devices 102 participating in a video conference during the video conference.
- the management server 104 may receive P2P network information from each client device 102 connected to the management server 104 and store the received P2P network information.
- Table 1 shows examples of P2P network information to be stored by the management server 104 according to one embodiment of the present disclosure.
- Table 1 shows user ID, private IP and port information, public IP and port information, network identification information (e.g., Wi-Fi SSID and BSSID), and the like as P2P network information.
- network identification information e.g., Wi-Fi SSID and BSSID
- Table 2 shows examples of information on whether network access is successful which is stored by the management server 104 according to one embodiment of the present disclosure.
- the management server 104 may count the number of successful accesses or unsuccessful accesses according to the success or failure of network access.
- the management server 104 may receive network quality information from each client device 102 and store the received network quality information.
- the management server 104 may match and store P2P network information and network quality information for each client device 102 .
- Table 3 shows examples of network quality information of each client device 102 stored by the management server 104 according to one embodiment of the present disclosure.
- the management server 104 may set a data transmission path for each client device 102 based on pre-stored information on whether network access of each client device 102 is successful and pre-stored network quality information of each client device 102 .
- the data transmission path may include a first data transmission path that transmits data to another client device 102 via the management server 104 and a second data transmission path that transmits data through a P2P connection with another client device 102 .
- the management server 104 may determine whether the data transmission path of each client device 102 is the first data transmission path or the second data transmission path based on pre-stored information on whether network access of each client device 102 connected to the management server 104 is successful and pre-stored network quality information of each client device 102 .
- the management server 104 checks the pre-stored information on whether network access of the client devices 102 connected to the management server 104 is successful, and if a network access success rate is less than a preset reference value, the management server 104 may determine that data transmission by the P2P connection is not attempted between the corresponding client devices 102 .
- the management server 104 may check pre-stored information on whether network access is successful or unsuccessful and, for client devices 102 whose network access success rate is greater than or equal to the preset reference value, the management server 104 may determine the first data transmission path or the second data transmission path based on pre-stored network quality information. In this case, the management server 104 may compare the network quality by the existing first data transmission path and the network quality by the exiting second data transmission path and determine the first data transmission path or the second data transmission path.
- a module may mean a functional and structural combination of hardware for implementing the technical idea of the present invention and software for driving the hardware.
- the “module” may mean a predetermined code and a logical unit of a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a one type of hardware.
- the disclosed embodiment by matching and storing P2P network information and network quality information for each client device 102 , it is possible to determine which of the first data transmission path and the second data transmission path is preferable for the data transmission between the client devices 102 , thereby preventing deterioration in quality during data transmission.
- FIG. 3 is a flowchart illustrating a data transmission method according to one embodiment of the present disclosure.
- a process in which a first client device 102 - 1 and a second client device 102 - 2 transmit P2P network information and network quality information to a management server 104 is illustrated.
- the method is described as being divided into a plurality of operations. However, it should be noted that at least some of the operations may be performed in different order or may be combined into fewer operations or further divided into more operations. In addition, some of the operations may be omitted, or one or more extra operations, which are not illustrated, may be added to the flowchart and be performed.
- the first client device 102 - 1 and the second client device 102 - 2 are connected to the management server 104 (S 101 ).
- the first client device 102 - 1 and the second client device 102 - 2 request the management server 104 for their public IP and port information (S 103 ), and receive their Public IP and port information from the management server 104 (S 105 ).
- the first client device 102 - 1 and the second client device 102 - 2 transmit P2P network information including user ID, private IP and port information, public IP and port information, and network identification information (e.g., Wi-Fi SSID and BSSID) to the management server 104 (S 107 ).
- P2P network information including user ID, private IP and port information, public IP and port information, and network identification information (e.g., Wi-Fi SSID and BSSID) to the management server 104 (S 107 ).
- the first client device 102 - 1 and the second client device 102 - 2 may query their user ID, private IP and port information, and network identification information and include the information in the P2P network information.
- the management server 104 may transmit the P2P network information of the second client device 102 - 2 to the first client device 102 - 1 and transmit the P2P network information of the first client device 102 - 1 to the second client device 102 - 2 (S 109 ).
- the first client device 102 - 1 and the second client device 102 - 2 make a P2P connection using each other's P2P network information (S 111 ).
- the first client device 102 - 1 and the second client device 102 - 2 measure network quality information at the time of the P2P connection and transmit the measured network quality information to the management server 104 (S 113 ). Also, the first client device 102 - 1 may transmit information on whether network access at the time of P2P connection with the second client device 102 - 2 is successful to the management server 104 .
- the first client device 102 - 1 and the second client device 102 - 2 may measure network quality information at the time of connection to the management server 104 and transmit the measured network quality information to the management server 104 .
- the management server 104 may store the network quality information of each client device 102 at the time of P2P connection and the network quality information of each client device 102 at the time of connection to the management server 104 .
- FIG. 4 is a flowchart illustrating a data transmission method according to another embodiment of the present disclosure. Here, a process in which a management server 104 determines a data transmission path for each client device 102 is illustrated.
- the management server 104 receives P2P network information from client devices 102 connected to the management server 104 (S 201 ).
- the management server 104 extracts information on whether network access of the client devices 102 connected to the management server 104 is successful based on P2P network information (S 203 ).
- the management server 104 checks whether network access success rate among each of the client devices 102 is less than a predetermined reference value based on the extracted information on whether network access is successful (S 205 ).
- the management server 104 determines that data transmission through the P2P connection is not performed between the client devices 102 (S 207 ).
- the management server 104 may transmit data through a first data transmission path (i.e., a data transmission path via the management server 104 ) to the client devices 102 whose network access success rate is less than or equal to the preset reference value.
- the management server 104 extracts pre-stored network quality information for the corresponding client devices 102 (S 209 ).
- the management server 104 checks whether the network quality by the first data transmission path between the client devices 102 is superior to the network quality by the second data transmission path, based on the extracted network quality information (S 211 ).
- the management server 104 may transmit data between the corresponding client devices 102 using the first data transmission path (S 213 ).
- a first client device 102 - 1 , a second client device 102 - 2 , and a third client device 102 - 3 are connected to the management server 104 and the network access success rate among the first client device 102 - 1 to the third client device 102 - 3 is greater than or equal to a preset reference value.
- the management server 104 may transmit data using the first data transmission path between the first client device 102 - 1 and the second client device 102 - 2 . In this case, the management server 104 does not transmit P2P network information of a peer device to the first client device 102 - 1 and the second client device 102 - 2 .
- the management server 104 determines that data transmission between the corresponding client devices 102 is performed using the second data transmission path (S 215 ).
- the management server 104 may determine that data transmission between the first client device 102 - 1 and the third client device 102 - 3 is performed using the second data transmission path.
- the management server 104 transmits P2P network information to the corresponding client devices 102 (S 217 ).
- the management server 104 may transmit the P2P network information of the third client device 102 - 3 to the first client device 102 - 1 and transmit the P2P network information of the first client device 102 - 1 to the third client device 102 - 3 , thereby enabling a P2P connection between the first client device 102 - 1 and the third client device 102 - 3 .
- FIG. 5 is a block diagram for describing an example of a computing environment 10 including a computing device suitable for use in exemplary embodiments.
- each of the components may have functions and capabilities different from those described hereinafter and additional components may be included in addition to the components described herein.
- the illustrated computing environment 10 includes a computing device 12 .
- the computing device 12 may be a client device 102 .
- the computing device 12 may be a management server 104 .
- the computing device 12 may include at least one processor 14 , a computer-readable storage medium 16 , and a communication bus 18 .
- the processor 14 may cause the computing device 12 to operate according to the above-described exemplary embodiment.
- the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 .
- the one or more programs may include one or more computer executable instructions, and the computer executable instructions may be configured to, when executed by the processor 14 , cause the computing device 12 to perform operations according to the exemplary embodiment.
- the computer-readable storage medium 16 is configured to store computer executable instructions and program codes, program data and/or information in other suitable forms.
- the programs stored in the computer-readable storage medium 16 may include a set of instructions executable by the processor 14 .
- the computer-readable storage medium 16 may be a memory (volatile memory, such as random access memory (RAM), non-volatile memory, or a combination thereof) one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, storage media in other forms capable of being accessed by the computing device 12 and storing desired information, or a combination thereof.
- the communication bus 18 connects various other components of the computing device 12 including the processor 14 and the computer-readable storage medium 16 .
- the computing device 12 may include one or more input/output interfaces 22 for one or more input/output devices 24 and one or more network communication interfaces 26 .
- the input/output interface 22 and the network communication interface 26 are connected to the communication bus 18 .
- the input/output device 24 may be connected to other components of the computing device 12 through the input/output interface 22 .
- the illustrative input/output device 24 may be a pointing device (a mouse, a track pad, or the like), a keyboard, a touch input device (a touch pad, a touch screen, or the like), an input device, such as a voice or sound input device, various types of sensor devices, and/or a photographing device, and/or an output device, such as a display device, a printer, a speaker, and/or a network card.
- the illustrative input/output device 24 which is one component constituting the computing device 12 may be included inside the computing device 12 or may be configured as a separate device from the computing device 12 and connected to the computing device 12 .
- the disclosed embodiment by matching and storing P2P network information and network quality information for each client device, it is possible to determine which of the first data transmission path and the second data transmission path is preferable to transmit data between the client devices, thereby preventing deterioration in quality during data transmission.
Abstract
Description
- This application is a divisional application of U.S. patent application Ser. No. 16/886,138, filed May 28, 2020, which claims priority to Korean Patent Application No. 10-2019-0062472, filed on May 28, 2019, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
- Disclosed embodiments are related to data transmission technology.
- A video conferencing service makes it possible to share data in a similar manner to a physical conference by displaying images transmitted and received by a plurality of participants on a screen of each participant. In the existing video conferencing service, when multiple participants exist in the video conference, a peer-to-peer (P2P) connection is randomly attempted between the participants, and data is shared through a P2P network when the connection is successful. That is, data (such as video and audio) is shared through P2P connection regardless of a network quality between the participants, and thus a problem occurs in that the quality of video or audio deteriorates when the amount of data exceeds an available network bandwidth.
- This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- The disclosed embodiments are intended to provide a data transmission method and an apparatus for performing the method, which can prevent deterioration in data quality during data transmission.
- In an embodiment, there is provided a data transmission method, which is performed by a computing device including one or more processors and a memory in which one or more programs to be executed by the one or more processors are stored, including receiving, from connected client devices, peer-to-peer (P2P) network information of the client devices, extracting one or more of information on whether network access is successful and network quality information, which are matched with the P2P network information and pre-stored, and determining one of a first data transmission path and a second data transmission path as a data transmission path for the client devices based on one or more of the information on whether network access is successful and the network quality information.
- The first data transmission path may be a path that transmits data from one client device to another client device via the computing device and the second data transmission path may be a path that transmits data from one client device to another client device through a P2P connection.
- The determining of the data transmission path may include checking whether a network access success rate between each of the client devices is less than a preset reference value based on the information on whether network access is successful and determining the first data transmission path as the data transmission path for the corresponding client devices when the network access success rate between the corresponding client devices is less than the preset reference value.
- The determining of the data transmission path may include checking whether a network access success rate between each of the client devices is greater than or equal to a preset reference value based on the information on whether network access is successful, extracting network quality information pre-stored for corresponding client devices when the network access success rate between the corresponding client devices is greater than or equal to the preset reference value, and determining one of the first data transmission path and the second data transmission path as the data transmission path for the corresponding client devices based on the extracted network quality information.
- The determining of the data transmission path may include checking from the extracted network quality information whether a network quality by the first data transmission path between the corresponding client devices is superior to a network quality by the second data transmission path and determining the first data transmission path as the data transmission path for the corresponding client devices when the network quality by the first data transmission path is superior to the network quality by the second data transmission path.
- The data transmission method may further include, when the network quality by the first data transmission path is not superior to the network quality by the second data transmission path, determining the second data transmission path as the data transmission path for the corresponding client devices, and transmitting P2P network information of a peer device to the corresponding client devices.
- In another embodiment, there is provided a computing device including one or more processors, a memory, and one or more programs, wherein the one or more programs are configured to be stored in the memory and to be executed by the one or more processors and the one or more programs include instructions for receiving, from connected client devices, peer-to-peer (P2P) network information of the client devices, extracting one or more of information on whether network access is successful and network quality information, which are matched with the P2P network information and pre-stored, and determining one of a first data transmission path and a second data transmission path as a data transmission path for the client devices based on one or more of the information on whether network access is successful and the network quality information.
- The first data transmission path may be a path that transmits data from one client device to another client device via the computing device and the second data transmission path may be a path that transmits data from one client device to another client device through a P2P connection.
- The instruction for determining the data transmission path may include instructions for checking whether a network access success rate between each of the client devices is less than a preset reference value based on the information on whether network access is successful and determining the first data transmission path as the data transmission path for the corresponding client devices when the network access success rate between the corresponding client devices is less than the preset reference value.
- The instruction for determining the data transmission path may include instructions for checking whether a network access success rate between each of the client devices is greater than or equal to a preset reference value based on the information on whether network access is successful, extracting network quality information pre-stored for corresponding client devices when the network access success rate between the corresponding client devices is greater than or equal to the preset reference value, and determining one of the first data transmission path and the second data transmission path as the data transmission path for the corresponding client devices based on the extracted network quality information.
- The instruction for determining the data transmission path may include instructions for checking from the extracted network quality information whether a network quality by the first data transmission path between the corresponding client devices is superior to a network quality by the second data transmission path and determining the first data transmission path as the data transmission path for the corresponding client devices when the network quality by the first data transmission path is superior to the network quality by the second data transmission path.
- The one or more programs may further include instructions for, when the network quality by the first data transmission path is not superior to the network quality by the second data transmission path, determining the second data transmission path as the data transmission path for the corresponding client devices, and transmitting P2P network information of a peer device to the corresponding client devices.
- In still another embodiment, there is provided a computing device including one or more processors, a memory in which one or more programs to be executed by the one or more processors are stored, a network information manager configured to transmit a peer-to-peer (P2P) network information of the computing device and network quality information at the time of connection of the computing device to a management server, and a network monitor configured to generate network quality information by measuring a network quality at the time of connection of the computing device.
- The P2P network information may include one or more of a user identification (ID) of the computing device, private IP and port information, public IP and port information, and network identification information and the network information manager may include a first network information manager configured to transmit the P2P network information of the computing device to the management server and a second network information manager configured to transmit the network quality information at the time of connection of the computing device to the management server.
- The network monitor may include a first monitor configured to, when the computing device is connected to the management server, generate network quality information by measuring a quality of a network between the computing device and the management server and a second monitor configured to, when the computing device makes a P2P connection to another client device, generate network quality information by measuring a quality of a network between the computing device and the other client device.
- The first network information manager may transmit information on whether network access for the P2P connection is successful to the management server when the computing device makes a P2P connection to another client device.
- In still another embodiment, there is provided a data transmission method, which is performed by a computing device including one or more processors and a memory in which one or more programs to be executed by the one or more processors are stored, including acquiring peer-to-peer (P2P) network information of the computing device, transmitting the P2P network information of the computing device to a management server, generating network quality information by measuring a network quality at the time of connection of the computing device, and transmitting the network quality information to the management server.
- The generating of the network quality information may include, when the computing device is connected to the management server, generating the network quality information by measuring a quality of a network between the computing device and the management server and, when the computing device makes a P2P connection to another client device, generating the network quality information by measuring a quality of a network between the computing device and the other client device.
- The data transmission method may further include, when the computing device makes a P2P connection to another client device, transmitting information on whether network access for the P2P connection is successful to the management server.
- Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
-
FIG. 1 is a diagram illustrating a configuration of a data transmission system according to one embodiment of the present disclosure. -
FIG. 2 is a block diagram illustrating a configuration of a client device according to one embodiment of the present disclosure. -
FIG. 3 is a flowchart illustrating a data transmission method according to one embodiment of the present disclosure. -
FIG. 4 is a flowchart illustrating a data transmission method according to another embodiment of the present disclosure. -
FIG. 5 is a block diagram for describing an example of a computing environment including a computing device suitable for use in exemplary embodiments. - Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.
- The following description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be suggested to those of ordinary skill in the art.
- Descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness. Also, terms described in below are selected by considering functions in the embodiment and meanings may vary depending on, for example, a user or operator's intentions or customs. Therefore, definitions of the terms should be made based on the overall context. The terminology used in the detailed description is provided only to describe embodiments of the present disclosure and not for purposes of limitation. Unless the context clearly indicates otherwise, the singular forms include the plural forms. It should be understood that the terms “comprises” or “includes” specify some features, numbers, steps, operations, elements, and/or combinations thereof when used herein, but do not preclude the presence or possibility of one or more other features, numbers, steps, operations, elements, and/or combinations thereof in addition to the description.
- In the following description, the terminology of “communication”, “transmission”, “reception” of a signal or information and terminology similar thereto may include a meaning in which a signal or information is directly transmitted from one element to another element and is transmitted from one element to another element through an intervening element. Particularly, a meaning in which a signal or information is “transmitted” or “sent” to another element may indicate a final destination of the signal or information and may not mean a direct destination. This may be equally applied with respect to a meaning of “reception” of the signal or information. Further, in this specification, a meaning in which two or more pieces of data or information are related, it may mean that at least a portion of another data (or information) may be obtained based on one data when one data (or information) is obtained.
- Further, it will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first portion could be termed a second portion, and, similarly, a second portion could be termed a first portion without departing from the teachings of the disclosure.
-
FIG. 1 is a diagram illustrating a configuration of a data transmission system according to one embodiment of the present disclosure. - Referring to
FIG. 1 , thedata transmission system 100 may include aclient device 102 and amanagement server 104. Theclient device 102 is connected to communicate with themanagement server 104 through acommunication network 150. In some embodiments, thecommunication network 150 may include the Internet, one or more local area networks, wide area networks, cellular networks, mobile networks, and other types of networks, or a combination of these networks. - Here, the
data transmission system 100 will be described as a video conferencing service system, but the present disclosure is not limited thereto, and it is apparent that various other data transmission systems are applicable. - The
client device 102 is a terminal of a user participating in a video conference. Theclient device 102 may be a terminal provided with equipment for a video conference, such as a camera, a microphone, and a display. A plurality ofclient devices 102 may be provided according to the number of users participating in the video conference. Theclient device 102 may include a communication device, such as a tablet personal computer (PC), a notebook computer, a desktop PC, a smartphone, or the like. -
FIG. 2 is a block diagram illustrating a configuration of theclient device 102 according to one embodiment of the present disclosure. Referring toFIG. 2 , theclient device 102 may include anaccessor 111, anetwork information manager 113, and anetwork monitor 115. - The
accessor 111 may be connected to themanagement server 104 of theclient device 102. In an exemplary embodiment, theaccessor 111 may be connected to themanagement server 104 according to a user instruction of theclient device 102. Theaccessor 111 may be connected to themanagement server 104 through preset authentication process. - The
accessor 111 may make a P2P connection to anotherclient device 102. Theaccessor 111 may receive P2P network information of anotherclient device 102 from themanagement server 104 and make a P2P connection to theother client device 102 based on the received P2P network information. - The
network information manager 113 may transmit the P2P network information of theclient device 102 to themanagement server 104. In addition, when theclient device 102 is connected to themanagement server 104 or anotherclient device 102, thenetwork information manager 113 may transmit quality information (i.e., network quality information) of a corresponding network to themanagement server 104. - The
network information manager 113 may include a first network information manager 113-1 and a second network information manager 113-2. The first network information manager 113-1 may acquire P2P network information of theclient device 102 and transmit the acquired P2P network information to themanagement server 104. Here, the P2P network information may include a user ID of theclient device 102, private IP and port information, public IP and port information, network identification information (e.g., Wi-Fi service set identifier (SSID) and basic service set identifier (BSSID)) and the like. - Also, when the
client device 102 makes a P2P connection to anotherclient device 102, the first network information manager 113-1 may transmit network access success information to themanagement server 104. That is, each time theclient device 102 makes a P2P connection, the first network information manager 113-1 may transmit information on whether network access is successful or failed (network access success information) to themanagement server 104. - When the
client device 102 is connected to themanagement server 104, the second network information manager 113-2 may acquire network quality information on the quality of the network between theclient device 102 and themanagement server 104 and transmit the acquired network quality information to themanagement server 104. - When the
client device 102 is connected to anotherclient device 102, the second network information manager 113-2 may acquire network quality information on the quality of the network between theclient device 102 and theother client device 102 and transmit the acquired network quality information to themanagement server 104. - When the
client device 102 is connected to themanagement server 104 or anotherclient device 102, the network monitor 115 may monitor the quality of a corresponding network. The network monitor 115 may measure the network quality at the time of connection of theclient device 102 and generate network quality information. Here, the network quality may include a usable bandwidth, network delay rate, network packet loss rate, and the like. - In an exemplary embodiment, the network monitor 115 may measure the network packet loss rate through the following method. When a data packet is transmitted to the
management server 104 or anotherclient device 102, theclient device 102 may transmit the data packet by including a sequence number in the data packet. Then, themanagement server 104 or theother client device 102 may check loss rate of data packets based on the total number of data packets received for a predetermined period of time, the sequence number of the first data packet, and the sequence number of the last data packet. - For example, when the sequence number of the first data packet is 1, the sequence number of the last data packet is 100, and the number of received data packets is 50, it can be seen that the loss rate of data packets of a corresponding network (i.e., network packet loss rate) is 50%. In this case, the
management server 104 or theother client device 102 may transmit the network packet loss rate to theclient device 102. - In addition, the network monitor 115 may measure the network delay rate through the following method. The
client device 102 may transmit a data packet including transmission time to themanagement server 104 or anotherclient device 102 at regular time intervals. Then, themanagement server 104 or theother client device 102 may calculate the network latency using an arrival time of a data packet and the transmission time included in the data packet. - For example, if data packets transmitted from the
client device 102 at 0 ms and 100 ms, respectively, arrive at 200 ms and 350 ms from themanagement server 104 or anotherclient device 102, the network delay rate is 50 ms. In this case, themanagement server 104 or theother client device 102 may transmit the network delay rate to theclient device 102. - The network monitor 115 may include a first monitor 115-1 and a second monitor 115-2. When the
client device 102 is connected to themanagement server 104, the first monitor 115-1 may measure the quality of a network between theclient device 102 and themanagement server 104. When theclient device 102 is connected to anotherclient device 102, the second monitor 115-2 may measure the quality of a network between theclient device 102 and theother client device 102. - The
management server 104 may be a server computing device for managing data transmission between theclient devices 102. In an exemplary embodiment, themanagement server 104 may manage data transmission between theclient devices 102 participating in a video conference during the video conference. Specifically, themanagement server 104 may receive P2P network information from eachclient device 102 connected to themanagement server 104 and store the received P2P network information. - Table 1 shows examples of P2P network information to be stored by the
management server 104 according to one embodiment of the present disclosure. Table 1 shows user ID, private IP and port information, public IP and port information, network identification information (e.g., Wi-Fi SSID and BSSID), and the like as P2P network information. -
TABLE 1 User Public IP Private IP Wi-Fi Wi-Fi ID & Port & Port SSID BSSD Zone Terminal A UserA 1.1.1.1:1 192.168.0.2:9090 UreadyA 0a:0a:0a:0a:0a:0a KR Terminal B UserB 2.2.2.2:1 192.168.5.4:9090 None None US Terminal C UserC 1.1.1.1:1 192.168.0.8:9090 UreadyA 0a:0a:0a:0a:0a:0a KR - Table 2 shows examples of information on whether network access is successful which is stored by the
management server 104 according to one embodiment of the present disclosure. When themanagement server 104 receives the information on whether network access at the time of P2P connection is successful from eachclient device 102, themanagement server 104 may count the number of successful accesses or unsuccessful accesses according to the success or failure of network access. -
TABLE 2 The number of The number of Src Dst successful accesses unsuccessful accesses Terminal A Terminal B 0 5 Terminal A Terminal C 5 0 Terminal B Terminal A 0 5 Terminal B Terminal C 3 0 Terminal C Terminal A 5 0 Terminal C Terminal B 3 0 - In addition, the
management server 104 may receive network quality information from eachclient device 102 and store the received network quality information. Themanagement server 104 may match and store P2P network information and network quality information for eachclient device 102. Table 3 shows examples of network quality information of eachclient device 102 stored by themanagement server 104 according to one embodiment of the present disclosure. -
TABLE 3 Available Avg. Avg. Src Dst Bandwidth Loss rate Delay rate RTT Terminal A Terminal B 4 Mbps 2% 100 ms 200 ms Terminal A Terminal C 20 Mbps 0% 5 ms 10 ms Terminal A Server 8 Mbps 0% 10 ms 100 ms Terminal B Terminal A 4 Mbps 2% 100 ms 200 ms Terminal B Terminal C 10 Mbps 0% 10 ms 100 ms Terminal B Server 8 Mbps 0% 10 ms 100 ms Terminal C Terminal A 20 Mbps 0% 5 ms 10 ms Terminal C Terminal B 10 Mbps 0% 10 ms 100 ms Terminal C Server 8 Mbps 0% 10 ms 100 ms - When each
client device 102 accesses for a video conference, themanagement server 104 may set a data transmission path for eachclient device 102 based on pre-stored information on whether network access of eachclient device 102 is successful and pre-stored network quality information of eachclient device 102. In an exemplary embodiment, the data transmission path may include a first data transmission path that transmits data to anotherclient device 102 via themanagement server 104 and a second data transmission path that transmits data through a P2P connection with anotherclient device 102. - The
management server 104 may determine whether the data transmission path of eachclient device 102 is the first data transmission path or the second data transmission path based on pre-stored information on whether network access of eachclient device 102 connected to themanagement server 104 is successful and pre-stored network quality information of eachclient device 102. - Specifically, the
management server 104 checks the pre-stored information on whether network access of theclient devices 102 connected to themanagement server 104 is successful, and if a network access success rate is less than a preset reference value, themanagement server 104 may determine that data transmission by the P2P connection is not attempted between thecorresponding client devices 102. - The
management server 104 may check pre-stored information on whether network access is successful or unsuccessful and, forclient devices 102 whose network access success rate is greater than or equal to the preset reference value, themanagement server 104 may determine the first data transmission path or the second data transmission path based on pre-stored network quality information. In this case, themanagement server 104 may compare the network quality by the existing first data transmission path and the network quality by the exiting second data transmission path and determine the first data transmission path or the second data transmission path. - In the present disclosure, a module may mean a functional and structural combination of hardware for implementing the technical idea of the present invention and software for driving the hardware. For example, the “module” may mean a predetermined code and a logical unit of a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a one type of hardware.
- According to the disclosed embodiment, by matching and storing P2P network information and network quality information for each
client device 102, it is possible to determine which of the first data transmission path and the second data transmission path is preferable for the data transmission between theclient devices 102, thereby preventing deterioration in quality during data transmission. -
FIG. 3 is a flowchart illustrating a data transmission method according to one embodiment of the present disclosure. Here, a process in which a first client device 102-1 and a second client device 102-2 transmit P2P network information and network quality information to amanagement server 104 is illustrated. In the illustrated flowchart, the method is described as being divided into a plurality of operations. However, it should be noted that at least some of the operations may be performed in different order or may be combined into fewer operations or further divided into more operations. In addition, some of the operations may be omitted, or one or more extra operations, which are not illustrated, may be added to the flowchart and be performed. - Referring to
FIG. 3 , the first client device 102-1 and the second client device 102-2 are connected to the management server 104 (S101). - Then, the first client device 102-1 and the second client device 102-2 request the
management server 104 for their public IP and port information (S103), and receive their Public IP and port information from the management server 104 (S105). - Then, the first client device 102-1 and the second client device 102-2 transmit P2P network information including user ID, private IP and port information, public IP and port information, and network identification information (e.g., Wi-Fi SSID and BSSID) to the management server 104 (S107).
- Here, the first client device 102-1 and the second client device 102-2 may query their user ID, private IP and port information, and network identification information and include the information in the P2P network information.
- Then, the
management server 104 may transmit the P2P network information of the second client device 102-2 to the first client device 102-1 and transmit the P2P network information of the first client device 102-1 to the second client device 102-2 (S109). - Thereafter, the first client device 102-1 and the second client device 102-2 make a P2P connection using each other's P2P network information (S111).
- Then, the first client device 102-1 and the second client device 102-2 measure network quality information at the time of the P2P connection and transmit the measured network quality information to the management server 104 (S113). Also, the first client device 102-1 may transmit information on whether network access at the time of P2P connection with the second client device 102-2 is successful to the
management server 104. - Meanwhile, when being connected to the
management server 104, the first client device 102-1 and the second client device 102-2 may measure network quality information at the time of connection to themanagement server 104 and transmit the measured network quality information to themanagement server 104. As such, themanagement server 104 may store the network quality information of eachclient device 102 at the time of P2P connection and the network quality information of eachclient device 102 at the time of connection to themanagement server 104. -
FIG. 4 is a flowchart illustrating a data transmission method according to another embodiment of the present disclosure. Here, a process in which amanagement server 104 determines a data transmission path for eachclient device 102 is illustrated. - Referring to
FIG. 4 , themanagement server 104 receives P2P network information fromclient devices 102 connected to the management server 104 (S201). - Then, the
management server 104 extracts information on whether network access of theclient devices 102 connected to themanagement server 104 is successful based on P2P network information (S203). - Thereafter, the
management server 104 checks whether network access success rate among each of theclient devices 102 is less than a predetermined reference value based on the extracted information on whether network access is successful (S205). - When a result of checking in operation S205 shows that the network access success rate is less than the preset reference value, the
management server 104 determines that data transmission through the P2P connection is not performed between the client devices 102 (S207). - That is, it may be determined that a second data transmission path is not used between the
client devices 102 whose network access success rate is less than or equal to the preset reference value. Themanagement server 104 may transmit data through a first data transmission path (i.e., a data transmission path via the management server 104) to theclient devices 102 whose network access success rate is less than or equal to the preset reference value. - When a result of checking in operation S205 shows that the network access success rate is greater than or equal to the preset reference value, the
management server 104 extracts pre-stored network quality information for the corresponding client devices 102 (S209). - Then, the
management server 104 checks whether the network quality by the first data transmission path between theclient devices 102 is superior to the network quality by the second data transmission path, based on the extracted network quality information (S211). - When a result of checking in operation S211 shows that the network quality by the first data transmission path is superior to the network quality by the second data transmission path, the
management server 104 may transmit data between thecorresponding client devices 102 using the first data transmission path (S213). - For example, it is assumed that a first client device 102-1, a second client device 102-2, and a third client device 102-3 are connected to the
management server 104 and the network access success rate among the first client device 102-1 to the third client device 102-3 is greater than or equal to a preset reference value. - In this case, when the network quality by the existing first data transmission path (i.e., a data transmission path via the management server 104) between the first client device 102-1 and the second client device 102-2 is superior to the network quality by the second data transmission path (i.e., a data transmission path by P2P connection), the
management server 104 may transmit data using the first data transmission path between the first client device 102-1 and the second client device 102-2. In this case, themanagement server 104 does not transmit P2P network information of a peer device to the first client device 102-1 and the second client device 102-2. - When a result of checking in operation S211 shows that the network quality by the first data transmission path is not superior to the network quality by the second data transmission path, the
management server 104 determines that data transmission between thecorresponding client devices 102 is performed using the second data transmission path (S215). - For example, when the network quality by the existing second data transmission path (i.e., a data transmission path by P2P connection) between the first client device 102-1 and the third client device 102-3 is superior to the network quality by the first data transmission path (i.e., a data transmission path via the management server 104), the
management server 104 may determine that data transmission between the first client device 102-1 and the third client device 102-3 is performed using the second data transmission path. - Then, the
management server 104 transmits P2P network information to the corresponding client devices 102 (S 217). In the previous example, themanagement server 104 may transmit the P2P network information of the third client device 102-3 to the first client device 102-1 and transmit the P2P network information of the first client device 102-1 to the third client device 102-3, thereby enabling a P2P connection between the first client device 102-1 and the third client device 102-3. -
FIG. 5 is a block diagram for describing an example of acomputing environment 10 including a computing device suitable for use in exemplary embodiments. In the illustrated embodiment, each of the components may have functions and capabilities different from those described hereinafter and additional components may be included in addition to the components described herein. - The illustrated
computing environment 10 includes acomputing device 12. In one embodiment, thecomputing device 12 may be aclient device 102. In addition, thecomputing device 12 may be amanagement server 104. - The
computing device 12 may include at least oneprocessor 14, a computer-readable storage medium 16, and acommunication bus 18. Theprocessor 14 may cause thecomputing device 12 to operate according to the above-described exemplary embodiment. For example, theprocessor 14 may execute one or more programs stored in the computer-readable storage medium 16. The one or more programs may include one or more computer executable instructions, and the computer executable instructions may be configured to, when executed by theprocessor 14, cause thecomputing device 12 to perform operations according to the exemplary embodiment. - The computer-
readable storage medium 16 is configured to store computer executable instructions and program codes, program data and/or information in other suitable forms. The programs stored in the computer-readable storage medium 16 may include a set of instructions executable by theprocessor 14. In one embodiment, the computer-readable storage medium 16 may be a memory (volatile memory, such as random access memory (RAM), non-volatile memory, or a combination thereof) one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, storage media in other forms capable of being accessed by thecomputing device 12 and storing desired information, or a combination thereof. - The
communication bus 18 connects various other components of thecomputing device 12 including theprocessor 14 and the computer-readable storage medium 16. - The
computing device 12 may include one or more input/output interfaces 22 for one or more input/output devices 24 and one or more network communication interfaces 26. The input/output interface 22 and thenetwork communication interface 26 are connected to thecommunication bus 18. The input/output device 24 may be connected to other components of thecomputing device 12 through the input/output interface 22. The illustrative input/output device 24 may be a pointing device (a mouse, a track pad, or the like), a keyboard, a touch input device (a touch pad, a touch screen, or the like), an input device, such as a voice or sound input device, various types of sensor devices, and/or a photographing device, and/or an output device, such as a display device, a printer, a speaker, and/or a network card. The illustrative input/output device 24 which is one component constituting thecomputing device 12 may be included inside thecomputing device 12 or may be configured as a separate device from thecomputing device 12 and connected to thecomputing device 12. - According to the disclosed embodiment, by matching and storing P2P network information and network quality information for each client device, it is possible to determine which of the first data transmission path and the second data transmission path is preferable to transmit data between the client devices, thereby preventing deterioration in quality during data transmission.
- A number of examples have been described above. Nevertheless, it will be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/081,818 US20230121465A1 (en) | 2019-05-28 | 2022-12-15 | Method for transmission data and apparatus for executing the method |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190062472A KR20200136657A (en) | 2019-05-28 | 2019-05-28 | Method for transmission data and apparatus for executint the method |
KR10-2019-0062472 | 2019-05-28 | ||
US16/886,138 US11563804B2 (en) | 2019-05-28 | 2020-05-28 | Determining transmission path based on pre-stored quality information from client devices |
US18/081,818 US20230121465A1 (en) | 2019-05-28 | 2022-12-15 | Method for transmission data and apparatus for executing the method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/886,138 Division US11563804B2 (en) | 2019-05-28 | 2020-05-28 | Determining transmission path based on pre-stored quality information from client devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230121465A1 true US20230121465A1 (en) | 2023-04-20 |
Family
ID=73550881
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/886,138 Active US11563804B2 (en) | 2019-05-28 | 2020-05-28 | Determining transmission path based on pre-stored quality information from client devices |
US18/081,818 Pending US20230121465A1 (en) | 2019-05-28 | 2022-12-15 | Method for transmission data and apparatus for executing the method |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/886,138 Active US11563804B2 (en) | 2019-05-28 | 2020-05-28 | Determining transmission path based on pre-stored quality information from client devices |
Country Status (2)
Country | Link |
---|---|
US (2) | US11563804B2 (en) |
KR (1) | KR20200136657A (en) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207336A1 (en) * | 2004-03-19 | 2005-09-22 | Samsung Electronics Co., Ltd. | System and method of receiving various packet services through the same internet protocol address in a universal mobile telecommunication service system |
US20070165799A1 (en) * | 2006-01-11 | 2007-07-19 | Gearworks, Inc. | Ivr authentication and intention verification system |
US20090063174A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Optimized Wireless Network Coverage |
US20090077239A1 (en) * | 2004-11-16 | 2009-03-19 | Matsushita Electric Industrial Co., Ltd. | Server apparatus, mobile terminal, electric appliance, communication system, communication method, and program |
US20100304742A1 (en) * | 2009-05-26 | 2010-12-02 | Shinichiro Tsuda | Method, system, mobile terminal and computer program product |
US20130227120A1 (en) * | 2012-02-23 | 2013-08-29 | Huawei Technologies Co., Ltd. | Method, Device, and System for Acquiring Wireless Network Quality Information |
US20140087654A1 (en) * | 2012-09-24 | 2014-03-27 | Yevgeniy Kiveisha | Location aware file sharing between near field communication enabled devices |
US8892722B1 (en) * | 2009-06-22 | 2014-11-18 | Marvell International Ltd. | Peer-to-peer discovery systems and methods |
US9002904B1 (en) * | 2010-12-31 | 2015-04-07 | Emc Corporation | Handling hibernation of a process on a storage device |
US20150373560A1 (en) * | 2014-06-18 | 2015-12-24 | Google Inc. | Method for collecting and aggregating network quality data |
US20160234764A1 (en) * | 2013-12-16 | 2016-08-11 | Intel Corporation | Near field communication assisted device and service discovery |
US9723056B1 (en) * | 2014-05-30 | 2017-08-01 | Amazon Technologies, Inc. | Adapting a page based on a client environment |
US20190190815A1 (en) * | 2017-12-18 | 2019-06-20 | Cisco Technology, Inc. | Inspired path computation in a network |
US20200296036A1 (en) * | 2019-03-11 | 2020-09-17 | Citrix Systems, Inc. | User Experience Oriented Path Selection |
US11611614B2 (en) * | 2020-10-22 | 2023-03-21 | Samsung Sds Co., Ltd. | Method and apparatus for controlling peer to peer connection |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2870022B1 (en) * | 2004-05-07 | 2007-02-02 | Canon Kk | METHOD AND DEVICE FOR DISTRIBUTING DIGITAL DATA, IN PARTICULAR FOR A PAIR-A-PAIR NETWORK |
KR20070048014A (en) | 2005-11-03 | 2007-05-08 | 엘지전자 주식회사 | A data quality managing method via bit rate control in real time control protocol |
US8189489B2 (en) * | 2007-09-26 | 2012-05-29 | Microsoft Corporation | Characterization of network path quality for network applications and services |
US7953010B2 (en) * | 2008-07-30 | 2011-05-31 | Avaya Inc. | System and method of controlling in-bound path selection based on historical and continuous path quality monitoring, assessment and predictions |
US8838683B2 (en) * | 2008-11-24 | 2014-09-16 | Samsung Electronics Co., Ltd. | Method and apparatus for receiving data by using peer-to-peer portal server |
US9801114B2 (en) * | 2011-11-11 | 2017-10-24 | Stmicroelectronics, Inc. | System and method for an energy efficient network adaptor with security provisions |
JP5954126B2 (en) * | 2012-11-14 | 2016-07-20 | 富士通株式会社 | Wireless device, control method, control program, and display method |
US9998901B2 (en) * | 2013-12-16 | 2018-06-12 | Intel Corporation | Augmenting Wi-Fi device discovery with network connection information |
KR102184767B1 (en) * | 2014-04-01 | 2020-12-01 | 삼성전자주식회사 | Communication method and apparatus in network including plurality of device |
JP6451977B2 (en) * | 2014-08-01 | 2019-01-16 | 富士通コネクテッドテクノロジーズ株式会社 | Wireless communication apparatus, wireless communication method, and wireless communication program |
KR20170091913A (en) * | 2016-02-02 | 2017-08-10 | 삼성전자주식회사 | Method and apparatus for providing video service |
US20180302832A1 (en) * | 2017-04-17 | 2018-10-18 | Qualcomm Incorporated | Enhanced serving access point selection in a network having multiple access points |
-
2019
- 2019-05-28 KR KR1020190062472A patent/KR20200136657A/en active IP Right Grant
-
2020
- 2020-05-28 US US16/886,138 patent/US11563804B2/en active Active
-
2022
- 2022-12-15 US US18/081,818 patent/US20230121465A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207336A1 (en) * | 2004-03-19 | 2005-09-22 | Samsung Electronics Co., Ltd. | System and method of receiving various packet services through the same internet protocol address in a universal mobile telecommunication service system |
US20090077239A1 (en) * | 2004-11-16 | 2009-03-19 | Matsushita Electric Industrial Co., Ltd. | Server apparatus, mobile terminal, electric appliance, communication system, communication method, and program |
US20070165799A1 (en) * | 2006-01-11 | 2007-07-19 | Gearworks, Inc. | Ivr authentication and intention verification system |
US20090063174A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Optimized Wireless Network Coverage |
US20100304742A1 (en) * | 2009-05-26 | 2010-12-02 | Shinichiro Tsuda | Method, system, mobile terminal and computer program product |
US8892722B1 (en) * | 2009-06-22 | 2014-11-18 | Marvell International Ltd. | Peer-to-peer discovery systems and methods |
US9002904B1 (en) * | 2010-12-31 | 2015-04-07 | Emc Corporation | Handling hibernation of a process on a storage device |
US20130227120A1 (en) * | 2012-02-23 | 2013-08-29 | Huawei Technologies Co., Ltd. | Method, Device, and System for Acquiring Wireless Network Quality Information |
US20140087654A1 (en) * | 2012-09-24 | 2014-03-27 | Yevgeniy Kiveisha | Location aware file sharing between near field communication enabled devices |
US20160234764A1 (en) * | 2013-12-16 | 2016-08-11 | Intel Corporation | Near field communication assisted device and service discovery |
US9723056B1 (en) * | 2014-05-30 | 2017-08-01 | Amazon Technologies, Inc. | Adapting a page based on a client environment |
US20150373560A1 (en) * | 2014-06-18 | 2015-12-24 | Google Inc. | Method for collecting and aggregating network quality data |
US20190190815A1 (en) * | 2017-12-18 | 2019-06-20 | Cisco Technology, Inc. | Inspired path computation in a network |
US20200296036A1 (en) * | 2019-03-11 | 2020-09-17 | Citrix Systems, Inc. | User Experience Oriented Path Selection |
US11611614B2 (en) * | 2020-10-22 | 2023-03-21 | Samsung Sds Co., Ltd. | Method and apparatus for controlling peer to peer connection |
Also Published As
Publication number | Publication date |
---|---|
KR20200136657A (en) | 2020-12-08 |
US11563804B2 (en) | 2023-01-24 |
US20200382587A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213522B (en) | Video data processing method and device and related equipment | |
US8068866B2 (en) | Group communication server | |
US11323493B1 (en) | Breakout session assignment by device affiliation | |
CN111432158B (en) | Load balancing method and device for media nodes, storage medium and electronic device | |
US10142476B1 (en) | Call reconnection | |
US9544542B2 (en) | Teleconference management server device, teleconference management method and non-transitory computer-readable medium | |
US20100091687A1 (en) | Status of events | |
US9706170B2 (en) | Communication apparatus, communication system, and communication management system | |
US20110173263A1 (en) | Directing An Attendee Of A Collaboration Event To An Endpoint | |
US20180034711A1 (en) | Quality of service assessment for conferences | |
US10893235B2 (en) | Conferencing apparatus and method for switching access terminal thereof | |
US20110069141A1 (en) | Communication Between Scheduled And In Progress Event Attendees | |
KR102501233B1 (en) | Method for service video conference and apparatus for executing the method | |
US20170034227A1 (en) | System and methods for an online conference session | |
US10848530B2 (en) | Conference system and method for interworking between audio conference and web conference | |
US10448226B1 (en) | Network service exchange system and method of using same | |
US11563804B2 (en) | Determining transmission path based on pre-stored quality information from client devices | |
US10938869B2 (en) | Conference system and method for controlling bandwidth thereof | |
US10904301B2 (en) | Conference system and method for handling conference connection thereof | |
US20110069143A1 (en) | Communications Prior To A Scheduled Event | |
US20060031343A1 (en) | Integrated instant message system with gateway functions and method for implementing the same | |
CN113973089B (en) | Streaming media transmission method, system, equipment and storage medium | |
US20180167422A1 (en) | Load distribution apparatus and load distribution method | |
EP2950527B1 (en) | Transmission terminal, transmission system, relay device selecting method, and carrier means | |
US11233834B2 (en) | Streaming click-to-talk with video capability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG SDS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AHN, HO SUNG;KIM, JAE GU;JUNG, JI WON;AND OTHERS;REEL/FRAME:062100/0436 Effective date: 20200522 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |