US20230121465A1 - Method for transmission data and apparatus for executing the method - Google Patents

Method for transmission data and apparatus for executing the method Download PDF

Info

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
Application number
US18/081,818
Inventor
Ho Sung AHN
Jae Gu Kim
Ji Won JUNG
Young Kwang Kim
Sang Bum Kim
Hee Tae YOON
Jun Ho Kang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Priority to US18/081,818 priority Critical patent/US20230121465A1/en
Assigned to SAMSUNG SDS CO., LTD. reassignment SAMSUNG SDS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AHN, HO SUNG, JUNG, JI WON, KANG, JUN HO, KIM, JAE GU, KIM, SANG BUM, KIM, YOUNG KWANG, YOON, HEE TAE
Publication of US20230121465A1 publication Critical patent/US20230121465A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/045Network management architectures or arrangements comprising client-server management architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/61Scheduling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network 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

A computing device according to an embodiment includes 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.

Description

    CROSS-REFERENCE TO RELATED APPLICATION (S) AND CLAIM OF PRIORITY
  • 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.
  • BACKGROUND 1. Field
  • Disclosed embodiments are related to data transmission technology.
  • 2. Description of Related Art
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 , 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. In some embodiments, 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.
  • 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. 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. Referring to FIG. 2 , 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. In an exemplary embodiment, 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. In addition, when the client device 102 is connected to the management server 104 or another client device 102, 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. Here, 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.
  • Also, when the client device 102 makes a P2P connection to another client device 102, 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.
  • When the client device 102 is connected 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.
  • When the client device 102 is connected to another client device 102, 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.
  • When the client device 102 is connected to the management server 104 or another client 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 the client 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 another client device 102, the client device 102 may transmit the data packet by including a sequence number in the data packet. Then, 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.
  • 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 the other client device 102 may transmit the network packet loss rate to the client 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 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.
  • 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 the management server 104 or another client device 102, the network delay rate is 50 ms. In this case, 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. When the client device 102 is connected to the management server 104, the first monitor 115-1 may measure the quality of a network between the client device 102 and the management server 104. When the client device 102 is connected to another client device 102, 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. In an exemplary embodiment, the management server 104 may manage data transmission between the client devices 102 participating in a video conference during the video conference. Specifically, 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.
  • 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 the management server 104 receives the information on whether network access at the time of P2P connection is successful from each client device 102, the management 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 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.
  • 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, 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. In an exemplary embodiment, 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.
  • Specifically, 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.
  • 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 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. 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 a management 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 the management server 104 and transmit the measured network quality information to the management server 104. As such, 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.
  • Referring to FIG. 4 , the management server 104 receives P2P network information from client devices 102 connected to the management server 104 (S201).
  • Then, 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 (S203).
  • Thereafter, 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 (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. 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.
  • 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 the client 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 the corresponding 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, 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.
  • 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 the corresponding 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, 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. 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 a computing device 12. In one embodiment, the computing device 12 may be a client device 102. In addition, 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. For example, 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. 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 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.
  • 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)

What is claimed is:
1. A computing device comprising:
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.
2. The computing device of claim 1, wherein the P2P network information includes 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 comprises 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.
3. The computing device of claim 2, wherein the network monitor comprises 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.
4. The computing device of claim 2, wherein the first network information manager is configured to, when the computing device makes a P2P connection to another client device, transmit information on whether network access for the P2P connection is successful to the management server.
5. A data transmission method which is performed by a computing device comprising one or more processors and a memory in which one or more programs to be executed by the one or more processors are stored, the data transmission method comprising:
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.
6. The data transmission method of claim 5, wherein the generating of the network quality information comprises, 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.
7. The data transmission method of claim 5, further comprising, 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.
US18/081,818 2019-05-28 2022-12-15 Method for transmission data and apparatus for executing the method Pending US20230121465A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (15)

* Cited by examiner, † Cited by third party
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