以下に、本発明にかかる通信制御プログラム、通信制御方法および通信制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
図1は、実施例1に係るシステムの構成を示す機能ブロック図である。図1に示す管理システムは、管理サーバ2と、複数の船舶10と、複数の基地局100とを有する。なお、船舶と基地局の数は限定されず、任意に設定変更することができる。
各船舶が有する通信端末11および複数の基地局100の間は、電離層Lの反射を利用した短波帯の電波により相互に通信可能に接続される。また、各基地局100および管理サーバ2の間は、ネットワークNを介して相互に通信可能に接続される。かかるネットワークNには、有線または無線を問わず、インターネット(Internet)を始め、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。
ここで、実施例1のシステムについて説明する。なお、以下の説明では、船舶の一例として漁船の場合について説明する。管理システムは、例えば、通信端末11は、遠洋、例えば、沿岸から200海里以上離れた海域で操業する漁船などの船舶10に設置される。各基地局100は、漁港の近隣に設けられた漁業無線協会等に設置される。また、管理システムは、例えば、データセンタ等のクラウド上に管理サーバ2を設け、各基地局100とネットワークNを介して接続されている。また、図1の例では、ある基地局が例えば北海道に設置され、別の基地局が例えば沖縄に設置される。なお、図1では、漁業無線協会内に基地局100が設置される場合を示したが、これに限定されない。基地局100は、単独で設置されてもよいし、他の漁業無線協会内に設けられてもよい。
例えば、各基地局100には、管理する海の領域が割与えられていてもよい。また、各基地局100は、漁業無線協会内の海岸局等に設置され、管理対象の船舶を識別する船舶IDの一覧を保持することもできる。なお、船舶IDは、船舶識別情報の一例である。
管理サーバ2は、各基地局100を介して漁船の位置情報を定期的に収集し、各漁船の位置を示す位置マップを生成する。また、管理サーバ2は、各基地局100を介して、各漁船間で無線通信が実行された時の電波強度を収集して、海上における電離層を利用した無線通信に際しての各位置間の電波強度を示す電離層マップを生成する。例えば、管理サーバ2は、季節と周波数と時間帯との組み合わせごとに電離層マップを生成する。なお、管理サーバ2は、季節ごとの電離層マップや季節と周波数の組み合わせごとの電離層マップなど、任意の組み合わせで電離層マップを生成することができる。
そして、管理サーバ2は、位置マップや電離層マップを、各基地局100と共有できるディスク上に保存する。このようにすることで、各基地局100は、位置マップや電離層マップを読み込んで、自装置内に保存することができる。なお、管理サーバ2は、基地局100から情報を受信するたびに、位置マップや電離層マップを更新する。
なお、受信が困難となる状況の一例としては、フェージング現象等での混信、一部エラーの発生がある。フェージング現象には、干渉性フェージング、偏波性フェージング、跳躍性フェージング、吸収性フェージング、選択制フェージングおよびK型フェージングがある。干渉性フェージングは、無線通信の電波が届く経路が複数ある場合に経路差により生じるフェージングである。偏波性フェージングは、電離層に電波が反射するときなどに偏波面が変化することで生じるフェージングである。跳躍性フェージングは、電離層の密度の変動によって電波が電離層で反射されたり電離層を突き抜けたりすることにより生じるフェージングである。選択制フェージングは、電波の伝送経路における周波数選択性の媒質により減衰する帯域や減衰量が時間とともに変動することで生じるフェージングである。K型フェージングは、地球の等価半径係数(K)が気象条件などで変動し、電波の伝送経路の曲がり具合が変動することで生じるフェージングである。
[機能構成]
次に、図1に示した船舶10が有する通信端末11と、各基地局100の機能構成について説明する。
(通信端末11の機能構成)
図1に示すように、通信端末11は、無線部12、記憶部13、制御部14を有し、船舶10に設置される。なお、通信端末11は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。通信端末11の一例としては、タブレット端末、可搬型のパーソナルコンピュータ等を採用できる。なお、通信端末11は、位置情報や電波強度などの管理情報を、短波を用いて送信する発信機である。
無線部12は、例えば、中波から短波あるいは超短波帯の無線機等によって実現される。無線部12は、電離層Lを介して複数の基地局100のいずれか1つ以上と無線で接続され、基地局100およびネットワークNを介して、管理サーバ2との間で情報の通信を司る通信インタフェースである。無線部12は、制御部14から入力された管理情報を基地局100に向けて送信する。また、無線部12は、基地局100から送信された電波を受信して各種情報を取得する。
無線部12は、中波から短波あるいは超短波帯の電波として、例えば、2MHz帯、4MHz帯、8MHz帯、12MHz帯、および、16MHz帯、30MHz帯および50MHz帯以上の超短波帯のうち1つ以上の周波数帯域を用いることができる。無線部12は、例えば、通信端末11の操作者によって陸地との距離および時間帯に応じて選択された周波数帯域を用いる。これは、中波および短波帯および超短波帯の電波の伝搬状況が、太陽活動や昼夜によって状態が異なる電離層の影響を受けるためである。なお、周波数の選択は、測位センサ等で測位して取得した位置情報に基づいて、代表的な基地局100までの距離を算出し、算出した距離、季節および時刻に応じて各周波数の重み付けを行い、より到達可能性の高い周波数を選択するようにしてもよい。また、周波数の選択は、各周波数帯域のバンド特性を考慮して選択する。
無線部12は、変調方式として、例えば、PSK(Phase Shift Keying)、FSK(Frequency Shift Keying)等のデジタル変調を用いることができる。また、無線部12は、周波数が低い帯域では、例えば、PSK31等の変調方式を用いることができる。例えば、PSK31は、通信速度が31ボーと低速であるが、専有帯域が狭く、主にテキストデータを通信する短波帯でのデータ通信に適している。なお、無線部12は、制御部14との接続方法として、例えば、無線部12の制御にはRS−232Cを用いたシリアル通信を用いて、管理情報等のデータの授受には、音声入出力端子を用いて変調信号を入出力することができる。
なお、船舶10に搭載されている既存の無線機を使用する場合、短波の周波数帯でのデジタル変調を行うための変調装置を別途設置することが可能である。この場合、制御部14から出力されたデジタル情報を取得すると、デジタル情報をアナログ波形に変調して、無線機に出力する。また、無線部12として、船舶に搭載されている既存の無線機を使用することもできる。
記憶部13は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部13は、管理情報に含める各種情報、制御部14での処理に用いる情報等を記憶する。
この記憶部13は、測位された位置情報、他の通信端末11との間で無線信号を送受信した時に測定された電波強度などを記憶する。また、記憶部13は、基地局100から送信された各種信号や各種マップなどを記憶することもできる。また、記憶部13は、他の船舶の通信端末から受信したACKなどの応答信号を、予め定められた所定時間記憶することもできる。
制御部14は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部14は、通信端末11全体を制御する。また、制御部14は、位置測定部15、応答部16、代理処理部17を有する。
位置測定部15は、衛星測位システムの信号を受信する処理部である。位置測定部15は、衛星測位システムとして、GPS(Global Positioning System)、GLONASS(Global Navigation Satellite System)、ガリレオ、および、コンパス等の全地球航法衛星システムの信号を受信して測位を行う。位置測定部15は、制御部14から測位を要求されると測位を行なって、測位結果をWGS(World Geodetic System)84等の測地系に基づいた位置情報として出力する。また、位置測定部15は、制御部14から連続して測位を続けるように要求されると、連続して測位を行なって、制御部14から停止を要求されるまで位置情報の出力を続ける。なお、位置測定部15は、衛星測位システムとして、準天頂衛星システム、インド地域航法衛星システム、DORIS(Doppler Orbitography and Radio-positioning Integrated by Satellite)、および、北斗等の地域航法衛星システムの信号を受信してもよい。
応答部16は、基地局100から放送電文を受信した場合に、各種応答を送信する処理部である。例えば、応答部16は、基地局100から安否確認などの放送電文を受信すると、自装置である通信端末11が搭載される船舶10の船舶IDを含めたACK電文を基地局100に応答する。
代理処理部17は、基地局100から放送電文に対応する応答を、他の船舶に代わって実行する処理部である。例えば、代理処理部17は、基地局100からの放送電文に対して他の船舶の通信端末が送信したACK電文を受信すると、当該ACK電文を記憶部13に格納する。
このような状態において、代理処理部17は、基地局100から代理応答を依頼する依頼電文を受信した場合、記憶部13に記憶される他の船舶のACKを含めたACK代理電文を生成する。そして、代理処理部17は、依頼電文の送信元である基地局100に対して、ACK代理電文を送信する。
一例を挙げると、代理処理部17は、基地局100から受信した電文に、依頼電文であることを示す識別子が含まれている場合や、自装置が搭載される船舶10の船舶IDが指定船舶IDとして含まれている場合、代理電文を受信したと判定する。すると、代理処理部17は、受信した代理電文から、基地局100が受信済みである船舶の船舶IDを指定する他船IDを抽出する。
そして、代理処理部17は、受信済みである他の船舶からの各ACK電文を記憶部13から抽出し、抽出した各ACK電文から船舶IDを抽出する。続いて、代理処理部17は、抽出した船舶IDの中から、他船ID以外の船舶IDを特定する。その後、代理処理部17は、特定した船舶IDを追加船舶として含めたACK代理電文を、基地局100に送信する。
また、制御部14は、定期的に、位置情報や電波強度などを記憶部13から読み出して、これらの情報を含む管理情報を生成し、無線部12を介して基地局100に対して送信する。
図2は、電文フォーマットの一例を示す説明図である。図2に示すように、例えば電文フォーマット21は、「Char code」、「format ver」、「Message Type」、「name of a vessel」、「Call Sign」、「nationality」、「prefectures」、「Geographic Point Location」、「Parity」といった項目を有する。なお、図2の電文フォーマット21は、例えば、1マスが1バイトである。また、図2に示す電文フォーマット21の長さは、一例として104バイトであるが、これに限定されず、任意の長さとすることができる。さらに、電文フォーマット21は、項目として、他にも回送すべき無線協会のコード、位置情報の一部をマスクする、つまり暗号化するレベルを示す位置情報マスクレベル等を設けてもよい。
「Char code」は、文字コード系を示す。「format ver」は、電文フォーマット21のバーションを示し、フォーマット変更に対応するための項目である。「Message Type」は、メッセージタイプを示し、例えば、自動、手動、要求送信、緊急といったメッセージの種別を表す。「name of a vessel」は、通信端末11が設置された漁船の船名または識別情報を表す。なお、「name of a vessel」は、文字数に余裕があれば、漁船の船名と識別情報とを表すようにしてもよい。「Call Sign」は、確実な識別のための無線局のコールサインを表す。「nationality」は、「nationality registration」を省略したものであり、船籍国コードを示す。「prefectures」は、所属都道府県を表す。「Geographic Point Location」は、位置情報を示し、例えば、測位系と緯度と経度とを表す。「Parity」は、メッセージの完全受信を確認するためのパリティである。
また、制御部14は、TCG(Trusted Computing Group)技術を利用することで、情報の信ぴょう性を検証可能とし、セキュアな情報の送信を実現してもよい。ここで、TCG技術の一例について説明する。
外部と通信を行う端末、デバイスは常にセキュリティの脅威に曝され、ウィルス、スパイウェア、その他悪質なスクリプト、不正アクセス等により、プラットフォームを構成するソフトウェア構造に予期せぬ改変が加えられる場合がある。このようなリスクに対して、TCGでは、プラットフォームの信頼性を保障することにより、安全なコンピューティング環境を実現する。ここで、プラットフォームとは、ハードウェア、OS、アプリケーション等を示す。
例えば、ソフトウェアの改竄という脅威に対して、従来のソフトウェアに依存するセキュリティ対策には限界がある。このため、TCGでは、TPM(Trusted Platform Module)チップ(図示しない)をプラットフォームに埋め込み、かかるTPMチップを信頼のルートとして、改竄が極めて困難な、信頼できるコンピューティング環境を構築している。また、TPMチップを利用することで、ハードウェアベースのデータ・証明書の保護、安全な暗号処理環境を実現できる。
次に、TPMチップについて説明する。TPMチップは、電子機器(例えば通信端末11)にバインドされるバードウェアのチップであり、耐タンパー性を持つ。TPMチップは電子機器から取り外しができないように、電子機器の主要な構成パーツに物理的にバインドされる。例えば、電子機器の構成パーツは、マザーボード等に対応する。TPMチップは、実装される機能、メモリ領域、プロセッサ・パワーを極力抑えて設計されているため、低コストで製造でき、様々な電子機器やプラットフォームに適用できる。
例えば、TPMの機能には、RSA(Rivest Shamir Adleman)秘密鍵の生成・保管する機能、RSA秘密鍵による署名、暗号化、復号する機能が含まれる。RSAでは、秘密鍵と公開鍵とのペアを作成する。また、TPMの機能には、SHA−1(Secure Hash Algorithm 1)のハッシュ演算する機能、電子機器の環境情報を保持する機能が含まれる。TPMは、バインドされた電子機器が起動した時点で、BIOS、OSloader、OSカーネルへのブートプロセスにおけるソフトウェアコードを計測し、計測したソフトウェアコードをハッシュ化して、TPM内部のレジスタに登録する。また、TPMは、バインドされた電子機器のハードウェアの情報を収集し、ハードウェアの情報をハッシュ化して、TPM内部のレジスタに登録する。
TCG技術では、上位のアプリケーションやライブラリからハードウェア・デバイスであるTPMチップを利用するためソフトウェア・スタックとソフトウェアインターフェースを規定する。このソフトウェア・スタックはTSS(TCG Software Stack)と呼ばれ、リソースが制限されるTPMチップの機能を保管するソフトウェアモジュールから構成されている。電子機器のアプリケーションは、TSSの提供するインタフェースを利用して、上述したTPMチップの機能にアクセスすることができる。TPMチップは、顧客システム側のTPMチップでハッシュ値を採取する際のルールをハッシュ化及び署名付与して管理することで、ハッシュ値採取の正当性を担保するものである。しかも、TPMチップは、必要に応じて、現時点でのルール及び署名をチェックすることで、ルールの非改竄性を証明する。すなわち、制御部14にかかる処理および情報についての信ぴょう性が検証可能となる。その結果、TPMチップは、TPMチップ側で非改竄性が証明されたルールを参照しながら運用することでハッシュ値を採取する際のルールに改竄がないことを保証する。
また、制御部14は、TPMチップがハッシュ化及び署名付与した情報を電文フォーマットに挿入し、管理情報である電文を生成してもよい。この場合には、生成された電文を受信した装置(例えば、船舶が所属する漁業無線協会内の装置)において、制御部14にかかる処理および情報についての信ぴょう性を検証できる。
(基地局100の機能構成)
図1に示すように、基地局100は、通信部101、記憶部102、制御部110を有し、海岸局等に設置される。なお、基地局100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。基地局100は、例えば、周波数帯域ごとにそれぞれ無線機を有し、各無線機には図示しないアンテナがそれぞれ接続され、各周波数帯域で同時に複数の漁船に設置された通信端末11と通信することができる。
通信部101は、例えば、中波から短波あるいは超短波帯の無線機等によって実現される。また、通信部101は、ネットワークNを介して管理サーバ2との間で通信を行うために、例えば、NIC(Network Interface Card)等によって実現される。通信部101は、電離層Lを介して複数の通信端末11のいずれか1つ以上と無線で接続され、ネットワークNを介して管理サーバ2と接続される。つまり、通信部101は、通信端末11と基地局100との間、および、基地局100と管理サーバ2との間で情報の通信を司る通信インタフェースである。すなわち、基地局100は、通信端末11と管理サーバ2との通信を中継する。通信部101は、ネットワークNとの接続を有線または無線により行う。
通信部101は、例えば、中波から短波あるいは超短波帯の無線機として、複数の無線機、例えば、2MHz帯、4MHz帯、8MHz帯、12MHz帯、および、16MHz帯、30MHz帯および50MHz帯以上の超短波帯に対応する7台の無線機を用いて、通信端末11から送信された電波を受信する。通信部101は、複数の通信端末11から送信された、それぞれ異なる周波数の電波を用いた無線信号を、対応する周波数の複数の無線機で受信する。なお、使用される周波数帯は、通信端末11が設置される漁船の位置および時間帯のいずれか1つ以上に応じて決定される。また、通信部101は、変調方式として、通信端末11の無線部12と同様の変調方式を用いる。また、通信部101は、制御部110との接続も通信端末11と同様に、RS−232Cを用いたシリアル通信と、音声入出力端子を用いたデータ通信とを用いることができる。なお、基地局に設置されている既存の無線機を使用する場合、短波の周波数帯でのデジタル変調を行うための変調装置を別途設置することが可能である。この場合、無線機が受信したアナログ波形を取得すると、アナログ波形をデジタル情報に変換して、制御部110に出力する。
通信部101は、受信した電波、すなわち電文から管理情報を抽出し、制御部110に出力する。また、通信部101は、抽出した管理情報を、NICを用いてネットワークNを介して管理サーバ2に送信する。
記憶部102は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部102は、制御部110での処理に用いる情報等を記憶するとともに、電離層マップDB103、受信状況DB104、海情報マップ105を記憶する。また、記憶部102は、各船舶の通信端末11から定期的に受信する位置情報を時系列に記憶する。つまり、ある船舶について、記憶部102に記憶される位置情報を時系列で特定することで、現時点での位置を推定することができる。また、航海中に記録した(他船の通信を含む)データ(ログ)を寄港時に、メモリ経由、或いは携帯電話等の高速通信等で管理サーバ等のDBに蓄積することで、電離層マップを更新できる。
電離層マップDB103は、季節と周波数と時間帯とを組み合わせた組み合わせごとの電離層マップを記憶するデータベースである。各電離層マップは、管理サーバ2によって生成され、制御部110が管理サーバ2から読み出して電離層マップDB103に格納される。つまり、電離層マップDB103は、基地局100が管理対象とする各領域の電離層マップを記憶する。
図3は、電離層マップの一例を示す図である。図3に示す電離層マップは、季節がS、周波数がfa、時間帯が00:00−01:00の時に測定された結果に基づいて生成されたものである。
図3の一例では、Area No.が「001003」からArea No.が「001002」の間の無線通信では、電波強度が「0.62」であったことを示している。つまり、季節がSで時間帯が00:00−01:00の時に、「001003」に位置する船舶と「001002」に位置する船舶との間で、周波数faを用いて電文を送受信したときの電波強度が「0.62」であったことを示している。なお、「001003」から「001002」への通信と、「001002」から「001003」への通信とが存在するが、ここではどちらか一方を採用する。また、両方の電波強度の平均値を採用することもできる。
図3の例では、高い数値ほど電波強度が良い例を示している。しかし、これに限定されるものではなく、様々な指標を採用することができる。例えば、無線通信の成功率やエラー率、さらには、過去数回のこれらの平均値などを採用することもできる。つまり、電離層を利用した無線通信の安定性を示す様々な指標を採用することができる。
また、電離層マップDB103は、電離層マップのエリアと実際の位置とを対応付けたエリア情報も記憶する。図4は、エリア情報の例を示す図である。図4に示すように、電離層マップDB103は、海図におけるエリアを特定する「Area No.」と、当該エリアの中心を示す「中心位置」を対応付けて記憶する。図4の例では、Area No.が「001001」で特定される領域が、「N12° 14’ 36’’、E139° 32’ 45’’」を中心とする半径10kmの円内であることを示す。
ここでは、領域を円で区別する例を説明したが、これに限定されるものではない。例えば、各エリアに4つの位置を対応付けておき、各エリアを4点で囲まれた領域とすることもできる。また、各エリアに2つの位置を対応付けておき、2点を直径とする円で囲まれた領域を各エリアとすることもできる。
受信状況DB104は、基地局100が送信した放送電文の受信状況を記憶するデータベースである。つまり、受信状況DB104は、基地局100が送信した各放送電文について、基地局100の管理下にある各船舶が受信できたか否かを示す情報を記憶する。
図5は、受信状況DB104に記憶される情報の例を示す図である。図5に示すように、受信状況DB104は、「放送ID、船舶ID、受信結果、受信強度(基地、船)、時刻、位置情報、周波数」を対応付けて記憶する。
ここで記憶される「放送ID」は、放送電文を識別する識別子であり、「船舶ID」は、船舶を識別する識別子である。「受信結果」は、放送電文の受信状況を示しており、正常に受信された場合は「OK」が設定され、所定時間内に受信できなかった場合には「NG」が設定される。「受信強度(基地、船)」は、基地局100から船舶への下りの受信強度と、船舶から基地局100への上りの受信強度とを示す。「時刻」は、船舶から応答電文(ACK)を受信したときの時刻を示し、「位置情報」は、応答電文に含まれる船舶の位置を示す情報であり、「周波数」は、放送電文の送信に使用された周波数を示す。
図5の例は、周波数「8MHz」を用いて配信された放送ID「B01」の放送電文の受信状況であり、船舶IDが「S01」の船舶では正常に受信され、船舶IDが「S02」の船舶からは応答電文を受信できていないことを示している。また、船舶IDが「S01」の船舶からは、受信強度(5,5)と位置情報(N12° 14’ 36’’,E139° 32’ 45’’)を含む応答電文を「10:00:00」に受信したことを示す。
海情報マップ105は、船舶の位置や海の状況を示す海の位置マップである。ここで記憶される情報は、後述する更新部114等によって、基地局100が定期的に取得する船舶の位置情報と、受信状況DB104に記憶される船舶の位置情報とに基づいて生成される。図6は、海情報マップの例を示す図である。図6に示すように、海情報マップ105は、各基地局の位置である「A地点」、「B地点」、「C地点」、「D地点」と、各船舶との位置を図示した情報である。なお、波の高さ、風の向き、各船舶の進行方向などをさらに図示することもできる。
制御部110は、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部110は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部110は、電文送受信部111、ACK検出部112、代理指示部113、更新部114を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部110の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
電文送受信部111は、各船舶に対して放送電文などの電文を送信し、各船舶から当該電文の応答を受信する処理部である。そして、電文送受信部111は、受信状況にしたがって、受信状況DB104に情報を格納する。
例えば、電文送受信部111は、安否確認を行う放送電文に放送ID「B01」を割り当てる。そして、電文送受信部111は、周波数「8MHz」を用いて、放送ID「B01」の放送電文をブロードキャストで送信する。その後、電文送受信部111は、例えば10分などの所定時間内である10:00:00に、船舶ID「S01」の船舶から応答電文を受信すると、応答電文から受信強度(5,5)や位置情報(XXX)を抽出する。そして、電文送受信部111は、放送ID「B01」に対応付けて、「船舶ID:S01、受信結果:OK、受信強度:5,5、位置情報:XXX、時刻:10:00:00、周波数:8MHz」を受信状況DB104に格納する。
また、電文送受信部111は、例えば10分などの所定時間内に、船舶ID「S02」の船舶から応答電文を受信できない場合、放送ID「B01」に対応付けて、「船舶ID:S02、受信結果:NG、周波数:8MHz」を受信状況DB104に格納する。
ACK検出部112は、基地局100から送信した放送電文に対するACK電文の受信状況を検出する処理部である。具体的には、ACK検出部112は、各放送電文について、受信状況DB104を参照してACK電文が受信済みである船舶とACK電文が未受信である船舶とを検出する。
例えば、放送ID「B01」の宛先として「S01」から「S05」が含まれるとする。ACK検出部112は、放送ID「B01」について受信状況DB104を参照して、受信結果に「OK」が設定される船舶ID「S01、S02、S05」をACK受信済み船舶として検出する。また、ACK検出部112は、放送ID「B01」について受信状況DB104を参照して、受信結果に「NG」が設定される船舶ID「S03」と「S04」をACK未受信船舶として検出する。
そして、ACK検出部112は、放送ID「B01」について、ACK受信済み船舶の船舶IDとして「S01、S02、S05」を代理指示部113に出力する。同様に、ACK検出部112は、放送ID「B01」について、ACK未受信船舶の船舶IDとして「S03」および「S04」を代理指示部113に出力する。そして、ACK検出部112は、代理指示部113に代理応答の依頼を要求する。
代理指示部113は、ACK受信済み船舶に対して、ACK未受信船舶のACK電文の代理送信を指示する処理部である。具体的には、代理指示部113は、ACK検出部112から通知されたACK受信済み船舶の中から少なくとも1つの船舶を特定し、特定したACK受信済み船舶に、ACK検出部112から通知されたACK未受信船舶のACK電文の代理送信を依頼する。また、代理指示部113は、代理送信を依頼した船舶から応答を受信すると、当該応答にしたがって受信状況DB104を更新する。
上記例で説明すると、代理指示部113は、ACK受信済みである船舶ID「S01、S02、S05」のうち、「S01」を代理依頼先に決定する。すると、代理指示部113は、放送IDとして「B01」を設定し、ACK受信済み船舶を示す他船IDに「S01、S02、S05」を設定し、代理依頼先を示す指定船舶IDに「S01」を設定した依頼電文を生成する。そして、代理指示部113は、生成した依頼電文を、依頼先の船舶ID「S01」の船舶に搭載される通信端末に向けて送信する。
ここで、代理依頼先の選択例について説明する。例えば、代理指示部113は、ACK受信済み船舶のうち最も受信強度が高い船舶を代理依頼先に決定することができる。具体的には、代理指示部113は、各ACK受信済み船舶の受信状況を受信状況DB104から取得し、受信強度(船)が最も高い船舶を代理依頼先に決定する。なお、受信強度(船)は、船舶から基地局へ電文が送信されたときの受信強度、つまりACK電文受信時の受信強度である。
別の方法としては、代理指示部113は、電離層マップに基づいて決定することもできる。具体的には、代理指示部113は、記憶部102に記憶される各船舶の位置情報から、ACK未受信船舶の最新の位置情報を抽出する。また、代理指示部113は、受信状況DB104を参照して、各ACK受信済み船舶の位置情報を抽出する。そして、代理指示部113は、電離層マップDB103に記憶されるエリア情報にしたがって、特定したACK未受信船舶およびACK受信済み船舶の位置情報から、各船舶が位置するエリアを特定する。
その後、代理指示部113は、対象電文「B01」が配信された季節、時刻帯、周波数と一致する電離層マップを電離層マップDB103から読み込む。そして、代理指示部113は、電離層マップにしたがって、各ACK受信済み船舶が位置するエリアのうち、ACK未受信船舶が位置するエリアとの電波強度が最もよいエリアを特定する。その後、代理指示部113は、特定したエリアに位置するACK受信済み船舶を、代理依頼先として特定する。
例えば、図3において、ACK未受信船舶が位置するエリアが「001005」であり、ACK受信済み船舶が位置するエリアが「001001」と「001002」と「001004」であるとする。この場合、代理指示部113は、「001005」と「001001」と間の電波強度が「0.63」、「001005」と「001002」と間の電波強度が「0.89」、「001005」と「001004」と間の電波強度が「0.95」と特定する。この結果、代理指示部113は、最も電波強度が高い「001004」に位置するACK受信済み船舶を依頼先に決定する。
ここで、代理指示部113は、様々な手法を用いて、ACK未受信船舶の位置を推定することができる。例えば、代理指示部113は、ACK未受信船舶の最新の位置情報と1つ前の位置情報とから、ACK未受信船舶の速度を特定する。そして、代理指示部113は、ACK未受信船舶の速度とACK未受信船舶の最新の位置情報とから、ACK未受信船舶の現在位置を推定することもできる。
また、代理指示部113は、ACK未受信船舶の最新の位置情報と1つ前の位置情報とから、ACK未受信船舶の進行方向を特定する。また、代理指示部113は、現在時刻と、ACK未受信船舶の最新の位置情報が取得された時刻とから、時間差を算出する。さらに、代理指示部113は、ACK未受信船舶の過去の位置情報から、算出する時間差でどのくらい移動するかを示す移動距離を特定する。そして、代理指示部113は、ACK未受信船舶の進行方向に、ACK未受信船舶の最新の位置情報から移動距離分だけ進んだ位置をACK未受信船舶の現在位置と推定することもできる。
また、代理指示部113は、ACK未受信船舶の速度と進行方向との両方を用いてACK未受信船舶の現在位置を推定することもできる。また、代理指示部113は、最新の位置情報と1つ前の位置情報ではなく、異なる時刻の2つの位置情報を用いることもできる。この場合、代理指示部113は、時刻差と移動距離とから速度等を推定することもできる。
更新部114は、各船舶から受信する位置情報や受信状況DB104に記憶される受信状況にしたがって、海情報マップ105を更新する処理部である。例えば、更新部114は、受信済みの位置情報にしたがって各船舶の最新位置を海情報マップ105に反映し、受信状況DB104にしたがって不感帯および感帯を海情報マップ105に反映する。
[シーケンス図]
次に、図1に示した管理システムで実行される処理シーケンスを説明する。図7は、処理の流れを示すシーケンス図である。ここでは、一例として、基地局100の管理対象が船舶A(船舶ID=S01)、船舶B(船舶ID=S02)、船舶C(船舶ID=S03)、船舶D(船舶ID=S04)であるとする。また、各船舶では図1に説明した通信端末11を有するが、ここでは符号を省略して記載する場合がある。また、基地局100は、管理サーバ2が生成した電離層マップを取得済みであるとする。
図7に示すように、基地局100の電文送受信部111は、放送電文を生成して、船舶A、船舶B、船舶C、船舶Dに向けて送信する(S101とS102)。このとき、当該放送電文は、各船舶によって受信される。
その後、放送電文を受信した船舶Aの通信端末は、ACK電文を基地局100に送信する(S103とS104)。なお、船舶Aから送信されたACK電文は、船舶Bや船舶Cにも到達し、これらの船舶によっても受信される(S105とS106)。
同様に、放送電文を受信した船舶Bの通信端末は、ACK電文を基地局100に送信する(S107とS108)。なお、船舶Bから送信されたACK電文は、船舶Cや船舶Dにも到達し、これらの船舶によっても受信される(S109とS110)。
また、放送電文を受信した船舶Cの通信端末は、ACK電文を基地局100に送信するが、基地局100にはACK電文が届かない(S111とS112)。つまり、基地局100が放送電文を送信した時の電離層の影響と、船舶CがACK電文を応答した時の電離層の影響が異なることから、放送電文が届いたとしてもACK電文が届かない状況が発生する。なお、船舶Cから送信されたACK電文は、船舶Bや船舶Dにも到達し、これらの船舶によっては正常に受信される(S113とS114)。
同様に、放送電文を受信した船舶Dの通信端末は、ACK電文を基地局100に送信するが、基地局100にはACK電文が届かない(S115とS116)。つまり、基地局100が放送電文を送信した時の電離層の影響と、船舶DがACK電文を応答した時の電離層の影響が異なることから、放送電文が届いたとしてもACK電文が届かない状況が発生する。なお、船舶Dから送信されたACK電文は、船舶Bや船舶Cにも到達し、これらの船舶によっては正常に受信される(S117とS118)。
その後、基地局100の電文送受信部111は、船舶Aと船舶BのそれぞれからACK電文を受信する(S119)。このとき、電文送受信部111は、受信状況DB104に受信状況を格納する。
続いて、基地局100のACK検出部112は、ACK電文の受信状況にしたがって、ACK未受信船舶として船舶Cと船舶Dを特定する(S120)。そして、基地局100の代理指示部113は、船舶Aと基地局100の間の受信強度や船舶Bと基地局100の間の受信強度などを用いて、代理依頼先として船舶Bを特定する(S121)。
続いて、代理指示部113は、代理依頼先に船舶B、ACK電文の受信済み船舶を示す他船IDに船舶Aを設定した代理依頼の電文を生成する(S122)。そして、代理指示部113は、依頼電文を船舶Bに向けて送信する(S123とS124)。
その後、船舶Bの通信端末は、基地局100が送信した依頼電文を受信する(S125)。すると、船舶Bの通信端末は、自身が受信したACK電文の船舶のうち、依頼電文に含まれる受信済み船舶以外の船舶を特定して、当該船舶の船舶IDを含めたACK代理電文を生成し(S125)、依頼元の基地局100に向けて送信する(S126とS127)。
その後、基地局100の代理指示部113は、船舶Bから受信したACK代理電文からACK未受信船舶のACKを抽出し、終了条件を満たすと判定した場合に、依頼終了電文を船舶Bに向けて送信する(S128とS129)。なお、終了条件としては、再送回数が閾値を超えたか、本処理を行う時間が指定時間外か、船舶からのACK回答件数が閾値以上か否かが挙げられる。
ここで、図7に示した処理シーケンスでやり取りされる各種電文のフォーマット例について説明する。図8は、電文のフォーマット例を説明する図である。
図8に示すように、S101で基地局100から送信される放送電文は、「通信形式情報、基地局ID、放送ID、放送情報」を有する。図8の例では、基地局100は、放送ID「B03」の放送電文をブロードキャストで各船舶に配信したことを示す。
ここで「通信形式情報」は、例えば、文字コード系、電文フォーマットのバーション、および、メッセージタイプ等を示す情報である。「基地局ID」は、送信元の基地局を特定する識別子である。「放送ID」は、放送電文を識別する識別子である。「放送情報」は、放送電文の内容である。
また、S103やS107において船舶Aや船舶Bから送信されるACK電文は、「通信形式情報、基地局ID、放送ID、船舶ID、ACKID」を有する。図8の例では、船舶IDが「S02」である船舶Bの通信端末が、放送ID「B03」の放送電文に対するACK電文を基地局100に応答したことを示す。
ここで、「通信形式情報」、「基地局ID」、「放送ID」は、放送電文と同様の意味なので、詳細な省略する。なお、「基地局ID」には、ACK電文の送信先、つまり放送電文の送信元の基地局を示す識別子であり、放送電文内の基地局IDが該当する。「放送ID」は、ACK電文がどの放送電文に対応するかを示し、対応する放送電文を識別する識別子である。この放送IDには、放送電文内の放送IDが利用される。「船舶ID」は、ACK電文を送信した通信端末が設置されている船舶を識別する識別子である。「ACKID」は、例えば、ある放送IDの放送電文に対して、何回目のACK電文であるかを示す番号である。すなわち、ACKIDは、例えば、同内容の放送電文が再送信されてACK電文を送信するたびに、1ずつ増加させる。また、ACKIDは、例えば、1日のうち何回目のACK電文であるかを示す番号としてもよい。なお、これら以外にも、Ack電文が対応する放送電文の受信時に、放送電文内で発生した文字の誤りの数、つまり誤り文字の数を示す情報である「誤り文字数」などを含めることもできる。
また、S124において基地局100から船舶Bに向けて送信される依頼電文は、「通信形式情報、基地局ID、放送ID、指定船舶ID、他船ID」を有する。「通信形式情報、基地局ID、放送ID」は、上述したので詳細な説明は省略する。なお、「放送ID」は、どの放送電文のACK電文を依頼しているのかを特定するのに使用される。また、「指定船舶ID」は、代理電文の送信を依頼する依頼先の通信端末が搭載される船舶の船舶IDが指定される。「他船ID」は、ACK電文が受信済みである受信済み船舶の船舶IDが指定される。
つまり、図8の例では、放送ID「B03」の放送電文に対するACK電文の依頼電文の例である。この図8の例では、基地局IDが「BB」である基地局100は、船舶ID「S01」の船舶AからACK電文が受信済みであり、それ以外の船舶からのACK電文の代理送信を船舶ID「S02」である船舶Bに依頼する。
また、S126において船舶Bから送信されるACK代理電文は、「通信形式情報、基地局ID、放送ID、船舶ID、追加船舶、ACKID」を有する。「通信形式情報、基地局ID、放送ID、ACKID」は、上述したので詳細な説明は省略する。「船舶ID」は、ACK代理電文を送信した送信元の船舶の船舶IDであり、基地局100の依頼電文の送信先である。「追加船舶」は、代理依頼先の船舶がACKを代理応答する船舶IDである。
上記例で説明すると、代理を依頼された船舶Bの通信端末は、自身が受信したACK電文の送信元の船舶IDである「S01、S03、S04」のうち、依頼電文で指定される受信済み船舶の船舶ID「S01」以外の船舶ID「S03、S04」を抽出する。そして、船舶Bの通信端末は、船舶ID「S03、S04」を追加船舶として設定したACK代理電文を生成して、基地局100に送信する。
その後、S128において基地局100から送信される依頼終了電文は、「通信形式情報、基地局ID、放送ID、代理終了宣言コード」を有する。「通信形式情報、基地局ID、放送ID」は、上述したので詳細な説明は省略する。「代理終了宣言コード」は、代理送信の終了を指示する内容が設定される。基地局100は、ACK電文やACK代理電文の受信状況が終了条件を満たす場合に、依頼終了電文を送信する。図8の例では、基地局100は、代理終了宣言コード「SSS」を含む電文を放送ID「B04」としてブロードキャスト配信している。この電文を受信した各船舶の通信端末は、代理終了宣言コード「SSS」が含まれていることから、代理送信を終了する。
[具体例]
次に、図9から図11の海図を用いて具体例を説明する。図9は、基地局からの放送電文の送信例を示す図であり、図10は、各船舶からのACK電文の送信例を示す図であり、図11は、ACKの代理例を示す図である。
図9に示すように、A地点、B地点、C地点、D地点のそれぞれに基地局100が設置されている。そして、各基地局100は、異なる周波数などを使用して混信を抑制しつつ、同じ放送電文を発信する。例えば、A地点の基地局100は、船舶A、船舶B、船舶C、船舶Dを含む各船舶に対して、放送信号を送信する。
続いて、図10に示すように、船舶Aおよび船舶Bの通信端末は、放送電文に対するACK電文を基地局100に応答する。ここで、船舶Cの通信端末から送信されたACK電文は、基地局100までは到達しないが、船舶Bの通信端末によっては受信される。同様に、船舶Dの通信端末から送信されたACK電文は、基地局100までは到達しないが、船舶Bの通信端末によっては受信される。
その後、図11に示すように、基地局100は、船舶Aおよび船舶BからACK電文を受信したが、船舶Cおよび船舶Dからは未受信であることから、船舶Bに対して代理送信を依頼する。依頼された船舶Bの通信端末は、既に受信している船舶CのACKと船舶DのACKを含むACK代理電文を生成して、依頼元の基地局100に応答する。
[効果]
上述したように、基地局100は、配信した電文の応答を船舶Bから受信すると、船舶Bに記憶される他船舶の応答情報の送信も船舶Bに依頼することができる。このため、基地局100は、基地局100に直接届かない応答情報も収集でき、少ない通信で多くの応答情報を収集できる。
また、放送電文のブロードキャストによる再送を抑制することができるので、ネットワーク内の輻輳や混信を抑制することができる。また、輻輳や混信が抑えられることから、他電文の送信に与える影響度を小さくすることができるので、混信等によるエラーも減少させることができる。