(57)【要約】本発明は、ＵＰｎＰコントロールポイント（３０２）がＵＰｎＰデバイス（３０４）のこれから起こる構成状態の変化に反応する方法に関するものであり、その方法は：ＵＰｎＰデバイスがＵＰｎＰコントロールポイント（３０２）に対して移行サービスを提供し、ＵＰｎＰコントロールポイント（３０２）が前記移行サービスに登録し、変更イベントを通じて前記ＵＰｎＰデバイス（３０４）のこれから起こる構成状態の変化のことを前記ＵＰｎＰコントロールポイント（３０２）に告知し、前記ＵＰｎＰデバイス（３０４）の構成状態の変化を実行し、前記ＵＰｎＰコントロールポイント（３０２）が前記ＵＰｎＰデバイス（３０４）の構成状態の前記変化に対して前記変更イベントに基づいて反応する、ことを有する。本発明はさらに、ＵＰｎＰコントロールポイント（３０２）がＵＰｎＰデバイス（３０４）のこれから起こる構成状態の変化に反応するようなシステム（３００、３２８、３３０）に関するものであり、そのシステムは：前記ＵＰｎＰデバイス（３０４）が前記ＵＰｎＰコントロールポイント（３０２）に対して移行サービスを提供するよう考えられた提供手段（３１２）と、前記ＵＰｎＰコントロールポイント（３０２）が前記移行サービスに登録するよう考えられた登録手段（３２２）と、変更イベントを通じて前記ＵＰｎＰデバイス（３０４）のこれから起こる構成状態の変化のことを前記ＵＰｎＰコントロールポイント（３０２）に告知するよう考えられた告知手段と（３１４）、前記ＵＰｎＰデバイス（３０４）の構成状態を変更するよう考えられた変化手段（３１６）と、前記ＵＰｎＰコントロールポイント（３０２）が前記ＵＰｎＰデバイス（３０４）の構成状態の変化に対して前記変更イベントに基づいて反応する反応手段（３２４）とを有する。
2006519431.tif 000002
【特許請求の範囲】
【請求項１】
ＵＰｎＰコントロールポイントがＵＰｎＰデバイスのこれから起こる構成状態の変化に反応する方法であって：
・前記ＵＰｎＰデバイスが前記ＵＰｎＰコントロールポイントに対して移行サービスを提供し、
・前記ＵＰｎＰコントロールポイントが前記移行サービスに登録し、
・変更イベントを通じて前記ＵＰｎＰデバイスのこれから起こる構成状態の変化のことを前記ＵＰｎＰコントロールポイントに告知し、
・前記ＵＰｎＰデバイスの構成状態を変化させ、
・前記ＵＰｎＰコントロールポイントが前記ＵＰｎＰデバイスの構成状態の前記変化に対して前記変更イベントに基づいて反応する、ことを有する方法。
【請求項２】
前記変更イベントが当該ＵＰｎＰデバイスの新しいＩＰアドレスを有することを特徴とする、請求項１記載の方法。
【請求項３】
前記変更イベントが当該ＵＰｎＰデバイスによって提供されるサービスの変更を有することを特徴とする、請求項１記載の方法。
【請求項４】
ＵＰｎＰコントロールポイントがＵＰｎＰデバイスのこれから起こる構成状態の変化に反応するようなシステムであって：
・前記ＵＰｎＰデバイスが前記ＵＰｎＰコントロールポイントに対して移行サービスを提供するよう考えられた提供手段と、
・前記ＵＰｎＰコントロールポイントが前記移行サービスに登録するよう考えられた登録手段と、
・変更イベントを通じて前記ＵＰｎＰデバイスのこれから起こる構成状態の変化のことを前記ＵＰｎＰコントロールポイントに告知するよう考えられた告知手段と、
・前記ＵＰｎＰデバイスの構成状態を変化させるよう考えられた変化手段と、
・前記ＵＰｎＰコントロールポイントが前記ＵＰｎＰデバイスの構成状態の前記変化に対して前記変更イベントに基づいて反応するよう考えられた反応手段とを有することを特徴とするシステム。
【請求項５】
請求項１ないし３のうちいずれか一項記載の方法を一つ以上の処理ユニットに実行させる命令を記録した、コンピュータ読み取り可能な媒体。
【請求項６】
請求項４記載のシステムを有するＵＰｎＰデバイス。
【請求項７】
請求項４記載のシステムを有するＵＰｎＰコントロールポイント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＰｎＰデバイスのこれから起こる構成状態の変化にＵＰｎＰコントロールポイントが反応する方法に関するものである。
【０００２】
本発明はさらに、ＵＰｎＰデバイスのこれから起こる構成状態の変化にＵＰｎＰコントロールポイントが反応するシステムに関するものである。
【０００３】
本発明はさらに、一つ以上の処理ユニットにそのような方法を実行させる命令を記録したコンピュータ読み取り可能な媒体に関するものである。
【０００４】
本発明はさらに、そのようなシステムを有するＵＰｎＰデバイスおよびＵＰｎＰコントロールポイントに関するものである。
【背景技術】
【０００５】
「ユニバーサル・プラグアンドプレイ」（ＵＰｎＰ）は大小を問わずあらゆるインテリジェント機器、無線デバイス、パソコンの横断浸透的（ｐｅｒｖａｓｉｖｅ）ピアツーピアネットワーク接続のための技術仕様である。これは、家庭だろうが、小規模オフィスだろうが、公共の場所だろうが、インターネットにつながっているのだろうが、その場限りのあるいはサーバー管理されていないネットワークへの使いやすい、柔軟な、標準規格に基づく接続を実現すべく設計されたものである。ユニバーサル・プラグアンドプレイは、ＴＣＰ／ＩＰおよびウェブ技術にてこ入れをして、家庭やオフィス、公共空間におけるネットワーク接続されたデバイスの間での制御やデータ転送に加えてシームレスな近場ネットワーキング（ｐｒｏｘｉｍｉｔｙ  ｎｅｔｗｏｒｋｉｎｇ）を可能にする、分散型のオープンなネットワーキングアーキテクチャーである。これについては“Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ”，Ｖｅｒｓｉｏｎ  １．０，０８  Ｊｕｎｅ  ２０００，（Ｃ）１９９９−２０００  Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎに見られ、これは次の版Ｖｅｒｓｉｏｎ  ２．０が現在開発中である。
【０００６】
そのような方法とシステムの一つの実施形態がＷＯ０２／４９２７６で開示されている。ここではＵＰｎＰコントロールポイント装置と被コントロール装置のネットワークが記述されている。各装置はネットワークに、該装置やそのサービスについてのいくつかの本質的な細目を提供する。コントロールポイント装置は特に興味のあるデバイスを探索することができる。装置は、ログオフ・メッセージを送ったときにネットワークからログオフされる。コントロールポイントがあるデバイスの性能を知れば、そのデバイスを制御したり監視したりすることができる。コントロールポイントはまた、デバイスでイベントが起こるたびに告知するよう要求することもできる。コントロールポイントはデバイスにおけるいかなる状態変化についてでも告知されるよう「登録」を行い、特定の変数の値の変化といったような指定された状態変化はこの告知過程から除外してもよい。デバイスは状態を変えるたびに登録者すべてに、その特定の状態変化を登録から除外している登録者を除いて、そのイベントを告知する。デバイスの変化がたとえばＩＰアドレスの変更のためだったり、あるいはデバイス記述情報の一部を変更する必要のためだったり、あるいはその両方だったりする場合には、そのデバイスはネットワークからログオフする必要がある。実質的にその子デバイスおよびサービスがもう使えなくなるという内容の「さよなら」メッセージを送らなければならない。そのデバイスがネットワークからログオフしたあとで、そのネットワークとの接続を再開して、そのおそらくは変更された細目およびサービス情報を再告知することができる。
【発明の開示】
【課題を解決するための手段】
【０００７】
ＵＰｎＰデバイスとＵＰｎＰコントロールポイントとの間の通信を改良する前述したような方法を提供することが本発明の目的の一つである。この目的を達成するために、前記方法は以下のことを有する：
・ＵＰｎＰデバイスがＵＰｎＰコントロールポイントに対して移行（ｍｉｇｒａｔｉｏｎ）サービスを提供し、
・ＵＰｎＰコントロールポイントがその移行サービスに登録し、
・変更イベントを通じてＵＰｎＰデバイスのこれから起こる構成状態の変化のことをＵＰｎＰコントロールポイントに告知し、
・ＵＰｎＰデバイスの変化を実行し、
・ＵＰｎＰコントロールポイントがＵＰｎＰデバイスの構成状態の前記変化に対して前記変更イベントに基づいて反応する。
【０００８】
移行サービスを提供してそれにＵＰｎＰコントロールポイントが登録できるようにすることによって、ＵＰｎＰデバイスがネットワークからログオフすることによって変化しようとしていることについて、ＵＰｎＰコントロールポイントが告知を受けることができる。そうすればＵＰｎＰコントロールポイントは、たとえばそのＵＰｎＰデバイスの一時的な利用不能といったことの影響を最小限にする予防措置を講じることができる。
【０００９】
本発明に基づく方法の一つの実施形態が請求項で記述されている。ＵＰｎＰコントロールポイントにＵＰｎＰデバイスの新しいＩＰアドレスを告知することによって、ＵＰｎＰデバイスはＩＰアドレス変更によって起こりうる影響について予防措置を講じることができる。たとえば、ＵＰｎＰコントロールポイントがＵＰｎＰデバイスへのＵＲＬ（一様リソース位置指定子）を含んでいる場合、ＵＰｎＰデバイスがネットワークに対して自ら再告知をする前にＵＲＬを変えることができる。さらに、ＵＰｎＰコントロールポイントによって維持されている「古い」ＵＲＬを含んでいるイベント用キャッシュはクリアできる。
【００１０】
本発明に基づく方法の一つの実施形態が請求項で記述されている。ＵＰｎＰコントロールポイントにＵＰｎＰデバイスのサービス変更を告知することによって、ＵＰｎＰデバイスはそのサービス変更によって起こりうる影響について予防措置を講じることができる。このサービスはたとえば打ち切ることもでき、その場合ＵＰｎＰデバイスはたとえばユーザーインターフェースからそのサービスを利用する手段を削除することができる。このことは、たとえば、サービスがもはやそのネットワーク上で利用できなくなっているのにユーザーがそのサービスを利用しようとするといった事態を防止する。
【００１１】
ＵＰｎＰデバイスとＵＰｎＰコントロールポイントとの間の通信を改良する前述したようなシステムを提供することが本発明の目的の一つである。この目的を達成するために、前記システムは以下のことを有する：
・ＵＰｎＰデバイスがＵＰｎＰコントロールポイントに対して移行サービスを提供するよう考えられた提供手段と、
・ＵＰｎＰコントロールポイントがその移行サービスに登録するよう考えられた登録手段と、
・変更イベントを通じてＵＰｎＰデバイスの構成状態のこれから起こる変化のことをＵＰｎＰコントロールポイントに告知するよう考えられた告知手段と、
・ＵＰｎＰデバイスの変化を実行するよう考えられた変化手段と、
・ＵＰｎＰコントロールポイントがＵＰｎＰデバイスの構成状態の前記変化に対して前記変更イベントに基づいて反応するよう考えられた反応手段とである。
【００１２】
本発明に基づくシステムの実施形態は付属の請求項において記述される。
これらのことを含む本発明のさまざまな側面は、以下に図面によって解説する形で記述される実施形態を参照することで明らかとなり、明確に説明されることであろう。
【発明を実施するための最良の形態】
【００１３】
図１はＵＰｎＰコントロールポイント装置と被コントロール装置のネットワークを確立し、維持するＵＰｎＰプロセスの例を示す図である。ＵＰｎＰによるネットワーク構成の基礎はＩＰアドレス決定である。各装置は１１０において一意的なアドレスを割り当てられる。これは、当該ネットワークを管理するＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ［動的ホスト構成プロトコル］）サーバーによる割り当てを通じて、あるいは当該ネットワークがサーバー管理されていなければ自動ＩＰアドレス生成機能を通じて行われる。装置にはまた、爾後各装置に言及する際に便利なように、ＵＰｎＰとなじみやすい装置名が割り当てられてもよい。しかし、ＤＮＳ（ドメイン名割り当てサービス）名のような別の名前があてはまればそれを使ってもよい。
【００１４】
ＩＰアドレスが与えられれば、ＵＰｎＰプロセスにおける次なるステップは検出１２０である。ここでは各装置がネットワークに該装置やそのサービスについてのいくつかの本質的な細目を、必要に応じてより詳細な情報の場所指示とともに提供する。コントロールポイントもまたこの検出プロセスを利用し、特に関心のあるデバイスを探索する。デバイスはその本質的な特性を最初にネットワークにはいったときに告知するほか、コントロールポイントによるその特性検索に反応しても告知する。ネットワークが最新の状態に保たれていることを保証するために、デバイスはこの検出プロセス１２０を通じて定期的にその告知内容を更新することを求められる。デバイスはログオフ・メッセージを通信したときに、あるいはその告知を更新しなかったときにネットワークからログオフされる。
【００１５】
ＵＰｎＰプロセスの次のステップは記述１３０である。ここでは告知されているデバイスに関心をもつコントロールポイントが、そのデバイス告知に含まれているＵＲＬアドレスに追加情報の要求を発する。典型的にはデバイスとそのサービスに関するこの追加情報はデバイスにあるが、そのデバイスの発売元によって維持されているインターネットサイトのようなリモートな場所にあってもよい。
【００１６】
コントロールポイントがデバイスの性能を知れば、１４０において動作要求または値問い合わせを通じて、そのデバイスを制御したり監視したりすることができる。動作要求に反応して、デバイスはその動作を実行して結果を報告する。一般には、その結果というのは要求された動作が実行されたという確認メッセージだが、現在のデバイス状態やそのデバイスに関連する一つ以上の変数の状態を報告する、より詳細なメッセージであってもよい。値問い合わせに反応しては、デバイスはその値問い合わせにおいて指定されている一つ以上の変数の状態を報告する。
【００１７】
コントロールポイントはまた、イベント通知プロセス１５０を通じてデバイスでイベントが起こるたびに通知するよう要求してもよい。コントロールポイントはデバイスにおけるいかなる状態の変化についてでも告知されるよう「登録」を行い、特定の変数の値の変化といったような指定された状態変化はこの告知過程から除外してもよい。デバイスは状態を変えるたびに登録者すべてに、その特定の状態変化を登録から除外している登録者を除いて、そのイベントを告知する。
【００１８】
コントロールポイントはデバイスに付随している機能や制御手段を、１６０において,
当該デバイスによって提供される提示ページに基づいて提示する。コントロールポイントはその提示ページをデバイスの記述情報中に提供されているＵＲＬに要求する。１３０におけるデバイス記述の場合と同じように、該ＵＲＬは当該デバイスを指定するアドレスであってもよいし、販売元のインターネットサイトやサードパーティーのサービス提供元のサイトのようなリモートサイトを指定するアドレスであってもよい。
【００１９】
今、被コントロールデバイスがたとえば再起動を必要とするなどの理由でネットワークからログオフしたとしたら、コントロールポイントはその被コントロールデバイスがネットワークから切り離されると判断する。コントロールポイントのユーザーインターフェースに被コントロールデバイスがある場合には、該被コントロールデバイスは該被コントロールデバイスをそのユーザーインターフェースから削除できる。もしその被コントロールデバイスが再びネットワークにはいれば、該被コントロールデバイスは再びユーザーインターフェースに追加されることができる。ネットワークを離れてから再接続するまでの時間が非常に短い場合には、ユーザーインターフェースがちらつくような効果を生じる。たとえば、ＩＰアドレスが変わるために一時的にネットワークを離れるメディアレンダラー（被コントロールデバイス）は完全に削除されるが、ダウンしている時間はあまりに短く、そのダウン時間はユーザーインターフェースでは無視されるようにしてもよい。
【００２０】
図２は本発明に基づく方法の例を概略的な仕方で示すものである。ここで、Ｓ２００はＵＰｎＰ被コントロールデバイスに対する本発明の方法のステップを、Ｓ２０２はＵＰｎＰコントロールポイントに対する本発明の方法のステップを表している。
【００２１】
告知ステップＳ１２０の間に、被コントロールデバイスはその移行サービスを告知する。http://www.upnp.org/download/UPnPDA10_20000613.htmにあるＵＰｎＰ１．０デバイスアーキテクチャー仕様によって定義されているように、諸サービスの汎用告知メッセージは以下のパラメータを含んでいる（イタリック〔本訳では下線〕は実際の値を入れるべき場所である）：
NOTIFY  *  HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=告知の有効期限が切れるまでの秒数
LOCATION:移行サービスのためのＵＰｎＰ記述情報のＵＲＬ
NT:探索目標
NTS:ssdp:alive
SERVER:ＯＳ／バージョン  UPnP/1.0  製品／バージョン
USN:告知ＵＵＩＤ
ここで、
"HOST"    必須。ＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ［インターネット割り当て番号機関］）によってＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ［簡易サービス検出プロトコル］）のためにリザーブされているマルチキャストチャンネルおよびポート。
【００２２】
"CACHE-CONTROL"    必須。当該告知が有効である秒数を指定する指示子をもつ必要がある。この期間が過ぎるとコントロールポイントは当該デバイス（またはサービス）はもう利用できないものと想定する。１８００秒（３０分）超とすべき。ＵＰｎＰ販売元によって指定される。整数。
【００２３】
"LOCATION"    必須。ルートデバイスのＵＰｎＰ記述情報のＵＲＬを含む。管理されていないネットワークの一部では、このＵＲＬのホストは（ドメイン名に対して）ＩＰアドレスを含んでいてもよい。ＵＰｎＰ販売元によって指定される。単一のＵＲＬ。
【００２４】
"NT"    ＧＥＮＡ（Ｇｅｎｅｒａｌ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ［一般イベント通知アーキテクチャー］）によって定義される必須ヘッダ。告知種別（Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｔｙｐｅ）。下記のいずれかである必要。単一のＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ［一様リソース識別子］）。
【００２５】
"upnp:rootdevice"    ルートデバイスについて一度送られる。
【００２６】
"uuid:device-UUID"    ルートデバイスまたは子デバイスのそれぞれについて一度送られる。ＵＰｎＰ販売元によって指定されるデバイスＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ［汎世界的一意的識別子］）。
【００２７】
"urn:schemas-upnp-org:device:deviceType:v"    ルートデバイスまたは子デバイスのそれぞれについて一度送られる。ＵＰｎＰフォーラムの作業部会によって定義されたデバイスの種別とバージョン。
【００２８】
"urn:schemas-upnp-org:service:serviceType:v"  各サービスについて一度送られる。ＵＰｎＰフォーラムの作業部会によって定義されたサービスの種別とバージョン。
【００２９】
"NTS"    ＧＥＮＡによって定義される必須ヘッダ。告知下位種別（Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｓｕｂ  Ｔｙｐｅ）。"ssdp:alive"とする必要。単一のＵＲＩ。
【００３０】
"SERVER"    必須。ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ［基本ソフト］）名、ＯＳバージョン、UPnP/1.0、製品名、製品バージョンをつなげたもの。ＵＰｎＰ販売元によって指定される。文字列。
【００３１】
"USN"    ＳＳＤＰによって定義される必須ヘッダ。一意的サービス名（Ｕｎｉｑｕｅ  Ｓｅｒｖｉｃｅ  Ｎａｍｅ）。下記のいずれかである必要。プレフィックス（二重コロンの前）はデバイス記述情報におけるＵＤＮ（Ｕｎｉｑｕｅ  Ｄｅｖｉｃｅ  Ｎａｍｅ［一意的デバイス名］）要素の値に一致する必要。単一のＵＲＩ。
【００３２】
"uuid:device-UUID::upnp:rootdevice"    ルートデバイスについて一度送られる。ＵＰｎＰ販売元によって指定されるＵＵＩＤ。
【００３３】
"uuid:device-UUID"    ルートデバイスまたは子デバイスのそれぞれについて一度送られる。ＵＰｎＰ販売元によって指定されるデバイスＵＵＩＤ。
【００３４】
"uuid:device-UUID::urn:schemas-upnp-org:device:deviceType:v"    ルートデバイスまたは子デバイスのそれぞれについて一度送られる。ＵＰｎＰ販売元によって指定されるデバイスＵＵＩＤ。ＵＰｎＰフォーラムの作業部会によって定義されたデバイスの種別とバージョン。
【００３５】
"uuid:device-UUID::urn:schemas-upnp-org:service:serviceType:v"  各サービスについて一度送られる。ＵＰｎＰ販売元によって指定されるデバイスＵＵＩＤ。ＵＰｎＰフォーラムの作業部会によって定義されたサービスの種別とバージョン。
たとえば、標準規格化されていない移行サービスについて次のようになる（実際の値を入れてある）：
NOTIFY  *  HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=300
LOCATION:http://169.254.25.129:80/public/description.xml
NTS:ssdp:alive
SERVER:Win/5.0,UPnP/1.0,Philips  UPnP-Stack/1.0
NT:urn:Philips:service:Migration:1
USN:uuid:PhilipsTestDevice::urn:Philips:service:Migration:1
（標準規格化されれば、ＵＳＮおよびＮＴの"urn:Philips"を"urn:schemas-upnp-org"で置き換える）。
【００３６】
基本的に、ＮＴおよびＵＳＮヘッダは当該デバイス中に移行サービスがあることを示す。それはＵＳＮヘッダおよび"LOCATION"にある記述情報の位置においてコントロールポイントに対して同定される。この移行サービスを知っているコントロールポイントは、これで該サービスの記述文書の取得に進むことができる。そこからイベントに登録するために使う必要のあるＵＲＬも取得できる。
【００３７】
被コントロールデバイスがたとえばそのＩＰアドレスが変わるなどの理由でネットワークからログオフしなければならない場合、サービスを停止する、サービスを追加する、などの必要がある。その際、ステップＳ２０６において、前記被コントロールデバイスは登録者にログオフしようとしていることを告知する。この目的のために、下記の状態変数が当該移行サービスにおいて定義されている：
（１）対象ＩＰアドレス
（２）対象サービスのリスト
対象サービスのリストは、「サービス種別：サービスバージョン」の形の項目のコンマで区切ったリストである。「サービス種別」の例としては、ｃｏｎｔｅｎｔ  ｄｉｒｅｃｔｏｒｙ  ｓｅｒｖｉｃｅ（コンテンツディレクトリサービス）およびａｕｄｉｏ  ｖｉｄｅｏ  ｔｒａｎｓｐｏｒｔ  ｃｏｎｎｅｃｔｉｏｎ  ｍａｎａｇｅｒ（オーディオビデオ転送接続マネージャ）がある。
【００３８】
告知された移行イベントは変化のあった状態変数、つまり新しいＩＰアドレスもしくは対象サービスのリストまたはその両方を有している。次のステップＳ２０８では、被コントロールデバイスは適当なＵＰｎＰプロトコルを使ってネットワークからログオフする。次いで、そのサービスを変更したのち、前記被コントロールデバイスはステップＳ２１０において「再起動」する。この再起動とともに、被コントロールデバイスはその全サービスを停止し、その全登録を取り消し、ＵＰｎＰプロトコルによって要求される他のすべてのステップを実行する。次いで、ステップＳ２１２において、先にステップＳ１２０において記述されたように、自らをネットワークに対して再告知する。
【００３９】
先述したイベント通知ステップＳ１５０のように、ステップＳ２１４においてＵＰｎＰコントロールポイントは被コントロールデバイスの移行サービスに登録する。ステップＳ２１６において、コントロールポイントは被コントロールデバイスが送信した移行イベントを受信する。
【００４０】
次のステップＳ２１８では、被コントロールデバイスは受信した移行イベントに反応して予防措置を講じる。たとえば、コントロールポイントは予防措置として、キャッシュ機構を使うことによってサービスがダウンしている間もそのサービスにアクセスできるようにすることができる。このキャッシュ機構を使うことで、被コントロールデバイスが一時的にサービスを停止したのち復帰すると告知してきた場合には、コントロールポイントのユーザーインターフェースはダウン時間の間もサービス提供を続けられる。ダウン中に当該サービスに対する要求がなされた場合には、コントロールポイントはこの要求をキャッシュして、被コントロールデバイスがネットワークに自らを再告知してからキャッシュされた要求を被コントロールデバイスに送信することもできる。
【００４１】
また、「アウトオブバンド」ストリームもＵＰｎＰオーディオビデオ（ＡＶ）フレームワークを使って構成できる（ＵＰｎＰ  ＡＶアーキテクチャー０．８３の文書がhttp://www.upnp.org/download/UPnPAvArchitecture%200.83.prtad.pdfにあるのでこれを参照されたい）。ＵＰｎＰオーディオビデオ１．０規格（http://www.intel.com/technology/itj/2002/volume06issue04/art02_distribution/p09_references.htm参照）は、コントロールポイントがメディアサーバーとメディアレンダラーの実装形態の間でアウトオブバンドストリームを構成する仕方を規定している。ＨＴＴＰ−ＧＥＴのような典型的なアウトオブバンドストリーミングの機構は、データを、ＩＰネットワークを通じてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ［通信制御プロトコル］）を使ってストリームさせる。ＴＣＰ接続の定義はストリームの発信源と目標点の両方のＩＰアドレスを含んでいるから、ＩＰアドレスが変わるとこの接続はだめになる。これはオーディオ・ビデオコンテンツの表示における中断につながり、ユーザーに低品質との印象を与えることになりうる。
【００４２】
ＴＣＰ移行（これについてはhttp://nms.lcs.mit.edu/projects/migrateまたはhttp://discolab.rutgers.edu/mtcp/参照）は、接続の端点の一方のＩＰアドレスを変えながらもＴＣＰ接続が障害を受けないようにする既知の機構である。ＴＣＰ移行に関する問題の一つは、両側がこれに対応していて、移行を開始することに合意しなければならないという点である。当該ＵＰｎＰ移行サービスは、この（アウトオブバンド）プロトコルに、移行を実行するのに必要な制御情報を提供することができる。そのようなＴＣＰ移行はＴＣＰを通じたストリーミングプロトコルについてのみ必要とされるものであることを注意しておく。ＩＰアドレスに頼らないアウトオブバンドストリーミングプロトコル（たとえば１３９４／ＩＥＣ６１８８３ストリーミング）はＩＰアドレスが変わっても影響を受けない。
【００４３】
コントロールポイント、メディアレンダラー、メディアサーバーの例は次のようなものがある：
・フィリップス・アイプロント（ｉＰｒｏｎｔｏ）：８０２．１１ｂによるネットワーク接続機能を備えた携帯型タッチパネルによりネットワーク上のあらゆるＵＰｎＰデバイスの制御ができる。
・フィリップス・ストリーミウム（Ｓｔｒｅａｍｉｕｍ）：主としてメディアレンダラーである（コントロールポイントは正しいＵＲＬをこれに与えることによってコンテンツを再生させることができる）。同時にメディアサーバーでもある（ストリーミウムにＭＰ３のＣＤを挿入すれば、コンテンツをネットワークに対して提示する）。同時にコントロールポイントでもある（ネットワーク上の他のストリーミウムを制御できる）。
【００４４】
移行イベントに含まれるのが被コントロールデバイスの新しいＩＰアドレスである場合、コントロールポイントは古いＩＰアドレスへの参照すべてを更新することで予防措置とすることができる。変わったのがＩＰアドレスだけであれば、当該被コントロールデバイスを使っているアプリケーションやユーザーインターフェースはその移行について告知を受けないこともありうる。たとえば、アプリケーションがメディアサーバーをブラウズしているとすると、新しいＩＰアドレスを使って該メディアサーバーのブラウズを続けるのである。
【００４５】
ＴＣＰ接続は四つのパラメータによって定義される：
・１、２  接続の開始点のＩＰアドレスおよびポート番号
・３、４  接続の目標点のＩＰアドレスおよびポート番号
これらのパラメータは送信される各メッセージ内に存在している。今、開始点または目標点がＩＰアドレスを変えたとすると、メッセージは届かなくなり、接続が破られてしまう。
【００４６】
ＩＰアドレスを変えたのが目標点のほうだとする（開始点の場合は対称的な解決となる）。ＴＣＰ移行は二つのことを可能にする機構である（リナックスの古いバージョンに存在していた）：
（１）開始点と目標点の両者がＴＣＰ接続を開いたままにしようとすることに関して合意する
（２）開始点が古い接続に対応する新しいＩＰアドレス／ポート番号を検出できる。
これらの二つの事実を用い、目標点と開始点の双方が現在のＴＣＰ接続において目標点のＩＰアドレスとポート番号を更新する。接続中に送信中だったメッセージは失われる（したがって受信確認もされず、よって通常のＴＣＰの挙動のとおり再送信される）。新しい定義を用いて新しいメッセージが送信される。
【００４７】
移行イベントに含まれるのが中断されるサービスである場合、ユーザーインターフェースを更新して、中断されるサービスを以後利用できなくすることができる。移行イベントに含まれるのが新サービスである場合、アプリケーションはこの新しいサービスを前もって知ることができる。たとえば、追加の画像補正機能が使えるようになる場合、アプリケーションは現在の画像の処理を補正機能が使えるようになるまで停止することができる。移行イベントのため、登録されているコントロールポイントは被コントロールデバイスが再起動しようとしているということを「知る」のである。
【００４８】
次のステップＳ２２０の間に、被コントロールデバイスは自らをネットワークに再告知し、コントロールポイントはみな、その被コントロールデバイスによって提供されるサービスに再登録することができる。これにより、当該移行サービスに対応していないコントロールポイントとの互換性が保証される。
【００４９】
記述された方法ステップの順番は本発明に基づく方法を実行する上での好ましい順番である。しかしながら、ステップを実行する別の順番も考えられる。また、一部のステップを実行しないということも、本発明の発想から逸脱することなく考えられる。
【００５０】
図３は本発明に基づくシステムの例を概略的な仕方で示すものである。システム３００は二つのサブシステム３２８および３３０に区分される：一つのサブシステム３２８がＵＰｎＰコントロールポイント３０２内にあり、一つのサブシステム３３０がＵＰｎＰの被コントロールデバイス３０４内にある。ＵＰｎＰコントロールポイント３０２はＭＰ３再生装置であり、ＵＰｎＰ被コントロールデバイス３０４はＭＰ３サーバーである。ＭＰ３再生装置３０２はＭＰ３サーバーにネットワーク３０６を通じて接続されている。このネットワークには、さらなるコントロールポイント３２６、さらなる被コントロールデバイス３３２が接続されている。一つ以上のコントロールポイントが当該被コントロールデバイスを制御することができる。
【００５１】
サブシステム３２８は一つ以上のマイクロプロセッサ３１８および汎用メモリ３２２および３２４を有している。二つのメモリでなく、一つのメモリを使うのでもよい。メモリ３２２および３２４はマイクロプロセッサ３１８とソフトウェアバス３２０を通じて通信する。メモリ３２２は、先述したような移行サービスへの登録申請を実行するよう設計されたコンピュータ読み取り可能なコードを有している。メモリ３２４は受信した移行イベントへの反応を実行するよう設計されたコンピュータ読み取り可能コードを有している。システムはさらに、ＵＰｎＰプロトコル規格によって記述される、ＵＰｎＰコントロールポイントのためのＵＰｎＰプロトコルを実行するよう設計されたコンピュータ読み取り可能なコードを有するメモリを有している。
【００５２】
サブシステム３３０は一つ以上のマイクロプロセッサ３０８、汎用メモリ３１２、３１４、３１６を有している。これらのメモリの代わりにやはり一つのメモリを使うのでもよい。メモリ３１２、３１４、３１６はソフトウェアバス３１０を通じてマイクロプロセッサ３０８と通信する。メモリ３１２は先述したような告知を実行するよう設計されたコンピュータ読み取り可能コードを有している。メモリ３１４は先述したような移行イベントの告知を実行するよう設計されたコンピュータ読み取り可能コードを有している。メモリ３１６は先述したようなＩＰアドレスまたは利用可能なサービスの変更を実行するよう設計されたコンピュータ読み取り可能コードを有している。システムはさらに、ＵＰｎＰプロトコル規格によって記述される、ＵＰｎＰプロトコルを実行するよう設計されたコンピュータ読み取り可能なコードを含むメモリを有している。
【００５３】
オーディオビデオフレームワークの他の実施形態においては、システムは三つのサブシステムに区分される：たとえばフィリップス・アイプロントのようなリモコンを例とするコントロールポイント、ＭＰ３ファイルを有するハードディスクをもつパソコンのようなメディアサーバー、そしてフィリップス・ストリーミウムのようなメディアレンダラーである。また、異なるサブシステムが一つの物理的なシステムに組み合わされることも考えられる。
【００５４】
上述した実施形態は、本発明を説明するものであって限定するものではないこと、そして当業者には付属の特許請求の範囲から逸脱することなく多くの代替実施形態を考案することが可能であろうことに注意しておく必要がある。特許請求の範囲においては、括弧内に参照符号があったとしても、それはその請求を限定するものとして解釈してはならない。「有する」という語は請求項に挙げられているもの以外の要素やステップの存在を排除するものではない。要素の単数形の表現はそのような要素が複数存在することを排除するものではない。本発明は、いくつかの異なる要素を有するハードウェアによって、およびしかるべくプログラムされたコンピュータによって実装することができる。いくつかの手段を列挙するシステムの請求項においては、それらの手段のうちのいくつかをコンピュータ読み取り可能なソフトウェアまたはハードウェアの同一の要素によって具体化することも可能である。ある方策が互いに異なる従属請求項において述べられているというだけのことが、それらの方策の組み合わせを有利に用いることができる可能性の排除を示すことはない。
【図面の簡単な説明】
【００５５】
【図１】ＵＰｎＰコントロールポイント装置と被コントロール装置のネットワークを確立し、維持するＵＰｎＰプロセスの例を示す図である。
【図２】本発明に基づく方法の例を概略的な仕方で示す図である。
【図３】本発明に基づくシステムの例を概略的な仕方で示す図である。
【図１】
2006519431.tif 000003
【図２】
2006519431.tif 000004
【図３】
2006519431.tif 000005
【国際調査報告】
2006519431.tif 000006
2006519431.tif 000007