US20220131936A1 - Method and apparatus for controlling peer to peer connection - Google Patents
Method and apparatus for controlling peer to peer connection Download PDFInfo
- Publication number
- US20220131936A1 US20220131936A1 US17/506,968 US202117506968A US2022131936A1 US 20220131936 A1 US20220131936 A1 US 20220131936A1 US 202117506968 A US202117506968 A US 202117506968A US 2022131936 A1 US2022131936 A1 US 2022131936A1
- Authority
- US
- United States
- Prior art keywords
- path
- data quality
- network
- alternative
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
 
- 
        - H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
 
Definitions
- the present disclosure relates to a method and apparatus for controlling a peer to peer (P2P) connection. More particularly, it relates to a method and apparatus for dynamically changing a network path by analyzing the quality of data received through a currently connected network path.
- P2P peer to peer
- P2P means a two-way data transmission system of the terminal. That is, it refers to a data transmission system that connects a terminal to a terminal without a central server (e.g., a relay server).
- the P2P technology is a technology widely used as data transmission speed increases due to the development of internet technology.
- a technical problem to be solved by some embodiments of the present disclosure is to provide a method and apparatus for dynamically changing a network path, through which data is transmitted and received, according to a changed network environment.
- Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for determining a path, through which data of optimal quality can be transmitted and received.
- Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and apparatus for determining a path capable of transmitting and receiving data of better quality among a P2P path and a path via a server in transmitting and receiving data with a counterpart terminal.
- Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for calculating the quality of received data.
- Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for managing a quality history of received data.
- a method performed by a computing device for controlling a P2P connection comprising, obtaining network information of a current path for transmitting and receiving data, calculating requested data quality of the current path by using the network information and changing a network path to an alternative path by using previously stored data quality history information of the alternative path when a difference between a predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value.
- the data comprises video data of a user participating in a video conferencing service.
- the current path is any one of a P2P path and a path via a server
- the alternative path is the path via the server if the current path is the P2P path
- the alternative path is the P2P path if the current path is the path via the server.
- calculating the requested data quality of the current path comprises, calculating a packet loss rate and a delay time by using information on a packet included in the network information and calculating an available bandwidth of the current path by using the packet loss rate and the delay time.
- calculating the requested data quality of the current path comprises, updating the data quality history information of the current path by storing the calculated requested data quality of the current path to correspond to request time.
- changing the network path to the alternative path comprises, calculating the requested data quality of the alternative path by using network information of the alternative path when a difference between the predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value and changing a network path to the alternative path when a difference between the requested data quality of the alternative path and the highest data quality is less than or equal to a reference value.
- changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received through the alternative path at every predetermined period and updating the data quality history information of the alternative path by storing the calculated requested data quality of the alternative path to correspond to request time.
- calculating the requested data quality of the alternative path comprises, calculating a packet loss rate and a delay time by using information on the verification packet and calculating an available bandwidth of the alternative path by using the packet loss rate and the delay time.
- changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, changing a network path to the alternative path when the requested data quality of the alternative path included in the data quality history information of the alternative path is higher than the requested data quality of the current path.
- changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received in real time through the alternative path when the data quality history information of the alternative path does not exist and changing a network path to the alternative path when the requested data quality of the alternative path is higher than the requested data quality of the current path.
- changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received in real time through the alternative path when the data quality history information of the alternative path is information that has elapsed more than a reference time and changing a network path to the alternative path when the requested data quality of the alternative path is higher than the requested data quality of the current path.
- an apparatus for controlling a P2P connection comprises, a processor, a network interface, a memory and a computer program loaded into the memory and executed by the processor, wherein the computer program comprises, an instruction for obtaining network information of a current path for transmitting and receiving data, an instruction for calculating requested data quality of the current path by using the network information and an instruction for changing a network path to an alternative path by using previously stored data quality history information of the alternative path when a difference between predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value.
- an apparatus for controlling a P2P connection comprises, a first network measurement module for collecting network information of a P2P path to a P2P connectable counterpart terminal, a second network measurement module for collecting network information of a path via a server, a data quality management module for calculating and storing data quality of the P2P path and the path via the server by using network information obtained by the first network measurement module and the second network measurement module and a transmission path management module for determining a path for transmitting and receiving data by using data quality history information stored in the data quality management module, wherein the transmission path management module determines a network path as an alternative path by using requested data quality of the alternative path included in the data quality history information when a difference between requested data quality of the current path included in the data quality history information and predetermined highest data quality is equal to or greater than a reference value.
- FIG. 1 is a diagram for describing a P2P connection control system according to an embodiment of the present disclosure
- FIGS. 2 and 3 are diagrams for describing in more detail some configurations of the P2P connection control system described with reference to FIG. 1 ;
- FIG. 4 is a flowchart for describing a P2P access method between terminals that may be referenced in some embodiments
- FIGS. 5 and 6 are flowcharts for describing a P2P connection control method according to another embodiment of the present disclosure
- FIG. 7 is a diagram for describing in more detail a data quality calculation operation of the P2P connection control method described with reference to FIGS. 5 and 6 ;
- FIG. 8 is a diagram for describing in more detail a data quality storage operation of the P2P connection control method described with reference to FIGS. 5 and 6 ;
- FIGS. 9 to 11 are diagrams for describing in more detail the network path change criteria of the P2P connection control method described with reference to FIGS. 5 and 6 ;
- FIGS. 12 to 14 are diagrams for describing in more detail a network path change operation of the P2P connection control method described with reference to FIGS. 5 and 6 ;
- FIG. 15 is a hardware configuration diagram of an apparatus for controlling a P2P connection according to another embodiment of the present disclosure.
- first, second, A, B, (a), (b) can be used. These terms are only for distinguishing the components from other components, and the nature or order of the components is not limited by the terms. If a component is described as being “connected,” “coupled” or “contacted” to another component, that component may be directly connected to or contacted with that other component, but it should be understood that another component also may be “connected,” “coupled” or “contacted” between each component.
- FIG. 1 is a diagram for describing a P2P connection control system according to an embodiment of the present disclosure.
- the P2P connection control system may include a first terminal 100 a, a second terminal 100 b, a nth terminal 100 n, and a relay server 200 .
- Each of the components of the P2P connection control system disclosed in FIG. 1 represents functional components that are functionally separated, and any one or more components may be implemented by being integrated with each other in an actual physical environment.
- the first terminal 100 a may transmit and receive data to and from another counterpart terminal connected to the network.
- the first terminal 100 a may be connected to the counterpart terminal through P2P to transmit and receive data.
- the first terminal 100 a may transmit and receive data via the relay server 200 .
- the relay server 200 For a detailed description related thereto, it will be described below with reference to FIGS. 2 and 3 .
- FIGS. 2 and 3 are diagrams for describing in more detail some configurations of the P2P connection control system described with reference to FIG. 1 .
- FIG. 2 an example of a network path for a first terminal 100 a to transmit and receive data to and from a second terminal 100 b is illustrated.
- the P2P path in which the first terminal 100 a is directly connected to the second terminal 100 b
- the path via the server in which the first terminal 100 a is connected to the second terminal 100 b via the relay server 200
- the first terminal 100 a may transmit and receive data to and from the second terminal 100 b through any one of the P2P path and the path via the server.
- the router 300 is a device that delivers a data packet to the next device along a designated path, and is directly connected to the first terminal 100 a, the second terminal 100 b, and the relay server 200 .
- the first terminal 100 a may transmit and receive data to and from the second terminal 100 b through the P2P path.
- the first terminal 100 a transmits data to the router 300 .
- the router 300 transmits the data transmitted by the first terminal 100 a to the second terminal 100 b.
- a process, in which the first terminal 100 a receives data from the second terminal 100 b, may be easily understood from the example described in detail above.
- the first terminal 100 a may transmit and receive data to and from the second terminal 100 b through a path via a server.
- the first terminal 100 a transmits data to the router 300 .
- the router 300 transmits the data transmitted by the first terminal 100 a to the relay server 200 .
- the relay server 200 transmits data to the router 300
- the router 300 transmits data to the second terminal 100 b.
- a process, in which the first terminal 100 a receives data from the second terminal 100 b may be easily understood from the example described in detail above.
- this network may include a path via a server, through which the first terminal 100 a transmits and receives data to and from the second terminal 100 b via the relay server 200 , and a P2P path, through which the first terminal 100 a transmits and receives data to and from the second terminal 100 b without via the relay server 200 . It will be described again with reference to FIG. 1 .
- the first terminal 100 a may transmit and receive data to and from another counterpart terminal connected to the network.
- the data transmitted and received from the first terminal 100 a may include video data of a user participating in a video conferencing service.
- the data transmitted and received from the first terminal 100 a may include voice data of a user participating in the video conferencing service and data related to material attached by a user participating in the video conferencing service. That is, the video conferencing service can be provided to a user by applying the P2P connection control system according to the present embodiment.
- the first terminal 100 a may include a network measurement module (P2P), a network measurement module (server), a data (e.g. video data) quality management module, a transmission path management module, an access module, and a transmission module.
- P2P network measurement module
- server network measurement module
- data e.g. video data
- the network measurement module is a module for collecting network information of a P2P path to a counterpart terminal capable of P2P connection.
- the network information may include information about a packet received by the first terminal 100 a through the P2P path.
- a specific method of calculating the quality of a network path by using the packet-related information will be specified through description of the following specification.
- a plurality of network measurement modules may be generated as many as the number of counterpart terminals connected through P2P.
- the generated individual network measurement module may collect network information of a P2P path to the corresponding counterpart terminal for each network measurement module (P2P).
- the present disclosure is not limited to the described example, and a single network measurement module (P2P) may collect network information of a plurality of P2P paths connected to a plurality of counterpart terminals.
- the network measurement module (P2P) may collect network information at every predetermined first period.
- the first period becomes shorter, the real-time of the network information collected through the P2P path is guaranteed, so the real-time of the data quality calculated using the network information can also be guaranteed.
- the computing load may be lowered.
- the network measurement module is a module that collects network information of a path via a server.
- the network information may include information about a packet received by the first terminal 100 a through the path via the server.
- a specific method of calculating the quality of a network path by using the packet-related information will be specified through description of the following specification.
- the network measurement module (server) may collect network information at every predetermined second period.
- the second period becomes shorter, the real-time of the network information collected through the path via the server is guaranteed, so the real-time of the data quality calculated using the network information can also be guaranteed.
- the computing load may be lowered.
- Network information of the first terminal 100 a may be collected by the network measurement module (P2P) and the network measurement module (server) described above. As described with reference to FIGS. 2 and 3 , the first terminal 100 a may transmit and receive data to and from another counterpart terminal through a P2P path or a path via a server in order to transmit and receive data to and from another counterpart terminal.
- P2P network measurement module
- server network measurement module
- an alternative path for replacing the current path may be a path via a server.
- the alternative path may be a P2P path.
- the first terminal 100 a transmits and receives data to and from the counterpart terminal through the current path, and the first terminal 100 a transmits and receives a verification packet through the alternative path. Since the first terminal 100 a transmits and receives the verification packet through the alternative path, it is possible to determine whether the network connection is valid even though data is not transmitted and received with the counterpart terminal through the alternative path. In addition, it is possible to calculate the quality of data transmitted and received through the alternative path.
- the first period for the network measurement module (P2P) to collect network information of the P2P path, which is the current path may be determined to be shorter than the second period for the network measurement module (server) to collect network information of the path via the server, which is the alternative path.
- the first period for the network measurement module (P2P) to collect network information of the P2P path, which is the alternative path may be determined to be longer than the second period for the network measurement module (server) to collect network information of the path via the server, which is the current path.
- the period for collecting network information on the current path may be determined to be shorter than the period for collecting network information on the alternative path.
- the real-time of network information on the current path is guaranteed, and at the same time, it is possible to lower the computing load that may be generated from the collection of network information on the alternative path.
- the data quality management module is a module for calculating the data quality of the P2P path and the path via the server using the network information obtained by the network measurement module. A more detailed description of calculating the data quality of the network path using the network information will be described later.
- the data quality management module is a module for storing the calculated data quality of the P2P path and the calculated data quality of the path via the server.
- the data quality management module may store the calculated data quality of the network path to correspond to the request time.
- the set of data quality of the network path stored to correspond to the request time is data quality history information. With reference to such data quality history information, a network path may be determined.
- the transmission path management module is a module for determining a path, through which data is transmitted and received, by using the data quality history information stored in the data quality management module.
- the transmission path management module may change a path, through which data is transmitted and received, according to a network path change criterion to be specified through the description of the specification later.
- the access module is a module for accessing to another counterpart terminal or relay server 200 connected to the network.
- the transmission module is a module for transmitting data thorough the network path determined or changed in the transmission path management module.
- a network path for the first terminal 100 a to transmit and receive data to and from another counterpart terminal connected to the network may be determined by the plurality of modules constituting the first terminal 100 a described above.
- the first terminal 100 a may calculate the data quality of each path by using network information collected through a P2P path or a path via a server. Also, the first terminal 100 a may use the calculated data quality of each path to change the network path according to a change criterion to be specified later.
- the second terminal 100 b and the n-th terminal 100 n shown in this figure may also include the same module as the first terminal 100 a.
- the present disclosure is not limited to the number of terminals illustrated in this figure, and a plurality of terminals may be included in the present disclosure. The more specific details related to the terminal will be specified through the description of the specification later.
- the relay server 200 is a server that transmits data to a plurality of clients (e.g. terminals). In situations such as when the P2P connection between terminals is impossible or the P2P connection between terminals is interrupted, the relay server 300 may transmit data to the terminal.
- a path capable of providing high quality data may be determined based on the data quality of the network path.
- a P2P access method of the first terminal 100 a and the second terminal 100 b connected to the network will be described in more detail.
- FIG. 4 is a flowchart for describing a P2P access method between terminals that may be referenced in some embodiments.
- the P2P connection method according to the present embodiment may be performed by a computing device. Also, the method according to the present embodiment may be separately performed by the first computing device and the second computing device.
- the subject in performing each operation of the method according to the present embodiment, if the description of the subject is omitted, the subject may be interpreted as the computing device.
- the first terminal 100 a attempts authentication and access to the relay server 200 (S 110 ), and the relay server 200 transmits the access approval information to the first terminal 100 a based on the authentication information received from the first terminal 100 a (S 120 ).
- the first terminal 100 a inquires and collects private IP information (S 130 ).
- the first terminal 100 a requests the public IP information inquiry to the relay server 200 (S 140 ), and the relay server 200 transmits the inquired public IP information to the first terminal 100 a (S 150 ).
- the first terminal 100 a transmits the collected network information for P2P connection to the relay server 200 (S 160 ).
- the network information may include private IP information, public IP information, and SSID information.
- the network information of the second terminal 100 b may be transmitted to the relay server 200 .
- the relay server 200 transmits the network information for the P2P connection of the second terminal 100 b to the first terminal 100 a (S 170 ), and the relay server 200 transmits the network information for P2P connection of the first terminal 100 a to the second terminal 100 b (S 180 ).
- the first terminal 100 a and the second terminal 100 b attempt a P2P connection using the network information of the counterpart terminal (S 190 ).
- the first terminal 100 a and the second terminal 100 b may be connected through P2P by the P2P access method described with reference to FIG. 4 .
- a P2P connection control method according to another embodiment of the present disclosure will be described with reference to FIGS. 5 to 14 .
- FIGS. 5 and 6 are flowcharts for describing a P2P connection control method according to another embodiment of the present disclosure.
- the P2P connection control method according to the present embodiment may be performed by a computing device. Also, the method according to the present embodiment may be separately performed by the first computing device and the second computing device.
- the subject in performing each operation of the method according to the present embodiment, if the description of the subject is omitted, the subject may be interpreted as the computing device.
- step S 210 the network state of the current path is measured.
- the network information of the current path may be obtained.
- the network information may include information regarding received data packets.
- the quality of data received through the current path is calculated.
- the data quality may include the highest data quality (MAX_LAYER) and the requested data quality (REQ_LAYER).
- the highest data quality means data quality predetermined by the user.
- the highest data quality means the data quality that the user wants to receive.
- the requested data quality means data quality calculated using network information of a network path.
- the requested data quality refers to a value corresponding to the available bandwidth of a network path calculated using information on data packets included in network information.
- the requested data quality may be represented as a layer value determined to correspond to an available bandwidth of a network path.
- an operation of calculating the requested data quality of a network path will be described in more detail with reference to FIG. 7 .
- FIG. 7 is a diagram for describing in more detail a data quality calculation operation of the P2P connection control method described with reference to FIGS. 5 and 6 .
- the graph shown in FIG. 7 shows the number of data packets transmitted per hour through a network path.
- the packet at the upper end of the available bandwidth 11 is lost at the receiving terminal 12 , and only the packet at the lower end of the available bandwidth 11 is received by the receiving terminal.
- a packet that can be received by the receiving terminal is determined by the available bandwidth 11 .
- the available bandwidth 11 may be calculated using a packet loss rate and a delay time. Hereinafter, it will be described in more detail.
- the packet loss rate can be calculated using the total number of received packets, the sequence number of the first received packet, and the sequence number of the last received packet in the receiving terminal. For example, if the sequence number of the first received packet is 1, the sequence number of the last received packet is 100, and the total number of received packets is 50, it can be seen that 50 packets are lost. In this case, the packet loss rate is calculated as 50%.
- the delay time can be calculated using the arrival time and transmission time in the receiving terminal. For example, if each packet transmitted at Oms and 100 ms by the sending terminal arrives at 200 ms and 350 ms at the receiving terminal, the delay time of 50 ms is calculated between the receiving terminal and the sending terminal.
- the available bandwidth of the network path may be calculated. Any known method of calculating an available bandwidth of a network path using a packet loss rate and a delay time may be applied to the present disclosure. It will be described again with reference to FIG. 5 .
- step S 230 the calculated requested data quality is stored.
- the calculated requested data quality of the current path may be stored to correspond to the request time, and data quality history information of the current path may be updated.
- information on the quality of data transmitted and received through the current path may be recorded and managed to correspond to the request time.
- FIG. 8 is a diagram for describing in more detail a data quality storage operation of the P2P connection control method described with reference to FIGS. 5 and 6 .
- the data quality history information shown in (a) of FIG. 8 includes information on data quality that is newly calculated and stored when existing information on data quality does not exist.
- the highest data quality 13 is 10
- the requested data quality 14 is also 10 at the request time 15 of 8:00:00.
- the highest data quality 13 which is the data quality predetermined by the user, and the requested data quality 14 calculated from the collected network information are the same.
- the quality history information shown in (b) of FIG. 8 information on data quality does not exist.
- data is transmitted from the counterpart terminal, so that the quality history information may be updated.
- the quality history information may be updated by transmitting the verification packet from the counterpart terminal. It will be described again with reference to FIG. 5 .
- step S 270 when the difference between the highest data quality and the requested data quality of the current path is less than or equal to the reference value (S 240 ), the current path is maintained in step S 270 .
- the difference between the highest data quality predetermined by the user and the requested data quality calculated using the network information collected through the current path is less than or equal to the reference value, it is reasonable to maintain the current path.
- the network state of the alternative path is measured in step S 250 .
- steps for changing the network path may be performed.
- step S 250 the operation of measuring the network state of the alternative path is the same as that in step S 210 , except that only the measurement target network path is different.
- the network state of the alternative path may be measured in real time.
- the real-time network state of the alternative path may be measured using the information on the verification packet transmitted in real time from the counterpart terminal.
- the received data quality of the alternative path may be calculated in real time, and the calculated requested data quality may be stored.
- steps S 220 and S 230 described above may be referenced. The operations performed are the same as those in steps S 220 and S 230 described above, except that only the measurement target network path is different.
- FIG. 9 is a diagram for describing in more detail a network path change criterion of the P2P connection control method described with reference to FIG. 5 .
- the data quality history information in which data is received from the counterpart terminal through the path via the server, which is the current path 10 , is shown.
- the highest data quality 13 is 10 and the requested data quality 14 is also 10 at the request time 15 of 8:00:00.
- the second time received data quality information 17 the highest data quality 13 is 10 and the requested data quality 14 is 9 at the request time 15 of 8:05:00.
- the third time received data quality information 18 the highest data quality 13 is 10, and the requested data quality 14 is 8 at the request time 15 of 8:10:00.
- the reference value may be preset so that steps for changing the network path are performed.
- the third time received data quality information 18 shown in FIG. 9 is a case where the difference between the highest data quality 13 and the requested data quality 14 is 2 or more, and steps for changing the network path are performed. It will be described again with reference to FIG. 5 .
- step S 260 if the requested data quality deteriorates also in the alternative path, the current path is maintained in step S 270 .
- step S 310 of FIG. 6 data quality history information of the alternative path is seen.
- FIGS. 10 and 11 are diagrams for describing in more detail the network path change criteria of the P2P connection control method described with reference to FIGS. 5 and 6 .
- the first terminal 100 a transmits and receives data to and from the second terminal 100 b via the relay server 200 through the path via the server, which is the current path.
- the path via the server which is the current path
- the P2P path which is the alternative path
- the path 30 includes only the path 30 , in which the available bandwidth is not reduced, so that the requested data quality does not deteriorate.
- the first terminal 100 a transmits and receives data to and from the second terminal 100 b via the relay server 200 through the path via server, which is the current path.
- the path via the server which is the current path
- the P2P path which is the alternative path
- the path 20 with reduced available network bandwidth so that the requested data quality deteriorates.
- the path 20 with reduced available network bandwidth is assumed to be shared by the current path and the alternative path, and the current path may be maintained. According to the present embodiment, it is possible to determine whether to change the network path even when detailed information on the network connection relationship as shown in FIGS. 10 and 11 does not exist. It will be described again with reference to FIG. 6 .
- the network path is changed to the alternative path in step S 350 .
- the network path is maintained as the current path in step S 270 .
- FIGS. 12 to 14 are diagrams for describing in more detail a network path change operation of the P2P connection control method described with reference to FIGS. 5 and 6 .
- the data quality history information of the path via the server, which is the current path 10 is shown.
- the third time received data quality information 18 is a case, in which the difference between the highest data quality 13 and the requested data quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
- the data quality history information of the P2P path which is the alternative path
- the data quality history information of the P2P path includes the first data quality information 19 ( a ).
- the first data quality information 19 ( a ) is data quality information of the alternative path, and it is information that has not expired because it has not elapsed more than a reference time.
- the network path is changed to the P2P path. It will be described again with reference to FIG. 6 .
- the requested data quality of the alternative path is calculated in step S 330 .
- the requested data quality of the alternative path is calculated in step S 330 similarly.
- the requested data quality of the alternative path is newly calculated.
- step S 330 the operation of calculating the request data quality of the alternative path is the same as the operation in step S 220 , except that the target network path is different. Also, the description of step S 250 described above may be referenced. For a detailed description related thereto, it will be described with reference to FIGS. 13 and 14 .
- the third time received data quality information 18 is a case, in which the difference between the highest data quality 13 and the requested data quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
- the third time received data quality information 18 is a case, in which the difference between the highest data quality 13 and the requested data quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
- the data quality history information of the P2P path includes the third data quality information 19 ( c ).
- the third data quality information 19 ( c ) is data quality information of the alternative path, but it has elapsed more than a reference time and has expired. Therefore, the requested data quality of the alternative path should be calculated. It will be described again with reference to FIG. 6 .
- step S 340 if the calculated request data quality of the alternative path is lower than the requested data quality of the current path (S 340 ), the network path is maintained as the current path in step S 270 . On the other hand, if the requested data quality of the alternative path is higher than the requested data quality of the current path (S 340 ), the network path is changed to the alternative path in step S 350 .
- a network path may be determined as a path capable of transmitting and receiving data of better quality among the current path and the alternative path. Also, according to the present embodiment, the specific criterion for changing the network path may be provided.
- FIG. 15 An exemplary computing device 1500 that can implement an apparatus and a system, according to various embodiments of the present disclosure will be described with reference to FIG. 15 .
- FIG. 15 is an example hardware diagram illustrating a computing device 1500 .
- the computing device 1500 may include one or more processors 1510 , a bus 1550 , a communication interface 1570 , a memory 1530 , which loads a computer program 1591 executed by the processors 1510 , and a storage 1590 for storing the computer program 1591 .
- FIG. 15 illustrates only the components related to the embodiment of the present disclosure. Therefore, it will be appreciated by those skilled in the art that the present disclosure may further include other general purpose components in addition to the components shown in FIG. 15 .
- the processor 1510 controls overall operations of each component of the computing device 1500 .
- the processor 1510 may be configured to include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphics Processing Unit (GPU), or any type of processor well known in the art. Further, the processor 1510 may perform calculations on at least one application or program for executing a method/operation according to various embodiments of the present disclosure.
- the computing device 1500 may have one or more processors.
- the memory 1530 stores various data, instructions and/or information.
- the memory 1530 may load one or more programs 1591 from the storage 1590 to execute methods/operations according to various embodiments of the present disclosure.
- the logic or the module as shown in FIG. 5 may be implemented on the memory 1530 .
- An example of the memory 1530 may be a RAM, but is not limited thereto.
- the bus 1550 provides communication between components of the computing device 1500 .
- the bus 1550 may be implemented as various types of bus such as an address bus, a data bus and a control bus.
- the communication interface 1570 supports wired and wireless internet communication of the computing device 1500 .
- the communication interface 1570 may support various communication methods other than internet communication.
- the communication interface 1570 may be configured to comprise a communication module well known in the art of the present disclosure.
- the storage 1590 can non-temporarily store one or more computer programs 1591 .
- the storage 1590 may be configured to comprise a non-volatile memory, such as a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or any type of computer readable recording medium well known in the art.
- ROM Read Only Memory
- EPROM Erasable Programmable ROM
- EEPROM Electrically Erasable Programmable ROM
- the computer program 1591 may include one or more instructions, on which the methods/operations according to various embodiments of the present disclosure are implemented.
- the processor 1510 may perform the methods/operations in accordance with various embodiments of the present disclosure by executing the one or more instructions.
- the technical features of the present disclosure described so far may be embodied as computer readable codes on a computer readable medium.
- the computer readable medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer equipped hard disk).
- the computer program recorded on the computer readable medium may be transmitted to other computing device via a network such as internet and installed in the other computing device, thereby being used in the other computing device.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
-  This application claims the benefit of Korean Patent Application No. 10-2020-0137254, filed on Oct. 22, 2020, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
-  The present disclosure relates to a method and apparatus for controlling a peer to peer (P2P) connection. More particularly, it relates to a method and apparatus for dynamically changing a network path by analyzing the quality of data received through a currently connected network path.
-  P2P means a two-way data transmission system of the terminal. That is, it refers to a data transmission system that connects a terminal to a terminal without a central server (e.g., a relay server). The P2P technology is a technology widely used as data transmission speed increases due to the development of internet technology.
-  In the prior art, when the available bandwidth of the network decreases, the quality of transmission and reception data is lowered, and when the available bandwidth of the network increases, the quality of transmission and reception data is improved. In this prior art, when the available bandwidth of the network continuously decreases, the quality of transmission and reception data also should be continuously lowered accordingly.
-  In particular, there is a problem in that when the available bandwidth of the network continuously decreases in the video conferencing service, to which the prior art is applied, only voice data is transmitted and received without transmitting and receiving video data.
-  A technical problem to be solved by some embodiments of the present disclosure is to provide a method and apparatus for dynamically changing a network path, through which data is transmitted and received, according to a changed network environment.
-  Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for determining a path, through which data of optimal quality can be transmitted and received.
-  Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and apparatus for determining a path capable of transmitting and receiving data of better quality among a P2P path and a path via a server in transmitting and receiving data with a counterpart terminal.
-  Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for calculating the quality of received data.
-  Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for managing a quality history of received data.
-  The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
-  According to a method performed by a computing device for controlling a P2P connection comprising, obtaining network information of a current path for transmitting and receiving data, calculating requested data quality of the current path by using the network information and changing a network path to an alternative path by using previously stored data quality history information of the alternative path when a difference between a predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value.
-  According to an embodiment, wherein the data comprises video data of a user participating in a video conferencing service.
-  According to an embodiment, wherein the current path is any one of a P2P path and a path via a server, wherein the alternative path is the path via the server if the current path is the P2P path, and the alternative path is the P2P path if the current path is the path via the server.
-  According to an embodiment, wherein calculating the requested data quality of the current path comprises, calculating a packet loss rate and a delay time by using information on a packet included in the network information and calculating an available bandwidth of the current path by using the packet loss rate and the delay time.
-  According to an embodiment, wherein calculating the requested data quality of the current path comprises, updating the data quality history information of the current path by storing the calculated requested data quality of the current path to correspond to request time.
-  According to an embodiment, wherein changing the network path to the alternative path comprises, calculating the requested data quality of the alternative path by using network information of the alternative path when a difference between the predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value and changing a network path to the alternative path when a difference between the requested data quality of the alternative path and the highest data quality is less than or equal to a reference value.
-  According to an embodiment, wherein changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received through the alternative path at every predetermined period and updating the data quality history information of the alternative path by storing the calculated requested data quality of the alternative path to correspond to request time.
-  According to an embodiment, wherein calculating the requested data quality of the alternative path comprises, calculating a packet loss rate and a delay time by using information on the verification packet and calculating an available bandwidth of the alternative path by using the packet loss rate and the delay time.
-  According to an embodiment, wherein changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, changing a network path to the alternative path when the requested data quality of the alternative path included in the data quality history information of the alternative path is higher than the requested data quality of the current path.
-  According to an embodiment, wherein changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received in real time through the alternative path when the data quality history information of the alternative path does not exist and changing a network path to the alternative path when the requested data quality of the alternative path is higher than the requested data quality of the current path.
-  According to an embodiment, wherein changing a network path to the alternative path by using the previously stored data quality history information of the alternative path comprises, calculating requested data quality of the alternative path by using information on a verification packet received in real time through the alternative path when the data quality history information of the alternative path is information that has elapsed more than a reference time and changing a network path to the alternative path when the requested data quality of the alternative path is higher than the requested data quality of the current path.
-  According to another aspect of the present disclosure, an apparatus for controlling a P2P connection comprises, a processor, a network interface, a memory and a computer program loaded into the memory and executed by the processor, wherein the computer program comprises, an instruction for obtaining network information of a current path for transmitting and receiving data, an instruction for calculating requested data quality of the current path by using the network information and an instruction for changing a network path to an alternative path by using previously stored data quality history information of the alternative path when a difference between predetermined highest data quality and the requested data quality of the current path is equal to or greater than a reference value.
-  According to another aspect of the present disclosure, an apparatus for controlling a P2P connection comprises, a first network measurement module for collecting network information of a P2P path to a P2P connectable counterpart terminal, a second network measurement module for collecting network information of a path via a server, a data quality management module for calculating and storing data quality of the P2P path and the path via the server by using network information obtained by the first network measurement module and the second network measurement module and a transmission path management module for determining a path for transmitting and receiving data by using data quality history information stored in the data quality management module, wherein the transmission path management module determines a network path as an alternative path by using requested data quality of the alternative path included in the data quality history information when a difference between requested data quality of the current path included in the data quality history information and predetermined highest data quality is equal to or greater than a reference value.
-  These and/or other aspects will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings in which:
-  FIG. 1 is a diagram for describing a P2P connection control system according to an embodiment of the present disclosure;
-  FIGS. 2 and 3 are diagrams for describing in more detail some configurations of the P2P connection control system described with reference toFIG. 1 ;
-  FIG. 4 is a flowchart for describing a P2P access method between terminals that may be referenced in some embodiments;
-  FIGS. 5 and 6 are flowcharts for describing a P2P connection control method according to another embodiment of the present disclosure;
-  FIG. 7 is a diagram for describing in more detail a data quality calculation operation of the P2P connection control method described with reference toFIGS. 5 and 6 ;
-  FIG. 8 is a diagram for describing in more detail a data quality storage operation of the P2P connection control method described with reference toFIGS. 5 and 6 ;
-  FIGS. 9 to 11 are diagrams for describing in more detail the network path change criteria of the P2P connection control method described with reference toFIGS. 5 and 6 ;
-  FIGS. 12 to 14 are diagrams for describing in more detail a network path change operation of the P2P connection control method described with reference toFIGS. 5 and 6 ; and
-  FIG. 15 is a hardware configuration diagram of an apparatus for controlling a P2P connection according to another embodiment of the present disclosure.
-  Hereinafter, preferred embodiments of the present disclosure will be described with reference to the attached drawings. Advantages and features of the present disclosure and methods of accomplishing the same may be understood more readily by reference to the following detailed description of preferred embodiments and the accompanying drawings. The present disclosure may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the disclosure to those skilled in the art, and the present disclosure will only be defined by the appended claims.
-  In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present inventive concept, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present inventive concept, the detailed description thereof will be omitted.
-  Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.
-  In addition, in describing the component of this invention, terms, such as first, second, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature or order of the components is not limited by the terms. If a component is described as being “connected,” “coupled” or “contacted” to another component, that component may be directly connected to or contacted with that other component, but it should be understood that another component also may be “connected,” “coupled” or “contacted” between each component.
-  Hereinafter, some embodiments of the present inventive concept will be described in detail with reference to the accompanying drawings.
-  FIG. 1 is a diagram for describing a P2P connection control system according to an embodiment of the present disclosure.
-  Referring toFIG. 1 , the P2P connection control system may include afirst terminal 100 a, asecond terminal 100 b, anth terminal 100 n, and arelay server 200. Each of the components of the P2P connection control system disclosed inFIG. 1 represents functional components that are functionally separated, and any one or more components may be implemented by being integrated with each other in an actual physical environment.
-  Hereinafter, the components of the P2P connection control system will be described in more detail.
-  Thefirst terminal 100 a may transmit and receive data to and from another counterpart terminal connected to the network. In this case, the first terminal 100 a may be connected to the counterpart terminal through P2P to transmit and receive data. Also, the first terminal 100 a may transmit and receive data via therelay server 200. For a detailed description related thereto, it will be described below with reference toFIGS. 2 and 3 .
-  FIGS. 2 and 3 are diagrams for describing in more detail some configurations of the P2P connection control system described with reference toFIG. 1 .
-  Referring toFIG. 2 , an example of a network path for a first terminal 100 a to transmit and receive data to and from asecond terminal 100 b is illustrated. Here, the P2P path, in which the first terminal 100 a is directly connected to thesecond terminal 100 b, and the path via the server, in which the first terminal 100 a is connected to thesecond terminal 100 b via therelay server 200, can be seen. In this case, the first terminal 100 a may transmit and receive data to and from thesecond terminal 100 b through any one of the P2P path and the path via the server.
-  Referring toFIG. 3 , another example of a network path for the first terminal 100 a to transmit and receive data to and from thesecond terminal 100 b is illustrated. Here, therouter 300 is a device that delivers a data packet to the next device along a designated path, and is directly connected to the first terminal 100 a, thesecond terminal 100 b, and therelay server 200.
-  In this case, the first terminal 100 a may transmit and receive data to and from thesecond terminal 100 b through the P2P path. When the process, in which the first terminal 100 a transmits data to thesecond terminal 100 b through the P2P path, is described in more detail, the first terminal 100 a transmits data to therouter 300. Next, therouter 300 transmits the data transmitted by the first terminal 100 a to thesecond terminal 100 b. A process, in which the first terminal 100 a receives data from thesecond terminal 100 b, may be easily understood from the example described in detail above.
-  Also, the first terminal 100 a may transmit and receive data to and from thesecond terminal 100 b through a path via a server. When the process, in which the first terminal 100 a transmits data to thesecond terminal 100 b through the path via the server, is described in more detail, the first terminal 100 a transmits data to therouter 300. Next, therouter 300 transmits the data transmitted by the first terminal 100 a to therelay server 200. Next, therelay server 200 transmits data to therouter 300, and therouter 300 transmits data to thesecond terminal 100 b. A process, in which the first terminal 100 a receives data from thesecond terminal 100 b, may be easily understood from the example described in detail above.
-  With reference toFIGS. 2 and 3 above, examples of a network path for the first terminal 100 a to transmit and receive data to and from thesecond terminal 100 b have been described. However, the present disclosure is not limited to these examples, and various networks including the first terminal 100 a, thesecond terminal 100 b and therelay server 200 may be included in the present disclosure. As described inFIGS. 2 and 3 , this network may include a path via a server, through which the first terminal 100 a transmits and receives data to and from thesecond terminal 100 b via therelay server 200, and a P2P path, through which the first terminal 100 a transmits and receives data to and from thesecond terminal 100 b without via therelay server 200. It will be described again with reference toFIG. 1 .
-  As described above, the first terminal 100 a may transmit and receive data to and from another counterpart terminal connected to the network. In some embodiments, the data transmitted and received from the first terminal 100 a may include video data of a user participating in a video conferencing service. In this case, the data transmitted and received from the first terminal 100 a may include voice data of a user participating in the video conferencing service and data related to material attached by a user participating in the video conferencing service. That is, the video conferencing service can be provided to a user by applying the P2P connection control system according to the present embodiment.
-  Hereinafter, the configuration of the first terminal 100 a will be described in more detail.
-  The first terminal 100 a may include a network measurement module (P2P), a network measurement module (server), a data (e.g. video data) quality management module, a transmission path management module, an access module, and a transmission module.
-  The network measurement module (P2P) is a module for collecting network information of a P2P path to a counterpart terminal capable of P2P connection. Here, the network information may include information about a packet received by the first terminal 100 a through the P2P path. A specific method of calculating the quality of a network path by using the packet-related information will be specified through description of the following specification.
-  In some embodiments related to the network measurement module (P2P), a plurality of network measurement modules (P2P) may be generated as many as the number of counterpart terminals connected through P2P. Here, the generated individual network measurement module (P2P) may collect network information of a P2P path to the corresponding counterpart terminal for each network measurement module (P2P). However, the present disclosure is not limited to the described example, and a single network measurement module (P2P) may collect network information of a plurality of P2P paths connected to a plurality of counterpart terminals.
-  Also, in some other embodiments related to the network measurement module (P2P), the network measurement module (P2P) may collect network information at every predetermined first period. Here, as the first period becomes shorter, the real-time of the network information collected through the P2P path is guaranteed, so the real-time of the data quality calculated using the network information can also be guaranteed. On the other hand, if the first period becomes longer, the computing load may be lowered.
-  Next, the network measurement module (server) is a module that collects network information of a path via a server. Here, the network information may include information about a packet received by the first terminal 100 a through the path via the server. A specific method of calculating the quality of a network path by using the packet-related information will be specified through description of the following specification.
-  In some embodiments related to the network measurement module (server), the network measurement module (server) may collect network information at every predetermined second period. Here, as the second period becomes shorter, the real-time of the network information collected through the path via the server is guaranteed, so the real-time of the data quality calculated using the network information can also be guaranteed. On the other hand, if the second period becomes longer, the computing load may be lowered.
-  Network information of the first terminal 100 a may be collected by the network measurement module (P2P) and the network measurement module (server) described above. As described with reference toFIGS. 2 and 3 , the first terminal 100 a may transmit and receive data to and from another counterpart terminal through a P2P path or a path via a server in order to transmit and receive data to and from another counterpart terminal.
-  Accordingly, when the current path, which is a network path for currently transmitting and receiving data, is a P2P path, an alternative path for replacing the current path may be a path via a server. Conversely, when the current path is a path via a server, the alternative path may be a P2P path. In this case, the first terminal 100 a transmits and receives data to and from the counterpart terminal through the current path, and the first terminal 100 a transmits and receives a verification packet through the alternative path. Since the first terminal 100 a transmits and receives the verification packet through the alternative path, it is possible to determine whether the network connection is valid even though data is not transmitted and received with the counterpart terminal through the alternative path. In addition, it is possible to calculate the quality of data transmitted and received through the alternative path.
-  In some embodiments related thereto, if the current path is a P2P path, the first period for the network measurement module (P2P) to collect network information of the P2P path, which is the current path, may be determined to be shorter than the second period for the network measurement module (server) to collect network information of the path via the server, which is the alternative path. In addition, if the current path is a path via a server, the first period for the network measurement module (P2P) to collect network information of the P2P path, which is the alternative path, may be determined to be longer than the second period for the network measurement module (server) to collect network information of the path via the server, which is the current path. That is, the period for collecting network information on the current path may be determined to be shorter than the period for collecting network information on the alternative path. According to the present embodiment, the real-time of network information on the current path is guaranteed, and at the same time, it is possible to lower the computing load that may be generated from the collection of network information on the alternative path.
-  Next, the data quality management module is a module for calculating the data quality of the P2P path and the path via the server using the network information obtained by the network measurement module. A more detailed description of calculating the data quality of the network path using the network information will be described later.
-  In addition, the data quality management module is a module for storing the calculated data quality of the P2P path and the calculated data quality of the path via the server. Here, the data quality management module may store the calculated data quality of the network path to correspond to the request time. As such, the set of data quality of the network path stored to correspond to the request time is data quality history information. With reference to such data quality history information, a network path may be determined.
-  Next, the transmission path management module is a module for determining a path, through which data is transmitted and received, by using the data quality history information stored in the data quality management module. The transmission path management module may change a path, through which data is transmitted and received, according to a network path change criterion to be specified through the description of the specification later.
-  Next, the access module is a module for accessing to another counterpart terminal orrelay server 200 connected to the network. In addition, the transmission module is a module for transmitting data thorough the network path determined or changed in the transmission path management module.
-  A network path for the first terminal 100 a to transmit and receive data to and from another counterpart terminal connected to the network may be determined by the plurality of modules constituting the first terminal 100 a described above. Here, the first terminal 100 a may calculate the data quality of each path by using network information collected through a P2P path or a path via a server. Also, the first terminal 100 a may use the calculated data quality of each path to change the network path according to a change criterion to be specified later.
-  Although the module included in the first terminal 100 a has been described above, thesecond terminal 100 b and the n-th terminal 100 n shown in this figure may also include the same module as the first terminal 100 a. In addition, in this figure, only the first terminal 100 a, thesecond terminal 100 b, and the n-th terminal 100 n are shown as the terminal, but the present disclosure is not limited to the number of terminals illustrated in this figure, and a plurality of terminals may be included in the present disclosure. The more specific details related to the terminal will be specified through the description of the specification later.
-  Next, therelay server 200 is a server that transmits data to a plurality of clients (e.g. terminals). In situations such as when the P2P connection between terminals is impossible or the P2P connection between terminals is interrupted, therelay server 300 may transmit data to the terminal.
-  As described above, according to the P2P connection control system according to the present embodiment described with reference toFIGS. 1 to 3 , a path capable of providing high quality data may be determined based on the data quality of the network path. Hereinafter, with reference toFIG. 4 , a P2P access method of the first terminal 100 a and thesecond terminal 100 b connected to the network will be described in more detail.
-  FIG. 4 is a flowchart for describing a P2P access method between terminals that may be referenced in some embodiments. The P2P connection method according to the present embodiment may be performed by a computing device. Also, the method according to the present embodiment may be separately performed by the first computing device and the second computing device. Hereinafter, in performing each operation of the method according to the present embodiment, if the description of the subject is omitted, the subject may be interpreted as the computing device.
-  Referring toFIG. 4 , the first terminal 100 a attempts authentication and access to the relay server 200 (S110), and therelay server 200 transmits the access approval information to the first terminal 100 a based on the authentication information received from the first terminal 100 a (S120). The first terminal 100 a inquires and collects private IP information (S130). In addition, the first terminal 100 a requests the public IP information inquiry to the relay server 200 (S140), and therelay server 200 transmits the inquired public IP information to the first terminal 100 a (S150).
-  Next, the first terminal 100 a transmits the collected network information for P2P connection to the relay server 200 (S160). Here, the network information may include private IP information, public IP information, and SSID information.
-  Similar to the method, in which the first terminal 100 a transmits network information to therelay server 200 for P2P connection described above through steps S110 to S160, the network information of thesecond terminal 100 b may be transmitted to therelay server 200.
-  Next, therelay server 200 transmits the network information for the P2P connection of thesecond terminal 100 b to the first terminal 100 a (S170), and therelay server 200 transmits the network information for P2P connection of the first terminal 100 a to thesecond terminal 100 b (S180).
-  Next, the first terminal 100 a and thesecond terminal 100 b attempt a P2P connection using the network information of the counterpart terminal (S190).
-  As described above, the first terminal 100 a and thesecond terminal 100 b may be connected through P2P by the P2P access method described with reference toFIG. 4 . Hereinafter, a P2P connection control method according to another embodiment of the present disclosure will be described with reference toFIGS. 5 to 14 .
-  FIGS. 5 and 6 are flowcharts for describing a P2P connection control method according to another embodiment of the present disclosure. The P2P connection control method according to the present embodiment may be performed by a computing device. Also, the method according to the present embodiment may be separately performed by the first computing device and the second computing device. Hereinafter, in performing each operation of the method according to the present embodiment, if the description of the subject is omitted, the subject may be interpreted as the computing device.
-  Referring toFIG. 5 , in step S210, the network state of the current path is measured. By this step, the network information of the current path may be obtained. As described above, the network information may include information regarding received data packets.
-  Next, in step S220, the quality of data received through the current path is calculated. Here, the data quality may include the highest data quality (MAX_LAYER) and the requested data quality (REQ_LAYER). In this case, the highest data quality means data quality predetermined by the user. The highest data quality means the data quality that the user wants to receive. In this case, the requested data quality means data quality calculated using network information of a network path. The requested data quality refers to a value corresponding to the available bandwidth of a network path calculated using information on data packets included in network information.
-  In some embodiments, the requested data quality may be represented as a layer value determined to correspond to an available bandwidth of a network path. Hereinafter, an operation of calculating the requested data quality of a network path will be described in more detail with reference toFIG. 7 .
-  FIG. 7 is a diagram for describing in more detail a data quality calculation operation of the P2P connection control method described with reference toFIGS. 5 and 6 .
-  The graph shown inFIG. 7 shows the number of data packets transmitted per hour through a network path. Referring toFIG. 7 , the packet at the upper end of theavailable bandwidth 11 is lost at the receivingterminal 12, and only the packet at the lower end of theavailable bandwidth 11 is received by the receiving terminal. As such, a packet that can be received by the receiving terminal is determined by theavailable bandwidth 11. Theavailable bandwidth 11 may be calculated using a packet loss rate and a delay time. Hereinafter, it will be described in more detail.
-  When the sending terminal transmits a packet including the sequentially increasing sequence number, the packet loss rate can be calculated using the total number of received packets, the sequence number of the first received packet, and the sequence number of the last received packet in the receiving terminal. For example, if the sequence number of the first received packet is 1, the sequence number of the last received packet is 100, and the total number of received packets is 50, it can be seen that 50 packets are lost. In this case, the packet loss rate is calculated as 50%.
-  When the sending terminal transmits a packet including the transmission time, the delay time can be calculated using the arrival time and transmission time in the receiving terminal. For example, if each packet transmitted at Oms and 100 ms by the sending terminal arrives at 200 ms and 350 ms at the receiving terminal, the delay time of 50 ms is calculated between the receiving terminal and the sending terminal.
-  Using the packet loss rate and delay time described above, the available bandwidth of the network path may be calculated. Any known method of calculating an available bandwidth of a network path using a packet loss rate and a delay time may be applied to the present disclosure. It will be described again with reference toFIG. 5 .
-  Next, in step S230, the calculated requested data quality is stored.
-  In some embodiments related to step S230, the calculated requested data quality of the current path may be stored to correspond to the request time, and data quality history information of the current path may be updated. According to the present embodiment, information on the quality of data transmitted and received through the current path may be recorded and managed to correspond to the request time. For a more detailed description related thereto, it will be described with reference toFIG. 8 .
-  FIG. 8 is a diagram for describing in more detail a data quality storage operation of the P2P connection control method described with reference toFIGS. 5 and 6 .
-  Referring to (a) ofFIG. 8 , data quality history information of the path via the server, which is thecurrent path 10, is shown. Referring to (b) ofFIG. 8 , data quality history information of the P2P path, which is the alternative path, is shown.
-  The data quality history information shown in (a) ofFIG. 8 includes information on data quality that is newly calculated and stored when existing information on data quality does not exist. In the information about the stored data quality, thehighest data quality 13 is 10, and the requesteddata quality 14 is also 10 at therequest time 15 of 8:00:00. At this time, thehighest data quality 13, which is the data quality predetermined by the user, and the requesteddata quality 14 calculated from the collected network information are the same.
-  In the data quality history information shown in (b) ofFIG. 8 , information on data quality does not exist. In some embodiments, when thecurrent path 10 is changed to a P2P path, data is transmitted from the counterpart terminal, so that the quality history information may be updated. In addition, in some other embodiments, the quality history information may be updated by transmitting the verification packet from the counterpart terminal. It will be described again with reference toFIG. 5 .
-  Next, when the difference between the highest data quality and the requested data quality of the current path is less than or equal to the reference value (S240), the current path is maintained in step S270. When the difference between the highest data quality predetermined by the user and the requested data quality calculated using the network information collected through the current path is less than or equal to the reference value, it is reasonable to maintain the current path.
-  On the other hand, when the difference between the highest data quality and the requested data quality of the current path is equal to or greater than the reference value (S240), the network state of the alternative path is measured in step S250. When the difference between the highest data quality predetermined by the user and the requested data quality calculated using the network information collected through the current path is equal to or greater than the reference value, steps for changing the network path may be performed.
-  In step S250, the operation of measuring the network state of the alternative path is the same as that in step S210, except that only the measurement target network path is different.
-  In some embodiments related to step S250, the network state of the alternative path may be measured in real time. In this case, the real-time network state of the alternative path may be measured using the information on the verification packet transmitted in real time from the counterpart terminal.
-  In some other embodiments related to step S250, the received data quality of the alternative path may be calculated in real time, and the calculated requested data quality may be stored. In this case, steps S220 and S230 described above may be referenced. The operations performed are the same as those in steps S220 and S230 described above, except that only the measurement target network path is different.
-  Hereinafter, step S240 will be described in more detail with reference toFIG. 9 .FIG. 9 is a diagram for describing in more detail a network path change criterion of the P2P connection control method described with reference toFIG. 5 .
-  Referring toFIG. 9 , the data quality history information, in which data is received from the counterpart terminal through the path via the server, which is thecurrent path 10, is shown. In the first time receiveddata quality information 16, thehighest data quality 13 is 10 and the requesteddata quality 14 is also 10 at therequest time 15 of 8:00:00. In the second time receiveddata quality information 17, thehighest data quality 13 is 10 and the requesteddata quality 14 is 9 at therequest time 15 of 8:05:00. In the third time receiveddata quality information 18, thehighest data quality 13 is 10, and the requesteddata quality 14 is 8 at therequest time 15 of 8:10:00.
-  For example, when the difference between thehighest data quality 13 and the requesteddata quality 14 is 2 or more, the reference value may be preset so that steps for changing the network path are performed. In this case, the third time receiveddata quality information 18 shown inFIG. 9 is a case where the difference between thehighest data quality 13 and the requesteddata quality 14 is 2 or more, and steps for changing the network path are performed. It will be described again with reference toFIG. 5 .
-  Next, in step S260, if the requested data quality deteriorates also in the alternative path, the current path is maintained in step S270. On the other hand, if the requested data quality of the alternative path does not deteriorate, in step S310 ofFIG. 6 , data quality history information of the alternative path is seen. For a detailed description related thereto, it will be described with reference toFIGS. 10 to 11 .
-  FIGS. 10 and 11 are diagrams for describing in more detail the network path change criteria of the P2P connection control method described with reference toFIGS. 5 and 6 .
-  Referring toFIG. 10 , the first terminal 100 a transmits and receives data to and from thesecond terminal 100 b via therelay server 200 through the path via the server, which is the current path. In this case, the path via the server, which is the current path, includes thepath 20, in which the available network bandwidth is reduced, so that the requested data quality deteriorates. On the other hand, the P2P path, which is the alternative path, includes only thepath 30, in which the available bandwidth is not reduced, so that the requested data quality does not deteriorate. As such, when the current path and the alternative path do not share thepath 20 with reduced available network bandwidth, there is a possibility that transmitting and receiving data through the alternative path is likely to transmit data of improved quality, so steps for changing the network path are performed.
-  On the other hand, referring toFIG. 11 , the first terminal 100 a transmits and receives data to and from thesecond terminal 100 b via therelay server 200 through the path via server, which is the current path. In this case, the path via the server, which is the current path, includes thepath 20 with reduced available bandwidth, so that the requested data quality deteriorates. In addition, the P2P path, which is the alternative path, also includes thepath 20 with reduced available network bandwidth, so that the requested data quality deteriorates. As such, when the current path and the alternative path share thepath 20 with reduced available network bandwidth, there is no possibility of transmitting data of improved quality even when transmitting and receiving data through the alternative path, so steps for changing the network path are not performed, and the current path is maintained.
-  In some embodiments, when detailed information about a network connection relationship, in which a plurality of terminals and a relay server are connected, is not checked, and the requested data quality of the alternative path also deteriorates like the requested data quality of the current path, thepath 20 with reduced available network bandwidth is assumed to be shared by the current path and the alternative path, and the current path may be maintained. According to the present embodiment, it is possible to determine whether to change the network path even when detailed information on the network connection relationship as shown inFIGS. 10 and 11 does not exist. It will be described again with reference toFIG. 6 .
-  Referring toFIG. 6 , if the data quality history information of the alternative path exists, the data quality history information of the alternative path has not expired because it has not elapsed more than a reference time (S320), and the requested data quality of the alternative path is higher than the requested data quality of the current path (S340), the network path is changed to the alternative path in step S350.
-  On the other hand, if the data quality history information of the alternative path exists, and the data quality history information of the alternative path has not expired because it has not elapsed more than the reference time (S320), and the requested data quality of the alternative path is lower than the requested data quality of the current path (S340), the network path is maintained as the current path in step S270.
-  For a detailed description related thereto, it will be described with reference toFIG. 12 .FIGS. 12 to 14 are diagrams for describing in more detail a network path change operation of the P2P connection control method described with reference toFIGS. 5 and 6 .
-  Referring to (a) ofFIG. 12 , the data quality history information of the path via the server, which is thecurrent path 10, is shown. Here, as described with reference toFIG. 9 , the third time receiveddata quality information 18 is a case, in which the difference between thehighest data quality 13 and the requesteddata quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
-  Referring to (b) ofFIG. 12 , the data quality history information of the P2P path, which is the alternative path, is shown. Here, the data quality history information of the P2P path includes the first data quality information 19(a). The first data quality information 19(a) is data quality information of the alternative path, and it is information that has not expired because it has not elapsed more than a reference time. In addition, since the requesteddata quality 14 included in the first data quality information 19(a) is higher than the requesteddata quality 14 included in the third time receiveddata quality information 18 of the current path, the network path is changed to the P2P path. It will be described again with reference toFIG. 6 .
-  Referring toFIG. 6 , if the data quality history information of the alternative path does not exist (S320), the requested data quality of the alternative path is calculated in step S330. In addition, if the data quality history information of the alternative path exists but its period has expired (S320), the requested data quality of the alternative path is calculated in step S330 similarly. According to the present embodiment, when the data quality history information of the alternative path does not exist or the validity period of the data quality history information has expired and the requested data quality of the alternative path cannot be guaranteed, the requested data quality of the alternative path is newly calculated.
-  In step S330, the operation of calculating the request data quality of the alternative path is the same as the operation in step S220, except that the target network path is different. Also, the description of step S250 described above may be referenced. For a detailed description related thereto, it will be described with reference toFIGS. 13 and 14 .
-  Referring to (a) ofFIG. 13 , data quality history information of a path via a server, which is thecurrent path 10, is shown. Here, as described with reference toFIG. 9 , the third time receiveddata quality information 18 is a case, in which the difference between thehighest data quality 13 and the requesteddata quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
-  Referring to (b) ofFIG. 13 , data quality history information of the P2P path, which is the alternative path, is shown. Here, the data quality history information does not exist in the second data quality information 19(b). Therefore, the requested data quality of the alternative path should be calculated.
-  Referring to (a) ofFIG. 14 , data quality history information of the path via the server, which is thecurrent path 10, is shown. Here, as described with reference toFIG. 9 , the third time receiveddata quality information 18 is a case, in which the difference between thehighest data quality 13 and the requesteddata quality 14 is greater than or equal to a reference value, and steps for changing the network path are performed.
-  Referring to (b) ofFIG. 14 , data quality history information of the P2P path, which is the alternative path, is shown. Here, the data quality history information of the P2P path includes the third data quality information 19(c). The third data quality information 19(c) is data quality information of the alternative path, but it has elapsed more than a reference time and has expired. Therefore, the requested data quality of the alternative path should be calculated. It will be described again with reference toFIG. 6 .
-  Next, in step S340, if the calculated request data quality of the alternative path is lower than the requested data quality of the current path (S340), the network path is maintained as the current path in step S270. On the other hand, if the requested data quality of the alternative path is higher than the requested data quality of the current path (S340), the network path is changed to the alternative path in step S350.
-  As described above, according to the present embodiment described with reference toFIGS. 5 to 14 , a network path may be determined as a path capable of transmitting and receiving data of better quality among the current path and the alternative path. Also, according to the present embodiment, the specific criterion for changing the network path may be provided.
-  Hereinafter, anexemplary computing device 1500 that can implement an apparatus and a system, according to various embodiments of the present disclosure will be described with reference toFIG. 15 .
-  FIG. 15 is an example hardware diagram illustrating acomputing device 1500.
-  As shown inFIG. 15 , thecomputing device 1500 may include one ormore processors 1510, abus 1550, acommunication interface 1570, amemory 1530, which loads acomputer program 1591 executed by theprocessors 1510, and astorage 1590 for storing thecomputer program 1591. However,FIG. 15 illustrates only the components related to the embodiment of the present disclosure. Therefore, it will be appreciated by those skilled in the art that the present disclosure may further include other general purpose components in addition to the components shown inFIG. 15 .
-  Theprocessor 1510 controls overall operations of each component of thecomputing device 1500. Theprocessor 1510 may be configured to include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphics Processing Unit (GPU), or any type of processor well known in the art. Further, theprocessor 1510 may perform calculations on at least one application or program for executing a method/operation according to various embodiments of the present disclosure. Thecomputing device 1500 may have one or more processors.
-  Thememory 1530 stores various data, instructions and/or information. Thememory 1530 may load one ormore programs 1591 from thestorage 1590 to execute methods/operations according to various embodiments of the present disclosure. For example, when thecomputer program 1591 is loaded into thememory 1530, the logic (or the module) as shown inFIG. 5 may be implemented on thememory 1530. An example of thememory 1530 may be a RAM, but is not limited thereto.
-  Thebus 1550 provides communication between components of thecomputing device 1500. Thebus 1550 may be implemented as various types of bus such as an address bus, a data bus and a control bus.
-  Thecommunication interface 1570 supports wired and wireless internet communication of thecomputing device 1500. Thecommunication interface 1570 may support various communication methods other than internet communication. To this end, thecommunication interface 1570 may be configured to comprise a communication module well known in the art of the present disclosure.
-  Thestorage 1590 can non-temporarily store one ormore computer programs 1591. Thestorage 1590 may be configured to comprise a non-volatile memory, such as a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or any type of computer readable recording medium well known in the art.
-  Thecomputer program 1591 may include one or more instructions, on which the methods/operations according to various embodiments of the present disclosure are implemented. When thecomputer program 1591 is loaded on thememory 1530, theprocessor 1510 may perform the methods/operations in accordance with various embodiments of the present disclosure by executing the one or more instructions.
-  The technical features of the present disclosure described so far may be embodied as computer readable codes on a computer readable medium. The computer readable medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer equipped hard disk). The computer program recorded on the computer readable medium may be transmitted to other computing device via a network such as internet and installed in the other computing device, thereby being used in the other computing device.
-  Although the operations are shown in a specific order in the drawings, those skilled in the art will appreciate that many variations and modifications can be made to the preferred embodiments without substantially departing from the principles of the present inventive concept. Therefore, the disclosed preferred embodiments of the invention are used in a generic and descriptive sense only and not for purposes of limitation. The scope of protection of the present inventive concept should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the technical idea defined by the present disclosure.
Claims (20)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020200137254A KR20220053151A (en) | 2020-10-22 | 2020-10-22 | Method and apparatus for controlling peer to peer connection | 
| KR10-2020-0137254 | 2020-10-22 | 
Publications (2)
| Publication Number | Publication Date | 
|---|---|
| US20220131936A1 true US20220131936A1 (en) | 2022-04-28 | 
| US11611614B2 US11611614B2 (en) | 2023-03-21 | 
Family
ID=81257171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| US17/506,968 Active US11611614B2 (en) | 2020-10-22 | 2021-10-21 | Method and apparatus for controlling peer to peer connection | 
Country Status (2)
| Country | Link | 
|---|---|
| US (1) | US11611614B2 (en) | 
| KR (1) | KR20220053151A (en) | 
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20200382587A1 (en) * | 2019-05-28 | 2020-12-03 | Samsung Sds Co., Ltd. | Method for transmission data and apparatus for executing the method | 
| US20230198645A1 (en) * | 2021-12-21 | 2023-06-22 | Dish Network Technologies India Private Limited | Methods, devices, and systems for distributing content in community of over-the-air broadcast content receivers | 
Citations (24)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US8514718B2 (en) * | 2005-01-26 | 2013-08-20 | Blitz Stream Video, Llc | Layered multicast and fair bandwidth allocation and packet prioritization | 
| US20150067819A1 (en) * | 2013-08-28 | 2015-03-05 | Hola Networks Ltd. | System and Method for Improving Internet Communication by Using Intermediate Nodes | 
| US20150156085A1 (en) * | 2013-12-02 | 2015-06-04 | Google Inc. | Method for measuring end-to-end internet application performance | 
| US20150215359A1 (en) * | 2012-06-12 | 2015-07-30 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network | 
| US20150295808A1 (en) * | 2012-10-31 | 2015-10-15 | Matt O'Malley | System and method for dynamically monitoring, analyzing, managing, and alerting packet data traffic and applications | 
| US20160100324A1 (en) * | 2014-10-02 | 2016-04-07 | At&T Intellectual Property I, Lp | Method and apparatus that provides fault tolerance in a communication network | 
| US9332561B1 (en) * | 2015-04-08 | 2016-05-03 | Ringcentral, Inc. | Hybrid communications system using peer-to-peer and centralized architecture | 
| US20160127808A1 (en) * | 2014-11-01 | 2016-05-05 | Somos, Inc. | Routing tree enhancements based on real time performance statistics | 
| US20160315808A1 (en) * | 2008-11-12 | 2016-10-27 | Teloip Inc. | System and method for providing a control plane for quality of service | 
| US20160359943A1 (en) * | 2015-06-02 | 2016-12-08 | Dolby Laboratories Licensing Corporation | In-Service Quality Monitoring System with Intelligent Retransmission and Interpolation | 
| US9860283B2 (en) * | 1998-10-30 | 2018-01-02 | Virnetx, Inc. | Agile network protocol for secure video communications with assured system availability | 
| US20180091417A1 (en) * | 2015-04-07 | 2018-03-29 | Umbra Technologies Ltd. | System and method for virtual interfaces and advanced smart routing in a global virtual network | 
| US10142391B1 (en) * | 2016-03-25 | 2018-11-27 | Quest Software Inc. | Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization | 
| US10218588B1 (en) * | 2015-10-05 | 2019-02-26 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and optimization of virtual meetings | 
| US20190141193A1 (en) * | 2017-11-06 | 2019-05-09 | Line Corporation | METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER READABLE MEDIUM FOR SELECTING OPTIMAL NETWORK PATH FOR MEDIA TRANSMISSION IN VoIP | 
| US10355981B1 (en) * | 2016-03-02 | 2019-07-16 | Innovium, Inc. | Sliding windows | 
| US20190333059A1 (en) * | 2017-05-24 | 2019-10-31 | NXM Technologies Inc. | Network configuration management for networked client devices using a distributed ledger service | 
| US20190349426A1 (en) * | 2016-12-30 | 2019-11-14 | Intel Corporation | The internet of things | 
| US20200045519A1 (en) * | 2009-01-28 | 2020-02-06 | Headwater Research Llc | Service Plan Design, User Interfaces, Application Programming Interfaces, and Device Management | 
| US20200106696A1 (en) * | 2017-01-31 | 2020-04-02 | The Mode Group | High performance software-defined core network | 
| US20200133257A1 (en) * | 2018-05-07 | 2020-04-30 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for detecting operating conditions of an industrial machine using the industrial internet of things | 
| US10666323B1 (en) * | 2018-12-13 | 2020-05-26 | At&T Intellectual Property I, L.P. | Methods and apparatus for monitoring conditions to switch between modes of transmission | 
| US20200412787A1 (en) * | 2019-06-26 | 2020-12-31 | Rovi Guides, Inc. | Systems and methods for media quality selection of media assets based on internet service provider data usage limits | 
| US20210006490A1 (en) * | 2017-01-31 | 2021-01-07 | The Mode Group | High performance software-defined core network | 
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR20040096807A (en) | 2004-08-04 | 2004-11-17 | (주)엠엔에스텍 | A lecture system by remoting visual talking with server system of diversified a road on online | 
| KR20070028967A (en) | 2005-09-08 | 2007-03-13 | 삼성전자주식회사 | Image processing apparatus and image processing method | 
| JP5029429B2 (en) | 2008-03-03 | 2012-09-19 | ブラザー工業株式会社 | Server apparatus and projector and display system including the same | 
| JP5402389B2 (en) | 2009-08-17 | 2014-01-29 | 株式会社リコー | Electronic conference system, distribution management server, data control method, program, and recording medium | 
| JP6074779B2 (en) | 2012-04-23 | 2017-02-08 | マーベル ワールド トレード リミテッド | Adjusting thread priority to improve throughput between peer-to-peer (P2P) devices | 
| JP6399606B2 (en) | 2016-07-12 | 2018-10-03 | Necプラットフォームズ株式会社 | Video conference system and video conference method | 
| CN108881785A (en) | 2017-05-16 | 2018-11-23 | 中兴通讯股份有限公司 | A kind of method and device for realizing conference backup function | 
- 
        2020
        - 2020-10-22 KR KR1020200137254A patent/KR20220053151A/en active Pending
 
- 
        2021
        - 2021-10-21 US US17/506,968 patent/US11611614B2/en active Active
 
Patent Citations (24)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US9860283B2 (en) * | 1998-10-30 | 2018-01-02 | Virnetx, Inc. | Agile network protocol for secure video communications with assured system availability | 
| US8514718B2 (en) * | 2005-01-26 | 2013-08-20 | Blitz Stream Video, Llc | Layered multicast and fair bandwidth allocation and packet prioritization | 
| US20160315808A1 (en) * | 2008-11-12 | 2016-10-27 | Teloip Inc. | System and method for providing a control plane for quality of service | 
| US20200045519A1 (en) * | 2009-01-28 | 2020-02-06 | Headwater Research Llc | Service Plan Design, User Interfaces, Application Programming Interfaces, and Device Management | 
| US20150215359A1 (en) * | 2012-06-12 | 2015-07-30 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network | 
| US20150295808A1 (en) * | 2012-10-31 | 2015-10-15 | Matt O'Malley | System and method for dynamically monitoring, analyzing, managing, and alerting packet data traffic and applications | 
| US20150067819A1 (en) * | 2013-08-28 | 2015-03-05 | Hola Networks Ltd. | System and Method for Improving Internet Communication by Using Intermediate Nodes | 
| US20150156085A1 (en) * | 2013-12-02 | 2015-06-04 | Google Inc. | Method for measuring end-to-end internet application performance | 
| US20160100324A1 (en) * | 2014-10-02 | 2016-04-07 | At&T Intellectual Property I, Lp | Method and apparatus that provides fault tolerance in a communication network | 
| US20160127808A1 (en) * | 2014-11-01 | 2016-05-05 | Somos, Inc. | Routing tree enhancements based on real time performance statistics | 
| US20180091417A1 (en) * | 2015-04-07 | 2018-03-29 | Umbra Technologies Ltd. | System and method for virtual interfaces and advanced smart routing in a global virtual network | 
| US9332561B1 (en) * | 2015-04-08 | 2016-05-03 | Ringcentral, Inc. | Hybrid communications system using peer-to-peer and centralized architecture | 
| US20160359943A1 (en) * | 2015-06-02 | 2016-12-08 | Dolby Laboratories Licensing Corporation | In-Service Quality Monitoring System with Intelligent Retransmission and Interpolation | 
| US10218588B1 (en) * | 2015-10-05 | 2019-02-26 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and optimization of virtual meetings | 
| US10355981B1 (en) * | 2016-03-02 | 2019-07-16 | Innovium, Inc. | Sliding windows | 
| US10142391B1 (en) * | 2016-03-25 | 2018-11-27 | Quest Software Inc. | Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization | 
| US20190349426A1 (en) * | 2016-12-30 | 2019-11-14 | Intel Corporation | The internet of things | 
| US20200106696A1 (en) * | 2017-01-31 | 2020-04-02 | The Mode Group | High performance software-defined core network | 
| US20210006490A1 (en) * | 2017-01-31 | 2021-01-07 | The Mode Group | High performance software-defined core network | 
| US20190333059A1 (en) * | 2017-05-24 | 2019-10-31 | NXM Technologies Inc. | Network configuration management for networked client devices using a distributed ledger service | 
| US20190141193A1 (en) * | 2017-11-06 | 2019-05-09 | Line Corporation | METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER READABLE MEDIUM FOR SELECTING OPTIMAL NETWORK PATH FOR MEDIA TRANSMISSION IN VoIP | 
| US20200133257A1 (en) * | 2018-05-07 | 2020-04-30 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for detecting operating conditions of an industrial machine using the industrial internet of things | 
| US10666323B1 (en) * | 2018-12-13 | 2020-05-26 | At&T Intellectual Property I, L.P. | Methods and apparatus for monitoring conditions to switch between modes of transmission | 
| US20200412787A1 (en) * | 2019-06-26 | 2020-12-31 | Rovi Guides, Inc. | Systems and methods for media quality selection of media assets based on internet service provider data usage limits | 
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20200382587A1 (en) * | 2019-05-28 | 2020-12-03 | Samsung Sds Co., Ltd. | Method for transmission data and apparatus for executing the method | 
| US11563804B2 (en) * | 2019-05-28 | 2023-01-24 | Samsung Sds Co., Ltd. | Determining transmission path based on pre-stored quality information from client devices | 
| US20230198645A1 (en) * | 2021-12-21 | 2023-06-22 | Dish Network Technologies India Private Limited | Methods, devices, and systems for distributing content in community of over-the-air broadcast content receivers | 
| US12267149B2 (en) * | 2021-12-21 | 2025-04-01 | Dish Network Technologies India Private Limited | Methods, devices, and systems for distributing content in community of over-the-air broadcast content receivers | 
Also Published As
| Publication number | Publication date | 
|---|---|
| KR20220053151A (en) | 2022-04-29 | 
| US11611614B2 (en) | 2023-03-21 | 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| US10924388B1 (en) | Multi-path routing | |
| EP3419247B1 (en) | Method and device for storage resource allocation for video cloud storage | |
| JP6714614B2 (en) | Receive buffer credits by multiple channels of one or more host computing devices to transmit data to the control unit | |
| US11611614B2 (en) | Method and apparatus for controlling peer to peer connection | |
| US10505977B2 (en) | Diffusing denial-of-service attacks by using virtual machines | |
| CN102281190B (en) | Networking method for load balancing apparatus, server and client access method | |
| CN109768879B (en) | Method and device for determining target service server and server | |
| US7424536B2 (en) | Computer system and bandwidth control method for the same | |
| US20160142256A1 (en) | Automatically recommending point of presence centers | |
| US20120144063A1 (en) | Technique for managing traffic at a router | |
| US10956229B2 (en) | Managing resource sharing and task bidding on the internet of things (IoT) | |
| US11706471B2 (en) | Scheduling method, server, first peer node and computer-readable storage medium | |
| US20190075182A1 (en) | Partitioned Serialized Caching and Delivery of Large Files | |
| CN104516685A (en) | Network attached storage system and corresponding method for request handling in a network attached storage system | |
| JP2018110387A (en) | Method and system for buffer-based bandwidth measurement and adaptive data transmission in a real-time live environment | |
| US20190075042A1 (en) | Multi-path routing | |
| US10805384B1 (en) | Systems and methods for load balancing server infrastructure | |
| KR20220053386A (en) | Data communication method and apparatus for efficient file transmission | |
| US20190319901A1 (en) | Scalable, real-time messaging system | |
| US9860159B1 (en) | Multi-path routing | |
| CN112769960A (en) | Active flow control method and system based on Nginx server | |
| JP6194890B2 (en) | Multimedia data communication apparatus, method, program, and effective data increase rate calculation apparatus | |
| US11405456B2 (en) | Policy-based data placement in an edge environment | |
| CN117979354A (en) | Data time-limited transmission control method and system for D2D network | |
| CN116112976A (en) | Device computing migration method, device, device and storage medium | 
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;LEE, SEO YOUNG;YOON, HEE TAE;AND OTHERS;SIGNING DATES FROM 20211013 TO 20211018;REEL/FRAME:057864/0137 | |
| FEPP | Fee payment procedure | Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY | |
| 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 | |
| STCF | Information on status: patent grant | Free format text: PATENTED CASE |