(57)【特許請求の範囲】
【請求項１】
ＵＰｎＰをサポートする複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部と、
メディアサーバへの端末装置によるアクセスを当該端末装置が属するグループに基づいて制御するアクセス制御部と、
を備え、
前記グルーピング部によるグルーピングの結果に基づいて、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報が記憶媒体に記憶され、
前記アクセス制御部は、アクセス元の端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記アクセス元の端末装置による前記アクセス先のコンテンツへのアクセスを許可する、
情報処理装置。
【請求項２】
第１の端末装置上でコンテンツが生成され又は変更された場合に、前記グルーピング部によるグルーピングの結果に基づいて、前記第１の端末装置と同じグループに属する少なくとも第２の端末装置へ前記コンテンツの生成又は変更を通知するコンテンツ管理部、
をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記ディスクリプションは、デバイスディスクリプション又はサービスディスクリプションである、請求項１に記載の情報処理装置。
【請求項４】
前記ディスクリプションは、デバイスディスクリプションである、請求項３に記載の情報処理装置。
【請求項５】
前記グループ情報は、各グループを識別するためのグループ識別子又はグループ名称を含む、請求項１に記載の情報処理装置。
【請求項６】
前記コンテンツ管理部は、各グループに対応するコンテナを前記メディアサーバ内に有し、前記第１の端末装置上で生成され又は変更されるコンテンツを、前記第１の端末装置が属するグループに対応するコンテナ内に格納する、請求項２に記載の情報処理装置。
【請求項７】
前記コンテンツ管理部は、各端末装置を前記メディアサーバに記憶されるコンテンツについてのイベントの購読者として登録し、ＵＰｎＰのイベンティング機能を用いて各コンテンツの生成又は変更に関するイベントを各端末装置へ通知する、請求項２に記載の情報処理装置。
【請求項８】
前記第１のマッピング情報は、各コンテンツを生成した端末装置を識別するデータ又は当該端末装置が属するグループを識別するデータを含む、請求項１に記載の情報処理装置。
【請求項９】
前記アクセス制御部は、スーパーユーザ権限を有するユーザからのコンテンツ提供の指示を受け取った場合には、任意のグループに属する端末装置へのコンテンツの提供を許可する、請求項１に記載の情報処理装置。
【請求項１０】
前記グルーピング部は、各端末装置と当該端末装置が属するグループとをマッピングする第２のマッピング情報を記憶媒体に記憶させ、
前記コンテンツ管理部は、前記第１の端末装置と同じグループに属する端末装置を前記第２のマッピング情報を用いて識別する、
請求項２に記載の情報処理装置。
【請求項１１】
前記第２のマッピング情報は、各端末装置の識別子、ＵＵＩＤ、名称又はＩＰアドレスとグループとのマッピングを示すデータを含む、請求項１０に記載の情報処理装置。
【請求項１２】
前記グルーピング部は、ネットワーク上にＭ−ＳＥＡＲＣＨメッセージをマルチキャストすることにより又は各端末装置から送信されるＮＯＴＩＦＹメッセージを受信することにより、グルーピングすべき端末装置を検出する、請求項１に記載の情報処理装置。
【請求項１３】
前記グルーピング部は、前記Ｍ−ＳＥＡＲＣＨメッセージへの応答又は前記ＮＯＴＩＦＹメッセージに含まれるＵＲＬを用いて、各端末装置から前記ディスクリプションを取得する、請求項１２に記載の情報処理装置。
【請求項１４】
前記グルーピング部は、前記ディスクリプションに所定のタグが含まれる端末装置を、グルーピングすべき端末装置であると認識する、請求項１３に記載の情報処理装置。
【請求項１５】
前記所定のタグは、前記グループ情報を伴うタグである、請求項１４に記載の情報処理装置。
【請求項１６】
前記複数の端末装置は、メディアレンダラとしてそれぞれ動作し、
前記情報処理装置は、メディアレンダラを制御するコントロールポイントとして動作する、
請求項１に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、前記メディアサーバとしてさらに動作し、
前記複数の端末装置は、前記メディアサーバを制御するコントロールポイントとしてそれぞれさらに動作する、
請求項１６に記載の情報処理装置。
【請求項１８】
前記情報処理装置は、各端末装置により生成され又は変更される画像コンテンツを前記メディアサーバ内に記憶する、請求項１７に記載の情報処理装置。
【請求項１９】
前記情報処理装置は、各端末装置により生成され又は変更される音声コンテンツを前記メディアサーバ内に記憶する、請求項１７に記載の情報処理装置。
【請求項２０】
前記情報処理装置は、各端末装置により生成され又は変更される映像コンテンツを前記メディアサーバ内に記憶する、請求項１７に記載の情報処理装置。
【請求項２１】
前記情報処理装置は、各端末装置により生成され又は変更される文書コンテンツを前記メディアサーバ内に記憶する、請求項１７に記載の情報処理装置。
【請求項２２】
前記複数の端末装置と通信する通信部、をさらに備える、請求項１に記載の情報処理装置。
【請求項２３】
前記情報処理装置もまた前記グルーピング部によるグルーピングの対象であり、
前記情報処理装置は、前記グルーピングの際に使用される前記情報処理装置のグループ情報を設定する設定部、をさらに備える、
請求項１に記載の情報処理装置。
【請求項２４】
ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置を制御するコンピュータを、
前記複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部と、
メディアサーバへの端末装置によるアクセスを当該端末装置が属するグループに基づいて制御するアクセス制御部と、
として機能させ、
前記グルーピング部によるグルーピングの結果に基づいて、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報が記憶媒体に記憶され、
前記アクセス制御部は、アクセス元の端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記アクセス元の端末装置による前記アクセス先のコンテンツへのアクセスを許可する、
プログラム。
【請求項２５】
ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置において、
前記複数の端末装置からグループ情報を含むＵＰｎＰのディスクリプションを受信することと、
受信された前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングすることと、
メディアサーバへの端末装置によるアクセスを当該端末装置が属するグループに基づいて制御することと、
を含み、
前記グルーピングの結果に基づいて、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報が記憶媒体に記憶され、
アクセス元の端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記アクセス元の端末装置による前記アクセス先のコンテンツへのアクセスが許可される、
情報処理方法。
【請求項２６】
ＵＰｎＰプロトコルをサポートする端末装置であって、
前記端末装置及び他の装置を１つ以上のグループにグルーピングする際に使用されるグループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部と、
前記記憶部により記憶されている前記ディスクリプションを、メディアサーバへのアクセスを前記グループに基づいて制御する情報処理装置へ送信する通信部と、
を備え、
前記グルーピングの結果に基づいて、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報が前記情報処理装置により記憶され、
前記端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記端末装置による前記アクセス先のコンテンツへのアクセスが許可される、
端末装置。
【請求項２７】
グループワークの対象であるコンテンツを生成し又は変更するためのアプリケーションをさらに備える、請求項２６に記載の端末装置。
【請求項２８】
前記アプリケーションにより前記コンテンツが生成され又は変更された場合に、前記情報処理装置に、前記端末装置と同じグループに属する他の装置へ前記コンテンツの生成又は変更を通知させるコンテンツ処理部、
をさらに備える、請求項２７に記載の端末装置。
【請求項２９】
前記コンテンツ処理部は、前記情報処理装置からの通知に応じて、他の装置により生成され又は変更されたコンテンツを前記アプリケーションにレンダリングさせる、請求項２８に記載の端末装置。
【請求項３０】
前記コンテンツ処理部は、前記情報処理装置からの通知に応じて、他の装置によりコンテンツが生成され又は変更されたことをユーザに報知する、請求項２８に記載の端末装置。
【請求項３１】
前記グループ情報をユーザに設定させるためのユーザインタフェースをさらに備える、請求項２６に記載の端末装置。
【請求項３２】
ユーザと関連付けられるグループ情報を記憶している媒体から当該グループ情報を取得して前記ディスクリプション内に設定するグループ設定部、をさらに備える、請求項２６に記載の端末装置。
【請求項３３】
ＵＰｎＰプロトコルをサポートする複数の端末装置及び前記複数の端末装置と通信する情報処理装置を含む情報処理システムであって、
前記複数の端末装置の各々は、グループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部、を備え、
前記情報処理装置は、前記複数の端末装置から受信される前記ディスクリプションに含まれる前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部と、メディアサーバへの端末装置によるアクセスを当該端末装置が属するグループに基づいて制御するアクセス制御部と、を備え、
前記グルーピング部によるグルーピングの結果に基づいて、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報が記憶媒体に記憶され、
前記アクセス制御部は、アクセス元の端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記アクセス元の端末装置による前記アクセス先のコンテンツへのアクセスを許可する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、プログラム、情報処理方法及び情報処理システムに関する。
【背景技術】
【０００２】
従来、紙、ペン及びホワイトボードなどの様々な道具を利用して行われてきたグループワークを、ＰＣ（Personal  Computer）及びプロジェクタなどの電子的手段で行おうとする試みがなされている。ＰＣ上で動作するアプリケーションを使用すれば、デジタル処理の特性を生かして、様々な形でグループワークの対象であるコンテンツを編集することができる。また、文書だけでなく、画像、音声又は映像など、多様なコンテンツをグループワークで扱うことも可能となる。近年では、Ｗｅｂブラウザを介して複数人で共同してコンテンツを編集することを可能とするＷｅｂアプリケーションも登場している。
【０００３】
グループワークを支援する技術の一例として、下記特許文献１は、予めサーバ内のデータベースに登録されるユーザグループについての設定に基づいて、複数の端末からの共用リソースへのアクセスをグループごとに制御することを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７４０３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、グループワークを支援する既存の技術では、グループを形成するための設定が単純ではなく、グループワークを開始するまでに煩雑な手続を要する場合があった。また、グループワークを開始する手続を自動化するためには、特別なアプリケーションを端末に実装することが求められていた。
【０００６】
これに対し、ユーザに煩雑な手続を課すことなく、汎用的な端末を用いてグループワークを実現できる仕組みが提供されれば、ユーザにとっての利便性が向上する。
【課題を解決するための手段】
【０００７】
本開示によれば、ＵＰｎＰをサポートする複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、を備える情報処理装置が提供される。
【０００８】
また、本開示によれば、ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置を制御するコンピュータを、前記複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、として機能させるためのプログラムが提供される。
【０００９】
また、本開示によれば、ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置において、前記複数の端末装置からグループ情報を含むＵＰｎＰのディスクリプションを受信することと、受信された前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングすることと、を含む情報処理方法が提供される。
【００１０】
また、本開示によれば、ＵＰｎＰプロトコルをサポートする端末装置であって、前記端末装置及び他の装置を１つ以上のグループにグルーピングする際に使用されるグループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部と、前記記憶部により記憶されている前記ディスクリプションを前記グルーピングを行う情報処理装置へ送信する通信部と、を備える端末装置が提供される。
【００１１】
また、本開示によれば、ＵＰｎＰプロトコルをサポートする複数の端末装置及び前記複数の端末装置と通信する情報処理装置を含む情報処理システムであって、前記複数の端末装置の各々は、グループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部、を備え、前記情報処理装置は、前記複数の端末装置から受信される前記ディスクリプションに含まれる前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、を備える、情報処理システムが提供される。
【発明の効果】
【００１２】
本開示によれば、ユーザに煩雑な手続を課すことなく、汎用的な端末を用いてグループワークを実現することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る情報処理システムの概略的な構成の一例を示す説明図である。
【図２】図１に示した情報処理装置及び端末装置に実装され得る一例としてのプロトコルスタックを示すブロック図である。
【図３】一実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図４】一実施形態に係るデバイステーブルの構成の一例を示す説明図である。
【図５】一実施形態に係るグループテーブルの構成の一例を示す説明図である。
【図６】一実施形態に係るデバイス−グループテーブルの構成の一例を示す説明図である。
【図７】一実施形態に係るオブジェクトテーブルの構成の一例を示す説明図である。
【図８】一実施形態に係るオブジェクト−グループテーブルの構成の一例を示す説明図である。
【図９】一実施形態に係る端末装置の構成の一例を示すブロック図である。
【図１０Ａ】拡張されたデバイスディスクリプションの前半部を示す説明図である。
【図１０Ｂ】拡張されたデバイスディスクリプションの後半部を示す説明図である。
【図１１】一実施形態に係るグループ設定の際の処理の流れの一例を示すシーケンス図である。
【図１２】図１１に示したグルーピング処理の詳細な流れの一例を示すシーケンス図である。
【図１３】購読登録処理の詳細な流れの一例を示すシーケンス図である。
【図１４】一実施形態に係るコンテンツ生成の際の処理の流れの第１の例を示すシーケンス図である。
【図１５】端末装置から送信されるコンテンツ生成要求の一例について説明するための説明図である。
【図１６】図１５に示したコンテンツ生成要求に対する応答の一例について説明するための説明図である。
【図１７】図１４に示したレンダリング処理の詳細な流れの一例を示すシーケンス図である。
【図１８】一実施形態に係るコンテンツ生成の際の処理の流れの第２の例を示すシーケンス図である。
【図１９】一実施形態に係るコンテンツ変更の際の処理の流れの一例を示すシーケンス図である。
【図２０】一実施形態に係るプレゼンテーションの際の処理の流れの一例を示すシーケンス図である。
【図２１】第１の使用事例におけるシステムの概要について説明するための示す説明図である。
【図２２】第２の使用事例におけるシステムの概要について説明するための示す説明図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
また、以下の順序で説明を行う。
１．システムの概要
２．装置の構成例
３．処理の流れ
４．システムの使用事例
５．まとめ
【００１６】
＜１．システムの概要＞
まず、図１及び図２を用いて、一実施形態に係る情報処理システム１の概要を説明する。
【００１７】
図１は、本実施形態に係る情報処理システム１の概略的な構成の一例を示す説明図である。図１を参照すると、情報処理システム１は、情報処理装置１００及び複数の端末装置２００ａ〜２００ｄを含む。情報処理装置１００と端末装置２００ａ〜２００ｄとは、互いに通信することができる。図１では無線通信が行われる例を示しているが、情報処理装置１００と端末装置２００ａ〜２００ｄとの間の通信は、無線通信であってもよく又は有線通信であってもよい。
【００１８】
情報処理装置１００は、情報処理システム１においてサーバとしての役割を有する装置である。情報処理装置１００は、グループ単位での共同的な作業を実現するために、情報処理システム１内の複数の端末装置を１つ以上のグループにグルーピングする。情報処理装置１００は、グループワークに参加する複数の端末装置のうちの１つであってもよい。その代わりに、情報処理装置１００は、グループワークを支援するために端末装置とは別に設けられる装置であってもよい。
【００１９】
図１には、情報処理装置１００を利用するユーザＵ０が示されている。ユーザＵ０は、情報処理装置１００によりグルーピングされるいずれかのグループのユーザであってもよく、又は複数の（若しくは全ての）グループにわたる特別な権限を有するスーパーユーザであってもよい。
【００２０】
端末装置２００ａ〜２００ｄは、グループワークを行うユーザが利用する装置である。端末装置２００ａ〜２００ｄは、それぞれ、例えばラップトップ型、タブレット型若しくはデスクトップ型などの様々な形態のＰＣ、ワークステーション、スマートフォン、ＰＤＡ（Personal  Digital  Assistants）、デジタル家電機器又はゲーム機器などであってよい。図１には、端末装置２００ａを利用するユーザＵ１１、端末装置２００ｂを利用するユーザＵ１２、端末装置２００ｃを利用するユーザＵ２１及び端末装置２００ｄを利用するユーザＵ２２が示されている。端末装置２００ａ〜２００ｄは、情報処理装置１００により１つ以上のグループにグルーピングされる。一例として、端末装置２００ａ及び２００ｂは、同じグループにグルーピングされ得る。その場合、ユーザＵ１１及びＵ１２は、各端末装置上で、同じコンテンツを閲覧し又は編集することができる。同様に、端末装置２００ｃ及び２００ｄは、同じグループにグルーピングされ得る。その場合、ユーザＵ２１及びＵ２２は、各端末装置上で、同じコンテンツを閲覧し又は編集することができる。
【００２１】
なお、本明細書のこれ以降の説明において、特に端末装置２００ａ〜２００ｄを相互に区別する必要がない場合には、符号の末尾のアルファベットを省略してこれらを端末装置２００と総称する。
【００２２】
本実施形態において、情報処理装置１００及び端末装置２００は、それぞれＵＰｎＰ（Universal  Plug  and  Play）をサポートする。ＵＰｎＰは、電子機器の相互接続を容易にするためにＵＰｎＰフォーラムにより仕様化された、ＩＰ（Internet  Protocol）を基盤とするプロトコルである。例えば、情報処理装置１００及び端末装置２００は、ＵＰｎＰ  ＤＡ（Device  Architecture）のアドレッシング機能及びディスカバリ機能を用いて、ＩＰアドレスを取得し、ネットワーク内の他の装置を検出する。また、情報処理装置１００及び端末装置２００は、ＵＰｎＰ  ＡＶ（Audio  Visual）のＡＰＩ（Application  Program  Interface）を用いて、コンテンツの蓄積及び提供を管理する。情報処理装置１００と端末装置２００との間の情報伝達は、典型的には、ＳＳＤＰ（Simple  Service  Discovery  Protocol）メッセージを介して行われる。本明細書で説明するグループワークのための仕組みは、このＵＰｎＰの拡張によって実現される。情報処理装置１００及び端末装置２００は、例えば、ＵＰｎＰに準拠する形で策定されたＤＬＮＡ（Digital  Living  Network  Alliance）ガイドラインに則って実装されてよい。それにより、装置間の相互接続性が一層高められる。
【００２３】
図２は、ＤＬＮＡガイドラインに則って情報処理装置１００及び端末装置２００に実装され得る一例としてのプロトコルスタックを示すブロック図である。
【００２４】
図２から理解されるように、情報処理装置１００及び端末装置２００は、共にＵＰｎＰデバイスである。情報処理装置１００は、メディアサーバ（ＭＳ：Media  Server）として動作する。メディアサーバは、コンテンツを蓄積しているデータベース（ＤＢ）からのコンテンツの提供を管理する役割を有する。そして、情報処理装置１００及び端末装置２００は、メディアサーバを制御するＭＳコントロールポイント機能を有する。一方、端末装置２００は、メディアレンダラ（ＭＲ：Media  Renderer）として動作する。メディアレンダラは、メディアサーバから提供されるコンテンツのレンダリングを行う役割を有する。図２には示していないものの、情報処理装置１００もまたメディアレンダラとして動作してもよい。そして、情報処理装置１００は、メディアレンダラを制御するＭＲコントロールポイント機能を有する。情報処理装置１００と端末装置２００との間のコンテンツの転送は、情報処理装置１００のメディアトランスポートサーバ機能と端末装置２００のメディアトランスポートクライアント機能とにより行われる。これら機能は、ＵＰｎＰ又はＤＬＮＡガイドラインによって定義される既存の機能モジュールを活用して実装されてよい。
【００２５】
さらに、情報処理装置１００は、デバイス管理（Device  Management）機能及びアクセス制御（Access  Control）機能を有する。デバイス管理機能は、主に端末装置２００のグルーピングを実現するための機能である。アクセス制御機能は、上述したグルーピングに基づいて各端末装置２００からのコンテンツへのアクセスを制御するための機能である。ＵＰｎＰの拡張によって実現されるこれら機能の詳細について、後にさらに説明する。
【００２６】
＜２．装置の構成例＞
次に、図３〜図１０Ｂを用いて、各装置の構成の一例を説明する。
【００２７】
［２−１．情報処理装置の構成例］
図３は、本実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。図３を参照すると、情報処理装置１００は、通信部１１０、ユーザインタフェース部１２０、記憶部１３０、グルーピング部１６０、コンテンツ管理部１７０及びアクセス制御部１８０を備える。
【００２８】
（１）通信部
通信部１１０は、ＵＰｎＰをサポートする複数の端末装置２００と通信する通信インタフェースである。通信部１１０は、例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ（Local  Area  Network）方式、又はＵＷＢ（Ultra  Wideband）若しくはＺｉｇｂｅｅなどの無線ＰＡＮ（Personal  Area  Network）方式に準拠する無線通信インタフェースであってもよい。その代わりに、通信部１１０は、例えば、イーサネット（登録商標）などの有線ＬＡＮ方式に準拠する有線通信インタフェースであってもよい。
【００２９】
（２）ユーザインタフェース部
ユーザインタフェース部１２０は、情報処理装置１００へ／から情報を入出力するためのユーザインタフェースを提供する。ユーザインタフェース部１２０は、例えば、ユーザにより操作される画面インタフェースをディスプレイに表示する。ユーザインタフェース部１２０により提供される画面は、例えば、デバイス、グループ及びコンテンツに関するデータを閲覧し、登録し又は更新するための画面、及びメディアサーバに蓄積されているコンテンツからグループワーク又はプレゼンテーションの対象を選択するための画面を含み得る。ユーザは、情報処理装置１００に設けられるタッチパネル、キーパッド、キーボード、ポインティングデバイス又はボタンなどの入力手段を介して、これら画面を操作し得る。
【００３０】
（３）記憶部
記憶部１３０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、情報処理装置１００による処理のための様々なプログラム及びデータを記憶する。例えば、記憶部１３０は、グループワークの対象となるコンテンツの実体であるコンテンツデータ１３２を記憶する。コンテンツデータ１３２は、典型的には、メディアサーバ内にグループごとに生成されるコンテナ内に格納される。本明細書において、オブジェクトという用語は、これらコンテンツ及びコンテナの双方を含む概念である。
【００３１】
また、記憶部１３０は、グループＤＢ１４０及びオブジェクトＤＢ１５０を有する。以下に説明するように、グループＤＢ１４０及びオブジェクトＤＢ１５０は、それぞれ複数のテーブルから構成される。
【００３２】
（グループＤＢ：デバイステーブル）
グループＤＢ１４０は、例えば、デバイステーブル１４２、グループテーブル１４４、及びデバイス−グループテーブル１４６を含む。
【００３３】
図４は、デバイステーブル１４２の構成の一例を示している。図４を参照すると、デバイステーブル１４２は、デバイスＩＤ、ＵＵＩＤ（Universally  Unique  Identifier）、フレンドリーネーム（Friendly  Name）及びＩＰアドレスという４つのデータ項目を有する。デバイスＩＤは、情報処理システム１内で各デバイス（情報処理装置１００及び端末装置２００）を一意に識別するための識別子である。ＵＵＩＤは、一般的に１６バイトの文字列で表現される識別子であり、各デバイスに固有のＵＵＩＤが予め付与される。フレンドリーネームは、画面上での表示の際に使用される各デバイスの名称である。ＩＰアドレスは、ＵＰｎＰ  ＤＡのアドレッシング機能により各デバイスに付与されるＩＰアドレスである。
【００３４】
図４の例では、４つのデバイスＤ０、Ｄ１１、Ｄ１２及びＤ２１がデバイステーブル１４２に登録されている。例えば、デバイスＤ０は情報処理装置１００、デバイスＤ１１は端末装置２００ａ、デバイスＤ１２は端末装置２００ｂ、デバイスＤ２１は端末装置２００ｃにそれぞれ対応し得る。デバイステーブル１４２の各端末装置２００に対応するエントリは、後に説明するグルーピング部１６０により各端末装置２００が検出された際に登録され得る。
【００３５】
（グループＤＢ：グループテーブル）
図５は、グループテーブル１４４の構成の一例を示している。図５を参照すると、グループテーブル１４４は、グループＩＤ及びグループ名称（Group  Name）という２つのデータ項目を有する。グループＩＤは、情報処理システム１内で各グループを一意に識別するための識別子である。グループ名称は、画面上での表示の際に使用される各グループの名称である。
【００３６】
図５の例では、３つのグループＧ０、Ｇ１及びＧ２がグループテーブル１４４に登録されている。このうち、グループＧ０は、“ｒｏｏｔ”という名称を有し、いわゆるスーパーユーザ権限を有するユーザのためのグループである。このようなスーパーユーザ用のグループは、必ずしも存在しなくてよい。グループテーブル１４４のスーパーユーザ用のグループ以外のグループについての各エントリは、各端末装置２００に設定されるグループ情報が後に説明するグルーピング部１６０により取得された際に登録され得る。
【００３７】
（グループＤＢ：デバイス−グループテーブル）
図６は、デバイス−グループテーブル１４６の構成の一例を示している。図６を参照すると、デバイス−グループテーブル１４６は、デバイスＩＤ及びグループＩＤという２つのデータ項目を有する。デバイス−グループテーブル１４６は、各デバイスと当該デバイスが属するグループとをマッピングするテーブルである。
【００３８】
図６の例では、デバイスＤ０はグループＧ０にマッピングされている。デバイスＤ１１及びＤ１２はグループＧ１にマッピングされている。デバイスＤ２１はグループＧ２にマッピングされている。従って、デバイスＤ０はグループＧ０に、デバイスＤ１１及びＤ１２はグループＧ１に、デバイスＤ２１はグループＧ２にそれぞれ属する。デバイス−グループテーブル１４６のスーパーユーザ用のグループ以外のグループについての各エントリは、各端末装置２００に設定されるグループ情報がグルーピング部１６０により取得された際に登録され得る。
【００３９】
なお、デバイス−グループテーブル１４６において、デバイスＩＤの代わりに、例えば各デバイスのＵＵＩＤ、名称又はＩＰアドレスがグループＩＤとマッピングされてもよい。
【００４０】
（オブジェクトＤＢ：オブジェクトテーブル）
オブジェクトＤＢ１５０は、例えば、オブジェクトテーブル１５２及びオブジェクト−グループテーブル１５４を含む。
【００４１】
図７は、オブジェクトテーブル１５２の構成の一例を示している。図７を参照すると、オブジェクトテーブル１５２は、オブジェクトＩＤ、生成者（Creator）ＩＤ、タイトル、クラス及びＵＲＩ（Uniform  Resource  Identifier）という５つのデータ項目を有する。オブジェクトＩＤは、メディアサーバ内で各オブジェクトを一意に識別するための識別子である。生成者ＩＤは、各オブジェクトを生成したデバイスのデバイスＩＤである。タイトルは、ユーザにより各オブジェクトに付与される名称である。クラスは、各オブジェクトの種類を表す属性である。クラス属性を参照することにより、各オブジェクトがコンテナ及びコンテンツのいずれであるか、並びに各オブジェクトがコンテンツである場合にはどのような種類のコンテンツであるか、を認識することができる。ＵＲＩは、各オブジェクトにアクセスするためのメディアサーバ内のパスを表す。
【００４２】
ＵＰｎＰ  ＡＶでは、コンテンツの種類を表すクラスとして、例えば次のようなクラスが定義されている。
−object.item.imageItem.XXX：  画像コンテンツ  （“XXX”は“photo”など）
−object.item.audioItem.XXX：  音声コンテンツ  （“XXX”は“musicTrack”など）
−object.item.videoItem.XXX：  映像コンテンツ  （“XXX”は“movie”など）
これらクラス以外に、例えば、文書コンテンツのためのクラスなど、情報処理システム１に特有の拡張されたクラスが定義されてもよい。
【００４３】
図７の例では、４つのオブジェクトＣ１、Ｐ１、Ｗ１及びＡ１がオブジェクトテーブル１５２に登録されている。オブジェクトＣ１は、デバイスＤ０により生成されたコンテナである。オブジェクトＰ１は、“Exercise1”というタイトルを有する、デバイスＤ１１により生成された画像コンテンツである。オブジェクトＷ１は、“Exercise2”というタイトルを有する、デバイスＤ１２により生成された文書コンテンツである。オブジェクトＡ１は、“Exercise3”というタイトルを有する、デバイスＤ２１により生成された音声コンテンツである。オブジェクトテーブル１５２のエントリは、各オブジェクトがメディアサーバ内に格納された際に、各オブジェクトと関連付けて登録され得る。
【００４４】
（オブジェクトＤＢ：オブジェクト−グループテーブル）
図８は、オブジェクト−グループテーブル１５４の構成の一例を示している。図８を参照すると、オブジェクト−グループテーブル１５４は、オブジェクトＩＤ及びグループＩＤという２つのデータ項目を有する。オブジェクト−グループテーブル１５４は、各オブジェクト（即ち、コンテナ及びコンテンツ）と当該オブジェクトの利用が許可されるグループとをマッピングするテーブルである。
【００４５】
図８の例では、オブジェクトＣ１、Ｐ１、Ｗ１及びＡ１がグループＧ０にマッピングされている。グループＧ０はスーパーユーザ用のグループであり、グループＧ０のユーザは、オブジェクトＣ１、Ｐ１、Ｗ１及びＡ１の全てを利用することができる。オブジェクトＣ１、Ｐ１及びＷ１は、グループＧ１にもマッピングされている。従って、グループＧ１のユーザは、オブジェクトＣ１、Ｐ１及びＷ１を利用することができる。一方、オブジェクトＡ１は、グループＧ２にマッピングされている。従って、グループＧ２のユーザは、オブジェクトＡ１を利用することができる。
【００４６】
なお、図４〜図８に示したテーブル構成は一例に過ぎない。即ち、追加的なデータ項目が各テーブルに含まれてもよく、又は一部のデータ項目が省略されてもよい。例えば、各テーブルには、エントリの作成日時、更新日時及び更新者などの一般的なデータ項目が追加され得る。また、上述したいずれかのテーブルが他のテーブルと結合されてもよい。
【００４７】
（４）グルーピング部
グルーピング部１６０は、図２に例示したプロトコルスタックのデバイス管理機能に相当し得る処理ユニットである。グルーピング部１６０は、情報処理システム１内の複数の端末装置２００から通信部１１０を介してＵＰｎＰのディスクリプションを受信し、受信したディスクリプションに含まれるグループ情報に基づいて、複数の端末装置２００を１つ以上のグループにグルーピングする。
【００４８】
一般的に、ＵＰｎＰデバイスは、デバイスディスクリプション及びサービスディスクリプションという、ＸＭＬ（Extensible  Markup  Language）形式で記述される２種類のディスクリプション文書（Description  Document）を保持する。デバイスディスクリプションは、通常、デバイスごとに１つ存在するディスクリプションであり、デバイス固有の属性値及び当該デバイスが提供可能なサービスの一覧などを記述する。サービスディスクリプションは、当該デバイスが提供可能なサービスごとに存在するディスクリプションであり、各サービスについてのアクションの一覧などを記述する。本実施形態では、これらディスクリプションの少なくとも１つが拡張される。即ち、各端末装置２００が保持するデバイスディスクリプション又はサービスディスクリプション内に、拡張タグを用いてグループ情報が記述される。
【００４９】
グルーピング部１６０は、例えば、ネットワーク上に装置探索信号をマルチキャストすることにより、グルーピングすべき端末装置２００を検出してもよい。装置探索信号として、例えばＵＰｎＰのＭ−ＳＥＡＲＣＨメッセージを使用することができる。Ｍ−ＳＥＡＲＣＨメッセージは、通信部１１０を介してネットワーク上にマルチキャストされる。かかるＭ−ＳＥＡＲＣＨメッセージをＵＰｎＰデバイスである端末装置２００が受信すると、当該端末装置２００は、自らのデバイスディスクリプションのＵＲＬ（Uniform  Resource  Locator）を含む応答信号を返送する。
【００５０】
また、グルーピング部１６０は、例えば、各端末装置２００から送信される接続通知信号を通信部１１０を介して受信することにより、グルーピングすべき端末装置２００を検出してもよい。接続通知信号として、例えばＵＰｎＰのＮＯＴＩＦＹメッセージを使用することができる。ＮＯＴＩＦＹメッセージは、各端末装置２００からネットワーク上にマルチキャストされる。かかるＮＯＴＩＦＹメッセージは、送信元の端末装置２００のデバイスディスクリプションのＵＲＬを含む。
【００５１】
グルーピング部１６０は、上述した装置探索信号への応答信号又は接続通知信号に含まれるＵＲＬを用いて、各端末装置２００からデバイスディスクリプションを取得する。グループ情報がデバイスディスクリプション内に記述される場合には、グルーピング部１６０は、少ない回数の信号の送受信のみで、グループ情報を各端末装置２００から取得することができる。グループ情報がサービスディスクリプション内に記述される場合には、グルーピング部１６０は、デバイスディスクリプションに含まれるサービスディスクリプションのＵＲＬを用いて、さらに各端末装置２００からサービスディスクリプションを取得する。
【００５２】
なお、グループワークに参加しないＵＰｎＰデバイスから装置探索信号への応答信号又は接続通知信号が送信される可能性がある。そこで、グルーピング部１６０は、デバイスディスクリプション又はサービスディスクリプションに所定のタグが含まれる端末装置２００のみを、グルーピングすべき端末装置２００であると認識してもよい。所定のタグとは、例えば、上述したグループ情報を伴うタグであってよい。
【００５３】
グルーピング部１６０は、各端末装置２００のグループのグループＩＤ又はグループ名称などを含むグループ情報を取得すると、上述したグループＤＢ１４０を更新する。より具体的には、まず、グルーピング部１６０は、検出した新たな端末装置２００にデバイスＩＤを付与し、当該端末装置２００から取得したデバイスディスクリプションに含まれるＵＵＩＤ及びフレンドリーネーム並びに当該端末装置２００のＩＰアドレスをデバイスＩＤと関連付けてデバイステーブル１４２に登録する。なお、ＩＰアドレスは、装置探索信号への応答信号又は接続通知信号のＩＰヘッダなどから取得され得る。次に、グルーピング部１６０は、取得したグループ情報が新たなグループを示している場合に、グループＩＤ及びグループ名称をグループテーブル１４４に登録する。また、グルーピング部１６０は、検出した端末装置２００のデバイスＩＤとグループＩＤとのマッピングを、デバイス−グループテーブル１４６に登録する。そして、グルーピング部１６０は、新たに登録したグループに対応するコンテナの生成を、次に説明するコンテンツ管理部１７０に要求する。
【００５４】
（５）コンテンツ管理部
コンテンツ管理部１７０は、コンテンツを蓄積しているメディアサーバ（図３の例では記憶部１３０）からの端末装置２００へのコンテンツの提供を管理する。コンテンツ管理部１７０は、主にＵＰｎＰ  ＡＶのＣＤＳ（Content  Directory  Service）及びＡＶＴｒａｎｓｐｏｒｔサービスを拡張する処理ユニットであってよい。例えば、コンテンツ管理部１７０は、グルーピング部１６０により新たなグループが識別されると、対応するコンテナがメディアサーバ内に既に存在するかを確認し、コンテナが存在しなければ新たなグループに対応するコンテナを生成する。また、コンテンツ管理部１７０は、ある端末装置２００上で生成され又は変更されたコンテンツを、当該端末装置２００のグループに対応するコンテナ内に格納する。
【００５５】
コンテンツ管理部１７０は、新たなコンテナを生成し又は新たなコンテンツを格納すると、上述したオブジェクトＤＢ１５０を更新する。より具体的には、まず、コンテンツ管理部１７０は、新たなオブジェクト（即ち、コンテナ又はコンテンツ）にオブジェクトＩＤを付与する。そして、コンテンツ管理部１７０は、オブジェクトを生成したデバイスのデバイスＩＤである生成者ＩＤ、タイトル、クラス及びＵＲＩをオブジェクトＩＤと関連付けてオブジェクトテーブル１５２に登録する。次に、コンテンツ管理部１７０は、登録したオブジェクトのオブジェクトＩＤと対応するグループＩＤとのマッピングを、オブジェクト−グループテーブル１５４に登録する。端末装置２００によりオブジェクトが生成された場合には、ここで登録されるグループＩＤは、当該端末装置２００のグループのグループＩＤである。その代わりに、スーパーユーザによりオブジェクトが生成された場合には、スーパーユーザにより指定される任意のグループのグループＩＤがここで登録され得る。
【００５６】
また、コンテンツ管理部１７０は、ある端末装置２００上でコンテンツが生成され又は変更された場合に、当該端末装置２００と同じグループに属する他の端末装置２００へ、上記コンテンツの生成又は変更を通知する。本実施形態において、コンテンツ管理部１７０によるこうした通知は、ＵＰｎＰのイベンティング機能を活用して行われる。例えば、コンテンツ管理部１７０は、各端末装置２００をメディアサーバに記憶されるコンテンツについて発生するイベントの購読者（subscriber）として登録する。そして、コンテンツ管理部１７０は、あるコンテンツについてイベントが発生すると、購読者として登録されている端末装置２００へ発生したイベントを通知する。但し、ここでのイベンティングのロジックは拡張される。即ち、コンテンツ管理部１７０は、あるコンテンツについてイベントが発生すると、オブジェクト−グループテーブル１５４において当該コンテンツとマッピングされているグループを特定する。そして、コンテンツ管理部１７０は、特定したグループに属する購読者デバイスである端末装置２００に対してのみ、発生したイベントを通知する。
【００５７】
（６）アクセス制御部
アクセス制御部１８０は、図２に例示したプロトコルスタックのアクセス制御機能に相当し得る処理ユニットである。アクセス制御部１８０は、メディアサーバへの端末装置２００によるアクセスを当該端末装置２００が属するグループに基づいて制御する。例えば、アクセス制御部１８０は、アクセス元の端末装置２００が属するグループとアクセス先のコンテンツとがオブジェクト−グループテーブル１５４においてマッピングされている場合に、当該アクセス元の端末装置２００による当該アクセス先のコンテンツへのアクセスを許可する。
【００５８】
ここでのコンテンツへのアクセスとは、コンテンツデータの取得に加えて、コンテンツのブラウジングをも含み得る。即ち、アクセス制御部１８０は、ＣＤＳを介する端末装置２００によるコンテンツのブラウジングに際して、アクセス元の端末装置２００のグループとマッピングされているコンテンツの情報のみが提供されるように、コンテンツリストをフィルタリングし得る。結果として、グループワークに際して、各ユーザは、自身又は同じグループの他のユーザにより生成され又は変更されるコンテンツのみを端末装置２００上で閲覧し又は編集することができる。
【００５９】
また、アクセス制御部１８０は、スーパーユーザ権限を有するユーザに対しては、その権限の範囲で複数のグループをまたいでコンテンツへのアクセスを許可する。さらに、アクセス制御部１８０は、スーパーユーザ権限を有するユーザからコンテンツ提供の指示を受け取った場合には、任意のグループ（指定される１つ以上のグループ又は全てのグループ）に属する端末装置２００へのコンテンツの提供を許可する。このようなアクセス制御は、例えば、グループ間でのコンテンツの共有（グループワークの成果のプレゼンテーションなど）の際に利用され得る。
【００６０】
［２−２．端末装置の構成例］
図９は、本実施形態に係る端末装置２００の構成の一例を示すブロック図である。図９を参照すると、端末装置２００は、通信部２１０、ユーザインタフェース部２２０、記憶部２３０、グループ設定部２６０及びコンテンツ処理部２７０を備える。
【００６１】
（１）通信部
通信部２１０は、端末装置２００が情報処理装置１００及び他の装置と通信するための通信インタフェースである。通信部２１０は、例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ方式、又はＵＷＢ若しくはＺｉｇｂｅｅなどの無線ＰＡＮ方式に準拠する無線通信インタフェースであってもよい。その代わりに、通信部２１０は、例えば、イーサネット（登録商標）などの有線ＬＡＮ方式に準拠する有線通信インタフェースであってもよい。
【００６２】
（２）ユーザインタフェース部
ユーザインタフェース部２２０は、端末装置２００へ／から情報を入出力するためのユーザインタフェースを提供する。ユーザインタフェース部２２０は、例えば、ユーザにより操作される画面インタフェースをユーザに提供する。ユーザインタフェース部２２０により提供される画面は、例えば、グループを設定するためのグループ設定画面、及びグループワークの対象となるコンテンツのレンダリング又は編集のためのアプリケーションのアプリケーション画面を含み得る。ユーザは、端末装置２００に設けられるタッチパネル、キーパッド、キーボード、ポインティングデバイス又はボタンなどの入力手段を介して、これら画面を操作し得る。
【００６３】
（３）記憶部
記憶部２３０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、端末装置２００による処理のための様々なプログラム及びデータを記憶する。例えば、記憶部２３０は、ＵＰｎＰのディスクリプションとして、デバイスディスクリプション２４０及び１つ以上のサービスディスクリプション２５０を記憶する。デバイスディスクリプション２４０及びサービスディスクリプション２５０のうち少なくとも１つは、情報処理装置１００による端末装置２００のグルーピングの際に使用される上述したグループ情報を含むように拡張される。
【００６４】
図１０Ａ及び図１０Ｂに、一例として、拡張されたデバイスディスクリプション２４０の内容を示している。なお、図１０Ａ及び図１０Ｂの左端の行番号は、説明のために便宜的に付したものである。
【００６５】
図１０Ａの第１２行を参照すると、このデバイスのフレンドリーネームが記述されている。第２０行を参照すると、このデバイスのＵＵＩＤが記述されている。第３２行から図１０Ｂの第６６行は、このデバイスが提供するサービスのサービスリストである。サービスディスクリプションにグループ情報が含まれる場合には、サービスリスト内のＵＲＬを用いて、サービスディスクリプションが取得される。第６７行の＜av:group＞タグが、グループ情報を伴う拡張タグである。図１０Ｂの例では、グループ情報の一例として、“GroupA”というグループ名称が設定されている。
【００６６】
（４）グループ設定部
グループ設定部２６０は、端末装置２００が属するべきグループについてのグループ情報をデバイスディスクリプション又はサービスディスクリプション内に設定する。例えば、ユーザインタフェース部２２０は、グループを設定するためのグループ設定画面をディスプレイに表示する。そして、グループ設定部２６０は、グループ設定画面においてユーザにより入力され又は選択されたグループのグループＩＤ又はグループ名称を、所定の拡張タグを用いて、デバイスディスクリプション又はサービスディスクリプション内に設定する。
【００６７】
なお、グループ情報を設定するための手段はかかる例に限定されない。例えば、グループ設定部２６０は、端末装置２００にログインするユーザのユーザＩＤとグループとが予め関連付けられている場合には、ユーザによるログインに応じて、自動的にグループ情報をディスクリプション内に設定してもよい。また、例えば、グループ設定部２６０は、ユーザが保持するＩＣカードに予めグループ情報が記憶されている場合には、端末装置２００に設けられるＩＣカードインタフェースを介してグループ情報を読み取り、読み取ったグループ情報を自動的にディスクリプション内に設定してもよい。さらに、ＩＣカードの代わりにリムーバブルメディアが使用されてもよい。
【００６８】
上述したように、端末装置２００は、ＵＰｎＰをサポートするＵＰｎＰデバイスである。従って、端末装置２００の通信部２１０は、装置探索信号としてのＭ−ＳＥＡＲＣＨメッセージを受信すると、デバイスディスクリプション２４０のＵＲＬを含む応答信号を返送する。また、通信部２１０は、デバイスディスクリプション２４０のＵＲＬを含む接続通知信号としてのＮＯＴＩＦＹメッセージをネットワーク上にマルチキャストする。結果として、これらメッセージに含まれるＵＲＬを使用して、グループ情報の設定されたデバイスディスクリプション２４０又はサービスディスクリプション２５０を情報処理装置１００が取得することが可能となる。
【００６９】
（５）コンテンツ処理部
コンテンツ処理部２７０は、グループワークの対象となるコンテンツのレンダリング又は編集のためのアプリケーションを提供する。また、コンテンツ処理部２７０は、メディアサーバからのコンテンツのダウンロード、及び生成又は変更されたコンテンツのメディアサーバへのアップロードを行う。コンテンツ処理部２７０により提供される上述したアプリケーションは、コンテンツのレンダリング機能又は編集機能を有する一般的なアプリケーション（例えば、イメージビューワ、ＡＶプレーヤ、オーサリングツール又は文書エディタなど）であってもよい。
【００７０】
コンテンツ処理部２７０は、例えば、上記アプリケーションにおいてコンテンツが生成され又は変更された場合に、情報処理装置１００に、自装置と同じグループに属する他の端末装置２００へ当該コンテンツの生成又は変更を通知させる。ここでの通知は、上述したように、ＵＰｎＰのイベンティング機能を活用して行われる。例えば、コンテンツ処理部２７０は、情報処理装置１００により管理されているメディアサーバに記憶されるコンテンツについて発生するイベントの購読を情報処理装置１００に登録させる。同じグループに属する他の端末装置２００によるイベントの購読もまた、同様に情報処理装置１００において登録される。そして、コンテンツ処理部２７０は、上記アプリケーションにおいてコンテンツが生成され又は変更されると、当該コンテンツをメディアサーバにアップロードする。その結果、コンテンツの生成イベント又は変更イベントが、同じグループに属する他の端末装置２００へ情報処理装置１００により通知される。
【００７１】
コンテンツ処理部２７０は、購読の登録に基づいてグループワークの対象のコンテンツについての生成イベント又は変更イベントが情報処理装置１００から通知されると、生成され又は変更されたコンテンツを情報処理装置１００から取得する。そして、コンテンツ処理部２７０は、取得したコンテンツをレンダリングする（既にそのコンテンツをレンダリング中であれば、再レンダリングする）。その代わりに、コンテンツ処理部２７０は、イベント通知に応じて、コンテンツが生成され又は変更されたことを（メッセージの表示又は音声などを用いて）ユーザに報知してもよい。それにより、複数のユーザで最新の内容のコンテンツを共有しながら、協調してグループワークを進めることができる。
【００７２】
また、コンテンツ処理部２７０は、ＭＲコントロールポイントである情報処理装置１００からコンテンツのレンダリングが指示された場合には、メディアサーバ内の指定されたコンテンツを取得して当該コンテンツをレンダリングする。
【００７３】
＜３．処理の流れ＞
次に、図１１〜図２０を用いて、本実施形態に係る情報処理システム１における処理の流れの一例を説明する。
【００７４】
［３−１．グループ設定］
図１１は、情報処理システム１におけるグループ設定の際の処理の流れの一例を示すシーケンス図である。なお、ここでは一例として、端末装置２００ａ及び２００ｂのユーザがグループワークに参加しようとしているものとする。
【００７５】
まず、端末装置２００ａのグループ設定部２６０は、端末装置２００ａが属するべきグループについてのグループ情報を、端末装置２００ａのディスクリプション内に設定する（ステップＳ１ａ）。同様に、端末装置２００ｂのグループ設定部２６０は、端末装置２００ｂが属するべきグループについてのグループ情報を、端末装置２００ｂのディスクリプション内に設定する（ステップＳ１ｂ）。グループ情報の設定は、グループ設定画面を介するユーザ入力に応じて行われてもよく、又はユーザによるデバイスへのログインなどのトリガに応じて自動的に行われてもよい。ここでは、一例として、端末装置２００ａ及び２００ｂの双方について、デバイスディスクリプション内に“GroupA”というグループ名称が設定される。
【００７６】
次に、端末装置２００ａの通信部２１０は、ＵＰｎＰ  ＤＡのディスカバリ機能の告知（Advertisement）を実行し、ＮＯＴＩＦＹメッセージをマルチキャストする（ステップＳ２）。ＮＯＴＩＦＹメッセージには、デバイスディスクリプションのＵＲＬが含まれている。ＮＯＴＩＦＹメッセージは、情報処理装置１００により受信される。
【００７７】
情報処理装置１００のグルーピング部１６０は、端末装置２００ａからＮＯＴＩＦＹメッセージが受信されると、当該ＮＯＴＩＦＹメッセージに含まれるＵＲＬを指定してＨＴＴＰ  ＧＥＴメッセージを送信し、端末装置２００ａのデバイスディスクリプションを取得する（ステップＳ３）。そして、グルーピング部１６０は、端末装置２００ａにデバイスＩＤ（例えば“Ｄ１１”）を付与し、当該デバイスＩＤ、端末装置２００ａのＵＵＩＤ、フレンドリーネーム及びＩＰアドレスをデバイステーブル１４２に登録する（ステップＳ４）。また、グルーピング部１６０は、端末装置２００ａのデバイスディスクリプションに含まれる“GroupA”というグループ名称を認識し、図１２に詳細に示すグルーピング処理を実行する（ステップＳ５）。
【００７８】
また、情報処理装置１００のグルーピング部１６０は、ＵＰｎＰ  ＤＡのディスカバリ機能の探索（Search）を実行し、通信部１１０を介してネットワーク上にＭ−ＳＥＡＲＣＨメッセージをマルチキャストする（ステップＳ６）。Ｍ−ＳＥＡＲＣＨメッセージのマルチキャストは、一定の周期で定期的に行われてもよく、又はユーザからの指示などをトリガとして行われてもよい。Ｍ−ＳＥＡＲＣＨメッセージは、端末装置２００ａ及び２００ｂにより受信される。端末装置２００ａの通信部２１０は、Ｍ−ＳＥＡＲＣＨメッセージを受信すると、応答メッセージを送信する（ステップＳ７ａ）。同様に、端末装置２００ｂの通信部２１０は、Ｍ−ＳＥＡＲＣＨメッセージを受信すると、応答メッセージを送信する（ステップＳ７ｂ）。これら応答メッセージには、デバイスディスクリプションのＵＲＬが含まれている。
【００７９】
端末装置２００ａは既にデバイステーブル１４２に登録されているため、情報処理装置１００のグルーピング部１６０は、Ｍ−ＳＥＡＲＣＨメッセージに対する端末装置２００ａからの応答メッセージが受信されても、特に何もしない。なお、グルーピング部１６０は、端末装置２００ａのディスクリプションを再度取得した上で、グループ情報が変更されていないことを確認してもよい。
【００８０】
一方、グルーピング部１６０は、Ｍ−ＳＥＡＲＣＨメッセージに対する端末装置２００ｂからの応答メッセージが受信されると、当該応答メッセージに含まれるＵＲＬを指定してＨＴＴＰ  ＧＥＴメッセージを送信し、端末装置２００ｂのデバイスディスクリプションを取得する（ステップＳ８）。そして、グルーピング部１６０は、端末装置２００ｂにデバイスＩＤ（例えば“Ｄ１２”）を付与し、当該デバイスＩＤ、端末装置２００ｂのＵＵＩＤ、フレンドリーネーム及びＩＰアドレスをデバイステーブル１４２に登録する（ステップＳ９）。また、グルーピング部１６０は、端末装置２００ｂのデバイスディスクリプションに含まれる“GroupA”というグループ名称を認識し、図１２に詳細に示すグルーピング処理を実行する（ステップＳ１０）。
【００８１】
図１２は、図１１のステップＳ５及びステップＳ１０のグルーピング処理の詳細な流れの一例を示すシーケンス図である。なお、グルーピング処理の流れは、処理に関与する端末装置によらず共通であってよい。そこで、ここでは１つの端末装置２００について説明する。
【００８２】
グルーピング処理において、グルーピング部１６０は、まず、グループＤＢを更新する（ステップＳ２１）。例えば、グルーピング部１６０は、認識したグループが新たなグループである場合には、新たなグループにグループＩＤを付与し、当該グループＩＤ及びグループ名称をグループテーブル１４４に登録する。また、グルーピング部１６０は、端末装置２００のデバイスＩＤと認識したグループのグループＩＤとのマッピングを、デバイス−グループテーブル１４６に登録する。
【００８３】
次に、コンテンツ管理部１７０は、グルーピング部１６０からの要求に応じて、登録されたグループに対応するコンテナがメディアサーバ内に既に存在するか否かを確認する（ステップＳ２２）。そして、コンテンツ管理部１７０は、コンテナが存在しない場合には、新たなグループに対応するコンテナをメディアサーバ内に生成する（ステップＳ２３）。メディアサーバ内に新たなグループに対応するコンテナが生成されると、コンテナ生成イベントが端末装置２００に通知される（ステップＳ２４）。すると、端末装置２００のコンテンツ処理部２７０により新たなグループに対応するコンテナのコンテナＩＤが取得され、取得されたコンテナＩＤが記憶される（ステップＳ２５）。
【００８４】
ステップＳ２２において、登録されたグループに対応するコンテナがメディアサーバ内に既に存在する場合には、メディアサーバ内に新たなグループに対応するコンテナは生成されないため、ステップＳ２４のイベント通知は行われない。この場合、コンテナＩＤを未取得の端末装置２００のコンテンツ処理部２７０は、コンテナのブラウジング要求を情報処理装置１００へ送信する（ステップＳ２６）。ブラウジング要求は、例えば、メディアサーバのＣＤＳに対するアクション：Ｂｒｏｗｓｅを実行することにより行われてよい。ここでは、Ｂｒｏｗｓｅの第１パラメータのオブジェクトＩＤとして、ルートコンテナを意味するＣｏｎｔａｉｎｅｒＩＤ＝“０”が指定され得る。その結果、情報処理装置１００のアクセス制御部１８０によりアクセス制御が実行され（ステップＳ２７）、要求元の端末装置２００によりアクセス可能なグループに対応するコンテナのコンテナＩＤを含むリストが返却される。端末装置２００のコンテンツ処理部２７０は、このように取得されるコンテナＩＤを記憶する（ステップＳ２８）。
【００８５】
このようなＵＰｎＰのプラットフォームを活用したグルーピングにより、汎用的な端末を用いて、ユーザに煩雑な手続を課すことなくグループワークのためのグループを形成することができる。また、グルーピングのために使用されるグループ情報がデバイスディスクリプション又はサービスディスクリプション内に設定されるため、グループ情報の収集のためにＵＰｎＰのディスカバリ機能を用いることができる。よって、グルーピングの仕組みを、極めて小さい開発コストで導入することが可能である。
【００８６】
図１３は、購読登録処理の詳細な流れの一例を示すシーケンス図である。なお、購読登録処理の流れもまた、処理に関与する端末装置によらず共通であってよい。そこで、ここでは１つの端末装置２００について説明する。
【００８７】
まず、情報処理装置１００の通信部１１０は、ＵＰｎＰ  ＤＡのディスカバリ機能の告知（Advertisement）を定期的に実行し、ＮＯＴＩＦＹメッセージをマルチキャストする（ステップ８１）。ＮＯＴＩＦＹメッセージには、情報処理装置１００のデバイスディスクリプションのＵＲＬが含まれている。端末装置２００のコンテンツ処理部２７０は、情報処理装置１００からのＮＯＴＩＦＹメッセージが受信されると、当該ＮＯＴＩＦＹメッセージに含まれるＵＲＬを指定してＨＴＴＰ  ＧＥＴメッセージを送信し、情報処理装置１００のデバイスディスクリプション（ＤＤ）を取得する（ステップＳ８４）。さらに、コンテンツ処理部２７０は、情報処理装置１００から、ＣＤＳのサービスディスクリプション（ＳＤ）を取得する（ステップＳ８５）。そして、コンテンツ処理部２７０は、ＣＤＳについてのイベントの購読の登録を情報処理装置１００に要求する（ステップＳ８６）。すると、情報処理装置１００のコンテンツ管理部１７０は、端末装置２００をイベントの購読者として登録する（ステップＳ８７）。端末装置２００のコンテンツ処理部２７０による情報処理装置１００のＤＤ及びＳＤの取得は、情報処理装置１００からのＮＯＴＩＦＹメッセージの受信の代わりに、端末装置２００からのＭ−ＳＥＡＲＣＨメッセージの送信（ステップＳ８２）及びそれに対する情報処理装置１００からの応答（ステップＳ８３）をトリガとして行われてもよい。
【００８８】
［３−２．コンテンツの生成・変更］
（１）コンテンツ生成−第１の例
図１４は、情報処理システム１におけるコンテンツの生成の際の処理の流れの第１の例を示すシーケンス図である。第１の例では、コンテンツは、グループワークに参加するユーザの１人である端末装置２００ａのユーザＵ１１により生成されるものとする。
【００８９】
まず、端末装置２００ａのユーザＵ１１は、端末装置２００ａにより提供されるアプリケーションを利用して、画像、音声、映像又は文書などの新たなコンテンツを生成する（ステップＳ３０）。そして、コンテンツの保存又はアップロードがユーザＵ１１により指示されると、コンテンツ処理部２７０は、情報処理装置１００にオブジェクト生成要求を送信する（ステップＳ３１）。情報処理装置１００のコンテンツ管理部１７０は、オブジェクト生成要求が受信されると、新たなコンテンツにオブジェクトＩＤを付与し、オブジェクトＤＢ１５０を更新する。また、コンテンツ管理部１７０は、端末装置２００ａのグループに対応するコンテナ内に新たなコンテンツのためのオブジェクトを生成する（ステップＳ３２）。そして、コンテンツ管理部１７０は、新たなコンテンツに付与したオブジェクトＩＤを、オブジェクト生成要求への応答として端末装置２００ａに通知する。
【００９０】
ステップＳ３１におけるオブジェクト生成要求は、例えば、メディアサーバのＣＤＳに対するアクション：ＣｒｅａｔｅＯｂｊｅｃｔを実行することにより行われてよい。図１５は、ＣｒｅａｔｅＯｂｊｅｃｔのシグネチャの一例を示している。図１５の第１行の“Ｃ１”は、新たなコンテンツを格納すべきコンテナのオブジェクトＩＤを表す。ここで指定されるオブジェクトＩＤは、図１２のグルーピング処理において情報処理装置１００から通知されたコンテナのオブジェクトＩＤであってよい。第６行は新たなコンテンツのタイトル、第７行は要求元のデバイスのグループ、第９行は新たなコンテンツのクラスをそれぞれ表す。ＣｒｅａｔｅＯｂｊｅｃｔを実行したデバイスは、要求メッセージのＩＰヘッダなどから取得される送信元ＩＰアドレスをデバイステーブル１４２と照合することにより識別され得る。なお、情報処理装置１００のアクセス制御部１８０は、オブジェクト生成要求において指定されたコンテナが要求元のデバイスが属するグループのためのコンテナでない場合には、オブジェクトの生成を拒否する応答を返送してもよい。図１６は、図１５に示したＣｒｅａｔｅＯｂｊｅｃｔへの応答のシグネチャの一例を示している。図１６の第１行の“Ｐ１”は、コンテナＣ１内に生成された新たなオブジェクトのオブジェクトＩＤを表す。第９行は、メディアサーバ内の新たなオブジェクトＰ１にアクセスするためのＵＲＩを表す。
【００９１】
図１４に戻り、コンテンツの生成の際の処理の流れの第１の例の説明を継続する。情報処理装置１００のコンテンツ管理部１７０は、新たなオブジェクトを生成すると、購読者として登録されている端末装置２００ａ及び２００ｂへイベントを通知する（ステップＳ３３ａ、Ｓ３３ｂ）。ここで通知されるイベントは、例えば、コンテナＣ１の更新を一意に識別するためのコンテナ更新ＩＤ（ContainerUpdateID）を含み得る。次の例において、コンテナ更新ＩＤは、コンテナのオブジェクトＩＤ“Ｃ１”と更新の都度カウントアップされる整数（例えば“５”）とにより構成される。
例）ContainerUpdateIDs=“C1,5”
【００９２】
次に、端末装置２００ａのコンテンツ処理部２７０は、生成されたコンテンツの実体データの情報処理装置１００へのアップロードを開始する（ステップＳ３４）。ステップＳ３４におけるアップロードの開始は、例えば、メディアサーバのＣＤＳに対するアクション：ＩｍｐｏｒｔＲｅｓｏｕｒｃｅを実行することにより行われてよい。次の例において、ＩｍｐｏｒｔＲｅｓｏｕｒｃｅは、第１引数としてアップロード元のＵＲＩ、第２引数としてアップロード先のＵＲＩを含む。アップロード先のＵＲＩは、ＣｒｅａｔｅＯｂｊｅｃｔへの応答によって通知されたＵＲＩであってよい。
例）ImportResource(“http://192.168.1.3/Exercise1.jpg”,
“http://192.168.1.3/cd/import?id=P1”)
コンテンツ管理部１７０は、ＩｍｐｏｒｔＲｅｓｏｕｒｃｅへの応答として、データ転送を一意に識別するための転送ＩＤ（TransferID）を端末装置２００ａに通知する。次の例において、転送ＩＤは、データ転送が発生する都度カウントアップされる整数（例えば“１２３４”）である。
例）ImportResource(1234)
【００９３】
情報処理装置１００のコンテンツ管理部１７０は、コンテンツのアップロードが開始されると、購読者として登録されている端末装置２００ａ及び２００ｂへイベントを通知する（ステップＳ３５ａ、Ｓ３５ｂ）。ここで通知されるイベントは、例えば、上述した転送ＩＤを含み得る。
例）TransferID=“1234”
【００９４】
次に、端末装置２００ａのコンテンツ処理部２７０は、ＨＴＴＰのＧＥＴメソッドを用いて、生成されたコンテンツの実体データのメディアサーバへの転送を開始する（ステップＳ３６）。ここで使用されるＧＥＴメソッドは、次のようなメッセージであってよい。
例）GET  /Exercise1.jpg  HTTP/1.1
ＧＥＴメソッドが成功した場合には、次のような応答メッセージが返送される。
例）HTTP/1.1  200  OK
【００９５】
端末装置２００ａのコンテンツ処理部２７０は、さらに、データ転送のステータスを取得するために、メディアサーバのＣＤＳに対するアクション：ＧｅｔＴｒａｎｓｆｅｒＰｒｏｇｒｅｓｓを実行し得る（ステップＳ３７、Ｓ３８）。次の例において、ＧｅｔＴｒａｎｓｆｅｒＰｒｏｇｒｅｓｓは、引数として上述した転送ＩＤを含む。
例）GetTransferProgress(1234)
ＧｅｔＴｒａｎｓｆｅｒＰｒｏｇｒｅｓｓに対する応答メッセージは、指定されたデータ転送についてのステータス、転送済みのバイト数及び転送対象の総バイト数を含み得る。次の例１はデータ転送が進行中である場合、例２はデータ転送が完了した場合の応答メッセージを示している。
例１）GetTransferProgress(“IN_PROGRESS”,43852,125327)
例２）GetTransferProgress(“COMPLETED”,125327,125327)
【００９６】
情報処理装置１００のコンテンツ管理部１７０は、コンテンツのアップロードが完了すると、購読者として登録されている端末装置２００ａ及び２００ｂへイベントを通知する（ステップＳ３９ａ、Ｓ３９ｂ）。
例）TransferID=“”
【００９７】
アップロードされたコンテンツのメディアサーバ内のＵＲＩを示すｒｅｓ要素は、次のように更新され得る。
例）<res  protocolInfo="http-get:*:image/jpeg:*”
importUri=”http://192.168.1.2/cd/import?id=P1”>
http://192.168.1.2/cd/content?id=P1
</res>
【００９８】
端末装置２００ｂは、同じグループに属する端末装置２００ａにより生成されたコンテンツのアップロードが完了したことを、ステップＳ３９ｂにおいて通知されたイベントから認識する。すると、端末装置２００ｂは、図１７に詳細に示すレンダリング処理を実行し得る（ステップＳ４０）。
【００９９】
（２）レンダリングの詳細
図１７は、図１４のステップＳ４０のレンダリング処理の詳細な流れの一例を示すシーケンス図である。なお、レンダリング処理の流れは、処理に関与する端末装置によらず共通であってよい。そこで、ここでは１つの端末装置２００について説明する。
【０１００】
レンダリング処理において、コンテンツ処理部２７０は、まず、コンテンツのブラウジング要求を情報処理装置１００へ送信する（ステップＳ４１）。ブラウジング要求は、例えば、メディアサーバのＣＤＳに対するアクション：Ｂｒｏｗｓｅを実行することにより行われてよい。Ｂｒｏｗｓｅは、ブラウジングされるコンテナのオブジェクトＩＤ、及びコンテンツのフィルタリング条件などの補足的なパラメータを含み得る。
【０１０１】
情報処理装置１００のアクセス制御部１８０は、ブラウジング要求が受信されると、アクセス制御を実行し、返却されるコンテンツのリストをフィルタリングする（ステップＳ４２）。より具体的には、アクセス制御部１８０は、まず、デバイステーブル１４２を参照し、要求メッセージの送信元ＩＰアドレスから要求元のデバイスを識別する。次に、アクセス制御部１８０は、デバイス−グループテーブル１４６及びオブジェクト−グループテーブル１５４を参照し、識別したデバイスのグループとマッピングされているコンテンツを特定する。ここで特定されたコンテンツのリストが、ブラウジング要求に対する応答において端末装置２００へ返却される。
【０１０２】
次に、端末装置２００のコンテンツ処理部２７０は、ＨＴＴＰのＧＥＴメソッドを用いて、レンダリングすべきコンテンツの実体データをメディアサーバからダウンロードする（ステップＳ４３）。なお、ステップＳ４１におけるブラウジングは、グループワークの間にコンテンツのＵＲＩが変更された場合にその変更を各デバイス又はユーザが認識するために行われ得る。レンダリングすべきコンテンツのＵＲＩが既知であれば、ステップＳ４１におけるブラウジングを経ることなく、コンテンツがダウンロードされてよい。
【０１０３】
コンテンツ処理部２７０は、コンテンツのダウンロードが完了すると、コンテンツのレンダリング（又は再レンダリング）を行う（ステップＳ４４）。
【０１０４】
（３）コンテンツ生成−第２の例
図１８は、情報処理システム１におけるコンテンツの生成の際の処理の流れの第２の例を示すシーケンス図である。第２の例では、コンテンツは、スーパーユーザである情報処理装置１００のユーザＵ０により生成されるものとする。
【０１０５】
まず、情報処理装置１００のユーザＵ０は、任意のアプリケーションを利用して、画像、音声、映像又は文書などの新たなコンテンツを予め生成する（ステップＳ５０）。ここで生成されたコンテンツにはオブジェクトＩＤが付与され、当該オブジェクトＩＤを用いてオブジェクトＤＢ１５０が更新される。また、ユーザＵ０により指定されるコンテナ内に、生成されたコンテンツが格納される。ここで生成されるコンテンツは、例えば、端末装置２００ａ及び２００ｂが属するグループによるグループワークのためのコンテンツである。
【０１０６】
端末装置２００ｂは、グループワークの開始にあたり、ブラウジング要求を情報処理装置１００へ送信する（ステップＳ５１）。ブラウジング要求は、例えば、メディアサーバのＣＤＳに対するアクション：Ｂｒｏｗｓｅを実行することにより行われてよい。Ｂｒｏｗｓｅは、ブラウジングされるコンテナのオブジェクトＩＤ、及びコンテンツのフィルタリング条件などの補足的なパラメータを含み得る。
【０１０７】
情報処理装置１００のアクセス制御部１８０は、ブラウジング要求が受信されると、アクセス制御を実行し、返却されるコンテンツのリストをフィルタリングする（ステップＳ５２）。そして、アクセス制御部１８０によりフィルタリングされた、端末装置２００ｂのグループとマッピングされているコンテンツのリストが、端末装置２００ｂへ返却される。ここで返却されるコンテンツのリストは、ステップＳ５０においてユーザＵ０により生成されたコンテンツを含む。
【０１０８】
端末装置２００ｂのユーザＵ１２は、例えばユーザインタフェース部２２０により提供される画面上で、ステップＳ５０においてユーザＵ０により生成されたコンテンツを指定する。すると、端末装置２００ｂのコンテンツ処理部２７０は、ＨＴＴＰのＧＥＴメソッドを用いて、コンテンツデータをメディアサーバからダウンロードする（ステップＳ５３）。そして、コンテンツ処理部２７０は、コンテンツのダウンロードが完了すると、コンテンツのレンダリングを行う（ステップＳ５４）。
【０１０９】
同様に、端末装置２００ａもまた、グループワークの開始にあたり、ブラウジング要求を情報処理装置１００へ送信する（ステップＳ５５）。情報処理装置１００のアクセス制御部１８０は、ブラウジング要求が受信されると、アクセス制御を実行し、返却されるコンテンツのリストをフィルタリングする（ステップＳ５６）。そして、アクセス制御部１８０によりフィルタリングされた、端末装置２００ａのグループとマッピングされているコンテンツのリストが、端末装置２００ａへ返却される。端末装置２００ａ及び２００ｂは同じグループに属するため、ここで返却されるコンテンツのリストは、端末装置２００ｂへ返却されたリストと同じコンテンツを含む。
【０１１０】
端末装置２００ａのユーザＵ１１は、例えばユーザインタフェース部２２０により提供される画面上で、ステップＳ５０においてユーザＵ０により生成されたコンテンツを指定する。すると、端末装置２００ａのコンテンツ処理部２７０は、ＨＴＴＰのＧＥＴメソッドを用いて、コンテンツデータをメディアサーバからダウンロードする（ステップＳ５７）。そして、コンテンツ処理部２７０は、コンテンツのダウンロードが完了すると、コンテンツのレンダリングを行う（ステップＳ５８）。
【０１１１】
（４）コンテンツ変更
図１９は、情報処理システム１におけるコンテンツの変更の際の処理の流れの一例を示すシーケンス図である。ここでは、コンテンツは、グループワークに参加するユーザの１人である端末装置２００ａのユーザＵ１１により変更されるものとする。
【０１１２】
まず、端末装置２００ａのユーザＵ１１は、コンテンツ処理部２７０により提供されるアプリケーションを利用して、コンテンツを編集する（ステップＳ６０）。ここで編集されるコンテンツは、ユーザＵ１１と同じグループのユーザにより生成されたコンテンツであってもよく、又はスーパーユーザにより用意されたコンテンツであってもよい。そして、コンテンツの保存又はアップロードがユーザＵ１１により指示されると、コンテンツ処理部２７０は、変更されたコンテンツの実体データの情報処理装置１００へのアップロードを開始する（ステップＳ６１）。ステップＳ６１におけるアップロードの開始は、例えば、メディアサーバのＣＤＳに対するアクション：ＩｍｐｏｒｔＲｅｓｏｕｒｃｅを実行することにより行われてよい。その後、図１４に例示したステップＳ３４〜ステップＳ４０と同様に、コンテンツデータのアップロード、グループ内のデバイスへのイベント通知及び各デバイスによるコンテンツのレンダリングが行われ得る（ステップＳ６２ａ〜Ｓ６７）。
【０１１３】
このようにＵＰｎＰのイベンティング機能を活用することにより、汎用的な端末を用いて形成されたグループに基づいて、グループワークを円滑に進めることができる。各ユーザは、同じグループ内のユーザによるコンテンツの生成又は変更をイベント通知によって迅速に知ることができる。
【０１１４】
［３−３．プレゼンテーション］
グループワークを通じてコンテンツが生成され又は変更された後、グループ間でコンテンツを共有したいという状況が生じ得る。グループワークの成果の他のグループへのプレゼンテーションは、そうした状況の一例である。
【０１１５】
図２０は、本実施形態に係るプレゼンテーションの際の処理の流れの一例を示している。ここでは、“GroupA”に属する端末装置２００ａ及び２００ｂ、並びに“GroupB”に属する端末装置２００ｃ及び２００ｄに向けて、情報処理装置１００のユーザＵ０により選択されるコンテンツがプレゼンテーションされるものとする。
【０１１６】
まず、情報処理装置１００のコンテンツ管理部１７０は、自ら管理しているメディアサーバ内のコンテンツをブラウジングする（ステップＳ７１）。ブラウジングは、例えば、ＣＤＳに対するアクション：Ｂｒｏｗｓｅを実行することにより行われ得る。次に、画面上に表示されるコンテンツのリストから、プレゼンテーションされるコンテンツがユーザＵ０により選択される（ステップＳ７２）。すると、アクセス制御部１８０は、任意のグループ（ユーザＵ０により指定されるグループ又は全てのグループ）に属するデバイスへのコンテンツの提供が許可されるように、オブジェクトＤＢ１５０を更新する（ステップＳ７３）。
【０１１７】
次に、コンテンツ管理部１７０は、コンテンツの提供の準備として、端末装置２００ａ、２００ｂ、２００ｃ及び２００ｄに、選択されたコンテンツのＵＲＩを通知する（ステップＳ７４ａ、Ｓ７４ｂ）。ここでの通知は、例えば、ＵＰｎＰ  ＡＶのアクション：ＳｅｔＡＶＴｒａｎｓｐｏｒｔＵＲＩを実行することにより行われてよい。そして、コンテンツ管理部１７０は、ＵＲＩを通知したコンテンツのレンダリングを端末装置２００ａ、２００ｂ、２００ｃ及び２００ｄに指示する（ステップＳ７５ａ、Ｓ７５ｂ）。ここでの指示は、例えば、ＵＰｎＰ  ＡＶのアクション：Ｐｌａｙを実行することにより行われてよい。端末装置２００ａ、２００ｂ、２００ｃ及び２００ｄのコンテンツ処理部２７０は、レンダリングの指示が受信されると、通知されたＵＲＩにアクセスしてコンテンツを取得し、取得したコンテンツをそれぞれレンダリングする（ステップＳ７６ａ、Ｓ７６ｂ）。
【０１１８】
その後、例えば、スーパーユーザである情報処理装置１００のユーザＵ０は、ユーザインタフェース部１２０により提供される画面上で、プレゼンテーション中のコンテンツにコメントを追記することができる（ステップＳ８０）。プレゼンテーション中のコンテンツにコメントが追記されると、ステップＳ７４ａ〜Ｓ７６ｂの処理が再度実行され、追記されたコメントが端末装置２００ａ〜２００ｄのユーザにより閲覧され得る。
【０１１９】
このように、本開示に係る技術は、ＵＰｎＰのプラットフォームを基盤としているため、既存のＵＰｎＰ  ＡＶの機能を活用してグループワークの成果をプレゼンテーションすることも容易である。
【０１２０】
＜４．システムの使用事例＞
本開示に係る技術は、グループワークに関連する様々な場面で活用され得る。本節では、典型的な２つの事例及びその他の事例について説明する。
【０１２１】
［４−１．第１の使用事例］
図２１は、第１の使用事例における情報処理システム１ａの概要を示している。第１の使用事例は、学校又は企業の研修施設などの教育現場におけるグループワークを主な対象とする事例である。
【０１２２】
第１の使用事例では、講師役のユーザと生徒役のユーザとが存在する。情報処理システム１ａにおいて講師役のユーザＵ０は、情報処理装置１００を使用する。生徒役のユーザは、それぞれ端末装置２００を使用する。ユーザＵ１１、Ｕ１２及びＵ１３は、グループＧ１に属する。ユーザＵ２１、Ｕ２２及びＵ２３は、グループＧ２に属する。ユーザＵ３１、Ｕ３２及びＵ３３は、グループＧ３に属する。各ユーザは、グループワークの開始にあたり、自らが参加しようとするグループのグループＩＤ又はグループ名称を、図１１のステップＳ１ａ及びＳ１ｂに関連して説明したように、それぞれ端末装置２００に設定する。
【０１２３】
情報処理装置１００は、ＵＰｎＰのディスカバリ機能を通じて、これら端末装置２００を検出する。そして、情報処理装置１００のグルーピング部１６０は、各デバイスのディスクリプションに含まれるグループ情報に基づいて、これら端末装置２００を３つのグループＧ１、Ｇ２及びＧ３にグルーピングする。
【０１２４】
その後、図１４、図１８又は図１９に例示したシーケンスに従って、各グループにおいてグループワークが行われる。例えば、グループＧ１に属する３つの端末装置２００のメディアレンダラ（ＭＲ）は、メディアサーバ（ＭＳ）に格納されるコンテンツのうち、グループＧ１とマッピングされるコンテンツのみをレンダリングする。グループＧ２に属する３つの端末装置２００のＭＲは、グループＧ２とマッピングされるコンテンツのみをレンダリングする。グループＧ３に属する３つの端末装置２００のＭＲは、グループＧ３とマッピングされるコンテンツのみをレンダリングする。
【０１２５】
各グループのグループワークが終了した後、講師役のユーザＵ０は、図２０に例示したシーケンスに従ってプレゼンテーションを実施する。例えば、ユーザＵ０は、グループＧ１により生成されたコンテンツをグループＧ２及びＧ３に属する端末装置２００に提供させ、当該コンテンツをレンダリングさせる。同様に、ユーザＵ０は、グループＧ２により生成されたコンテンツをグループＧ１及びＧ３に属する端末装置２００に提供させ、当該コンテンツをレンダリングさせる。また、ユーザＵ０は、グループＧ３により生成されたコンテンツをグループＧ１及びＧ２に属する端末装置２００に提供させ、当該コンテンツをレンダリングさせる。
【０１２６】
［４−２．第２の使用事例］
図２２は、第２の使用事例における情報処理システム１ｂの概要を示している。第２の使用事例は、企業又は研究所などの会議の場におけるグループワークを主な対象とする事例である。
【０１２７】
第２の使用事例では、４人のユーザＵ１１〜Ｕ１４が会議において共通的なコンテンツを閲覧し又は編集しようとしている。これらユーザＵ１１〜Ｕ１４の中に、第１の使用事例の講師役のユーザのような特別なユーザは存在しない。但し、ユーザＵ１４が利用するデバイスは、上述した端末装置２００及び情報処理装置１００の双方の役割を有し、デバイスのグルーピングを主導する。
【０１２８】
ユーザＵ１１、Ｕ１２、Ｕ１３及びＵ１４は、いずれもグループＧ１に属し、グループワークの開始にあたり、共通のグループＩＤ又はグループ名称をそれぞれのデバイスに設定する。ユーザＵ１４が利用するデバイスは、ＵＰｎＰのディスカバリ機能を通じてこれらデバイスを検出し、グルーピング処理を実行する。それにより、ユーザＵ１１、Ｕ１２、Ｕ１３及びＵ１４がメディアサーバ（ＭＳ）に格納される共通のコンテンツを閲覧し又は編集することが可能となる。
【０１２９】
図２２には、他のユーザＵ４及びＵ５も示されている。ユーザＵ４及びＵ５は、ユーザＵ１１、Ｕ１２、Ｕ１３及びＵ１４の近傍に位置する。しかし、情報処理装置１００のアクセス制御部１８０がグループＧ１のコンテンツへのユーザＵ４及びＵ５のデバイスからのアクセスを拒否するため、グループＧ１のためのコンテンツがユーザＵ４及びＵ５により閲覧されることは防止される。
【０１３０】
［４−３．その他の使用事例］
本開示に係る技術は、ホームネットワークにおけるコンテンツの共有においても活用され得る。例えば、子供の両親は、子供に閲覧されることを望まないコンテンツを有する可能性がある。その場合には、そうしたコンテンツへのアクセスが許可されるグループとは異なるグループを子供が利用するデバイスに設定することにより（又はいかなるグループも子供が利用するデバイスに設定しないことにより）、上記コンテンツを子供が閲覧することを防止することができる。
【０１３１】
なお、本開示に係る技術は、ここで説明した事例に限定されることなく、グループワークに関連する他の様々な場面で活用されてよい。
【０１３２】
＜５．まとめ＞
ここまで、図１〜図２２を用いて、一実施形態に係る情報処理システム１について詳細に説明した。本実施形態によれば、ＵＰｎＰをサポートする端末装置においてディスクリプション内にグループ情報が設定され、情報処理装置が当該グループ情報に基づいて複数の端末装置を１つ以上のグループにグルーピングする。そして、グループごとのコンテンツのレンダリングが実現される。従って、一般に広く普及しているＵＰｎＰをサポートする端末を用いて、ユーザに煩雑な手続を課すことなくグループワークを実現することができる。例えば、近年、無線ＬＡＮ方式に準拠した通信機能を備えるタブレット型ＰＣ又はスマートフォンなどの携帯端末が多くのユーザにより利用されている。本実施形態によれば、これら携帯端末を複数のユーザが持ち寄って通信機能を立ち上げるだけで、端末のグループが形成され、グループワークが可能となる。また、上述した仕組みは、ＯＳ（Operating  System）の種類又はデバイスの種類に依存することなく動作し得る点でも有益である。
【０１３３】
また、本実施形態によれば、上記グループ情報は、デバイスディスクリプション又はサービスディスクリプション内に設定される。従って、情報処理装置は、グループ情報を収集するためにＵＰｎＰの既存のディスカバリ機能を活用することができる。よって、本実施形態に係るグルーピングの仕組みを、極めて小さい開発コストで導入することが可能である。上記グループ情報がデバイスディスクリプション内に設定される場合には、Ｍ−ＳＥＡＲＣＨメッセージへの応答又はＮＯＴＩＦＹメッセージにデバイスディスクリプションのＵＲＬが含まれるため、少ない回数の信号の送受信のみで、情報処理装置がグループ情報を収集することができる。
【０１３４】
また、本実施形態によれば、各端末装置に設定されるグループ情報は、各グループを識別するためのグループ識別子又はグループ名称のみであってよい。従って、個々のユーザがグループ情報を設定する場合にも、設定の手続は簡単である。
【０１３５】
また、本実施形態によれば、各グループに対応するコンテナがメディアサーバ内に生成される。そして、グループごとに生成され又は変更されるコンテンツが、対応するコンテナ内に格納される。従って、グループごとのアクセス制御をＵＰｎＰのメディアサーバのコンテナを用いて容易に実装することが可能である。
【０１３６】
また、本実施形態によれば、各端末装置はメディアサーバ（あるいはＣＤＳ）について発生するイベントの購読者として登録され、コンテンツの生成又は変更がイベントとして購読者に通知される。従って、コンテンツの生成又は変更を、当該コンテンツに対応するグループ内のユーザが迅速に知ることができる。このような仕組みもまた、ＵＰｎＰのイベンティング機能を拡張することにより、少ない開発コストで容易に実装され得る。
【０１３７】
また、本実施形態によれば、スーパーユーザ権限を有するユーザを定義することができる。例えば、グループワークを主導する講師のようなユーザが存在する場合に、当該ユーザをスーパーユーザとすることで、グループワークの成果のプレゼンテーションなどを円滑に進めることができる。
【０１３８】
また、本実施形態によれば、ＵＰｎＰにおいて特有のクラスが定義されている画像コンテンツ、音声コンテンツ及び映像コンテンツのみならず、文書コンテンツもメディアサーバ内に記憶され得る。ＵＰｎＰのクラス定義を拡張して高度な文書コンテンツを取り扱うことを可能とすることにより、グループワークの対象とし得るコンテンツの種類が多様化する。その結果、グループワークの利点をより多くの場面で享受することが可能となる。
【０１３９】
なお、本明細書において説明した各装置による処理の少なくとも一部は、ソフトウェアを用いて実現される。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵ（Central  Processing  Unit）などのプロセッサにより実行される。
【０１４０】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１４１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
ＵＰｎＰをサポートする複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、
を備える情報処理装置。
（２）
第１の端末装置上でコンテンツが生成され又は変更された場合に、前記グルーピング部によるグルーピングの結果に基づいて、前記第１の端末装置と同じグループに属する少なくとも第２の端末装置へ前記コンテンツの生成又は変更を通知するコンテンツ管理部、
をさらに備える、前記（１）に記載の情報処理装置。
（３）
前記ディスクリプションは、デバイスディスクリプション又はサービスディスクリプションである、前記（１）又は前記（２）に記載の情報処理装置。
（４）
前記ディスクリプションは、デバイスディスクリプションである、前記（３）に記載の情報処理装置。
（５）
前記グループ情報は、各グループを識別するためのグループ識別子又はグループ名称を含む、前記（１）〜（４）のいずれか１項に記載の情報処理装置。
（６）
前記コンテンツ管理部は、各グループに対応するコンテナをメディアサーバ内に有し、前記第１の端末装置上で生成され又は変更されるコンテンツを、前記第１の端末装置が属するグループに対応するコンテナ内に格納する、前記（２）に記載の情報処理装置。
（７）
前記コンテンツ管理部は、各端末装置をメディアサーバに記憶されるコンテンツについてのイベントの購読者として登録し、ＵＰｎＰのイベンティング機能を用いて各コンテンツの生成又は変更に関するイベントを各端末装置へ通知する、前記（２）又は前記（６）に記載の情報処理装置。
（８）
メディアサーバへの端末装置によるアクセスを当該端末装置が属するグループに基づいて制御するアクセス制御部、
をさらに備える、前記（１）〜（７）のいずれか１項に記載の情報処理装置。
（９）
前記コンテンツ管理部は、各コンテンツと当該コンテンツの利用が許可されるグループとをマッピングする第１のマッピング情報を記憶媒体に記憶させ、
前記アクセス制御部は、アクセス元の端末装置が属するグループとアクセス先のコンテンツとが前記第１のマッピング情報によりマッピングされている場合に、前記アクセス元の端末装置による前記アクセス先のコンテンツへのアクセスを許可する、
前記（８）に記載の情報処理装置。
（１０）
前記第１のマッピング情報は、各コンテンツを生成した端末装置を識別するデータ又は当該端末装置が属するグループを識別するデータを含む、前記（９）に記載の情報処理装置。
（１１）
前記アクセス制御部は、スーパーユーザ権限を有するユーザからのコンテンツ提供の指示を受け取った場合には、任意のグループに属する端末装置へのコンテンツの提供を許可する、前記（８）〜（１０）のいずれか１項に記載の情報処理装置。
（１２）
前記グルーピング部は、各端末装置と当該端末装置が属するグループとをマッピングする第２のマッピング情報を記憶媒体に記憶させ、
前記コンテンツ管理部は、前記第１の端末装置と同じグループに属する端末装置を前記第２のマッピング情報を用いて識別する、
前記（２）に記載の情報処理装置。
（１３）
前記第２のマッピング情報は、各端末装置の識別子、ＵＵＩＤ、名称又はＩＰアドレスとグループとのマッピングを示すデータを含む、前記（１２）に記載の情報処理装置。
（１４）
前記グルーピング部は、ネットワーク上にＭ−ＳＥＡＲＣＨメッセージをマルチキャストすることにより又は各端末装置から送信されるＮＯＴＩＦＹメッセージを受信することにより、グルーピングすべき端末装置を検出する、前記（１）〜（１３）のいずれか１項に記載の情報処理装置。
（１５）
前記グルーピング部は、前記Ｍ−ＳＥＡＲＣＨメッセージへの応答又は前記ＮＯＴＩＦＹメッセージに含まれるＵＲＬを用いて、各端末装置から前記ディスクリプションを取得する、前記（１４）に記載の情報処理装置。
（１６）
前記グルーピング部は、前記ディスクリプションに所定のタグが含まれる端末装置を、グルーピングすべき端末装置であると認識する、前記（１５）に記載の情報処理装置。
（１７）
前記所定のタグは、前記グループ情報を伴うタグである、前記（１６）に記載の情報処理装置。
（１８）
前記複数の端末装置は、メディアレンダラとしてそれぞれ動作し、
前記情報処理装置は、メディアレンダラを制御するコントロールポイントとして動作する、
前記（１）〜（１７）のいずれか１項に記載の情報処理装置。
（１９）
前記情報処理装置は、メディアサーバとしてさらに動作し、
前記複数の端末装置は、メディアサーバを制御するコントロールポイントとしてそれぞれさらに動作する、
前記（１８）に記載の情報処理装置。
（２０）
前記情報処理装置は、各端末装置により生成され又は変更される画像コンテンツをメディアサーバ内に記憶する、前記（１９）に記載の情報処理装置。
（２１）
前記情報処理装置は、各端末装置により生成され又は変更される音声コンテンツをメディアサーバ内に記憶する、前記（１９）に記載の情報処理装置。
（２２）
前記情報処理装置は、各端末装置により生成され又は変更される映像コンテンツをメディアサーバ内に記憶する、前記（１９）に記載の情報処理装置。
（２３）
前記情報処理装置は、各端末装置により生成され又は変更される文書コンテンツをメディアサーバ内に記憶する、前記（１９）に記載の情報処理装置。
（２４）
前記複数の端末装置と通信する通信部、をさらに備える、前記（１）〜（２３）のいずれか１項に記載の情報処理装置。
（２５）
前記情報処理装置もまた前記グルーピング部によるグルーピングの対象であり、
前記情報処理装置は、前記グルーピングの際に使用される前記情報処理装置のグループ情報を設定する設定部、をさらに備える、
前記（１）〜（２４）のいずれか１項に記載の情報処理装置。
（２６）
ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置を制御するコンピュータを、
前記複数の端末装置から受信されるＵＰｎＰのディスクリプションに含まれるグループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、
として機能させるためのプログラム。
（２７）
ＵＰｎＰをサポートする複数の端末装置と通信する情報処理装置において、
前記複数の端末装置からグループ情報を含むＵＰｎＰのディスクリプションを受信することと、
受信された前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングすることと、
を含む情報処理方法。
（２８）
ＵＰｎＰプロトコルをサポートする端末装置であって、
前記端末装置及び他の装置を１つ以上のグループにグルーピングする際に使用されるグループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部と、
前記記憶部により記憶されている前記ディスクリプションを前記グルーピングを行う情報処理装置へ送信する通信部と、
を備える端末装置。
（２９）
グループワークの対象であるコンテンツを生成し又は変更するためのアプリケーションをさらに備える、前記（２８）に記載の端末装置。
（３０）
前記アプリケーションにより前記コンテンツが生成され又は変更された場合に、前記情報処理装置に、前記端末装置と同じグループに属する他の装置へ前記コンテンツの生成又は変更を通知させるコンテンツ処理部、
をさらに備える、前記（２９）に記載の端末装置。
（３１）
前記コンテンツ処理部は、前記情報処理装置からの通知に応じて、他の装置により生成され又は変更されたコンテンツを前記アプリケーションにレンダリングさせる、前記（３０）に記載の端末装置。
（３２）
前記コンテンツ処理部は、前記情報処理装置からの通知に応じて、他の装置によりコンテンツが生成され又は変更されたことをユーザに報知する、前記（３０）に記載の端末装置。
（３３）
前記グループ情報をユーザに設定させるためのユーザインタフェースをさらに備える、前記（２８）に記載の端末装置。
（３４）
ユーザと関連付けられるグループ情報を記憶している媒体から当該グループ情報を取得して前記ディスクリプション内に設定するグループ設定部、をさらに備える、前記（２８）に記載の端末装置。
（３５）
ＵＰｎＰプロトコルをサポートする複数の端末装置及び前記複数の端末装置と通信する情報処理装置を含む情報処理システムであって、
前記複数の端末装置の各々は、グループ情報を含むＵＰｎＰのディスクリプションを記憶する記憶部、を備え、
前記情報処理装置は、前記複数の端末装置から受信される前記ディスクリプションに含まれる前記グループ情報に基づいて、前記複数の端末装置を１つ以上のグループにグルーピングするグルーピング部、を備える、
情報処理システム。
【符号の説明】
【０１４２】
１００    情報処理装置
１１０    通信部
１２０    ユーザインタフェース部
１３０    記憶部
１６０    グルーピング部
１７０    コンテンツ管理部
１８０    アクセス制御部
２００    端末装置
２１０    通信部
２２０    ユーザインタフェース部
２３０    記憶部
２４０    デバイスディスクリプション
２５０    サービスディスクリプション
２６０    グループ設定部
２７０    コンテンツ処理部
【図１】
0005874214.tif 000002
【図２】
0005874214.tif 000003
【図３】
0005874214.tif 000004
【図４】
0005874214.tif 000005
【図５】
0005874214.tif 000006
【図６】
0005874214.tif 000007
【図７】
0005874214.tif 000008
【図８】
0005874214.tif 000009
【図９】
0005874214.tif 000010
【図１０Ａ】
0005874214.tif 000011
【図１０Ｂ】
0005874214.tif 000012
【図１１】
0005874214.tif 000013
【図１２】
0005874214.tif 000014
【図１３】
0005874214.tif 000015
【図１４】
0005874214.tif 000016
【図１５】
0005874214.tif 000017
【図１６】
0005874214.tif 000018
【図１７】
0005874214.tif 000019
【図１８】
0005874214.tif 000020
【図１９】
0005874214.tif 000021
【図２０】
0005874214.tif 000022
【図２１】
0005874214.tif 000023
【図２２】
0005874214.tif 000024