以下、図面を参照しつつ、本発明の各実施の形態について説明する。なお、図面においては、同一符号は同一または相当する部分を指し、それらの名称および機能は同一であるから、それらの詳細な説明は繰り返さない。
以下において、PC(Personal Computer)にインストールされているアプリケーションによって、本発明を実現する例を「実施の形態1」〜「実施の形態3」として説明する。さらに、通信装置のWEBサーバ機能によって本発明を実現する例を「実施の形態4」として説明する。
[実施の形態1]
図1は、本実施の形態に係る家庭内ネットワークの例を示す図である。
LANを構成する家庭内ネットワーク200は、IP(Internet Protocol)網201と接続されている。インターネットへのアクセス回線としては、ADSL(Asymmetric Digital Subscriber Line)や光ファイバ、CATVの回線、ISDNなどが考えられる。しかし、本実施の形態では、アクセス回線の形態は問わない。ただし、アクセス回線に応じたモデムを家庭内ネットワーク200に設ける必要がある。
家庭内ネットワーク200には、ルータ202、NAS(Network Attached Storage)203、通信装置A204、通信装置B205、通信装置C206、プリンタ207、レコーダ208、テレビ209、PC210、設定PC211などが接続されている。
通信装置A204、通信装置B205、通信装置C206は、たとえば、HomePlugAV規格に準拠したPLCアダプタであるとする。ただし、通信装置としては、これに限らず、たとえば、ブリッジ・タイプの無線LAN装置や、HomePNA規格に準拠したモデム(同軸ケーブル用/電話線用)などを適用することも可能である。
NAS203と通信装置A204とは、イーサネット(登録商標)を介して、ルータ202に接続されている。プリンタ207、レコーダ208、テレビ209、およびPC210は、イーサネット(登録商標)を介して、通信装置B205に接続されている。
設定PC211は、イーサネット(登録商標)を介して、通信装置C206に接続されている。通信装置A204、通信装置B205、通信装置C206は、伝送媒体で接続されている。伝送媒体の例としては、無線LAN、PLC、同軸ケーブル(Coax)、電話回線等を挙げることができる。
通信装置A204、通信装置B205、通信装置C206を利用する目的は、ルータ202が設置された部屋と、ユーザがインターネットを利用する部屋とが離れているときに、ルータ200が設置された部屋から他の部屋へ、最適な伝送媒体を用いてデータを伝送することである。
ユーザは、設定PC211を操作して、伝送優先度(QoS)を設定するためのアプリケーションプログラムを起動する。すると、所定の画面が設定PC211のモニタ上に表示される。このアプリケーションプログラムは、ネットワーク・マップを含むQoS設定用画面を表示する機能以外に、たとえば通信装置C206の通信設定を行なう機能をも有する。設定PC211のモニタに表示された画面で、ユーザがQoS設定機能を選択すると、家庭内ネットワーク200(以下、単に“LAN”とも称する)に接続された機器が自動探索されて、たとえば、図3に示すようなQoS設定用画面が表示される。
QoS設定用画面には、LANに接続された機器の間の接続関係と、各機器を識別する情報とから成るネットワーク・マップが含まれる。各機器を識別する情報は、たとえば、種別、ベンダー名、型番、IPアドレス、ホスト名、MACアドレスなどである。さらに、QoS設定用画面には、ユーザがQoSを設定するための「優先設定(双方向)」ボタン310と「優先設定(片方向)」ボタン320とが含まれる。
図3において、「SHARP」,「vendorB」,「vendorC」,「vendorD」は、ベンダー名である。「HN-VA10/40 Series」,「RT57i」,「RD-E301」,「RX-5」,「PC-MR60HS」は、フレンドリ名である。「MX-450F」は、システム名である。「リモートPLCアダプタ」,「ローカルPLCアダプタ」,「PC(設定中のPC)」,「Internet Gateway Device」,「Printer」「Media Server」「Media Renderer」は、デバイス・タイプである。「59:3e:02」は、MACアドレスの一部である。「192.168.11.3」は、機器のIPアドレスである。「ebook」は、機器のホスト名である。
以下、設定PC211が図3に示すネットワーク・マップを作成し、QoS設定用画面を表示する手法を説明する。設定PC211がネットワーク・マップを作成し、QoS設定用画面を表示するためには、設定PC211上で動作するアプリケーションプログラムが、所定の処理を実行することが必要である。
図2は、設定PC211のハードウェア構成を表わすブロック図である。設定PC211は、主たる構成として、プログラムを実行するCPU2110と、設定PC211のユーザによる指示の入力を受けるマウス2116およびキーボード2117と、CPU2110によるプログラムの実行により生成されたデータ又はマウス2116若しくはキーボード2117を介して入力されたデータを一時的に格納するRAM2111と、データを不揮発的に格納するハードディスク2112と、光ディスク駆動装置2113と、QoS設定用画面等を表示するモニタ2114と、通信I/F(Interface)2115とを含む。RAM2111またはハードディスク2112により、設定PC211の記憶部が構成されている。
光ディスク駆動装置2113には、CD−ROM2118が装着される。CD−ROM2118には、QoSの設定に関わるアプリケーションプログラムが格納されている。
CPU2110は、CD−ROM2118に格納されたアプリケーションプログラムをハードディスク2112の所定領域へインストールする。インストールされたアプリケーションプログラムは、CPU2110によって読み出され、RAM2111に実行可能なプログラムの形式で格納される。CPU2110は、そのアプリケーションプログラムを実行する。これによって、設定PC211では、以下で説明するQoS設定に関わる各種の処理が行なわれる。
なお、アプリケーションプログラムを格納するための記録媒体としては、CD−ROMの他、FD(Flexible Disk)、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の、固定的にプログラムを担持する媒体でもよい。
また、CD−ROM2118に格納されているアプリケーションプログラムは、インターネット等を通じてダウンロード可能なプログラム製品として提供される場合もある。
さらに、ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
設定PC211は、アプリケーションプログラム(以下、単にアプリケーションと称する)に従って以下に説明する第1〜第3の処理手順を実行することによって、図3に示すネットワーク・マップを作成し、表示する。
まず、第1の処理手順では、第1の探索プロトコルを用いて、LAN上に存在する機器を探索し、各機器の物理アドレスを取得する。
次に、第2の処理手順では、第2の探索プロトコルを用いて、LAN上に存在する機器を探索し、各機器のIPアドレスおよびデバイス情報を取得する。
最後に、第3の処理手順では、第1の処理手順で取得した物理アドレスと第2の処理手順で取得したIPアドレスおよび機器の各種情報とを関連付けたデータを作成する。さらに、第3の処理手順では、関連付けデータに基づいて、ネットワーク・マップを作成の上で表示する。
以下の説明においては、QoSを設定する装置の一例として、設定PC211を例に挙げて説明する。ただし、当該装置としては、設定PC211に限らず、予め上記アプリケーションを格納した設定専用の装置であってもよい。
(1) 第1の処理手順
第1の処理手順を詳細に説明する。第1の処理手順では、第1の探索プロトコルとして、たとえば、HomePlugAV規格に固有のプロトコル(ネットワーク・トポロジー探索プロトコル)を用いる。設定PC211は、LANに接続された通信装置に対して、第1の探索プロトコルに従うMME(Management Message)パケットを送信して、応答を待つ。MMEパケットは、通信装置から情報を取得し、あるいは通信装置の設定を変更するためのレイヤー2レベルのパケットデータである。
図4に、MMEパケットのフォーマット例として、HomePlugAV規格におけるMMEを示す。
図4を参照して、「ODA」は、送信先(宛先)MACアドレスである。「OSA」は、送信元MACアドレスである。「VLAN Tag」は、IEEE 802.1Qで定義されたVLANタグである。このタグは、オプションであり、ここでは、VLANタグを用いないこととする。
「MTYPE」は、イーサネット(登録商標)・タイプである。ここでは、HomePlugアライアンスに割り当てられた値(0xe188)を用いる。「MMV」は、MMEのバージョンである。ここでは、0x00もしくは0x01を用いる。
「MMTYPE」は、MMEの種類である。この値が変われば、MMEパケットの種類が変わる。「MMENTRY」は、MMEのペイロード・データである(MMEの種類により、この内容は変わる。)。
「MMEフォーマット」は、通常のイーサネット(登録商標)・フォーマットと同等である。特に、通信装置は、イーサネット(登録商標)・タイプが特別な値(たとえば、HomePlugAV規格においては0xe188)であるとき、受信パケットをMMEパケットであると解釈する。
次に、図5を参照して、第1の処理手順を詳細に説明する。図5は、QoS設定用のアプリケーションがインストールされた設定PC211が実行する第1の処理手順を説明するためのフローチャートである。
まず、設定PC211は、設定用PC211自身のNIC(Network Interface Card)のリストを取得し、NICのMACアドレスをNIC_MACに格納する(S101)。ここで、NIC_MACは、設定PC211の記憶部に定義された6オクテット分の記憶領域である。一般的に、NICは複数存在するため、NIC_MACには、各NICに対応するMACアドレスが格納される。
次に、設定PC211は、取得したNICのリストを用いて、「ローカルの通信装置」を特定するための処理を実行する。ここで、「ローカルの通信装置」とは、LANに接続された通信装置のうち、設定PC211とイーサネット(登録商標)経由で接続されている通信装置を意味する。たとえば、図1では、通信装置C206が「ローカルの通信装置」に該当する。
設定PC211は、「ローカルの通信装置」を特定するために、取得したNICのリストのうちから、1つのNICを選択する(S102)。
次に、設定PC211は、選択したNICに基づいて、「デバイス・ソフトウェア・バージョン要求MMEパケット(MMTYPE=0xA000)」を送信する(S103)。このとき、送信先MACアドレス(ODA)は、「HomePlugAV規格で定められたアドレス」とし、送信元MACアドレス(OSA)は、選択したNICのMACアドレスNIC_MACとする。なお、送信先MACアドレスは、「ブロードキャスト・アドレス」であってもよい。
次に、設定PC211は、「デバイス・ソフトウェア・バージョン応答MME(MMTYPE=0xA001)」の受信を待つ(S104)。所定期間(たとえば、数秒)が経過しても、応答MMEが受信されなければ、設定PC211は、選択したNICに対応するローカルの通信装置がないものと判断し、S102に戻る。そして、別のNICを選択の上でS103を再度実行する。
S104で応答MMEを受信すると、設定PC211は、ローカルの通信装置があると判断する。この場合、応答MMEの送信元MACアドレスを参照することで、ローカルの通信装置のMACアドレスを取得する(S105)。設定PC211は、取得したローカル通信装置のMACアドレスをLOCAL_MACに格納する。ここで、LOCAL_MACは、設定PC211の記憶部(RAM2111またはハードディスク2112)に定義された6オクテット分の記憶領域である。
ローカルの通信装置が発見された場合、設定PC211は、リモートの通信装置を探索する。ここで、「リモートの通信装置」とは、設定PC211と「ローカルの通信装置」および伝送媒体を経由して接続されている通信装置を意味する。たとえば、図1では、通信装置A204、通信装置B205が「リモートの通信装置」に該当する。
「リモートの通信装置」を探索するため、設定PC211は、ローカルの通信装置に対して、ネットワーク情報要求MME(MMTYPE=0xA038)を送信する(S106)。このとき、送信先MACアドレスはLOCAL_MACとし、送信元MACアドレスはNIC_MACとする。
次に、設定PC211は、ネットワーク情報要求MMEに対する応答MMEである「ネットワーク情報応答MME(MMTYPE=0xA039)」を受信する。これにより、「リモートの通信装置」有と判断し、応答MMEのペイロードから、リモートの通信装置の個数とそれぞれのMACアドレスを取得する(S107)。取得したリモートの通信装置の個数は「K」に格納する。また、取得したMACアドレスは、REMOTE_MAC[0...K-1]に格納する。
ここで、KおよびREMOTE_MACは、設定PC211の記憶部に定義された記憶領域である。Kのサイズは、1オクテットである。また、HomePlugAV規格において、1ネットワークは254台までの通信装置をサポートするため、REMOTE_MACのサイズは「6オクテット×254」とされている。
次に、設定PC211は、ローカルの通信装置とそれぞれのリモートの通信装置に対して、ブリッジ情報要求MME(MMTYPE=0x6020)を送信する(S108)。
このときのローカルの通信装置向けのブリッジ情報要求MMEは、送信先MACアドレスがLOCAL_MACであり、送信元MACアドレスがNIC_MACである。他方、それぞれのリモートの通信装置向けのブリッジ情報要求MMEは、送信先MACアドレスがREMOTE_MAC[k],k=0...K-1であり、送信元MACアドレスがNIC_MACである。
次に、ブリッジ情報応答MME(MMTYPE=0x6021)を受信し、ブリッジ情報応答MMEのペイロード・データから、各通信装置にブリッジしている機器の個数および各機器のMACアドレスを取得する(S109)。
具体的には、ローカルの通信装置がブリッジしている機器の個数をLLに格納し、それら機器のMACアドレスを、LOCAL_BRIDGED_MAC[0...LL-1]に格納する。LL、LOCAL_BRIDGED_MACは、設定PC211の記憶部に定義された記憶領域である。LLのサイズは1オクテットである。また、LOCAL_BRIDGED_MACのサイズは「6オクテット×64」である。
さらに、それぞれのリモートの通信装置がブリッジしている機器の個数をL[k]に格納すし、それら機器のMACアドレスをREMOTE_BRIDGED_MAC[k][0...L[k]-1], k=0...K-1に格納する。L、REMOTE_BRIDGED_MACは、設定PC211の記憶部に定義された記憶領域である。Lのサイズは「1オクテット×254」である。これに対して、REMOTE_BRIDGED_MACのサイズは「6オクテット×254×64」である。これは、HomePlugAV規格において、それぞれの通信装置が64台までのブリッジをサポートするためである。
S109において、ローカルの通信装置とそれぞれのリモートの通信装置に接続されている(ブリッジしている)機器のMACアドレスを取得することにより、第1の処理手順を終える。
これまでに、説明した第1の処理手順を実行することにより、ローカルの通信装置に接続されている機器と、それぞれのリモートの通信装置に接続されている機器とのMACアドレスを取得できる。
以上の第1の処理手順を実行することによって、図25のような設定用画面を作成するためのデータが入手されるため、必要に応じてその設定用画面を表示させることも可能になる。
なお、各通信装置を識別するために、ヒューマン・フレンドリ名を使用してもよい。ヒューマン・フレンドリ名は、ローカルまたはリモートの通信装置に対して、ヒューマン・フレンドリ名要求MME(MMTYPE=0x6040)を送信することによって、取得できる。また、得られたヒューマン・フレンドリ名をネットワーック・マップに反映させて表示してもよい。
また、第1の探索プロトコルとして、LLTDなどのレイヤー2レベルの探索プロトコルであってもよい。設定PC211は、Discoveryフレームをブロードキャストで送信する。LAN上のLLTD対応機器は、探索フレームに対応して、Helloフレームを返答する。設定PC211は、Helloフレームに対する応答フレームを返す。その後、設定PC211はLAN上のLLTD対応機器と送受信を行ない、ネットワーック・マップを作成する。
(2) 第2の処理手順
次に、第2の処理手順を説明する。第2の処理手順では、LANに接続された機器を探索し、デバイス情報を得る。本実施の形態では、第2の処理手順に用いる探索プロトコルとして、UPnP、SNMP(Simple Network Management Protocol)、DNS(Domain Name System)、NetBIOSの4つのプロトコルを例に挙げて説明する。第2の処理手順で用いるこれらのプロトコルは、レイヤー3レベルのパケットである。
(2−1) 第2の処理手順(UPnPを用いた場合)
まず、探索プロトコルとしてUPnPを用いた第2の処理手順を説明する。図6は、QoS設定用のアプリケーションがインストールされた設定PC211が実行する第2の処理手順を説明するためのフローチャートである。
まず、設定PC211自身のNIC(Network Interface Card)のリストを取得し、NICのIPアドレスをNIC_IPに格納する(S201)。ここで、NIC_IPは、設定PC211の記憶部に定義された4オクテット分の記憶領域である。一般的に、NICは複数存在するため、NIC_IPには、各NICに対応するIPアドレスが格納される。
次に、LANに接続されているUPnP対応機器を探索するために、取得したNICのリストのうちから、1つのNICを選択する(S202)。次に、選択したNICに基づいて、SSDP(Simple Service Discovery Protocol)発見パケットを送信する(S203)。
このとき、送信先IPアドレスは、IPマルチキャスト・アドレスの1つである「239.255.255.250」とし、送信元IPアドレスは、選択したNICのIPアドレスNIC_IPとする。また、UDP宛先ポートを1900とする。
これにより、SSDP発見パケットはマルチキャストで送信され、LAN上の複数の機器に到達する。LAN上の複数の機器のうちのUPnP対応機器は、SSDP発見パケットを受信すると、SSDP発見応答パケットをSSDP発見パケットの送信元へ返信する。このとき、SSDP発見応答パケットは、UPnP対応機器からユニキャストで送信される。
図7に、SSDP発見パケットとSSDP発見応答パケットの例を示す。設定PC211は、SSDP発見パケットを送信した後、SSDP発見応答パケットの受信を待つ(S204)。所定期間(たとえば、数秒)が経過しても、SSDP発見応答パケットが受信されなければ、設定PC211は、選択したNICに対応するUPnP対応機器がないと判断し、S202に戻る。そして、別のNICを選択の上でS203を再度実行する。
設定PC211は、SSDP発見応答パケットを受信すると、UPnP対応機器があると判断する。この場合、設定PC211は、SSDP発見応答パケットの送信元IPアドレスを参照することで、UPnP対応機器のIPアドレスを取得する。さらに、SSDP発見応答パケットのペイロードに含まれるロケーション情報(URL-Uniform Resource Locator)を取得する。設定PC211は、取得したIPアドレスおよびロケーション情報を設定PC211の記憶部に定義された所定の記憶領域へ格納する(S205)。
UPnP対応機器が複数存在する場合には、複数のUPnP対応機器の各々からSSDP発見応答パケットが返信される(S204)。このようにして、複数のSSDP発見応答パケットを受信したときには、設定PC211は、SSDP発見応答パケットごとにS205の処理を実行する。その結果、設定PC211の所定の記憶領域には、複数のUPnP対応機器ごとにIPアドレスとロケーション情報とが格納される。
取得したロケーション情報は、対応するUPnP対応機器のデバイス情報の入手先を示している。ロケーション情報は、たとえば、「LOCATION: http://192.168.11.6:20081/description.xml\r\n」のような情報から成る。
次に、設定PC211は、記憶領域に格納したロケーション情報(URL)が指し示す場所へ、TCPコネクションを張って、デバイス情報取得パケットを送信する(S206)。デバイス情報取得パケットは、HTTP(Hypertext Transfer Protocol)のGETメッセージである。TCPコネクションの接続先IPアドレスとポート番号は、ロケーション情報(URL)に記述されている。
次に、設定PC211は、デバイス情報取得応答パケットを受信する(S207)。図8に、デバイス情報取得パケットとデバイス情報取得応答パケットの例を示す。デバイス情報取得応答パケットは、デバイス情報取得パケットと同様にHTTPのパケットである。デバイス情報取得応答パケットは、図9に示すように、<device Type>、<friendly Name>、<manufacturer>、<manufacturer URL>、<model Description>、<model Name>、<model Number>、<UDN>、<icon List>、<icon>…などの、XML形式で記述されたデバイス情報を含んでいる。
S207の後、設定PC211は、受信したデバイス情報取得応答パケットから、UPnP対応機器のデバイス情報を取得する(S208)。
なお、設定PC211の記憶領域に複数のUPnP対応機器のIPアドレスとロケーション情報とが格納されている場合には、UPnP対応機器別にS206〜S208を実行することによって、複数のUPnP対応機器のすべてについて、デバイス情報を取得する。
S208において、設定PC211は、各種機器(UPnP対応機器)のIPアドレスとデバイス情報(デバイス・タイプ、フレンドリ名、ベンダー名などの情報)とを取得することにより、第2の処理手順を終える。
S208で得られるデバイス情報は、機器のデバイス・タイプ(device Typeタグ)、機器のフレンドリ名(friendly Nameタグ)、機器のベンダー名(manufacturerタグ)などを含む。また、デバイス情報として、機器の「アイコン(iconタグ)」を取得できる場合もある。なお、機器のフレンドリ名は、機器の型番になっていることが多い。これらのデバイス情報をネットワーク・マップに取り込んで表示すると、QoSを設定するユーザが各機器を識別しやすくなる。
UPnPの標準規格によると、デバイス情報の1つであるデバイス・タイプとして、表1に示すものが定義されている。デバイス・タイプを参照することによって、機器の種別を把握できる。
以上、説明した第2の処理手順を実行することにより、LANに接続されている各種UPnP対応機器のIPアドレスとデバイス情報とを取得できる。
(2−2) 第2の処理手順(SNMPを用いた場合)
次に、SNMPを用いた第2の処理手順を説明する。なお、以下に説明する手順は、「UPnPを用いた場合」と同様に、QoS設定用のアプリケーションがインストールされた設定PC211が実行する。
まず、設定PC211は、LANに接続されているSNMP対応機器を探索するために、GET−REQUESTパケットを送信し、SNMP GET−RESPONSEパケットによる応答を待つ。
図10および図11に、SNMP GET−REQUESTパケットと、SNMP GET−RESPONSEパケットの例を示す。図示するように、SNMP GET−REQUESTパケットは、送信先IPアドレスを同一セグメントのブロードキャストとし、送信元IPアドレスを設定PCのIPアドレスとし、UDP宛先ポートを161とする。
たとえば、設定PCのIPアドレスが「192.168.11.7」、サブネットマスクが「255.255.255.0/24」であった場合には、送信先IPアドレスを「192.168.11.255」と設定する(ホストアドレス部をすべて1とする。)。これにより、SNMP対応機器は、同一セグメントのブロードキャストを受信できる。
また、GET−REQUESTパケットでは、たとえば、MIB(Management information base)のsystem−SysNameを要求する。
LANに接続されたSNMP対応機器は、GET−REQUESTパケットを受信すると、ユニキャストのGET−RESPONSEパケットを設定PC211へ返信する。複数のSNMP対応機器がLANに接続されているときには、各機器の各々からGET−RESPONSEパケットが返信される。
設定PC211は、受信したGET−RESPONSEパケットから機器の管理情報と機器のIPアドレスとを取得する。たとえば、GET−REQUESTパケットでsystem−SysNameを要求していたときには、GET−RESPONSEパケットから機器のシステム名を取得できる。なお、機器のIPアドレスは、GET−RESPONSEパケットの送信元IPアドレスから取得する。
設定PC211は、取得した機器の管理情報(たとえば、システム名)を機器のIPアドレスとともに所定の記憶領域へ格納する。設定PC211は、取得した機器の管理情報をアプリケーションの処理手順に従ってネットワーク・マップに取り込んで画面に表示する。これにより、ユーザは、機器の情報を詳細に把握した上で、QoSを設定することができる。図3に示した「MX-450F」は、SNMPを用いた第2の処理手順により得られたシステム名の一例である。
(2−3) 第2の処理手順(DNSプロトコルを用いた場合)
次に、DNSプロトコルを用いた第2の処理手順を説明する。DNSプロトコルは、機器のIPアドレスに基づいて機器のホスト名を入手するために用いられる。
設定PC211は、インストールされているQoS設定用のアプリケーションに従い、以下の処理を実行する。
まず、設定PC211は、LAN上に存在する機器のIPアドレスを探索する。そのために、設定PC211は、ARP(Address Resolution Protocol)テーブルを最新のデータに更新するための「ARPテーブル更新処理」を実行する。ARPテーブルは、機器のIPアドレスとMACアドレスとを対応付けたテーブルである。設定PC211のオペレーティング・システムは、相手機器と通信するときに、相手機器のMACアドレスを動的に取得し、その機器のIPアドレスと対応付けてARPテーブルに保存する。ARPテーブルは、たとえば、ARPコマンドを実行することによって取得可能である。
図12にARPコマンドを実行することによって、参照されるARPテーブルの例を示す。図12では、左の列にIPアドレスが、中央の列にMACアドレスが、それぞれ示されている。なお、図12に示される「dynamic」は、その情報が一定期間、再利用されないときはテーブルから自動削除されるキャッシュデータであることを意味する。設定PC211は、LAN上に存在する機器のIPアドレスを、ARPテーブルによって探索するものとする。従って、ARPテーブルに、できるだけ多くのLAN上に存在する機器が登録されていることが望ましい。
「ARPテーブル更新処理」は、以下の手順によって実行される。
まず、設定PC211は、ARPテーブルを更新するために、設定用PC211自身のNICのリストの中からひとつを選択する。そして、選択したNICのIPアドレスとサブネットマスクとMACアドレスとを取得する。IPアドレスおよびサブネットマスクは、GetIpAddrTable関数を用いることで取得できる。また、MACアドレスは、GetAdaptersAddresses関数を用いることで取得できる。
次に、設定PC211(アプリケーション)は、サブネット上のすべてのIPアドレスを送信先IPアドレスとして、任意のIPパケットの送信を試みる。IPパケットの送信は、sendto関数を用いることで実現できる。実際にIPパケットの送信が行なわれる前に、設定PC211のオペレーティング・システム(TCP/IPプロトコル・スタック)によって、以下の処理が実施される。
まず、オペレーティング・システムは、ARPテーブルに、送信先のIPアドレスに対応するMACアドレスが保存されているか否かを調べる。MACアドレスが保存されていない場合には、ARPパケットをブロードキャスト送信する。ARPパケットは、IPアドレスからMACアドレスを問い合わせるためのパケットである。指定されたIPアドレスを持つ機器がLANに接続されていれば、その機器からARPパケットに対する応答パケットが返信されてくる。
オペレーティング・システムは、返信されたARP応答パケットに含まれるMACアドレスとIPアドレスとを対の情報として、ARPテーブルに記憶する。これによって、ARPテーブルが更新される。
オペレーティング・システムは、ARP応答パケットを受信した場合、さらに、IPパケットを送信する。ARP応答パケットを受信しない場合、IPパケットを送信しない。
ここで、「サブネット上のすべてのIPアドレス」とは、たとえば、設定PC211のIPアドレスが「192.168.0.10」、サブネットマスクが「255.255.255.0」であった場合、「192.168.0.1」〜「192.168.0.254」を意味する。
設定PC211は、IPパケットの送信を試みてからオペレーティング・システムによってARPテーブルが更新されるまで、待機すればよく、IPパケットの受信を待つ必要はない。待機時間は、たとえば、1秒程度とする。
なお、IPパケットについては、例えば、PING要求(ICMP ECHO REQUEST)パケットとする。PING要求パケットの場合、送信先の機器からPING応答(ICMP ECHO RESPONSE)パケットが返ってくる場合があるが、ここではARPテーブルを更新するのが目的であるため、設定PC211はPING応答パケットの受信を待つ必要はない。また、PINGに限らず、送信先IPアドレスを指定できれば任意のパケットを用いてもよい。
さらに、サブネット上のすべてのIPアドレス宛てにPINGを送信するのではなく、送信先IPアドレスを192.168.0.255にして、PING要求パケットをブロードキャストで送信してもよい。この場合、複数の機器がPING応答パケットを返信するので、これに基づいて、オペレーティング・システムがARPテーブルを更新する。
以上、QoS設定に関わるアプリケーションとオペレーティング・システムとによる「ARPテーブル更新処理」によって、ARPテーブルが最新の状態に更新される。
次に、設定PC211は、IPヘルパのGetIpNetTable関数を用いて、最新の状態に更新されたARPテーブルを取得する。ARPテーブルには、サブネット上に存在する機器のIPアドレスが登録されている。
次に、設定PC211は、gethostbyaddr関数を用いて、ARPテーブルに登録されているIPアドレスに対応するホスト名を取得する。
その際、設定PC211のオペレーティング・システム(TCP/IPプロトコル・スタック)によって、以下の処理が実施される。設定PC211のオペレーティング・システムは、DNS問合せパケットをDNSサーバに送信する。設定PC211には、DNSサーバのアドレス情報があらかじめ設定されているものとする。DNSサーバは、DNS問合せパケットに応答し、DNS応答パケットを返す。DNS応答パケットには、指定されたIPアドレスに対応するホスト名が含まれる。
設定PC211は、取得した機器のホスト名を、機器のIPアドレスとともに、設定PC211の所定の記憶領域に格納する。
以上が、DNSプロトコルを用いた第2の処理手順である。
また、設定PC211は、ARPテーブルを使わずに、LAN上に存在する機器のIPアドレスを探索することも可能である。たとえば、設定PC211は、DHCP(Dynamic Host Configuration Protocol)サーバに問い合わせてLAN上に存在する機器のIPアドレスを探索することができる。(図1におけるルータ202がDHCPサーバの役割を持つ。)。DHCPサーバは、LAN上の機器のIPアドレスを設定するので、IPアドレスの割り当てデータを保持しているはずである。
設定PC211は、DNSプロトコルを用いて取得した情報をアプリケーションの処理手順に従ってネットワーク・マップに取り込んで画面に表示する。これにより、ユーザは、機器の情報を詳細に把握した上で、QoSを設定することができる。
(2−4) 第2の処理手順(NetBIOSプロトコルを用いた場合)
次に、NetBIOSプロトコルを用いた第2の処理手順を説明する。一般に、家庭内ネットワークには、DNSサーバが存在しないため、家庭内ネットワークを対象としたときには、DNSプロトコルを用いてホスト名を取得するのが困難である。この場合、NetBIOSプロトコルを用いてホスト名を取得する手法が有効である。
設定PC211は、インストールされているQoS設定用のアプリケーションに従い、以下の処理を実行する。
まず、設定PC211は、IPヘルパのGetIpNetTable関数を用いて、ARPテーブルを取得する。次に、NetBIOSプロトコルを用いて、ARPテーブルに登録されているIPアドレスに対応するホスト名を取得する。
ただし、NetBIOSプロトコルには、gethostbyaddr関数のような専用の関数はない。そこで、設定PC211は、コマンド「nbtstat -a IPアドレス」を実行してホスト名を取得する。あるいは、設定PC211は、NetBIOSパケットを送信して、ホスト名を取得する。NetBIOSパケットを送信する場合には、ARPテーブルに登録されているIPアドレスを送信先アドレスに指定して、UDP(ポート137番)パケットを送信する。なお、このパケットのパケット・フォーマットはDNSパケットと類似したものである。
設定PC211は、取得した機器のホスト名を、機器のIPアドレスとともに、設定PC211の所定の記憶領域に格納する。
以上が、NetBIOSプロトコルを用いた第2の処理手順である。
設定PC211は、NetBIOSプロトコルを用いて取得した情報をアプリケーションの処理手順に従ってネットワーク・マップに取り込んで画面に表示する。これにより、ユーザは、機器の情報を詳細に把握した上で、QoSを設定することができる。
以上、第2の処理手順として、UPnP、SNMP、DNS、NetBIOSプロトコルの各々を用いた実施の形態を説明した。第2の処理手順としては、いずれか1つのプロトコルを用いて機器の情報を取得してもよいし、いずれか2つ以上のプロトコルを組み合わせて機器の情報を取得してもよい。
あるいは、最初は1つのプロトコルのみを実行し、これでは情報が得られなかった機器に対して、別のプロトコルを実行し、それでも情報が得られなかった機器に対して、未だ使用していないプロトコルを実行するという手法を採用してもよい。
あるいは、最初は1つのプロトコルのみを実行し、これでは情報が得られなかった機器に対して、残りプロトコルすべてを実行するという手法を採用してもよい。
これらの場合に、最初に使用するプロトコル、あるいは、第2、第3番目に使用するプロトコルをUPnP、SNMP、DNS、NetBIOSプロトコルのいずれにしてもよい。たとえば、最初にUPnPを採用し、次にSNMPを、最後にNetBIOSを採用することが考えられる。
(3) 第3の処理手順
次に、図13を参照して、第3の処理手順を詳細に説明する。図13は、QoS設定用のアプリケーションがインストールされた設定PC211が実行する第3の処理手順を説明するためのフローチャートである。
第3の処理手順では、第1の処理手順で取得した物理アドレスと、第2の処理手順で取得したIPアドレスおよび機器の各種情報とを、設定PC211の内部に保存しているARPテーブルを利用して関連付ける。
まず、設定PC211は、「ARPテーブル更新処理」を実行する(S301)。「ARPテーブル更新処理」の詳細は、第2の処理手順(DNSプロトコルを用いた場合)を説明する際に、既に説明したとおりである。したがって、ここでは、「ARPテーブル更新処理」を繰り返して説明しない。なお、第2の処理手順として、既に「ARPテーブル更新処理」を実行済みの場合には、ARPテーブルが最新データに更新されているため、第3の処理手順としては、「ARPテーブル更新処理」を改めて実行しなくてもよい。
ただし、第2の処理手順として、「ARPテーブル更新処理」を実行してから相当の時間が経過すると、キャッシュのデータが失われるなどして、ARPテーブルを更新する必要が生じる。このため、第3の処理手順として、必ず「ARPテーブル更新処理」を実行してもよい。
「ARPテーブル更新処理」の後、設定PC211は、IPヘルパのGetIpNetTable関数を用いて、ARPテーブルを取得する(S302)。
次に、設定PC211は、第1の処理手順を実行することによって得た機器のMACアドレスを一つ選択する(S303)。ここで選択されるMACアドレスは、図5のS109で得たMACアドレスである。すなわち、ローカルの通信装置に接続されている機器のMACアドレス「LOCAL_BRIDGED_MAC[l], l=0...LL-1」と、それぞれのリモートの通信装置に接続されている機器のMACアドレス「REMOTE_BRIDGED_MAC[k][l], k=0...K-1, l=0...L[k]-1)」とのうちから、MACアドレスが選択される。
次に、設定PC211は、ARPテーブルを用いて、選択したMACアドレスに対応するIPアドレスが有るか否かを判断する(S304)。もし、選択したMACアドレスに対応するIPアドレスが存在しなければ、選択したMACアドレスに対応する機器に関して入手している情報は、MACアドレスのみであるので、当該機器に対応する情報としてMACアドレスのみを記憶し、S303に戻る。その後、「LOCAL_BRIDGED_MAC[l], l=0.. .LL-1」および「REMOTE_BRIDGED_MAC[k][l], k=0...K-1, l=0...L[k]-1)」のうちから、未だ選択されていないMACアドレスを選択して、S304の処理を繰り返す。
S304において、指定されたMACアドレスに対応するIPアドレスがあれば、設定PC211は、指定されたMACアドレスとIPアドレスとをリンクづけて所定の記憶領域に格納する(S305)。
S305の後、設定PC211は、IPアドレスに対応した「機器に関する情報」があるか否かを判断する(S306)。ここで「機器に関する情報」とは、第2の処理手順で得られたデバイス情報(デバイス・タイプ、フレンドリ名、ベンダー名など)、システム名、ホスト名などである。
「機器に関する情報」がなければ、設定PC211は、当該機器に対応する情報としてMACアドレスとIPアドレスのみを記憶し、S303に戻り、次のMACアドレスを選択する。
S306において、IPアドレスに対応した「機器に関する情報」があれば、設定PC211は、選択したMACアドレスとIPアドレスと「機器に関する情報」とをリンクづけし、S305で格納した記憶領域の情報(MACアドレスとIPアドレスとのリンク情報)を更新して格納する(S307)。
次に、設定PC211は、すべてのMACアドレスを調べたか否かを判断する(S308)。すべてのMACアドレスを調べていないときには、再度、S303に戻り、未選択のMACアドレスを選択して、S304〜S308を実行する。
S308において、すべてのMACアドレスを調べたと判断したときには、S305およびS307でリンクづけしたデータに基づいたネットワーク・マップを作成する(S309)。次に、設定PC211は、作成したネットワーク・マップを他のボタン310,320等とともに設定PC211のモニタに表示し(S310)、第3の処理手順を終える。
以上、説明した第3の処理手順によれば、図3に示したQoS設定用画面のように各機器および機器に関する情報をモニタ画面上に表示可能となる。
たとえば、第2の処理手順でUPnPを用いたときには、MACアドレスおよびIPアドレスに加えて、「デバイス・タイプ」、「フレンドリ名」、「ベンダー名」、「アイコン(iconタグ)」などのデバイス情報をネットワーク・マップに反映させることができる。あるいは、第2の処理手順でSNMPプロトコル/DNSプロトコルを用いたときには、MACアドレスおよびIPアドレスに加えて、「機器のシステム名」/「機器のホスト名」をネットワーク・マップに反映させることができる。
たとえば、図3の機器203に対応して表示された「192.168.11.3、ebook」という情報のうち、前者が「機器のIPアドレス」であり、後者が「機器のホスト名」である。
なお、「デバイス情報」、「機器のシステム名」、あるいは「機器のホスト名」を表示する場合には、MACアドレスおよびIPアドレスの双方または一方は、あえてネットワーク・マップに表示しないようにしてもよい。
また、「デバイス情報」、「機器のシステム名」、および「機器のホスト名」のいずれも取得できなかった場合であっても、各機器のIPアドレスとMACアドレスとをネットワーク・マップに反映させることができる。
あるいは、また、IPアドレスすら取得できなかったときでも、各機器のMACアドレスをネットワーク・マップに反映させることができる。また、次の手順によって、MACアドレスから機器のベンダー名を割り出して、MACアドレスに加えてベンダー名をネットワーク・マップに反映させることも可能である。
すなわち、MACアドレスには、OUI(Organizationally Unique Identifier)と称される、ベンダーに固有の値が割り当てられる上位3オクテットの領域が定義されている。設定PC211に、ベンダー名とOUIとの対応表データを予め格納しておけば、取得したMACアドレスのOUIと、対応表データとを設定PC211が対比することによって、MACアドレスに対応する機器のベンダー名を特定できる。
たとえば、図3において、「?」と表示されている機器203に「vendorC_59:3e:02」という情報が対応付けられているが、これが、そのOUIから得たベンダー名(vendorC)とMACアドレスの一部(59:3e:02)である。
なお、機器の「アイコン」については、UPnP対応機器からアイコン情報を取得できたならば、それをネットワーク・マップに反映させる(UPnP対応機器によっては、自らのアイコン情報を保持するものがある。)。
UPnP対応機器のアイコン情報を取得できないときには、たとえば、デバイス・タイプ(Internet Gateway Device、Media Server、Printerなど)に応じたアイコンを用いる。デバイス・タイプが不明の場合、どの機器にも適用できるデフォルトのアイコンを用いる。デフォルトのアイコンは、図3において、「?」と表示されている。あるいは、デバイス・タイプが不明の場合には、あえてアイコンを表示せずに、判明している情報(MACアドレス等)のみを表示してもよい。
また、第3の処理手順としては、S309のネットワーク・マップを表示する処理を含まなくてもよい。この場合、たとえば、設定PC211は、ネットワーク・マップを表示するための操作を検出したときに、作成したネットワーク・マップをモニタに表示することが考えられる。
次に、QoSの設定手順を説明する。図3を参照して、設定用画面には、ネットワーク・マップとともに、QoSを設定するための「優先設定(双方向)」ボタン310と「優先設定(片方向)」ボタン320とが表示される。
以下、QoSの設定方法について、双方向と片方向とに分けて説明する。
《優先設定(双方向)》
設定PC211は、図3に示すQoS設定用画面において、「優先設定(双方向)」ボタン310のクリックを検出すると、図14(a)に示すダイアログ・ボックス311を表示する。ダイアログ・ボックス311には、QoSを設定する対象の機器を選択するためのリスト部312,315が、データの送信元とする機器と、データの送信先とする機器とに分かれて表示される。
さらに、各リスト部312,315の下には、リスト部で選択されている機器に対応するアイコン314,317およびその機器に関する情報が表示される。ここで表示される「機器に関する情報」は、たとえば、図3に示された、「機器に関する情報」と同じである。また、アイコン314とアイコン317との間には、設定が双方向であることを示すために「双方向を指す矢印のアイコン」が表示されている。
各リスト部312,315の右側には、機器を選択するための選択部313,316がさらに表示される。たとえば、設定PC211は、選択部313をクリックする操作を検出すると、図14(b)に示すドロップダウンリスト101をリスト部312の下方に展開する。
ドロップダウンリスト101には、第1〜第3の処理手順によって特定された各機器の情報が一覧表示されている。たとえば、機器がUPnP対応機器の場合は、少なくともベンダー名とフレンドリ名を表示する。あるいは、機器のIPアドレスがわかる場合は、IPアドレスを表示する。また、機器のシステム名/ホスト名が得られる場合はそれらの情報も表示する。機器のMACアドレスだけわかる場合は、MACアドレスを表示する。MACアドレスの上位3オクテットからベンダー名を割り出すことができれば、ベンダー名を表示してもよい。
設定PC211は、ドロップダウンリスト101のうちから機器を選択する操作を検出すると、ドロップダウンリスト320を閉じて、リスト部312に表示する機器を選択に応じた機器に更新する。また、これと連動して、アイコン314を更新する。
リスト部315についても同様に、選択部316の操作が検出されることによって、ドロップダウンリストが表示される。これにより、ユーザは「シンク(送信先)」の機器を選択可能となる。ただし、ソース機器とシンク機器が同じである組合せは禁則である。
設定PC211は、「ソース(送信元)」および「シンク(送信先)」の機器が選択された状態で、OKボタン318のクリック操作を検出すると、選択されたソース機器およびシンク機器との間の双方向のトラフィックに対して、QoSを設定する。なお、設定PC211は、キャンセルボタン319のクリック操作を検出すると、ダイアログ・ボックス311を閉じて、図3の設定用画面を表示する。
本実施の形態では、QoSの制御として、従来技術の欄で説明した「優先制御型QoS(Prioritized QoS)」を採用している。特に、本実施の形態では、QoSの設定として、ベスト・エフォートより高伝送優先度である「ビデオ」か「音声」のいずれかを指定する。
また、本実施の形態では、従来技術の欄で説明した「フロー識別情報に基づく方法」でQoSを設定する。特に、本実施の形態では、「Ethernet(送信先アドレス|送信元アドレス)」をフロー識別情報として指定する。
データ伝送に関わる通信装置がフロー識別情報から伝送優先度を把握するためのルールを、「クラシファイア・ルール(classify rule)」と呼ぶ。各通信装置は、伝送データにクラシファイア・ルールで定義されたフロー識別情報が含まれていれば、クラシファイア・ルールで定義された伝送優先度に従って、その伝送データを他の伝送データよりも優先して伝送する。フロー識別情報は、たとえば、MACアドレスである。あるいは、フロー識別情報をIPアドレスやポート番号とすることも可能である。
設定PC211は、図14(a)に示すダイアログ・ボックス311で選択されたソース機器およびシンク機器の間の双方向のトラフィックを対象として、以下のクラシファイア・ルール1および2を通信装置C206などに対して設定する。
クラシファイア・ルール1:「送信元MACアドレス=ソース機器のMACアドレス」、「送信先MACアドレス=シンク機器のMACアドレス」、「アクション=CAP2」
クラシファイア・ルール2:「送信元MACアドレス=シンク機器のMACアドレス」、「送信先MACアドレス=ソース機器のMACアドレス」、「アクション=CAP2」
なお、「アクション」は、QoSを適用する伝送データのアクセス・カテゴリである。特に、「CAP2」は、PLC(HomePlugAV)でサポートされているアクセス・カテゴリであって、「ビデオ」に対応する。
クラシファイア・ルール1および2によれば、ソース機器およびシンク機器間の双方向のQoSが4段階中の3段階目に設定される。
所定の通信装置にクラシファイア・ルールを設定するためには、設定PC211が通信装置に対してクラシファイア・ルールを含むMMEパケットを送信すればよい。クラシファイア・ルールを含むMMEパケットを受信した通信装置は、クラシファイア・ルールを受信パケットから取得し、格納する。以降、通信装置は、格納しているクラシファイア・ルールに基づいて、伝送データを優先制御する。
《優先設定(片方向)》
設定PC211は、図3に示すQoS設定用画面において、「優先設定(片方向)」ボタン320のクリックを検出すると、図15(a)に示すダイアログ・ボックス321を表示する。ダイアログ・ボックス321は、説明文が片方向であることを記載している点、およびアイコン324とアイコン327との間の矢印アイコンが片方向を指している点を除いて、「優先設定(双方向)」に対応するダイアログ・ボックス311と同様のレイアウトであり、その機能も同様である。
設定PC211は、選択部323あるいは選択部326をクリックする操作を検出すると、図15(b)に示すドロップダウンリスト102をリスト部322あるいはリスト部325の下方に展開する。ドロップダウンリスト102は、図14(b)のドロップダウンリスト320と同様である。
設定PC211は、ソース機器およびシンク機器が選択された状態で、OKボタン328のクリック操作を検出すると、選択されたソース機器からシンク機器へ向かう片方向のトラフィックに対して、伝送優先度を設定する。具体的には、選択されたソース機器からシンク機器へ向かう片方向のトラフィックを対象として、以下のクラシファイア・ルール3を通信装置C206などに対して設定する。これによって、伝送優先度が設定される。
クラシファイア・ルール3:「送信元MACアドレス=ソース機器のMACアドレス」、「送信先MACアドレス=シンク機器のMACアドレス」、「アクション=CAP2」
また、優先設定(片方向)の場合、ユーザは、ソース機器かシンク機器のいずれかについて、ドロップダウンリスト102中の「指定しない」を選択することもできる。
たとえば、ソース機器について「指定しない」を選択した場合、設定PC211は、あらゆる機器から、選択されたシンク機器へのトラフィックに対して伝送優先度を設定する。具体的には、任意のソース機器から選択されたシンク機器へ向かう片方向のトラフィックを対象として、以下のクラシファイア・ルール4を通信装置C206などに対して設定する。
クラシファイア・ルール4:「送信元MACアドレス=*(任意)」、「送信先MACアドレス=シンク機器のMACアドレス」、「アクション=CAP2」
逆に、シンク機器について「指定しない」を選択した場合、設定PC211は、選択されたソース機器から、あらゆる機器へのトラフィックに対して伝送優先度を設定する。具体的には、選択されたソース機器から任意のシンク機器へ向かう片方向のトラフィックを対象として、以下のクラシファイア・ルール5を通信装置C206などに対して設定する。
クラシファイア・ルール5:「送信元MACアドレス=ソース機器のMACアドレス」、「送信先MACアドレス=*(任意)」、「アクション=CAP2」
以上により、ユーザは、画面上に図示されるダイアログ・ボックスを利用して、伝送優先度を片方向/両方向別に設定できる。
これまでに説明したように、図3に示されるQoS設定用画面には、LANに接続される複数の機器の各々についてMACアドレスやIPアドレス、デバイス情報、システム名、ホスト名などが付加されたネットワーク・マップが表示される。その結果、ユーザは、機器の情報が詳細に表示されたネットワーク・マップを参照しながら、伝送優先度を設定する必要のある機器を簡単に探し出すことができる。
さらに、図3に示される設定用画面には、ユーザが伝送優先度を設定するための双方向および片方向別のボタン310,320が表示される。このため、伝送優先度を双方向および片方向別に設定し易い。しかも、ボタン310あるいはボタン320をクリックすることにより表示されるダイアログ・ボックス311,321には、選択部313,316あるいは選択部323,326の操作に応じて、LANに接続される機器の一覧が図3に示される機器の各種情報とともに表示される。このため、伝送優先度を設定する必要のある機器を簡単に選択することができる。
なお、本実施の形態に係る発明において、通信装置A204、通信装置B205、通信装置C206は、必須ではない。たとえば、ルータ202に直接、設定PC211、プリンタ207、レコーダ208、テレビ209、PC210等の通信機器を接続してもよい。この場合、設定PC211は、第1の処理手順として、LLTDなどのレイヤー2レベルの探索プロトコルを用いる。また、設定PC211は、ルータ202や通信機器などに対して伝送優先度の設定を行なう。ただし、伝送優先度の設定方法はルータや通信機器ごとに異なるので、それぞれの方法で設定する必要である。
[実施の形態2]
実施の形態2が実施の形態1と異なる点は、伝送優先度を設定すると効果的な機器と機器との組合せを設定PC211が自動的に選択してダイアログ・ボックスで表示する点である。実施の形態1では、図14、図15を用いて説明したように、ユーザが、LANに接続された全機器の中から伝送優先度を設定する機器を選択する。実施の形態2では、伝送優先度を設定するために推奨される機器の組合せを設定PC211が自動的に選択してユーザに提示し、ユーザによる伝送優先度の設定を手助けする。
その他の点では、実施の形態2は実施の形態1と同様であり、第1〜第3の処理手順についても、実施の形態1と同様に実行される。以下、図16(a)に示す第4の処理手順のフローチャートを参照しつつ、実施の形態2を説明する。
図16(a)に示す第4の処理手順は、推奨組合せパターンをユーザに提示した上で、ユーザの選択に応じて伝送優先度を設定するための処理手順である。この第4の処理手順は、第1〜第3の処理手順と同様に、QoS設定用のアプリケーションがインストールされた設定PC211が、そのアプリケーションに従って実行する。
まず、設定PC211は、ネットワーク・マップを参照する(S401)。ここで参照されるネットワーク・マップは、第3の処理手順(S309)において、既に作成され、設定PC211に格納されているものである。
次に、ネットワーク・マップから、推奨組合せパターンを検索する(S402)。たとえば、設定PC211は、ネットワーク・マップに含まれる機器の種別(デバイス・タイプ)から、QoSを設定すると効果的であるような機器と機器の組合せを探す。
推奨組合せパターンは、以下のようにして検索する。たとえば、メディア・サーバ(Media Server)などは、音楽や映像などのコンテンツ配信に関わるため、データの伝送品質を他の機器よりも保証してやることが望ましい。そこで、LANに接続されている機器としてMedia Serverが存在し、さらに、Media Rendererとが存在する場合には、これらの機器の組合せを推奨組合せパターンの候補とする。なぜなら、それらの間で、伝送優先度を高くするべきAVデータやその制御データがやりとりされると想定されるためである。
あるいは、LANに接続されている機器として、Internet Gateway DeviceとMedia Rendererとが存在する場合には、これらの機器の組合せを推奨組合せパターンの候補とする。なぜなら、それらの間で、伝送優先度を高くするべきインターネット上のストリーミング・データやその制御データがやりとりされると想定されるためである。
あるいは、LANに接続されている機器として、Internet Gateway DeviceとIP電話とが存在する場合には、これらの機器の組合せを推奨組合せパターンの候補とする。なぜなら、それらの間で、伝送優先度を高くするべき音声データがやりとりされると想定されるためである。
これらは、推奨組合せパターンを選択する際の一例に過ぎず、どのような機器の組合せを推奨するかは実装依存である。将来、UPnP規格等が対象とする機器の範囲が広がれば、それに応じて推奨組合せパターンの検索方法を変更する必要が出てくる。
あるいは、設定PC211は、機器に関する情報を以下のように利用して、推奨組合せパターンを探索してもよい。すなわち、機器に関する情報として取得した「システム名/ホスト名」に特定の文字列が含まれていれば、優先設定を推奨する機器の候補とする。特定の文字列とは、たとえば、特定のベンダー名や特定の製品名などである。
あるいは、設定PC211は、機器のMACアドレスから、QoSを設定すると効果的であるような機器と機器の組合せを探索する。たとえば、MACアドレスのOUI(上位3オクテット)からベンダー名を割り出し、特定のベンダー名の機器について、優先設定を推奨する機器の候補とする。この場合、OUIとベンダー名との関係を示すOUIデータを予め設定PC211の記憶領域に格納しておく。設定PC211は、そのOUIデータを参照することによって、推奨機器を探索することが実現可能となる。
また、設定PC211は、MACアドレスの下位3オクテットから、製品の種別を特定し、優先設定を推奨する機器の候補とするか否かを判断する。この場合、MACアドレスの下位3オクテットとベンダーの製品種別との関係を示すベンダー製品種別データを予め設定PC211の記憶領域に格納しておく。設定PC211は、そのベンダー製品種別データを参照することによって、推奨機器を探索することが実現可能となる。
あるいは、設定PC211は、機器のIPアドレスから、QoSを設定すると効果的であるような機器と機器の組合せを探索する。たとえば、IPアドレスの下位1オクテットの値が1ならば、ルータ(Internet Gateway Device)であると特定する。IPアドレスの下位1オクテットの値が2ならば、メディア・サーバ(Media Server)であると特定する。IPアドレスの下位1オクテットの値が3ならば、メディア・レンダラー(Media Renderer)であると特定する。この手法は、IPアドレスから機器の種別を特定できるような環境において有用である。これは、通信機器ベンダーによるIPアドレス割当て方針に依存する。従って、設定PC211は、上記IPアドレス割当て方針を確認できれば、機器のIPアドレスから推奨機器を探索することは可能である。
設定PC211は、1つあるいは複数の推奨組合せパターンが存在する場合には、その推奨組合せパターンを記憶領域に格納する(S403)。次に、複数の推奨組合せパターンが存在する場合には、優先設定候補として提案する優先順位を決定する(S404)。
優先順序の決定は、たとえば、無線LANやPLCなどにおいてサポートされているアクセス・カテゴリに従う。たとえば、伝送優先度の低い方から順に、「バック・グラウンド」、「ベスト・エフォート」、「ビデオ」、「音声」とするアクセス・カテゴリに従うものとする。
この場合、推奨組合せパターンとして「音声」に属する機器の組合せと、「ビデオ」に属する機器の組合せとが見つかったときには、設定PC211は、前者を後者よりも先に提案してもよい。
なお、推奨組合せパターンが1つのみであったときには、S404の処理は実行しない。
次に、設定PC211は、記憶領域に格納した推奨組合せパターンを所定のタイミングで自動優先設定用のダイアログ・ボックスで画面に表示(S405)し、ユーザがQoSを設定することを手助けする。
図17(a)に、自動優先設定用のダイアログ・ボックス331を示す。このダイアログ・ボックス331は、図3に示したQoS設定用画面を表示する際に、「優先設定(双方向)」ボタン310および「優先設定(片方向)」ボタン320に代えて表示する。あるいは、「優先設定(双方向)」ボタン310および「優先設定(片方向)」ボタン320に代えて、「自動優先設定」ボタンを表示し、当該ボタンのクリック操作が検出されたときに、図17(a)に示すダイアログ・ボックス331を表示してもよい。
図17(a)を参照して、ダイアログ・ボックス331には、優先順位が1位に決定された推奨組合せパターンが優先設定候補として最初に表示される。たとえば、図17(a)では、「Internet Gateway Device」と「Media Renderer」との組合せが優先設定候補として表示されている。また、リスト部332,335には、それぞれの機器のフレンドリ名が図14(a)と同様に表示されており、その下方には対応する機器のアイコン334,337が図14(a)と同様に表示されている。
設定PC211は、「次候補」ボタン340のクリック操作を検出すると、ダイアログ・ボックス331の表示を、優先順位が2位に決定された推奨組合せパターンに更新する。これにより、たとえば、図17(b)に示すような機器の組合せが表示される。
また、設定PC211は、選択部333,336のクリック操作を検出すると、クリック操作が検出された選択部333,336に対応するリスト部332,335の下方に、図14(b)に示したドロップダウンリスト320を表示する。これにより、図14(a)および図14(b)を用いて説明した「優先設定(双方向)」の場合と同様の手順で、ユーザは、推奨組合せパターン以外の組合せで機器を選択して伝送優先度の設定をすることが可能となる。
以上により、QoSを設定すると効果的であるような推奨組合せパターンがダイアログ・ボックスに表示されるため、ユーザは望ましいQoSを容易に設定することができる。
たとえば、ネットワーク上にルータとネットワーク対応TVがあれば、その2つの機器を選択するようにダイアログ・ボックスなどを表示して、ユーザにQoSの設定を促す。この表示に従い、ルータとネットワーク対応TV間で優先制御されるように設定すると、ユーザは、他のトラフィックの影響を極力受けることなく、ネットワーク対応TVでインターネット上の映像データを乱れずに見ることができる。
また、推奨組合せパターンが複数存在するときには、設定効果が高いと判定されるものから順に推奨組合せパターンが設定候補として表示されるため、ユーザは、より設定効果の高い機器の組合せを簡単に見つけることができる。
なお、第3の処理手順で作成したネットワーク・マップのデータを用いて推奨組合せパターンを検索するのではなく、第3の処理手順でリンクづけしたデータ(S305、S307で格納)を参照して、推奨組合せパターンを検索してもよい。この場合には、実施の形態2においては、ネットワーク・マップを作成することは必須でなくなる。
つまり、実施の形態2においては、ネットワーク・マップを作成せず、また、それゆえ、ネットワーク・マップを画面に表示することなく、単に推奨組合せパターンを画面に表示するようにしてもよい。たとえば、優先設定の画面には、図17(a)に示したダイアログ・ボックス331を表示し、図3に示したようなネットワーク・マップや、「自動優先設定」ボタンを表示しないようにしてもよい。
また、設定PC211は、ダイアログ・ボックス331には、最も設定効果の高いと判定した推奨組合せパターンを1つ表示し、「次候補」ボタン340を表示しないようにしてもよい。あるいは、また、ダイアログ・ボックス331には選択部333,336を表示せず、ユーザは、推奨組合せパターンのみしか選択できないようにしてもよい。
あるいは、図17では、「双方向」を対象として「自動優先設定」するケースを説明したが、これに代えて、設定PC211は、「片方向」を対象として「自動優先設定」するものとしてもよい。あるいは、また、設定PC211は、「双方向」および「片方向」別に、推奨組合せパターンを探索し、探索結果を「双方向」および「片方向」別にダイアログ・ボックス331に表示し、ユーザが選択できるようにしてもよい。
あるいは、また、設定PC211は、推奨組合せパターンを表示する際に、ダイアログ・ボックス331を用いることなく、単に推奨組合せパターンを画面に羅列し、いずれかのパターンに対するクリック操作が検出されたときに、その推奨組合せパターンを対象として設定処理を実行してもよい。
[実施の形態3]
実施の形態3は、実施の形態2の変形である。実施の形態2では、推奨組合せパターンをユーザに対して選択候補として提示し、最終的にはユーザの判断に従って、QoS設定をした。実施の形態3では、設定PC211が推奨組合せパターンを見つけると、その第1候補について、自動的に(ユーザの選択操作を待つことなく)QoSの設定を行なう。
図16(b)は、実施の形態3に係わる第4の処理手順2を説明するためのフローチャートである。実施の形態3を実現するためには、図16(b)に示されるように、実施の形態2として説明した第4の処理手順(図16(a)参照)と同様にS401〜S403を実行した後、最も優先順位の高い推奨組合せパターンを特定する(S411)。続いて、特定した推奨組合せパターンを対象として、QoSを自動的に設定する(S412)。
ユーザ操作としては、設定PC211上でアプリケーションを起動するだけであり、それ以外の操作は要求されない。このため、実施の形態3によれば、ユーザは必要最小限の操作で望ましいQoSを設定することができる。
実施の形態3では、たとえば、図3に示すようなネットワーク・マップを表示した上で、自動的にQoS設定した機器の組合せについて、ユーザが認識できるように、他の機器と異なる態様で表示することが考えられる。たとえば、QoS設定した機器のアイコンの色を他の機器のアイコンの色と異ならせることが考えられる。
あるいは、自動的にQoS設定した機器の組合せを、ネットワーク・マップとは別のウインドウに表示してもよい。あるいは、図3に示すようなネットワーク・マップを表示することなく、単に自動的にQoS設定した機器の組合せを画面に表示してもよい。
なお、実施の形態2を説明した際に例示した各種の実施例および変形例は、自動設定であるか手動設定であるかに関する点を除いて、すべて、この実施の形態3にも適用されるが、ここでは、一々、その実施例や変形例の説明を繰り返さない。
[実施の形態4]
実施の形態4では、実施の形態1〜3を用いて説明した設定PC211の各種処理を、通信装置のWEBサーバ機能の一部として実現する例を説明する。図18に、「実施の形態4」における家庭内ネットワークの例を示す。図18に示される家庭内ネットワークには、図1におけるルータ202および通信装置A204に代えて、ルータ202および通信装置A204が一体化された通信装置内蔵ルータ212が接続されている。その点以外に、図18と図1との違いはない。
図19に、実施の形態4に関わる設定の仕組みを図示する。401は、インターネット閲覧用ソフトウエアを起動することによって設定PC211に表示される設定用画面である。また、402は、通信装置内蔵ルータ212の機能イメージである。
通信装置内蔵ルータ212のWEBサーバ403は、1つの機能として、ネットワークに接続された複数の通信装置の中から通信装置を指定してQoSを設定するためのQoS設定用画面を表示する機能を有する。
通信装置内蔵ルータ212は、一般的なルータと同様、それ自身の設定を行なうためのWEBサーバ機能を備えている。このWEBサーバ機能は、CGI(Common Gateway Interface)404と呼ばれるプログラムを実行可能である。CGI404は、WEBサーバ403上で所定の処理を行なって、その結果に応じた動的なページを作成する。また、CGI404のプログラムによって、通信装置内蔵ルータ212自身の設定を書き換えることが可能である。図19の機能イメージ402に示されるとおり、WEBサーバ403とCGI402とは、標準入力、標準出力でデータをやりとりする。
ユーザは、設定PC211にインストールされているインターネット閲覧ソフトを起動して、通信装置内蔵ルータ212のWEBサーバに接続する。具体的には、通信装置内蔵ルータ212のIPアドレスを、たとえば、「192.168.11.1」とすると、「http://192.168.11.1」で接続する。これにより、図19に示されるような設定用画面401が表示される。
ユーザは、設定用画面401から、目的のページをクリックしたり、テキスト・フィールドへ文字を入力したり、あるいはボタン操作などを行なう。通信装置内蔵ルータ212のWEBサーバ機能は、それらのユーザ操作を検出して、CGIを実行する。CGIとして、用途によってプログラムが異なる複数種類のCGI404が用意されている。
ユーザが設定用画面401からQoS設定用画面を開く操作(画面401の「優先設定」をクリック)を行なうと、対応するCGI404が実行されて、「実施の形態1」で説明した手順を実行し、たとえば、図3のような画面が表示される。
以降、実施の形態1はすべて、通信装置内蔵ルータ212におけるWEBサーバ機能とCGI404とで実現できる。同様に、実施の形態2〜4についても、通信装置内蔵ルータ212におけるWEBサーバ機能とCGI404とで実現できる。これらの説明は、各実施の形態1〜4の説明と重複するので、ここではその説明を繰り返さない。
なお、通信装置内蔵ルータ212にとって、ローカルの通信装置は、通信装置内蔵ルータ212に内蔵されている通信装置に相当する。また、リモートの通信装置は、通信装置B205、通信装置C206に相当する。送信元IPアドレスには、通信装置内蔵ルータ212のLAN側のIPアドレスを用いる。通信装置内蔵ルータ212は、IPアドレスを持っているので、UPnP対応機器の探索も可能である。
また、上記各実施の形態では、複数の通信機器(テレビ、PC、プリンタ、NAS、レコーダなどの終端装置としての機器)とともにネットワークに接続された「コンピュータ」の一例として、たとえば、PC211や通信装置内蔵ルータ212を例示した。
しかしながら、「コンピュータ」の概念には、たとえば、1台のPC等に限らず、「ネットワークに分散接続された複数のコンピュータ」も含まれる。すなわち、ネットワークに分散接続された複数のコンピュータが、PC211にインストールされたアプリケーションの複数の処理手順を分担して処理してもよい。この場合、複数のコンピュータのうちの一のコンピュータの処理結果を、分担処理のためにそれを必要とする他のコンピュータへ送信するよう、システム構成してやるとよい。
なお、本発明では「ベスト・エフォート」より優先度の高い「ビデオ」や「音声」に属する機器を対象に優先度を高く設定するようにしているが、それに限らず「ベスト・エフォート」より優先度の低い「バック・グラウンド」に属する機器を対象に優先度を低く設定するようにしてもよい。ここで、「バック・グラウンド」に属する機器とは、通常の機器よりも意図的に低い優先度で伝送しても動作に差し支えない機器のことである。たとえば、バックアップを行なう機器などである。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。