WO2020170790A1 - メッセージ中継装置及び方法 - Google Patents

メッセージ中継装置及び方法 Download PDF

Info

Publication number
WO2020170790A1
WO2020170790A1 PCT/JP2020/004016 JP2020004016W WO2020170790A1 WO 2020170790 A1 WO2020170790 A1 WO 2020170790A1 JP 2020004016 W JP2020004016 W JP 2020004016W WO 2020170790 A1 WO2020170790 A1 WO 2020170790A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
communication
application
status
state
Prior art date
Application number
PCT/JP2020/004016
Other languages
English (en)
French (fr)
Inventor
弘順 越地
直樹 肥後
拓磨 鍔木
椿 俊光
健 桑原
将尚 中野
裕季 矢野
孝雄 倉橋
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/429,659 priority Critical patent/US20220210673A1/en
Publication of WO2020170790A1 publication Critical patent/WO2020170790A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Definitions

  • the present invention relates to a message relay device and method for improving the reachability of a message to a device in a communication form such as a server-client model in which a message is sent from an application built on a server such as a cloud to the device. ..
  • IoT Internet of Things
  • the communication network in the wireless section is likely to be unstable, and therefore, depending on the state, the message cannot reach the device.
  • Patent Document 1 has been proposed as a technology aimed at improving the reachability of messages.
  • the technology described in Patent Document 1 is used when a message is transmitted from an application to a device in an IoT service in a communication mode such as a server-client model in which a message is transmitted from an application built in a server such as a cloud to the device.
  • a communication mode such as a server-client model in which a message is transmitted from an application built in a server such as a cloud to the device.
  • the communication node device provided in the communication network temporarily holds the message and transfers it when the device transits to the communicable state.
  • the situation where the device becomes incommunicable is that there is a high possibility that the device exists in an unstable environment of the communication network in which the device can communicate and the device cannot communicate. Therefore, even if a transition is made to the communicable state, there is a high possibility that the communication is immediately made to the incommunicable state again. Even if the message is transferred in such an environment, the message cannot be reached.
  • Patent Document 1 transfers a message that is temporarily stored due to a transition of a device to a communicable state, and therefore cannot consider an unstable situation of a communication network. ..
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a message relay device and method having a high message arrival rate in consideration of the state of a communication network.
  • the present invention is a message relay device that receives an application message sent by an application to a terminal and transfers the received application message to a destination terminal, and whether or not communication with the terminal is possible.
  • a communication availability status determination unit that determines the status
  • a network status estimation unit that estimates the network status between the terminal and the message relay device based on the communication availability status, and an estimation of the terminal that is the destination of the application message received from the application
  • a message processing unit for buffering the application message when the transferability of the application message is determined based on the determined network status.
  • the transferability of a message is determined in consideration of the state of the communication network, so that the failure of the message transfer can be suppressed and the reachability of the message can be improved.
  • it since it determines whether or not to transfer a message in consideration of the state of the communication network, it is possible to suppress unnecessary retransmission of the message due to a failure in message transfer, and to efficiently use resources such as the bandwidth of the communication network. You can
  • a message relay device arranged in a network pre-estimates the state of a communication network, which is a communication path of a message, and the client built in an application built in the server.
  • the message is transferred or buffered based on the estimation result.
  • FIG. 1 is an overall configuration diagram of a message relay system according to an embodiment of the present invention.
  • one or more applications 20 and one or more devices 30 are communicatively connected to the communication network 10.
  • the message relay device 100 according to the present embodiment is provided in the communication network 10.
  • the application 20 is an application that sends a message to the device 30.
  • the implementation form of the application 20 does not matter, and may be implemented on a physical server or a virtual server.
  • the application 20 is installed in a cloud server on the Internet.
  • the application 20 is installed in a server provided in a data center or a base station of a carrier network.
  • the application 20 is provided by the service provider. It should be noted that the application 20 that communicates with the device 30 is not necessarily single on the message relay system.
  • the application 20 is an application in the application layer that is the seventh layer of the OSI (Open Systems Interconnection) reference model. That is, the message sent from the application 20 to the device 30 is a message in the application layer. In the following description, a message sent from the application 20 to the device 30 will be called an “application message”.
  • the protocol used for transmitting the application message is not limited, and for example, lightweight M2M (Machine to Machine) protocols such as CoAP (Constrained Application Protocol) and MQTT (Message Queuing Telemetry Transport), HTTP (HyperText Transfer Protocol) and HTTP/ A high-performance protocol such as 2 is included.
  • the server in which the application 20 is installed has a protocol stack and a device in a layer lower than an application layer necessary for transmitting an application message.
  • the application message is illustrated as being transmitted using TCP/IP (Transmission Control Protocol/Internet Protocol), but other protocol stacks may be used. Further, in the present embodiment, application message transmission uses TCP, which is a connection-oriented protocol that forms a connection in the transport layer and transmits data. The present invention can be implemented even with a connectionless protocol such as UDP (User Datagram Protocol).
  • TCP Transmission Control Protocol/Internet Protocol
  • UDP User Datagram Protocol
  • the communication network 10 forms a communication path between the application 20 and the device 30.
  • the communication network 10 can be composed of a plurality of networks. In the present invention, it is assumed that the communication path between the message relay device 100 and the device 30 includes a wireless communication section. In a typical example, the access line of the device 30 includes a wireless communication section. The present invention can be applied even if the communication network 10 does not include a wireless communication section.
  • the communication network 10 supports a protocol stack below the transport layer required for transmitting an application message. In this embodiment, a TCP/IP protocol stack is supported.
  • the device 30 is a device that receives an application message from the application 20 and performs a predetermined operation based on the application message.
  • the device 30 corresponds to the application 20 and the communication network 10, and supports a protocol in an application layer for receiving an application message and a protocol stack in a layer below the protocol. In this embodiment, a TCP/IP protocol stack is supported. Note that the device 30 is not necessarily single on the message relay system.
  • the message relay device 100 has a function of receiving an application message transmitted from the application 20 to the device 30 and transferring this application message to the device 30.
  • FIG. 2 is a functional block diagram of the message relay device.
  • the message relay device 100 includes a communication function unit 110, a message processing unit 120, and a status confirmation unit 130.
  • the implementation form of the message relay device 100 does not matter, and it need not be implemented as one node. That is, in FIG. 2, the message relay device 100 is provided with three functional units for convenience of description, but with the exception of the communication functional unit 110 that is commonly used by other functional units, restrictions are also imposed on these components. There is no such thing.
  • the communication function unit 110 is a function unit in a layer lower than the application layer that transmits and receives application messages, and provides various functions below the transport layer to the upper layer.
  • the communication function unit 110 is commonly used by the message processing unit 120 and the state confirmation unit 130.
  • the communication function unit 110 includes a communication management unit 111 and a communication processing unit 112.
  • the communication management unit 111 controls and manages the communication performed by the communication processing unit 112. For example, the communication management unit 111 performs management necessary for realizing communication, such as identification of communication by 5-tuple and formation/maintenance/management of TCP (Transmission Control Protocol) connection.
  • the communication processing unit 112 performs data transmission/reception processing with devices such as an application server and the device 30 via the communication network 10.
  • the message processing unit 120 receives an application message from the application 20 via the communication function unit 110, temporarily stores (buffers) the received application message as necessary, and then, via the communication function unit 110, a device It is a functional unit that transfers to 30.
  • the connection in the transport layer used for communication with the application 20 and the connection in the transport layer used for communication with the device 30 are different. That is, the connection used for transmitting the application message by the application 20 is terminated by the communication function unit 110 of the message relay device 100. Similarly, the connection used for receiving the application message by the device 30 is terminated by the communication function unit 110 of the message relay device 100.
  • the message processing unit 120 includes an application message destination specifying function unit 121, an application message buffer function unit 122, and an application message transfer function unit 123.
  • the application message destination identification function unit 121 identifies the device 30 that is the destination of the application message received from the application 20.
  • the identification process is performed by, for example, identification information at the application level of the device 30, 5-tuple, or a combination thereof.
  • the application message buffer function unit 122 temporarily holds the application message when the transfer availability status (described later) of the device 30 that is the destination of the message received from the application 20 is the “transfer disabled” status. Function.
  • the application message held in the application message buffer function unit 122 is transferred to the destination device 30 by the application message transfer function unit 123 when the transfer availability status of the destination device 30 becomes “transferable”. It is transmitted and deleted from the application message buffer function unit 122.
  • the application message transfer function unit 123 determines whether the message received from the application 20 is in the transferable/non-transferable state of the device 30 that is the destination, that is, in the “transferable” state or the “transfer-disabled” state. At the time of the determination processing, the device communication status DB 132 and the communication network status DB 134 of the status confirmation unit 130 described later are referred to. If the result of this determination is that the transfer is possible, the application message transfer function unit 123 sends the application message to the destination device 30 via the communication function unit 110. On the other hand, in the case of the “transfer disabled” state, the application message transfer function unit 123 stores the application message buffer function unit 122.
  • the application message transfer function unit 123 detects that the transfer availability status of the application device held in the application message buffer function unit 122 has changed to the “transfer enabled” status, the application message transfer function unit 123 concerned The application message is extracted from the application message buffer function unit 122 and transmitted to the destination device 30, and the application message is deleted from the application message buffer function unit 122.
  • the detection processing is performed by referring to the communication network status DB 134 of the status confirmation unit 130 described later.
  • the message processing unit 120 Upon receiving the application message (step S101), the message processing unit 120 identifies the device 30 that is the destination of the application message (step S102). First, the message processing unit 120 refers to the device communication state DB 132 of the state confirmation unit 130, which will be described later, to confirm the communicability status of the device 30 (step S103). Then, when the device 30 is not in the communicable state, the message processing unit 120 temporarily stores the application message in the application message buffer function unit 122 (steps S104 and S105) until the device 30 transits to the communicable state. Stand by (step S106).
  • the message processing unit 120 determines the transferable/non-transferable state of the device 30 (step S107), and if the transfer is not possible, the message processing unit 120 sends the application message to the application message buffer function unit 122. It is temporarily stored (steps S108 and S109), and waits until the transfer availability status of the device 30 changes to the "transfer enabled" status (step S110). Next, the message processing unit 120 transmits the application message to the device 30 (step S111).
  • the message processing unit 120 temporarily stores all the application messages received from the application 20 via the communication function unit 110 in the application message buffer function unit 122, and then stores them in the application message buffer function unit 122. It is also possible to determine the communication availability status or the transfer availability status for the application message that has been sent.
  • the state confirmation unit 130 includes a device communication state determination function unit 131, a device communication state DB 132, a communication network state estimation function unit 133, and a communication network state DB 134.
  • the device communication status determination function unit 131 determines a status (communication availability status) indicating whether or not the device 30 can communicate with the message relay apparatus 100, and the device together with the determination result and additional information thereof as necessary. It is stored in the communication status DB 132.
  • the determination result includes the identification information of the device 30 and the determination processing time information.
  • the additional information includes various attribute information of the device 30 and information related to the communication state of the device 30. Examples of the additional information include type information of the device 30, position information, moving direction information, and the like.
  • the state in which the device 30 can communicate means a state in which a transport layer connection is formed between the message relay apparatus 100 and the device 30 and data can be transmitted and received on the connection. .. Therefore, the communication availability determination process can be performed by determining the communication normality not only in the transport layer but also in the lower layer. Various methods can be used as the communication availability determination process. Examples of the communication availability determination processing include (1) determination of communication of a status confirmation message on a transport layer connection formed between the message relay device 100 and the device 30, (2) message relay (3) Other devices and functional units that manage the connection state of the transport layer between the device 100 and the device 30 (3) manage the connection state of the device 30 to the communication network 10 (hereinafter referred to as "management for convenience.
  • the device communication state determination function unit 131 may use any of the determination methods described above, or may use another method such as determination using communication confirmation of the device 30 by PING. A plurality of determination methods may be combined and used.
  • the device communication status determination function unit 131 periodically and repeatedly executes the communication availability status determination processing and the determination result storage processing, so that a plurality of communication availability statuses including the latest communication availability status for the device 30 are device communication statuses. It is stored in the DB 132.
  • the execution interval of this processing is not limited, and may be appropriately determined in consideration of the load of the network, the load of the message relay device 100, and the like.
  • a method of using the above (1) status confirmation message will be described with reference to the flowchart of FIG. In the present method, as will be described later, when the device 30 receives the status confirmation message, it is premised that the device 30 is configured to reply a response message to the status confirmation message.
  • the device communication status determination function unit 131 sends a status confirmation message to the device 30 (step S201). For this message transmission, the connection formed with the device 30 is used. Also, this connection is common to the one used for transmitting the application message.
  • the device communication state determination function unit 131 receives the response message from the device 30 (step S202)
  • the device communication state determination function part 131 determines that the device 30 is in a communicable state (step S203), and the determination result is the device communication state DB 132. (Step S204).
  • the device communication state determination function unit 131 repeats the transmission of the state confirmation message a predetermined number of times (n times) (steps S202 and S205).
  • step S206 If the response message cannot be received even after the state confirmation message is transmitted a predetermined number of times (n times), it is determined that the device 30 is in the communication disabled state (step S206), and the determination result is stored in the device communication state DB 132. (Step S204).
  • the resend processing of the status confirmation message may be performed by the device communication status determination function unit 131 itself, or when the processing unit of the transport layer of the communication function unit 110 has the resend processing function, You may use the said function.
  • the device 30 can add additional information to the response message.
  • the device communication state determination function unit 131 can store the additional information together with the determination result when storing the determination result in the device communication state DB 132.
  • the device communication state determination function unit 131 uses the communication management unit 111 of the communication function unit 110 to detect the state transition of the connection between the message relay device 100 and the device 30, and specifically, the connection.
  • the communication status of the device 30 is determined based on the establishment or disconnection of the device 30.
  • the device communication state determination function unit 131 detects the disconnection of the connection due to the termination of the communication by the device 30 in the state where the connection is established and the device 30 can communicate (steps S301 and S302), the device cannot communicate. It is determined to be in the state (step S303), and the determination result is stored in the device communication state DB 132 (step S304).
  • the device communication state determination function unit 131 detects that the device 30 is reconnected to the communication network 10 and the connection is established in a state where the connection is disconnected and the device 30 cannot communicate (steps S301 and S305). It is determined that the device 30 is in the communicable state (step S306), and the determination result is stored in the device communication state DB 132 (step S304).
  • Another management device that acquires the connection status information in this method is a device that manages the connection of the device 30 to the communication network 10.
  • the communication network 10 includes a mobile communication network such as LTE (Long Term Evolution) and the device 30 is accommodated in the mobile communication network
  • a base station or a mobile station in the mobile communication network is used.
  • Examples include a management device and a relay device.
  • the device communication status determination function unit 131 transmits a connection status information inquiry message to another management apparatus (step S401), and receives a response message including connection status information from the other management apparatus (step S402). .. Then, the device communication status determination function unit 131 determines the communication availability status of the device 30 based on the connection status information included in the response message (steps S403 to S405), and stores the determination result in the device communication status DB 132 (step S406). ).
  • the communication network status estimation function unit 133 based on the communication availability status information of the device 30 stored in the device communication status DB 132, the status of the communication network 10 between the device 30 and the message relay apparatus 100, that is, the device 30.
  • the state of the communication path with the message relay device 100 is estimated. More specifically, the communication network state estimation function unit 133 estimates the state of the communication network 10 based on the change over time of the communication availability state of the device 30. Then, the communication network state estimation function unit 133 stores the estimation result in the communication network state DB 134 together with additional information as necessary.
  • the additional information is information used in the estimation process.
  • the communication network state estimation function unit 133 estimates the state of the communication network 10 for the device 30 based on the occurrence interval of the state in which the device 30 cannot communicate.
  • the latest communication network state of the device 30 is stored in the communication network state DB 134 by the communication network state estimation function unit 133 repeatedly performing the communication network state estimation process and the estimation result storage process periodically.
  • the execution interval of this process does not matter, and may be appropriately determined in consideration of the load of the message relay device 100 and the like. Further, this process may be performed independently of the process of the device communication state determination function unit 131, may be performed subsequently to the process of the device communication state determination function unit 131, or the device communication It may be performed only when the device communication status DB 132 is updated by the processing of the status determination function unit 131.
  • the communication network state estimation function unit 133 acquires the communicability status of the device 30 from the device communication status DB 132 (step S501), and calculates the occurrence interval of the communication disabled status of the device 30 (step S502). Next, the communication network state estimation function unit 133 derives a generation model of the communication disabled state of the device 30 based on the calculated occurrence interval of the communication disabled state (step S503). Next, the communication network state estimation function unit 133 calculates a reference value used in the application message transfer function unit 123 of the message processing unit 120 to determine the transfer availability status of the application message based on the generation model (step S504). ), and stores this reference value in the communication network state DB 134 as an estimation result (step S505).
  • the transferability of the application message is determined in consideration of the state of the communication network 10, so that the failure of the application message transfer can be suppressed and the reachability of the message can be improved. it can. Moreover, since the transferability of the application message is determined in consideration of the state of the communication network 10, it is possible to suppress the unnecessary retransmission of the message due to the failure of the transfer of the application message, and efficiently use the resources such as the bandwidth of the communication network 10. Can be used for
  • a message relay system according to an embodiment of the present invention will be described with reference to the drawings.
  • an example of application message transfer in the overall configuration as shown in FIG. 8 is shown.
  • each functional unit/function constituting the message relay device 100 is mounted on one node.
  • steps (1) to (3) are steps for explaining the flow of FIGS. 4 to 6, and steps (4) to (6) are steps for explaining the flow of FIG. 7 and steps (7) to (13) is a procedure for explaining the flow of FIG.
  • steps (1) to (3) are steps for explaining the flow of FIGS. 4 to 6
  • steps (4) to (6) are steps for explaining the flow of FIG. 7
  • steps (7) to (13) is a procedure for explaining the flow of FIG.
  • each procedure will be described.
  • Procedure (1) The message relay device 100 sends a communication status confirmation message to the device 30.
  • Procedure (2) The device 30 returns a response message to the message relay device 100 based on the communication status confirmation message.
  • Procedure (3) The message relay device 100 receives the response message from the device 30 and determines that the device 30 is in a communicable state. Further, the determination result is stored in the device communication state DB 132.
  • Procedure (4) The message relay apparatus 100 calculates the time interval tn at which the state in which the device 30 cannot communicate occurs based on the information in the device communication state DB 132.
  • Step (5) The message relay device 100 determines the message transfer to be executed in step (12) described later based on the time interval t n when the device communication-disabled state occurs, which is calculated in step (4). A threshold t th that serves as a reference is determined. A method of determining the threshold t th will be described later.
  • Procedure (6) The calculation result of procedure (5) is stored in the communication network status DB 134.
  • this mathematical model is also stored.
  • Procedure (7) The application 20 sends an application message to the message relay device 100.
  • Step (8) The message relay device 100 receives the application message and determines the destination of the application message.
  • Step (9) The message relay device 100 refers to the device communication status DB 132 and confirms the latest communication status of the device 30 that is the destination of the application message.
  • the message relay apparatus 100 temporarily holds the application message, and when the destination device 30 transits to the communication-enabled state, the process proceeds to step (10).
  • Step (10) The message relay device 100 extracts the time when the latest device 30 stored in the device communication status DB 132 becomes incommunicable and additional information such as the device type, position, and moving direction. To do.
  • Step (11) The message relay device 100 calculates the elapsed time from the time when the latest device 30 becomes incommunicable.
  • Step (13) The message relay apparatus 100 transfers the application message to the device 30.
  • the application message is held until the elapsed time of the above procedure (11) is greater than or equal to the threshold t th of the procedure (6). To do.
  • the device is equipped with interfaces for a plurality of communication networks such as Wi-Fi (registered trademark) and LTE, not limited to single/multicarrier. There is. In this way, if there are multiple communication networks that can be used for message transfer, perform steps (1) to (12) for each communication network and make a message transfer judgment in each communication network. Transfer the message using the communication network with the better result.
  • Wi-Fi registered trademark
  • LTE long term evolution
  • this threshold value determination method is a determination method that uses the time interval t n in which the communication disabled state occurs when the device 30 exists in the unstable environment of the communication network 10.
  • the device 30 starts to exist in the unstable environment of the communication network 10 and becomes incapable of communication first, and then moves to the stable environment of the communication network 10 to communicate.
  • a decision method that uses the time until it transitions to a different state. This can be determined by the same logic as the threshold determination method described below.
  • the elapsed time calculated in the above step (11) is the time from when the communication network 10 first exists in the unstable environment and becomes incapable of communication until the current time. And need to.
  • threshold value determination method is an example, and other methods such as a user who uses or operates the message relay device 100 may arbitrarily determine it.
  • ⁇ Threshold determination method (a)> As shown in Expression 1 below, the average value of n time intervals t n designated in advance is set as a threshold value t th . The method of extracting the sample of the time interval t n used for the threshold calculation will be described later.
  • ⁇ Threshold determination method (b)> As shown in the following Expression 2, the maximum value of the preset n time intervals t n is set as the threshold t th . It should be noted that a method for extracting the sample at the time interval t n used for the threshold value calculation will be described later, as in the method (a) described above.
  • the threshold value t th is the median value of the n time intervals t n specified in advance.
  • t 1 , t 2 ,..., T n are obtained by rearranging the target data in ascending order, calculation is performed by the following formula 3. It should be noted that a method of extracting the sample of the time interval t n used for the threshold value calculation will be described later, as in the above methods (a) and (b).
  • ⁇ Threshold determination method (d)> Based on the empirical distribution function of n time intervals t n designated in advance, the threshold value t th is numerically calculated, or an approximate function is obtained for the empirical distribution function, and the threshold value t th is analytically solved.
  • An example of the empirical distribution function is shown in Equation 4 below.
  • the probability F(t) that the threshold t th is the time t is arbitrarily determined by the user who uses or operates the message relay device 100. It should be noted that a method of extracting the sample of the time interval t n used for the threshold value calculation will be described later, as in the above methods (a) to (c).
  • the threshold value t th is numerically calculated based on the cumulative distribution function.
  • the probability density function when the normal distribution is followed is shown in the following Expression 5.
  • the probability F(t) that the threshold t th is the time t is arbitrarily determined by the user who uses or operates the message relay device 100. Further, as in the above methods (a) to (d), a method of extracting the sample of the time interval t n used in the threshold calculation will be described later.
  • t n time interval in which a state in which device communication is impossible occurs
  • t th threshold value serving as a criterion for message transfer
  • t max maximum value of n time intervals
  • t n n for calculating threshold value t th data speed
  • the time interval t n used for the threshold value calculation may be the latest n or may be extracted randomly, the type of the device 30, the determination time, the position, the moving direction/speed, and the message transfer. It may be extracted from the one that is conditioned by the attribute information such as the success information.
  • the following method is shown as an example.
  • the situation in which the device 30 is in the incommunicable state may be that the device 30 exists in an unstable environment of the communication network 10 in which the device 30 repeatedly communicates with the incommunicable state. Is high. Therefore, even if a transition is made to the communicable state, there is a high possibility that the communication is immediately made to the incommunicable state again. That is, as shown in FIG. 9, the state change of the communication network 10 becomes unstable after the communication network 10 having a long time interval t n is in a stable environment and then the communication network 10 having a short time interval t n becomes unstable. It tends to shift to the situation of being in the environment and frequently repeat the transition between the communicable state and the incommunicable state. Macro observations tend to repeat these two situations.
  • an average value, a median value, or the like of all time intervals t n may be adopted.
  • a test for detecting an outlier such as the Smirnov-Grubbs test or the Thompson test is performed on the extracted time interval t n , and the one excluding the outlier is used as the time interval t n used for the threshold calculation.
  • a method other than this may be applied to the method of excluding outliers, and the exclusion itself of outliers is also arbitrary.
  • the communication in which the transition between the communicable state and the incommunicable state is frequently repeated.
  • the communication network It will be possible to determine that has moved to a stable environment.
  • TCP which is a connection-type protocol
  • connectionless-type UDP may be used.

Abstract

通信ネットワークの状況を考慮したメッセージ到達率の高いメッセージ中継装置及び方法を提供する。アプリケーション20とデバイス30との間に介在するメッセージ中継装置100は、デバイス30との間の通信可否状態を判定するデバイス通信状態判定部131と、前記通信可否状態に基づきネットワーク状態を推定するネットワーク状態推定部133と、ネットワーク状態に基づきアプリケーションメッセージの転送可否状態を判定し、転送不可の場合にアプリケーションメッセージをバッファリングするメッセージ処理部110とを備えた。

Description

メッセージ中継装置及び方法
 本発明は、クラウド等のサーバ上に構築されたアプリケーションからデバイスにメッセージを送信するサーバ-クライアントモデルのような通信形態において、デバイスへのメッセージの到達性を向上させるためのメッセージ中継装置及び方法に関する。
 IoT(Internet of Things)技術の進展に伴い、通信ネットワークを経由して様々なアプリケーションと通信することによってデバイスを制御する、IoTサービスが増えてきた。
 このようなIoTサービスでは、移動ロボット等のようにデバイスが移動する場合、無線区間の通信ネットワークが不安定になる可能性が高いため、その状態によっては、メッセージをデバイスに到達させることができない。
 メッセージの到達性を向上させることを目的とした技術としては特許文献1に記載された技術が提案されている。特許文献1に記載された技術は、クラウド等のサーバに構築されたアプリケーションからデバイスにメッセージを送信するサーバ-クライアントモデルのような通信形態のIoTサービスにおいて、アプリケーションからデバイスにメッセージが送信された際にデバイスが通信不可能な状態だった場合、通信ネットワークに設けた通信ノード装置が、当該メッセージを一時的に保持し、デバイスが通信可能な状態に遷移した際に転送するものである。
特開2017-41714号公報
 デバイスが通信不可能な状態になる状況は、デバイスが通信可能な状態と通信不可能な状態を繰り返す通信ネットワークの不安定な環境にデバイスが存在している可能性が高い。そのため、通信可能な状態に遷移したとしても、即時に、通信不可能な状態に再び遷移する可能性が高い。このような環境でメッセージを転送しても、メッセージを到達させることができない。
 上記特許文献1に記載された技術は、デバイスが通信可能な状態に遷移したことを起因に、一時的に保持したメッセージを転送しているため、通信ネットワークの不安定な状況まで考慮できていない。
 このように、メッセージの到達性を向上させるためには、デバイスの通信可不可の状態だけでなく、通信ネットワークが不安定な環境か否かを考慮することが必要である。
 本発明は上記事情に鑑みてなされたものであり、その目的とするところは、通信ネットワークの状況を考慮したメッセージ到達率の高いメッセージ中継装置及び方法を提供することにある。
 上記目的を達成するために、本願発明は、アプリケーションが端末宛に送信したアプリケーションメッセージを受信し、受信したアプリケーションメッセージを宛先の端末に転送するメッセージ中継装置であって、端末との間の通信可否状態を判定する通信可否状態判定部と、前記通信可否状態に基づき端末とメッセージ中継装置との間のネットワーク状態を推定するネットワーク状態推定部と、アプリケーションから受信したアプリケーションメッセージの宛先となる端末について推定されたネットワーク状態に基づきアプリケーションメッセージの転送可否状態を判定し、転送不可の場合にアプリケーションメッセージをバッファリングするメッセージ処理部とを備えたことを特徴とする。
 本発明によれば、通信ネットワークの状態を考慮してメッセージの転送可否を決定するので、メッセージ転送の失敗を抑制することができ、メッセージの到達性を向上できる。また、通信ネットワークの状態を考慮してメッセージの転送可否を決定するので、メッセージ転送の失敗によるメッセージの無駄な再送を抑制することができ、通信ネットワークの帯域等のリソースを効率的に使用することができる。
一実施の形態に係るメッセージ中継システムの全体構成図 メッセージ中継装置の機能ブロック図 メッセージ転送フローの一例 デバイスの通信状態判定フローの一例 デバイスの通信状態判定フローの一例 デバイスの通信状態判定フローの一例 通信ネットワークの状態推定フローの一例 実施例に係るメッセージ中継システムの全体構成図 通信ネットワークの状態変化のイメージを説明する図
 本発明のメッセージ中継システムの概要について説明する。本発明では、サーバ-クライアントモデルのような通信形態において、ネットワークに配置したメッセージ中継装置が、予めメッセージの通信経路である通信ネットワークの状態を推定しておき、サーバに構築されたアプリケーションからクライアントであるデバイスにメッセージが送信された際に、前記推定結果に基づいて当該メッセージを転送する又はバッファリングするというものである。
 次に、本発明の一実施の形態に係るメッセージ中継システムについて図1を参照して説明する。図1は本発明の実施の形態に係るメッセージ中継システムの全体構成図である。
 メッセージ中継システムは、図1に示すように、1以上のアプリケーション20と、1以上のデバイス30とが通信ネットワーク10に通信可能に接続している。通信ネットワーク10には、本実施の形態に係るメッセージ中継装置100が配備されている。
 アプリケーション20は、デバイス30に対してメッセージを送信するアプリケーションである。アプリケーション20の実装形態は不問であり、物理サーバ上に実装されていてもよいし、仮想サーバ上に実装されていてもよい。典型的な例では、アプリケーション20はインターネット上のクラウドサーバに実装される。他の例としては、アプリケーション20は回線事業者網のデータセンタや基地局に配備されたサーバに実装される。アプリケーション20は、サービス事業者によって提供される。なお、デバイス30と通信するアプリケーション20はメッセージ中継システム上で単一とは限らない点に留意されたい。
 アプリケーション20は、OSI(Open Systems Interconnection)参照モデルの第7層であるアプリケーション層におけるアプリケーションである。すなわち、アプリケーション20からデバイス30に送られるメッセージはアプリケーション層におけるメッセージである。なお、以下の説明では、アプリケーション20からデバイス30に送られるメッセージを「アプリケーションメッセージ」と呼ぶ。アプリケーションメッセージの送信に用いるプロトコルは不問であり、例えば、CoAP(Constrained Application Protocol)やMQTT(Message Queuing Telemetry Transport)といった軽量なM2M(Machine to Machine)向けプロトコルや、HTTP(HyperText Transfer Protocol)やHTTP/2等の高機能プロトコルなどが挙げられる。アプリケーション20が実装されたサーバは、アプリケーションメッセージの送信に必要なアプリケーション層より下位の層におけるプロトコルスタックや装置が実装されている。本実施の形態では、アプリケーションメッセージはTCP/IP(Transmission Control Protocol/Internet Protocol)を用いて送信されることを例示するが、他のプロコトルスタックを用いてもよい。また、本実施の形態では、アプリケーションメッセージの送信は、トランスポート層においてコネクションを形成してデータ送信を行うコネクション型プロトコルであるTCPを用いる。なお、UDP(User Datagram Protocol)などコネクションレス型プロトコルであっても本発明を実施できる。
 通信ネットワーク10は、アプリケーション20とデバイス30との間の通信経路を形成する。通信ネットワーク10は、複数のネットワークから構成することができる。本発明では、メッセージ中継装置100とデバイス30との間の通信経路に無線通信区間を含むことを想定する。典型的な例では、デバイス30のアクセス回線として無線通信区間を含む。なお、通信ネットワーク10が無線通信区間を含んでいなくても本発明を適用できる。通信ネットワーク10においては、アプリケーションメッセージの送信に必要なトランスポーション層以下のプロトコルスタックをサポートする。本実施の形態では、TCP/IPのプロトコルスタックをサポートする。
 デバイス30は、アプリケーション20からアプリケーションメッセージを受信し、このアプリケーションメッセージに基づき所定の動作を行う装置である。デバイス30は、アプリケーション20及び通信ネットワーク10と対応して、アプリケーションメッセージの受信のためのアプリケーション層におけるプロコトル、及び、その下位の層におけるプロトコルスタックをサポートする。本実施の形態では、TCP/IPのプロトコルスタックをサポートする。なお、デバイス30はメッセージ中継システム上で単一とは限らない点に留意されたい。
 メッセージ中継装置100は、アプリケーション20からデバイス30に向けて送信されたアプリケーションメッセージを受信し、このアプリケーションメッセージをデバイス30に転送する機能を有する。以下、メッセージ中継装置100の詳細について図2を参照して説明する。図2はメッセージ中継装置の機能ブロック図である。
 メッセージ中継装置100は、図2に示すように、通信機能部110と、メッセージ処理部120と、状態確認部130とを備えている。ここで、メッセージ中継装置100の実装形態は不問であり、1つのノードとして実装されている必要はない。すなわち、図2では、メッセージ中継装置100は説明の便宜上3つの機能部が設けられているが、他の機能部から共通的に利用される通信機能部110を除き、これらにも実装上の制約等はない。
 通信機能部110は、アプリケーションメッセージの送受信を行うアプリケーション層よりも下位の層における機能部であり、上位層に対してトランスポート層以下の各種機能を提供する。通信機能部110は、メッセージ処理部120と状態確認部130とから共通的に利用される。通信機能部110は、通信管理部111と、通信処理部112とを含む。
 通信管理部111は、通信処理部112が行う通信を制御・管理する。例えば、通信管理部111は、5-tupleによる通信の識別や、TCP(Transmission Control Protocol)コネクションの形成・維持・管理など、通信の実現に必要な管理を行う。通信処理部112は、通信ネットワーク10を介してアプリケーションサーバやデバイス30などの機器との間でデータの送受信処理を行う。
 メッセージ処理部120は、通信機能部110を介してアプリケーション20からアプリケーションメッセージを受信し、受信したアプリケーションメッセージを、必要に応じて一時的に保存(バッファリング)し、通信機能部110を介してデバイス30に転送する機能部である。ここで、アプリケーション20との通信に用いられるトランスポート層におけるコネクションと、デバイス30との通信に用いられるトランスポート層におけるコネクションとは異なる点に留意されたい。すなわち、アプリケーション20によるアプリケーションメッセージの送信に用いられるコネクションは、メッセージ中継装置100の通信機能部110で終端される。同様に、デバイス30によるアプリケーションメッセージの受信に用いられるコネクションは、メッセージ中継装置100の通信機能部110で終端される。
 メッセージ処理部120は、アプリケーションメッセージ宛先特定機能部121と、アプリケーションメッセージバッファ機能部122と、アプリケーションメッセージ転送機能部123とを備えている。
 アプリケーションメッセージ宛先特定機能部121は、アプリケーション20から受信したアプリケーションメッセージの宛先となるデバイス30を特定する。当該特定処理は、例えば、デバイス30のアプリケーションレベルにおける識別情報や5-tupleやこれらの組み合わせにより行われる。
 アプリケーションメッセージバッファ機能部122は、アプリケーション20から受信したメッセージの宛先となるデバイス30についての転送可否状態(後述する)が「転送不可」状態であった場合に、一時的にそのアプリケーションメッセージを保持する機能である。アプリケーションメッセージバッファ機能部122に保持されているアプリケーションメッセージは、その宛先となるデバイス30についての転送可否状態が「転送可能」状態になると、アプリケーションメッセージ転送機能部123により当該アプリケーションメッセージが宛先デバイス30に送信され、アプリケーションメッセージバッファ機能部122から削除される。
 アプリケーションメッセージ転送機能部123は、アプリケーション20から受信したメッセージについて、その宛先となるデバイス30についての転送可否状態、すなわち「転送可能」状態であるか又は「転送不可」状態であるかを判定する。当該判定処理の際には、後述する状態確認部130のデバイス通信状態DB132及び通信ネットワーク状態DB134を参照する。当該判定の結果、「転送可能」状態の場合、アプリケーションメッセージ転送機能部123は、通信機能部110を介して当該アプリケーショメッセージを宛先デバイス30に送信する。一方、「転送不可」状態の場合、アプリケーションメッセージ転送機能部123は、当該アプリケーションメッセージバッファ機能部122に記憶する。また、アプリケーションメッセージ転送機能部123は、アプリケーションメッセージバッファ機能部122に保持されているアプリケーションメッセージについて、その宛先となるデバイスについての転送可否状態が「転送可能」状態に遷移したことを検出すると、当該アプリケーションメッセージをアプリケーションメッセージバッファ機能部122から取り出して宛先デバイス30に送信するとともに、当該アプリケーションメッセージをアプリケーションメッセージバッファ機能部122から削除する。前記検出処理は、後述する状態確認部130の通信ネットワーク状態DB134を参照することにより行う。
 メッセージ処理部120の動作について図3のフローチャートを参照して説明する。メッセージ処理部120は、アプリケーションメッセージを受信すると(ステップS101)、当該アプリケーションメッセージの宛先となるデバイス30を特定する(ステップS102)。メッセージ処理部120は、まず、後述する状態確認部130のデバイス通信状態DB132を参照して当該デバイス30についての通信可否状態を確認する(ステップS103)。そして、メッセージ処理部120は、当該デバイス30が通信可能状態でない場合、アプリケーションメッセージをアプリケーションメッセージバッファ機能部122に一時的に記憶し(ステップS104,S105)、デバイス30が通信可能状態に遷移するまで待機する(ステップS106)。
 次に、メッセージ処理部120は、当該デバイス30についての転送可否状態を判定し(ステップS107)、「転送不可」状態の場合、メッセージ処理部120は、当該アプリケーションメッセージをアプリケーションメッセージバッファ機能部122に一時的に記憶し(ステップS108,S109)、デバイス30についての転送可否状態が「転送可能」状態に遷移するまで待機する(ステップS110)。次に、メッセージ処理部120は、当該アプリケーションメッセージを当該デバイス30に送信する(ステップS111)。
 なお、メッセージ処理部120は、通信機能部110を介してアプリケーション20から受信したアプリケーションメッセージの全てを、一旦、アプリケーションメッセージバッファ機能部122に記憶し、その後に、アプリケーションメッセージバッファ機能部122に記憶されているアプリケーションメッセージについて、通信可否状態や転送可否状態の判定を行うようにしてもよい。
 図2に示すように、状態確認部130は、デバイス通信状態判定機能部131と、デバイス通信状態DB132と、通信ネットワーク状態推定機能部133と、通信ネットワーク状態DB134とを備えている。
 デバイス通信状態判定機能部131は、デバイス30がメッセージ中継装置100と通信可能であるか否かを示す状態(通信可否状態)を判定し、その判定結果と、必要に応じてその付加情報とともにデバイス通信状態DB132に記憶する。判定結果はデバイス30の識別情報と判定処理時刻情報を含む。また、付加情報とは、デバイス30の各種属性情報やデバイス30の通信状態に関連する情報を含む。付加情報としては、例えば、デバイス30の種別情報、位置情報、移動方向情報などが挙げられる。
 ここで、デバイス30が通信可能である状態とは、メッセージ中継装置100とデバイス30との間にトランスポート層のコネクションが形成され、且つ、当該コネクション上でデータの送受信が可能な状態を意味する。したがって、通信可否状態の判定処理は、トランスポート層だけでなくその下位のレイヤにおける通信の正常性の判定をもって行うこともできる。通信可否状態の判定処理としては種々の方法を用いることができる。通信可否状態の判定処理としては、例えば、(1)メッセージ中継装置100とデバイス30との間に形成されたトランスポート層のコネクション上で状態確認用メッセージの疎通を判定する、(2)メッセージ中継装置100とデバイス30との間のトランスポート層のコネクションの状態を判定する、(3)デバイス30の通信ネットワーク10への接続状態を管理する他の装置や機能部(以下、便宜的に「管理装置」と言う)からその管理情報である接続状態情報を取得して判定する、というものが挙げられる。デバイス通信状態判定機能部131は、前記判定方法のうちの何れかを用いてもよいし、例えばPINGによるデバイス30の疎通確認を用いた判定など他の方法を用いてもよいし、前記の各判定方法を複数組み合わせて用いてもよい。
 デバイス通信状態判定機能部131は、通信可否状態の判定処理及び判定結果の記憶処理を定期的に繰り返し実施することにより、デバイス30について最新の通信可否状態を含む複数の通信可否状態がデバイス通信状態DB132に蓄積される。本処理の実施間隔は不問であり、ネットワークの負荷やメッセージ中継装置100の負荷等を考慮して適宜決定すればよい。
 上記(1)状態確認用メッセージを用いる方法について図4のフローチャートを参照して説明する。本方法では、後述するように、デバイス30は当該状態確認用メッセージを受信すると、当該状態確認用メッセージに対して応答メッセージを返答するよう構成されていることを前提とする。
 デバイス通信状態判定機能部131は、デバイス30に対して状態確認用メッセージを送信する(ステップS201)。このメッセージ送信は、デバイス30との間に形成されたコネクションが用いられる。また、このコネクションは、アプリケーションメッセージの送信に用いられるものと共通である。次に、デバイス通信状態判定機能部131は、デバイス30から応答メッセージを受信すると(ステップS202)、当該デバイス30が通信可能な状態であると判定し(ステップS203)、判定結果をデバイス通信状態DB132に記憶する(ステップS204)。所定時間内にデバイス30から応答メッセージを受信しない場合、デバイス通信状態判定機能部131は、所定回数(n回)状態確認用メッセージの送信を繰り返す(ステップS202,S205)。所定回数(n回)状態確認用メッセージの送信を繰り返しても応答メッセージを受信できない場合、デバイス30が通信不可な状態であると判定し(ステップS206)、判定結果をデバイス通信状態DB132に記憶する(ステップS204)。
 なお、状態確認用メッセージの再送処理は、デバイス通信状態判定機能部131自身が行ってもよいし、通信機能部110のトランスポート層の処理部が再送処理機能を有している場合には、当該機能を用いてもよい。また、デバイス30は応答メッセージに付加情報を付加することができる。この場合、デバイス通信状態判定機能部131は、デバイス通信状態DB132に判定結果を記憶する際に、判定結果とともに付加情報を記憶することができる。
 上記(2)コネクションの状態に基づく方法について図5のフローチャートを参照して説明する。本方法では、デバイス通信状態判定機能部131は、通信機能部110の通信管理部111を用いてメッセージ中継装置100とデバイス30との間のコネクションの状態遷移の検出に基づき、具体的にはコネクションの確立又は切断の検出に基づき、デバイス30の通信状態を判定する。
 デバイス通信状態判定機能部131は、コネクションが確立されていてデバイス30が通信可能な状態において、デバイス30による通信が終了してコネクションの切断を検出すると(ステップS301,S302)、デバイスが通信不可の状態であると判定し(ステップS303)、判定結果をデバイス通信状態DB132に記憶する(ステップS304)。一方、デバイス通信状態判定機能部131は、コネクションが切断されてデバイス30が通信不可な状態において、デバイス30が通信ネットワーク10に再接続してコネクションが確立したことを検出すると(ステップS301,S305)、デバイス30が通信可能の状態であると判定し(ステップS306)、判定結果をデバイス通信状態DB132に記憶する(ステップS304)。
 上記(3)他の管理装置から取得した接続状態情報に基づく方法について図6のフローチャートを参照して説明する。本方法において接続状態情報を取得する他の管理装置は、デバイス30の通信ネットワーク10への接続を管理する装置である。当該管理装置は、例えば通信ネットワーク10がLTE(Long Term Evolution)などの移動通信網を含んでおり、デバイス30が当該移動通信網に収容されている場合、当該移動通信網内における基地局や移動管理装置や中継装置などが挙げられる。
 デバイス通信状態判定機能部131は、他の管理装置に対して接続状態情報の問合せメッセージを送信し(ステップS401)、当該他の管理装置から接続状態情報を含む応答メッセージを受信する(ステップS402)。そして、デバイス通信状態判定機能部131は、応答メッセージに含まれる接続状態情報に基づきデバイス30の通信可否状態を判定し(ステップS403~S405)、判定結果をデバイス通信状態DB132に記憶する(ステップS406)。
 通信ネットワーク状態推定機能部133は、デバイス通信状態DB132に記憶されているデバイス30の通信可否状態情報に基づき、当該デバイス30とメッセージ中継装置100との間における通信ネットワーク10の状態、すなわちデバイス30とメッセージ中継装置100との間の通信経路の状態を推定する。より詳しくは、通信ネットワーク状態推定機能部133は、デバイス30の通信可否状態の経時的な変化に基づき、通信ネットワーク10の状態を推定する。そして、通信ネットワーク状態推定機能部133は、推定結果を、必要に応じて付加情報とともに通信ネットワーク状態DB134に記憶する。ここで、付加情報とは推定処理に利用した情報である。本実施の形態では、通信ネットワーク状態推定機能部133は、デバイス30が通信不可な状態の発生間隔に基づき、当該デバイス30についての通信ネットワーク10の状態を推定する。
 通信ネットワーク状態推定機能部133が、通信ネットワーク状態の推定処理及び推定結果の記憶処理を定期的に繰り返し実施することにより、デバイス30について最新の通信ネットワーク状態が通信ネットワーク状態DB134に記憶される。本処理の実施間隔は不問であり、メッセージ中継装置100の負荷等を考慮して適宜決定すればよい。また、本処理は、前記デバイス通信状態判定機能部131の処理とは独立して実施してもよいし、前記デバイス通信状態判定機能部131の処理に引き続き実施してもよいし、前記デバイス通信状態判定機能部131の処理によりデバイス通信状態DB132の更新があったときにのみ実施してもよい。
 通信ネットワーク状態推定機能部133の動作について図7のフローチャートを参照して説明する。通信ネットワーク状態推定機能部133は、デバイス通信状態DB132からデバイス30の通信可否状態を取得し(ステップS501)、当該デバイス30の通信不可状態の発生間隔を算出する(ステップS502)。次に、通信ネットワーク状態推定機能部133は、算出した通信不可状態の発生間隔に基づき、デバイス30の通信不可状態の発生モデルを導出する(ステップS503)。次に、通信ネットワーク状態推定機能部133は、前記発生モデルに基づき、前記メッセージ処理部120のアプリケーションメッセージ転送機能部123におけるアプリケーションメッセージの転送可否状態の判定に用いられる基準値を算出し(ステップS504)、この基準値を推定結果として通信ネットワーク状態DB134に記憶する(ステップS505)。
 本実施の形態に係るメッセージ中継装置によれば、通信ネットワーク10の状態を考慮してアプリケーションメッセージの転送可否を決定するので、アプリケーションメッセージ転送の失敗を抑制することができ、メッセージの到達性を向上できる。また、通信ネットワーク10の状態を考慮してアプリケーションメッセージの転送可否を決定するので、アプリケーションメッセージ転送の失敗によるメッセージの無駄な再送を抑制することができ、通信ネットワーク10の帯域等のリソースを効率的に使用することができる。
 本発明の実施例に係るメッセージ中継システムについて図面を参照して説明する。ここでは、図8に示すような全体構成におけるアプリケーションメッセージ転送の例を示す。ここで、前述したように、アプリケーション20やデバイス30は複数あっても良い。また、メッセージ中継装置100を構成する各機能部/機能が一つのノードに実装されている必要もない。
 実際は、前述した図3~7のフローに基づいて実施するため、並行処理を行うものも存在しているが、説明の便宜上、各手順に(1)~(13)の番号を振り分けている。ここで、手順(1)~(3)は図4~6のフローを説明するための手順、手順(4)~(6)は図7のフローを説明するための手順、手順(7)~(13)は図3のフローを説明するための手順である。以下、各手順について説明する。
 手順(1):メッセージ中継装置100は、デバイス30に通信状態確認メッセージを送信する。
 手順(2):デバイス30は、通信状態確認メッセージに基づいて、メッセージ中継装置100に応答メッセージを返信する。
 手順(3):メッセージ中継装置100は、デバイス30からの応答メッセージを受信し、デバイス30が通信可能な状態であると判定する。さらに、判定結果をデバイス通信状態DB132に記憶する。
 手順(4):メッセージ中継装置100は、デバイス通信状態DB132の情報に基づいて、デバイス30の通信が不可能な状態が発生する時間間隔tnを算出する。
 手順(5):メッセージ中継装置100は、手順(4)で算出したデバイスの通信が不可能な状態が発生する時間間隔tに基づいて、後述の手順(12)で実施するメッセージ転送の判定基準となる閾値tthを決定する。閾値tthの決定方法については後述す
る。
 手順(6):手順(5)の算出結果を通信ネットワーク状態DB134に記憶する。閾値決定方法が後述の(c)~(d)のように、経験分布関数や累積分布関数等のように数式モデルを導出する場合は、この数式モデルも記憶する。
 手順(7):アプリケーション20は、メッセージ中継装置100にアプリケーションメッセージを送信する。
 手順(8):メッセージ中継装置100は、アプリケーションメッセージを受信し、アプリケーションメッセージの宛先を判定する。
 手順(9):メッセージ中継装置100は、デバイス通信状態DB132を参照し、アプリケーションメッセージの宛先であるデバイス30の最新の通信状態を確認する。ここで、宛先デバイス30が通信不可能な状態の場合、メッセージ中継装置100は、アプリケーションメッセージを一時的に保持し、宛先デバイス30が通信可能な状態に遷移した場合、手順(10)に進む。
 手順(10):メッセージ中継装置100は、デバイス通信状態DB132に記憶されている一番最新のデバイス30が通信不可能になった時刻と、デバイスの種別、位置、移動方向等の付加情報を抽出する。
 手順(11):メッセージ中継装置100は、一番最新のデバイス30が通信不可能になった時刻からの経過時間を算出する。
 手順(12):メッセージ中継装置100は、前述の手順(10)で抽出した情報に基づいて手順(6)で通信ネットワーク状態DB134に記憶した閾値tthを参照し、この閾値tthと前述の手順(11)の経過時間とを比較して、閾値tthよりも経過時間が大きい、もしくは、以上であったときに、アプリケーションメッセージを転送可能と判定する。
 手順(13):メッセージ中継装置100は、アプリケーションメッセージをデバイス30に転送する。前述の手順(12)で転送不可能と判定された場合は、前述の手順(11)の経過時間が手順(6)の閾値tthよりも大きい、もしくは、以上になるまで、アプリケーションメッセージを保持する。
 また、最近では、移動デバイスの自動走行や遠隔制御等の、デバイスが通信不可能になる時間を最小化する必要のあるユースケースが増えてきている。したがって、デバイス30が通信不可能になる時間を最小化するために、Wi-Fi(登録商標)やLTE等、シングル/マルチキャリアに限らず、複数の通信ネットワーク用のインタフェースをデバイスに具備している。このように、メッセージ転送に利用できる通信ネットワークが複数存在する場合は、手順(1)~(12)をそれぞれの通信ネットワークに対して実施し、それぞれの通信ネットワークでメッセージ転送の判定を行い、判定結果の良い方の通信ネットワークを利用して、メッセージを転送する。
 <閾値決定方法>
 次に、上記手順(5)の閾値tthの決定方法の実施例について詳述する。この閾値決定方法は、前述のとおり、デバイス30が通信ネットワーク10の不安定な環境に存在する際の通信不可能な状態が発生する時間間隔tを使った決定方法である。
 なお、他の決定方法としては、デバイス30が、通信ネットワーク10の不安定な環境に存在し始めて最初に通信不可能な状態になってから、通信ネットワーク10の安定した環境に移動して通信可能な状態に遷移するまでの時間を使った決定方法もある。これは、下記閾値決定方法と同様の論理で決定することができる。この方法で閾値を決定した場合は、上記手順(11)で算出する経過時間は、通信ネットワーク10の不安定な環境に存在し始めて最初に通信不可能な状態になってから現在時刻までの時間とする必要がある。
 また、下記閾値決定方法は一例であるため、このメッセージ中継装置100を利用したり運用したりするユーザが任意で決定する等の他の方法を実施しても構わない点に留意されたい。
 <閾値決定方法(a)>
 下記数1に示すように、予め指定されたn個の時間間隔tの平均値を閾値tthとする。なお、閾値計算に使用する時間間隔tのサンプルを抽出する方法は後述する。
Figure JPOXMLDOC01-appb-M000001
 
 <閾値決定方法(b)>
 下記数2に示すように、予め指定されたn個の時間間隔tの最大値を閾値tthとする。なお、前述の方法(a)と同様、閾値計算に使用する時間間隔tのサンプルを抽出する方法は後述する。
Figure JPOXMLDOC01-appb-M000002
 
 <閾値決定方法(c)>
 予め指定されたn個の時間間隔tの中央値を閾値tthとする。対象データを小さい順に並び替えたものをt,t,…,tとしたとき、下記数3に示す計算式で算出する。なお、前述の方法(a)~(b)と同様、閾値計算に使用する時間間隔tのサンプルを抽出する方法は後述する。
Figure JPOXMLDOC01-appb-M000003
 
 <閾値決定方法(d)>
 予め指定されたn個の時間間隔tの経験分布関数に基づき、閾値tthについて数値計算、または、経験分布関数に対して近似関数を求め、閾値tthを解析的に解く。経験分布関数の一例を下記数4に示す。閾値tthが時間tとなる確率F(t)は、このメッセージ中継装置100を利用したり運用したりするユーザが任意に決定する。なお、前述の方法(a)~(c)と同様、閾値計算に使用する時間間隔tのサンプルを抽出する方法は後述する。
Figure JPOXMLDOC01-appb-M000004
 
 <閾値決定方法(e)>
 予め指定されたn個の時間間隔tが、ある確率分布に従うものと仮定し、その累積分布関数に基づき、閾値tthを数値計算する。例として、正規分布に従った場合の確率密度関数を下記数5に示す。また、前述の方法(d)と同様、閾値tthが時間tとなる確率F(t)は、このメッセージ中継装置100を利用したり運用したりするユーザが任意に決定する。また、前述の方法(a)~(d)と同様、閾値計算に使用する時間間隔tのサンプルを抽出する方法は後述する。
Figure JPOXMLDOC01-appb-M000005
 
 なお、上記数1~数5で用いられた記号は以下のように定義される。
 t:デバイスの通信が不可能な状態が発生する時間間隔
 tth:メッセージ転送の判定基準となる閾値
 tmax:n個の時間間隔tの最大値
 n:閾値tthを算出するのに使用する時間間隔のデータ数
 F(t):閾値tthが時間tとなる確率
 μ:閾値tthを算出するのに使用する時間間隔の平均値
 σ:閾値tthを算出するのに使用する時間間隔の標準偏差
<時間間隔tnのサンプル抽出方法>
 閾値計算に使用する時間間隔tは、最新n個で抽出しても良いし、無作為に抽出しても良いし、デバイス30の種別や判定時刻や、位置、移動方向/速度、メッセージ転送の成功情報等の属性情報で条件付けしたものから抽出しても良い。ここでは、以下に示す方法を一例として示す。
 前述のとおり、デバイス30が通信不可能な状態になる状況は、デバイス30が通信可能な状態と通信不可能な状態を繰り返す通信ネットワーク10の不安定な環境にデバイス30が存在している可能性が高い。そのため、通信可能な状態に遷移したとしても、即時に、通信不可能な状態に再び遷移する可能性が高い。すなわち、通信ネットワーク10の状態変化は、図9のように、時間間隔tの長い通信ネットワーク10が安定している環境にいる状況を経て、時間間隔tの短い通信ネットワーク10の不安定な環境にいる状況に移行し、通信可能な状態と通信不可能な状態の遷移を頻繁に繰り返す傾向がある。マクロで観測すると、この二つの状況を繰り返す傾向がある。
 そこで、サンプル抽出法の一例としては、図9のような傾向を考慮して、時間間隔tの長い状態を経て通信不可能な状況が発生した時点を起点として、通信可能な状態に遷移後に再び通信不可能な状況が発生するまでの時間間隔tが長くなるまでの間を抽出対象とする。
 また、このような時間間隔tを抽出するためには、時間間隔tが抽出対象であるかを判定する必要がある。ここでは、以下の方法を一例として示す。
 すべての時間間隔tに基づいて、確率密度関数f(t)を求める。図9のような傾向があるため、この確率密度関数f(t)は、複数のピークが存在する形状となる。さらに、この確率密度関数f(t)に基づいて、f’(t)=0となる極小値の時間間隔tを算出する。確率密度関数f(t)が、複数のピークの存在する形状の場合は、極小値が複数あり時間間隔tが複数算出される可能性がある。その場合、複数算出された極小値となる時間間隔tのうち、一番小さい値を判定基準とし、これよりも小さい、もしくは、以下となる時間間隔tを抽出する。
 ここで、判定基準の抽出方法は、すべての時間間隔tの平均値や中央値等を採用しても良い。
 さらに、この抽出された時間間隔tに対して、スミルノフ・グラブス検定やトンプソン検定等の外れ値を検出する検定を実施し、外れ値を除外したものを、閾値計算に使用する時間間隔tとする。外れ値を除外する方法はこれ以外の方法を適用しても構わないし、外れ値の除外自体を実施についても任意である。
 以上のように、デバイス30が通信ネットワーク10の不安定な環境から安定している環境に移動したかどうかが重要となるため、通信可能な状態と通信不可能な状態の遷移を頻繁に繰り返す通信ネットワークの不安定な環境における時間間隔tのみを対象とすることにより、通信可能な状態で前回通信不可能な状態になってからの経過時間と、閾値tthを比較することによって、通信ネットワークが安定している環境に移動したと判断することが可能となる。
 以上、本発明の実施の形態及び実施例について詳述したが、本発明はこれに限定されるものではない。例えば、上記実施の形態では、アプリケーションメッセージの送信にコネクション型のプロトコルであるTCPを用いたが、コネクションレス型のUDPを用いてもよい。
 10…通信ネットワーク
 20…アプリケーション
 30…デバイス
 100…メッセージ中継装置
 110…通信機能部
 111…通信管理部
 112…通信処理部
 120…メッセージ処理部
 121…アプリケーションメッセージ宛先特定機能部
 122…アプリケーションメッセージバッファ機能部
 123…アプリケーションメッセージ転送機能部
 130…状態確認部
 131…デバイス通信状態判定機能部
 132…デバイス通信状態DB
 133…通信ネットワーク状態推定機能部
 134…通信ネットワーク状態DB

Claims (8)

  1.  アプリケーションが端末宛に送信したアプリケーションメッセージを受信し、受信したアプリケーションメッセージを宛先の端末に転送するメッセージ中継装置であって、
     端末との間の通信可否状態を判定する通信可否状態判定部と、
     前記通信可否状態に基づき端末とメッセージ中継装置との間のネットワーク状態を推定するネットワーク状態推定部と、
     アプリケーションから受信したアプリケーションメッセージの宛先となる端末について推定されたネットワーク状態に基づきアプリケーションメッセージの転送可否状態を判定し、転送不可の場合にアプリケーションメッセージをバッファリングするメッセージ処理部とを備えた
     ことを特徴とするメッセージ中継装置。
  2.  前記通信可否状態判定部は、端末に対して状態確認メッセージに送信し、当該状態確認メッセージに対する端末からの応答メッセージに基づき、端末との間の通信可否状態を判定する
     ことを特徴とする請求項1記載のメッセージ中継装置。
  3.  前記通信可否状態判定部は、アプリケーションメッセージの転送に用いられるメッセージ中継装置と端末との間のコネクションの状態に基づき、端末との間の通信可否状態を判定する
     ことを特徴とする請求項1又は2記載のメッセージ中継装置。
  4.  前記通信可否状態判定部は、メッセージ中継装置と端末との間の通信経路を形成するネットワークの管理装置から取得した端末の接続状態情報に基づき、端末との間の通信可否状態を判定する
     ことを特徴とする請求項1乃至3何れか1項記載のメッセージ中継装置。
  5.  前記メッセージ処理部は、端末の通信可否状態の経時的な変化に関する現在の状況に基づきアプリケーションメッセージの転送可否状態を判定し、
     前記ネットワーク状態推定部は、前記転送可否状態の判定処理で用いられる端末の通信可否状態の経時的な変化に関する情報を算出してネットワーク状態とする
     ことを特徴とする請求項1乃至4何れか1項記載のメッセージ中継装置。
  6.  前記メッセージ処理部は、端末が通信可能状態である場合に前回の通信不可状態となった時からの経過時間と前記ネットワーク状態に基づきアプリケーションメッセージの転送可否状態を判定する
     ことを特徴とする請求項5記載のメッセージ中継装置。
  7.  前記ネットワーク状態推定部は、端末が通信不可状態である複数の期間の間の時間間隔に基づき、ネットワーク状態として閾値を算出し、
     前記メッセージ処理部は、前記経過時間と前記閾値とを比較することによりアプリケーションメッセージの転送可否状態を判定する
     ことを特徴とする請求項6記載のメッセージ中継装置。
  8.  ネットワークに配備されたメッセージ中継装置が、アプリケーションが端末宛に送信したアプリケーションメッセージを受信し、受信したアプリケーションメッセージを宛先の端末に転送するメッセージ中継方法であって、
     通信可否状態判定部が、端末との間の通信可否状態を判定するステップと、
     ネットワーク状態推定部が、前記通信可否状態に基づき端末とメッセージ中継装置との間のネットワーク状態を推定するステップと、
     メッセージ処理部が、アプリケーションから受信したアプリケーションメッセージの宛先となる端末について推定されたネットワーク状態に基づきアプリケーションメッセージの転送可否状態を判定し、転送不可の場合にアプリケーションメッセージをバッファリングするステップとを備えた
     ことを特徴とするメッセージ中継方法。
PCT/JP2020/004016 2019-02-18 2020-02-04 メッセージ中継装置及び方法 WO2020170790A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/429,659 US20220210673A1 (en) 2019-02-18 2020-02-04 Message relay apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-026675 2019-02-18
JP2019026675A JP7157334B2 (ja) 2019-02-18 2019-02-18 メッセージ中継装置及び方法

Publications (1)

Publication Number Publication Date
WO2020170790A1 true WO2020170790A1 (ja) 2020-08-27

Family

ID=72144670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004016 WO2020170790A1 (ja) 2019-02-18 2020-02-04 メッセージ中継装置及び方法

Country Status (3)

Country Link
US (1) US20220210673A1 (ja)
JP (1) JP7157334B2 (ja)
WO (1) WO2020170790A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11888753B2 (en) * 2021-08-10 2024-01-30 Mellanox Technologies, Ltd. Ethernet pause aggregation for a relay device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143237A (ja) * 2001-11-06 2003-05-16 Mitsubishi Electric Corp ネットワーク装置および移動端末情報システム
JP2013219438A (ja) * 2012-04-04 2013-10-24 Nifty Corp 通信システム及び通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617337B1 (en) * 2007-02-06 2009-11-10 Avaya Inc. VoIP quality tradeoff system
KR102196492B1 (ko) * 2014-07-04 2020-12-30 삼성전자주식회사 통신 시스템에서 데이터 송수신 장치 및 방법
KR102039995B1 (ko) * 2018-03-29 2019-11-04 라인플러스 주식회사 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143237A (ja) * 2001-11-06 2003-05-16 Mitsubishi Electric Corp ネットワーク装置および移動端末情報システム
JP2013219438A (ja) * 2012-04-04 2013-10-24 Nifty Corp 通信システム及び通信方法

Also Published As

Publication number Publication date
US20220210673A1 (en) 2022-06-30
JP2020136859A (ja) 2020-08-31
JP7157334B2 (ja) 2022-10-20

Similar Documents

Publication Publication Date Title
JP7078850B2 (ja) ネットワーク制御装置及びネットワーク制御方法
KR102187810B1 (ko) 통신 시스템에서 데이터 흐름 제어 장치 및 방법
JP4430597B2 (ja) ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
EP2055052B1 (en) Triggering bandwidth reservation and priority remarking
JP5569975B2 (ja) 通信品質測定方法および装置
JPWO2012066824A1 (ja) 通信装置および通信システム
US20050111422A1 (en) Radio terminal equipment
CN105262836A (zh) 服务器推送信息的方法及客户端接收推送信息的方法
Alam et al. CRRT: congestion-aware and rate-controlled reliable transport in wireless sensor networks
EP3370387B1 (en) Two-sided acceleration transmission method and system for wireless network
JP5574944B2 (ja) 無線中継装置および無線中継方法
WO2020170790A1 (ja) メッセージ中継装置及び方法
KR20120017972A (ko) 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
EP3979588A1 (en) Improved error handling for media access control security
EP2245537B1 (en) Network message management device and methods thereof
US8924486B2 (en) Method and system for aggregating communications
US20080040476A1 (en) Access Point Control System and Access Point Control Method
CN111935028B (zh) 一种基于路由模式、mqtt协议的iot集群通讯方法
US9094879B2 (en) Handover method of wireless communication system, and wireless base station and wireless terminal of the same system
US9877264B2 (en) Apparatus and method for reducing transmission delay of HTTP protocol and processing load of HTTP server in wireless communications network
WO2015194134A1 (ja) 通信状態推定装置、通信状態推定方法及び通信状態推定プログラムを記憶する記録媒体
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Sahu et al. Comparative performance analysis of ZRP routing protocol for multicasting in MANETs using Droptail and RED queue management
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
CN113039754A (zh) SigMesh网络中的监督式话务管理

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20759772

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20759772

Country of ref document: EP

Kind code of ref document: A1