以下、図面を参照して、本発明の実施形態について説明する。
(一実施形態)
図1は、本発明の一実施形態である通信システムの概略を示す図である。この図において、一実施形態の通信システムSは、通信装置1、及び情報処理装置としてのルータ2を備える。
通信装置1は、いわゆるスマートフォン等であり、基地局4a及び移動体通信網4を介して音声通話が可能であり、さらに、この移動体通信網4を介してインターネット5に接続可能である。また、通信装置1は無線LANクライアントとしての機能を備える。ルータ2はWAN側インタフェース230(図1において図示略)を備え、このWAN側インタフェース230がWANとしてのインターネット5に接続されることで、通信装置1やこのルータ2に接続された他の情報処理装置6とインターネット5との間の通信を中継する。また、このルータ2は、無線LANアクセスポイントとしての機能を備える。
本実施形態の通信装置1は、ルータ2と同一の無線LAN通信エリア内、例えば家庭内に配置されている。従って、通信装置1は、無線LANを介してルータ2を含む他の無線LANアクセスポイントと無線通信可能であり、一方、ルータ2は、無線LANクライアントである通信装置1を含む他の無線端末と無線通信可能である。これにより、本実施形態の通信システムSにおいては、ルータ2と同一のネットワークアドレスが設定される装置により構成されるネットワークN(本実施形態では無線LANネットワーク)が構築されている。通信装置1及びルータ2の具体的構成については後述する。
情報処理装置6は、例えばPC(Personal Computer)であり、無線LANクライアントとしての機能を備え、無線LANを介してルータ2を含む他の無線LANアクセスポイントと無線通信可能である。
サーバ装置3はインターネット5に接続されており、このインターネット5を介してルータ2と通信可能であるとともに、インターネット5、移動体通信網4を介して通信装置1と通信可能である。
(一実施形態の通信装置の構成)
図2は、一実施形態の通信システムSを構成する通信装置1の概略構成を示すブロック図である。図2において、通信装置1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、表示デバイス13、内部ストレージ部14、移動体通信モジュール150、音声インタフェース(I/F)151、マイクロフォン152、スピーカ153、アンテナ154、入力デバイス16及び無線LANインタフェース17を備え、CPU10、ROM11、RAM12、表示デバイス13、内部ストレージ部14、移動体通信モジュール150、入力デバイス16、及び無線LANインタフェース17はそれぞれ共通のバスにより接続されている。
CPU10は、ROM11内に格納されたファームウェア等のプログラムがRAM12において展開された後で実行されることで、通信装置1全体の動作制御を行う。また、CPU10は、ROM11内に格納されたプログラムが実行されることにより、図4に示すような各機能部としても動作する。図4に示す各機能部の動作については後述する。ROM11には、上述のファームウェア等のプログラムや、各種設定データが格納されている。RAM12は、通信装置1のワークメモリとして動作し、各種プログラム及びデータが一時的に格納される。
表示デバイス13は、液晶パネル131とこの液晶パネル131を駆動させる液晶ドライバ130とを備える。液晶パネル131は、その表示面が通信装置1の表面に露出して設けられている。液晶ドライバ130は、表示画面を構成するデータがCPU10からこの液晶ドライバ130に供給されると、液晶パネル131の表示面に所望の表示画面を表示するようにこの液晶パネル131を駆動する。
内部ストレージ部14は、内部ストレージ141と内部ストレージインタフェース(I/F)140とを備える。内部ストレージ141は、例えばフラッシュメモリのような不揮発性半導体メモリであり、通信装置1において用いられるアプリケーションプログラム等が格納される。内部ストレージインタフェース140は、この内部ストレージ141に対するデータの読み出し/書き込み指令があった場合に、内部ストレージ141全体の制御を行うとともに、データの読み出し/書き込み制御を行い、読み出されたデータを出力する。なお、内部ストレージ141は、例えばmicroSDのような挿脱可能な不揮発性メモリーカードであってもよく、この場合、内部ストレージインタフェース140は、このメモリーカードが装着されるメモリカードスロットをさらに備える。
移動体通信モジュール150は、例えばIMT(International Mobile Telecommunication)−2000規格に準拠して、アンテナ154を介して移動体通信網4との間で移動体無線通信を行う。すなわち、移動体通信モジュール150は、移動体通信網4の基地局4aから受信した電波をデコードして得られた音声信号を、音声インタフェース151を介してスピーカ153から発音させ、音声インタフェース151を介してマイクロフォン152が集音した音声をエンコードして、アンテナ154を介して電波として移動体通信網4の基地局4aに送信する。また、移動体通信モジュール150は、パケット化されたデータを移動体通信網4の基地局4aとの間で送受信をすることで、データ通信を行う。なお、この移動体通信モジュール150が対応する規格には、過去から現在にかけて策定された移動体通信規格の少なくとも一つが含まれ、一例として、3G/HSDPA(3rd Generation/High-Speed Downlink Packet Access)、LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)の少なくとも一つが含まれうる。さらに、移動体通信モジュール150が対応する規格には、現在策定中及び将来策定されるであろう規格が好適に適用されうる。また、VoLTE(Voice over Long Term Evolution)など、音声がパケット化されたデータとして送受信されてもよい
入力デバイス16は、入力インタフェース(I/F)160、入力指示部161及びタッチパネル162を備える。
入力インタフェース160には入力指示部161が接続され、ユーザが入力指示部161を操作することにより入力される入力信号を受信する。入力指示部161としては、例えば設定入力開始動作指示等を行うファンクションボタン等が挙げられる。タッチパネル162は、本実施形態では液晶パネル131の表示面の上面に重畳されて設けられ、この液晶パネル131の表示面と略同一の大きさを有する。ユーザによりタッチパネル162の表面がタッチされ、すなわち、タッチパネル162の表面上の特定位置がユーザにより触れられたら、タッチパネル162の表面上の特定位置が2次元の座標位置として検出され、この座標位置は入力インタフェース160を介して出力される。
無線LANインタフェース17は、例えばIEEE(The Institute of Electrical and Electronics Engineers)802.11規格に準拠して、無線アクセスポイントであるルータ2と無線通信を行う。この無線LANインタフェース17は、通信装置1を無線LANクライアントとして動作させることが可能である。
(一実施形態のルータの構成)
図3は、本発明の一実施形態である通信システムSを構成するルータ2の概略構成を示すブロック図である。図3において、本実施形態のルータ2は、CPU20、ROM21、RAM22、有線LANインタフェース(I/F)23、無線LANインタフェース(I/F)24及び内部ストレージ部25を備えており、これらはバスにより互いに接続されている。
CPU20は、ROM21内に格納されたファームウェア等のプログラムがRAM22において展開された後で実行されることにより、ルータ2全体の制御を行う。また、CPU20は、ROM21内に格納されたプログラムが実行されることにより、図4に示す各機能部としても動作する。図4に示す各機能部の動作については後述する。ROM21には、上述したファームウェア等のプログラムが格納されている。RAM22はルータ2のワークメモリとして機能し、各種プログラム及びデータが一時的に格納される。
有線LANインタフェース23はWAN側インタフェース230及びLAN側インタフェース231を備える。WAN側インタフェース230はネットワークポート(図略)を備え、このネットワークポートにネットワークケーブル(図略)が挿入され、ネットワークケーブルを介してインターネット5に接続されることで、外部ネットワークとの間でデータの送受信がされる。また、LAN側インタフェース231も同様にネットワークポート(図略)を備え、このネットワークポートにネットワークケーブル(図略)が挿入され、ネットワークケーブルを介して他の情報処理装置6に接続されることで、この情報処理装置6との間でデータの送受信がされる。この有線LANインタフェース23は、例えばIEEE802.3規格に基づく有線通信を行うものである。
無線LANインタフェース24は、例えばIEEE802.11規格に準拠して通信装置1などの無線LANクライアントと無線通信を行う。この無線LANインタフェース24は、ルータ2を無線LANアクセスポイントとして動作させることが可能である。
内部ストレージ部25は、内部ストレージ251と内部ストレージインタフェース(I/F)250とを備える。内部ストレージ251は、例えばフラッシュメモリのような不揮発性半導体メモリであり、ルータ2において用いられるアプリケーションプログラム61やその他のソフトウェア等、及び接続情報60が格納される。接続情報60の詳細については後述する。内部ストレージインタフェース250は、この内部ストレージ251に対するデータの読み出し/書き込み指令があった場合に、内部ストレージ251全体の制御を行うとともに、データの読み出し/書き込み制御を行い、読み出されたデータを出力する。なお、内部ストレージ251は、例えばmicroSDのような挿脱可能な不揮発性メモリーカードであってもよく、この場合、内部ストレージインタフェース250は、このメモリーカードが装着されるメモリカードスロットをさらに備える。
(一実施形態の通信システムの機能構成)
図4は、一実施形態の通信システムSの機能構成を示す機能ブロック図である。図4において、本実施形態の通信システムSを構成する通信装置1は、制御部30、記憶部31、表示部32、入力部33、第1の通信部34及び第2の通信部35を備える。制御部30は、ネットワークアドレス取得部36、識別情報取得部37、判別部38及びURI送受信部39を備える。
ネットワークアドレス取得部36は、通信装置1が属するネットワークNにおけるデフォルトゲートウェイのアドレス及びDNSサーバのアドレスの少なくとも一方を取得する。より詳細には、ネットワークアドレス取得部36は、通信装置1が属する無線LANネットワークNにおけるデフォルトゲートウェイのアドレス、及び無線LANネットワークN内におけるデフォルトゲートウェイのアドレスと一致するDNS(Domain Name System)サーバとして動作する(無線LANネットワークN外に存在するDNSサーバへのリレーを行うことも含む)機器があることを条件に、この無線LANネットワークNにおけるDNSサーバのアドレスの少なくとも一方を取得する。以下、無線LANネットワークN外に存在するDNSサーバへのリレーを行う機能を行う機器も含めて、「DNSサーバとして動作する機器」という表現をする。
ネットワークアドレス取得部36が無線LANネットワークNのデフォルトゲートウェイのアドレス、さらに、無線LANネットワークN内におけるデフォルトゲートウェイのアドレスと一致するDNSサーバとして動作する機器がある場合はDNSサーバのアドレスを取得する手法は、周知のものが好適に適用可能である。一例として、ネットワークアドレス取得部36は、通信装置1に割り当てられたLAN側IPアドレスであるローカルIPアドレスを取得するパケットを無線LANネットワークNに送信し、このパケットの返信として取得したローカルIPアドレスと、通信装置1が属する無線LANネットワークNにおけるサブネットマスクを取得するパケットを送信して、このパケットの返信として取得したサブネットマスクとを用いて、通信装置1が属する無線LANネットワークNにおけるデフォルトゲートウェイのアドレスを取得する。
一般的に、ルータ2がDHCP(Dynamic Host Configuration Protocol)サーバとして動作すると否とにかかわらず、ルータ2の通信制御部56は、無線LANネットワークNに配置され、このルータ2に接続されている、通信装置1を含む機器に割り当てられているローカルIPアドレスを把握しており、ネットワークアドレス取得部36は、無線LANネットワークNに対して、通信装置1に割り当てられたローカルIPアドレスを問い合わせるパケットを送信し、ルータ2の通信制御部56は、この問い合わせのパケットに応答して、通信装置1に割り当てられたローカルIPアドレスを含む返信をする。同様に、ネットワークアドレス取得部36は、無線LANネットワークNに対して、通信装置1が属する無線LANネットワークNにおけるサブネットマスクを問い合わせるパケットを送信し、通信制御部56は、この問い合わせのパケットに応答して、通信装置1が属する無線LANネットワークNにおけるサブネットマスクを含む返信をする。そして、通信制御部56から取得したローカルIPアドレスとサブネットマスクとを用いて、ネットワークアドレス取得部36は、通信装置1が属する無線LANネットワークNにおけるデフォルトゲートウェイのアドレスと推測されるアドレスを取得する。
一例として、通信装置1に割り当てられたローカルIPアドレスが192.168.1.10であり、サブネットマスクが255.255.255.0であったとすると、ネットワークアドレス取得部36は、これらアドレスの値についてビット単位のXOR(Exclusive OR)を取った値から、デフォルトゲートウェイのアドレスであると推測されるアドレス192.168.1.X(X=1〜255の範囲の整数値)を算出することができる。
また、ルータ2の通信制御部56から直接デフォルトゲートウェイのアドレスを取得できる場合は、上述の手法を用いずに、無線LANネットワークNに対してデフォルトゲートウェイのアドレスを直接問い合わせすればよい。
さらに、無線LANネットワークN内にDNSサーバとして動作する機器がある場合、ルータ2の通信制御部56は、このDNSサーバのアドレスを把握している。加えて近年、ルータ2の多機能化に伴い、ルータ2がDNSサーバの機能を備えていることが多い。従って、ネットワークアドレス取得部36は、無線LANネットワークNに対して、通信装置1が属する無線LANネットワークNにおけるDNSサーバのアドレスを問い合わせ、通信制御部56は、この問い合わせに応答して、通信装置1が属する無線LANネットワークNにおけるDNSサーバのアドレスを含む返信をする。上述のように、多くの場合、DNSサーバのアドレスはルータ2のローカルIPアドレスであり、さらにはデフォルトゲートウェイのアドレスでもあるので、ネットワークアドレス取得部36は、通信制御部56から取得したDNSサーバのアドレスをデフォルトゲートウェイのアドレスとする。このような手法は、通信装置1の制御部30及び第1の通信部34の制約から、無線LANネットワークNのデフォルトゲートウェイのアドレスを直接的に取得できない場合に有効である。
あるいは、ネットワークアドレス取得部36は、ルータ2から既に通信装置1のローカルIPアドレス、サブネットマスク、及びデフォルトゲートウェイのアドレスの少なくとも一つが割り当てられ(設定され)て、通信装置1の記憶部31等に格納されている場合、ルータ2に問い合わせることなく、この記憶部31等に格納されているローカルIPアドレス等を取得してもよい。
次に、識別情報取得部37は、ルータ2に対して特定のプロトコルを送信して、このルータ2のLAN側IPアドレスを含む識別情報を受け入れる。より詳細には、識別情報取得部37は、ルータ2に識別情報送信部58が備わっている場合において、この識別情報送信部58のみが応答する特定のプロトコルを無線LANネットワークNに送信し、識別情報送信部58からの返信に含まれる、ルータ2のLAN側IPアドレスであるローカルIPアドレスを含む識別情報を受け入れる。従って、ルータ2に識別情報送信部58が備わっていない場合、識別情報取得部37は識別情報を受け入れない。
識別情報取得部37が送信する特定のプロトコルは、第1の通信部34及びルータ2の第1の通信部54がTCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコルに準じた通信が可能であるならば、このTCP/IPプロトコルに準じた特定の(好ましくは独自の)コマンドであればよく、同様に、識別情報送信部58からの送信も、TCP/IPプロトコルに準じた特定の(好ましくは独自の)コマンドであればよい。識別情報送信部58からの返信に含まれる識別情報の詳細については後述する。
判別部38は、識別情報取得部37が取得したルータ2の識別情報と、ネットワークアドレス取得部36が取得したデフォルトゲートウェイのアドレス及びDNSサーバのアドレスの少なくとも一方とに基づいて、ルータ2に、WAN側インタフェース230を介してルータ2がインターネット5に接続する際の設定手続を行う設定部57が設けられている場合において、この設定部57が動作可能であるか否かを判別する。好ましくは、判別部38は、識別情報取得部37が取得したルータ2のLAN側IPアドレスであるローカルIPアドレスが、ネットワークアドレス取得部36が取得したデフォルトゲートウェイのアドレスに一致するか否かに基づいて、ルータ2に設定部57が設けられている場合において、この設定部57が動作可能であるか否かを判別する。
識別情報取得部37が取得したルータ2のLAN側IPアドレスであるローカルIPアドレスが、ネットワークアドレス取得部36が取得したデフォルトゲートウェイのアドレスである場合、このルータ2は、無線LANネットワークNの構成上において、WANであるインターネット5に一番近い(最上流に)ルータ2であると判断することができる。また、識別情報取得部37が取得したルータ2のローカルIPアドレスが、ネットワークアドレス取得部36が取得したDNSサーバのアドレスである場合、このルータ2は、無線LANネットワークNの構成上において、WANであるインターネット5に一番近い(最上流に)ルータ2であると推測することができる。従って、以上の条件を満足するのであれば、判別部38は、ルータ2に設定部57が設けられている場合において、この設定部57が動作可能であると判別することができる。
特に、ルータ2の製造者が、ネットワークアドレス取得部36、識別情報取得部37及び判別部38(好ましくは後述するURI送受信部39も含めて)の機能を実現するアプリケーションプログラム61(図3参照)を提供し、通信装置1のユーザがこのアプリケーションプログラム61を移動体通信網4を経由して入手してこの通信装置1上で起動させた場合、この製造者が製造したルータ2には識別情報送信部58及び設定部57の両方を備えることを予め定めておくならば、ルータ2の識別情報送信部58から識別情報を含む返信があったことを条件に、ルータ2に設定部57が設けられていること、及び、この設定部57が動作可能であることの双方を判別部38が判別することが可能である。
ここで、判別部38は、識別情報取得部37がルータ2の識別情報を受け入れたか否かに基づいて、通信装置1が通信手段である第1の通信部34を介してルータ2に接続されているか否かを判別することが好ましい。
識別情報取得部37がルータ2に対して特定のプロトコルを送信した場合において、この識別情報取得部37がルータ2の識別情報を受け入れれば、判別部38は、少なくとも通信装置1とルータ2とは通信手段である第1の通信部34、54を介して接続されていることが判別できる。加えてこの場合は、ルータ2に識別情報送信部58が設けられていることまでも判別できる。一方、識別情報取得部37がルータ2の識別情報を受け入れることができない場合、判別部38は、少なくとも通信装置1が第1の通信部34を介してルータ2に接続されていないか、あるいはルータ2が識別情報送信部58を備えていないかのどちらかであることが判別できる。ここで、上述のように、ルータ2の製造者が、製造したルータ2には識別情報送信部58及び設定部57の両方を備えることを予め定めておくならば、識別情報取得部37がルータ2の識別情報を受け入れることができない場合、判別部38は、通信装置1が第1の通信部34を介してルータ2に接続されていないと判別することができる。
さらに、判別部38は、ネットワークアドレス取得部36が取得した通信装置1のLAN側IPアドレスであるローカルIPアドレスがリンクローカルアドレスであるか否かで、DHCPサーバとして動作するルータ2が存在するか否かを判別することが好ましい。
ネットワークアドレス取得部36が取得した通信装置1のローカルIPアドレスがリンクローカルアドレス、すなわち、169.254.1.0〜169.254.254.255であるアドレスである場合、このリンクローカルアドレスを通信装置1に対して割り当てた機器であるルータ2はDHCPサーバとして動作せず、APIPA(Automatic Private IP Addressing)機能またはAutoIP機能を備えるに止まるものと、判別部38は判別することができる。一方、ネットワークアドレス取得部36が取得した通信装置1のローカルIPアドレスがリンクローカルアドレスでない場合、通信装置1が通信を行っているルータ2はDHCPサーバとして動作するルータ2であると判別部38は判別することができる。
URI送受信部39は、ルータ2に対してURI(Uniform Resource Identifier)を送信してその返信を受け入れる。URI送受信部39が送信するURIは、後述するように、ルータ2がインターネット5に接続されているか否かを判別部38が判別するためのものであり、すなわち、インターネット5上に存在するDNSサーバにより名前解決がされたか否かを判別するためのものである。従って、URI送受信部39が送信するURIは、インターネット5上に存在する、つまり、無線LANネットワークNの外にあるサーバ装置3等の場所を示すURIであることが好ましい。URI送受信部39がルータ2に送信するURIの例としては、ルータ2の製造者が設置した自社ホームページの場所を示すURL(Uniform Resource Locator)等が好適に挙げられる。
そして、判別部38は、URI送受信部39が受け入れた返信にWAN側IPアドレスが含まれるローカルIPアドレスであるか否か、及び、URI送受信部39が返信を受け入れたか否かの少なくとも一方に基づいて、ルータ2がインターネット5に接続されているか否かを判別する。
通信装置1のURI送受信部39からルータ2に送信されたURIを、ルータ2の後述する通信制御部56は、第2の通信部55が備えるWAN側インタフェース230から送信する。このWAN側インタフェース230がインターネット5に接続されていれば、上述したように、インターネット5上に存在するDNSサーバにより名前解決がされて、このURIに対応するWAN側IPアドレスであるグローバルIPアドレスが返信される。
一方、ルータ2のWAN側インタフェース230がインターネット5に接続されていなければ、URIに対する名前解決がされずにグローバルIPアドレスの返信は届かない。あるいは、ルータ2の設定部57が通信設定動作中である場合、設定部57が一時的に無線LANネットワークN内のローカルIPアドレスを返信することがある。従って、URI送受信部39が受け入れた返信にグローバルIPアドレスが含まれるか否か、及び、URI送受信部39が返信を受け入れたか否かの少なくとも一方に基づいて、ルータ2がインターネット5に接続されているか否かを判別することができる。
表示部32は、制御部30により生成された表示画面生成用信号に基づき、表示部32が有する表示面に表示画面を生成する。入力部33は、通信装置1に入力されたユーザからの指示等を受け入れ、受け入れた指示等に基づいて入力信号を生成して制御部30等に出力する。
通信手段を構成する第1の通信部34は、無線LANである通信路40を介して、ルータ2の第1の通信部54を含む通信端末との間で無線通信を行い、ルータ2等の間でデータの送受信を行う。第2の通信部35は、移動体通信網4を介して基地局4aとの間で無線通信を行い、インターネット5との間でデータの送受信を行う。好ましくは、第2の通信部35は、インターネット5を介してルータ2の第2の通信部55との間でもデータの送受信を行う。
一方、本実施形態の通信システムSを構成するルータ2は、制御部50、記憶部51、第1の通信部54及び第2の通信部55を備える。制御部50は、通信制御部56、設定部57及び識別情報送信部58を備える。
通信制御部56は、第1の通信部54及び第2の通信部55による、通信装置1、インターネット5及び情報処理装置6を含む他の装置との間での有線LAN/無線LANを用いた通信の制御を行う。ここに、第2の通信部55は、WAN側インタフェース230及びLAN側インタフェース231を有する有線LANインタフェース23を含む。また、通信制御部56は、レイヤ3(OSI(Open System Interconnection)参照モデルの第3層)において、第1、第2の通信部54、55を介して入力されるパケットを宛先アドレスに従って中継し、第1、第2の通信部54、55を介して出力する。
設定部57は、第2の通信部55が備えるWAN側インタフェース230を介してルータ2がインターネット5に接続する際の設定手続を行う。設定部57が行う通信設定動作の詳細は、例えば本出願人が既に出願した特許出願の明細書等(一例として特許4592342号公報)に詳細に開示されているので、本明細書ではその概略のみ説明する。
ルータ2をインターネット5に接続する際の設定手続として、まず、ルータ2は、ユーザが契約しているISPが指定されたPPPoEサーバを経由してインターネット5への接続手続を行うのか、あるいは、指定されたDHCP(Dynamic Host Configuration Protocol)サーバを経由してインターネット5への接続手続を行うのかを判別する必要がある。
そこで、設定部57は、WAN側インタフェース230からDHCP要求パケットを送信して、インターネット5上に存在する(であろう)DHCPサーバからの応答を一定時間待つ。次いで、DHCPサーバからの応答があった場合、設定部57は、DHCPサーバを経由してインターネット5への接続手続をすべきであると判断し、このDHCPサーバから取得した情報を記憶部51に格納した後、この情報を用いてインターネット5への接続設定を行い、さらに、インターネット5に特定のURL、例えばルータ2の製造者が設置した自社ホームページの場所を示すURLを送信して、DNSサーバにより名前解決がされたか否かに基づいて、ルータ2がインターネット5に接続できたか否かを判定する。
一方、DHCPサーバからの応答が一定時間内に到来しない場合、設定部57は、PPPoEサーバを経由してインターネット5への接続手続をすべきであると判断し、WAN側インタフェース230からPPPoE要求パケットを送信して、インターネット5上に存在するPPPoEサーバからの応答を一定時間待つ。次いで、PPPoEサーバからの応答があった場合において、PPPoE設定がまだされていないと設定部57が判定したら、設定部57はPPPoE設定画面を表示させ、ユーザにPPPoE設定のための各種情報の入力を求める。そして、ユーザから入力された情報を用いてPPPoEサーバに接続するとともに、この情報を記憶部51に格納する。
そして、これら各種接続設定時において、ユーザに対して各種情報表示及び情報入力要求をWebページを介して行うため、接続設定作業開始からルータ2がインターネット5に接続されるまで、設定部57は、通信装置1からインターネット5上に存在するサーバ等の場所を示すURLが送信されてきたときに、一時的に無線LANネットワークN内のローカルIPアドレスを返すことで、特定のWebページへと案内するDNSサーバとしての役割を果たす。
識別情報送信部58は、第2の通信部55のLAN側インタフェース231から特定のプロトコルを受け入れたら、この特定のプロトコルを送信した機器に対してルータ2のLAN側IPアドレスであるローカルIPアドレスを含むルータ2の識別情報を送信する。より詳細には、識別情報送信部58は、通信装置1の識別情報取得部37が送信した特定のプロトコルを第2の通信部55のLAN側インタフェース231が受け入れたら、この特定のプロトコルに応答して、ルータ2のローカルIPアドレスを含むルータ2の識別情報を、特定のプロトコルを送信した通信装置1に対して、第2の通信部55のLAN側インタフェース231を介して送信する。なお、識別情報送信部58が送信する識別情報に含まれる情報は、少なくともルータ2のローカルIPアドレスが含まれればよく、加えて、他の情報が含まれてもよい。一例として、識別情報送信部58は、ルータ2のローカルIPアドレスに加えてルータ2の機器名も識別情報として送信してもよい。
記憶部51には接続情報60が格納されている。接続情報60は、第1の通信部54が通信装置1を含む他の無線端末との間で無線LAN通信を行う際に用いる、SSID(Service Set Identification)等の無線LANによる通信を確立するために必要な通信情報、及び、WPA2−PSK(Wi-Fi Protected Access 2 Pre-Shared Key)等の無線LAN暗号化方式と、この暗号化の際に用いられる鍵等の暗号化情報を含む。また、接続情報60は、設定部57の設定動作によりルータ2をインターネット5に接続する際に設定部57が入手したユーザ名、パスワード、DNSサーバアドレス等の接続設定情報も含む。
第1の通信部54は、無線LANである通信路40を介して、通信装置1の第1の通信部34との間で無線通信を行い、通信装置1との間でデータの送受信を行う。第2の通信部55は、インターネット5及び情報処理装置6との間でデータの送受信を行う。好ましくは、第2の通信部55は、インターネット5を介して通信装置1の第2の通信部35との間でもデータの送受信を行う。
以上の構成において、制御部30及び制御部30を構成するネットワークアドレス取得部36、識別情報取得部37、判別部38及びURI送受信部39は主にCPU10により構成され、記憶部31は主にROM11、RAM12及び内部ストレージ部14により構成され、表示部32は主に表示デバイス13により構成され、入力部33は主に入力デバイス16により構成され、第1の通信部34は主に無線LANインタフェース17により構成され、そして、第2の通信部35は主に移動体通信モジュール150、音声インタフェース151、マイクロフォン152、スピーカ153及びアンテナ154により構成される。
また、制御部50及び制御部50を構成する通信制御部56、設定部57及び識別情報送信部58は主にCPU20により構成され、記憶部51は主にROM21、RAM22及び内部ストレージ部25により構成され、第1の通信部54は主に無線LANインタフェース24により構成され、そして、第2の通信部55は主に有線LANインタフェース23により構成される。また、第2の通信部55はWAN側インタフェース230及びLAN側インタフェース231を備え、WAN側インタフェース230はインターネット5に接続され、LAN側インタフェース231は情報処理装置6に接続される。図4に示す各機能部の動作については後に詳述する。
(一実施形態の通信システムの動作)
次に、図5〜図7のフローチャート、及び図8〜図11を参照して、本実施形態の通信システムSの動作を、主に通信装置1の動作を中心に説明する。
図4に示す制御部30及び制御部30を構成するネットワークアドレス取得部36、識別情報取得部37、判別部38及びURI送受信部39の機能は、一例として、ユーザがインターネット5上のサーバ装置3から特定のアプリケーションプログラム61を移動体通信網4及び第2の通信部35を経由して通信装置1の記憶部31にダウンロードし、このアプリケーションプログラム61がCPU10で実行されることで、通信装置1上で実現される。また、制御部50及び制御部50を構成する通信制御部56、設定部57及び識別情報送信部58の機能は、ルータ2の電源がONされることにより、記憶部51に格納されているファームウェアがCPU20で実行されることで、ルータ2上で実現される。
図5に示すフローチャートは、通信装置1において上述したアプリケーションプログラム61が実行されることにより開始する。
まず、ステップS1では、通信装置1の制御部30が、通信装置1の無線設定を取得する。言い換えれば、制御部30は、第1の通信部34を用いた無線LAN通信が可能であるかどうかを第1の通信部34に問い合わせ、その結果を取得する。ステップS2では、制御部30が、ステップS1において取得した無線設定がONであるか否か、言い換えれば、第1の通信部34を用いた無線LAN通信が可能であるか否かを判定する。そして、無線設定がONである、あるいは無線設定が取得できない(ステップS2においてYES)場合は、プログラムはステップS4に移行し、無線設定がOFFである(ステップS2においてNO)場合は、プログラムはステップS3に移行する。ここで、無線設定が取得できない場合でも無線設定がONである場合と同様にステップS4に移行するのは、制御部30の仕様により無線設定を取得できない場合があるため、無線設定が取得できない場合でも以降の動作を実施することが好ましいからである。
ステップS3では、通信装置1の判別部38が、無線設定がOFFであるために以降の判定動作ができないと判別し、ユーザに対して、図8(a)に示すような表示画面32aを表示部32に表示させ、無線設定を有効にして再度アプリケーションプログラム61を起動させることを薦める。この後、プログラムは終了する。
一方、ステップS4では、通信装置1の識別情報取得部37が、第1の通信部34を介してルータ2に対して特定のプロトコルを送信し、ルータ2の識別情報の送信(取得)を要求する。次いで、ステップS5では、識別情報取得部37が、ルータ2から識別情報を受信したか否かを判定し、ルータ2から識別情報を受信した(ステップS5においてYES)場合は、プログラムはステップS8に移行し、この時点でルータ2から識別情報を受信していない(ステップS5においてNO)場合は、プログラムはステップS6に移行する。ステップS6では、ルータ2に対して識別情報取得のための特定のプロトコルを送信してから一定時間が経過したか否かを判定し、一定時間が経過した(ステップS6においてYES)場合は、プログラムはステップS7に移行し、一定時間がまだ経過していない(ステップS6においてNO)場合は、プログラムはステップS5に戻る。
ステップS7では、ルータ2に対して識別情報取得のための特定のプロトコルを送信してから一定時間内に識別情報を受信しないことから、識別情報送信部58を備えたルータ2が無線LANネットワークN内に存在しないと判別部38が判別し、ユーザに対して、図8(b)に示すような表示画面32aを表示部32に表示させ、識別情報送信部58を備えたルータ2が無線LANネットワークN内に存在しないために判別部38による判別動作がこれ以上実行できないことを通知する。この後、プログラムは終了する。
ステップS8では、ステップS5において複数のルータ2からそれぞれの識別情報を受信したことで、識別情報取得部37が複数の識別情報を受信したか否かが判定される。そして、識別情報取得部37が複数の識別情報を取得した(ステップS8においてYES)場合は、プログラムはステップS9に移行し、識別情報取得部37が単一の識別情報のみを取得した(ステップS8においてNO)場合は、プログラムはステップS12に移行する。
ステップS9では、識別情報送信部58を備えたルータ2が無線LANネットワークN上に複数存在すると判別部38が判別し、図9(a)に示すような表示画面32aを表示部32に表示させ、ステップS5において受信した複数の識別情報に含まれているルータ2の機器名を表示画面32aに表示することで、ユーザに対して、判別部38による判別動作を行うルータ2を選択するように指示する。ステップS10では、ユーザが、いずれか一つのルータ2の機器名が表示されている領域を表示画面32a上でタッチすることで、このタッチ動作に基づく入力信号を入力部33が出力するまで待ち、タッチ動作に基づく入力信号を入力部33が出力した(ステップS10においてYES)ら、プログラムはステップS11に移行する。ステップS11では、ユーザが選択したルータ2について、判別部38が以降の判別動作を行う旨設定する。
ステップS12では、通信装置1のURI送受信部39が、ルータ2に対してURIを送信する。次いで、ステップS13では、URI送受信部39が、ルータ2からの返信を受信したか否かを判定し、ルータ2から返信を受信した(ステップS13においてYES)場合は、プログラムはステップS15に移行し、この時点でルータ2からの返信を受信していない(ステップS13においてNO)場合は、プログラムはステップS14に移行する。ステップS14では、ルータ2に対してURIを送信してから一定時間が経過したか否かを判定し、一定時間が経過した(ステップS14においてYES)場合は、プログラムはステップS16に移行し、一定時間がまだ経過していない(ステップS14においてNO)場合は、プログラムはステップS13に戻る。
URI送受信部39がURIを送信してから一定時間経過しても返信を受信しない(ステップS14においてYES)場合、インターネット5上に存在するDNSサーバによる名前解決がされない、言い換えれば、ルータ2がインターネット5に接続されていないものと判断し、判別部38による判別動作をさらに続ける必要があるものとしてプログラムはステップS16に移行する。
ステップS15では、判別部38が、ステップS13において受信したルータ2からの返信がローカルIPアドレスであるか否かを判定する。そして、ルータ2からの返信がローカルIPアドレスである(ステップS15においてYES)場合は、設定部57により通信設定動作が行われているために、設定部57がローカルIPアドレスを返信していると判断し、判別部38による判別動作をさらに続ける必要があるものとしてプログラムはステップS16に移行する。一方、ルータ2からの返信がグローバルIPアドレスである(ステップS15においてNO)場合は、インターネット5上に存在するDNSサーバによる名前解決がされており、設定部57による通信設定動作が完了してルータ2がインターネット5に接続されているものと判別部38が判別する。従って、判別部38による以降の判別動作は不要と判断し、プログラムを終了する。なお、このステップS15においては、既にステップS5において識別情報取得部37が、ルータ2から識別情報を受信しており、従って、判別部38の判別対象となるルータ2は識別情報送信部58を備えていることから、このルータ2は設定部57も備えている可能性が非常に高いと判別することができる。
ステップS16では、通信装置1のネットワークアドレス取得部36が、デフォルトゲートウェイのアドレスの取得を要求するパケットを送信する。次いで、ステップS17では、ネットワークアドレス取得部36が、デフォルトゲートウェイのアドレスの取得を要求するパケットの返信を受信したか否かを判定し、返信を受信した(ステップS17においてYES)場合は、プログラムはステップS19に移行し、この時点で返信を受信していない(ステップS17においてNO)場合は、プログラムはステップS18に移行する。ステップS18では、デフォルトゲートウェイのアドレスの取得を要求するパケットを送信してから一定時間が経過したか否かを判定し、一定時間が経過した(ステップS18においてYES)場合は、プログラムはステップS20に移行し、一定時間がまだ経過していない(ステップS18においてNO)場合は、プログラムはステップS17に戻る。
ステップS19では、返信であるデフォルトゲートウェイのアドレスと一致するローカルIPアドレスを有するルータ2が、無線LANネットワークN内に存在するか否かが判定される。そして、返信であるデフォルトゲートウェイのアドレスと一致するローカルIPアドレスを有するルータ2が、無線LANネットワークN内に存在する(ステップS19においてYES)場合、このルータ2は無線LANネットワークNの構成上において、WANであるインターネット5に一番近い(最上流に)ルータ2であると判断し、判別部38による判別動作をさらに続ける必要があるものとしてプログラムはステップS21に移行する。一方、返信であるデフォルトゲートウェイのアドレスと一致するローカルIPアドレスを有するルータ2が、無線LANネットワークN内に存在しない(ステップS19においてNO)場合、プログラムはステップS20に移行する。
ステップS20は、ネットワークアドレス取得部36が、デフォルトゲートウェイのアドレスの取得を要求するパケットを送信してから一定時間内に返信がない場合、あるいは、返信であるデフォルトゲートウェイのアドレスと一致するローカルIPアドレスを有するルータ2が、無線LANネットワークN内に存在しない場合のいずれかにおいて実行される。いずれの場合であっても、判別部38による判別動作の対象となっているルータ2はインターネット5に接続されていないものと判別することができるので、判別部38は、ユーザに対して、図9(b)に示すような表示画面32aを表示部32に表示させ、ルータ2がインターネット5に接続されていないことを通知する。この後、プログラムは終了する。
ステップS21では、デフォルトゲートウェイのアドレスが、判別部38による判別動作の対象となっているルータ2のローカルIPアドレスと一致するか否かが判定される。そして、デフォルトゲートウェイのアドレスが、判別部38による判別動作の対象となっているルータ2のローカルIPアドレスと一致する(ステップS21においてYES)場合、判別部38による判別動作の対象となっているルータ2は設定部57を備える可能性が非常に高く、かつ、このルータ2は無線LANネットワークNの構成上において、WANであるインターネット5に一番近い(最上流に)ルータ2であり、さらに、このルータ2はまだインターネット5に接続されていないので、ステップS22において、判別部38は、ルータ2の設定部57に対して通信設定動作を開始するように指示をする。この際、判別部38は、ユーザに対して、図10(a)に示すような表示画面32aを表示部32に表示させ、設定部57による通信設定動作が開始し、さらに、設定部57による通信設定動作がされている状態において、図10(b)に示すような表示画面32aを表示部32に表示させ、設定部57による通信設定動作がされていることを通知する。この後、プログラムは終了する。
一方、デフォルトゲートウェイのアドレスが、判別部38による判別動作の対象となっているルータ2のローカルIPアドレスと一致しない(ステップS21においてNO)場合、デフォルトゲートウェイのアドレスと一致するローカルIPアドレスを有するルータ2は設定部57を備えていない可能性が高いと判断し、プログラムはステップS23に移行する。
ステップS23では、ネットワークアドレス取得部36が通信装置1のローカルIPアドレスを取得する。なお、ネットワークアドレス取得部36が、ステップS16においてデフォルトゲートウェイのアドレスを取得する一過程として通信装置1のローカルIPアドレスを既に取得している場合は、ステップS16において取得した通信装置1のローカルIPアドレスをもちいればよい。
ステップS24では、ステップS23において取得した通信装置1のローカルIPアドレスがリンクローカルアドレスであるか否かが判定され、通信装置1のローカルIPアドレスがリンクローカルアドレスである(ステップS24においてYES)場合、無線LANネットワークN内においてDHCPサーバとして動作するルータ2が存在しないと判別することができる。従って、この無線LANネットワークN内にはルーティング動作をするルータ2が存在しないものと判断することができる。そこで、ステップS25では、判別部38は、図11(a)に示すような表示画面32aを表示部32に表示させ、無線LANネットワークN内にはルーティング動作をするルータ2が存在しないことをユーザに通知し、ルータ2の設定等を確認することを薦める。この後、プログラムは終了する。
一方、通信装置1のローカルIPアドレスがリンクローカルアドレスでない(ステップS24においてNO)場合、無線LANネットワークN内にはルーティング動作をするルータ2が存在するものの、上述したように、ルータ2は設定部57を備えていない可能性が高いと判断できる。そこで、ステップS26では、判別部38は、図11(b)に示すような表示画面32aを表示部32に表示させ、設定部57を備えたルータ2が無線LANネットワークN内に存在しないために判別部38による判別動作がこれ以上実行できないことを通知する。この後、プログラムは終了する。
(一実施形態の効果)
以上説明したように、本実施形態の通信システムSによれば、無線LANネットワークN内に存在するルータ2が設定部57、識別情報送信部58を備えているかを適切に判別し、設定部57を備えている場合はこの設定部57による通信設定動作を適切に開始させることができる。これにより、ルータ2をインターネット5に接続させる通信設定動作を適切に開始させることができる。
(変形例)
なお、本発明の通信装置等は、その細部が上述の一実施形態に限定されず、種々の変形例が可能である。
一例として、一実施形態のルータ2は設定部57及び識別情報送信部58の双方を備えるものとして説明していたが、設定部57及び識別情報送信部58の少なくとも一方を備えないルータ2に対しても本発明は好適に適用可能である。
また、識別情報取得部37が取得する、あるいは識別情報送信部58が送信する識別情報は、少なくともルータ2のローカルIPアドレスが含まれていればよく、これ以外のルータ2の情報を識別情報に含めて送受信することが可能である。また、設定部57による通信設定動作も上述の例に限定されず、種々の通信設定動作が可能である。
さらに、上述の一実施形態では通信装置1とルータ2とは無線通信手段の一例である第1の通信部34、54及び無線LANである通信路40により、これら通信装置1及びルータ2の間でデータ通信が可能に構成されていたが、通信装置1とルータ2との間においてデータ通信を可能にする通信手段は無線通信手段に限定されず、周知の通信手段が好適に適用可能である。このような通信手段の一例としては、有線LANインタフェース、PLC(Power Line Communication)インタフェース、USB(Universal Serial Bus)インタフェース、Bluetooth(登録商標)インタフェースを一例とする近距離無線通信インタフェース等が挙げられる。
また、通信装置1及びルータ2が同一種類のインタフェースを複数有してもよい。一例として、通信装置1及びルータ2が、複数の周波数帯(例えば2.4GHz、5GHz)にそれぞれ対応した複数の無線LANインタフェースを有してもよい。この場合、通信装置1のネットワークアドレス取得部36、識別情報取得部37及び判別部38を含む制御部30、さらにはルータ2の通信制御部56、設定部57及び識別情報送信部58を含む制御部50は、これら複数のインタフェースのうち択一的に、あるいはいずれのインタフェースについても動作を行ってもよい。この場合、識別情報取得部37は無線LANインタフェース毎に特定のプロトコルを送信して、返信されるルータ2の識別情報を管理すると共に、判別部38は、各無線LANインタフェースにおけるルータ2についてそれぞれ判別してもよい。加えて、複数の無線LANインタフェースから検出されたルータ2の全てを図9(a)のように表示し、ユーザが選択することにより、ルータ2毎に逐次判別する形態であってもよい。
そして、上述の実施形態において、通信装置1及びルータ2を動作させるプログラムはROM11、21等に格納されて提供されていたが、不図示の光学ディスクドライブ、等を用いて、プログラムが格納されたDVD(Digital Versatile Disc)等の記録媒体、USB外部記憶装置、メモリーカード等を接続し、このDVD等からプログラムを通信装置1、ルータ2に読み込んで動作させてもよい。また、インターネット5上のサーバ装置3内にプログラムを格納しておき、このプログラムをルータ2に読み込んで動作させてもよい。さらに、上述の実施形態において、通信装置1、ルータ2は複数のハードウェア要素により構成されていたが、これらハードウェア要素の一部の動作をCPU10、20がプログラムの動作により実現することも可能である。