Network control system and program
The network control system addresses the initial synchronization load by detecting congestion and using a non-real-time network to transmit compressed data, optimizing network capacity and reducing communication failures in real-time network communication.
Patent Information
- Application Number
- PCT/JP2023/027036
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2023-07-24
- Publication Date
- 2025-01-02
AI Technical Summary
The initial synchronization load in real-time network communication causes network capacity limitations, leading to delays, disconnections, and inefficiencies due to the need to distribute unnecessary information to all clients, which can exceed network capacity and result in communication failures.
A network control system that manages initial synchronization by detecting congestion levels and using a non-real-time network to transmit the latest information of connected clients to new clients, potentially compressing data using the Nagle algorithm, thereby avoiding unnecessary data distribution and optimizing network capacity usage.
This approach effectively reduces the initial synchronization load and prevents network capacity limitations, ensuring efficient and reliable communication by only transmitting necessary data, thus enhancing responsiveness and reducing the risk of communication failures.
Smart Images

Figure JP2023027036_02012025_PF_FP_ABST
Abstract
Description
Network control system and program
[0001] The present invention relates to a network control system and a program.
[0002] In recent years, with the remarkable progress of network communications, it is expected that network communications will be able to accommodate a wide variety of uses and purposes in many fields. In the following, "network communications" refers to all communications technologies for exchanging data via the Internet.
[0003] In network communications, multicast is a technology that enables the bulk transmission of data. Multicast makes it possible to simultaneously broadcast data to a large number of clients at the cost of a single transmission process. However, while multicast is currently available in local area networks, communications over the Internet require the use of a multicast-compatible Internet Service Provider (ISP) and multicast-compatible router equipment, making it difficult to select and use as a commonly used technology, even though it exists as a standard. Therefore, a network cache technology known as a Content Delivery Network (CDN) is currently being used as an alternative network technology.
[0004] Network communications include unicast communications, which are one-to-one communications, multicast communications, which are one-to-many communications, and broadcast communications. However, as mentioned above, it is not realistic to use multicast communications via the Internet, and broadcast communications is also a technology intended for communications within the same local area network that does not involve the Internet.
[0005] In a network service that provides information processing via the Internet, the system is composed of a client, which is the communication device on the user side of the network service, and a server, which is the provider side of the network service. To distinguish it from real-time network communication, which will be described later, this will be referred to as "general network communication" (non-real-time network communication). An example of "general network communication" (non-real-time network communication) is HTTP (Hypertext Transfer Protocol) communication. HTTP communication here refers to HTTP / 1.0, HTTP / 1.1, HTTP / 2, HTTP / 3, and their data exchange procedures, related protocols, and derived protocols.
[0006] In general network communications, in order to reduce the frequency of communications and improve efficiency, data compression is often used to reduce the size of communication data, and data accumulation is often used to reduce the number of communications by accumulating a certain amount of data before transmitting it. By using such technologies, the efficiency of communication data size per communication is improved, and communication costs are reduced. Specifically, communication efficiency algorithms such as the Nagle algorithm are mainly used.
[0007] Furthermore, the above-mentioned data compression and data accumulation are both performed in the "communication gap" created by reducing communication frequency. However, on the other hand, if communication frequency increases, the gap decreases, and these efficiency-enhancing processes are performed during the time that should be spent on actual data communication processing, which can actually cause delays. For this reason, it is recommended to keep communication frequency to a minimum in general network communications. Furthermore, general network communications are characterized by being better suited to one-to-one individual communications than one-to-many bulk distribution.
[0008] Stream network communication refers to communication methods such as Real Time Streaming Protocol (RTSP) and Real Time Messaging Protocol (RTMP) used for video and audio distribution. Continuous data is distributed in large volumes and at high frequency to many users at once. To withstand large-scale viewing, it allows for variations in delay between viewers. For example, when a video of an event is broadcast live, it is almost impossible for all viewers to view the event at exactly the same time. Because it is designed to tolerate delays, it is also easy to use to improve communication efficiency through data compression and data storage technologies such as CDNs using network caches.
[0009] Real-time network communication refers to network communication in which participants exchange large amounts of data at very high frequency. It is often used in systems such as video conferencing systems that allow for mutual conversations, or systems that share a space in VR or games and enable highly responsive communication. Real-time network communication requires highly responsive communication, and is characterized by the fact that delays are unacceptable (see, for example, Patent Document 1). For example, TCP, UDP, TLS, DTLS, QUIC, and their data exchange procedures, related protocols, derived protocols, etc. are used. To increase responsiveness, low-layer protocols that require relatively little modification tend to be adopted.
[0010] In general network communications, it is possible to reduce communication frequency by making extensive use of data compression and data accumulation to improve efficiency. The Nagle algorithm is a transmission technology that improves data transmission efficiency by packing all data into the data area that can be loaded into a packet and then transmitting the packet. In today's "general network communications," it is common to use a combination of compression and accumulation technologies using the Nagle algorithm, as shown in Figure 10. In other words, considering the transmission cost incurred for transmitting one packet, packing as much data as possible into the packet reduces transmission costs per transmitted data amount, thereby increasing the net total amount of transmittable data. On the other hand, based on the characteristics of the Nagle algorithm shown in Figure 11, the use of the Nagle algorithm sacrifices responsiveness and tolerates delays, but instead improves the reliability of each communication and the efficiency of communication data size. In contrast, real-time network communications are characterized by very high communication frequency and very little communication gaps. Therefore, it is difficult to use bulk transmission or compression techniques that rely on data accumulation because they can actually cause delays, and in real-time network communications, the Nagle algorithm is often disabled.
[0011] When broadcasting the same data, using bulk transmission reduces delays. Figure 12 shows an overview of bulk network distribution in a real-time network. As shown in the figure, within a real-time network service, for example, when client terminal A sends data (1), the data sent from client terminal A is distributed (2) to all client terminals A to N. In other words, because data is distributed to all clients in bulk without any computational processing such as identifying the destination, data can be distributed to many clients more quickly. Therefore, this method is an efficient method in cases where a client's location and status need to be synchronized with other clients in real time. Furthermore, using this mechanism, all clients can constantly exchange information on each other's latest status and maintain a synchronized state.
[0012] Figure 13 is a diagram showing an overview of individual network distribution in a real-time network. As shown in the figure, when a client sends data (1) within a real-time network service, the data is distributed (2) to a specific client. In other words, data that needs to be sent only to a specific client uses individual network communication rather than bulk network communication. Unlike state synchronization in bulk network communication, the purpose of individual network distribution is often to use it in processes that are linked to the actions of specific clients. For the sending client, complex destination designs for not just one but two or three clients are best avoided, as this leads to a decrease in overall transmission efficiency. Even in cases like the one above, it is common to implement the entire series of operations using "bulk network communication."
[0013] Individual network delivery, which sends different data to each user, requires computational processing to determine the destination at the time of transmission, which can easily cause delays, particularly in real-time network communications, and therefore is not widely used. To explain in detail using Figure 14, real-time network communications have a limit to the number of events that can be issued per unit of time. Both individual network communications and bulk network communications consume these precious event counts. Therefore, using "individual network communications" too frequently reduces the amount of data that can be sent through "bulk network communications." Furthermore, complex destination design also creates delays due to computational processing, leading to a decrease in overall transmission efficiency. For these reasons, the heavy use of individual network communications is discouraged, and bulk network communications are used whenever possible.
[0014] For these reasons, data is often sent in a broadcast format to all participants in real-time network communication. For example, network devices such as switching hubs use the same concept, and in principle, all communications are sent in bulk to speed up network communication. Specifically, in the case of a switching hub, the machine that receives data from the switching hub discards data that is not addressed to it. Therefore, bulk transmission is one of the mechanisms that ensures the responsiveness of real-time network communication.
[0015] In stream network communications, all that is required is that video and audio transmissions are performed normally, so as long as there are no problems with the continuous reception of data, delays in the start time of transmission itself are not a problem, as mentioned above. For this reason, stream network communications are easy to improve efficiency by compressing data or accumulating data for bulk transmission. In contrast, in real-time network communications, if there are delays in the start time of data reception for each user, it becomes difficult to carry out normal communications when communication that requires immediate response occurs. For this reason, real-time network communications do not allow delays in the continuous reception of data, nor delays in the start time of data transmission itself.
[0016] While real-time network communication is a highly anticipated technology, there are many cases where companies use technologies that are clearly not responsive, and as a result, they use them in exaggerated advertising as "real-time network communication" for the sake of their sales strategies. Furthermore, the exact interpretation of the term varies widely among organizations and individuals, making it difficult to use the term in patent documents, which require accuracy. Therefore, for the sake of convenience, "real-time network communication" will be used hereafter to refer to network communication that meets the following criteria: - Network communication in which the Nagle algorithm or equivalent technology is "disabled." As long as these criteria are met, we will refer to it as "real-time network communication" regardless of the protocol or method.
[0017] For the sake of convenience, in contrast to "real-time network communication," "non-real-time network communication" hereafter will refer to network communication that satisfies the following: Network communication that "enables" the Nagle algorithm or equivalent technology. As long as this is met, it will be referred to as "non-real-time network communication" hereafter, regardless of the protocol or method.
[0018] Japanese Patent Application Laid-Open No. 2005-169138
[0019] In real-time network communication, regardless of the method, participants first perform a procedure similar to mode switching to enable highly responsive communication between each other. Although this varies depending on the product, mode switching is often expressed as follows: Entering or leaving a virtual room dedicated to real-time network communication. Subscribing to or canceling a channel dedicated to real-time network communication. After mode switching, participants in the same room or participants subscribed to the same channel can perform highly responsive network communication, or real-time network communication, with each other. However, the expression is not limited to this as long as similar procedures are performed to perform real-time network communication. Hereinafter, the above process will be referred to as "mode switching."
[0020] In real-time network communication, when a new client switches modes to perform real-time network communication, it obtains the latest information from clients already participating in real-time network communication. This initial synchronization process is hereafter referred to as "initial synchronization." Initial synchronization is generally performed as follows: - Initial synchronization may be performed using batch network distribution on the real-time network. In this case, unnecessary information that already exists for other clients is distributed, consuming communication bandwidth that would otherwise be available and reducing the distribution performance of the entire real-time network. - Initial synchronization may be performed using individual network distribution on the real-time network. In this case, the number of events that can be issued on the real-time network is consumed, reducing the distribution performance of the entire real-time network. - To prevent a reduction in the distribution performance of the real-time network, initial synchronization may not be performed and the minimum necessary information may be obtained only when it is needed. This can easily result in visual anomalies such as other clients suddenly appearing on the display.
[0021] In multi-party real-time network communications, real-time network communications are carried out with simultaneous connections of 100 to 10,000 or more participants. However, typical real-time network communications are often intended for 5 to 20 participants. This makes the implementation of real-time network communications, which already has high technical hurdles, even more difficult.
[0022] Here, multi-person real-time network communication involves a load called initial synchronization network load. Initial synchronization network load refers to a high load state that temporarily occurs when a new client joins a real-time network service to which many client terminals are already connected, during the process of collecting all participant information for that room or channel, as shown in Figure 15. Hereinafter, this load will be referred to as the "initial synchronization load."
[0023] The new client terminal X does not know the latest status of the real-time network service. Therefore, in order to grasp the latest status, the new client terminal X requests (1) all client terminals to obtain the latest information. The request for obtaining the latest information is distributed (2) to all client terminals using the collective network communication of the real-time network service.
[0024] As shown in Figure 16, in response to a request for the latest information received from new client terminal X, all participating client terminals respond with their latest information (1). The latest information is then distributed to all clients via bulk network communication (2). In other words, even though the data size tends to be large during initial synchronization, the initial synchronization information of all clients is distributed to all client terminals. However, only new client terminal X needs the initial synchronization data; the other client terminals already have this synchronization information, so unnecessary information is sent.
[0025] When an initial synchronization load occurs, there are more chances of hitting the network capacity limit, especially in the case of multi-person real-time network communication. When the network capacity limit is hit, the overflowed portion may be treated as missing data, or an attempt may be made to re-acquire it using a retry process, but the inability to perform this communication can lead to the frequent occurrence of the following events: - Delays in the entire real-time network communication due to communication failures - Frequent disconnections due to communication failures
[0026] A particularly problematic aspect of this initial synchronization network load is that, even though the estimated data size leaves a considerable margin for the actual number of people who can connect, the initial synchronization network load often causes new real-time network communication participants to be unable to connect and existing real-time network communication participants to be forcibly disconnected, even when the number of people is far short of the upper limit.
[0027] Therefore, the present invention has been made in consideration of the above-mentioned problems, and has an object to provide a network control system and program that avoids the initial synchronization load and makes full use of a predetermined network transfer capacity limit.
[0028] Form 1: One or more embodiments of the present invention propose a network control system comprising a plurality of client terminals, a real-time network connecting the plurality of client terminals, a non-real-time network connecting the plurality of client terminals, and a communication control device that controls data communication between the real-time network and the non-real-time network, wherein in an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network, when the communication control device receives information about a new client from the new client terminal as an initial synchronization request, the communication control device transmits the latest information about the plurality of clients connected to the real-time network to the new client terminal via the non-real-time network.
[0029] Form 2: One or more embodiments of the present invention propose a network control system, wherein the communication control device comprises a detection unit that detects a congestion state of the real-time network when it receives information about a new client as an initial synchronization request from the new client terminal during an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network, and a determination unit that determines whether the congestion state is equal to or greater than a reference congestion level, and the communication control device transmits, to the new client terminal via the non-real-time network, the latest information about multiple clients connected to the real-time network.
[0030] Mode 3: One or more embodiments of the present invention propose a network control system characterized in that the communication control device is provided with a memory unit that stores the latest information of the multiple clients connected to the real-time network.
[0031] Form 4: One or more embodiments of the present invention propose a network control system characterized in that the communication control device is provided with a compression unit that compresses the latest information of the multiple clients connected to the real-time network that is stored in the memory unit.
[0032] Form 5: One or more embodiments of the present invention propose a network control system characterized in that, when the communication control device receives information about a new client as an initial synchronization request from the new client terminal, the communication control device uses the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network to the new client terminal via the non-real-time network.
[0033] Form 6: One or more embodiments of the present invention propose a program for causing a computer to execute a network control method in a network control system including a plurality of client terminals, a real-time network connecting the plurality of client terminals, a non-real-time network connecting the plurality of client terminals, and a communication control device that controls data communication between the real-time network and the non-real-time network, wherein the communication control device performs a client information receiving step in an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network, in which the communication control device receives information about a new client as an initial synchronization request from the new client terminal, and an information sending step in which the communication control device sends the latest information about a plurality of clients connected to the real-time network to the new client terminal via the non-real-time network.
[0034] Form 7: One or more embodiments of the present invention propose a program characterized in that the communication control device includes a congestion state detection step of detecting a congestion state of the real-time network, and a judgment step of judging whether the congestion state is equal to or greater than a reference congestion level, and if the congestion state is judged to be equal to or greater than the reference congestion level in the judgment step, the communication control device transmits the latest information of multiple clients connected to the real-time network to the new client terminal via the non-real-time network in the information transmission step.
[0035] Form 8: One or more embodiments of the present invention propose a program characterized in that the communication control device includes an information storage step of storing the latest information of the multiple clients connected to the real-time network before the information transmission step.
[0036] Form 9: One or more embodiments of the present invention propose a program characterized in that the communication control device includes an information compression step for compressing the latest information of the multiple clients connected to the real-time network that is stored.
[0037] Form 10: One or more embodiments of the present invention propose a program characterized in that, in the information transmission step, the communication control device uses a Nagle algorithm to transmit the latest information of multiple clients connected to the real-time network to the new client terminal via the non-real-time network, and the new client terminal uses a Nagle algorithm to transmit information of the new client to the communication control device as an initial synchronization request.
[0038] One or more embodiments of the present invention provide the advantage of avoiding initial synchronization overhead and making full use of pre-defined network transfer capacity limits.
[0039] FIG. 1 is a diagram showing the configuration of a network control system according to a first embodiment of the present invention. FIG. 2 is a diagram showing the configuration of a communication control device according to the first embodiment of the present invention. FIG. 3 is a diagram showing the processing flow of the network control system according to the first embodiment of the present invention. FIG. 4 is a diagram showing the configuration of a network control system according to a second embodiment of the present invention. FIG. 5 is a diagram showing the configuration of a communication control device according to the second embodiment of the present invention. FIG. 6 is a diagram showing the processing flow of the network control system according to the second embodiment of the present invention. FIG. 7 is a diagram showing the configuration of a network control system according to a third embodiment of the present invention. FIG. 8 is a diagram showing the configuration of a communication control device according to the third embodiment of the present invention. FIG. 9 is a diagram showing the processing flow of the network control system according to the third embodiment of the present invention. A diagram for explaining the advantages of the Nagle algorithm. A diagram showing the relationship between the Nagle algorithm and a real-time network. A diagram showing an overview of batch network distribution in a real-time network. A diagram showing an overview of individual network distribution in a real-time network. A diagram for explaining the reason why individual network distribution cannot be used extensively in a real-time network. A diagram relating to initial synchronization load occurring in real-time network communication. A diagram relating to initial synchronization load occurring in real-time network communication.
[0040] The network control system according to this embodiment will be described with reference to FIGS. 1 to 9. FIG.
[0041] First Embodiment A network control system 1 according to this embodiment will be described with reference to FIGS. 1 to 3. FIG.
[0042] <About the network control system 1> As shown in FIG. 1, the network control system 1 according to this embodiment includes a communication control device 100, client terminals 200A to 200N, a new client terminal 200X, a real-time network 300, and a non-real-time network 400.
[0043] The communication control device 100 is disposed, for example, on a cloud and controls communication between the client terminals 200A-200N and the new client terminal 200X, or between the client terminals 200A-200N and the new client terminal 200X, via the real-time network 300 or the non-real-time network 400. For example, when the communication control device 100 receives new client information from the new client terminal 200X as an initial synchronization request during an initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300, the communication control device 100 causes the new client terminal 200X to transmit the latest information on multiple clients connected to the real-time network 300 via the non-real-time network 400. Details of the configuration of the communication control device 100 will be described later. Hereinafter, the communication control device 100 may be a server, or some of the client terminals 200A-200N may take on this role. In this embodiment and the following embodiments, the communication control device 100 will be described, exemplifying communication control in the non-real-time network 400 and the real-time network 300 as described above. However, in this embodiment and the following embodiments, the communication control device 100 may perform the same function as described above by performing memory-to-memory communication in the non-real-time network 400 and the real-time network 300 that are connected to each other.
[0044] The client terminals 200A to 200N are terminals owned by clients who are already connected to the real-time network 300, and are personal computers, tablets, smartphones, VR, AR or MR devices, etc.
[0045] The new client terminal 200X is a terminal owned by a client that newly connects to the real-time network 300 to which the client terminals 200A to 200N are already connected, and is a personal computer, tablet, smartphone, VR, AR, or MR device, etc. The new client terminal 200X transmits its own information to the communication control device 100, for example, as an initial synchronization request, and receives the latest information of the multiple clients connected to the real-time network 300 from the communication control device 100 via the non-real-time network 400.
[0046] The real-time network 300 is a network in which clients exchange large amounts of data at very high frequency. The real-time network 300 is connected to a non-real-time network 400 (described later) via the communication control device 100. Hereinafter, the real-time network 300 refers to a network that does not tolerate delays, can achieve high responsiveness, and has the Nagle algorithm or equivalent technology "disabled."
[0047] In order to clearly distinguish the non-real-time network 400 from the real-time network 300, the non-real-time network 400 is expressed as a network in which the Nagle algorithm or an equivalent technology is "enabled." The non-real-time network 400 is connected to the real-time network 300 via the communication control device 100.
[0048] <Configuration of communication control device 100> As shown in FIG. 2, the communication control device 100 includes a receiving unit 110, a transmitting unit 120, a storage unit 130, a compressing unit 140, and a control unit 150.
[0049] The receiving unit 110 receives information about a new client, for example, as an initial synchronization request from the new client terminal 200X. The receiving unit 110 receives the latest information about a plurality of clients from the client terminals 200A to 200N connected to the real-time network 300, for example, via the real-time network 300. The information about the new client received by the receiving unit 110 and the latest information about the plurality of clients from the client terminals 200A to 200N connected to the real-time network 300 are output to the control unit 150, which will be described later, and the latest information about the plurality of clients from the client terminals 200A to 200N connected to the real-time network 300 is stored in the storage unit 130, which will be described later, by the control unit 150.
[0050] The transmitting unit 120 transmits the latest information of multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400, for example, based on a control signal from the control unit 150 described later.
[0051] The storage unit 130 is, for example, a rewritable volatile memory such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory). The storage unit 130 has defined storage areas for storing, for example, the multiple client terminals 200A to 200N and information on new clients, and the latest information on the multiple clients received by the receiving unit 110 from the client terminals 200A to 200N connected to the real-time network 300 is overwritten and updated with the latest information for each client each time it is received. Alternatively, the data received for each client is accumulated by adding and updating all of the data each time it is received.
[0052] The compression unit 140 compresses the latest information of the multiple clients stored in the storage unit 130 into one data group. The data group compressed by the compression unit 140 is output to the control unit 150 (described later), and the latest information of the multiple clients connected to the real-time network 300 is transmitted from the transmission unit 120 to the new client terminal 200X via the non-real-time network 400.
[0053] The control unit 150 controls the operation of the entire network control system 1 in accordance with a control program stored in a ROM (Read Only Memory) or the like. Specifically, the control unit 150 executes reception control of the receiving unit 110, transmission control of the transmitting unit 120, writing and reading data to and from the storage unit 130, and compression control of the compressing unit 140. Furthermore, when the receiving unit 110 receives information about a new client as an initial synchronization request from the new client terminal, for example, the control unit 150 controls the transmitting unit 120 to use the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400.
[0054] <Processing of the communication control device 100> Processing of the network control system 1 according to this embodiment will be described with reference to FIG.
[0055] The receiving unit 110 receives information about the new client from the new client terminal 200X as an initial synchronization request (step S110). The information about the new client received by the receiving unit 110 (new client information) is output to the control unit 150.
[0056] The receiving unit 110 receives the latest information of the multiple clients from the client terminals 200A to 200N connected to the real-time network via the real-time network 300 (step S120). The latest information (latest information) of the multiple clients received from the client terminals 200A to 200N connected to the real-time network is output to the control unit 150.
[0057] The control unit 150 updates the information in the storage areas corresponding to the multiple client terminals 200A to 200N by performing a process of writing the latest information of multiple clients from the client terminals 200A to 200N connected to the real-time network input from the receiving unit 110 to storage areas corresponding to the multiple client terminals 200A to 200N provided in the storage unit 130 (step S130).
[0058] When the control unit 150 receives information about a new client from the receiving unit 110, it reads the latest information about the multiple clients from the storage areas in the storage unit 130 that correspond to the multiple client terminals 200A-200N, and outputs the information to the compression unit 140, while also outputting a control signal for compressing the information. The compression unit 140 compresses the group of latest information that it has received, and outputs the compressed information to the control unit 150 (step S140).
[0059] The control unit 150 outputs the compressed set of latest information input from the compression unit 140 to the transmission unit 120, and also transmits a control signal to instruct the transmission unit 120 to transmit the latest information of the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400 (step S160). At this time, the control unit 150 may cause the transmission unit 120 to transmit information using the Nagle algorithm.
[0060] <Actions and Effects> As described above, the network control system 1 according to this embodiment includes a plurality of client terminals 200A to 200N, a real-time network 300 connecting the plurality of client terminals 200A to 200N, a non-real-time network 400 connecting the plurality of client terminals 200A to 200N, and a communication control device 100 that controls data communication between the real-time network 300 and the non-real-time network 400. When the communication control device 100 receives information about a new client from the new client terminal 200X as an initial synchronization request in an initial synchronization step upon mode switching in which the new client terminal 200X connects to the real-time network 300, the communication control device 100 transmits the latest information about the plurality of clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. That is, in the initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300, the communication control device 100 transmits the latest information of the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and makes it possible to efficiently utilize the predetermined network transfer capacity limit.
[0061] The communication control device 100 of the network control system 1 according to this embodiment includes a storage unit 130 that stores the latest information of the multiple clients connected to the real-time network 300, and a compression unit 140 that compresses the latest information of the multiple clients connected to the real-time network 300 stored in the storage unit 130. That is, the storage unit 130 stores the latest information of the multiple clients connected to the real-time network 300, and the compression unit 140 compresses the latest information of the multiple clients connected to the real-time network 300 stored in the storage unit 130. The transmission unit 120 then transmits the compressed latest information of the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and efficiently utilizes the predetermined network transfer capacity limit.
[0062] When the communication control device 100 of the network control system 1 according to this embodiment receives information about a new client as an initial synchronization request from the new client terminal, it uses the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and makes it possible to efficiently utilize the predetermined network transfer capacity limit.
[0063] Second Embodiment A network control system 1A according to this embodiment will be described with reference to FIGS.
[0064] 4, the network control system 1A according to this embodiment is configured to include a communication control device 100A, client terminals 200A to 200N, a new client terminal 200X, a real-time network 300, and a non-real-time network 400. Note that components with the same reference numerals as those in the first embodiment have similar functions, and therefore detailed descriptions thereof will be omitted.
[0065] For example, in an initial synchronization step at the time of mode switching when a new client terminal 200X connects to the real-time network 300, when the communication control device 100A receives information about the new client as an initial synchronization request from the new client terminal 200X, the communication control device 100A causes the new client terminal 200X to transmit the latest information about multiple clients connected to the real-time network 300 via the non-real-time network 400. The configuration of the communication control device 100A will be described in detail later.
[0066] 5, the communication control device 100A includes a receiving unit 110, a transmitting unit 120, a storage unit 130, a compressing unit 140, and a control unit 150A. Note that components with the same reference numerals as those in the first embodiment have similar functions, and therefore detailed descriptions thereof will be omitted.
[0067] The control unit 150A controls the overall operation of the network control system 1A in accordance with a control program stored in a ROM (Read Only Memory) or the like. In this embodiment, for example, when the control unit 150A receives new client information as an initial synchronization request from the new client terminal 200X during an initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300, the control unit 150A causes the new client terminal 200X to transmit the latest information on the multiple clients connected to the real-time network via the non-real-time network 400. Furthermore, for example, when the receiving unit 110 receives new client information as an initial synchronization request from the new client terminal, the control unit 150A controls the transmitting unit 120 to use the Nagle algorithm to transmit the latest information on the multiple clients connected to the real-time network to the new client terminal 200X via the non-real-time network 400.
[0068] <Processing of the communication control device 100A> Processing of the network control system 1A according to this embodiment will be described with reference to FIG.
[0069] The receiving unit 110 receives information about the new client from the new client terminal 200X as an initial synchronization request (step S110). The information about the new client received by the receiving unit 110 (new client information) is output to the control unit 150.
[0070] The receiving unit 110 receives the latest information of the multiple clients from the client terminals 200A to 200N connected to the real-time network via the real-time network 300 (step S120). The latest information (latest information) of the multiple clients received from the client terminals 200A to 200N connected to the real-time network is output to the control unit 150.
[0071] The control unit 150A updates the information in the storage areas corresponding to the multiple client terminals 200A to 200N by performing a process of writing the latest information of multiple clients from the client terminals 200A to 200N connected to the real-time network input from the receiving unit 110 to storage areas corresponding to the multiple client terminals 200A to 200N provided in the storage unit 130 (step S130).
[0072] When control unit 150A receives information about a new client from receiving unit 110, it reads the latest information about the multiple clients from storage areas in storage unit 130 that correspond to multiple client terminals 200A-200N, and outputs the information to compression unit 140, while also outputting a control signal for compressing the information. Compression unit 140 compresses the group of latest information that it has received, and outputs the compressed information to control unit 150 (step S140).
[0073] The control unit 150A outputs the compressed group of latest information input from the compression unit 140 to the transmission unit 120, and also transmits a control signal via the non-real-time network 400 to instruct the transmission unit 120 to transmit the latest information of multiple clients connected to the real-time network 300 to the new client terminal 200X (step S210).
[0074] <Actions and Effects> As described above, the network control system 1A according to this embodiment includes a plurality of client terminals 200A to 200N, a real-time network 300 connecting the plurality of client terminals 200A to 200N, a non-real-time network 400 connecting the plurality of client terminals 200A to 200N, and a communication control device 100A that controls data communication between the real-time network 300 and the non-real-time network 400. When the communication control device 100A receives information about a new client from the new client terminal 200X as an initial synchronization request in an initial synchronization step upon mode switching in which the new client terminal 200X connects to the real-time network 300, the communication control device 100A transmits the latest information about the plurality of clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. That is, in the initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300, the communication control device 100A transmits the latest information of the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and makes it possible to efficiently utilize the predetermined network transfer capacity limit.
[0075] When the communication control device 100A of the network control system 1A according to this embodiment receives information about a new client as an initial synchronization request from the new client terminal, it uses the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and makes it possible to efficiently utilize the predetermined network transfer capacity limit.
[0076] Third Embodiment A network control system 1B according to this embodiment will be described with reference to FIGS.
[0077] 7, the network control system 1B according to this embodiment is configured to include a communication control device 100B, client terminals 200A to 200N, a new client terminal 200X, a real-time network 300, and a non-real-time network 400. Note that components with the same reference numerals as those in the first and second embodiments have similar functions, and therefore detailed descriptions thereof will be omitted.
[0078] For example, in an initial synchronization step at the time of mode switching when a new client terminal 200X connects to the real-time network 300, when the communication control device 100B receives information about the new client from the new client terminal 200X as an initial synchronization request, if it determines that the congestion state in the real-time network 300 is equal to or greater than a reference congestion level, it causes the communication control device 100B to transmit the latest information about the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. The configuration of the communication control device 100B will be described in detail later.
[0079] 8, the communication control device 100B is configured to include a receiving unit 110, a transmitting unit 120, a storage unit 130, a compressing unit 140, a control unit 150B, a detecting unit 160, and a determining unit 170. Note that components with the same reference numerals as those in the first and second embodiments have similar functions, and therefore detailed descriptions thereof will be omitted.
[0080] When the detection unit 160 receives information about a new client as an initial synchronization request from the new client terminal 200X in an initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300, the detection unit 160 detects a congestion state of the real-time network 300. The detection result by the detection unit 160 is output to the determination unit 170, which will be described later.
[0081] The determination unit 170 determines whether the congestion state of the real-time network 300 detected by the detection unit 160 is equal to or greater than a reference congestion level. The reference congestion level may be determined arbitrarily. The determination result by the determination unit 170 is output to the control unit 150B, which will be described later.
[0082] The control unit 150B controls the operation of the entire network control system 1B in accordance with a control program stored in a ROM (Read Only Memory), etc. In this embodiment, for example, in an initial synchronization step at the time of mode switching when a new client terminal 200X connects to the real-time network 300, when the receiving unit 110 receives information about the new client from the new client terminal 200X as an initial synchronization request, the detecting unit 160 detects a congestion state in the real-time network 300, and when the determining unit 170 determines that the congestion state in the real-time network 300 is equal to or greater than a reference congestion level, the control unit 150B causes the transmitting unit 120 to transmit the latest information about the multiple clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. In addition, for example, when the receiving unit 110 receives information about a new client as an initial synchronization request from the new client terminal 200X, the control unit 150B may control the transmitting unit 120 to use the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network to the new client terminal 200X via the non-real-time network 400.
[0083] <Processing of the communication control device 100B> Processing of the network control system 1B according to this embodiment will be described with reference to FIG.
[0084] The receiving unit 110 receives information about the new client from the new client terminal 200X as an initial synchronization request (step S110). The information about the new client received by the receiving unit 110 (new client information) is output to the control unit 150B.
[0085] The receiving unit 110 receives the latest information of the multiple clients from the client terminals 200A to 200N connected to the real-time network via the real-time network 300 (step S120). The latest information (latest information) of the multiple clients received from the client terminals 200A to 200N connected to the real-time network is output to the control unit 150B.
[0086] The control unit 150B updates the information in the storage areas corresponding to the multiple client terminals 200A to 200N by performing a process of writing the latest information of multiple clients from the client terminals 200A to 200N connected to the real-time network input from the receiving unit 110 to storage areas corresponding to the multiple client terminals 200A to 200N provided in the storage unit 130 (step S130).
[0087] When control unit 150B receives information about a new client from receiving unit 110, it reads the latest information about the multiple clients from storage areas in storage unit 130 that correspond to multiple client terminals 200A-200N, and outputs the information to compression unit 140, while also outputting a control signal for compressing the information. Compression unit 140 compresses the group of latest information that it has received, and outputs the compressed information to control unit 150B (step S140).
[0088] The detection unit 160 detects a congestion state of the real-time network 300 when it receives information about the new client as an initial synchronization request from the new client terminal 200X during the initial synchronization step at the time of mode switching when the new client terminal 200X connects to the real-time network 300 (step S310).
[0089] The determining unit 170 determines whether the congestion state of the real-time network 300 detected by the detecting unit 160 is equal to or greater than a reference congestion level (step S320).
[0090] If the determination unit 170 determines that the congestion state in the real-time network 300 is equal to or greater than the reference congestion level, the control unit 150B outputs the latest compressed group of information input from the compression unit 140 to the transmission unit 120, and also transmits a control signal to instruct the transmission unit 120 to transmit the latest information of multiple clients connected to the real-time network 300 to the new client terminal 200 via the non-real-time network 400 (step S160). At this time, the control unit 150A may cause the transmission unit 120 to transmit information using the Nagle algorithm.
[0091] <Actions and Effects> As described above, the network control system 1A according to this embodiment includes a plurality of client terminals 200A to 200N, a real-time network 300 connecting the plurality of client terminals 200A to 200N, a non-real-time network 400 connecting the plurality of client terminals 200A to 200N, and a communication control device 100B that controls data communication between the real-time network 300 and the non-real-time network 400. In the initial synchronization step at the time of mode switching when a new client terminal 200X connects to the real-time network 300, when the receiving unit 110 receives information about the new client from the new client terminal 200X as an initial synchronization request, the detecting unit 160 determines the congestion state of the real-time network 300, and when the determining unit 170 determines that the congestion state of the real-time network 300 is equal to or greater than a reference congestion level, the transmitting unit 120 transmits the latest information about the plurality of clients connected to the real-time network 300 to the new client terminal 200X via the non-real-time network 400. Therefore, the initial synchronization load can be effectively avoided, and the predetermined network transfer capacity limit can be utilized without waste.
[0092] When the communication control device 100B of the network control system 1A according to this embodiment receives information about a new client as an initial synchronization request from the new client terminal, it uses the Nagle algorithm to transmit the latest information about multiple clients connected to the real-time network to the new client terminal 200X via the non-real-time network 400. This effectively avoids the initial synchronization load and makes it possible to efficiently utilize the predetermined network transfer capacity limit.
[0093] <Modifications> The network control systems 1, 1A, and 1B in the first to third embodiments were so-called stand-alone systems. As an advanced version of this, a so-called cluster system may be configured in which multiple of the above systems are interconnected via communication control devices 100, 100A, and 100B. By configuring a cluster system, an increase in the number of accessible systems and improved performance can be expected.
[0094] The network control systems 1, 1A, and 1B of the present invention can be realized by recording the processing of the communication control devices 100, 100A, and 100B on a recording medium that can be read by a computer system, and having the communication control devices 100, 100A, and 100B read and execute the program recorded on this recording medium. The computer system here includes hardware such as an OS and peripheral devices.
[0095] Furthermore, if the WWW (World Wide Web) system is used, the "computer system" also includes the homepage providing environment (or display environment). The above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
[0096] The program may also be a program for implementing some of the functions described above, or may be a so-called differential file (differential program) that can implement the functions described above in combination with a program already stored in the computer system.
[0097] The above describes in detail an embodiment of the present invention with reference to the drawings, but the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention.
[0098] 1; Network control system 1A; Network control system 1B; Network control system 100; Communication control device 100A; Communication control device 100B; Communication control device 110; Receiving unit 120; Transmitting unit 130; Storage unit 140; Compressing unit 150; Control unit 150A; Control unit 150B; Control units 200A to N; Client terminal 200X; New client terminal 300; Real-time network 400; Non-real-time network
Claims
1. A network control system comprising: a plurality of client terminals; a real-time network connecting the plurality of client terminals; a non-real-time network connecting the plurality of client terminals; and a communication control device controlling data communication between the real-time network and the non-real-time network, wherein in an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network, when the communication control device receives information of a new client from the new client terminal as an initial synchronization request, the communication control device transmits the latest information of the plurality of clients connected to the real-time network to the new client terminal via the non-real-time network.
2. The communication control device comprises: a detection unit which detects a congestion state of the real-time network when it receives information of a new client as an initial synchronization request from the new client terminal during an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network; and a judgment unit which judges whether the congestion state is equal to or greater than a standard congestion level; and when the judgment unit judges that the congestion state is equal to or greater than the standard congestion level, the communication control device transmits the latest information of the multiple clients connected to the real-time network to the new client terminal via the non-real-time network.
3. A network control system according to claim 1 or 2, characterized in that said communication control device is provided with a memory unit for storing the latest information of said plurality of clients connected to said real-time network.
4. A network control system as described in claim 3, characterized in that the communication control device is provided with a compression unit that compresses the latest information of the multiple clients connected to the real-time network stored in the memory unit.
5. The network control system of claim 4, characterized in that when the communication control device receives information about a new client as an initial synchronization request from the new client terminal, it uses a Nagle algorithm to transmit the latest information about the multiple clients connected to the real-time network to the new client terminal via the non-real-time network.
6. A program for causing a computer to execute a network control method in a network control system including a plurality of client terminals, a real-time network connecting the plurality of client terminals, a non-real-time network connecting the plurality of client terminals, and a communication control device for controlling data communication between the real-time network and the non-real-time network, wherein the communication control device executes a client information receiving step in which the communication control device receives information about a new client as an initial synchronization request from the new client terminal during an initial synchronization step at the time of mode switching when a new client terminal connects to the real-time network, and an information transmitting step in which the communication control device transmits the latest information about the plurality of clients connected to the real-time network to the new client terminal via the non-real-time network.
7. The program according to claim 6, further comprising: a congestion state detection step for detecting a congestion state of the real-time network; and a judgment step for judging whether the congestion state is equal to or greater than a standard congestion level. If the congestion state is judged to be equal to or greater than a standard congestion level in the judgment step, the communication control device transmits, to the new client terminal, the latest information of the multiple clients connected to the real-time network via the non-real-time network in the information transmission step.
8. The program according to claim 6 or 7, characterized in that the communication control device includes an information storage step for storing the latest information of the multiple clients connected to the real-time network before the information transmission step.
9. The program according to claim 8, further comprising an information compression step for compressing the latest information of the plurality of clients connected to the real-time network, the information being stored in the communication control device.
10. The program according to claim 9, characterized in that in the information transmission process, the communication control device uses a Nagle algorithm to transmit the latest information of multiple clients connected to the real-time network to the new client terminal via the non-real-time network.
Citation Information
Patent Citations
System / Method for exchanging message, recording medium and program
JP2002259317A
Method of data exchange between subscribers of different networks
JP2008518534A