(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025006655
(43)【公開日】2025-01-17
(54)【発明の名称】ネットワーク制御システムおよびプログラム
(51)【国際特許分類】
H04L 65/10 20220101AFI20250109BHJP
H04N 7/15 20060101ALI20250109BHJP
【FI】
H04L65/10
H04N7/15
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023107578
(22)【出願日】2023-06-29
(71)【出願人】
【識別番号】519013423
【氏名又は名称】ファーザーシステム株式会社
(74)【代理人】
【識別番号】100122426
【弁理士】
【氏名又は名称】加藤 清志
(72)【発明者】
【氏名】佐伯 竜一
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA10
5C164SB41S
5C164VA13S
5C164VA16P
5C164YA24
(57)【要約】
【課題】初期同期負荷の回避および予め与えられたネットワーク転送容量制限を無駄なく利用する。
【解決手段】複数のクライアント端末200A~200Nと、リアルタイムネットワーク網300と、非リアルタイムネットワーク網400と、通信制御装置100と、を備え、通信制御装置100は、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のクライアント端末と、
前記複数のクライアント端末を接続するリアルタイムネットワーク網と、
前記複数のクライアント端末を接続する非リアルタイムネットワーク網と、
前記リアルタイムネットワーク網と前記非リアルタイムネットワーク網とにおけるデータ通信を制御する通信制御装置と、
を備え、
前記通信制御装置は、新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とするネットワーク制御システム。
【請求項2】
前記通信制御装置は、
新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、前記リアルタイムネットワーク網の輻輳状態を検出する検出部と、
前記輻輳状態が、基準の輻輳度以上か否かを判定する判定部と、
を備え、
前記通信制御装置は、前記判定部により前記輻輳状態が、基準の輻輳度以上であると判定された場合には、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とする請求項1に記載のネットワーク制御システム。
【請求項3】
前記通信制御装置は、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を格納する記憶部を備えたことを特徴とする請求項1または2に記載のネットワーク制御システム。
【請求項4】
前記通信制御装置は、前記記憶部に格納された前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を圧縮する圧縮部を備えたことを特徴とする請求項3に記載のネットワーク制御システム。
【請求項5】
前記通信制御装置は、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、Nagleアルゴリズムを用い、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とする請求項4に記載のネットワーク制御システム。
【請求項6】
複数のクライアント端末と、前記複数のクライアント端末を接続するリアルタイムネットワーク網と、前記複数のクライアント端末を接続する非リアルタイムネットワーク網と、前記リアルタイムネットワーク網と前記非リアルタイムネットワーク網とにおけるデータ通信を制御する通信制御装置と、を備えたネットワーク制御システムにおけるネットワーク制御方法をコンピュータに実行させるためのプログラムであって、
前記通信制御装置は、新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信するクライアント情報受信工程と、
前記通信制御装置は、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を前記新規クライアント端末に送信する情報送信工程と、
をコンピュータに実行させるためのプログラム。
【請求項7】
前記通信制御装置は、前記リアルタイムネットワーク網の輻輳状態を検出する輻輳状態検出工程と、
前記通信制御装置は、前記輻輳状態が、基準の輻輳度以上か否かを判定する判定工程と、
を備え、
前記通信制御装置は、前記判定工程において、前記輻輳状態が、基準の輻輳度以上であると判定された場合には、前記情報送信工程において、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とする請求項6に記載のプログラム。
【請求項8】
前記通信制御装置は、前記情報送信工程の前に、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を格納する情報格納工程を備えたことを特徴とする請求項6または7に記載のプログラム。
【請求項9】
前記通信制御装置は、格納された前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を圧縮する情報圧縮工程を備えたことを特徴とする請求項8に記載のプログラム。
【請求項10】
前記通信制御装置は、前記情報送信工程において、Nagleアルゴリズムを用い、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とする請求項9に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク制御システムおよびプログラムに関する。
【背景技術】
【0002】
近年、ネットワーク通信の目覚ましい進歩により、多くの分野において、ネットワーク通信は、多種の用途や使用目的への対応が期待されている。
なお、以下において、「ネットワーク通信」とは、インターネットを介してデータの交換を行うための通信技術全般をいう。
【0003】
ネットワーク通信において、データの一括送信の実現技術として、マルチキャストという技術がある。
このマルチキャストを用いることにより、一回の送信処理コストで大量のクライアントにデータを一括同報送信することが可能となる。
しかしながら、マルチキャストは、ローカルエリアネットワークにおいては、現在利用可能となっているものの、インターネットを介した通信では、マルチキャスト対応のインターネットサービスプロバイダ(ISP)の利用が必要となること、マルチキャスト対応のルータ機器等も必要となることから、規格としては存在しているものの、一般的な技術として選択し、利用することが難しい状況となっている。
そのため、現状では、これに代替するネットワーク技術として、コンテンツデリバリネットワーク(CDN)というネットワークキャッシュの技術が利用されている。
【0004】
ネットワーク通信には、1対1の通信を行うユニキャスト通信と、1対多の通信を行うマルチキャスト通信、ブロードキャスト通信が存在する。
しかしながら、上述のように、インターネットを介したマルチキャスト通信の利用は現実的ではなく、ブロードキャスト通信もインターネットを介さない同一のローカルエリアネットワーク内通信を対象とした技術となっている。
【0005】
インターネットを介して、情報処理を提供するネットワークサービスでは、ネットワークサービスの利用者側通信機器であるクライアントと、ネットワークサービスの提供者側であるサーバとによってシステムが構成される。
また、後述するリアルタイムネットワーク通信と区別するために、以下、「一般的なネットワーク通信」(非リアルタイムネットワーク通信)と記載する。「一般的なネットワーク通信」(非リアルタイムネットワーク通信)としては、例えば、HTTP(Hypertext Transfer Protocol)通信を例示することができる。
ここでいうHTTP通信とは、HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3及びそれらのデータ交換手続き手順、関連プロトコル、派生プロトコルをいう。
【0006】
一般的なネットワーク通信では、主に、通信頻度を少なくして、効率化を実現するために、通信データサイズを小さくするデータの圧縮や送信データをある程度溜めてから送信することで通信回数を減らすことを目的としたデータの蓄積が行われることが多く、このような技術を用いることにより、一通信あたりの通信データサイズの効率化を高め、通信コストの削減を実現している。
具体的には、Nagleアルゴリズムに代表される通信効率化アルゴリズムなどが主に使用される。
【0007】
また、上述のデータの圧縮、データの蓄積は、いずれも通信頻度を少なくすることにより生じる通信を行わない「通信の余白」部分で実行される。
しかしながら、一方で、通信頻度が高くなることにより、余白が減り、本来のデータ通信実処理を行うべき時間で、これら効率化の為の処理が実行されるようになると、逆に、遅延を産み出す原因となってしまう。
そのため、一般的なネットワーク通信では、通信頻度をなるべく増やさないように使用することが推奨されている。
また、一般的なネットワーク通信では、1対多の一括配信よりも、1対1の個別通信を得意とするという特色がある。
【0008】
ストリームネットワーク通信とは、ビデオ配信や音声配信で利用される通信方式Real Time Streaming Protocol(RTSP)、Real Time Messaging Protocol(RTMP)等をいう。
連続性のあるデータを高容量・高頻度で多くのユーザに向け一括配信する。
大規模視聴を想定した一括配信にも耐えられるようにするため、視聴者ごとの遅延のばらつきを許容しており、例えば、生中継ライブ配信において、とある出来事が映像で配信される際には、全視聴者でイベントが、完全同時に配信されることはほぼない。
元々遅延を許容する仕様となっている為、通信データの圧縮やCDNのようなネットワークキャッシュによるデータ蓄積技術による通信の効率化にも多用しやすいという特色を有している。
【0009】
リアルタイムネットワーク通信とは、非常に高頻度かつ、大量のデータを参加者と相互にやり取りするネットワーク通信をいう。
相互に、会話を行えるビデオ会議システムやVRやゲームで空間を共有し、相互に即応性の高いコミュニケーションが行えるようなシステムで利用されることが多い。
リアルタイムネットワーク通信では、即応性の高いコミュニケーションを求められるため、遅延が許されないという特色を有する。(例えば、特許文献1参照)
例えば、TCP、UDP、TLS、DTLS、QUIC及びそれらのデータ交換手続き手順、関連プロトコル、派生プロトコル等が使用される。
即応性を高めるために、比較的加工が少ない低レイヤのプロトコルが採用される傾向がある。
【0010】
一般的なネットワーク通信は、通信頻度を少なくする代わりにデータの圧縮やデータの蓄積による効率化処理を多用することが可能である。
このように、パケットに積載可能なデータ領域にデータを全て詰め込んで、パケットを送信することによって、データの送信効率を向上させる送信技術として、Nagleアルゴリズムがある。
今日の「一般的なネットワーク通信」では、例えば、
図10に示すようなNagleアルゴリズムによる圧縮技術と蓄積技術とを併用して用いることが一般化している。
つまり、1パケットの送信行為に対して、発生する送信コストを考慮すると、なるべくデータを詰め込んで送信したほうが、データ送信量あたり送信コストを節約でき、結果として正味の送信可能データ総量が増加するからである。
一方で、
図11に示すNagleアルゴリズムの特性から、Nagleアルゴリズムの使用は、即応性を犠牲にし、遅延を許容する代わりに一通信あたりの確実到達性と通信データサイズの効率化を高めている。
これに対し、リアルタイムネットワーク通信では、通信頻度が非常に高く、通信の余白が非常に少ないという特色を有している。
そのため、データの蓄積による一括送信や圧縮技術は逆に遅延の原因となってしまうため利用が難しく、リアルタイムネットワーク通信では、「Nagleアルゴリズムを無効化」する場合が多い。
【0011】
同じデータを同報送信する際には、一括送信を利用する方が遅延を発生させにくい。
図12は、リアルタイムネットワークにおける一括ネットワーク配信の概要を示す図であるが、同図に示すように、リアルタイムネットワークサービス内で、例えば、クライアント端末Aがデータを送信(1)すると、全てのクライアント端末A~Nにクライアント端末Aから送信されたデータが配信(2)される。
つまり、送信先の識別判定などの演算処理を一切行わず全クライアントに一括配信するため、より早く多くのクライアントにデータを配信できる。
そのため、クライアントの位置や状態を随時リアルタイムに他クライアントと同期するようなケースでは、効率のよい方式と言える。
また、この仕組みを利用して全てのクライアントは、お互いの最新の状態を常に、情報交換し、常に、同期状態を保つことができている。
【0012】
図13は、リアルタイムネットワークにおける個別ネットワーク配信の概要を示す図であるが、同図に示すように、リアルタイムネットワークサービス内で、あるクライアントが、データを送信(1)をすると、特定のクライアントにデータが配信(2)される。
つまり、特定のクライアントのみに送りたいデータは、一括ネットワーク通信ではなく、個別ネットワーク通信を使用する。
個別ネットワーク配信の利用目的としては、一括ネットワーク通信の状態同期とは異なり、特定のクライアント同士の行動に連動する処理で利用されることが多い。
送信クライアントとっては、1つだけでなく2クライアントや3クライアントに対する複雑な送信先設計は、全体の送信効率低下に繋がるため、なるべく使用しないようにする。
上記のようなケースでも一連の動作全てに対して、「一括ネットワーク通信」を使って実装する事も多い。
【0013】
個別ネットワーク配信で、ユーザごとに違うデータを送信するような方式では、送信時の送信先の判断に演算処理を実行することとなり、特に、リアルタイムネットワーク通信では、遅延を発生させやすくなる原因となるため、あまり多用出来ない。
図14を用いて、詳細に説明すると、リアルタイムネットワーク通信では、単位時間あたりに、通信処理を発行できるイベント回数に上限がある。
個別ネットワーク通信も、一括ネットワーク通信も、この貴重なイベント回数を消費して行われている。
そのため、高頻度で「個別ネットワーク通信」使用すると、「一括ネットワーク通信」の送信可能量を減らしてしまう事に繋がる。
また、複雑な送信先設計も演算処理による遅延が生まれ、全体の送信効率低下に繋がる。
これらの背景により、個別ネットワーク通信の多用は控え、極力、一括ネットワーク通信を使用するようになっている。
【0014】
こうした理由から、原則として、データは、リアルタイムネットワーク通信の参加者全員に送信するブロードキャスト配信のような形式を取ることが多い。
例えば、スイッチングハブなどのネットワーク機器も同様の考え方であり、ネットワーク通信を高速化するために、原則としてすべての通信を一括配信で行っている。
具体的には、スイッチングハブの場合、スイッチングハブからデータを受け取ったマシン側が自分宛ではないデータは捨てる仕様となっている。
そのため、一括送信もリアルタイムネットワーク通信が即応性を担保できている仕組みの一つとなっている。
【0015】
ストリームネットワーク通信では、ビデオ配信や音声配信が正常に行えればよいため、データの連続受信の部分に問題が起きなければ良く、前述のように、送信開始時間自体の遅延などは問題とならない。
このため、ストリームネットワーク通信では、データの圧縮やデータの蓄積による一括送信による効率化が行いやすい側面がある。
これに対して、リアルタイムネットワーク通信では、ユーザごとに、データ受信開始時間の遅延が存在すると、即応性を求められるコミュニケーションが発生した場合に、正常なやり取りを行うことが困難になる。
このため、リアルタイムネットワーク通信では、データの連続受信での遅延も許されず、データ送信開始時間自体の遅延も許されない。
【0016】
リアルタイムネットワーク通信は期待度の高い技術である反面、あきらかに即応性が低い技術を採用していたとしても、各社営業戦略などの都合上「リアルタイムネットワーク通信」であるとして過大な宣伝に使用されてしまっているケースが多々見受けられる。また、これに限らず組織、個人によって厳密な解釈は多岐にわたって異なっていることもあり、正確性を求められる特許文書として用語の利用が難しい面がある。故に説明の便宜上、以降における「リアルタイムネットワーク通信」とは次を満たすネットワーク通信指すこととして使用する。
・Nagleアルゴリズムまたはそれに相当する技術を“無効化”したネットワーク通信
これを満たす限りはプロトコルや方式の如何に関わらず、以降「リアルタイムネットワーク通信」として表現する。
【0017】
「リアルタイムネットワーク通信」に対し、説明の便宜上、以降における「非リアルタイムネットワーク通信」とは次を満たすネットワーク通信を指すこととして使用する。
・Nagleアルゴリズムをまたはそれに相当する技術を“有効化”したネットワーク通信
これを満たす限りはプロトコルや方式の如何に関わらず、以降「非リアルタイムネットワーク通信」として表現する。
【先行技術文献】
【特許文献】
【0018】
【発明の概要】
【発明が解決しようとする課題】
【0019】
ところで、リアルタイムネットワーク通信では、どのような方式であっても、参加者同士が、相互に即応性の高いコミュニケーションを行えるようにするため、はじめにモード切替に近い手続きを行う。
これは、製品にもよるが、これらは、以下のような表現で、モード切替が、行われることが多い。
・リアルタイムネットワーク通信を行う専用の仮想ルームへ入室する、退室する。
・リアルタイムネットワーク通信を行う専用のチャンネルを購読する、解約する。
モード切替後は、同じルームに入室している参加者同士、または、同じチャンネルを購読している参加者同士で、相互に、即応性の高いネットワーク通信、リアルタイムネットワーク通信が行えるようになる。
また、同様の手続きを行ってリアルタイムネットワーク通信を行っている限り、表現はこれに限らない。
以下では、上記処理を「モード切替」と記載する。
【0020】
リアルタイムネットワーク通信では新規クライアントがリアルタイムネットワーク通信を行うためのモード切替時、既にリアルタイムネットワーク通信に参加しているクライアントの最新情報を取得する、この初回の同期処理の事を以降「初期同期」と表現する。
一般的には初期同期は以下のように行われる。
・リアルタイムネットワーク網の一括ネットワーク配信を使用して初期同期が行われる場合がある、この場合、他のクライアントにとっては既に存在する不要な情報が配信され、本来通信可能だった通信帯域を消費し、リアルタイムネットワーク網全体の配信性能を低下させる。
・リアルタイムネットワーク網の個別ネットワーク配信を使用して初期同期が行われる場合がある、この場合、リアルタイムネットワーク網のイベントの発行可能回数を消費するためリアルタイムネットワーク網全体の配信性能を低下させる。
・リアルタイムネットワーク網の配信性能の低下を防ぐ為、初期同期を行わず、必要になってから必要最低限分を取得する場合がある、表示上他のクライアントが突然出現するなど、見た目上の違和感等が発生しやすくなる。
【0021】
多人数リアルタイムネットワーク通信では、参加者が100人~1万人もしくはそれ以上の多人数同時接続状態において、リアルタイムネットワーク通信を行う。
なお、通常のリアルタイムネットワーク通信では、5人~20人程度を想定していることが多い。
そのため、元々、技術的ハードルが、高いリアルタイムネットワーク通信の導入難易度をさらに、高くする要因となっている。
【0022】
ここで、多人数リアルタイムネットワーク通信には、初期同期ネットワーク負荷と呼ばれる負荷がある。
初期同期ネットワーク負荷とは、
図15に示すように、既に、多数のクライアント端末が接続済のリアルタイムネットワークサービスに、新しく参加する際に、その部屋もしくはチャンネルの参加者の情報を全て採取する処理において、一時的に発生する高負荷状態のことを指す。
以下、上記負荷を「初期同期負荷」と記載する。
【0023】
新規クライアント端末Xは、リアルタイムネットワークサービスの最新の状態を知らない。
そのため、新規クライアント端末Xは、最新の状態を把握するため、全クライアント端末に、最新情報取得を要求(1)する。
最新情報取得の要求は、リアルタイムネットワークサービスの一括ネットワーク通信を使用し、全クライアント端末に要求が配信(2)される。
【0024】
図16に示すように、新規クライアント端末Xから受けた最新情報取得要求に応え、参加中の全クライアント端末は、各々の最新情報を応答(1)する。
そして、一括ネットワーク通信を介して、最新情報は、全てのクライアントに配信(2)される。
つまり、初期同期では、データサイズが大きくなりやすいにもかかわらず、全クライアントの初期同期情報が全クライアント端末に配信されてしまう。
一方で、初期同期データが必要なのは、新規クライアント端末Xのみであり、他のクライアント端末は、既に、持っている同期情報であるため、不要な情報が送信されてくることになる。
【0025】
初期同期負荷が、発生すると、特に、多人数リアルタイムネットワーク通信の場合、ネットワークの容量制限に引っ掛かる機会が増えてしまう。
ネットワークの容量制限に引っ掛かると、溢れた部分は、そのまま欠損データ扱いにするケース、リトライ処理で再取得を試みるケースと様々あるが、この通信が行えないことが起因となり、以下のような事象が多発するようになる。
・通信失敗によるリアルタイムネットワーク通信全体の遅延
・通信失敗によるコネクション切断の多発
【0026】
この初期同期ネットワーク負荷で、特に問題となる部分は、データサイズの見積上は、実際の接続可能人数には、かなり余裕があるにもかかわらず、初期同期ネットワーク負荷が原因で、上限に至る遥か手前の人数で、新規リアルタイムネットワーク通信参加者への接続不能、既存リアルタイムネットワーク通信参加者への強制切断、等が多発することである。
【0027】
そこで、本発明は上述の課題に鑑みてなされたものであり、初期同期負荷の回避および予め与えられたネットワーク転送容量制限を無駄なく利用するネットワーク制御システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0028】
形態1;本発明の1またはそれ以上の実施形態は、複数のクライアント端末と、前記複数のクライアント端末を接続するリアルタイムネットワーク網と、前記複数のクライアント端末を接続する非リアルタイムネットワーク網と、前記リアルタイムネットワーク網と前記非リアルタイムネットワーク網とにおけるデータ通信を制御する通信制御装置と、を備え、前記通信制御装置は、新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とするネットワーク制御システムを提案している。
【0029】
形態2;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、前記リアルタイムネットワーク網の輻輳状態を検出する検出部と、前記輻輳状態が、基準の輻輳度以上か否かを判定する判定部と、を備え、前記通信制御装置は、前記判定部により前記輻輳状態が、基準の輻輳度以上であると判定された場合には、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とするネットワーク制御システムを提案している。
【0030】
形態3;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を格納する記憶部を備えたことを特徴とするネットワーク制御システムを提案している。
【0031】
形態4;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記記憶部に格納された前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を圧縮する圧縮部を備えたことを特徴とするネットワーク制御システムを提案している。
【0032】
形態5;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、Nagleアルゴリズムを用い、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とするネットワーク制御システムを提案している。
【0033】
形態6;本発明の1またはそれ以上の実施形態は、複数のクライアント端末と、前記複数のクライアント端末を接続するリアルタイムネットワーク網と、前記複数のクライアント端末を接続する非リアルタイムネットワーク網と、前記リアルタイムネットワーク網と前記非リアルタイムネットワーク網とにおけるデータ通信を制御する通信制御装置と、を備えたネットワーク制御システムにおけるネットワーク制御方法をコンピュータに実行させるためのプログラムであって、前記通信制御装置は、新規クライアント端末が前記リアルタイムネットワーク網に接続するモード切替時の初期同期ステップにおいて、前記新規クライアント端末から初期同期要求として、新規クライアントの情報を受信するクライアント情報受信工程と、前記通信制御装置は、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信する情報送信工程と、をコンピュータに実行させるためのプログラムを提案している。
【0034】
形態7;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記リアルタイムネットワーク網の輻輳状態を検出する輻輳状態検出工程と、前記通信制御装置は、前記輻輳状態が、基準の輻輳度以上か否かを判定する判定工程と、を備え、前記通信制御装置は、前記判定工程において、前記輻輳状態が、基準の輻輳度以上であると判定された場合には、前記情報送信工程において、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信することを特徴とするプログラムを提案している。
【0035】
形態8;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記情報送信工程の前に、前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を格納する情報格納工程を備えたことを特徴とするプログラムを提案している。
【0036】
形態9;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、格納された前記リアルタイムネットワーク網に接続する前記複数のクライアントの最新の情報を圧縮する情報圧縮工程を備えたことを特徴とするプログラムを提案している。
【0037】
形態10;本発明の1またはそれ以上の実施形態は、前記通信制御装置は、前記情報送信工程において、Nagleアルゴリズムを用い、前記非リアルタイムネットワーク網を介して、前記リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を前記新規クライアント端末に送信するとともに、前記新規クライアント端末は、Nagleアルゴリズムを用い、初期同期要求として、新規クライアントの情報を前記通信制御装置に送信することを特徴とするプログラムを提案している。
【発明の効果】
【0038】
本発明の1またはそれ以上の実施形態によれば、初期同期負荷の回避および予め与えられたネットワーク転送容量制限を無駄なく利用することができるという効果がある。
【図面の簡単な説明】
【0039】
【
図1】本発明の第1の実施形態に係るネットワーク制御システムの構成を示す図である。
【
図2】本発明の第1の実施形態に係る通信制御装置の構成を示す図である。
【
図3】本発明の第1の実施形態に係るネットワーク制御システムの処理フローを示す図である。
【
図4】本発明の第2の実施形態に係るネットワーク制御システムの構成を示す図である。
【
図5】本発明の第2の実施形態に係る通信制御装置の構成を示す図である。
【
図6】本発明の第2の実施形態に係るネットワーク制御システムの処理フローを示す図である。
【
図7】本発明の第3の実施形態に係るネットワーク制御システムの構成を示す図である。
【
図8】本発明の第3の実施形態に係る通信制御装置の構成を示す図である。
【
図9】本発明の第3の実施形態に係るネットワーク制御システムの処理フローを示す図である。
【
図10】Nagleアルゴリズムのメリットを説明するための図である。
【
図11】Nagleアルゴリズムとリアルタイムネットワークとの関係を示す図である。
【
図12】リアルタイムネットワークにおける一括ネットワーク配信の概要を示す図である。
【
図13】リアルタイムネットワークにおける個別ネットワーク配信の概要を示す図である。
【
図14】リアルタイムネットワークにおいて個別ネットワーク配信を多用できない原因を説明するための図である。
【
図15】リアルタイムネットワーク通信で起きる初期同期負荷に関する図である。
【
図16】リアルタイムネットワーク通信で起きる初期同期負荷に関する図である。
【発明を実施するための形態】
【0040】
図1から
図9を用いて、本実施形態に係るネットワーク制御システムについて説明する。
【0041】
<第1の実施形態>
図1から
図3を用いて、本実施形態に係るネットワーク制御システム1について説明する。
【0042】
<ネットワーク制御システム1について>
本実施形態に係るネットワーク制御システム1は、
図1に示すように、通信制御装置100と、クライアント端末200A~200Nと、新規クライアント端末200Xと、リアルタイムネットワーク網300と、非リアルタイムネットワーク網400と、を含んで構成されている。
【0043】
通信制御装置100は、例えば、クラウド上に配設され、リアルタイムネットワーク網300あるいは、非リアルタイムネットワーク網400を介したクライアント端末200A~200Nと新規クライアント端末200Xとの間、あるいはクライアント端末200A~200Nと新規クライアント端末200Xとの間の通信を制御する。
通信制御装置100は、例えば、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
なお、通信制御装置100の構成の詳細については、後述する。
以下では、通信制御装置100は、サーバであってもよいし、クライアント端末200A~200Nの一部がその役目を担ってもよい。
本実施形態および以下の実施形態では、通信制御装置100は、上記のように、非リアルタイムネットワーク網400およびリアルタイムネットワーク網300における通信制御を行うことを例示して説明する。
しかし、通信制御装置100は、本実施形態および以下の実施形態では、互いに接続された非リアルタイムネットワーク網400およびリアルタイムネットワーク網300において、メモリ間通信を行うことにより、上記と同様の機能を果たすようにしてもよい。
【0044】
クライアント端末200A~200Nは、既に、リアルタイムネットワーク網300に接続しているクライアントが所有する端末であり、パーソナルコンピューター、タブレット、あるいは、スマートフォン、VR、ARまたはMR機器等である。
【0045】
新規クライアント端末200Xは、上記の既に、クライアント端末200A~200Nが接続しているリアルタイムネットワーク網300に、新たに、接続をするクライアントが所有する端末であり、パーソナルコンピューター、タブレット、あるいは、スマートフォン、VR、ARまたはMR機器等である。
新規クライアント端末200Xは、例えば、通信制御装置100に、初期同期要求として、自己の情報を送信するとともに、通信制御装置100から非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を受信する。
【0046】
リアルタイムネットワーク網300は、非常に高頻度かつ、大量のデータをクライアント間で相互にやり取りするネットワークである。
なお、リアルタイムネットワーク網300は、後述する非リアルタイムネットワーク網400と通信制御装置100とを介して接続されている。
以下、リアルタイムネットワーク網300とは、遅延を許容せず、高い即応性を実現でき、Nagleアルゴリズムまたはそれに相当する技術を“無効化”したネットワーク網をいう。
【0047】
非リアルタイムネットワーク網400は、リアルタイムネットワーク網300と明確に区別するために、Nagleアルゴリズムまたはそれに相当する技術を“有効化”したネットワーク網、非リアルタイムネットワーク網と表現する。
なお、非リアルタイムネットワーク網400は、リアルタイムネットワーク網300と通信制御装置100を介して、接続されている。
【0048】
<通信制御装置100の構成>
図2に示すように、通信制御装置100は、受信部110と、送信部120と、記憶部130と、圧縮部140と、制御部150と、を含んで構成されている。
【0049】
受信部110は、例えば、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信する。
受信部110は、例えば、リアルタイムネットワーク網300を介して、リアルタイムネットワーク網300に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を受信する。
受信部110が受信した新規クライアントの情報およびリアルタイムネットワーク網300に接続するクライアント端末200A~200Nからの複数のクライアントの最新の情報は、後述する制御部150に出力され、リアルタイムネットワーク網300に接続するクライアント端末200A~200Nからの複数のクライアントの最新の情報は、制御部150により、後述する記憶部130に格納される。
【0050】
送信部120は、例えば、後述する制御部150からの制御信号に基づいて、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
【0051】
記憶部130は、例えば、SRAM(Static Random Access Memory)あるいは、DRAM(Dynamic Random Access Memory)等の書き換え可能な揮発性メモリである。
記憶部130には、例えば、複数のクライアント端末200A~200Nに応じた記憶領域や新規クライアントの情報を格納する記憶領域が定められており、受信部110が受信したリアルタイムネットワーク網300に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報は、受信の度に、各クライアント毎に最新の情報に上書き更新される。または受信の度に、各クライアント毎に受信したデータを全て追加更新する形で蓄積する。
【0052】
圧縮部140は、記憶部130に格納された複数のクライアントの最新の情報を1つのデータ群に圧縮する。
圧縮部140により圧縮されたデータ群は、後述する制御部150に出力され、送信部120から非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信される。
【0053】
制御部150は、ROM(Read Only Memory)等に格納された制御プログラムに応じて、ネットワーク制御システム1全体の動作を制御する。
具体的には、制御部150は、受信部110の受信制御、送信部120の送信制御、記憶部130に対するデータの書き込み、読み出し制御、圧縮部140の圧縮制御等を実行する。
また、制御部150は、例えば、新規クライアント端末から初期同期要求として、受信部110が、新規クライアントの情報を受信した場合に、送信部120に対して、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させるよう制御する。
【0054】
<通信制御装置100の処理>
図3を用いて、本実施形態に係るネットワーク制御システム1の処理について説明する。
【0055】
受信部110は、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信する(ステップS110)。
受信部110が受信した新規クライアントの情報(新規クライアント情報)は、制御部150に出力される。
【0056】
受信部110は、リアルタイムネットワーク網300を介して、リアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を受信する(ステップS120)。
受信部110が、受信したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報(最新情報)は、制御部150に出力される。
【0057】
制御部150は、受信部110から入力したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域に書き込む処理を行うことにより、複数のクライアント端末200A~200Nに応じた記憶領域の情報を最新化する(ステップS130)。
【0058】
制御部150は、受信部110から新規クライアントの情報を入力すると、記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域における複数のクライアントの最新の情報を読み出して、圧縮部140に対して、出力するとともに、これらの情報を圧縮処理する制御信号を出力する。
圧縮部140は、入力した一群の最新の情報を圧縮し、制御部150に出力する(ステップS140)。
【0059】
制御部150は、圧縮部140から入力した圧縮された一群の最新の情報を送信部120に出力するとともに、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信するように命じる制御信号を送信する(ステップS160)。
なお、この際、制御部150は、送信部120に対して、Nagleアルゴリズムを用いた情報の送信を行わせてもよい。
【0060】
<作用・効果>
以上、説明したように、本実施形態に係るネットワーク制御システム1は、複数のクライアント端末200A~200Nと、複数のクライアント端末200A~200Nを接続するリアルタイムネットワーク網300と、複数のクライアント端末200A~200Nを接続する非リアルタイムネットワーク網400と、リアルタイムネットワーク網300と非リアルタイムネットワーク網400とにおけるデータ通信を制御する通信制御装置100と、を備え、通信制御装置100は、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
つまり、通信制御装置100は、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を非リアルタイムネットワーク網400を介して、新規クライアント端末200Xに送信させる。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0061】
本実施形態に係るネットワーク制御システム1の通信制御装置100は、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を格納する記憶部130と、記憶部130に格納されたリアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を圧縮する圧縮部140を備える。
つまり、記憶部130には、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を格納され、圧縮部140は、記憶部130に格納されたリアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を圧縮する。
そして、送信部120は、リアルタイムネットワーク網300に接続する圧縮された複数のクライアントの最新の情報を非リアルタイムネットワーク網400を介して、新規クライアント端末200Xに送信する。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0062】
本実施形態に係るネットワーク制御システム1の通信制御装置100は、新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0063】
<第2の実施形態>
図4から
図6を用いて、本実施形態に係るネットワーク制御システム1Aについて説明する。
【0064】
<ネットワーク制御システム1Aについて>
本実施形態に係るネットワーク制御システム1Aは、
図4に示すように、通信制御装置100Aと、クライアント端末200A~200Nと、新規クライアント端末200Xと、リアルタイムネットワーク網300と、非リアルタイムネットワーク網400と、を含んで構成されている。
なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0065】
通信制御装置100Aは、例えば、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
なお、通信制御装置100Aの構成の詳細については、後述する。
【0066】
<通信制御装置100Aの構成>
図5に示すように、通信制御装置100Aは、受信部110と、送信部120と、記憶部130と、圧縮部140と、制御部150Aと、を含んで構成されている。
なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0067】
制御部150Aは、ROM(Read Only Memory)等に格納された制御プログラムに応じて、ネットワーク制御システム1A全体の動作を制御する。
本実施形態において、制御部150Aは、例えば、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
また、制御部150Aは、例えば、新規クライアント端末から初期同期要求として、受信部110が、新規クライアントの情報を受信した場合に、送信部120に対して、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信するよう制御する。
【0068】
<通信制御装置100Aの処理>
図6を用いて、本実施形態に係るネットワーク制御システム1Aの処理について説明する。
【0069】
受信部110は、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信する(ステップS110)。
受信部110が受信した新規クライアントの情報(新規クライアント情報)は、制御部150に出力される。
【0070】
受信部110は、リアルタイムネットワーク網300を介して、リアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を受信する(ステップS120)。
受信部110が、受信したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報(最新情報)は、制御部150に出力される。
【0071】
制御部150Aは、受信部110から入力したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域に書き込む処理を行うことにより、複数のクライアント端末200A~200Nに応じた記憶領域の情報を最新化する(ステップS130)。
【0072】
制御部150Aは、受信部110から新規クライアントの情報を入力すると、記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域における複数のクライアントの最新の情報を読み出して、圧縮部140に対して、出力するとともに、これらの情報を圧縮処理する制御信号を出力する。
圧縮部140は、入力した一群の最新の情報を圧縮し、制御部150に出力する(ステップS140)。
【0073】
制御部150Aは、圧縮部140から入力した圧縮された一群の最新の情報を送信部120に出力するとともに、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信するように命じる制御信号を送信する(ステップS210)。
【0074】
<作用・効果>
以上、説明したように、本実施形態に係るネットワーク制御システム1Aは、複数のクライアント端末200A~200Nと、複数のクライアント端末200A~200Nを接続するリアルタイムネットワーク網300と、複数のクライアント端末200A~200Nを接続する非リアルタイムネットワーク網400と、リアルタイムネットワーク網300と非リアルタイムネットワーク網400とにおけるデータ通信を制御する通信制御装置100Aと、を備え、通信制御装置100Aは、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
つまり、通信制御装置100Aは、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を非リアルタイムネットワーク網400を介して、新規クライアント端末200Xに送信させる。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0075】
本実施形態に係るネットワーク制御システム1Aの通信制御装置100Aは、新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0076】
<第3の実施形態>
図7から
図9を用いて、本実施形態に係るネットワーク制御システム1Bについて説明する。
【0077】
<ネットワーク制御システム1Bについて>
本実施形態に係るネットワーク制御システム1Bは、
図7に示すように、通信制御装置100Bと、クライアント端末200A~200Nと、新規クライアント端末200Xと、リアルタイムネットワーク網300と、非リアルタイムネットワーク網400と、を含んで構成されている。
なお、第1の実施形態および第2の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0078】
通信制御装置100Bは、例えば、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、リアルタイムネットワーク網300における輻輳状態が、基準の輻輳度以上であると判定された場合には、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
なお、通信制御装置100Bの構成の詳細については、後述する。
【0079】
<通信制御装置100Bの構成>
図8に示すように、通信制御装置100Bは、受信部110と、送信部120と、記憶部130と、圧縮部140と、制御部150Bと、検出部160と、判定部170と、を含んで構成されている。
なお、第1の実施形態および第2の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は、省略する。
【0080】
検出部160は、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、リアルタイムネットワーク網300の輻輳状態を検出する。
検出部160における検出結果は、後述する判定部170に出力される。
【0081】
判定部170は、検出部160において検出されたリアルタイムネットワーク網300の輻輳状態が、基準の輻輳度以上か否かを判定する。
なお、基準の輻輳度については、任意に定めてもよい。
判定部170における判定結果は、後述する制御部150Bに出力される。
【0082】
制御部150Bは、ROM(Read Only Memory)等に格納された制御プログラムに応じて、ネットワーク制御システム1B全体の動作を制御する。
本実施形態において、制御部150Bは、例えば、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信部110が受信した場合に、検出部160がリアルタイムネットワーク網300における輻輳状態を検出し、リアルタイムネットワーク網300における輻輳状態が、基準の輻輳度以上であると判定部170が判定した場合には、非リアルタイムネットワーク網400を介して、送信部120に、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
また、制御部150Bは、例えば、新規クライアント端末200Xから初期同期要求として、受信部110が、新規クライアントの情報を受信した場合に、送信部120に対して、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信するよう制御してもよい。
【0083】
<通信制御装置100Bの処理>
図9を用いて、本実施形態に係るネットワーク制御システム1Bの処理について説明する。
【0084】
受信部110は、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信する(ステップS110)。
受信部110が受信した新規クライアントの情報(新規クライアント情報)は、制御部150Bに出力される。
【0085】
受信部110は、リアルタイムネットワーク網300を介して、リアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を受信する(ステップS120)。
受信部110が、受信したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報(最新情報)は、制御部150Bに出力される。
【0086】
制御部150Bは、受信部110から入力したリアルタイムネットワーク網に接続するクライアント端末200A~200Nから複数のクライアントの最新の情報を記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域に書き込む処理を行うことにより、複数のクライアント端末200A~200Nに応じた記憶領域の情報を最新化する(ステップS130)。
【0087】
制御部150Bは、受信部110から新規クライアントの情報を入力すると、記憶部130に設けられた複数のクライアント端末200A~200Nに応じた記憶領域における複数のクライアントの最新の情報を読み出して、圧縮部140に対して、出力するとともに、これらの情報を圧縮処理する制御信号を出力する。
圧縮部140は、入力した一群の最新の情報を圧縮し、制御部150Bに出力する(ステップS140)。
【0088】
検出部160は、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信した場合に、リアルタイムネットワーク網300の輻輳状態を検出する(ステップS310)。
【0089】
判定部170は、検出部160において検出されたリアルタイムネットワーク網300の輻輳状態が、基準の輻輳度以上か否かを判定する(ステップS320)。
【0090】
制御部150Bは、リアルタイムネットワーク網300における輻輳状態が、基準の輻輳度以上であると判定部170が判定した場合には、圧縮部140から入力した圧縮された一群の最新の情報を送信部120に出力するとともに、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200に送信するように命じる制御信号を送信する(ステップS160)。
なお、この際、制御部150Aは、送信部120に対して、Nagleアルゴリズムを用いた情報の送信を行わせてもよい。
【0091】
<作用・効果>
以上、説明したように、本実施形態に係るネットワーク制御システム1Aは、複数のクライアント端末200A~200Nと、複数のクライアント端末200A~200Nを接続するリアルタイムネットワーク網300と、複数のクライアント端末200A~200Nを接続する非リアルタイムネットワーク網400と、リアルタイムネットワーク網300と非リアルタイムネットワーク網400とにおけるデータ通信を制御する通信制御装置100Bと、を備え、通信制御装置100Bは、新規クライアント端末200Xがリアルタイムネットワーク網300に接続するモード切替時の初期同期ステップにおいて、新規クライアント端末200Xから初期同期要求として、新規クライアントの情報を受信部110が受信した場合に、検出部160がリアルタイムネットワーク網300における輻輳状態を判定し、リアルタイムネットワーク網300における輻輳状態が、基準の輻輳度以上であると判定部170が判定した場合には、非リアルタイムネットワーク網400を介して、送信部120に、リアルタイムネットワーク網300に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信させる。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0092】
本実施形態に係るネットワーク制御システム1Aの通信制御装置100Bは、新規クライアント端末から初期同期要求として、新規クライアントの情報を受信した場合に、Nagleアルゴリズムを用い、非リアルタイムネットワーク網400を介して、リアルタイムネットワーク網に接続する複数のクライアントの最新の情報を新規クライアント端末200Xに送信する。
そのため、初期同期負荷を効果的に回避するとともに、予め与えられたネットワーク転送容量制限を無駄なく利用することができる。
【0093】
<変形例>
第1の実施形態から第3の実施形態におけるネットワーク制御システム1、1A、1Bは、所謂、スタンドアロン型のシステムであった。
この発展形として、上記システムを複数、通信制御装置100、100A、100Bを介して、相互に連結した、所謂、クラスタ型のシステムとしてもよい。
クラスタ型のシステムすることにより、アクセス可能数の向上や性能の向上が期待できる。
【0094】
なお、通信制御装置100、100A、100Bの処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを通信制御装置100、100A、100Bに読み込ませ、実行することによって本発明のネットワーク制御システム1、1A、1Bを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0095】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0096】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0097】
以上、この発明の実施形態について、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0098】
1;ネットワーク制御システム
1A;ネットワーク制御システム
1B;ネットワーク制御システム
100;通信制御装置
100A;通信制御装置
100B;通信制御装置
110;受信部
120;送信部
130;記憶部
140;圧縮部
150;制御部
150A;制御部
150B;制御部
200A~N;クライアント端末
200X;新規クライアント端末
300;リアルタイムネットワーク網
400;非リアルタイムネットワーク網