Communication device and communication system

The communication system categorizes network connections by dynamically changing packet transmission methods and observing reception statuses, addressing inefficiencies in device-dependent traffic control and improving user experience in cloud gaming services.

WO2026070342A1PCT designated stage Publication Date: 2026-04-02SONY GROUP CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-09
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing communication systems struggle to determine the category of network connections without being overly dependent on the device, leading to inefficiencies in traffic control and user experience, particularly in services like cloud gaming that require device-independent optimization.

Method used

A communication device and system that categorizes network lines by dynamically changing packet transmission methods and observing network metrics, using relative comparisons of reception statuses for different traffic patterns to determine whether the connection is wired or wireless.

Benefits of technology

This approach allows for efficient traffic control and improved user experience by adapting data transmission strategies based on the categorized network type, enhancing scalability and reducing implementation costs across various devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025031749_02042026_PF_FP_ABST
    Figure JP2025031749_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The present technology relates to a communication device and a communication system that make it possible to easily determine the category of a network line. In one embodiment of this technology, on the basis of (A) metrics information indicating the reception state of first traffic in another communication device when a plurality of patterns of the first traffic are transmitted to the another communication device and / or (B) metrics information indicating the reception state when a plurality of patterns of first traffic are received from the another communication device, a communication device determines the category of a network line, which is used to connect to the another communication device, on the basis of the results of a relative comparison of the reception state of each pattern of first traffic. The present technology can be applied to a communication system that provides a network service such as a cloud gaming service.
Need to check novelty before this filing date? Find Prior Art

Description

Communication device, communication system

[0001] The present technology relates to a communication device and a communication system, and particularly to a communication device and a communication system that can easily determine the category of a network line.

[0002] With the development of information and communication technologies, users who utilize services provided via a network can appropriately use various devices (e.g., PC, smartphone, game console) and various network lines (e.g., cellular, wireless LAN, wired) according to their environments and needs.

[0003] On the other hand, service providers have an incentive to uniformly deploy services regardless of the type of device or network line in order to accommodate more users. Since communication is standardized by TCP / IP, it has become possible to deploy services in a unified manner. In addition, cloud services that provide necessary processing across a network enable service deployment that does not rely on the performance of devices.

[0004] For example, there is a cloud gaming service as a service provided via a network. It is ideal that a cloud gaming service can be provided in a unified manner regardless of the device used by the user or the type of network line used by the user.

[0005] In a cloud gaming service, it is possible to improve the user's experience quality through individual optimizations such as optimization related to rendering of game images and optimization related to a distribution method according to a network line. The balance between the area to be uniformly deployed and the area to be individually optimized will be determined by the service provider in view of merits of scalability and costs of individual optimization.

[0006] Japanese Patent Application Laid-Open No. 2015-195511, Japanese Patent Application Laid-Open No. 2021-158657

[0007] Cloud gaming services and other video streaming services are services that place a heavy load on communication. To properly handle this communication load, it is necessary to optimize traffic control according to the network line category. However, the mechanism for obtaining information about the category used for traffic control generally differs from device to device. Implementing such a mechanism in a device-dependent manner can lead to a loss of scalability.

[0008] A method is needed to determine the category of network connection a device is using without being overly dependent on the user's device.

[0009] This technology was developed in light of these circumstances and aims to make it easier to determine the category of a network line.

[0010] The first aspect of the technology includes a communication device that determines the category of the network line used for connection with the other communication device based on a relative comparison of the reception status of the first traffic for each pattern, based on at least one of (A) metrics information indicating the reception status of the first traffic in multiple patterns when the first traffic is transmitted to the other communication device, or (B) metrics information indicating the reception status when the first traffic in multiple patterns is received from the other communication device.

[0011] The second aspect of this technology is a communication device which includes a communication unit that receives the first traffic of each pattern transmitted from another communication device that generates a plurality of patterns of first traffic, and transmits metric information indicating the reception status of the first traffic of each pattern to the other communication device, and a calculation unit which uses metadata indicating the pattern of the first traffic to calculate a value included in the metric information that indicates the reception status of the first traffic of each pattern.

[0012] In the first aspect of this technology, the category of the network line used for connection with the other communication device is determined based on a relative comparison of the reception status of the first traffic for each pattern, based on at least one of (A) metrics information indicating the reception status of the first traffic in multiple patterns when the first traffic is transmitted to the other communication device, or (B) metrics information indicating the reception status when the first traffic in multiple patterns is received from the other communication device.

[0013] In a second aspect of this technology, the first traffic of each pattern transmitted from another communication device that generates multiple patterns of the first traffic is received, and metric information indicating the reception status of the first traffic of each pattern is transmitted to the other communication device. Using metadata indicating the pattern of the first traffic, a value indicating the reception status of the first traffic of each pattern, which is included in the metric information, is calculated.

[0014] This figure shows an example configuration of a communication system according to one embodiment of this technology. This figure summarizes the overview of the functions of the communication system. This figure shows an example of traffic transmitted by pacing control. This block diagram shows an example of the functional configuration of a server and a client. This is a sequence diagram showing the overall flow of categorization processing. This block diagram shows an example of a computer configuration.

[0015] The following describes the forms for implementing this technology. The explanation will proceed in the following order: 1. Overview of the technology 2. Functions of the communication system 3. Configuration of each device in the communication system 4. Overall flow of categorization processing 5. Variations

[0016] <<Overview of this technology>> <Communication system configuration> Figure 1 is a diagram showing an example of the configuration of a communication system according to one embodiment of this technology.

[0017] As shown in Figure 1, a communication system according to one embodiment of this technology is a system consisting of a server 1 and a client 2. The server 1 and client 2, as communication devices, are connected via a communication network 11 and an access point 12 connected to the communication network 11.

[0018] Server 1 is the entity that provides the service.

[0019] Client 2 is the entity receiving the service.

[0020] The communication network 11 is an entity that connects server 1 and client 2. The communication network 11 is composed of the internet, LAN, etc.

[0021] Access point 12 is a network device that serves as the direct connection point for client 2 to connect to the communication network 11. The link between client 2 and access point 12 can be a wired link or a wireless link such as cellular communication or wireless LAN communication.

[0022] Alternatively, direct communication between server 1 and client 2 may be conducted via the communication network 11. In this case, server 1 can be considered to possess the entity of access point 12.

[0023] Numerous users exist as users of the service provided by Server 1 via the communication network 11. Although only one client 2 is shown in Figure 1, in reality, numerous clients 2 used by each user are connected to Server 1 via the communication network 11 and access point 12. Various types of devices such as PCs, smartphones, and game consoles are used as clients 2.

[0024] <Overview of Communication System Processing> This technology categorizes network lines used by clients in a communication system that provides server-client type services over a network. Network lines of different categories include network lines of different types and network lines of different qualities. The category of a network line is defined by at least one of type and quality. The category of a network line may also be defined by factors other than type and quality.

[0025] By categorizing the network lines used by clients, it becomes possible to switch data traffic control and adjust parameters according to the network line category when providing services. This improves the quality of the service experience for users.

[0026] Traditionally, a device-specific function has existed to retrieve information about the type of network connection a client is using. For example, smartphones have a function, either Android® or iOS®, that retrieves information about the connected link using their specific APIs.

[0027] However, even within smartphones alone, the way information is read differs depending on the two different operating systems. Furthermore, if you try to implement similar functionality on devices such as PCs and game consoles, you will incur costs for customizing the functionality for each type of device and operating system.

[0028] This technology enables the categorization of network lines by dynamically changing the packet transmission method and observing the resulting changes in network metrics. In particular, it focuses on how communication efficiency changes depending on the type of line (especially wired / wireless) when the degree of pacing is varied, and uses this to categorize network lines.

[0029] In other words, by specifying multiple pacing parameters, sending and receiving traffic corresponding to each parameter, and observing the difference in metrics on the receiving end, network lines are categorized. Pacing refers to adjusting the amount of data in packets sent in a unit of time, or the pattern of the packet transmission interval.

[0030] <<Communication System Functions>> Server 1 and Client 2 in Figure 1 have the following main functions. Details of each function will be described later.

[0031] <Functions of Server 1> 1. Function as a pacing parameter control unit that determines pacing parameters, which are parameters related to pacing. 2. Function as a traffic generation unit that generates traffic based on pacing parameters. 3. Function as a communication unit that transmits traffic along with pacing parameters, which are metadata, to Client 2. 4. Function as a categorization processing unit that categorizes network lines based on metric information fed back in response to traffic from multiple pacing parameters. 5. Function as a traffic control unit that performs traffic control related to service provision based on the network line category.

[0032] <Functions of Client 2> 1. Function as a metrics calculation unit that calculates metrics as statistical values ​​of reception status based on traffic received in the communication unit. 2. Function as a communication unit that transmits metrics information including the calculated values ​​along with metadata as feedback to Server 1.

[0033] <Other Functions, etc.> 1. Other Functions of Server 1 and Client 2 In addition to the above functions, Server 1 and Client 2 have the following functions, etc.

[0034] In the communication system shown in Figure 1, if the server-client type service provided is a cloud gaming service, the functions of Server 1 include, as necessary elements for providing the service, functions as a media generation unit and functions as a control signal processing unit. Furthermore, the functions of Client 2 include, as necessary elements for using the service, functions as a media playback unit and functions as a control signal input unit.

[0035] 2. The device that acts as the trigger for the categorization process of the trigger-based network line may be either Server 1 or Client 2.

[0036] In cloud gaming services, for example, client 2 typically initiates the service startup and restart. For instance, when client 2 is ready, client 2 acts as the trigger, requesting server 1 to begin the categorization process. This request to server 1 may only be made initially, or it may be made at any point during service provision when a change is needed in the traffic control related to service provision.

[0037] After the service is launched, the server 1 may be the trigger for the categorization process. In this case, for example, until the category of the network line is identified, the server 1 can periodically send traffic with different pacing parameters to the client 2.

[0038] 3. Variations in Network Line Categorization The categorization of the network line used by client 2 is performed, for example, by making a binary decision on whether the last-hop is wired or wireless. If the link to which client 2 is directly connected is wired, the network line used by client 2 is determined to be wired. Also, if the link to which client 2 is directly connected is wireless, the network line used by client 2 is determined to be wireless. Instead of a binary decision, a real value indicating the probability of it being wired or wireless may be calculated.

[0039] In a mesh wireless network, wireless links can be single-hop or multi-hop. Instead of simply classifying a network line as wireless, it would be better to also determine whether the last hop is single-hop or multi-hop.

[0040] Single-hop wireless communication categories include cellular communication and Wi-Fi communication. Furthermore, Wi-Fi communication categories can be further subdivided based on factors such as the number of competing devices, the abundance of surrounding interference sources, and the supported standards. It would be desirable to allow for these more detailed categories to be determined.

[0041] For the traffic control unit of Server 1 to utilize detailed categories, a correspondence must be defined between the index value indicating the category, a continuous value representing the degree such as the number of competing terminals, and the traffic control method used when providing the service. Detailed category determination is performed, for example, when a correspondence is defined between the index value indicating the category, a continuous value representing the degree such as the number of competing terminals, and the traffic control method used when providing the service.

[0042] The following explanation will primarily focus on the case where the categorization of the network connection used by client 2 is performed in a way that determines whether it is wired or wireless.

[0043] 4. Variations of pacing control As patterns of pacing control, there are patterns in which packets are burst-transmitted in a certain aggregation and patterns in which packets are intermittently transmitted in an averaged manner. Hereinafter, the pattern of burst transmission is appropriately referred to as a burst pattern, and the pattern of intermittent transmission in an averaged manner is referred to as an intermittent pattern.

[0044] As a parameter of pacing control, for example, a pacing parameter indicating an upper limit of the amount of transmitted data per unit time (transmission rate) is used. By increasing the value of the pacing parameter, burst pattern traffic is generated, and by decreasing it, intermittent pattern traffic is generated.

[0045] The pacing control may be performed such that the unit amount of packets is fixed and a plurality of packets are transmitted continuously. In this case, as a parameter of pacing control, a pacing parameter indicating the minimum transmission interval is used. By decreasing the value of the pacing parameter, burst pattern traffic is generated, and by increasing it, intermittent pattern traffic is generated.

[0046] Pacing control using a pacing parameter indicating the transmission rate is control focusing on the transmission amount, and pacing control using a pacing parameter indicating the minimum transmission interval is control focusing on the transmission timing. The criterion for which pacing parameter to use is how to switch the instantaneous throughput while keeping the average throughput the same over a long period.

[0047] Note that if data is burst-transmitted exceeding the capacity of the network line, communication cannot be performed normally. It is assumed that a mechanism for avoiding such problems is considered.

[0048] 5. Examples of meta information The meta information transmitted and received between the server 1 and the client 2 includes, for example, information indicating the traffic pattern. A pacing parameter may be used as the meta information, or a value for identifying the traffic pattern may be used.

[0049] 6. Examples of Metrics At least one of the following statistical values ​​can be used as metrics calculated in Client 2: • Throughput • Propagation delay (RTT) • Jitter • Packet loss

[0050] For example, jitter is expressed as the relative difference between the transmission interval (the ideal reception interval) and the actual reception interval. In the case of services that involve media transmission, such as cloud gaming services, it is possible to use jitter statistics related to the reception interval of video frames and audio frames as metrics.

[0051] <Principles of wired / wireless categorization> Wireless communication is broadcast-based, so media access control (MAC control) is necessary to prevent interference. In MAC control, resources are allocated each time a data transmission attempt is made, and these allocated resources are used to transmit data from, for example, an access point to a client. Since overhead is incurred with each data transmission attempt, in environments with high data transmission frequency or many conflicts, the inefficiency of data transmission due to overhead degrades performance.

[0052] To reduce such overhead and improve efficiency, there are features that allow multiple packets to be sent together using a single transmission right. For example, Wi-Fi (registered trademark) 802.11n and later versions have frame aggregation (A-MSDU, A-MPDU), and cellular networks have PDCP Aggregation and RLC Concatenation. These features that allow multiple packets to be sent together using a single transmission right are called frame aggregation.

[0053] From the perspective of frame aggregation efficiency, it is desirable that many packets arrive from the server to the access point in a bundle at the time the access point acquires transmission rights. In other words, aggregation efficiency increases when data is transmitted from the server in bursts, while aggregation efficiency decreases when data is transmitted intermittently and averaged out.

[0054] The above means that when pacing parameters are used for traffic control, the efficiency of data transmission between the server and client changes significantly, which allows us to determine whether a wireless section is included in the network connection between the server and client. In other words, categorization is performed by making the inefficiency of MAC control overhead apparent by intermittently changing the timing of acquiring transmission rights.

[0055] In Server 1 of Figure 1, if there is a difference between the reception status (reception efficiency) of Client 2 for traffic using a burst pattern and the reception status of Client 2 for traffic using an intermittent pattern, it is determined that the network line used by Client 2 is wireless. For example, if the difference in reception status exceeds a threshold, it is determined that the network line used by Client 2 is wireless.

[0056] Conversely, if the difference between the traffic reception status at client 2 using the burst pattern and the traffic reception status at client 2 using the intermittent pattern does not exceed a threshold, it is determined that the network line used by client 2 is wired.

[0057] As described above, in Server 1 of Figure 1, the pacing parameters are dynamically changed, and traffic is transmitted using both burst patterns and intermittent patterns. Furthermore, based on the metrics information sent from Client 2 as feedback, the reception status of traffic using burst patterns and traffic using intermittent patterns are compared relatively, and the network line used by Client 2 is categorized based on the relative comparison results.

[0058] <Summary of Communication System Functions> Figure 2 is a diagram that summarizes the above-mentioned functions of the communication system.

[0059] In the example shown in Figure 2, client 2 consists of a wireless client 2-1 and a wired client 2-2. Wireless client 2-1 is a client that connects to access point 12 via wireless communication such as a wireless LAN. Wired client 2-2 is a client that connects to access point 12 via wired communication.

[0060] On server 1, network line categorization processing is performed for each client.

[0061] For example, when targeting wireless client 2-1, a group of packets (traffic) with pacing control applied, along with metadata, is sent from server 1 to wireless client 2-1, as shown by arrow A1.

[0062] Figure 3 shows an example of traffic transmitted by pacing control. The horizontal axis in Figure 3 represents time, and the vertical axis represents the amount of data.

[0063] Pattern 1, shown in Figure 3A, is an intermittent pattern in which packets are averaged and transmitted intermittently. Pattern 2, shown in Figure 3B, is a burst pattern in which packets are transmitted in bursts in somewhat combined groups.

[0064] In the categorization process targeting wireless client 2-1, traffic control is performed by dynamically changing the pacing parameters, as shown in callout #1 in Figure 2.

[0065] In the wireless client 2-1, metrics are calculated as statistical values ​​relating to the characteristics of the network line based on the traffic transmitted from server 1. The calculated metrics information is transmitted to server 1 as feedback along with metadata, as shown by arrow A2 in Figure 2.

[0066] In server 1, based on the relative comparison result of the metrics information received as traffic feedback using pacing parameters representing pattern 1 and the metrics information received as traffic feedback using pacing parameters representing pattern 2, the network connection of wireless client 2-1 is determined to be wireless, as shown in callout #1.

[0067] The same process as described above is performed as a categorization process for wired client 2-2, and the network connection of wired client 2-2 is determined to be wired. For details of the categorization process, please refer to the flowchart below.

[0068] <<Configuration of each device in the communication system>> Figure 4 is a block diagram showing an example of the functional configuration of Server 1 and Client 2. Explanations that overlap with the above explanations will be omitted as appropriate.

[0069] <Functional Configuration of Server 1> In Server 1, for example, the information processing unit 101 is realized when a program stored in the memory unit 102 is executed on the OS 103. The memory unit 102 stores various programs, as well as metric information collected from each client 2 during the categorization process.

[0070] The information processing unit 101 consists of a pacing parameter control unit 111, a traffic generation unit 112, a client communication unit 113, a categorization processing unit 114, a service traffic control unit 115, and a service provision unit 116.

[0071] The pacing parameter control unit 111 determines pacing parameters, which are parameters that define the method of transmitting traffic. The pacing parameters define the amount of instantaneous traffic data, the upper limit of the amount of instantaneous traffic data, the transmission timing, and so on. As described above, the pacing parameter control unit 111 determines the pacing parameters by dynamically changing them during the categorization process. The pacing parameter control unit 111 also determines metadata.

[0072] The traffic generation unit 112 generates traffic to be transmitted to the client 2 based on the pacing parameters determined by the pacing parameter control unit 111. The traffic generated based on the pacing parameters becomes paced traffic. Multiple patterns of paced traffic are generated by dynamically changing the pacing parameters.

[0073] When categorizing network lines, the client communication unit 113 transmits the pasted traffic generated by the traffic generation unit 112 along with metadata to the client 2. The client communication unit 113 also receives metrics information and metadata transmitted from the client 2 as feedback.

[0074] After the categorization process is complete, the client communication unit 113 transmits service traffic, which is traffic related to the service, to the client 2. If the pasted traffic used for the categorization process is considered the first traffic, then the service traffic used for providing the service becomes the second traffic. In this way, the client communication unit 113 transmits and receives various types of data with the client 2.

[0075] The categorization processing unit 114 categorizes network lines based on metric information transmitted from client 2 as feedback for pasted traffic and received by client communication unit 113.

[0076] The service traffic control unit 115 controls the service traffic based on the network lines categorized by the client communication unit 113. Depending on the category of the client 2's network line, for example, different traffic control algorithms may be used. The client communication unit 113 transmits the service traffic according to the control performed by the service traffic control unit 115.

[0077] The service provision unit 116 performs various processes necessary for providing the service. In the communication system shown in Figure 1, if the service provided is a cloud gaming service, the service provision unit 116 includes entities that perform media generation and control signal processing. The service traffic control unit 115 generates service traffic, which includes data related to the service generated by the service provision unit 116.

[0078] <Functional Configuration of Client 2> In client 2, for example, the information processing unit 201 is realized when a predetermined program is executed on the OS 202.

[0079] The information processing unit 201 consists of a metrics calculation unit 211, a server communication unit 212, and a service processing unit 213.

[0080] The metrics calculation unit 211 calculates metrics indicating the reception status of pasted traffic in response to the server communication unit 212 receiving the pasted traffic transmitted from server 1. Metrics indicating the reception status of each of multiple patterns of pasted traffic are calculated. Information may also be included in the metadata transmitted along with the pasted traffic and used in the calculation of metrics.

[0081] The server communication unit 212 receives pasted traffic and metadata transmitted from the server 1 during the categorization process of network lines. The server communication unit 212 also transmits the metrics information, which is the metrics calculated by the metrics calculation unit 211, to the server 1 as feedback along with the metadata.

[0082] The server communication unit 212 receives service traffic after the categorization process is complete. In this way, the server communication unit 212 sends and receives various types of data with the server 1.

[0083] The service processing unit 213 performs various processes necessary for using the service. In the communication system shown in Figure 1, if the service provided is a cloud gaming service, the service processing unit 213 includes entities that perform media playback and transmit control signals.

[0084] <<Overall flow of categorization process>> <Sequence> Figure 5 is a sequence diagram showing the overall flow of the categorization process.

[0085] In step S1, the service provision unit 116 of server 1 starts accepting requests for a predetermined service, such as a cloud gaming service.

[0086] In step S21, the server communication unit 212 of the client 2 sends a service start request to the server 1. Information indicating the service start request is generated by the service processing unit 213, for example, in response to a predetermined operation performed by the user.

[0087] After the service start request is received in step S2, in step S3, the pacing parameter control unit 111 of server 1 determines the pacing parameters.

[0088] For example, suppose we send N packets of a fixed size S over a period T. Also, assume that multiple transmission timings are available. The upper limit of the number of packets that can be sent at each transmission timing is represented by a pacing parameter. Here, the value of the pacing parameter is 1 or N. The upper limit of the amount of data transmitted during a unit time period T is defined by the pacing parameter.

[0089] When the pacing parameter value is 1, one packet is transmitted at each transmission timing. This paced traffic follows an intermittent pattern. When the pacing parameter value is N, all N packets are transmitted consecutively at the first transmission timing. This paced traffic follows a burst pattern. The values ​​of S, T, and N are adjusted so as not to exceed the available bandwidth when transmitting all packets together.

[0090] In step S4, the client communication unit 113 of server 1 notifies the pacing parameters determined by the pacing parameter control unit 111. The pacing parameters transmitted here become the metadata transmitted along with the paced traffic.

[0091] In step S22, the server communication unit 212 of client 2 receives the pacing parameters transmitted from server 1. After receiving the pacing parameters, client 2 sends an acknowledgment (ACK) to server 1. In this way, after predetermined data is transmitted from server 1 to client 2, client 2 sends an ACK to server 1 as necessary. Similarly, after predetermined data is transmitted from client 2 to server 1, server 1 sends an ACK to client 2 as necessary.

[0092] In step S5, the traffic generation unit 112 of server 1 generates paced traffic based on pacing parameters.

[0093] In step S6, the client communication unit 113 transmits the pasted traffic generated by the traffic generation unit 112 to the client 2.

[0094] In step S23, the server communication unit 212 of client 2 receives pasted traffic transmitted from server 1.

[0095] As shown in callout #12, the processing in steps S5 and S6 of server 1 and the processing in step S23 of client 2 are repeated until the transmission of the specified amount of pasted traffic is complete.

[0096] When the transmission of the specified amount of pasted traffic is complete, in step S7, the client communication unit 113 of server 1 sends a notification to client 2 that the transmission of the pasted traffic has been completed.

[0097] After the notification of completion of paced traffic transmission is received in step S24, in step S25, the metrics calculation unit 211 of client 2 calculates metrics for the current pacing parameters based on the results of the paced traffic reception.

[0098] In step S26, the service processing unit 213 of client 2 sends the metrics information, which is the metrics information calculated by the metrics calculation unit 211, to server 1 as feedback along with metadata. For example, the pacing parameters received in step S22 are sent to server 1 as metadata.

[0099] In step S8, the client communication unit 113 of server 1 receives the metrics information and metadata feedbacked from client 2 and stores them in the storage unit 102. The metadata indicates which pacing parameters were used to calculate the statistical values ​​for the metrics information transmitted as feedback from client 2.

[0100] As shown in callout #11, the processes in steps S3 to S8 of Server 1 and steps S22 to S26 of Client 2 are performed for both cases: when the pacing parameter value is 1 and when it is N. Server 1 receives metric information for when the pacing parameter value is 1 (when pasted traffic is being transmitted using an intermittent pattern) and when it is N (when pasted traffic is being transmitted using a burst pattern). Metric information is received each time a pasted traffic pattern is transmitted.

[0101] After the transmission of paced traffic using all pacing parameters and feedback from client 2 have been completed, in step S9, the server 1's categorization processing unit 114 categorizes the network line used by client 2. The metrics information stored in the memory unit 102 is read out, and it is determined whether the network line used by client 2 is wired or wireless.

[0102] As shown by arrow A21, the category determination result by the categorization processing unit 114 is used to control service traffic. Service provision begins after the category of the network line used by client 2 is determined.

[0103] In step S10, the service traffic control unit 115 generates service traffic. For example, the service traffic is generated to include video frames and audio frames prepared by the service provision unit 116.

[0104] If the network connection used by client 2 is determined to be wired, the service traffic control unit 115 generates service traffic using normal congestion control. For example, normal congestion control is a type of congestion control that does not take into account the characteristics of wireless networks, such as CUBIC TCP. If the network connection used by client 2 is determined to be wireless, the service traffic control unit 115 generates service traffic using congestion control that takes into account the characteristics of wireless networks, such as TCP Westwood.

[0105] In step S11, the client communication unit 113 transmits service traffic to the client 2.

[0106] In step S27, the server communication unit 212 of client 2 receives service traffic. The service traffic received by the server communication unit 212 is used by the service processing unit 213 for processing to use the service.

[0107] As shown in callout #13, the process of Server 1 generating and sending service traffic and Client 2 receiving it and using the service is repeated until a service termination request is sent. When a service termination request is sent from Client 2 to Server 1, the series of processes in Figure 5 ends.

[0108] <Specific Examples of Metric Calculation> This section explains how to calculate metrics based on jitter. The ideal packet reception interval (corresponding to the actual transmission interval) determined for each packet is expressed by equation (1), and the actual packet reception interval is expressed by equation (2). In this case, the function used to evaluate the metrics is expressed as equation (3).

[0109] In equation (3), the function f() is an arbitrary function that calculates the difference between the ideal packet reception interval and the actual packet reception interval. i is the packet index. The period from i = 1 to N represents the period during which paced traffic is being transmitted using one pacing parameter. i This is an arbitrary value representing the weight of each packet.

[0110] For example, weight lol i If the result is 1 / N, the mean value is calculated. Alternatively, the values ​​of the function f() can be sorted in ascending order, and only the values ​​at a given index can be picked up to calculate the percentile value. In this case, the weight of the values ​​other than the index value being picked up is w. i The value is set to 0.

[0111] It is also possible to use a different function than the one in equation (3) above to calculate the metrics.

[0112] <Specific examples of categorization> If the network connection used by client 2 is wireless, the transmission efficiency during periods when burst-pattern pasted traffic is being transmitted is higher than the transmission efficiency during periods when intermittent-pattern pasted traffic is being transmitted, resulting in a difference between the two transmission efficiencies. On the other hand, if the network connection used by client 2 is wired, such a difference in transmission efficiency does not appear.

[0113] Therefore, when using two types of pacing parameters, the absolute value of the metric is determined to be wireless if it exceeds a specific threshold θ, and wired if it does not exceed the threshold θ.

[0114] As described above, by relatively comparing the traffic reception status when pacing parameters are dynamically changed, it becomes possible to categorize network lines. This can be achieved regardless of the device implementation or specific protocol (e.g., TCP, which requires acknowledgment).

[0115] Furthermore, since network lines are categorized based on relative comparison results, there is no need to prepare absolute statistical values ​​for reception status when the network line is wired and absolute statistical values ​​for reception status when the network line is wireless. Because there is no need to use absolute statistical values ​​as a reference for categorization, if the trend of the relationship between the relative comparison results of the metrics used and categorization is known, for example, preliminary experiments to obtain the reference become unnecessary. Even if the trend of the relationship between the relative comparison results of the metrics used and categorization is unknown, preliminary experiments or simulations can be performed in advance using a general network environment to statistically obtain data on the relationship between the relative comparison results and categorization, as well as thresholds for effective categorization. By configuring the categorization processing unit 114 to refer to this data, it is possible to categorize network lines without the need to perform preliminary experiments in the individual connection environment of each device, and without referring to absolute statistical data.

[0116] In other words, it becomes possible to easily determine the category of the client's network connection.

[0117] Because traffic control is performed at the time of service traffic transmission based on the determination of the network line category, it is possible to improve the quality of the user experience of the service.

[0118] <<Variations>> The following elements can be replaced by alternative methods: • Triggering entity for categorization processing • Category to which network lines are classified • Pacing control method (type of pacing parameters, adjustment method, etc.) • Content of metadata • Metric calculation method

[0119] While the categorization of network lines is based on a relative comparison of reception status at client 2 of the paced traffic, categorization may also be performed using an inference model generated by machine learning. In this case, for example, an inference model is pre-generated and prepared on server 1, which takes each metric information obtained by dynamically changing the pacing parameters as input and outputs information indicating the category of the network line.

[0120] Furthermore, although the categorization process is currently performed before the service is launched, it may be performed while the service is being provided.

[0121] Although the categorization process is performed only once before the service begins, it may be performed multiple times at any time. This would allow the service traffic to be transmitted appropriately in response to changes in the network connection used by client 2.

[0122] Although a notification is sent from server 1 to client 2 each time a paced traffic transmission using one pacing parameter is completed (step S7 in Figure 5), this notification can be omitted through prior negotiation.

[0123] In the above, it was assumed that there are two types of traffic patterns used as paced traffic: burst patterns and intermittent patterns. However, it is also possible to generate traffic with three or more patterns and transmit it as paced traffic. In this case as well, network lines are categorized by relatively comparing the reception status of the three or more traffic patterns.

[0124] The main functions of this technology's communication system can be summarized as follows: Function 1. A function to generate and transmit traffic by changing pacing parameters. Function 2. A function to calculate metrics. Function 3. A function to categorize network lines.

[0125] In the example described above, function 1 is realized through the coordinated action of the pacing parameter control unit 111, traffic generation unit 112, and client communication unit 113 of server 1. Function 2 is realized through the coordinated action of the metrics calculation unit 211 and server communication unit 212 of client 2. Function 3 is realized through the coordinated action of the client communication unit 113 and categorization processing unit 114 of server 1.

[0126] It is possible to arbitrarily change which device, Server 1 or Client 2, implements each of the above functions. Assuming that function 3 is implemented on Server 1, the following patterns are possible.

[0127] - A pattern in which functions 1, 2, and 3 are implemented on server 1. In this case, the received pasted traffic is echoed back from client 2 to server 1. Server 1 calculates metrics based on the echoed-back traffic. In this way, function 2 can be implemented as a function of server 1.

[0128] - A pattern where only function 3 is implemented on server 1. In this case, the generation and transmission of pasted traffic are performed by client 2. Server 1 processes the received traffic and echoes it back to client 2. In this way, it is possible to implement function 1 as a function of client 2.

[0129] - A pattern in which functions 2 and 3 are implemented on server 1. In this case, the generation and transmission of pasted traffic is performed by client 2. Server 1 calculates metrics based on the traffic transmitted from client 2. In this way, it is possible to implement function 1 as a function of client 2 and function 2 as a function of server 1.

[0130] It is also possible to implement function 3 as a function of client 2. That is, server 1 and client 2 can be realized as devices that have the function of determining the category of the network line used for connection with other communication devices based on a relative comparison of the reception status of each pattern of first traffic, based on at least one of (A) metric information indicating the reception status of the first traffic at other communication devices when multiple patterns of first traffic are transmitted to other communication devices, or (B) metric information indicating the reception status when multiple patterns of first traffic are received from other communication devices.

[0131] In the communication system shown in Figure 1, the service provided is assumed to be a cloud gaming service, but other network services may also be provided. Examples of network services other than cloud gaming services include video streaming services and music streaming services.

[0132] Although the communication system in Figure 1 is assumed to be a server-client type system, the categorization process described above can be applied to the process of determining the category of network lines between various communication devices connected via a communication network such as the Internet.

[0133] <Example of Computer Configuration> The series of processes described above can be executed by hardware or by software. When the series of processes are executed by software, the programs that make up the software are installed from a program storage medium onto a computer that is built into dedicated hardware, or a general-purpose personal computer.

[0134] Figure 6 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by a program. Server 1 and client 2 in Figure 1 have a configuration similar to that of the computer shown in Figure 6.

[0135] The CPU (Central Processing Unit) 1001, ROM (Read Only Memory) 1002, and RAM (Random Access Memory) 1003 are interconnected by a bus 1004.

[0136] An input / output interface 1005 is further connected to the bus 1004. An input unit 1006 consisting of a keyboard, mouse, etc., and an output unit 1007 consisting of a display, speakers, etc. are connected to the input / output interface 1005. In addition, a storage unit 1008 consisting of a hard disk, non-volatile memory, etc., a communication unit 1009 consisting of a network interface, etc., and a drive 1010 that drives removable media 1011 are connected to the input / output interface 1005.

[0137] In a computer configured as described above, the CPU 1001 loads, for example, a program stored in the memory unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004, and executes it, thereby performing the series of processes described above.

[0138] The program executed by the CPU 1001 is, for example, recorded on removable media 1011, or provided via a wired or wireless transmission medium such as a local area network, the internet, or digital broadcasting, and installed in the storage unit 1008.

[0139] The programs executed by the computer may be programs that are processed chronologically in the order described herein, or they may be programs that are processed in parallel or at necessary times, such as when they are called.

[0140] In this specification, a system means a collection of multiple components (devices, modules (parts), etc.), regardless of whether all components are located in the same enclosure. Therefore, multiple devices housed in separate enclosures and connected via a network, and a single device containing multiple modules in one enclosure, are both considered systems.

[0141] The effects described herein are illustrative and not limited to those described herein, and other effects may also occur.

[0142] The embodiments of this technology are not limited to those described above, and various modifications are possible without departing from the spirit of this technology.

[0143] For example, this technology can be configured as cloud computing, where a single function is shared and processed collaboratively by multiple devices via a network.

[0144] Furthermore, each step described in the flowchart above can be performed by a single device, or it can be divided and performed by multiple devices.

[0145] Furthermore, if a single step includes multiple processes, those processes can be executed by a single device or shared among multiple devices.

[0146] <Examples of configuration combinations> This technology can also be configured as follows:

[0147] (1) A communication device comprising a categorization processing unit that determines the category of a network line used for connection with the other communication device based on a relative comparison result of the reception status of the first traffic for each pattern, based on at least one of: (A) metric information indicating the reception status of the first traffic in multiple patterns when the first traffic is transmitted to the other communication device, or (B) metric information indicating the reception status when the first traffic in multiple patterns is received from the other communication device. (2) The communication device according to (1), further comprising: a traffic generation unit that generates the first traffic in multiple patterns; and a communication unit that transmits the first traffic for each pattern and metadata indicating the pattern to the other communication device and receives the metric information fed back from the other communication device. (3) The communication device according to (1) or (2), wherein the categorization processing unit determines the category to be wireless when the difference between the reception status of the first traffic of the first pattern and the reception status of the first traffic of the second pattern exceeds a threshold. (4) The communication device according to (1) or (2), further comprising a traffic control unit that controls the transmission of a second traffic used in the other communication device as data relating to a predetermined service according to the category. (5) The communication device according to (4), further comprising a service provision unit that starts providing the predetermined service using the second traffic after the category has been determined. (6) The communication device according to any one of (2) to (4), wherein the communication unit receives the metrics information fed back from the other communication device each time the first traffic of one pattern is transmitted. (7) The communication device according to any one of (2) to (6), further comprising a parameter control unit that dynamically changes parameters defining the pattern of the first traffic, wherein the traffic generation unit generates a plurality of patterns of the first traffic, each differing in at least one of the upper limit of the amount of data to be transmitted per unit time or the pattern of the packet transmission interval, based on the parameters.(8) A communication device comprising: a communication unit that receives the first traffic of each pattern transmitted from another communication device that generates the first traffic of multiple patterns, and transmits metric information indicating the reception status of the first traffic of each pattern to the other communication device; and a calculation unit that uses metadata indicating the pattern of the first traffic to calculate a value included in the metric information that indicates the reception status of the first traffic of each pattern. (9) The communication device according to (8), wherein the calculation unit calculates the metric information for each of the multiple patterns of the first traffic. (10) The communication device according to (9), wherein the calculation unit calculates the metric information based on at least one parameter among throughput, delay, and jidder. (11) The communication device according to (8), wherein the calculation unit calculates a value indicating the difference between the ideal reception status of the first traffic indicated by the metadata and the actual reception status of the first traffic. (12) The communication device according to (8), wherein the category of the network line used by the communication device itself is determined based on the relative comparison result of the reception status of the first traffic for each pattern, and the communication unit receives the second traffic transmitted from the communication device as data relating to a predetermined service in accordance with the control according to the determination result of the category. (13) The communication device according to (12), further comprising a service processing unit that processes the predetermined service using the second traffic which has been transmitted after the category has been determined. (14) The communication device according to any one of (8) to (13), wherein the communication unit transmits the metrics information each time it receives the first traffic for one pattern. (15) The communication device according to any one of (8) to (14), wherein the communication unit receives the first traffic for multiple patterns in which at least one of the upper limit of the amount of data to be transmitted per unit time or the pattern of the packet transmission interval is different.(16) A communication system comprising: a traffic generation unit that generates traffic in multiple patterns; a communication unit that transmits the traffic for each pattern to another communication device and receives metric information indicating the reception status of the traffic for each pattern, which is fed back from the other communication device; a categorization processing unit that determines the category of the network line used by the other communication device based on the relative comparison result of the reception status of the traffic for each pattern; a communication unit that receives the traffic for each pattern transmitted from the communication device and transmits the metric information indicating the reception status of the traffic for each pattern to the communication device; and a calculation unit that calculates a value indicating the reception status of the traffic for each pattern, which is included in the metric information.

[0148] 1 Server, 2 Client, 11 Communication network, 12 Access point, 101 Information processing unit, 111 Pacing parameter control unit, 112 Traffic generation unit, 113 Client communication unit, 114 Categorization processing unit, 115 Service traffic control unit, 116 Service provision unit, 201 Information processing unit, 211 Metrics calculation unit, 212 Server communication unit, 213 Service processing unit

Claims

1. A communication device comprising a categorization processing unit that determines the category of a network line used for connection with the other communication device based on a relative comparison result of the reception status of the first traffic for each pattern, based on at least one of: (A) metric information indicating the reception status of the first traffic in multiple patterns when the communication device transmits the first traffic in multiple patterns to the other communication device, or (B) metric information indicating the reception status when the communication device receives the first traffic in multiple patterns from the other communication device.

2. The communication device according to claim 1, further comprising: a traffic generation unit that generates the first traffic for a plurality of patterns; and a communication unit that transmits the first traffic for each pattern and metadata indicating the pattern to the other communication device and receives the metrics information fed back from the other communication device.

3. The communication device according to claim 1, wherein the categorization processing unit determines the category to be wireless when the difference between the reception status of the first traffic of the first pattern and the reception status of the first traffic of the second pattern exceeds a threshold.

4. The communication device according to claim 1, further comprising a traffic control unit that controls the transmission of a second traffic used in the other communication device as data relating to a predetermined service, according to the category.

5. The communication device according to claim 4, further comprising a service provision unit that initiates the provision of the predetermined service using the second traffic after the category has been determined.

6. The communication device according to claim 2, wherein the communication unit receives the metrics information fed back from the other communication device each time it transmits one pattern of the first traffic.

7. The communication device according to claim 2, further comprising a parameter control unit that dynamically changes parameters defining the pattern of the first traffic, wherein the traffic generation unit generates a plurality of patterns of the first traffic, each differing in at least one of the upper limit of the amount of data to be transmitted per unit time or the pattern of the packet transmission interval, based on the parameters.

8. A communication device comprising: a communication unit that receives the first traffic of each pattern transmitted from another communication device that generates a plurality of patterns of the first traffic, and transmits metric information indicating the reception status of the first traffic of each pattern to the other communication device; and a calculation unit that uses metadata indicating the pattern of the first traffic to calculate a value included in the metric information that indicates the reception status of the first traffic of each pattern.

9. The communication device according to claim 8, wherein the calculation unit calculates the metrics information for each of the multiple patterns of the first traffic.

10. The communication device according to claim 9, wherein the calculation unit calculates the metrics information based on at least one parameter among throughput, delay, and jidder.

11. The communication device according to claim 8, wherein the calculation unit calculates a value indicating the difference between the ideal reception status of the first traffic indicated by the metadata and the actual reception status of the first traffic.

12. The communication device according to claim 8, wherein in the other communication device, the category of the network line used by the communication device itself is determined based on the relative comparison result of the reception status of the first traffic for each pattern, and the communication unit receives the second traffic transmitted from the communication device as data relating to a predetermined service in accordance with the control according to the determination result of the category.

13. The communication device according to claim 12, further comprising a service processing unit that performs the predetermined service using the second traffic which is transmitted after the category has been determined.

14. The communication device according to claim 8, wherein the communication unit transmits the metrics information each time it receives one pattern of the first traffic.

15. The communication device according to claim 8, wherein the communication unit receives the first traffic in a plurality of patterns in which at least one of the upper limit of the amount of data to be transmitted per unit time or the pattern of the packet transmission interval is different.

16. A communication system comprising: a traffic generation unit that generates traffic in multiple patterns; a communication unit that transmits the traffic for each pattern to another communication device and receives metric information indicating the reception status of the traffic for each pattern, which is fed back from the other communication device; a categorization processing unit that determines the category of the network line used by the other communication device based on the relative comparison result of the reception status of the traffic for each pattern; a communication unit that receives the traffic for each pattern transmitted from the communication device and transmits the metric information indicating the reception status of the traffic for each pattern to the communication device; and a calculation unit that calculates a value indicating the reception status of the traffic for each pattern, which is included in the metric information.

Citation Information

Patent Citations

  • Network quality measurement apparatus, transmission device, reception apparatus, and method of measuring network quality

    JP2009290492A

  • Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal

    WO2011048740A1