以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る通信端末装置が利用可能な通信システムの一例を示す概略構成図である。なお、図1では、2台の通信端末装置10,15について図示しているが、通信端末装置は3台以上であってもよい。また、図1において、本実施形態の通信端末装置は、セルラー方式の移動体通信ネットワークを介して通信可能な携帯電話機やスマートフォンなどの携帯可能な移動体通信端末であるが、通信ネットワークを介して通信可能なものであれば移動体通信端末以外の通信端末装置であってもよい。例えば、本実施形態の通信端末装置は、ノートパソコンなどのパソコン装置、ゲーム機、タブレット端末、デジタルカメラ、プリンタ、書籍閲覧端末等の、通信機能を有する装置であってもよい。また、本実施形態の通信端末装置は、ネットワーク連携可能な家電(例えば、TV、冷蔵庫、録画機器)、時計や眼鏡などのウェアラブルデバイス、体重計や血圧計及びその他医療機器、ロボット等の、通信機能を有する装置であってもよい。
図1の通信システムにおいて、通信端末装置10,15はそれぞれ、後述の無線LAN通信機能と移動体通信(セルラー通信)機能とを有し、所定の同期タイミングに他の通信端末装置との間でデータ同期処理を行ったり、所定のバックアップタイミングにデータ同期処理後の同期データを所定のバックアップサーバにアップロードしたり、バックアップサーバからバックアップされている同期データをダウンロードしたりすることができる。これらのデータ同期処理並びに同期データのアップロード及びダウンロードは、利用者が所定の操作を行ってときに実行してもよいし、予め設定された所定の時刻が到来したときに自動実行するようにしてもよい。
また、本実施形態の通信システムでは、利用者の携帯電話機やスマートフォンなどの通信端末装置10,15が、ファストフード店や駅構内などに設けられた無線LANの中継装置(以下「アクセスポイント」という。)20の無線通信可能エリア20A内に位置するとき、無線LAN通信機能を有する通信端末装置10,15からアクセスポイント20を介して通信ネットワークに接続することができる。アクセスポイント20は、通信端末装置10,15と無線通信可能なWi−Fi(登録商標)などの無線LANの中継装置であり、バックボーンネットワーク30及びゲートウェイ(GW)35を介して、認証サーバ40、バックアップサーバ50、インターネット90等に接続されている。認証サーバ40は、無線LANサービスの加入者について認証処理を行う認証処理装置であり、バックアップサーバ50は、通信端末装置間で同期処理されるデータをバックアップするバックアップ装置である。
アクセスポイント20は、例えばIEEE802.11の規格に準拠したWi−Fiなどの無線LANの無線通信方式により、無線通信可能エリア20A内の通信端末装置10,15と無線通信し、通信端末装置10,15と通信ネットワークとの間の通信を中継することができる。
認証サーバ40は、無線LAN通信サービスに加入している加入者の各種情報が格納された加入者データベース(DB)45が接続された、例えばRADIUS(Remote Authentication Dial In User Service)サーバである。認証サーバ40は、加入者データベース45に格納されている情報を参照して、通信端末装置10,15から通信ネットワークに接続するときのWISPr(Wireless Internet Service Provider Roaming)認証やEAP(Extensible Authentication Protocol)認証などによる認証処理を行うサーバである。また、認証サーバ40は、バックボーンネットワーク30及びゲートウェイ(GW)35を介してアクセスポイント20と通信する機能や、そのアクセスポイント20を介して通信端末装置10,15と通信する機能を有する。また、認証サーバ40は、認証サーバ80と通信可能に構成され、認証サーバ80と協働又は連携して認証処理を行ってもよい。
加入者データベース45に格納されている情報は、例えば、無線LAN通信サービスの利用者識別情報(利用者ID)、パスワード、加入者識別情報、氏名の住所など利用者情報、利用可能なサービス(例えば、データバックアップサービス)に関する情報、使用している通信端末装置の情報などである。
また、本実施形態の通信システムでは、通信端末装置10,15がマクロセルやスモールセルなどの移動体通信(以下「セルラー通信」ともいう。)のセル60A内に在圏するとき、第3世代(3G)、LTE(Long Term Evolution)、LTE−Advanced、第4世代(4G)、第5世代(5G)などの規格に準拠したセルラー通信のマクロセル基地局やスモールセル基地局などの基地局60を介して、セルラー通信機能を有する通信端末装置10,15から通信ネットワークに接続することができる。基地局60は、通信端末装置10,15と無線通信可能な中継装置であり、バックボーンネットワーク70及びゲートウェイ(GW)75を介して、認証サーバ80、バックアップサーバ50、インターネット90等に接続されている。認証サーバ80は、移動体通信サービスの加入者について認証処理を行う認証処理装置である。
認証サーバ80は、移動体通信サービスに加入している加入者の各種情報が格納された加入者データベース(DB)45が接続された、例えばRADIUS(Remote Authentication Dial In User Service)サーバである。認証サーバ80は、加入者データベース85に格納されている情報を参照して、通信端末装置10,15から移動体通信ネットワークに接続するときの認証処理を行うサーバである。また、認証サーバ80は、コアネットワーク70及びゲートウェイ(GW)75を介して通信端末装置10,15と通信する機能を有する。また、認証サーバ80は、認証サーバ40と通信可能に構成され、認証サーバ40と協働又は連携して認証処理を行ってもよい。
加入者データベース85に格納されている情報は、例えば、移動体通信サービスの利用者識別情報(利用者ID)、パスワード、加入者識別情報、氏名の住所など利用者情報、利用可能なサービス(例えば、データバックアップサービス)に関する情報、使用している通信端末装置の情報などである。
バックアップサーバ50は、複数の通信端末装置間で同期処理されて通信端末装置内に保存さている同期処理後のデータである同期データが所定のタイミングでアップロードされ、アップロードされた同期データを管理するサーバである。バックアップサーバ50は、各通信端末装置からアップロードされた同期データが格納されたバックアップデータベース(DB)55が接続されている。バックアップサーバ50は、バックボーンネットワーク30及びゲートウェイ(GW)35を介して通信端末装置10,15と通信する機能や、コアネットワーク70及びゲートウェイ(GW)75を介して通信端末装置10,15と通信する機能を有している。
通信端末装置10,15間で同期処理される同期処理対象のデータは、特定の種類のデータに限定されるものではなく、例えば各通信端末装置間で共有して使用されるメールデータ、文書ファイル、画像ファイル、映像(動画)ファイル、音楽ファイル、音ファイル、各種のアプリケーションプログラムやミドルウェア・OSなどのプログラムのインストールファイル、各種ドライバーのインストールファイル、各種設定データなどである。
認証サーバ40,80、加入者データベース45,85、バックアップサーバ50及びバックアップデータベース55はそれぞれ、例えば単一のコンピュータ装置で構成したり複数のコンピュータ装置を組み合わせて構成したりすることができ、予め組み込まれた所定のプログラムが実行されることにより、各種処理や制御を実行することができる。また、認証サーバ40及び加入者データベース45を1台のコンピュータ装置で構成し、認証サーバ80及び加入者データベース85を1台のコンピュータ装置で構成し、バックアップサーバ50及びバックアップデータベース55を1台のコンピュータ装置で構成してもよい。また、認証サーバ40,80、加入者データベース45,85、バックアップサーバ50及びバックアップデータベース55を1台のコンピュータ装置で構成してもよい。
図2は、本発明の一実施形態に係る通信端末装置10のハードウェア構成の一例を示すブロック図である。なお、図2では、通信端末装置10のハードウェア構成について説明しているが、他の通信端末装置15についても同様に構成することができる。
図2において、本実施形態の通信端末装置10は、制御手段としての制御部110と、第1の通信手段としてのネットワーク通信部111と、ベースバンド処理部112と、音入出力部113と、表示部114と、操作手段としての操作部115とを備える。また、通信端末装置10は、装置本体に対して着脱可能な加入者情報記憶媒体であるICモジュールとしてのUSIM150が装着されている。
制御部110は、MPU(Micro Processing Unit)やRAM、ROM等からなる記憶装置を備え、所定の基本OSやミドルウェア等のプログラムが実行されることにより、ベースバンド処理部112等の各部を制御したり、ソフトウェア構成上のネイティブプラットフォーム環境やアプリケーション実行環境を構築したりする。
また、制御部110は、所定の制御プログラムが実行されることにより、ネットワーク通信部111や後述の近距離通信部130と連携して、次の(1)〜(8)の機能を実現することができる。
(1)通信端末装置10及び通信相手それぞれに設定された所定のIPアドレス及びポート番号に基づいて、通信ネットワークを介して通信相手との間に双方向通信の通信経路を確立する。
(2)通信端末装置10のIPアドレスが変更されたとき、その変更後のIPアドレスと通信相手との双方向通信に使用される通信端末装置10のポート番号とを含む接続情報を通信相手に送信する。なお、通信端末装置10のIPアドレスが変更されたとき、その通信端末装置10側のポート番号を変更し、変更後のIPアドレス及びポート番号を含む接続情報を通信相手に送信してもよい。
(3)通信相手のIPアドレス及びポート番号を記憶し、通信相手のIPアドレス及びポート番号を含む接続情報を通信相手から受信したとき、その受信した接続情報に基づいて通信相手のIPアドレス及びポート番号を更新する。
(4)通信相手との双方向通信の通信経路が途切れたときに通信経路の復帰を試み、通信経路の復帰に失敗したとき、通信相手のIPアドレス及びポート番号を含む接続情報を通信相手に要求する。
(5)通信相手と近距離無線通信方式による直接通信が可能な状態か否かを判断し、近距離無線通信方式による直接通信が可能な場合は、近距離無線通信方式で上記接続情報を通信相手に送信し、近距離無線通信方式による直接通信が不可能な場合は、通信ネットワークを介して上記接続情報を通信相手に送信する。
(6)上記接続情報を所定の鍵で暗号化する処理又は前記接続情報を所定のパスワードを設定する処理を行い、その処理後の接続情報を通信相手に送信する。
(7)通信相手との双方向通信の通信経路の確立が必要になったとき、その通信経路の確立に先立って、通信端末装置10のIPアドレス及びポート番号を含む接続情報を通信相手に送信する。
(8)通信相手との双方向通信の通信経路を確立した状態で、通信相手との間でデータ同期処理を実行する。なお、データ同期処理時に通信相手との間で送受信されるデータは、所定の鍵で暗号化したり、所定のパスワードを設定したりしてもよい。
制御部110の記憶装置は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置のうちの少なくともいずれか一つを有する。この記憶装置は、各部での処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶装置は、ドライバプログラムとして、IEEE802.11規格の無線通信方式や移動体通信(セルラー通信)の無線通信方式を実行する通信ドライバプログラム、操作部115を制御する入力デバイスドライバプログラム、表示部114を制御する出力デバイスドライバプログラム等を記憶する。また、記憶装置は、オペレーティングシステムプログラムとして、例えば、Android(登録商標)OS、iOS(登録商標)等の基本OSや、IEEE802.11規格の無線通信方式や移動体通信(セルラー通信)の無線通信方式での認証等を行う接続制御プログラム等を記憶する。また、記憶装置は、アプリケーションプログラムとして、ウェブ認証を行う認証プログラム、時間を計時する計時プログラム、ウェブページを取得及び表示するウェブブラウザプログラム、電子メールを送信及び受信する電子メールプログラム等を記憶する。また、記憶装置は、各種のテキストデータ、映像データ、画像データ等を記憶したり、所定の処理に係る一時的なデータを一時的に記憶したりしてもよい。また、記憶装置は、無線LANのアクセスポイントに接続するための各種情報を記憶している。
また、制御部110の記憶装置は、通信相手との間の通信に用いられる通信端末装置10及び通信相手それぞれのIPアドレス及びポート番号を含む接続情報を記憶している。更に、記憶装置は、通信相手との間でデータ同期処理対象のデータである同期データを記憶している。また、記憶装置は、上記通信相手との間で接続情報や同期データを暗号化したりパスワードを設定したりする場合は、その暗号化に用いる鍵情報やパスワードの情報を記憶している。
ネットワーク通信部111は、無線LANのアクセスポイント20を介して通信する無線LAN通信手段及びセルラー方式の移動体通信ネットワーク(以下、「セルラベアラ」ともいう。)の基地局60を介して通信する移動体通信手段として機能し、例えばシンセサイザ、周波数変換器,高周波増幅器、アンテナなどにより構成されている。ネットワーク通信部111は、アクセスポイント20との間でIEEE802.11等の所定の通信方式により無線通信するための高周波信号処理を実行したり、基地局60との間で3GやLTEなどの所定の通信方式により無線通信するための高周波信号処理を実行する。
ベースバンド処理部112は、他の携帯電話機等の通信端末装置や各種サーバとの間で音声通信やデータ送受信の通信を行うためのデジタル処理を実行する。このベースバンド処理部112とネットワーク通信部111との間はD/A変換器やA/D変換器を介して接続されている。
音入出力部113は、マイク、スピーカ、音信号処理部等で構成されている。マイクから出力されるアナログの音声信号は、音信号処理部でデジタル信号に変換され、制御部110やベースバンド処理部112等に送られる。スピーカは、音信号処理部でデジタル信号から変換されたアナログ信号が入力され、通話中の音声を出力したり、メールの着信音、電話の呼び出し音、音楽などを出力したりする。なお、スピーカは、通話中の音声を聞くための受話器用スピーカ(レシーバ)と、着信音や音楽などを出力する外部出力用スピーカとを別々に設けて構成してもいいし、これらの受話器用スピーカ及び外部出力用スピーカを兼用するように一つのスピーカで構成してもよい。
表示部114は、LCD(液晶ディスプレイ)や有機EL(Electro−Luminescence)ディスプレイ等で構成され、制御部110からの指令に基づいて各種画像を表示する。操作部115は、表示部114に組み込まれたタッチパネルや、各種の操作キーやボタン、電源ON/OFF手段としての電源スイッチなどで構成されている。この操作部115は、利用者が、通信端末装置10の本体電源をON/OFFしたり、通信端末装置10の本体電源をON/OFFしたり、通話開始、終話、メニュー選択、画面切り換え等を指示したり、情報を入力したりするときに用いられる。
また、通信端末装置10は、位置情報取得手段としてのGPS(Global Positioning System)部117、撮像手段としてのカメラ部118、センサー部119、電源供給手段としての電源供給部120、第2の通信手段としての近距離通信部130、図示しない時計部等も備えている。
GPS部117は、GPS受信モジュールやGPSアンテナ等で構成され、地球の周りに配置されている複数のGPS衛星から電波を受信し、その受信結果に基づいて通信端末装置10が位置する緯度、経度及び高度のデータを算出する。
カメラ部118は、レンズや撮像デバイス等で構成され、人物や風景等を撮影する時に用いられる。撮像デバイスとしては、CCD(Charge Coupled Device)カメラやCMOSカメラを用いることができる。
センサー部119は、加速度センサー及び/又は地磁気センサー等で構成されている。加速度センサーは、1軸の加速度センサーであっていいし、2軸や3軸等の複数軸の加速度センサーであってもよい。また、地磁気センサーも、1軸の地磁気センサーであっていいし、2軸や3軸等の複数軸の地磁気センサーであってもよい。このセンサー部119の出力に基づいて、通信端末装置10の位置、向き、姿勢及び動きを示すデータを算出することができる。また、センサー部119の出力に基づいて、所定高度における基準位置から利用者の通信端末装置10が移動したときの加速度データや地磁気データの時間変化の情報である履歴情報から、通信端末装置10が位置している高度、角度等を示すデータを算出することができる。
電源供給部120は、充電可能なバッテリー、バッテリーから各部に所定電圧の電力を供給する電力供給回路、バッテリーを充電する充電回路などを備えている。時計部はクロック回路等で構成され、正確な日時を計数し、各種情報の更新処理等のための時刻情報を生成する。
近距離通信部130は、通信端末装置10の近くに位置する他の通信端末装置との間で所定の近距離無線通信方式により直接通信するためのものである。近距離無線通信方式としては、TypeA、TypeB、FeliCa(登録商標)等のNFC(Near Field Communication)のピアツーピア(P2P)通信方式(ISO14443A,ISO14443B,ISO7816,ISO15693,ISO18092,ISO21481参照)が挙げられる。上記近距離無線通信方式としては、ブルートゥース(登録商標)、Wi−Fiなどの無線Ethernet(登録商標)(例えばWi−Fi Direct、Wi−Fi TDLS(Tunneled Direct Link Setup)等)、ワイヤレスUSB、ZigBee等の電波を用いたピアツーピア通信方式、IrDA等の赤外線を用いた通信方式、可視光を用いた通信方式等の他のピアツーピア通信方式を用いてもよい。ここで、上記「Wi−Fi Direct」及び「Wi−Fi TDLS」は、無線LANの普及促進団体、Wi−Fiアライアンスが策定した仕様の通信方式である。「Wi−Fi Direct」を用いる場合は、前述のネットワーク通信部111により、他の通信端末装置との間のピアツーピア通信を行ってもよい。また、上記「ZigBee」は、基礎部分の電気的な仕様がIEEE802.15.4として規格化され、論理層以上の機器間の通信プロトコルの仕様がZigBeeアライアンスで策定された通信方式である。
なお、複数種類の近距離無線通信方式が利用可能な場合、制御部110は、その複数種類の近距離無線通信方式について、どの近距離無線通信方式をデータ同期処理に優先的に用いるかを示す優先順位(優先度)が設定されていてもよい。この優先順位(優先度)の情報は、利用者が操作などによって設定変更できるようにしてもよい。
本実施形態の通信端末装置10の制御部110は、所定の制御プログラムが実行されることにより、ネットワーク通信部111や近距離通信部130などと協働し、後述する通信相手への接続情報(IPアドレス、ポート番号)の通知、通信相手の接続情報(IPアドレス、ポート番号)の確認、通信相手との間のデータ同期処理、バックアップサーバに対する同期データのアップロード及びダウンロード等を行う。
ここで、上記通信端末装置10及び通信相手それぞれの接続情報は、通信端末装置10と通信相手との間におけるデータ同期処理などを行うときに両者間の双方向通信の通信経路であるセッションを確立するときに使用される情報である。例えば、上記接続情報は、IPアドレスとポート番号とを組み合わせたソケット(ネットワークアドレス)である。また、本実施形態で使用されるIPアドレスは、例えば、IPv4(Internet Protocol Version 4)のIPアドレスやIPv6(Internet Protocol Version 6)のIPアドレスである。IPアドレスはグローバルIPアドレスでもよいしプライベートIPアドレスであってもよい。IPアドレスは、例えばDHCPサーバにより上記通信端末装置10や通信相手に対して互いに重複しないように払い出される。
図3は、本実施形態に係る通信端末装置10,15のソフトウェア構成の一例を示すブロック図である。図3の例において、外部との通信を行う物理層処理部1010は、前述のブルートゥース(登録商標)、ワイヤレスUSB、ZigBee、NFC、Wi−Fi Direct、Wi−Fi TDLS等の近距離通信処理部と、イーサネット(登録商標)/Wi−Fiやセルラベアラ(衛星通信を含む)等を介したネットワーク通信処理部とを有する。
物理層処理部1010の近距離通信処理部上に位置するPAN(Personal Area Network)通信部1020は、数m程度の比較的近距離における装置間の通信ネットワークを介して、仮想的にTCP/IPプロトコルを用いた通信を行うための処理を行う部分であり、近距離通信処理部とTCP/IP(HTTP)通信処理部1030との間のインターフェースとして機能する。このPAN通信部1020により、物理層処理部1010の近距離通信処理部を介したP2P通信においても、グローバルIPアドレスとポート番号とを組み合わせたネットワークアドレスであるソケットに基づいて、外部の通信相手である他の通信端末装置やサーバと間で、TCP/IPプロトコルを用いたTCP/IP通信を行うことができる。
物理層処理部1010のネットワーク通信処理部は、PAN通信処理部1020を介さずにTCP/IP(HTTP)通信処理部1030と通信することができる。従って、物理層処理部1010のネットワーク通信処理部及び外部のインターネットなど通信ネットワークを介したP2P通信においても、グローバルIPアドレスとポート番号とを組み合わせたネットワークアドレスであるソケットに基づいて、外部の通信相手である他の通信端末装置やサーバとの間で、TCP/IPプロトコルを用いたTCP/IP通信を行うことができる。
TCP/IP(HTTP)通信処理部1030の上位に位置する終端のアプリケーション1040は、上記ソケットに基づくTCP/IP通信上でHTTP通信を行うことにより、他の通信端末装置との間でデータ同期処理を行ったり、バックアップサーバ50へ同期データをアップロードしたり、バックアップサーバ50から同期データをダウンロードしたりすることができる。終端のアプリケーション1040がTCP/IP通信やHTTP通信に対応していない場合は、TCP/IP(HTTP)通信処理部1030との間のインターフェースとして機能するアプリケーション(モジュール)である同期処理共通部1041を介して、データ同期処理や同期データのアップロード・ダウンロード処理を行う。これにより、終端のアプリケーション1040の種類にかかわらず、上記データ同期処理などに用いる通信のプロトコルをTCP/IPで統一することができる。
以上のように、図3のソフトウェア構成により、近距離通信処理部を介したP2P通信及び外部のインターネットなど通信ネットワークを介したP2P通信のいずれにおいても、通信プロトコル(通信ロジック)をTCP/IPに統一することができる。従って、上記他の通信端末装置との間のデータ同期処理を制御する終端のアプリケーションは、そのデータ同期処理を行う通信が近距離通信処理部を介したP2P通信及び外部のインターネットなど通信ネットワークを介したP2P通信のいずれであるかを意識する必要がない。よって、終端のアプリケーションの実装負荷及び開発ボリュームを軽減できる。また、終端のアプリケーションは、TCP/IP通信(HTTP通信)に対応していない場合でも、同期処理共通部1041のアプリケーションを介してTCP/IP通信(HTTP通信)が可能なるため、終端のアプリケーションの実装負荷及び開発ボリュームを更に軽減できる。
また、終端のアプリケーションは、TCP/IP通信(HTTP通信)に対応していない場合でも、同期処理共通部1041のアプリケーションを介してTCP/IP通信(HTTP通信)が可能なるため、終端のアプリケーションの実装負荷及び開発ボリュームを更に軽減できる。
また、同期処理共通部1041のアプリケーションにおいて、TCP/IP通信(HTTP通信)上にさらなる独自プロトコルやこれを行う制御ロジックを共通モジュールとして実装することにより、終端アプリケーションの実装をさらに軽減することも可能である。
図4は、本実施形態に係る通信端末装置10,15のソフトウェア構成の他の例を示すブロック図である。図4の例では、図3の物理層処理部1010の近距離通信処理部に対するPAN通信処理部1020の機能と、TCP/IP(HTTP)通信処理部1030の機能とを、同期処理共通部1041のアプリケーションに持たせている。図4の例によれば、図3のPAN通信処理部1020の開発が困難である場合でも、近距離通信処理部を介したP2P通信及び外部のインターネットなど通信ネットワークを介したP2P通信のいずれにおいても、通信プロトコル(通信ロジック)をTCP/IPに統一することができる。
次に、本実施形態の通信端末装置における接続情報の通知処理及びデータ同期処理について説明する。
一般的に通信端末装置10が通信ネットワークに接続すると、DHCPサーバからIPアドレスの払い出しを受ける。払い出されるIPアドレスは都度変更されるおそれがある。また、通信経路毎にIPアドレスは払い出されるので、通信経路が変更された場合にも、使用するIPアドレスは変更されることになる。IPアドレスの払い出しを受けた際、あるいは払い出しを受けて前回とIPアドレスが変更されていることを確認した場合には、通信相手に対し、新しいIPアドレスを伝達する必要がある。また、通信経路が変更された場合にも、通信相手に対し、使用する通信経路のIPアドレスを含む接続情報を伝達する必要がある。
また、通信端末装置10が通信相手との間でデータ同期処理などを行うために双方向通信の通信経路としてのセッションを確立する場合、そのセッションの確立に用いられるネットワークアドレス(ソケット)のIPアドレス及びポート番号を含むの接続情報を交換しておく必要がある。
上記接続情報の通知(伝達)又は交換を行うときの手段としては、通信端末装置10の端末識別情報(例えば、電話番号)を宛先とするSMSメッセージ、インターネット上で使用可能な電子メール、HTTP通信などを利用することができる。上記SMSメッセージは、WAP(Wireless Application Protocol)Push技術で送受信されるSMSメッセージであってもよい。また、通信端末装置同士が近接している場合には、前述の近距離無線通信方式によるP2P通信で互いのIPアドレスを教え合うことも可能である。また、SIP(Session Initiation Protocol)サーバを介した通信方式のように、通信端末装置からサーバに上記情報接続をアップロードして登録し、そのサーバに都度問い合わせて通信を行う方式により、上記接続情報の通知(伝達)又は交換を行うようにしてもよい。
図5は、本実施形態に係る通信端末装置10におけるデータ同期処理に用いる接続情報(IPアドレス及びポート番号)の通知処理の一例を示す説明図である。図6(a)〜(d)は、図5の接続情報の通知処理が行われているときの通信端末装置10,15における接続情報(IPアドレス及びポート番号)の変化の様子の一例を示す説明図である。なお、図6の例は、通信端末装置10の通信相手が通信端末装置15である場合の例である。
図5において、通信端末装置10とその通信相手である通信端末装置15はそれぞれ、DHCPサーバなどから振り出されたIPアドレスと双方向通信用の所定のポート番号とが初期設定されている(S101)。このように設定された通信端末装置10,15のIPアドレス及びポート番号を含む接続情報は、その通信端末装置間で近距離無線通信方式により互いに通知されて交換される(S102)。例えば、利用者は、外出前に通信端末装置10、15同士をかざし合い、確実に接続情報(IPアドレス、ポート番号)を交換した上で外出する。これにより、通信端末装置10、15は互いに通信相手の接続情報(IPアドレス、ポート番号)は把握することができ、その接続情報に基づいて互いに通信経路であるセッションを確立し、双方向通信が可能な状態になっている(図6(a)参照)。
次に、通信端末装置10の移動などによって通信端末装置10が接続されているネットワークセグメントが変化すると、その変化後のネットワークセグメントのDHCPサーバから新しいIPアドレスが払い出され、通信端末装置10に設定されるIPアドレスが変更される(図6(b)参照)。なお、図5及び図6(b)の例では、IPアドレスの変更に伴い、通信端末装置10に設定されるポート番号も変更されている。このように通信端末装置10に設定されるIPアドレス及びポート番号が変更されると、図6(c)に示すように通信相手である通信端末装置15から通信端末装置10へのセッションが切断される。データ同期処理の実行中の場合は、そのデータ同期処理が中断されてしまう。
次に、通信端末装置10は、自分自身に設定されたIPアドレスが変更されたことを検知すると(S103でYes)、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断する(S104)。
ここで、通信端末装置15との近距離無線通信が可能な場合(S104でYes)は、通信端末装置10は、近距離無線通信を介して、通信端末装置10に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に送信して通知する(S105)。
一方、通信端末装置15との近距離無線通信が不可能な場合(S104でNo)は、通信端末装置10は、セルラベアラや無線LAN(Wi−Fi)などのネットワーク通信を介して、通信端末装置10に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に送信して通知する(S106)。
上記ネットワーク通信を介した接続情報の通知には、例えばSMSや電子メールを用いることができるが、次のように通信端末装置10から通信相手である通信端末装置15へのセッションを用いた通知も可能である。すなわち、IPアドレス及びポート番号が変更された通信端末装置10は、通信相手の通信端末装置15の接続情報(IPアドレス及びポート番号)を把握しているため、図6(c)に示すように通信端末装置10から通信端末装置15へのセッションを確立することができる。このようにセッションを確立した後、通信端末装置10は、図6(d)に示すように変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に送信して通知することができる。
なお、上記通信相手の通信端末装置15に割り当てられたIPアドレスがグローバルIPアドレスである場合、通信端末装置10は、変更後のIPアドレス及びポート番号を含む接続情報を、インターネットを介して通信端末装置15に送信して通知してもよい。
また、IPアドレスに基づいて構築された通信端末装置10と通信相手の通信端末装置15との間の通信経路(セッション)が何らかの原因によって切断状態になった場合、上記SMSや電子メールを用いた通知のほか、所定のサーバを介した通信を用いることができる。この場合、各通信端末装置の接続情報(IPアドレス、ポート番号)を管理するサーバが設けられる。そして、例えば、通信端末装置10のIPアドレスが変更された場合、通信端末装置10は、その変更後のIPアドレス及びポート番号を含む接続情報を当該サーバにアップロードして登録する。同様に、通信相手の通信端末装置15のIPアドレスが変更された場合、通信端末装置15は、その変更後のIPアドレス及びポート番号を含む接続情報を当該サーバにアップロードして登録する。そして、通信端末装置10と通信相手の通信端末装置15との間の通信経路(セッション)が何らかの原因によって切断状態になった場合、通信端末装置10は当該サーバにアクセスして通信相手の通信端末装置15の変更後の接続情報を問い合わせて取得することができる。同様に、通信端末装置15は当該サーバにアクセスして通信端末装置10の変更後の接続情報を問い合わせて取得することができる。
上記新しい変更後の接続情報の通知を受信した通信端末装置15は、受信した接続情報に基づいて、その通信端末装置15内に記憶している通信端末装置10の接続情報(IPアドレス及びポート番号)を更新する。更に、通信端末装置15は、受信した接続情報に基づいて、図6(e)に示すように、通信端末装置15から通信端末装置10へのセッションを復帰させる。これにより、通信端末装置10及び通信端末装置15は互いに双方向通信が可能な状態になる。データ同期処理が一時中断されている場合は、そのデータ同期処理を継続することができる。
なお、図5の例では、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断しているが(S104)、この判断を行わなくてもよい。この場合、IPアドレスの変更があったとき、通信端末装置10は、近距離無線通信ではなく一律にネットワーク通信を介して、通信端末装置10に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に送信して通知する。
図7は、本実施形態に係る通信端末装置10におけるデータ同期処理に用いる接続情報(IPアドレス及びポート番号)の通知処理の他の例を示す説明図である。図7の例では、IPアドレスが変更されたタイミングではなくデータ同期処理が必要になるタイミングで接続情報(IPアドレス及びポート番号)を通信相手に通知している。
図7において、利用者によって通信相手との間のデータ同期処理を開始するように通信端末装置10が操作されると(S201)、通信端末装置10は、自分自身に設定されているIPアドレスが変更されているか否かを確認する(S202)。その後のS203〜S206の処理については、前述の図5におけるS103〜S106の処理と同様であるため、説明を省略する。
なお、図7の例では、IPアドレスの確認(S202)及びIPアドレスが変更されているか否かの判断(S203)を行っているが、これらの処理を行わないようにしてもよい。この場合、利用者によるデータ同期処理の開始操作があったとき、通信端末装置10は、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断する(S204)。
また、図7の例では、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断しているが(S204)、この判断を行わなくてもよい。この場合、IPアドレスの変更があったとき、通信端末装置10は、近距離無線通信ではなく一律にネットワーク通信を介して、通信端末装置10に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に送信して通知する。
図8は、本実施形態に係る通信端末装置におけるデータ同期処理に用いる接続情報(IPアドレス及びポート番号)の通知処理の更に他の例を示す説明図である。また、図9(a)〜(e)は、図8の接続情報の通知処理が行われているときの通信端末装置における接続情報(IPアドレス及びポート番号)の変化の様子の一例を示す説明図である。なお、図8の例は、通信端末装置10の通信相手が通信端末装置15である場合の例である。
図8において、通信端末装置10とその通信相手である通信端末装置15との間で互いにセッションを確立して双方向通信が可能な状態で(図9(a)参照)、データ同期処理を実行されている。このデータ同期処理中に、通信相手の通信端末装置15の移動などによって通信端末装置15が接続されているネットワークセグメントが変化すると、その変化後のネットワークセグメントのDHCPサーバから新しいIPアドレスが払い出され、通信端末装置15に設定されるIPアドレスが変更される(図9(b)参照)。なお、図8及び図9(b)の例では、IPアドレスの変更に伴い、通信端末装置15に設定されるポート番号も変更されている。このように通信端末装置15に設定されるIPアドレス及びポート番号が変更されると、図9(c)に示すように通信端末装置10から通信端末装置15へのセッションが切断され(S301)、データ同期処理が中断される。
次に、通信端末装置10は、自分自身が把握している通信相手の通信端末装置15の接続情報(IPアドレス及びポート番号)に基づいて、上記切断されたセッションを復帰する処理を行う(S302)。ここで、通信端末装置15の接続情報(IPアドレス及びポート番号)が変更されていることによりセッション復帰に失敗すると(S303でYes)、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断する(S304)。
ここで、通信端末装置15との近距離無線通信が可能な場合(S104でYes)は、通信端末装置10は、近距離無線通信を介して、通信端末装置15に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に対して要求する(S305、図9(d)参照)。そして、通信端末装置10は、近距離無線通信を介して、変更後の接続情報(IPアドレス及びポート番号)を含む応答を通信端末装置15から受信する(S306、図9(d)参照)。
一方、通信端末装置15との近距離無線通信が不可能な場合(S304でNo)は、通信端末装置10は、セルラベアラや無線LAN(Wi−Fi)などのネットワーク通信を介して、通信端末装置15に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に要求する(S307)。そして、通信端末装置10は、ネットワーク通信を介して、変更後の接続情報(IPアドレス及びポート番号)を含む応答を通信端末装置15から受信する(S308、図9(d)参照)。
上記新しい変更後の接続情報を含む応答を受信した通信端末装置10は、受信した接続情報に基づいて、その通信端末装置10に記憶している通信端末装置15の接続情報(IPアドレス及びポート番号)を更新する(S309)。更に、通信端末装置10は、受信した接続情報に基づいて、図9(e)に示すように、通信端末装置10から通信端末装置15へのセッションを復帰させる。これにより、通信端末装置10及び通信端末装置15は互いに双方向通信が可能な状態になる。データ同期処理が一時中断されている場合は、そのデータ同期処理を継続することができる。
なお、図8の例では、近距離無線通信を介して通信相手である通信端末装置15とP2Pで直接通信可能か否かを判断しているが(S304)、この判断を行わなくてもよい。この場合、IPアドレスの変更があったとき、通信端末装置10は、近距離無線通信ではなく一律にネットワーク通信を介して、通信端末装置15に設定されている変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に要求して取得する。
また、図8の例において、変更後のIPアドレス及びポート番号を含む接続情報を通信端末装置15に要求する際に所定時間のタイムアウトを設定してもよい。ここで、通信端末装置15からの応答を受信せずにタイムアウトが経過した場合、通信端末装置10は、通信端末装置15に対して例えば接続情報を催促するSMSや電子メールを送信する。これらのSMSや電子メールには、通信端末装置10側の接続情報(IPアドレス及びポート番号)を記載してもよい。
図10は、本実施形態に係る複数の通信端末装置におけるデータ同期処理の一例を示すシーケンス図である。図10は、通信端末装置10とそのデータ同期処理対象の通信相手である通信端末装置15とが互いに離れた位置にあり、互いに近距離無線通信ができない状態の例を示している。
なお、図10の例では、通信端末装置10における利用者による所定操作をトリガーにしてデータ同期処理を開始しているが、通信端末装置15における利用者による所定操作をトリガーにしてデータ同期処理を開始してもよい。また、利用者の操作によらずに、通信端末装置10又は通信端末装置15が予め設定された所定タイミングにデータ同期処理を自動開始してもよい。
図10において、通信端末装置10及び通信端末装置15はそれぞれ、データ同期処理に用いる接続情報(IPアドレス及びポート番号)を互いに交換して記憶している(S401)。また、ネットワークセグメントの変化等により通信端末装置10及び通信端末装置15の少なくとも一方のIPアドレスが変更になった場合は、前述の通知処理などにより、その変更になったIPアドレスを含む接続情報が相手側の通信端末装置に通知される(S401)。なお、IPアドレス変更時に変更後のIPアドレスを含む接続情報を通知するのではなく、データ同期処理開始時に、データ同期処理に用いる接続情報(IPアドレス及びポート番号)を通信端末装置10及び通信端末装置15が互いに確認するようにしてもよい。
次に、通信端末装置10は、利用者によるデータ同期処理を開始するための所定の操作がなされる(S402)と、近距離無線通信可能な位置まで通信相手の通信端末装置15が接近しているかが検知される(S403)。この検知は、例えば通信端末装置10で利用可能な前述の複数種類の近距離無線通信方式それぞれについて周辺の通信端末装置をサーチして検知することで行われる。ここで、通信端末装置15の接近しているか否かを判定するときの判定条件には、通信端末装置15からの電波の電界強度が一定以上であるか否かといった情報を利用してもよい。なお、本例では、通信端末装置10から離れた位置に通信端末装置15が位置しているため、いずれの近距離無線通信方式によっても通信端末装置15の接近が検知されない。
次に、通信端末装置10は、予め記憶した通信端末装置15の接続情報(IPアドレス及びポート番号)に基づいて、移動体通信ネットワークやインターネットなどを介したネットワーク通信により通信端末装置15との間にデータ同期処理のための通信経路であるセッションを確立する(S404)。
上記セッションの確立により、通信端末装置15の所定のソケットのポートが開かれ、通信端末装置15自身が通信端末装置10に対するサーバとして機能する。そして、通信端末装置10は、ネットワーク通信により通信端末装置15のIPアドレス及びポート番号を指定してTCP/IP通信することができるようになる。また、通信端末装置10の所定のソケットのポートが開かれ、通信端末装置10自身が通信端末装置15に対するサーバとして機能する。そして、通信端末装置15は、ネットワーク通信により通信端末装置10のIPアドレス及びポート番号を指定してTCP/IP通信することができるようになる。
上記セッションが確立された後、通信端末装置10は、移動体通信ネットワークなどを介したネットワーク通信により通信端末装置15との間でデータ同期処理を実行する(S405)。これにより、通信ネットワーク上のデータ同期支援などを行うサーバを介さずに、通信端末装置10及び通信端末装置15は互いにデータ同期処理を行うことができる。
また、通信端末装置10は、通信端末装置15との間のデータ同期処理の後、所定のアップロードタイミングを検知する(S406)と、バックアップサーバ50にアクセスし、通信端末装置10内に保存されているデータ同期処理されたデータ(以下「同期データ」という。)をバックアップサーバ50にアップロードする(S407)。上記同期データのアップロードを行う所定のタイミングとしては、同期データのアップロードについて予めスケジュールされたタイミング、利用者によって同期データのアップロード開始の操作がなされたタイミングなどが挙げられる。
また、通信端末装置10は、上記バックアップサーバ50への同期データのアップロードの後、所定のダウンロードタイミングを検知する(S408)と、バックアップサーバ50にアクセスし、バックアップサーバ50に保存されている同期データをバックアップサーバ50からダウンロードして通信端末装置10内に保存する(S409)。上記同期データのダウンロードを行う所定のタイミングとしては、同期データのダウンロードについて予めスケジュールされたタイミング、利用者によって同期データのダウンロード開始の操作がなされたタイミングなどが挙げられる。
上記バックアップサーバ50に対する同期データのバックアップ(アップロード及びダウンロード)により、通信端末装置10、15をオールリセットして初期状態にした場合や、通信端末装置10、15が故障した場合に、同期データのロールバックが可能になる。
なお、バックアップサーバ50の負荷やバックアップサーバ50との通信経路における負荷が軽減するために、上記同期データのアップロードやダウンロードを行う所定のタイミングの頻度は、上記通信端末装置間のデータ同期処理の頻度よりも少なくしてもよい。
図11は、本実施形態に係る通信端末装置10におけるデータ同期処理の他の例を示すシーケンス図である。図11は、通信端末装置10とそのデータ同期処理対象の通信相手である通信端末装置15とが互いに接近し、互いに近距離無線通信が可能な状態の例を示している。
なお、図11の例では、通信端末装置10における利用者による所定操作をトリガーにしてデータ同期処理を開始しているが、通信端末装置15における利用者による所定操作をトリガーにしてデータ同期処理を開始してもよい。また、利用者の操作によらずに、通信端末装置10又は通信端末装置15が予め設定された所定タイミングにデータ同期処理を自動開始してもよい。
また、図11における接続情報の交換及び変更通知(S501)、同期データのアプロード(S507,S508)及び同期データのダウンロード(S509,S510)については、前述の図10におけるS401、S406〜S409と同様であるので、説明を省略する。
図11において、通信端末装置10は、利用者によるデータ同期処理を開始するための所定の操作がなされる(S502)と、近距離無線通信可能な位置まで通信相手の通信端末装置15が接近しているかが検知される(S503)。この検知は、例えば通信端末装置10で利用可能な前述の複数種類の近距離無線通信方式それぞれについて周辺の通信端末装置をサーチして検知することで行われる。ここで、通信端末装置15の接近しているか否かを判定するときの判定条件には、通信端末装置15からの電波の電界強度が一定以上であるか否かといった情報を利用してもよい。なお、本例では、通信端末装置10に接近した位置に通信端末装置15が位置しているため、通信端末装置15の接近が検知される。
次に、複数種類の近距離無線通信方式で通信端末装置15の接近が検知された場合は、その複数種類の近距離無線通信方式について予め設定された優先順位(優先度)の情報に基づいて、データ同期処理に用いる近距離無線通信方式を決定する(S504)。なお、単一の近距離無線通信方式でのみ通信端末装置15の接近が検知された場合は、近距離無線通信方式を決定する処理(S504)は省略してもよい。
次に、通信端末装置10は、予め記憶した通信端末装置15の接続情報(IPアドレス及びポート番号)に基づいて、上記通信端末装置15の接近が検知された所定の近距離無線通信方式による近距離無線通信により通信端末装置15との間にデータ同期処理のための通信経路であるセッションを確立する(S505)。
上記セッションの確立により、通信端末装置15の所定のソケットのポートが開かれ、通信端末装置15自身が通信端末装置10に対するサーバとして機能する。そして、通信端末装置10は、近距離無線通信により通信端末装置15のIPアドレス及びポート番号を指定してTCP/IP通信することができるようになる。また、通信端末装置10の所定のソケットのポートが開かれ、通信端末装置10自身が通信端末装置15に対するサーバとして機能する。そして、通信端末装置15は、近距離無線通信により通信端末装置10のIPアドレス及びポート番号を指定してTCP/IP通信することができるようになる。
上記セッションが確立された後、通信端末装置10は、上記所定の近距離無線通信方式による近距離無線通信により通信端末装置15との間でデータ同期処理を実行する(S506)。これにより、通信ネットワーク上のデータ同期支援などを行うサーバを介さずに、通信端末装置10及び通信端末装置15は互いにデータ同期処理を行うことができる。
以上、本実施形態によれば、通信端末装置に設定されたIPアドレスが変更されたとき、その変更後のIPアドレスを含む接続情報が通信相手に送信して通知されるため、通信相手は、通知された変更後のIPアドレスに基づいて通信端末装置との間で双方向通信の通信経路を確立することができる。また、通信相手に通知される接続情報は当該通信端末装置に設定されたポート番号が含まれるので、通信相手は、通知されたポート番号に基づいて当該通信端末装置との間で双方通信の通信経路を確立することができる。
しかも、当該通信端末装置から通信相手に通知される接続情報に含まれるポート番号は、通信相手との双方向通信用に通信端末装置に設定された所定のポート番号である。そのため、通信端末装置から送信された接続情報が通信相手に到達するのが遅れ、通信端末装置にいったん設定された上記変更後のIPアドレスが別の通信端末装置に割り当てられた場合でも、その別の通信端末装置と通信相手との間で上記所定のポート番号に基づく双方向通信の通信経路は確立することができない。従って、上記接続情報を遅れて受信した通信相手が、意図しない別の通信端末との間で双方向通信を開始することができない。
よって、通信端末装置に設定されたIPアドレスが変更されたときに、変更後のIPアドレスに基づいて通信相手との間に双方向通信の通信経路を確立できるとともに、通信相手による意図しない通信を防止することができる。
なお、上記データ同期処理のための接続情報の通知を行った際に、その接続情報の通知を受けた通信端末装置側における意図しない通信を防止するために、次の(1)〜(3)のような対策を講じてもよい。
(1)通信端末装置10、15に新たなIPアドレスが払い出されたとき、その都度、双方向通信のためのソケットを開く際のポート番号を変更する。
(2)通信端末装置10、15で送受信される接続情報(IPアドレス及びポート番号)のデータを共通鍵又は公開鍵暗号化方式によって暗号化する。ここで、暗号化データの復号に失敗した場合や、ハッシュ値が合致しない場合には、不正な通信相手とみなし、処理を継続しない。また、通信相手にエラー応答を返す。
ここで、共通鍵または公開鍵は通信を行う通信端末装置10,15同士が近接している場合には近距離無線通信を利用し、通信端末装置10,15同士が離れている場合にはネットワークを利用したSMS等を利用する等の設定情報を、通信端末装置10,15間で予め交換しておくか、通信端末装置10,15にプリセットしておいてもよい。
また、暗号化鍵(共通鍵及び公開鍵)は、データ同期処理を行う複数の通信端末装置の全てで統一してもよいし、その複数の通信端末装置それぞれに対して別々のものを設定してもよい。いずれの場合も、各通信端末装置間で予め取り決めた暗号化鍵を利用して接続情報(IPアドレス及びポート番号)のデータを暗号化する。
(3)ID及びパスワードを用いた認証を利用したり併用したりして接続情報(IPアドレス及びポート番号)のデータを伝送する。IDやパスワードには通信端末装置に装着されたUSIM150内の情報や電話番号、MACアドレス、ICカード(NFC)の一意の識別情報(ID)、メールアドレスなどを利用してもよいし、さらに、これらのID及びパスワードを暗号化してもよい。
また、本実施形態によれば、通信相手との間に通信ネットワークを介した第1の通信経路又は近距離無線通信方式による第2の通信経路を確立することにより、通信ネットワーク上のサーバを介さずに通信相手との間でデータ同期処理を行うことができる。
しかも、通信相手との間のデータ同期処理に用いる通信経路として、通信ネットワークを介した第1の通信経路よりも近距離無線通信方式による第2の通信経路を優先して確立することにより、通信ネットワークにおける通信負荷を高めることなく、通信相手との間でデータ同期処理を行うことができる。
よって、通信ネットワーク上のサーバを介さずに且つ通信ネットワークにおける通信負荷を高めることなく、通信相手との間でデータ同期処理を行うことができる。
なお、上記実施形態において、通信端末装置10と通信相手の通信端末装置15との間のデータ同期処理において送受信されるデータそのものを暗号化してもよい。この場合、暗号化されたデータを受信した受信側の通信端末装置は、期待された所定のフォーマット(例えば電文形式)に復号化できるか否かに基づき、上記暗号化されたデータを送信した送信側の通信端末装置(又はその利用者)が正当な通信端末装置(又は正当な利用者)であるかを判断することができる。例えば、データ同期処理において、受信側の通信端末装置は、受信した暗号化済みのデータを期待された所定のフォーマット(例えば電文形式)に復号化できた場合は、送信側の通信端末装置(又はその利用者)が正当な通信端末装置(又は正当な利用者)であると判断できる。