以下、図1から11に基づいて、本発明の実施形態について説明する。以下実施形態1、2、3では、機器連携アプリのようにIPアドレスの設定がDHCPアドレス及びAutoIPアドレスのどちらの場合でも使用可能で、IPアドレスの設定手順としてまずDHCPアドレスの取得を試みこれに成功すればこのアドレスを用い、DHCPアドレスの取得に失敗した場合には次にAutoIPアドレスの設定を行う。そして、AutoIPアドレス設定後は、DHCPサーバの有無を定期的に確認し、DHCPサーバが見つかった場合は、IPアドレスをAutoIPアドレスからDHCPアドレスへと切り替えるという一連のIPアドレス取得方法を採用するアプリケーションと、インターネット電話やWebブラウザのようにIPアドレスの設定がDHCPアドレスである場合のみ使用可能なアプリケーションを搭載する通信機器において、アプリケーションが新規に通信コネクションを確立して他の通信機器と通信を開始する場合の通信開始までのユーザの待ち時間を最小限に抑えるための工夫について説明する。
(実施形態1)
実施形態1では、アプリケーションが新規に通信コネクションを確立して他の機器と通信を開始する場合の、通信開始までのユーザの待ち時間を最小限に抑えるためのIPアドレス取得方法の工夫について説明する。
まず、図1に本発明の実施形態1に係る通信端末装置の構成を示す。通信端末装置1は、図1(A)に示す回路構成のように、通信部11、制御部12、記憶部13、アプリケーション部14、表示部15、操作部16、電源部17、共通回路部18、バス10を備える。なお、通信端末装置1は専用の装置であってよいし、通信機能を備える汎用のコンピュータであってもよい。
通信部11は、アンテナ11aを介して送受信した信号に関する処理を行う変復調回路や通信プロトコルを実装する。なお、通信部11は、複数の無線アクセスに対応し複数の変復調回路や通信プロトコルを実装する構成としても良い。
制御部12は、CPU(Central Processing Unit)から構成され、記憶部13に格納された動作プログラムに従って、通信端末装置1の全体的な動作を制御する。制御部12は、機能的な構成として、通信処理制御部120とアドレス処理制御部121とを備える。
通信処理制御部120は、通信部11が備える無線通信部に通信機能の動作状態を変更する指示を与え、無線通信部の動作状態を、例えば、無線信号の送信、無線信号の受信、受信待機、等に制御する。
アドレス処理制御部121は、本発明に係わるIPアドレス取得のための機能を実行する。アドレス処理制御部121は、アドレス設定実行制御部1210、アドレス設定要求受信判定部1211、アドレス設定判定部1212、新規起動アプリ特定部1213、アドレス取得処理判定部1214、アドレス設定部1215、アドレス設定管理部1216、をさらに備える。
アドレス設定実行制御部1210は、アドレス処理制御部121全体の動作を制御し、通信端末装置1のIPアドレスの設定を行う。アドレス設定要求受信判定部1211は、通信処理制御部120より、通信端末装置1のIPアドレス設定要求の受信を待ち受ける。アドレス設定判定部1212は、後述するアドレス設定情報記憶領域130に格納される情報を参照して、通信端末装置1にIPアドレスが設定されているかどうかを判定する。新規起動アプリ特定部1213は、アプリケーション部14に格納されるアプリケーションの1つが新たに起動された際、そのアプリケーションを特定する。
アドレス取得処理判定部1214は、新規起動アプリ特定部1213によって特定されたアプリケーション情報を基に、アプリ・アドレス設定手段対応テーブル記憶領域131に格納されるアプリ・アドレス設定手段対応テーブルを参照して、IPアドレス取得のための処理シーケンスを判定する。アプリ・アドレス設定手段対応テーブルの説明は後述する。アドレス設定部1215は、DHCPアドレス取得シーケンス処理部12150と機器連携アプリ向けアドレス取得シーケンス処理部12151とを備え、アドレス取得処理判定部1214で判定された処理シーケンスを実行することでIPアドレスの取得を行う。
DHCPアドレス取得シーケンス処理部12150は、まずDHCPアドレスの取得を試みこれに成功すればこのアドレスを用い、DHCPアドレスの取得に失敗した場合にはIPアドレスの取得を終了するという、IPアドレス取得のための処理を実行する(以下、このアドレス取得手順をDHCPアドレス取得シーケンスと記載)。
機器連携アプリ向けアドレス取得シーケンス処理部12151は、まずDHCPアドレスの取得を試みこれに成功すればこのアドレスを用い、DHCPアドレスの取得に失敗した場合には次にAutoIPアドレスの設定を行う。そして、AutoIPアドレス設定後は、DHCPサーバの有無を定期的に確認し、DHCPサーバが見つかった場合は、IPアドレスをAutoIPアドレスからDHCPアドレスへと切り替えるという一連のIPアドレス取得のための処理を実行する(以下、この一連のIPアドレス取得手順を機器連携アプリ向けアドレス取得シーケンスと記載)。
なお、アドレス設定部1215に搭載されるIPアドレス取得シーケンスのための処理部は2つに限定する必要はなく、上記以外のIPアドレス取得シーケンスのための処理部を備えるようにしても良い。
アドレス設定管理部1216は、アドレス設定部1215によって設定される通信端末装置1のIPアドレス情報をアドレス設定情報記憶領域130に書き込んだり、アドレス設定情報記憶領域130から消去したりすることで、通信端末装置1のIPアドレス情報の管理を行う。
記憶部13は、フラッシュメモリなどの不揮発性メモリ、RAM(Random Access Memory)等から構成され、図3、5、7、9、11のフローチャートに示す処理を制御部12に実行させるためのプログラム等を記憶する。また、記憶部13は、制御部12のワークメモリとして機能する。
本発明で用いる記憶部13の各構成要素について、詳細を以下に後述する。記憶部13は、アドレス設定情報記憶領域130と、アプリ・アドレス設定手段対応テーブル記憶領域131を備える。
アドレス設定情報記憶領域130には、通信端末装置1に設定したIPアドレス情報が記憶されており、本IPアドレス情報を使用して通信端末装置1は他の通信機器とIP通信を行う。アプリ・アドレス設定手段対応テーブル記憶領域131は、図2(A)に示すアプリ・アドレス設定手段対応テーブル20を格納する記憶領域である。
アプリ・アドレス設定手段対応テーブル20は、インデックス番号200と、アプリケーション201と、アドレス取得処理シーケンス202と、の項目から構成される。インデックス番号200の項目は、アプリケーション201とアドレス取得処理シーケンス202を1つのグループとし、グループ毎に1から順番に割り当てられた番号である。アプリケーション201の項目は、アプリケーション部14で管理され、通信を行うアプリーション情報を列挙している。なお、図2のアプリケーション201で列挙するアプリケーションは一例である。アドレス取得処理シーケンス202の項目は、IPアドレス取得のためにアドレス設定部1215が実行する処理シーケンス情報を列挙している。
なお、図2(A)のアドレス取得処理シーケンス202で列挙する処理シーケンス情報は一例であり、IPアドレス取得のための処理シーケンスを提示できるのであれば、図2(B)に示すような他の表現を用いても本例と同様の効果を得ることが可能である。
図2(B)に示すアプリ・アドレス設定手段対応テーブル21は、インデックス番号200と、アプリケーション201と、アドレス取得処理シーケンス212と、の項目から構成される。インデックス番号200とアプリケーション201とは、図2(A)の説明で前述したものと同様である。アドレス取得処理シーケンス212の項目は、IPアドレス取得のためにアドレス設定部1215が実行する処理シーケンス情報を列挙している。
なお、図2(B)に示すアプリ・アドレス設定手段対応テーブル21を使用する場合、アドレス設定部1215は、図1(B)に示す構成とし、第1アドレス取得処理部12152と第2アドレス取得処理部12153とを備える。例えば、第1アドレス取得処理部12152はDHCPアドレスの取得処理を実行し、第2アドレス取得処理部12153はAutoIPアドレスの取得処理を実行する。
アプリ・アドレス設定手段対応テーブル20は、利便性向上のため、ユーザが操作部16で所定の操作をすることにより変更できるようにしても良い。
アプリケーション部14は、第1アプリケーション140と第2アプリケーション141とから構成される。
第1アプリケーション140は、IPアドレスの設定手順にDHCPアドレス取得シーケンスを採用するアプリケーションであり、例えばインターネット電話やWebブラウザである。また、第2アプリケーション141は、IPアドレスの設定手順にDHCPアドレス取得シーケンス以外の処理シーケンスを採用するアプリケーションであり、例えば機器連携アプリである。なお、アプリケーション部14で管理されるアプリケーショプログラムは上記2つに限定する必要はなく、他のアプリケーションを含め3つ以上格納する構成としても良い。
表示部15は、ドットマトリクスタイプのLCD(Liquid Crystal Display)、もしくは有機EL(Electro Luminescence)パネルとドライバ回路等とから構成され、任意の画像やテキストデータ等を表示する。
操作部16は、ユーザが指示やデータを入力するための各種のキー若しくはボタンを備え、制御部12への各種の指示やデータを入力する。また、操作部16には、通信端末装置1の電源をオン又はオフにするための電源ボタンが設けられている。
電源部17は、電源コントローラ170とバッテリ171とを備える。電源コントローラ170は、制御部12の電力供給制御部(図示せず)の制御指示に応じて、通信部11に動作用の電力を供給する。更に、電源コントローラ170は、電力供給制御部からの指示に従って、通信端末装置1の電源オン時には、通信端末装置1内の各構成要素に電力を供給する。また、電源オフ時には、制御部12と表示部15と操作部16に待機用の電力を供給する。
共通回路部18は、通信部11に共通する通信信号を処理する回路である。バス10は、制御部12、記憶部13、表示部15、の間で相互にデータを伝送する。
次に図3のフローチャートを参照して、本発明の実施形態1の動作について説明する。図3のフローチャートの処理は、通信端末装置1の制御部12におけるアドレス処理制御部121の動作について説明したものである。制御部12は、この処理を周期的に実行する。これは以下の図5、7、9、11に示す処理についても同様である。
まず、ステップS300において、アドレス設定要求受信判定部1211が、通信処理制御部120より、通信端末装置1のIPアドレス設定要求の待ち受けを行う(ステップS300)。アドレス設定要求受信判定部1211にて、IPアドレス設定要求の受信がないと判定された場合(ステップS300;No)、ステップS300に戻り、再び通信処理制御部120からのIPアドレス設定要求の受信待ちを行う。
一方、アドレス設定要求受信判定部1211にて、IPアドレス設定要求の受信があると判定された場合(ステップS300;Yes)、ステップS301に遷移し、アドレス設定判定部1212は、アドレス設定情報記憶領域130に格納される情報を参照して、通信端末装置1にIPアドレスが設定されたか否かを判定する(ステップS301)。
そして、アドレス設定判定部1212にて、IPアドレスが設定されていないと判定された場合(ステップS301;No)、ステップS302に遷移する。
一方、アドレス設定判定部1212にて、IPアドレスが設定されていると判定された場合(ステップS301;Yes)、図5のステップS500に遷移する。ステップS500へ遷移後のフローの説明は実施形態2にて詳細を説明する。
ステップS302では、新規起動アプリ特定部1213は、アプリケーションが起動された際、その起動されたアプリケーションを特定する(ステップS302)。
なお、起動されたアプリケーションを特定する際、全てのアプリケーションを判別する構成にしても良いし、特定のアプリケーションのみを判別するように構成しても良い。ここでいう特定のアプリケーションとは、例えば機器連携アプリのようなIPアドレスの設定手順にDHCPアドレス取得シーケンス以外の処理シーケンスを採用するアプリケーションのことである。
起動されたアプリケーション情報特定後、アドレス取得処理判定部1214は、新規起動アプリ特定部1213によって特定されたアプリケーション情報を基に、アプリ・アドレス設定手段対応テーブル記憶領域131に格納されるアプリ・アドレス設定手段対応テーブル20を参照して、IPアドレス取得のための処理シーケンスを判定する。ここでは、IPアドレス取得のための処理シーケンスが機器連携アプリ向けアドレス取得シーケンスであるか否かを判定している(ステップS303)。なお、この場合前述したアプリ・アドレス設定手段対応テーブル21を参照し判定しても良い。
アドレス取得処理判定部1214により、IPアドレス取得のための処理シーケンスが機器連携アプリ向けアドレス取得シーケンスであると判定された場合(ステップS303;Yes)、ステップS304に遷移する。そして、アドレス設定部1215に属する機器連携アプリ向けアドレス取得シーケンス処理部12151はIPアドレス取得処理を実行する(ステップS304)。
一方、IPアドレス取得のための処理シーケンスがDHCPアドレス取得シーケンスであると判定された場合(ステップS303;No)、ステップS305に遷移する。ステップS305にて、アドレス設定部1215に属するDHCPアドレス取得シーケンス処理部12150はIPアドレス取得処理を実行する。
以上、本実施形態1に示す発明を用いることで、アプリケーションに応じて適当なIPアドレス取得処理を実行可能なため、アドレスの設定に要する時間が無駄に長くなり、アプリを起動してから通信を開始するまでのユーザの待ち時間が長くなることを防ぐことが可能である。また、副次的効果として、インターネット電話やWebブラウザ等のアプリケーションが、機器連携アプリで採用される機器連携アプリ向けアドレス取得シーケンスを実行しないので、無駄な送受信電力を消費せずに済む。
(実施形態2)
実施形態2では、機器連携アプリを使用して他の通信機器と通信している最中に、IPアドレス取得のための処理シーケンスにDHCPアドレス取得シーケンスを採用するインターネット電話やWebブラウザのようなアプリケーションがユーザによって起動された場合において、IPアドレス取得方法にDHCPアドレス取得シーケンスを採用するインターネット電話やWebブラウザといったアプリケーションが通信を開始するまでのユーザの待ち時間を最小限に抑えるためのIPアドレス取得方法の工夫について説明する。
まず、図4に本発明の実施形態2に係る通信端末装置1の構成を示す。図4に示す実施形態2の通信端末装置は、図1に示すアドレス処理制御部121と記憶部13とを変更した構成となる。なお、図1と同様の構成には同じ番号を付し、ここでは説明を省略する。
実施形態2のアドレス処理制御部421は、本発明に係わるIPアドレス取得のための機能を実行する。アドレス処理制御部421は、上述したアドレス設定実行制御部1210、アドレス設定要求受信判定部1211、アドレス設定判定部1212、新規起動アプリ特定部1213、アドレス取得処理判定部1214、アドレス設定部1215、アドレス設定管理部1216に加えて、アドレス設定種別判定部4217、DHCPポーリング間隔情報取得部4218、起動中アプリ判定部4219、アドレス取得処理実行停止部4220、DHCPポールング間隔判定部4221、アドレス設定表示制御部4222、起動中アプリ管理部4223、を備える。
アドレス設定実行制御部1210、アドレス設定要求受信判定部1211、アドレス設定判定部1212、新規起動アプリ特定部1213、アドレス取得処理判定部1214、アドレス設定部1215、アドレス設定管理部1216の詳細は前述した通りである。
アドレス設定種別判定部4217は、アドレス設定情報記憶領域130を参照して、通信端末装置に設定されているIPアドレスが、AutoIPアドレスなのかDHCPアドレスなのかを判定する。
DHCPポーリング間隔情報取得部4218は、後述するDHCPポーリング間隔情報記憶領域433を参照して、機器連携アプリがAutoIPアドレス設定後に行うDHCPサーバのポーリング処理の実行間隔情報を取得する。起動中アプリ判定部4219は、後述する起動中アプリ情報記憶領域432を参照して、起動しているアプリケーションが機器連携アプリであるかどうかを判定する。
アドレス取得処理実行停止部4220は、アドレス設定部1215を用いたアドレス設定処理の実行を停止する。DHCPポーリング間隔判定部4221は、機器連携アプリがAutoIPアドレス設定後に行うDHCPサーバのポーリング処理の実行間隔が任意の閾値と比較して、大きいか小さいかの判定を行う。アドレス設定表示制御部4222は、新たに起動された通信アプリケーションが利用できない場合、その旨を、表示部15を介してユーザに通知するための表示処理制御を行う。
起動中アプリ管理部4223は、アプリケーション部14に格納されるアプリケーションが起動している場合は、そのアプリケーション情報を起動中アプリ情報記憶領域432に書き込んだり、アプリケーションが停止している場合は、起動中アプリ情報記憶領域432から消去したりすることで、起動中のアプリケーションの管理を行う。
記憶部43は、上述したアドレス設定情報記憶領域130、アプリ・アドレス設定手段対応テーブル記憶領域131に加えて、起動中アプリ情報記憶領域432、DHCPポーリング間隔情報記憶領域433、を備える。
アドレス設定情報記憶領域130とアプリ・アドレス設定手段対応テーブル記憶領域131との詳細は前述した通りである。
起動中アプリ情報記憶領域432は、アプリケーション部14で管理され、かつ通信部11を使用するアプリケーションの中で、起動中のアプリケーション情報を格納する記憶領域である。
DHCPポーリング間隔情報記憶領域433は、機器連携アプリがAutoIPアドレス設定後に行うDHCPサーバのポーリング処理の実行間隔情報を格納する記憶領域である。
次に図3、図5のフローチャートを参照して、本発明の実施形態2の動作について説明する。図5のフローチャートの処理は、通信端末装置1のアドレス処理制御部421の動作について説明したものである。なお、図3のステップS300とステップS301に関しては、実施形態1で述べた処理と同様であるため説明を省略する。
アドレス設定判定部1212にて、IPアドレスが設定されていると判定された場合(ステップS301;Yes)、図5のステップS500に遷移する。
ステップS500に遷移後、起動中アプリ判定部4219は、起動中アプリ情報記憶領域432を参照して、起動中のアプリケーションがある場合はそれが機器連携アプリであるかどうかを判定する(ステップS500)。起動中アプリ判定部4219にて、起動中のアプリケーションが機器連携アプリでないと判定された場合(ステップS500;No)、処理を終了する。
起動中アプリ判定部4219にて、起動中のアプリケーションが機器連携アプリであると判定された場合(ステップS500;Yes)、ステップS501に遷移し、新規起動アプリ特定部1213が、アプリケーションが起動された際、その起動されたアプリケーションを特定する(ステップS501)。
なお、起動されたアプリケーションを特定する際、全てのアプリケーションを判別する構成にしても良いし、特定のアプリケーションのみを判別するように構成しても良い。ここでいう特定のアプリケーションとは、例えば機器連携アプリのようなIPアドレスの設定手順にDHCPアドレス取得シーケンス以外の処理シーケンスを採用するアプリケーションのことである。
起動されたアプリケーション情報特定後、ステップS502にて、アドレス取得処理判定部1214は、新規起動アプリ特定部1213によって特定されたアプリケーション情報を基に、アプリ・アドレス設定手段対応テーブル記憶領域131に格納されるアプリ・アドレス設定手段対応テーブル20を参照して、IPアドレス取得のための処理シーケンスを判定する(ステップS502)。なお、この場合前述したアプリ・アドレス設定手段対応テーブル21を参照し判定しても良い。アドレス取得処理判定部1214にて、IPアドレス取得のための処理シーケンスがDHCPアドレス取得シーケンスでないと判定された場合(ステップS502;No)、処理を終了する。
アドレス取得処理判定部1214にて、IPアドレス取得のための処理シーケンスがDHCPアドレス取得シーケンスであると判定された場合(ステップS502;Yes)、ステップS503に遷移する。そしてステップS503に遷移し、アドレス設定種別判定部4217が、アドレス設定情報記憶領域130を参照して、通信端末装置1に設定されているIPアドレスがAutoIPアドレスであるかどうかを判定する(ステップS503)。
アドレス設定種別判定部4217にて、通信端末装置1に設定されているIPアドレスがAutoIPアドレスであると判定された場合(ステップS503;Yes)、ステップS504に遷移し、DHCPポーリング間隔情報取得部4218は、DHCPポーリング間隔情報記憶領域433を参照して、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理の実行間隔情報を取得する(ステップS504)。
そして、ステップS505にて、DHCPポーリング間隔判定部4221は、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理の実行間隔が任意の閾値TDhcpPollingと比較して、大きいか小さいかの判定を行う(ステップS505)。
DHCPポーリング間隔判定部4221にて、DHCPサーバのポーリング処理の実行間隔が0より大きく、任意の閾値TDhcpPolling未満であると判定された場合(ステップS505;Yes)、ステップS506に遷移して、アドレス取得処理実行停止部4220は、アドレス設定部1215を用いたアドレス設定処理の実行を停止する(ステップS506)。
その後、ステップS507にて、アドレス設定表示制御部4222は表示部15を制御することで、新たに起動された通信アプリケーションが利用できない旨をユーザに対して通知する(ステップS507)。
一方、DHCPポーリング間隔判定部4221にて、DHCPサーバのポーリング処理の実行間隔が0以下、もしくは任意の閾値TDhcpPolling以上であると判定された場合(ステップS505;No)、ステップS508に遷移して、アドレス設定部1215に属する機器連携アプリ向けアドレス取得シーケンス処理部12151は、DHCPアドレス取得シーケンスに従ったIPアドレス取得処理を実行する(ステップS508)。
以上、本実施形態2に示す発明を用いることで、機器連携アプリがAutoIPアドレスで通信している最中に、インターネット電話やWebブラウザのようなDHCPアドレス取得シーケンスを採用するアプリケーションがユーザによって起動された場合、インターネット電話やWebブラウザを利用するためのDHCPアドレス取得シーケンスに従ったIPアドレス取得処理(以下、DHCPアドレス取得処理)を試行せずに、ユーザに対して新たに起動されたインターネット電話やWebブラウザアプリケーションが利用できない旨を即通知することができるため、通信開始までのユーザの待ち時間を最小限に抑えることが可能となる。また、副次的効果として、新たに起動されたインターネット電話やWebブラウザアプリケーションはDHCPアドレス取得処理を実行しないので、IPアドレス取得のための無駄な送受信電力を消費せずに済む。
なお、インターネット電話やWebブラウザアプリケーションを利用するためのDHCPアドレス取得処理を試行しないのは、先に起動中の機器連携アプリが定期的に実施しているDHCPサーバのポーリング処理によって、インターネット電話やWebブラウザアプリケーションのDHCPアドレス取得処理を代用するためである。
更に実施形態2では、機器連携アプリが実施しているDHCPサーバのポーリング処理実行間隔が任意の値(TDhcpPolling)より大きくなってしまう場合、言い換えるとDHCPサーバの探索をある一定期間以上実行していない場合、DHCPサーバがネットワークに存在する可能性が高くなる。それにより、DHCPサーバのポーリング処理をインターネット電話やWebブラウザアプリケーションのDHCPアドレス取得処理に代用できなくなってしまうことを考慮に入れている。
しかし、DHCPサーバ探索の処理結果の信頼性が劣化することを許容できるのであれば、図5の処理フローのステップS504とステップS505を省略しても構わない。なお、ステップS504とステップS505の処理を省略する場合、通信端末装置1の構成から、アドレス処理制御部421のDHCPポーリング間隔情報取得部4218、DHCPポーリング間隔判定部4221と、記憶部43のDHCPポーリング間隔情報記憶領域433、を削除することができる。
(実施形態3)
実施形態3では、機器連携アプリが通信している最中のIPアドレス取得方法の工夫について説明する。まず、図6に本発明の実施形態3に係る通信端末装置の構成を示す。
図6に示す実施形態3の通信端末装置は、図1に示すアドレス処理制御部121と記憶部13を変更した構成となる。なお、図1と同様の構成には同じ番号を付しここでは説明を省略する。
アドレス処理制御部621は、本発明に係わるIPアドレス取得のための機能を実行する制御部であり、アドレス設定実行制御部1210、アドレス設定種別判定部4217、機器連携アプリ通信開始判定部6211、機器連携アプリ通信完了判定部6212、DHCPポーリング処理停止部6213、DHCPポーリング処理再開部6214、を備える。アドレス設定実行制御部1210とアドレス設定種別判定部4217は前述したものと同様である。
機器連携アプリ通信開始判定部6211は、通信処理制御部120を監視して機器連携アプリが通信を開始したかどうかの判定を行う。機器連携アプリ通信完了判定部6212は、通信処理制御部120を監視して機器連携アプリが通信を終了したかどうかの判定を行う。
DHCPポーリング処理停止部6213は、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理の停止を制御する。DHCPポーリング処理再開部6214は、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理の再開を制御する。
記憶部13はアドレス設定情報記憶領域130を備える。アドレス設定情報記憶領域130の詳細は前述したものと同様である。
次に図7のフローチャートを参照して、本発明の実施形態3について説明する。
図7のフローチャートの処理は、通信端末装置1のアドレス処理制御部621の動作について説明したものである。
まず、ステップS700において、機器連携アプリ通信開始判定部6211は、通信処理制御部120を監視して、機器連携アプリが通信を開始したかどうかの判定を行う。機器連携アプリ通信開始判定部6211にて、機器連携アプリが通信を開始していないと判定された場合(ステップS700;No)、ステップS700に戻り、再び通信処理制御部120を監視して、機器連携アプリが通信を開始したかどうかの判定を行う。
一方、機器連携アプリ通信開始判定部6211にて、機器連携アプリが通信を開始したと判定された場合(ステップS700;Yes)、ステップS701に遷移して、アドレス設定種別判定部4217が、アドレス設定情報記憶領域130を参照して通信端末装置1に設定されているIPアドレスがAutoIPアドレスであるかどうかを判定する(ステップS701)。通信端末装置1に設定されているIPアドレスがAutoIPアドレスでないと判定された場合(ステップS701;No)、処理を終了する。
アドレス設定種別判定部4217にて、通信端末装置1に設定されているIPアドレスがAutoIPアドレスであると判定された場合(ステップS701;Yes)、ステップS702に遷移して、DHCPポーリング処理停止部6213は、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理を停止する(ステップS702)。
そして、ステップS703において、機器連携アプリ通信完了判定部6212は、通信処理制御部120を監視して、機器連携アプリが通信を完了したかどうかの判定を行う。機器連携アプリ通信完了判定部6212にて、機器連携アプリが通信を完了していないと判定された場合(ステップS703;No)、ステップS703に戻り、通信処理制御部120を監視して再び機器連携アプリが通信を完了したかどうかの判定を行う。
一方、機器連携アプリ通信完了判定部6212にて、機器連携アプリが通信を完了したと判定された場合(ステップS703;Yes)、ステップS704に遷移して、DHCPポーリング処理再開部6214は、機器連携アプリがAutoIPアドレス設定後に実施するDHCPサーバのポーリング処理を再開する(ステップS704)。
以上、本実施形態3で示したように、機器連携アプリがAutoIPアドレスを使用して通信を実施している期間中は、DHCPサーバのポーリング処理を停止し、通信が完了した際、DHCPサーバのポーリング処理を再開する。これにより、DHCPサーバのポーリング処理によって通信中の処理パフォーマンスが低下してしまうことを防止できる。また、通信中にIPアドレス設定がAutoIPアドレスからDHCPアドレスに切替わり、通信途中で通信コネクションが切断されてしまうのを防止することが可能となる。
また、実施形態3の工夫以外に、機器連携アプリがAutoIPアドレスで通信を実施している期間中は、DHCPサーバのポーリング処理間隔を拡大し、通信が完了した際、DHCPサーバのポーリング処理間隔を縮小するようにしても良い。そうすることで、上記同様、DHCPサーバのポーリング処理よって通信中の処理パフォーマンスが低下してしまうことを防止できる。
以下実施形態4、5では、機器連携アプリ向けアドレス取得シーケンスを実行処理することでIPアドレスの設定を行う機器連携アプリを搭載する通信機器において、機器連携アプリが他の通信機器と通信して当該他の通信機器に格納されているコンテンツを受信している最中に、通信コネクションが瞬断された場合や、IPアドレスが変更された場合に、通信コネクションを再確立して通信を再開するときの、通信開始までのユーザの待ち時間を最小限に抑えることが可能な通信機器を提供するものである。
(実施形態4)
実施形態4では、アプリケーションが他の機器と通信している最中に、通信コネクションが瞬断されたりIPアドレスが変更されたため、通信コネクションを再確立して通信を再開するような場合において、通信再開までのユーザの待ち時間を最小限に抑える通信再開方法の工夫について説明する。
ここでいうアプリケーションとは、コンテンツを格納するサーバ機器と通信を行い、コンテンツの受信を行う機器連携アプリを示すものとする。一方、ここでいう他の機器とは、コンテンツを格納できるサーバ機器を示すものとする。
まず、図8に本発明の実施形態4に係る通信端末装置の構成を示す。通信端末装置1は、図8に示す回路構成のように、通信部11、制御部12、記憶部83、アプリケーション部14、表示部15、操作部16、電源部17、共通回路部18、バス10を備える。なお、本実施形態で、図1とは異なる処理部を備える制御部12、記憶部83についてのみ説明することとする。そして、図1と同様の構成については、同じ番号を付し説明を省略する。
制御部12は通信処理制御部120、アドレス処理制御部821、機器連携通信処理制御部822、を備える。通信処理制御部120の詳細は前述した通りである。
アドレス処理制御部821は、本発明に係わるIPアドレス取得のための機能を実行する制御部であり、アドレス設定実行制御部1210、アドレス設定判定部1212、アドレス設定部1215を備える。それぞれの処理部の詳細については実施形態1と同様である。
機器連携通信処理制御部822は、本発明に関わる機器連携アプリの通信処理のための機能を実行する制御部であり、機器連携アプリ通信開始判定部8211、機器連携アプリ通信切断判定部8212、レジューム情報記憶処理部8213、中断箇所情報記憶処理部8214、サーバ側MACアドレス情報抽出・記憶処理部8215、機器連携コンテンツ受信完了判定部8216、サーバ側アドレス問い合わせ処理部8217、サーバ側アドレス情報受信判定部8218、コンテンツレジューム取得要求部8219、サーバ一覧取得処理制御部8220を備える。
機器連携アプリ通信開始判定部8211は、通信処理制御部120を監視して機器連携アプリが通信を開始したかどうかの判定を行う。機器連携アプリ通信切断判定部8212は、通信処理制御部120を監視して、機器連携アプリで使用する通信コネクションが切断されたかどうかの判定を行う。
レジューム情報記憶処理部8213は、サーバ機器から受信しているコンテンツの受信再開処理を行うためのコンテンツ情報を、後述するレジューム情報記憶領域832に格納する。ここでいうコンテンツ情報とは、サーバ機器内のコンテンツの格納場所を表すURI(Uniform Resource Identifier)情報を表し、コンテンツの受信を途中から再開する際に必要となる情報である。
中断箇所情報記憶処理部8214は、サーバ機器から受信しているコンテンツの受信再開処理を行うための中断箇所情報を、後述する中断箇所情報記憶領域833に格納する。ここでいう中断箇所情報とは、他の通信機器と通信が切断された時点で、受信コンテンツの全コンテンツサイズもしくは全コンテンツ時間に対してどこまでコンテンツ受信が完了しているかを、コンテンツサイズ(byte)または時間情報(msec)で表したものである。
サーバ側MACアドレス情報抽出・記憶処理部8215は、これまでサーバ機器とやり取りした通信フレームからサーバ機器のMACアドレスを抽出し、それを後述するサーバ側MACアドレス情報記憶領域834に記憶する。
機器連携コンテンツ受信完了判定部8216は、通信処理制御部120を監視して、機器連携アプリによるコンテンツの受信が正常に完了したかどうかの判定を行う。サーバ側アドレス問い合わせ処理部8217は、サーバ機器のIPアドレス情報をネットワークに問い合わせる。
サーバ側アドレス情報受信判定部8218は、サーバ機器のIPアドレス情報を受信したかどうか判定する。コンテンツレジューム取得要求部8219は、レジューム情報記憶領域832に格納されるコンテンツ情報と、中断箇所情報記憶領域833に格納される中断箇所情報と、を利用してコンテンツ受信が中断された箇所から再びコンテンツを取得するための要求をサーバ機器に送信する。
サーバ一覧取得処理制御部8220は、通信端末装置1が所属するネットワーク上に存在している全てのサーバ機器一覧を取得する処理部を制御する。サーバ一覧取得処理制御部8220は、サーバ一覧取得処理部82220、サーバ一覧表示制御部82221、サーバ情報取得処理部82222を備える。
サーバ一覧取得処理部82220は、ネットワーク上にUPnPに準拠したサーバ機器(以下、UPnP対応サーバ機器と記載)が存在しているかどうかを検出するための処理制御を行う。具体的には、同一ネットワーク上にUPnP対応サーバ機器が存在しているかどうかを検出するための存在告知要求(M−Search)をUDPパケットとしてマルチキャスト送信処理する制御と、それに対するレスポンスの受信処理制御を行う。また、サーバ機器自身がネットワーク上に存在していることをネットワークに通知するため、UPnP対応サーバ機器よりUDPパケットとしてマルチキャスト送信される機器存在告知(Notify)の受信処理制御も同時に行う。
サーバ一覧表示制御部82221は、ネットワーク上に存在するUPnP対応サーバ機器の一覧を、表示部15を介してユーザに通知するための表示処理制御を行う。サーバ情報取得処理部82222は、ネットワーク上のUPnP対応サーバ機器より、その機器のデバイス情報や、その機器によって提供されるサービス情報を記載するディスクリプションドキュメントの取得処理制御を行う。
記憶部83は、アドレス設定情報記憶領域130、アプリ・アドレス設定手段対応テーブル記憶領域131、レジューム情報記憶領域832、中断箇所情報記憶領域833、サーバ側MACアドレス情報記憶領域834を備える。アドレス設定情報記憶領域130とアプリ・アドレス設定手段対応テーブル記憶領域131の詳細は前述した通りである。
レジューム情報記憶領域832は、通信中断以前にUPnP対応サーバ機器から受信していたコンテンツのレジューム処理を行うためのコンテンツ情報(前述)を格納する記憶領域である。中断箇所情報記憶領域833は、サーバ機器から受信しているコンテンツの受信再開処理を行うための中断箇所情報(前述)を格納する記憶領域である。サーバ側MACアドレス情報記憶領域834は、通信中断以前に通信していたサーバ機器のMACアドレス情報を格納する記憶領域である。
次に図9のフローチャートを参照して、本発明の実施形態4について説明する。
図9のフローチャートの処理は、通信端末装置1のアドレス処理制御部821と機器連携通信処理制御部822との動作について説明したものである。
まずステップS900において、機器連携アプリ通信開始判定部8211が、通信処理制御部120を監視して機器連携アプリが通信を開始したかどうかの判定を行う(ステップS900)。
機器連携アプリ通信開始判定部8211にて、機器連携アプリが通信を開始していないと判定された場合(ステップS900;No)、ステップS900に戻り、再び通信処理制御部120を監視して、機器連携アプリが通信を開始したかどうかの判定を行う。一方、機器連携アプリ通信開始判定部8211にて、機器連携アプリが通信を開始したと判定された場合(ステップS900;Yes)、ステップS901に遷移して、アドレス設定判定部1212は、アドレス設定情報記憶領域130に格納される情報を参照して通信端末装置1にIPアドレスが設定され、それがAutoIPアドレスであるかどうかを判定する(ステップS901)。
アドレス設定判定部1212にて、通信端末装置1のIPアドレス設定がAutoIPアドレスでないと判定された場合(ステップS901;No)、本シーケンスを終了する。一方、アドレス設定判定部1212にて、通信端末装置1のIPアドレス設定がAutoIPアドレスであると判定された場合(ステップS901;Yes)、ステップS902に遷移し、サーバ側MACアドレス情報抽出・記憶部8215はこれまでサーバ機器とやり取りした通信フレームからサーバ機器のMACアドレスを抽出し、それをサーバ側MACアドレス情報記憶領域834に記憶する(ステップS902)。
そして、ステップS903にて、レジューム情報記憶部8213はサーバ機器から受信しているコンテンツのレジューム処理を実行できるようにするためのコンテンツ情報をレジューム情報記憶領域832に格納する(ステップS903)。
続いてステップS904にて、機器連携アプリ通信切断判定部8212は通信処理制御部120を監視して、機器連携アプリの通信コネクションが切断されたかどうかの判定を行う(ステップS904)。
機器連携アプリ通信切断判定部8212にて、機器連携アプリの通信コネクションが切断されていないと判定された場合(ステップS904;No)、ステップS904に戻り、再び通信処理制御部120を監視して、機器連携アプリの通信コネクションが切断されたかどうかの判定を行う。なお、所定時間通信コネクションが切断されなければ、処理を終える。
一方、機器連携アプリ通信切断判定部8212にて、機器連携アプリの通信コネクションが切断されたと判定された場合(ステップS904;Yes)、ステップS905に遷移して、中断箇所情報記憶処理部8214は、サーバ機器から受信していたコンテンツのレジューム処理を実行できるようにするための中断箇所情報を、中断箇所情報記憶領域833に格納する(ステップS905)。
そして、ステップS906にて、アドレス設定部1215はアプリ・アドレス設定手段対応テーブル記憶領域131を参照してIPアドレスの再取得処理を行い(ステップS906)。その後、ステップS907へ遷移する。なお、ステップS906処理後、ステップS1100へ遷移する場合の処理フローの説明は実施形態5にて説明する。
ステップS907へ遷移後、サーバ側アドレス問い合わせ処理部8217はサーバ機器のIPアドレス情報をネットワークに問い合わせる(ステップS907)。サーバ機器のIPアドレス情報の問い合わせ方法として、例えば、サーバ側MACアドレス情報記憶領域834にて格納されるサーバ機器のMACアドレス情報を用い、RARP(Reverse ARP)でサーバ機器のIPアドレスを解決する方法が使用される。
また、前述したM−Searchの送信、ないしNotifyの受信を用いて解決するようにしても良い。この場合は、M−Searchのレスポンス、またはNotifyに含まれるサーバ機器のuuid情報を参照することで、中断前に通信していたサーバ機器と一致しているかどうかの判定を行う。更に、RARPとM−Searchの送信を同時に行い、加えてNotifyの受信待ちも同時に行うようにしても良い。そして最も早く受信したフレーム情報を用いることで、より迅速にサーバ機器のIPアドレスを解決することが可能となる。
その後、ステップS908にて、サーバ側アドレス情報受信判定部8218は、サーバ機器のIPアドレス情報を受信したかどうか判定する(ステップS908)。サーバ側アドレス情報受信判定部8218にて、IPアドレス情報を受信していないと判定された場合(ステップS908;No)、ステップS908に戻り、再びサーバ機器のIPアドレス情報を受信したかどうかの判定を行う。
一方、サーバ側アドレス情報受信判定部8218にて、IPアドレス情報を受信していると判定された場合(ステップS908;Yes)、ステップS909に遷移して、コンテンツレジューム取得要求部8219は、レジューム情報記憶領域832に格納されるコンテンツ情報と中断箇所情報記憶領域833に格納される中断箇所情報とを用い、中断箇所からコンテンツをレジュームするための要求を、ステップS908で受信したサーバ機器のIPアドレス情報を使用してサーバ機器に送信する(ステップS909)。
そして、サーバ機器との通信再開後、ステップS910にて、機器連携コンテンツ受信完了判定部8216は、通信処理制御部120を監視して、機器連携アプリがコンテンツ受信を完了したかどうかの判定を行う(ステップS910)。
機器連携コンテンツ受信完了判定部8216にて、コンテンツの受信が完了していないと判定された場合(ステップS910;No)、ステップS910に戻り、再び通信処理制御部120を監視して、機器連携アプリがコンテンツの受信を完了したかどうかの判定を行う。
一方、機器連携コンテンツ受信完了判定部8216にて、コンテンツの受信が完了したと判定された場合(ステップS910;Yes)、ステップS911に遷移し、サーバ一覧取得処理部82220は、M−Search送信処理、及びNotify受信処理のための処理制御を行う(ステップS911)。そして、ステップS912にて、サーバ情報取得処理部82222は、ステップS911で探索したUPnP対応サーバ機器それぞれに対して、ディスクリプションドキュメントの取得処理制御を行う(ステップS912)。
その後、ステップS913にて、サーバ一覧表示制御部82221は、ステップS911で探索したネットワーク上に存在するUPnP対応サーバ機器の一覧を、表示部15を介してユーザに通知するための表示処理制御を行う(ステップS913)。
以上、本実施形態4に示す発明を用いることで、機器連携アプリがサーバ機器よりコンテンツを受信している最中に、通信コネクションが瞬断されたりIPアドレスが変更されてしまい、通信コネクションを再確立してレジューム処理を行う場合、通信コネクション切断後、サーバ機器に新たに割り当てられたIPアドレス情報を迅速に取得することができる。そして、事前に記憶したコンテンツ情報や中断箇所情報を用いてレジューム処理を実行することができる。また、通信再開までのユーザの待ち時間を最小限に抑えることが可能となる。
なお、ステップS901にて、通信端末装置1のIPアドレス設定がAutoIPアドレスであるかどうかを判定している理由は、機器連携アプリは前述の通り、AutoIP設定後にDHCPサーバのポーリング処理を実施するため、AutoIPアドレスを使用してUPnP対応サーバ機器とコンテンツの送受信を行っている場合、通信中にAutoIPアドレスからDHCPアドレスへとIPアドレスが変更になる可能性がある。本実施例はそのようにIPアドレス設定がAutoIPアドレスからDHCPアドレスへと切替わることによって発生する通信中断を考慮した実施形態である。従って、通信端末装置1のIPアドレス設定がAutoIPアドレスである場合に、ステップS902以降の処理を実行するようにしている。
なお、図8の通信端末装置1の構成からアドレス設定判定部1212を削除し、ステップS901の処理をスキップするようにしても良い。そうすることで、無線ネットワークの電波環境が劣化した等の理由から通信コネクションが切断されてしまうことによって発生する通信中断にも本実施形態を適用することができるようになる。また、IPアドレス設定がDHCPアドレスである場合の通信中断にも本実施形態を適用することができるようになる。
(実施形態5)
実施形態5では、実施形態4同様、通信再開までのユーザの待ち時間を最小限に抑える通信再開方法の工夫について説明する。
まず、図10に本発明の実施形態5に係る通信端末装置の構成を示す。
図10に示す通信端末装置1は、図8に示す機器連携通信処理制御部822と記憶部83の処理部を変更した構成となる。なお、図8と同様の構成には同じ番号を付し、ここでは説明を省略する。
DLNA通信処理制御部1022は、本発明に関わる機器連携アプリの通信処理のための機能を実行する制御部であり、機器連携アプリ通信開始判定部8211、機器連携アプリ通信切断判定部8212、レジューム情報記憶処理部8213、中断箇所情報記憶処理部8214、機器連携コンテンツ受信完了判定部8216、サーバ側アドレス情報受信判定部8218、コンテンツレジューム取得要求部8219、サーバ一覧取得処理制御部8220、サーバ情報取得処理実行再開部10220、サーバ情報取得処理実行停止部10221、返信サーバアドレス情報記憶処理部10222、サーバ返信受信判定部10223を備える。
本実施形態では、これまでに説明していないサーバ情報取得処理実行再開部10220、サーバ情報取得処理実行停止部10221、返信サーバアドレス情報記憶処理部10222、サーバ返信受信判定部10223についてのみ詳細を説明する。その他の構成は、上述したものと同様である。
サーバ情報取得処理実行再開部10220は、サーバ情報取得処理部82222に対して、ネットワーク上のUPnP対応サーバ機器のディスクリプションドキュメントを取得するための処理の再開を指示する。
サーバ情報取得処理実行停止部10221は、サーバ一覧取得処理部82220に対して、ネットワーク上のUPnP対応サーバ機器のディスクリプションドキュメントを取得するための処理の停止を指示する。
返信サーバアドレス情報記憶処理部10222は、サーバ一覧取得処理部82220によって探索されたネットワーク上に存在するUPnP対応サーバ機器のIPアドレス情報を後述する返信サーバアドレス情報記憶領域1034に記憶する。
サーバ返信受信判定部10223は、ネットワーク上にUPnP対応サーバ機器が存在しているかどうかを調べるためのM−Searchに対するレスポンス、もしくはサーバ機器からのNotifyを受信したかどうかの判定を行う。そして、サーバ一覧取得処理部82220によって探索されたUPnP対応サーバ機器が、通信中断以前に通信していたサーバ機器と一致しているかどうかの判定処理を行う。
記憶部103は、アドレス設定情報記憶領域130、アプリ・アドレス設定手段対応テーブル記憶領域131、レジューム情報記憶領域832、中断箇所情報記憶領域833、返信サーバアドレス情報記憶領域1034、を備える。
アドレス設定情報記憶領域130、アプリ・アドレス設定手段対応テーブル記憶領域131、レジューム情報記憶領域832、中断箇所情報記憶領域833の詳細は前述した通りである。
返信サーバアドレス情報記憶領域1034は、サーバ一覧取得処理部82220によって探索されたネットワーク上に存在するUPnP対応サーバ機器のIPアドレス情報を格納する記憶領域である。
次に図9と図11のフローチャートを参照して、本発明の実施形態5について説明する。図9と11のフローの処理は、通信端末装置1のアドレス処理制御部821と、DLNA通信処理制御部1022の動作について説明したものである。
なお、図9のステップS900からステップS906までの処理に関しては実施形態4で述べた処理と同様であるため、説明を省略する。ステップS906にて、アドレス設定部1215はアプリ・アドレス設定手段対応テーブル記憶領域131を参照してIPアドレスの再取得処理を行い(ステップS906)、図11のステップS1100へ遷移する。
ステップS1100へ遷移後、サーバ一覧取得処理部82220はM−Search送信、及びNotify受信のための処理を行う(ステップS1100)。そして、サーバ返信受信判定部10223はM−Searchに対するレスポンスか、サーバ機器より送信されるNotifyのどちらかを受信したかどうかの判定を行う(ステップS1101)。
サーバ返信受信判定部10223にて、M−Searchに対するレスポンスか、サーバ機器より送信されるNotifyのどちらかを受信していないと判定された場合(ステップS1101;No)、ステップS1101に戻り、サーバ返信受信判定部10223はM−Searchに対するレスポンスか、サーバ機器より送信されるNotifyのどちらかを受信したかどうかの判定を再度行う。
一方、サーバ返信受信判定部10223にて、M−Searchに対するレスポンスか、サーバ機器より送信されるNotifyのどちらかを受信したと判定された場合(ステップS1101;Yes)、ステップS1102に遷移して、サーバ側アドレス情報受信判定部8218は、ステップS1101で受信したM−Searchに対するレスポンスか、サーバ機器より送信されるNotifyに記載されるuuid(A Universally Unique Identifier)情報より、それが通信中断前に通信していたサーバ機器からの返信であったかどうかの判定を行う(ステップS1102)。なお、通信中断前に通信していたサーバ機器のuuid情報は、通信中断以前のサーバ機器とのやり取りで取得したものを使用する。
サーバ側アドレス情報受信判定部8218にて、通信中断前に通信していたサーバ機器からの返信でないと判定された場合(ステップS1102;No)、ステップS1109に遷移し、サーバ情報取得処理部82222は、ステップS1100で探索したUPnP対応サーバ機器それぞれに対して、ディスクリプションドキュメントの取得処理制御を行う(ステップS1109)。
その後、ステップS1110にて、サーバ一覧表示制御部82221は、ステップS1109で探索したネットワーク上に存在するUPnP対応サーバ機器を、表示部15を介してユーザに通知するための表示処理制御を行う(ステップS1110)。
そして、ステップSS1101に遷移して、サーバ返信受信判定部10223はM−Searchに対するレスポンスか、サーバ機器より送信されるNotifyのどちらかを受信したかどうかの判定を再度行う。
一方、サーバ側アドレス情報受信判定部8218にて、通信中断前に通信していたサーバ機器からの返信であると判定された場合(ステップS1102;Yes)、ステップS1103に遷移して、サーバ情報取得処理実行停止部10221は、サーバ一覧取得処理部82220に対して、M−Searchに対するレスポンスかNotifyのどちらかを受信したUPnP対応サーバ機器のディスクリプションドキュメントを取得するための処理の停止を指示する(ステップS1103)。
そして、ステップS1104にて、返信サーバアドレス情報記憶処理部10222は、以後、サーバ一覧取得処理部82220によってUPnP対応サーバ機器からのレスポンス情報を返信サーバアドレス情報記憶領域1034に記憶する。
その後、ステップS1105にて、コンテンツレジューム取得要求部8219は、レジューム情報記憶領域832に格納されるコンテンツ情報と中断箇所情報記憶領域833に格納される中断箇所情報とを用い、中断箇所からコンテンツをレジュームするための要求を、ステップS908で受信したサーバ機器のIPアドレス情報を使用してサーバ機器に送信する(ステップS1105)。
そして、ステップS1106にて、機器連携コンテンツ受信完了判定部8216は、通信処理制御部120を監視して、機器連携アプリによるコンテンツの受信が完了したかどうかの判定を行う(ステップS1106)。
機器連携コンテンツ受信完了判定部8216にて、コンテンツの受信が完了していないと判定された場合(ステップS1106;No)、ステップS1106に戻り、再び通信処理制御部120を監視して、コンテンツの受信が完了したかどうかの判定を行う。
一方、機器連携コンテンツ受信完了判定部8216にて、コンテンツの受信が完了したと判定された場合(ステップS1106;Yes)、ステップS1107に遷移し、サーバ情報取得処理実行再開部10220は、サーバ一覧取得処理部82220に対して、M−Searchに対するレスポンスかNotifyのどちらかを受信した全てのUPnP対応サーバ機器に対してディスクリプションドキュメントを取得するための処理の再開を指示する(ステップS1107)。ディスクリプションドキュメントを取得するとき、サーバ一覧取得処理部82220は、ステップS1104にて返信サーバアドレス情報記憶領域1034に記憶されたUPnP対応サーバ機器からのレスポンス情報を使用する。
なお、ステップS1101にてサーバ機器からのM−Searchに対するレスポンスかNotifyのどちらかを受信した以降、一定時間以上時間が経過している場合は情報が古いため、再度M−Searchの送信及びNotifyの受信から実行するようにしても良い。
その後、ステップS1108にて、サーバ一覧表示制御部82221は、ステップS911で探索したネットワーク上に存在するUPnP対応サーバ機器の一覧を、表示部15を介してユーザに通知するための表示処理制御を行う(ステップS1108)。
以上、本実施形態5に示す発明を用いることで、実施形態4同様、機器連携アプリがサーバ機器と通信している最中に、通信コネクションが瞬断されたりIPアドレスが変更されてしまい、通信コネクションを再確立して通信を再開するような場合において、通信コネクション切断後、サーバ機器に新たに割り当てられたIPアドレス情報を迅速に取得することができる。そして、事前に記憶しておいたコンテンツ情報や中断箇所情報を用いてレジューム処理を実行することで、通信再開までのユーザの待ち時間を最小限に抑えることが可能となる。
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。上記各実施形態における通信端末装置1の装置構成、データ構成、フローチャートで示した処理などは、本発明の趣旨を逸脱しない範囲で、任意に変更及び修正が可能である。
また、本発明を実現するためのプログラムは、記憶部13等に記憶されているものとして説明したが、着脱可能な外部記憶媒体に記憶されているものであってもよいし、ネットワークからダウンロード可能なものであってもよい。
1・・・通信端末装置、10・・・バス、11・・・通信部、11a・・・アンテナ、12・・・制御部、120・・・通信処理制御部、121・・・アドレス処理制御部、1210・・・アドレス設定実行制御部、1211・・・アドレス設定要求受信判定部、1212・・・アドレス設定判定部、1213・・・新規起動アプリ特定部、1214・・・アドレス取得処理判定部、1215・・・アドレス設定部、12150・・・DHCPアドレス取得シーケンス処理部、12151・・・機器連携アプリ向けアドレス取得シーケンス処理部、1216・・・アドレス設定管理部、13・・・記憶部、130・・・アドレス設定情報記憶領域、131・・・アプリ・アドレス設定手段対応テーブル記憶領域、14・・・アプリケーション部、140・・・第1アプリケーション、141・・・第2アプリケーション、15・・・表示部、16・・・操作部、17・・・電源部、170・・・電源コントローラ、171・・・バッテリ、18・・・共通回路部、20・・・アプリ・アドレス設定手段対応テーブル、200・・・インデックス番号、201・・・アプリケーション、202・・・アドレス取得処理シーケンス、21・・・アプリ・アドレス設定手段対応テーブル、212・・・アドレス取得処理シーケンス、S300・・・アドレス設定要求受信判定、S301・・・アドレス設定判定、S302・・・新規起動アプリ特定、S303・・・アドレス取得処理シーケンス判定、S304・・・機器連携アプリ向けアドレス取得シーケンス処理、S305・・・DHCPアドレス取得シーケンス処理、421・・・アドレス処理制御部、4217・・・アドレス設定種別判定部、4218・・・DHCPポーリング間隔情報取得部、4219・・・起動中アプリ判定部、4220・・・アドレス取得処理実行停止部、4221・・・DHCPポーリング間隔判定部、4222・・・アドレス設定表示制御部、4223・・・起動中アプリ管理部、43・・・記憶部、432・・・起動中アプリ情報記憶領域、433・・・DHCPポーリング間隔情報記憶領域、S500・・・起動中アプリ判定、S501・・・新規起動アプリ判定、S502・・・アドレス取得処理シーケンス判定、S503・・・アドレス設定種別判定、S504・・・DHCPポーリング間隔情報取得、S505・・・DHCPポーリング間隔判定、S506・・・DHCPアドレス取得シーケンス処理実行停止、S507・・・新規起動アプリ使用不可表示通知、S508・・・DHCPアドレス取得シーケンス処理、621・・アドレス処理制御部、6211・・・機器連携アプリ通信開始判定部、6212・・・機器連携アプリ通信完了判定部、6213・・・DHCPポーリング処理停止部、6214・・・DHCPポーリング処理再開部、S700・・・機器連携アプリ通信開始判定、S701・・・アドレス設定種別判定、S702・・・DHCPポーリング処理停止、S703・・・機器連携アプリ通信完了判定、S704・・・DHCPポーリング処理再開、821・・・アドレス処理制御部、822・・・機器連携通信処理制御部、8211・・・機器連携アプリ通信開始判定部、8212・・・機器連携アプリ通信切断判定部、8213・・・レジューム情報記憶処理部、8214・・・中断箇所情報記憶処理部、8215・・・サーバ側MACアドレス情報抽出・記憶処理部、8216・・・機器連携コンテンツ受信完了判定部、8217・・・サーバ側アドレス問い合わせ処理部、8218・・・サーバ側アドレス情報受信判定部、8219・・・コンテンツレジューム取得要求部、8220・・・サーバ一覧取得処理制御部、82220・・・サーバ一覧取得処理部、82221・・・サーバ一覧表示制御部、82222・・・サーバ情報取得処理部、832・・・レジューム情報記憶領域、833・・・中断箇所情報記憶領域、834・・・サーバ側MACアドレス情報記憶領域、S900・・・機器連携アプリ通信開始判定、S901・・・アドレス設定種別判定、S902・・・サーバ側MACアドレス情報抽出記憶、S903・・・コンテンツレジューム情報記憶、S904・・・通信切断通知受信判定、S905・・・中断箇所情報記憶、S906・・・アドレス取得処理、S907・・・サーバ側アドレス問い合わせ、S908・・・サーバ側アドレス情報受信判定、S909・・・コンテンツ取得要求、S910・・・機器連携アプリ通信終了判定、S911・・・サーバ一覧取得処理、S912・・・サーバ情報取得処理、S913・・・サーバ一覧表示通知、1022・・・DLNA通信処理制御部、10220・・・サーバ情報取得処理実行再開部、10221・・・サーバ情報取得処理実行停止部、10222・・・返信サーバアドレス情報記憶処理部、10223・・・サーバ返信受信判定部、103・・・記憶部、1034・・・返信サーバアドレス情報記憶領域、S1100・・・サーバ一覧取得処理、S1101・・・サーバ返信受信判定、S1102・・・返信サーバ一致判定、S1103・・・サーバ情報取得処理実行停止、S1104・・・返信サーバアドレス情報記憶開始、S1105・・・コンテンツ取得要求、S1106・・・機器連携アプリ通信終了判定、S1107・・・サーバ一覧情報取得処理、S1108・・・サーバ一覧表示通知、S1109・・・サーバ情報取得処理、S1110・・・サーバ一覧表示通知