JP7353775B2 - 通信装置、通信装置の制御方法およびプログラム - Google Patents
通信装置、通信装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP7353775B2 JP7353775B2 JP2019056359A JP2019056359A JP7353775B2 JP 7353775 B2 JP7353775 B2 JP 7353775B2 JP 2019056359 A JP2019056359 A JP 2019056359A JP 2019056359 A JP2019056359 A JP 2019056359A JP 7353775 B2 JP7353775 B2 JP 7353775B2
- Authority
- JP
- Japan
- Prior art keywords
- upnp
- network
- message
- ssdp
- communication device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
UPnPにおいて、所定のサービスを提供する論理的な単位を「サービス」と、1つ以上のサービスを有する論理的な単位を「デバイス」と、1つ以上のサービスを制御する論理的な単位を「コントロールポイント」と、それぞれ称する。
UPnPで規定されたコントロールポイント(以下、「UPnPコントロールポイント」という。)は、同一のUUIDを有するUPnPデバイスからサービスを受信すると、受信されたサービスが同一か否かをNLSに基づき認識できる。
しかしながら、複数の異なるアドレス体系を実装するUPnPデバイスが同一サービスをUPnPコントロールポイントへ送信する場合には、以下の課題が生じ得る。即ち、UPnPデバイスが、複数のアドレス体系で同一のサービスを送信すると、それぞれのアドレス体系でSSDP:BYEBYEメッセージと、後続するSSDP:ALIVEメッセージのシーケンスがそれぞれ実行される。ここで、最初のアドレス体系でのSSDP:ALIVEメッセージに後続して、次のアドレス体系でのSSDP:BYEBYEメッセージが送信されるシーケンスが実行されたものとする。この場合、後続する次のアドレス体系でのSSDP:BYEBYEメッセージによって、最初のアドレス体系で送信し利用可能となったサービスが利用できなくなってしまう。
このように、複数の異なるアドレス体系でサービスを提供する際に、サービスが不測に利用不可状態に遷移してしまい、ユーザの利便性が低下するおそれがあった。
図1は、本実施形態に係るネットワークシステムのネットワーク構成の一例を示す図である。
図1のネットワークシステムは、UPnPデバイス1、UPnPコントロールポイント2、およびアクセスポイント3を備える。UPnPデバイス1、UPnPコントロールポイント2、およびアクセスポイント3は、それぞれ、Wi-Fi(登録商標)やBluetooth(登録商標)等に準拠したネットワークインタフェースを有する。
UPnPデバイス1は、アクセスポイント3を介して、UPnPコントロールポイント2に、UPnPで規定されるネットワーク(以下、「UPnPネットワーク」という。)4を介して相互に接続され通信可能である。
UPnPコントロールポイント2は、UPnPで規定されるコントロールポイントとして動作する機能を有するデバイスであり、本実施形態では、PC(PersonalComputer)を例として説明する。ただし、本実施形態に適用可能なUPnPコントロールポイント2は、PCに限定されず、UPnPにおける1つ以上のサービスを制御しUPnPネットワーク4へ接続可能なデバイスであればよい。
図2は、本実施形態に係るUPnPデバイス1のハードウエアおよび機能構成の一例を示す図である。
図2のUPnPデバイス1は、CPU101、ROM102、RAM103、操作部104、ネットワークI/F105、ドライブ106、表示部107、光学部108、符号化・復号化部109、およびタイマ110を備える。図2のUPnPデバイス1の各部は、システムバス111により、通信可能に相互接続される。
なお、UPnPデバイス1は、上記のモジュール全てを備えなくともよく、また図2の構成に加えて追加のモジュール等を備えてもよい。
ROM(Read Only Memory)102は、CPU101が各種処理を実行するために必要となる、変更を必要としない制御プログラムやパラメータ等を記憶する不揮発性メモリである。なお、これら制御プログラム等は、外部メモリや着脱可能な記憶媒体(不図示)に記憶されていてもよい。
RAM(Random Access Memory)103は、CPU101の主メモリ、ワークエリア等として機能し、プログラムやデータを一時的に記憶する。
ネットワークI/F105は、UPnPデバイス1がUPnPネットワーク4に接続するためのネットワークインタフェースである。
ドライブ106は、記録媒体への書き込みや読み出しを行う。
表示部107は、操作部104の操作結果等、各種処理の処理結果を表示出力する。
光学部108は、光学レンズ、CCD等で構成され、静止画や動画等の画像を撮像する。
タイマ110は、CPU101により実行されるプログラムの処理等の時間の経過を計測し管理する。
なお、UPnPデバイス1がUPnPネットワーク4へ参加する際には、ユーザが明示的にネットワーク参加ボタンを押下してON状態とする。一方、UPnPデバイス1がUPnPネットワーク4から離脱する際には、ネットワーク参加ボタンを再押下してOFF状態としてもよく、または電源断ボタン等が操作された場合にUPnPネットワーク4から離脱するよう構成してもよい。
図3は、本実施形態に係るUPnPコントロールポイント2のハードウエアおよび機能構成の一例を示す図である。
図3のUPnPコントロールポイント2は、CPU201、ROM202、RAM203、外部記憶装置204、ネットワークI/F205、入力部206、表示制御部207、および表示部208を備える。図3のUPnPコントロールポイント2の各部は、システムバス209により、通信可能に相互接続される。
なお、UPnPコントロールポイント2は、上記のモジュール全てを備えなくともよく、また図3の構成に加えて追加のモジュール等を備えてもよい。
ROM202は、CPU201が各種処理を実行するために必要となる、変更を必要としない制御プログラムやパラメータ等を記憶する不揮発性メモリである。
本実施形態において、ROM202は、ブートプログラム、BIOS(Basic Input/Output System)、各種ネットワーク設定パラメータ、デバイスディスクリプション、およびデバイス管理テーブル等を記憶している。このデバイス管理テーブルの詳細は、図4を参照して後述する。
なお、これら制御プログラム等は、外部記憶装置204に記憶されていてもよい。
RAM203は、CPU201の主メモリ、ワークエリア等として機能し、プログラムやデータを一時的に記憶する。
ネットワークI/F205は、UPnPコントロールポイント2がUPnPネットワーク4に接続するためのネットワークインタフェースである。
入力部206は、キーボードやマウス等のポインティングデバイスで構成される。
表示制御部207は、ビデオメモリを内蔵し、CPU201からの指示に従ってビデオメモリへの描画処理を実行し、ビデオメモリから描画データを読み出してビデオ信号として表示部208へ出力する。
表示部208は、表示制御部207からのビデオ信号を受信して、受信したビデオ信号に基づきビデオメモリに描画されたデータを画像として表示する。
あるいは、UPNPネットワーク2の下位レイヤは、例えば、Ethernet(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)等の有線ネットワークであってよい。また、無線LAN通信機能と有線LAN通信機能を組み合わせてもよい。
本実施形態において、UPnPコントロールポイント2は、RAM203または外部記憶装置204に、デバイス管理テーブルを記憶する。デバイス管理テーブルは、UPnPコントロールポイント2が制御するサービスを有するUPnPデバイス1の情報を管理するために使用されるテーブルである。
図4は、UPnPデバイスの情報を記憶するデバイス管理テーブルの一例を示す。図4(a)のデバイス管理テーブル41は、IPアドレス42、UUID43、NLS44、デバイス固有情報45、およびサービス状態46のフィールドを含む。
デバイス固有情報45は、UPnPデバイス1のデバイスディスクリプションとサービスディスクリプションの内容を示す。サービス状態46は、UPnPデバイス1が提供するサービスの状態を示す。本実施形態では、サービス状態46は、「idle」または「busy」のいずれかの値を示す。
UPnPコントロールポイント2は、UPnPデバイス1から受信する各種メッセージに記述されるパラメータを抽出し、デバイス管理テーブル41の各フィールドに値を書き込む。
図5は、複数の異なるアドレス体系で、UPnPデバイス1がUPnPコントロールポイント2に対してネットワーク参加してサービスを提供する際の、従来のメッセージシーケンスの一例を示す。図5の処理は、UPnPデバイス1の電源がON状態になったことを契機に開始されてよい。
S51で、UPnPデバイス1は、UPnPネットワーク4へ参加するためのネットワーク設定を行う。ここでは、IPv4とIPv6との双方のネットワーク設定を行うものとする。
S52で、UPnPデバイス1は、IPv4とIPv6のネットワークに参加する。
なお、図5において、メッセージの送信シーケンスは、IPv4でSSDP:BYEBYEメッセージに続いてSSDP:ALIVEメッセージを送信する。その後、IPv6でSSDP:BYEBYEメッセージに続いてSSDP:ALIVEメッセージを送信するものとして説明する。SSDP:ALIVEメッセージは、UPnPデバイスがUPnPネットワーク4に存在することを示すメッセージであり、SSDP:BYEBYEメッセージは、UPnPデバイスがUPnPネットワーク4から離脱することを示すSSDPメッセージである。
次に、S55で、UPnPデバイス1は、IPv4でSSDP:ALIVEメッセージをUPnPコントロールポイント2へ送信する。
S56で、UPnPコントロールポイント2は、S55で送信されたSSDP:ALIVEメッセージを参照して、UPnPデバイス1のデバイスディスクリプションを取得するためにHTTP GETコマンドをUPnPデバイス1へ送信する。
S57で、UPnPデバイス1は、HTTP GETコマンドに応答して、UPnPデバイス1のデバイスディスクリプションをUPnPコントロールポイント2へ送信する(ステータスコード:200 OK)。
S58でUPnPコントロールポイント2がIPv4のアドレス体系でのサービス利用可能状態に遷移した後、S59で、UPnPデバイス1は、IPv6でSSDP:BYEBYEメッセージをUPnPコントロールポイント2へ送信する。
S63で、UPnPデバイス101は、HTTP GETコマンドに応答して、UPnP デバイス1のデバイスディスクリプションをUPnPコントロールポイント2へ送信する(ステータスコード:200 OK)。
S64で、デバイスディスクリプションを受信したUPnPコントロールポイント2は、IPv6のアドレス体系でのサービス利用可能状態になる。なお、S64で利用可能となったサービスは、S58でIPv4のアドレス体系で一旦利用可能となったサービスと同一のサービスである。
このため、S62でUPnPコントロールポイント2から再度HTTP GETコマンドをUPnPデバイス1へ送信し、S63でUPnPデバイス1からデバイスディスクリプションを応答して、サービスを利用可能な状態に復帰させなければならない。これにより、UPnPコントロールポイント2とUPnPデバイス1間で余分な通信を必要となり、サービス提供における通信効率が低下しかねない。
このようにメッセージシーケンスを制御することで、UPnPコントロールポイント2が最初のアドレス体系でサービス利用不可状態に不測に遷移することが防止され、また、その後のHTTP GETコマンドに関わるメッセージ送受信の回数を削減できる。
さらに、S59からS63の間でサービス利用不可状態になることも回避することができるため、UPnPコントロールポイント2の利便性が向上する。
図6は、UPnPデバイス1が実行するサービス提供処理の処理手順の一例を示すフローチャートである。図6に示す処理は、例えば、UPnPデバイス1の電源がONの状態になったことを契機に開始されてよい。
UPnPデバイス1はCPU101が必要なプログラムをROM102または外部メモリから読み出して実行することにより、図6に示す処理を実行することができる。ただし、図2に示す各要素のうち少なくとも一部が専用のハードウエアとして動作することで図6の処理が実現されるようにしてもよい。この場合、専用のハードウエアは、CPU101の制御に基づいて動作する。
S1のネットワークの設定では、具体的に、UPnPデバイス1のIPアドレス、サブネットマスク、およびゲートウェイの設定を行う。ネットワーク設定は、IPv4アドレス体系またはIPv6アドレス体系どちらか一方のみの設定でもよいし、双方のアドレス体系を設定してもよい。S1で設定されたアドレス体系は、UPnPデバイス1のROM102に記憶される。
CPU101が、開始すべきサービスで使用されるアドレス体系を判定することにより、UPnPデバイス1のユーザに、どのアドレス体系でUPnPサービスを開始させるかを選択入力させる手間を省略することができる。S3で、判定されたアドレス体系がIPv4またはIPv6の一方のみの場合、S4に進み、判定されたアドレス体系がIPv4とIPv6との双方の場合、S6に進む。
比較の結果、S4で送信されたSSDP:BYEBYEメッセージのUUIDに一致するUUID43がデバイス管理テーブル41にあれば、UPnPコントロールポイント2は、デバイス管理テーブル41から当該エントリーを削除する。
なお、本実施形態では、一例として、キャッシュ期間を1800秒とするが、任意のキャッシュ期間が設定されてよい。キャッシュ期間が経過すると、UPnPコントロールポイント2は、デバイス管理テーブル41からキャッシュ期間の過ぎたUPnPデバイス1のエントリーを削除する。キャッシュ期間は、SSDP:ALIVEメッセージをUPnPデバイス1から受信することで更新される。なお、UPnPデバイス1は、SSDP:ALIVEメッセージを、S8~S10の間、周期的に送信してもよい。
S3に戻り、一方、判定されたアドレス体系がIPv4およびIPv6の双方である場合、S6で、UPnPデバイス1のネットワークI/F105は、まず、SSDP:BYEBYEメッセージを、UPnPコントロールポイント2へ送信する。S6では、S3で判定されたアドレス体系で、すなわちIPv4およびIPv6の双方のアドレス体系で、ネットワークI/F105は、SSDP:BYEBYEメッセージをそれぞれ送信する。
このように、SSDP:ALIVEメッセージを送信するのに先立って、IPv4とIPv6の双方のアドレス体系でSSDP:BYEBYEをそれぞれ送信しておくことで、図5で説明した通信の負荷やサービス利用不可状態が解消される。
なお、S6の後にS7の処理を実行する際、S6のSSDP:BYEBYEメッセージ送信処理が正常に動作したことをCPU101が確認してから、S7のSSDP:ALIVEメッセージ送信処理を開始するようにしてもよい。あるいは、S6の処理が十分に終了するであろう時間をあらかじめ設定し、S3の後に、タイマ110で計測した時間が設定値を過ぎたときにS7の処理を開始してもよい。
HTTP GETコマンドを受信した場合、S9で、UPnPデバイス1のネットワークI/F105は、HTTP GETコマンドの送信元であるUPnPコントロールポイント2へ、サービス内容を送信する。本実施形態では、UPnPデバイス1のネットワークI/F105は、UPnPコントロールポイント2に対して、デバイスディスクリプションを送信する。
S11で、UPnPデバイス1のネットワークI/F105は、SSDP:BYEBYEメッセージを、UPnPコントロールポイント2へ送信する。S11では、S3で判定された全てのアドレス体系で、ネットワークI/F105は、SSDP:BYEBYEメッセージを送信する。これにより、IPv4またはIPv6のみ受信するUPnPコントロールポイント2とIPv4とIPv6双方を受信するUPnPコントロールポイント2とで、サービス利用可能状態が異なるという事象を回避することができる。
UPnPデバイス1が、S7で、IPv4とIPv6の双方でSSDP:ALIVEメッセージを送信した場合に、S11で、IPv6のSSDP:BYEBYEメッセージのみしか送信しなかったと仮定する。
この場合、IPv4のみを受信するUPnPコントロールポイント2は、IPv4のアドレス体系でのサービス利用可能状態だが、IPv4とIPv6双方を受信するUPnPコントロールポイント2は、サービス利用不可状態となる。
なお、本実施形態では、S11で、S3で判定されたアドレス体系のいずれかでSSDP:BYEBYEメッセージの送信に失敗した場合、エラー処理を実行してよい。このエラー処理では、例えば、送信に失敗したアドレス体系でSSDP:BYEBYEメッセージを再送してもよく、あるいは、UPnPデバイス1が、強制的にUPnPネットワーク4から離脱してもよい。
図7は、UPnPコントロールポイント2が実行するサービス受信処理の処理手順の一例を示すフローチャートである。図7に示す処理は、例えば、UPnPコントロールポイント2の電源がONの状態になったことを契機に開始されてよい。
S71で、UPnPコントロールポイント2は、ネットワークの設定を実行する。このネットワークの設定は、UPnPコントロールポイント2の電源投入時や、物理的な接続の確立時に自動で設定されてもよく、入力部206からの操作により設定されてもよい。
S71のネットワークの設定では、具体的に、IPアドレス、サブネットマスク、およびゲートウェイの設定を行う。ネットワーク設定は、IPv4アドレス体系またはIPv6アドレス体系のどちらか一方で設定してもよいし、双方のアドレス体系を設定してもよい。
S73で、UPnPコントロールポイント2のネットワークI/F205は、UPnPデバイス1からSSDP:ALIVEメッセージを受信したか否かを判定する。SSDP:ALIVEメッセージを受信した場合(S73:Y)、S74へ進む。一方、SSDP:ALIVEメッセージを受信しなかった場合(S73:N)、S78へ進む。
S74では、UPnPコントロールポイント2のCPU201は、デバイス管理テーブル41を参照することにより、HTTP GETコマンドを送信すべき対象か否かを判定する。具体的には、UPnPコントロールポイント2は、デバイス管理テーブル41のUUID43およびNLS44と、受信されたSSDP:ALIVEメッセージ中のUUIDおよびNLSとをそれぞれ比較する。
HTTP GETコマンドを送信すべき対象であると判定された場合、S75で、UPnPコントロールポイント2のネットワークI/F205は、HTTP GETコマンドをUPnPデバイス1へ送信する。
具体的には、UPnPコントロールポイント2のCPU201は、S73で受信されたSSDP:ALIVEメッセージから抽出されたUPnPデバイス1のIPアドレス、UUID、およびNLSで、デバイス管理テーブル41を更新する。また、UPnPコントロールポイント2のCPU201は、S75の応答として受信されたUPnPデバイス1のデバイスディスクリプションで、デバイス管理テーブル41を更新する。
具体的には、UPnPコントロールポイント2のCPU201は、S73で受信されたSSDP:ALIVEメッセージから抽出されたIPアドレス、UUID、およびNLSで、デバイス管理テーブル41を更新する。このとき、デバイス管理テーブル41のデバイス固有情報45およびサービス状態46は、NULL等の空白を表す文字を書き込んでもよく、あるいはS74での比較処理で一致したデバイス管理テーブル41の値に基づいて書き込んでもよい。
SSDP:BYEBYEメッセージを受信した場合(S78:Y)、S79へ進み、一方、SSDP:BYEBYEメッセージを受信しない場合(S78:N)、S79をスキップしてS80へ進む。
具体的には、UPnPコントロールポイント2のCPU201は、S78で受信されたSSDP:BYEBYEメッセージから抽出されたUUIDと、デバイス管理テーブル41のUUID43とを比較する。比較の結果、受信されたSSDP:BYEBYEメッセージ中のUUIDに一致するUUID43がデバイス管理テーブル41中にあれば、当該エントリーをデバイス管理テーブル41から削除する。一方、受信されたSSDP:BYEBYEメッセージ中のUUIDに一致するUUID43がデバイス管理テーブル41中になければ、デバイス管理テーブル41を更新しない。
S80で、UPnPコントロールポイント2のCPU201は、UPnPネットワーク4から離脱するか否かを判定する。UPnPネットワーク4から離脱しないと判定された場合(S80:N)、S73に戻って、S73からS80までの処理を繰り返す。一方、UPnPネットワーク4から離脱すると判定された場合(S80:Y)、S81に進んで、UPnPネットワーク4から離脱して処理を終了する。
以下、図8から図10を参照して、本実施形態におけるUPnPデバイス1からUPnPコントロールポイント2へのUPnPサービス提供の処理手順を説明する。
図8は、UPnPデバイス1とUPnPコントロールポイント2との間のUPnPサービス送信の際のメッセージシーケンスの一例を示す。なお、図8の各ステップにおいて、図5の従来のシーケンスと同様の処理については、同一の符号を付して説明する。
図8では、UPnPコントロールポイント2は、予め、図7のネットワーク設定(S71)およびネットワークへの参加(S72)を完了しているものとする。また、UPnPコントロールポイント2は、IPv4およびIPv6双方のアドレス体系でのメッセージおよびサービスを受信できるものとする。
具体的には、UPnPデバイス1は、IPv4のIPアドレスに192.168.1.10を設定し、IPv6のIPアドレスにfe80::4828:23c3:52de:5df8を設定したものとする。
S52で、UPnPデバイス1は、操作部104のネットワーク参加ボタンの押下等により、ネットワークI/F105を介して、IPv4とIPv6のUPnPネットワーク2に参加する。
S54で、UPnPデバイス1のネットワークI/F105は、IPv4のアドレス体系のネットワークでSSDP:BYEBYEメッセージをUPnPコントロールポイント2へ送信する。
S54で送信されたSSDP:BYEBYEメッセージは、UPnPコントロールポイント2のネットワークI/F205により受信される。UPnPコントロールポイント2のCPU201は、受信されたSSDP:BYEBYEメッセージ中のUUIDとデバイス管理テーブル41に記録されたUUID43とを比較する(図7のS79)。
SSDP:BYEBYEメッセージに記述されるUPnPデバイス1のUUIDは、図9(a)の「USN:uuid:」に続く文字列「adcd・・・6bf6」で表される。一方、この時点で、デバイス管理テーブル41は初期状態でありエントリーが記録されていない。
このため、比較の結果、受信されたSSDP:BYEBYEメッセージ中のUUIDとデバイス管理テーブル41のUUID43とは一致しないため、デバイス管理テーブル41に削除すべきエントリーはなく、デバイス管理テーブル41は更新されない。
図9(b)は、図8のS59でUPnPデバイス1のネットワークI/F105がIPv6で送信するSSDP:BYEBYEメッセージの記述内容を示す。
S59で送信されたSSDP:BYEBYEメッセージは、UPnPコントロールポイント2のネットワークI/F205により受信される(図7のS73:N、S78:Y)。UPnPコントロールポイント2のCPU201は、受信されたSSDP:BYEBYEメッセージ中のUUIDとデバイス管理テーブル41に記録されたUUID43とを比較する(図7のS79)。
この時点でも、デバイス管理テーブル41は初期状態でありエントリーが記録されていない。このため、比較の結果、受信されたSSDP:BYEBYEメッセージ中のUUIDとデバイス管理テーブル41のUUID43とは一致しないため、デバイス管理テーブル41に削除すべきエントリーはなく、デバイス管理テーブル41は更新されない。
なお、図8において、S54とS59の順序は逆であってもよい。
図10(a)は、図8のS55でUPnPデバイス1のネットワークI/F105がIPv4で送信するSSDP:ALIVEメッセージの記述内容を示す。
S55で送信されたSSDP:ALIVEメッセージは、UPnPコントロールポイント2のネットワークI/F205により受信される(図7のS73:Y)。
UPnPコントロールポイント2のCPU201は、受信されたSSDP:ALIVEメッセージが、HTTP GETコマンドを送信する対象か否かを判定する(S74)。
このため、UPnPコントロールポイント2のCPU201は、受信されたSSDP:ALIVEメッセージ中のUUIDおよびNLSの双方とも、デバイス管理テーブル41のUUID43とNLS44に一致しないと判定する(図7の74:Y)。
図8に戻り、S56で、UPnPコントロールポイント2のネットワークI/F205は、UPnPデバイス1へ、HTTP GETコマンドを送信する(図7のS75)。S56で送信されるHTTP GETコマンドは、S55で受信された図10(a)のSSDP:ALIVEメッセージ中の「Location:」に続く文字列「192.168.1.10」を宛先として送信される。
S56で送信されたHTTP GETコマンドは、UPnPデバイス1により受信されたと判定される(図6のS8:Y)。
UPnPコントロールポイント2のネットワークI/F205は、UPnPデバイス1からデバイスディスクリプションを受信し、UPnPコントロールポイント2のCPU201は、デバイス管理テーブル41を更新する(図7のS76)。
この段階で、デバイス管理テーブル41には、図4(a)に示すように、UPnPデバイス1のIPv4のアドレス体系のエントリーが追加される。
S58で、UPnPコントロールポイント2のCPU201は、デバイス管理テーブル41のデバイス固有情報45を参照して、IPv4のアドレス体系でUPnPデバイス1のサービスディスクリプションを取得可能な状態となっている。すなわち、S58で、UPnPコントロールポイント2は、IPv4のアドレス体系でのサービス利用可能状態に遷移する。
図10(b)は、図8のS61でUPnPデバイス1のネットワークI/F105がIPv6で送信するSSDP:ALIVEメッセージの記述内容を示す。
UPnPコントロールポイント2のネットワークI/F205は、UPnPデバイス1からSSDP:ALIVEメッセージを受信する(図7のS73:Y)。UPnPコントロールポイント2のCPU201は、受信されたSSDP:ALIVEメッセージがHTTP GETコマンドの対象か否かを判定する(S74)。
次に、UPnPデバイス1のCPU201は、デバイス管理テーブル41に、IPv6のアドレス体系のエントリーを追加し、図4(a)に示すデバイス管理テーブル41から図4(b)に示すデバイス管理テーブル47に更新する。
これにより、最初のアドレス体系でUPnPデバイスから送信されたサービスについて、UPnPデバイスが他のアドレス体系についてネットワークから離脱することで、不測にサービス利用不可状態へ遷移してしまうことが有効に防止できる。また、最初のアドレス体系でUPnPデバイスから送信されたサービスが、一時的に利用不可状態に遷移してしまうことがないため、サービスの利便性が向上する。
さらに、複数の異なるアドレス体系のいずれかについて、同一サービスについてサービス受信のためのデバイスの情報が所得できている場合には、HTTP GETコマンドの送信を行わないため、サービス提供における通信効率が向上する。
また、コンピュータが読みだしたプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
Claims (12)
- 第1および第2のアドレス体系のうち1つ以上を設定してネットワークに参加する参加手段と、
前記参加手段により参加した前記ネットワーク上に存在していることを示す存在メッセージを前記ネットワークへ送信する第1の送信手段と、
前記ネットワークから離脱することを示す離脱メッセージを前記ネットワークへ送信する第2の送信手段と、
前記第1および第2のアドレス体系のうち、いずれのアドレス体系が設定されたかを判定する判定手段と、
前記判定手段により、前記第1および第2のアドレス体系のうち双方が設定されたと判定された場合、前記第2の送信手段に、前記第1および第2のアドレス体系の双方で前記離脱メッセージを前記ネットワークへ送信させ前記第1および第2のアドレス体系の双方での前記離脱メッセージの送信が完了した後に、前記第1の送信手段に前記存在メッセージを前記ネットワークへ送信させるよう制御する送信制御手段と
を備えることを特徴とする通信装置。 - 前記判定手段により設定されたと判定されたアドレス体系で、前記ネットワークへの所定のサービスを開始する開始手段をさらに備え、
前記送信制御手段は、前記開始手段により前記所定のサービスが開始された際に、前記離脱メッセージおよび前記存在メッセージを前記ネットワークへ送信させるよう制御することを特徴とする請求項1に記載の通信装置。 - 前記判定手段により、前記第1および第2のアドレス体系のうち一方が設定されたと判定された場合、前記送信制御手段は、前記第1および第2のアドレス体系のうち他方が設定されていないことを示す通知を生成する
ことを特徴とする請求項1または2に記載の通信装置。 - 前記送信制御手段は、前記第1および第2のアドレス体系のうち他方の設定を促す通知を生成する
ことを特徴とする請求項3に記載の通信装置。 - 前記開始手段により開始された前記所定のサービスを停止する停止手段をさらに備え、
前記送信制御手段は、前記停止手段により前記所定のサービスを停止する際に、前記第1および第2のアドレス体系の双方で前記離脱メッセージを前記ネットワークへ送信させるよう制御する
ことを特徴とする請求項2に記載の通信装置。 - 前記通信装置は、UPnP(Universal Plug and Play)で規定されるUPnPデバイスであり、
前記参加手段により参加する前記ネットワークは、UPnPで規定されるUPnPネットワークである
ことを特徴とする請求項1から5のいずれか1項に記載の通信装置。 - 前記存在メッセージは、SSDP(Simple Service Discovery Protocol):ALIVEメッセージであり、前記離脱メッセージは、SSDP:BYEBYEメッセージである
ことを特徴とする請求項6に記載の通信装置。 - 前記第1の送信手段は、前記ネットワークへの所定のサービスを示す情報を、前記SSDP:ALIVEメッセージのNLS(Network Location Signature)に設定する
ことを特徴とする請求項7に記載の通信装置。 - 前記通信装置は、メディアサーバとして動作し、前記所定のサービスは、当該メディアサーバに関するサービスであることを特徴とする請求項8に記載の通信装置。
- 前記通信装置は、撮像部と記憶部を有する通信装置であることを特徴とする請求項9に記載の通信装置。
- 第1および第2のアドレス体系のうち1つ以上を設定してネットワークに参加するステップと、
前記第1および第2のアドレス体系のうち、いずれのアドレス体系が設定されたかを判定するステップと、
前記第1および第2のアドレス体系のうち双方が設定されたと判定された場合、前記第1および第2のアドレス体系の双方で、前記ネットワークから離脱することを示す離脱メッセージを前記ネットワークへ送信するステップと、
前記第1および第2のアドレス体系の双方で、前記離脱メッセージを前記ネットワークへ送信し前記第1および第2のアドレス体系の双方での前記離脱メッセージの送信が完了した後に、前記ネットワーク上に存在していることを示す存在メッセージを前記ネットワークへ送信するステップと、
を備えることを特徴とする通信装置の制御方法。 - コンピュータを、請求項1から10のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019056359A JP7353775B2 (ja) | 2019-03-25 | 2019-03-25 | 通信装置、通信装置の制御方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019056359A JP7353775B2 (ja) | 2019-03-25 | 2019-03-25 | 通信装置、通信装置の制御方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020161874A JP2020161874A (ja) | 2020-10-01 |
| JP7353775B2 true JP7353775B2 (ja) | 2023-10-02 |
Family
ID=72639942
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019056359A Active JP7353775B2 (ja) | 2019-03-25 | 2019-03-25 | 通信装置、通信装置の制御方法およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7353775B2 (ja) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040111494A1 (en) | 2002-12-06 | 2004-06-10 | Microsoft Corporation | Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments |
| US20040267876A1 (en) | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Ad-hoc service discovery protocol |
| JP2005175724A (ja) | 2003-12-09 | 2005-06-30 | Canon Inc | 通信装置及び撮像装置並びにその制御方法及びネットワークシステム |
| JP2006108803A (ja) | 2004-09-30 | 2006-04-20 | Brother Ind Ltd | 管理システム及びプログラム |
| US20090080453A1 (en) | 2007-09-21 | 2009-03-26 | Nokia Corporation | Context aware ipv6 connection activation in a upnp remote access environment |
-
2019
- 2019-03-25 JP JP2019056359A patent/JP7353775B2/ja active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040111494A1 (en) | 2002-12-06 | 2004-06-10 | Microsoft Corporation | Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments |
| US20040267876A1 (en) | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Ad-hoc service discovery protocol |
| JP2005175724A (ja) | 2003-12-09 | 2005-06-30 | Canon Inc | 通信装置及び撮像装置並びにその制御方法及びネットワークシステム |
| JP2006108803A (ja) | 2004-09-30 | 2006-04-20 | Brother Ind Ltd | 管理システム及びプログラム |
| US20090080453A1 (en) | 2007-09-21 | 2009-03-26 | Nokia Corporation | Context aware ipv6 connection activation in a upnp remote access environment |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020161874A (ja) | 2020-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8810669B2 (en) | Image input device having different wireless communication states, control method and program therefor | |
| US9974104B2 (en) | Wireless communication apparatus and method for seamlessly communicating data by setting up and switching between multiple networks | |
| JP6869746B2 (ja) | 通信装置、その制御方法、プログラム | |
| WO2013177001A1 (en) | Devices and methods for facilitating direct pairing in a wireless docking system | |
| JP2004318852A (ja) | 被制御デバイスのリストを提供するネットワーク装置、システム及び方法 | |
| JP7549702B2 (ja) | 通信装置、制御方法、およびプログラム | |
| US10873784B2 (en) | Communication apparatus, image capturing apparatus, control method, and storage medium | |
| CN113382065B (zh) | 文件下载方法、装置、系统、设备及存储介质 | |
| WO2018224040A1 (en) | Method and device of information transmission | |
| US20150092764A1 (en) | Communication apparatus, data processing apparatus, control method thereof, and recording medium | |
| CN107925940A (zh) | 通信系统、通信装置和用于重新连接通信系统的方法 | |
| US20180213019A1 (en) | Information processing apparatus, method for controlling same, and storage medium | |
| WO2023273533A1 (zh) | 网络管理方法及装置 | |
| WO2017166569A1 (zh) | 一种终端控制方法及装置 | |
| CN113794996A (zh) | 设备通信、设备控制方法、装置、电子设备和存储介质 | |
| JP7353775B2 (ja) | 通信装置、通信装置の制御方法およびプログラム | |
| JP5843634B2 (ja) | 通信装置、および、その制御方法、プログラム | |
| JP2013109521A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| JP2017017594A (ja) | 通信装置、制御方法、及びプログラム | |
| US20200036763A1 (en) | Information processing apparatus and control method | |
| US20140334340A1 (en) | Communication device, method for controlling the communication device, and program | |
| CN106341252A (zh) | 资源管理方法、装置及控制终端 | |
| US9602579B2 (en) | Communication apparatus, method for controlling the same, and program | |
| JP2014143660A (ja) | 携帯端末、表示装置、テレビジョン受像機、無線通信システム | |
| TW201947911A (zh) | 自動建置雲端服務的方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220302 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221223 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230124 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230322 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230809 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230822 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230920 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7353775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |