明細書
プログラム、 情報処理方法および装置、 並びにデータ構造 技術分野
本発明は、 プログラム、 情報処理方法および装置、 並びにデータ構造に関し、 特に、 能力が異なる装置間で確実に接続ができるようにしたプログラム、 情報処 理方法および装置、 並びにデータ構造に関する。 背景技術
最近、 インターネットが普及し、 インターネットを利用して各種のデータを相 手側と授受するユーザが増えてきた。
しかしながら、 従来、 例えば、 相手側の装置に対して所定の画像を伝送しょう とした場合、 相手側の装置の能力が自分自身の能力と異なるため、 実質的には、 相互に接続することができず、 結局、 画像データを伝送することができなくなる といった事態が発生することがあった。
これを防ぐには、 ユーザは、 相手側の装置の能力を事前に確認する必要がある。 例えば、 ス トリーミングを行う場合に、 RTSP (Real Time Streaming Protoco 1) (Real Time Streaming Protocol, IETF RFC 2326, Apri l 1998, <http : //w w . ietf. org/rfc/rfc/2326. txt>) では、 サーバとクライアント間でストリー ムのパラメータを交換する方法として、 SDP (Sess ion Descript ion Protocol) (SDP : Session Descript ion Protocol, IETF RFC 2327, Apri l 1998 , <http : / /www. ietf. org/rfc/rfc/2327. txt» を用いることが規定されている。
しかしながら、 RTSP には、 具体的にどのようにしてパラメータを交換するの かが規定されておらず、 結局、 サーバとクライアント間でデータを確実に授受す ることができない課題があった。 発明の開示
本発明は、 このような状況に鑑みてなされたものであり、 相手側の装置と確実 に接続し、 データを授受することができるようにするものである。
本発明のプログラムは、 サービスに関するパラメータであって、 数値化された M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービス の内容を表す詳細情報を生成する生成ステップをコンピュータに実行させること を特徴とする。
前記生成ステップは、 基本単位により正規化された前記パラメータを取得する ようにすることができる。
前記生成ステップは、 他の前記パラメータとの共存が制限される可能性が最も 高い主要因パラメータに基づいて、 前記パラメータを複数の領域に区分し、 前記 領域ごとに前記パラメータを取得するようにすることができる。
前記生成ステップは、 前記各領域ごとに、 M次元の前記パラメータのそれぞれ を、 1次元の整数値として取得するようにすることができる。
前記生成ステップは、 前記詳細情報を、 前記整数値と論理記号の組み合わせで 表現するようにすることができる。
前記生成ステップは、 前記論理記号として、 複数の前記整数値のいずれか 1つ の選択を表現する第 1の記号と、 前記整数値の集合を表す第 2の記号を用いるよ うにすることができる。
前記生成ステップは、 前記第 2の記号として、 範囲の始まりを表す始値、 前記 範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するス テップを用いるようにすることができる。
前記サービスは、 ネットワークを介してデータを送信または受信するサービス であるようにすることができる。
前記生成ステップは、 前記サービスを識別する識別子をさらに取得し、 前記詳 細情報に付加するようにすることができる。
前記識別子を、 前記ネットワークを介して所定の送信先に送信する第 1の送信 ステップようにすることができる。
前記送信先から、 前記識別子に対応する前記詳細情報の送信の要求を受信する 第 1の受信ステップと、 前記第 1の受信ステップの処理により受信された要求に 基づいて、 前記詳細情報を、 前記ネットワークを介して前記送信先に送信する第 2の送信ステップと、 前記送信先から送信されてきた、 前記詳細情報に含まれる M次元の前記パラメータを受信する第 2の受信ステップと、 前記第 2の受信ステ ップの処理により受信された M次元の前記パラメータに基づいて、 前記送信先と 通信する通信ステップとをさらに含むようにすることができる。
前記ネットワークを介して送信されてきた前記識別子を受信する第 1の受信ス テツプをさらに含むようにすることができる。
前記第 1の受信ステップの処理により受信された前記識別子の送信者に、 前記 識別子に対応する前記詳細情報であって、 前記送信者により生成された前記識別 情報の送信を要求する要求ステップと、 前記要求ステップの処理による要求に基 づいて、 前記識別子の送信者から前記ネットワークを介して送信されてきた前記 詳細情報を受信する第 2の受信ステツプと、 前記第 2の受信ステップの処理によ り受信された前記詳細情報を、 前記生成ステップの処理により生成した前記詳細 情報と比較し、 2つの前記詳細情報の両方を満足する M次元の前記パラメータを 設定する設定ステップと、 前記設定ステップの処理により生成された M次元の前 記パラメータを、 前記識別子の送信者に送信する送信ステップと、 前記送信ステ ップの処理により送信された M次元の前記パラメータに基づいて、 前記送信者と 通信する通信ステップとをさらに含むようにすることができる。
本発明の情報処理方法は、 サービスに関するパラメータであって、 数値化され た M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービ スの内容を表す詳細情報を生成する生成ステップを含むことを特徴とする。 本発明の情報処理装置は、 サービスに関するパラメータであって、 数値化され た M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービ スの内容を表す詳細情報を生成する生成手段を備えることを特徴とする。
本発明のデータ構造は、 M次元のパラメータで構成され、 前記パラメータは、
整数値と論理記号の組み合わせで構成されることを特徴とする。
前記論理記号は、 複数の整数値のいずれか 1つの選択を表現する第 1の記号と、 整数値の集合を表す第 2の記号とで構成されるようにすることができる。
前記第 2の記号は、 範囲の始まりを表す始値、 前記範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するステップで構成されるように することができる。 ·
前記サービスを識別する識別番号をさらに含むようにすることができる。 号と が用いられることを特徴とする。
本発明のプログラム、 情報処理装置および方法においては、 サービスに関する 数値化された M次元のパラメータが取得され、 そのパラメータにより、 サービス の内容を表す詳細情報が生成される。
本発明のデータ構造においては、 データ構造が、 M次元のパラメータで構成さ れ、 パラメータは、 整数値と論理記号の組み合わせで構成される。 図面の簡単な説明
図 1は、 本発明を適用したネットワークシステムの構成例を示す図である。 図 2は、 ソフ トウェアの階層を説明する図である。
図 3は、 本発明を適用したネットワークシステムの動作の概要を説明する図で ある。
図 4は、 図 1のネットワークシステムの動作を説明するフローチャートである, 図 5は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 6は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 7は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 8は、 プロフアイノレスペースの例を示す図である。
図 9は、 プロファイルディスクリプシヨンの例を示す図である。
図 1 0は、 プロファイルア トムの例を示す図である。
図 1 1は、 サービスプロバイダの一覧の表示例を示す図である。
2
5
図 1 2は、 パーソナルコンピュータの構成例を示すブロック図である。
図 1 3は、 プロファイルの構成を示す図である。
図 1 4はプロファイルの基本単位を説明する図である。
図 1 5は、 プロファイルの領域を説明する図である。
図 1 6は、 プロファイルディスクリプシヨン作成処理を説明するフローチヤ一 トである。
図 1 7は、 プロファイルディスクリプシヨン作成処理を説明するフローチヤ一 トである。
図 1 8は、 プロファイルの階層構造を説明する図である。
図 1 9は、 プロバイダプロファイルの例を示す図である。
図 2 0は、 コンシユーマプロファイルの例を示す図である。
図 2 1は、 プロファイルァトム生成処理を説明するフローチヤ一トである。 図 2 2は、 プロファイルァトム生成処理を説明するフローチヤ一トである。 発明を実施するための最良の形態
図 1は、 本発明を適用したネットワークシステムの構成例を表している。 この ネットワークシステムにおいては、 インターネット 1を介して、 メディアインス タントメッセージサーバ(Media IM Server) 1 4に対して、 ユーザ端末として、 ノヽ0一ソナ/レコンピュータ 1 1, 1 2 , 並びこ PDA (Personal Digital Assistant s) 1 3が接続されている。 メディア サーバ 1 4にはまた、 アプリケ一ション サーバ 1 5もインターネット 1を介して接続されている。
パーソナルコンピュータ 1 1には、 ミ ドルウェアとしてメディ了 頂 クライア ント # 1が実装されており、 パーソナルコンピュータ 1 2には、 ミ ドルウェアと してメディア IM クライアント # 2が実装されている。 同様に、 PDA 1 3には、 ミ ドルウェアとしてメディア IMクライアント # 3が実装されている。
アプリケーションサーバ 1 5には、 ミドルウェアとしてメディア IM クライア ント # 4が実装されている。 アプリケーションサーバ 1 5は、 プリントサービス
# 1乃至プリントサービス # 7を、 アクセスしてきたユーザに対して提供する。 メディア IM サーバ 1 4は、 これらのメディア IM クライアント # 1乃至メデ ィァ IMクライアント # 4の相互のィンスタントメッセージ処理を制御する。 図 2は、 ソフトウエアの構成を表している。 上述したメディァ IM クライアン ト # 1乃至メディア IM クライアント # 4は、 図 2において、 メディア IM クラ イアントミ ドルウェア 3 2として示されている。 このメディア IM クライアント ミ ドルウェア 3 2は、 IPネッ トワーク トランスポート層 3 1と API (Applicatio n Program Interface) 3 3との間に配置されている。 API 3 3は、 アプリケー シヨン # 1乃至アプリケーション # Nと、 メディア IM クライアントミ ドルゥェ ァ 3 2との間のインタフェース処理を実行する。 メディア IM クライアントミ ド ルウェア 3 2は、 API 3 3と IP ネットワーク トランスポート層 3 1 とのインタ フェース処理を実行する。
アプリケーション(Appl ication) # 1乃至アプリケーション # Nは、 それぞれ サービスエンティティを構成する。
このネッ トワークシステムにおいては、 図 3に示されるように、 サービスを提 供する側のアプリケーション (図 3の例では、 Appl ication # 1 ) がサービスプ ロバイダ(Service Provi der) 5 1とされ、 そのサービスの提供を受ける側のァ プリケーシヨン (図 3の例では、 Appl icat ion n ) 力 S (サービスを消費する側 カ サービスコンシユーマ(Service Consumers) 5 2とされる。
サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 対応するメディア I M クライアント # P 1またはメディア IM クライアント # C 1を介して、 インス タントメッセージのプレゼンス機能、 メッセージング機能、 または Info/Query 機能を用いて、 接続のためのネゴシエーション処理を実行する。 ネゴシエーショ ンにより、 相手側と接続が可能であることが確認された後、 サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 ピアツーピア (P 2 P ) で、 接続処理を実 行する。
サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 それぞれサービスェ
3 009632
7
ンティティを構成する。 サービスエンティティは、 そのものが 1つのアプリケー シヨンである場合もあれば、 複数のサービスエンティティの集合が 1つのアプリ ケーシヨンを形成する場合もある。 以下においては、 簡単のため、 1つのサービ スエンティティが 1つのアプリケーションに対応しているものとする。
次に、 接続処理の詳細を図 4乃至図 7のフローチャートを参照して説明する。 ステップ S 1において、 サービスプロバイダ 5 1としてのアプリケーション# 1は、 名簿(Roster)に登録されている各メンバー(Buddy)に対して、 自分自身力 S 提供可能なサービスの種別を表すプロファイルスペース ID (Profi le Space ID) をアナウンスすることを、 メディア IM クライアント # P 1に指令する。 メディ ァ IM クライアント # P 1は、 ステップ S 2において、 この指示を受け取ると、 ステップ S 3において名簿に予め登録されているメンバーに対して、 プロフアイ ルスペース IDをプレゼンスによって通知する。
ここで、 メンバー (Buddy) は、 メディア IM サーバ 1 4が提供するインスタ ン トメッセージサービスにおいて、 あるユーザ (または、 メディア IM クライア ント) に対するメッセージ通信の相手のことであり、 メディア IM サーバ 1 4に 予め登録されているユーザ ID や、 ユーザ ID に対応付けられたニックネーム等 で表される情報である。
また、 名簿(Roster)は、 そのメンバー (Buddy) のリス トであり、 すなわち、 ユーザ (またはメディア IM クライアント) 力 メッセージ通信の相手として設 定した他のユーザ (または、 他のメディア IMクライアント) のユーザ ID (また はニックネーム) のリス トである。 この、 ユーザ毎の名簿(Roster)は、 メディ 了 IMサーバ 1 4において一元管理される。
例えば、 メディア IM クライアント # P 1のユーザがメディァ IM クライアン ト#じ 1のユーザをメッセージ通信の相手として設定している場合、 メディア I M クライアント # P 1に対応する名簿には、 メディア IM クライアント # C 1の ユーザ (ユーザ ID 等) がメンバーとして登録されている。 逆に、 メディア IM クライアント # C 1のユーザがメディァ IM クライアント # P 1のユーザをメッ
セージ通信の相手として設定している場合、 メディア IM クライアント # C 1に 対応する名簿には、 メディア IM クライアント # P 1のユーザがメンバーとして 登録されている。
このように、 インスタントメッセージによるメッセージ通信を行う場合、 互い をメンバーとして予め名簿に登録しておかなければならない。 例えば、 第 1のュ 一ザが、 他のメディア IM クライアントの第 2のユーザをメンバーとして名簿に 登録しているが、 第 2のユーザが第 1のユーザをメンバーとしてそのクライアン トに登録してない場合、 メッセージ通信を行うためには、 第 1のユーザは、 メッ セージ通信の前に第 2のユーザにメンバーとして名簿に登録させる必要がある。 この名簿は、 メディア IM クライアントよりユーザがメディァ IM サーバ 1 4 にログイン (接続) すると、 必要に応じてメディア IM サーバ 1 4よりそのメデ ィァ IMクライアントに提供され、 ディスプレイ等に GUI (Graphical User Int erface) として表示される。 その際、 メディア IM サーバ 1 4は、 上述した名簿 とともに、 ユーザが目的のメンバーを容易に識別することができるようにするた めのアイコンや、 そのメンバーに関する情報 (例えば、 通信可能か否かを示す情 報) であるプレゼンス等の情報をメディア IM クライアントに供給する。 名簿等 を供給されたメディア IM クライアントは、 その名簿の各メンバーにアイコンや プレゼンスを関連付けて表示する。
なお、 以上のような名簿を一元管理する専用のサーバを設けるようにしてもも ちろんよい。
なお、 プロファイルスペース ID 並びにアプリケーション ID は、 図 1のネッ トワークシステムに示されるような、 インスタントメッセージのプレゼンス機能、 メッセージング機能、 および Info/Query機能をベースとして、 アプリケーショ ンレベルでのプロファイルのネゴシエーションを実現するアプリケーションプラ ットフォームの運用者によって、 予め登録され、 管理されている。 従って、 サー ビスコンシユーマ 5 2は、 その ID に基づいて、 その内容を特定することが可能 となる。
2
9
図 8は、 パーソナルコンピュータ 1 1において動作する MPEG4ストリーミン グサーバアプリケーションを定義するためのプロファイルスペースの例を表して いる。 同図に示されるように、 プロファイルスペースは、 そのパーソナルコンビ ユータにおいて提供されるサービスを表現する M次元の空間 (スペース) であり、 各プロファイルスペースを識別するための ID であるプロファイルスペース ID と M次元のパラメータにより構成される。 この例においては、 プロファイルスぺ ース ID は、 「1 000000 1」 とされている。 また、 パラメータは、 access method, bit rate (link speed), X scale, Y scale, audio codec に り構 成されている。 この例の場合、 通信に用いられるプロ トコルを表す access met h。d の値は、 1 (RTSP/TCP+RTP/UDP)または 2 (HTTP tunnelling)とされる。 接 続されている通信回線の速度を表す bit rateは、 6k乃至 5 1 2kbps とされる。 画面の横方向の大きさを表す X scaleは 1 28 pixel乃至 3 52 pixel とされ、 また画面の縦方向の大きさを表す Y scaleは 9 6 pixel乃至 288pixel とされ ている。
ここで、 プロファイルの access method は、 通信に用いられるプロトコノレを 表しており、 例えば、 番号 1で表される RTSP(Real Time Streaming Protoco D/TCP (Transmission Control Protocol) +RTP (Real Time Transport Protoc ol)/UDP (User Datagram Protocol) s または番号 2で表される HTTP (Hyper Tex t Transfer Protocol) tunnelling のレヽずれカ とされる。 また、 bit rate ま、 使用されている通信回線のデータ転送速度を表す。 すなわち、 bit rate は、 了 プリケーション # 1が MPEG 4ス トリーミングサービスを行う際の MPEG 4データ 転送速度を決定するための情報である。 .
さらに、 ビデオの圧縮伸長方式を表す Video Codec は、 MPEG4とされている。 オーディオの圧縮伸長方式を表す audio codec は、 なし(none)、 CELP(Code Ex cited Linear Predictive) 8 k, CELP 1 6 k, AAC (Advanced Audio Coding) 1 6k, AAC 32k, AAC 44. Ik, AAC 48 kのいずれかとされる。
このように、 パラメータは全て数値によって表現されている。 これにより、 サ
一ビスを提供するサービスプロバイダと、 サービスの提供を受ける (サービスを 利用する) サービスコンシユーマとの間で、 迅速且つ簡単に、 サービスの利用の 可否を判定することができる。
図 4に戻って、 メディア IM サーバ 1 4は、 ステップ S 4において、 メディア IM クライアント # P 1からの通知を受け取ると、 ステップ S 5において、 これ を名簿内の各メンバーにアナウンスする。
アナウンスを受けたメンバ一 (サービスコンシユーマ 5 2 ) の 1人であるメデ ィァ IM クライアント # C 1は、 ステップ S 6において、 この通知を受け取ると、 ステップ S 7において、 プロファイルスペース ID とサービスプロバイダ 5 1側 のアプリケーション ID (いまの場合、 アプリケーション # 1の ID) に基づいて、 自分自身がこのプロファイルを受け入れ可能であるか否かを判定する (検証す る) 。 上述したように、 このシステムの参加者は、 これらの ID に基づいて、 そ の内容 (図 8に示されているような、 相手側装置の機能) を特定することができ るので、 この判定が可能である。
例えば、 各メディア IM クライアント (すなわち、 パーソナルコンピュータ 1 1 , 1 2等) は、 図 8に示されるような、 プロファイルに含まれるパラメータの 種類や、 そのパラメータが取り得る値の集合に、 アプリケーション ID およびプ 口ファイル ID を関連付けたテーブルと、 サービスコンシユーマとなるアプリケ ーシヨンに関する情報を予め保持しており、 ステップ S 7において、 保持してい るテーブルを参照し、 ステップ S 6において取得したアプリケーション ID ゃプ 口ファイル ID に対応するプロファイルに含まれるパラメータの種類やそのパラ メータが取り得る値の集合を特定し、 さらに、 保持しているアプリケーションに 関する情報に基づいて、 その特定されたパラメータ (パラメータに対応するプロ ファイル) が、 サービスコンシユーマとなるアプリケーションの有する機能に対 応しているか否か (すなわち、 受け入れ可能であるか否か) を判定する。
なお、 この、 ID と内容の対応関係を記述したテーブルを各装置 (パーソナル コンピュータ 1 1, 1 2等) に記憶させておくこともできるが、 所定のサーバ
(例えば、 メディア IM サーバ 1 4 ) に記憶させておくこともできる。 この場合、 ユーザが検証のために、 このテーブルを利用する度に、 ユーザに対して課金する ようにすることもできる。 これにより、 メディア IM サーバ 1 4の運用者は、 利 益を得ることができる。
メディア IM クライアント # C 1は、 サービスプロバイダ 5 1からプレゼンス を受けたプロファイルの内容が、 サービスコンシユーマが受け入れ可能であると 判断した場合、 ステップ S 8において、 その受け入れ可能なサービスコンシユー マ 5 2となるアプリケーション # nに対して、 プレゼンスの内容 (図 8に示され るような、 プロファイルスペース ID に対応するプロファイル) を通知する。 ス テツプ S 9において、 アプリケーション # nは、 メディア IM クライアント # C 1からの通知を受信する。
なお、 サービスプロバイダからのアナウンス (ステップ S 4乃至 S 6 ) を受け 取った各メディア IM クライアントは、 ステップ S 7における検証の結果、 サー ビスコンシユーマとなる適切なアプリケ一ションが存在しないと判断した場合、 受信したアナウンスを無視する。
サービスコンシユーマ 5 2としてのアプリケーション# nは、 サービスプロバ イダ 5 1のプレゼンスの内容を受信すると、 ステップ S 1 0において、 サービス プロバイダ 5 1から提供されたサービスの詳細情報を取得するように、 メディア IMクライアント # C 1に指示する。 ステップ S 1 1において、 メディア IMクラ イアント#〇 1は、 この指示を受け取ると、 ステップ S 1 2において、 サービス プロバイダ 5 1が提供するサービスの、 上述したプロファイルスペースのパラメ ータ群の一部または全部のパラメータにより構成されるプロバイダプロファイル の送信を、 メッセージング機能または Info/Query機能を用いて要求する。 この 要求には、 サービスプロバイダ 5 1を指定するための宛先情報が含められている。 なお、 Info/Query 機能を用いて通知や要求を行った場合、 メ ッセージング機 能を用いた場合と異なり、 受け手側より受信確認の応答が送り手側に供給される。 例えば、 メディア IMクライアント # P 1のアプリケーション # 1がメディ了 IM
サーバ 1 4より名簿(Roster)を取得する場合、 メディア IMクライアント # P 1 は、 Info/Query機能により、 GETコマンド等をメディア IMサーバ 1 4に供給す る。 メディア IMサーバ 1 4は、 この GET コマンドを取得すると、 取得したこと を示す応答を送信元のメディア IM クライアント # P 1を介してアプリケーショ ン # 1に供給する。 アプリケーション # 1は、 この応答により、 GET コマンドが メディア IMサーバ 1 4に供給されたことを確認することができる。
このようにアプリケーションレベルにおいて確認応答が送信先より送信元に対 して供給されるので、 アプリケーションは、 Info/Query 機能を用いて通知や要 求を行うことにより、 確実にその通知や要求を送信先に供給することができる。 これに対してメッセージング機能を用いて通知や要求を行う場合、 その通知や 要求を取得した送信先のアプリケーションは、 送信元に上述した確認応答を供給 しない。 従って、 送信元のアプリケーションは、 メッセージング機能を用いて供 給した通知や要求を、 その送信先が取得したか否かを把握することができないの で、 Info/Query 機能を用いた場合と比較して、 目的の送信先に確実に供給する ことができない。 しかしながら、 メッセージング機能を用いた通知や要求の場合、 Info/Query 機能を用いた場合と比較して、 通信処理が簡潔になるので、 処理の 負荷を減らすことができる。 このメッセージング機能は、 例えば、 メディア IM クライアント間におけるテキスト文書からなるインスタントメッセージ (IMSTA NT MESSAGING) の授受に用いられる。
なお、 以上のような Info/Query機能を用いた通知や要求、 またはメッセージ ング機能を用いた通知や要求は、 メディア IM クライアントだけでなくメディア IMサーバも使用可能であり、 メディア IM クライアントとメディア IMサーバ間 における通知や要求だけでなくメディア IM クライアント間における通知や要求 等にも使用可能である。
さらに、 これらの Info/Query機能やメッセージング機能を用いた通知や要求 は、 コマンドだけでなく、 メッセージやパラメータ等、 どのようなデータを含ん でいても良く、 どのような内容であっても良い。
2
13
以上のように、 メディア IM クライアント # P 1、 メディア IM クライアント # C 1、 およびメディア IMサーバ 1 4は、 メッセージング機能または Info/Que ry機能を用いてデータ (通知や要求等も含む) の授受を行う。
上述したように、 プロバイダプロファイルを送信する場合、 メディア IM クラ イアン # P l等は、 メッセージング機能または Info/Query機能のいずれを用 いて送信してもよい。 ただし、 Info/Query 機能を用いてプロバイダプロフアイ ルを送信する場合、 そのプロバイダプロファイルの送信に対する応答が、 送信先 より送信元に供給される。
メディア IM サーバ 1 4は、 ステップ S 1 3において、 メディア IM クライア ント # C 1からの要求を受信すると、 ステップ S 1 4において、 これをメディア IMクライアント # P 1に送信する。 メディア IMクライアント # P 1は、 ステツ プ S 1 5において、 メディア IM サーバ 1 4からの要求を受信すると、 ステップ S 1 6において、 これをサービスプロパイダ 5 1 としてのアプリケ一ション # 1 に供給する。
アプリケーション # 1は、 ステップ S 1 7において、 メディア IM クライアン ト # P 1からの要求を受信すると、 ステップ S 1 8において、 サービスコンシュ 一マ 5 2に対して提供するプロバイダプロファイルを組み立て、 メディア IM ク ライアント # p 1に送信する。 このプロバイダプロファイルの組み立ての詳細は、 図 1 6と図 1 7のフローチヤ一トを参照して後述する。
アプリケーション # 1により生成されるプロバイダプロファイルの内容は、 プ 口ファイルスペース (図 8 ) で定義されているパラメータ群のうち、 サービスプ ロバイダ 5 1がネットワークのリンクスピードや CPU の負荷状況などのランタ ィム環境を考慮した上で、 サービスコンシユーマ 5 2に対して実際に提供できる パラメータの値の範囲を具体的に設定したものとされる。
図 9は、 このようにして、 生成されるプロバイダプロファイルの例を表してい る。 図 9では、 このプロバイダプロファイルが、 プロファイルディスクリプショ ン(Profile Description)として表されている。
P T/JP2003/009632
14
図 9は、 サービスプロバイダ 5 1としてのアプリケーション# 1が VGA (Video Graphics Array)系の画角 ( 1 6 0 pixel X 1 2 0 pixel または 3 2 0 pixel X 2 4 O pixel) のみをサポートし、 力、つ PHS (Personal Handyphone System)相 当のネットワーク (リンクスピードの最大値が 1 2 8 kbps のネットワーク) に 接続されている場合の例を表している。 従って、 図 9の例においては、 ネットヮ 一クのリンクスピードとの兼ね合いから、 画角が図 8のプロファイルスペースで 規定されている範囲のうち、 1 6 O pixel X 1 2 O pixel (X scale X Y scale)の みに限定されている。
また、 図 9の例においては、 プロファイルスペース ID は、 「1 0 0 0 0 0 0 1」 とされており、 図 8に示されるプロファイルスペースに対応するプロフアイ ルディスクリプシヨンであることが示されている。 すなわち、 上述したように、 メディア IM クライアント # C 1がステップ S 1 2においてプロバイダプロファ ィルを要求すると、 その要求に応じて、 図 9に示されるような、 ステップ S 3に おいてメディア IM クライアント # P 1が供給したプロファイルスペース ID に 対応するプロファイルディスクリプシヨン (プロバイダプロファイル) が生成さ れる。
図 9の access methodは、 RTSP/TCP+RTP/UDPまたは HTTP tunnel lin のい ずれかとされる。 bit rateは、 6 k乃至 1 2 8 kbps とされている。 さらに、 au dio codecは、 なし(none)または CELP 8 kとされている。
メディア IM クライアント # P 1は、 ステップ S 1 9において、 アプリケーシ ョン# 1からのプロバイダプロファイルの応答を受信すると、 ステップ S 2 0に おいて、 これをアプリケーション # nに向けてメッセージング機能または Info/ Query機能を用いて返信する。 - メディア IM サーバ 1 4は、 ステップ S 2 1において、 メディア IM クライア ント # P 1からの返信を受信すると、 ステップ S 2 2において、 これをメディァ IMクライアント # C 1に送信する。 ステップ S 2 3において、 メディア IMクラ イアント# < 1は、 この返信を受信すると、 それをステップ S 2 4において、 ァ
プリケーシヨン # nに送信する。 アプリケーション # nは、 ステップ S 2 5にお いて、 このサービスプロバイダ 5 1からの返信 (図 9に示されるプロバイダプロ ファイルが含まれている) を受信する。
アプリケーション# 11は、 ステップ S 2 5の処理で受信したサービスプロバイ ダ 5 1のプロバイダプロファイルと、 自分自身が形成するコンシユーマプロファ ィルとのマツチング (比較) を行う。 上述したプロバイダプロファイルとコンシ ユーマプロファイルは、 後述する図 1 6と図 1 7のフローチヤ一トで示される処 理で生成される。
ここで、 プロバイダプロファイルは、 上述したように、 メディア IM クライア ント # C 1によりサービスコンシユーマが受け入れ可能であると判断された内容 のプロファイルスペースに基づいて、 アプリケーション# 1が作成したプロファ ィルである。 すなわち、 このプロバイダプロファイルに対応するプロファイルス ペースは、 サービスコンシユーマとしてのアプリケーション# nにも対応してい る。 従って、 アプリケーション # nは、 アプリケーション # 1がプロバイダプロ ファイルを作成する場合と同様の処理を行い、 サービスコンシユーマに対応する、 このプロファイルスペースのパラメータ群の一部または全部のパラメータにより 構成されるプロファイル (すなわち、 コンシユーマプロファイル) を作成するこ とができる。 アプリケーション # nは、 受信したサービスプロバイダ 5 1のプロ バイダプロフアイノレと、 このように作成されたコンシユーマプロフアイノレとのマ ツチングを行う。
上述したように、 サービスプロバイダが提示するプロバイダプロファイル (プ 口ファイルディスクリプシヨン) は、 数値だけで表現されているため、 サービス コンシユーマ 5 2は、 自分自身のプロファイルを構成する各パラメータの値の範 囲と単純に 1次元での比較を行うだけで、 整合性を簡単に検証することができるな ここで、 次元とは、 パラメータの実質的な数を意味する。 すなわち、 サービス コンシユーマ 5 2は、 コンシユーマプロフアイノレの各パラメータの値の範囲を、 そのパラメータに対応するプロバイダプロファイルのパラメータの値の範囲とを
2003/009632
16
1対 1で、 1つずつ比較する。
そして、 コンシユーマプロファイルの各パラメータの値の範囲の一部または全 部が、 そのパラメータに対応するプロバイダプロファイルのパラメータの値の範 囲に重なる場合、 すなわち、 サービスコンシユーマ 5 2が、 サービスプロバイダ 5 1より提供されたサービスを取得することができる (アプリケーション # 1が 送信したデータを、 アプリケーション # nが受け入れることができる) 範囲が存 在すると判定した場合、 サービスコンシユーマ 5 2は、 整合性が確認できたと判 定する。
アプリケーション # nは、 整合性が確認できた場合、 ステップ S 2 6において、 サービスプロバイダ 5 1に対して、 提供されたサービスへの自分自身 (サービス コンシユーマ 5 2 ) の登録を要求する。 メディア IM クライアント # C 1は、 ス テツプ S 2 7において、 アプリケーション # nからこの指示を受け取ると、 ステ ップ S 2 8において、 サービスプロバイダ 5 1に対して、 プロファイルスペース ID に対応させて、 サービスコンシユーマ 5 2のアプリケーション # nのアプリ ケーシヨン ID を登録することにより、 サービスの提供先としてサービスコンシ ユーマ 5 2を登録する、 サービスへの登録を、 メッセージング機能または Info/ Query機能を用いて要求する。 このとき、 プロファイルスペース ID とアプリケ ーシヨン ID (アプリケーション # nの ID) がその要求に含められる。
メディア IM サーバ 1 4は、 ステップ S 2 9において、 メディア IM クライア ント # C 1からの要求を受け取ると、 ステップ S 3 0において、 これをメディア IMクライアント # P 1に送信する。 メディア IMクライアント # P 1は、 ステツ プ S 3 1において、 メディア IM サーバ 1 4からの要求を受信すると、 ステップ S 3 2において、 これをアプリケーシヨン # 1に送信する。 アプリケーション # 1は、 ステップ S 3 3において、 サービスコンシユーマ 5 2からの登録要求を受 信する。
サービスプロバイダ 5 1としてのアプリケーシヨン # 1は、 ステップ S 1 8の 処理でサービスコンシユーマ 5 2に対して提供したサービスに対応してサービス
コンシユーマ 5 2を登録する。 具体的には、 プロファイルスペース ID に対応し て、 サービスコンシユーマ 5 2のアプリケーション# nのアプリケーショ ン ID が対応して登録される。
このように登録されたサービスコンシユーマ 5 2に関する情報は、 アプリケー シヨン # 1によりサービスが提供される際に利用される。 すなわち、 アプリケー シヨン # 1は、 この登録された情報を参照し、 その情報に基づいてサービスコン シュ一マ 5 2のアプリケーション (アプリケーション ID に対応するアプリケー シヨン) に対して、 サービスを提供する。
ステップ S 3 4において、 アプリケーション # 1は、 サービスコンシユーマ 5 2より供給された要求であり、 アプリケーション # 1がプロファイルスペース I D に対応させてサービスコンシユーマ 5 2のアプリケーション # ΐΐのアプリケー シヨン ID を登録することにより、 サービスの提供先としてサービスコンシユー マ 5 2を登録させる要求である、 サービスへの登録要求に対応する応答 (すなわ ち、 アプリケーション # nの登録が完了したか否かを示す情報の供給) をメディ ァ IM クライアント # P 1に指示し、 ステップ S 3 5において、 この指示を受け 取ったメディア IM クライアント # P 1は、 ステップ S 3 6において、 供給され た登録要求に対応する応答である登録結果を、 メッセージング機能または Info/ Query機能を用いて通知する。 ステップ S 3 7において、 この登録結果の通知を 受信したメディ了 IM サーバ 1 4は、 ステップ S 3 8において、 それをメディァ IMクライアント # C 1に送信する。 メディア IMクライアント # C 1は、 ステツ プ S 3 9において、 これを受信すると、 ステップ S 4 0において、 アプリケーシ ヨン # nに送信する。 アプリケーション # nは、 ステップ S 4 1において、 登録 結果の通知を受信する。
アプリケーション # nは、 ステップ S 4 2において、 サービスプロバイダ 5 1 からのプロファイルディスクリプシヨン (ステップ S 2 5の処理で受信したプロ バイダプロファイル) に基づく接続性を保証するためのパラメータを、 プロファ ィルアトム(Prof i le Atom)として決定する。 すなわち、 アプリケーション # 1
が送信したデータを、 アプリケーション # nがそのまま利用することが可能な
(アプリケーション # nが受け入れることが可能な) パラメータが決定される。 このプロファイルァトムの決定処理の詳細は、 図 2 1と図 2 2のフローチヤ一ト を参照して後述する。
図 1 0は、 このプロファイルア トムのディスクリプシヨンの例を表している。 この例においては、 プロファイルスペース ID 力 S 「1 00 0 0 00 1」 とされて おり、 図 8に示されるプロファイルスペースに対応するプロファイルァトムであ ることが示されている。 すなわち、 上述したように、 メディア IM クライアント # C 1の要求に応じてプロファイルスペース ID に対応するプロファイルデイス クリプション (プロバイダプロファイル) がメディア IM クライアント # P 1に より作成され、 供給されると、 メディア IM クライアント # C 1は、 プロフアイ ルスペース ID に対応するコンシユーマプロファイルを作成し、 それを供給され たプロバイダプロファイルと比較し、 整合すると判定した場合、 提供されたサー ビスへの登録処理を行うとともに、 それらのプロファイルに対応するプロフアイ ルスペースの各パラメータの範囲から、 接続性を保証するための範囲を特定し、 図 1 0に示されるような、 それらの範囲のパラメータにより構成されるプロファ ィルァ トムを生成する。
access method は、 HTTP tunnelling とされている。 すなわち、 図 9のプロ バイダプロフアイノレにおける access method のうち、 番号 2に対応する方が選 択されている。
また、 bit rateは 4 8 kbps, X scaleは 1 6 0、 Y scaleは 1 2 0とされて いる。 さらに、 audio codecは、 CELP 8kとされている。
アプリケーション #nは、 ステップ S 4 2において、 このようにして決定した プロファイルァトムを伴ったコネク ト要求を発行する。 ステップ S 4 3において、 メディア IM クライアント # C 1は、 この要求を受信すると、 ステップ S 44に おいて、 この要求を、 メッセージング機能または Info/Query機能を利用して、 サービスプロバイダ 5 1に送信する。 メディア IM サーバ 1 4は、 ステップ S 4
5において、 この要求を受信すると、 ステップ S 4 6において、 その要求をメデ ィァ IM クライアント # P 1に送信する。 メディア IM クライアント # P 1は、 ステップ S 4 7において、 メディア IM サーバ 1 4からの要求を受信すると、 こ れをステップ S 4 8において、 アプリケーション # 1に送信する。 アプリケーシ ヨン # 1は、 ステップ S 4 9において、 この要求を受信する。
アプリケーション # 1は、 この要求を受信すると、 ステップ S 5 0において、 サービスコンシユーマ 5 2 (アプリケーション # n ) がサービスプロバイダ 5 1
(アプリケーション # 1 ) に対して接続するために必要な接続情報を含む応答を、 サービスコンシユーマ 5 2に送信する。 この接続情報は、 例えば、 サービスコン シユーマ 5 2がサービスプロバイダ 5 1に接続する際にアクセスするァドレスで ある、 サービスプロバイダ 5 1のアドレスを示す URI (Uniform Resource Ident ifier) (サービス URI) とすることができる。
アプリケーション # 1からステップ S 5 0の処理で送信された応答は、 ステツ プ S 5 1において、 メディア IM クライアント # P 1で受信され、 メディア IM クライアント # P 1.は、 ステップ S 5 2において、 その応答を、 メッセージング 機能または Info/Query機能を利用して、 サービスコンシユーマ 5 2に向けて送 信する。 メディア IM サーバ 1 4は、 ステップ S 5 3において、 メディア IM ク ライアント # P 1からの応答を受信すると、 ステップ S 5 4において、 これをメ ディア IM クライアント # C 1に送信する。 メディア IM クライアント # C 1は、 ステップ S 5 5において、 メディア IM サーバ 1 4からの応答を受信すると、 ス テツプ S 5 6において、 これをアプリケーション # nに送信する。 アプリケーシ ヨン # nは、 ステップ S 5 7において、 この応答を受信する。
アプリケーション # 1は、 ステップ S 5 0において、 応答の送信を指示した後、 アプリケーショ ン # nからの直接の (メディア IM サーバ 1 4を介さない) ァク セスを待機している。 そこで、 ステップ S 5 8において、 アプリケーション # n は、 メディア IM サーバ 1 4を介さずに、 ピアツーピアで、 アプリケーション # 1のサービス URL (Uniform Resource Locator)にアクセスする。 ステップ S 5
9において、 アプリケーション # 1は、 アプリケーション # nからのピアツーピ ァの URLへのアクセスを受け付ける。
以後、 アプリケーション # 1とアプリケーション # nは、 ピアツーピアで情報 を授受することが可能となる。
以上に説明した手順を行うことにより、 最終的に、 プロファイルアトムという アプリケーション # 1とアプリケーション # nは、 実行可能な機能を事前に交換 しているため、 アプリケーション# 1とアプリケーション # nとの間の接続性が 保証され、 情報が授受できないといった事態が発生することが防止される。
以上のように、 本発明のアプリケーションプラットフォームは、 インスタント メッセージのプレゼンス機能、 メッセージング機能、 および Info/Query機能を ベースとして、 アプリケーションレべノレでのプロフアイノレのネゴシエーションを 実現する新たなプロ トコルアーキテクチャを構築している。 その結果、 このァプ リケーシヨンプラットフォームにおけるマッチングメーキングの仕組みを用いる ことによって、 パーソナルコンピュータ、 モパイル機器などの能力が異なる (勿 論、 同一でもよいが) 様々なデバイスに実装されたアプリケーション同志が、 簡 単かつ確実に接続可能となる。 これにより、 文字、 音声、 音楽、 動画、 静止画と いった様々な情報からなるリツチメディア情報を、 ピアツーピアコミュュケーシ ョンで伝送することが可能なシステムを実現することができる。 この場合におい て、 最終的に接続性が保証されたアプリケーション (サービスエンティティ同 志) がピアツーピアでコミュニケ一シヨンを図ることができる。 従って、 ユーザ は、 特別の操作を行わずとも、 簡単かつ確実に、 情報を授受することが可能とな る。
上述したアプリケーション (サービスエンティティ) は、 パーソナルコンビュ ータゃネッ トワーク対応の CE (Consumer Electronics)機器のみならず、 インタ ーネット 1上の商用アプリケーションサーバにも適用することが可能となる。 例えば、 図 1のアプリケーションサ^ "バ 1 5においては、 商用プリントサービ スのアプリケーションが、 サービスプロバイダとして、 メディア IM クライアン
ト # 4上で実行される。 従って、 図 1におけるパーソナルコンピュータ 1 1, 1 2あるいは PDA 1 3は、 アプリケーションサーバ 1 5との間で上述した手順を実 行することで、 アプリケーションサーバ 1 5が提供するプリントサービスを、 ィ ンターネット 1を介して利用することができる。
従って、 本発明においては、 インターネット 1に接続されている各サーバが提 供しているサービスを検索することで、 サービスプロバイダの一覧を Buddy リ ストとして、 例えば、 図 1 1に示されるように、 表示することができる。
図 1 1の例においては、 PDA 1 3に実装されたメディア IM クライアント # 3 上で、 サービスコンシユーマとして動作しているプリントサービスのアプリケー シヨンが利用できるサービスプロバイダの一覧が表示されている。 この場合にお いて、 プレゼンス機能を用いることによって、 サービスコンシユーマに応じてき め細かく、 かつ自由に、 商用サービスのステータスを表現することができる。 例 えば、 図 1 1の例において、 商用サービスを運用中であるか否かを、 ランプアイ コン 1 3 Aで表示するようにすることができる。 この場合、 例えば、 運用中の商 用サービスは、 緑色で表示し、 休止中の商用サービスは、 赤色で表示するように することができる。 また、 図 1 1の例においては、 依頼したプリントが仕上がる 時刻、 価格などの細かい状況も、 ステータス情報として表示されている。
なお、 当然のことながら、 ユーザ端末上のサービスプロバイダとサービスコン シユーマのアプリケーション間においても、 ユーザィンタフェースおよびプレゼ ンス機能により、 相手先に応じたきめ細かいステータス表示をアプリケーション 毎に行うことが可能である。
図 1 2は、 パーソナルコンピュータ 1 1の構成例を表している。 なお、 図示は 省略するが、 他のパーソナルコンピュータ 1 2も同様に構成される。 従って、 こ の図 1 2には、 パーソナルコンピュータ 1 2の構成としても、 適宜、 引用される。 図 1 2 (こお ヽて、 CPU (Central Proces sing Unit) 1 2 1 ίま、 ROM (Read On ly Memory) 1 2 2に記憶されているプログラム、 または記憶部 1 2 8力 ら RAM (Random Acce s s Memory) 1 2 3 ίこロードされたプロク、'ラム(こ従って各種の処
理を実行する。 RAM I 2 3にはまた、 CPU 1 2 1が各種の処理を実行する上にお いて必要なデータなども適宜記憶される。
CPU 1 2 1、 ROM 1 2 2 , および RAM 1 2 3は、 バス 1 2 4を介して相互に接続 されている。 このバス 1 2 4にはまた、 入出力ィンタフェース 1 2 5も接続され ている。
入出力インタフェース 1 2 5には、 キーボード、 マウスなどよりなる入力部 1 2 6、 CRT (Cathode Ray Tube)ヽ LCD (Liquid Crystal di splay)などよりなる ディスプレイ、 並びにスピーカなどよりなる出力部 1 2 7、 ハードディスクなど より構成される記憶部 1 2 8、 モデム、 ターミナルアダプタなどより構成される 通信部 1 2 9が接続されている。 通信部 1 2 9は、 インターネットを含むネット ワークを介しての通信処理を行う。
入出力ィンタフェース 1 2 5にはまた、 必要に応じてドライブ 1 3 0が接続さ れ、 磁気ディスク 1 4 1、 光ディスク 1 4 2、 光磁気ディスク 1 4 3、 或いは半 導体メモリ 1 4 4などが適宜装着され、 それらから読み出されたコンピュータプ ログラムが、 必要に応じて記憶部 1 2 8にインス トールされる。
上述したアプリケーション # 1 (サービスプロバイダ 5 1 ) 及びメディァ IM クライアント # P 1またはアプリケーション# n (サービスコンシユーマ 5 2 ) 及びメディァ IM クライアント # C 1は、 CPU 1 2 1により、 RAM I 2 3により口 一ドされ、 実行される。
本発明においては、 以上に説明したように、 プロファイルにより、 サービス内 容を記述して、 サービスコンシユーマに提供される。 このプロファイル (プロフ アイルディスクリプシヨン) は、 M次元のパラメータで表記される。 ここで次元 とは、 パラメータの実質的な数を意味する。 図 1 3に示される例では、 プロファ ィルが 5次元のパラメータにより構成されている (M= 5とされている) 。
図 1 3は、 図 8の例におけるプロファイルスペースとは異なる、 MPEG (Moving Pi cture Experts Group) 4のス トリーミングサーバのプロファイルスペース を表している。 図 1 3の例の場合、 パラメータは、 主に、 全体に関連するパラメ
ータ、 ビデオに関するパラメータ、 並びにオーディオに関するパラメータの 3つ により構成される。 そのうちの全体に関連するパラメータは、 アクセスメソッド (access method)とリンクスピード(Link Speed)とにより構成され、 ビデオに 関するパラメータは、 X scale と Y scal e とにより構成される。 すなわち、 acc ess method, Link Speed, X scal e, Y s cal e, audi o codec の 5次兀の ( 5 個の) パラメータにより構成される。 そして、 この 5次元のパラメータは、 「1 0 0 0 0 0 0 2」 のプロファイルスペース IDにより識別される。
このプロフアイノレの acces s method は、 通信に用いられるプロトコノレを表し、 番号 1で表される RTSP (Real Time Streaming Protocol) /TCP (Transmi ss ion Control Protocol) +RTP (Real Time Transport Protoco l) /UDP (Us er Datagra m Protocol) s または番号 2で表される HTTP (Hyper Text Transfer Protocol) tunnel l ingの ヽずれ力 とされる。
使用されている通信回線のデータ転送速度を表す Link Speedは、 図 8の例に おける bit rate に対応し、 6 kbps 乃至 1 0 0 0 0 0 kbpsの範囲のいずれかの 値とされる。
画面の X軸方向の大きさを表す X scaleは、 1 2 8 pixel乃至 3 5 2 pixe lの 範囲とされ、 Y軸の方向の大きさを表す Y scale は、 9 6 pixel乃至 2 8 8 pix elの範囲とされる。
オーディオの圧縮伸長方式を表す audio codecは、 番号 0で表されるなし(no ne)、 番号 1で表される CELP 8 k、 番号 2で表される CELP (Code Exci ted Lin ear Predi ct ive) 1 6 k、 番号 3で表される AAC (Advanced Audio Coding) 1 6 k、 番号 4で表される AAC 3 2 k、 番号 5で表される AAC 4 4 . 1 k、 また は番号 6で表される AAC 4 8 kのいずれかとされる。
このように、 パラメータは、 全て整数値で表現される。 また、 1つの次元を構 成する 1つのパラメータが、 複数の整数値の組み合わせとして表現される場合、 次のような論理記号が用いられる。
1つのパラメータが、 複数の整数値のいずれか 1つとして表現される場合、
「0R」 (または) の論理記号が用いられる。 「0R」 は、 [k] I [m] I [n] のように、 [ I ] で区切って表される。 これは、 そのパラメータが、 k, m, nのいずれか 1つとされることを意味する。 この場合、 k, m, nは整数と され、 小さい順番に (kく m<nのように) 、 配置される。
例えば、 後述する図 1 5において、 access method 力 S、. 「1 | 2」 とされて いる力 これは、 access method 力 1 (RTSP/TCP+RTP/UDP)または 2 (HTTP tu nnelling)のいずれかであることを意味する。
1つのパラメータが、 所定の範囲の中の整数値で表される場合、 その範囲を表 す論理記号 「:」 が用いられる。 範囲は、 [m] : [n] # [k] のように表さ れる。 [m] は、 始値を表し、 [n] は、 終値を表す。 [m] と [n] は、 省略 することができない。 また、 当然のことながら、 始値 [m] は、 終値 [n] と等 しいか、 それより小さい値とされる。 # [k] は、 始値 [m] と終値 [n] の間 の変化幅を規定するステップを表し、 [k] は、 自然数かつ正規化のための基本 単位を 1とする倍数値とされる。 [k] は、 省略することができる。
例えば、 ビデオ X軸が、 「8 : 22 # 2」 と表される場合、 これは、 ビデオ X 軸が、 (8, 10, 1 2, 14, 1 6, 1 8, 20, 22) のいずれかであるこ とを表す。 すなわち、 正規化のための基本単位が 1 6ピクセルであるとすると (1 6ピクセルが k = 1に対応するものとすると) 、 この表現は、 1 28ピクセ ノレ乃至 35 2ピクセルを、 3 2ピクセル (k = 2に対応する) おきにサンプリン グした値の集合を表す。
サービスを受けることが可能であるのか否の容易な判定が困難になるため、 範 囲 (レンジ) と 「0R」 の複合記述は禁止される。 適用できない (N/A (not-a pplicable) のパラメータは、 空 ,) (null)で表される。
さらに、 プロファイルを具体的に記述する場合には、 各パラメータは、 正規化 のための単位として予め定められた基本単位で正規化される。 図 14に示される ように、 Link Speedの基本単位は、 kbps とされ、 X scaleと Y scaleの基本単 位は、 それぞれ 1 6pixel とされる。 従って、 図 1 3に示される X scale の 1
2 8 pixel 乃至 3 5 2 pixel は、 1 6 pixel で正規化すると、 8乃至 2 2と表記 され、 Y scaleの 9 6 pixel乃至 2 8 8 pixelは、 6乃至 1 8と表記される。 以上がパラメータのスタンダードの表記方法とされるが、 XML (extens ible Ma rkup Lunguage) Documentでカスタムな表記を追加することが可能とされる。 また、 各次元を構成する要素は、 適宜追加することが可能である。 例えば、 a udio codec は、 図 1 3の例の場合、 番号 0から番号 6で表される 7個のいずれ かとされるが、 それ以外の番号 7あるいは番号 8で表される要素を追加、 拡張す ることができる。
ただし、 追加した場合には、 下位互換性が確保されることが要求される。 すな わち、 番号 7または番号 8で表される追加した audio codec の要素を有しない 装置も、 このプロフアイノレスペース ID カ 「1 0 0 0 0 0 0 2」 であるプロファ ィルスペースを利用することができることが要求される。 各装置が、 プロフアイ ルスペース ID によりその内容を判定することができることを保証するためであ る。 従って、 各次元を構成する要素の数が増加されても、 各装置が、 プロフアイ ルスペース ID によりその内容を判定することができるので (互換性が確保され るので) 、 プロファイルスペース ID は、 変更されない。 逆に、 次元が増加され た場合には、 各装置が、 プロファイルスペース ID によりその内容を判定するこ と.ができないので (互換性が確保できないので) 、 プロファイルスペース ID は 変更される。
また、 本発明においては、 プロファイルは、 他のパラメータとの共存が制限さ れる可能性が最も高い主要因パラメータに基づいて、 複数の領域(region)に区 分して、 作成することが可能とされる。
他のパラメータとの共存が制限されるとは、 そのパラメータの値が所定の値を 取ると、 他のパラメータとの組み合わせが困難になるようなパラメータをいう。 本発明においては、 リンクスピードが主要因パラメータとされる。
例えば、 ユーザに、 Link Speed として任意の値を選択させ、 audio codec と して任意の値を選択させると、 実際には実現できないか、 実現が困難となる環境
が規定されてしまうことがある。 例えば、 リンクスピードが 5 O kbps 未満であ るアナログの電話回線に接続されているパーソナルコンピュータが、 audio cod ec として番号 5で示される AAC 4 4. 1 kや、 番号 6で示される AAC 4 8 kと いった audio codec を選択したとしても、 そのような関係は、 実際には、 実現 することが困難となる。
そこで、 本発明においては、 図 1 5に示されるように、 アナログ電話回線など における場合のように、 リンクスピードが 5 Okbps未満 (4 9 kbps 以下) の第 1の領域 ( ( 1 ) の region) 、 ISDN(Integrated Service Digital Network; や PHSなどにおける場合のような、 5 O kbps以上 2 0 0 kbps未満 (1 9 9 kbps 以下) の第 2の領域 ( ( 2 ) (D region) 、 さらに ADSL (Asymmetric Digital S ubscriber Line)における 1 . 5Mbps または 8Mbps などにおける場合のような、 2 0 O kbps以上の第 3の領域 ( (3 ) の region) に区分される。 さらに、 リン クスピードが 2 0 O kbps以上であって、 その装置が使用している CPU (Central Processing Unit)の能力が高い場合の領域として、 第 4の領域 ( (4 ) の regi on) が規定される。
図 1 5の例の場合、 第 1の領域においては、 アクセスメソッドは 1または 2'と され、 リンクスピードは 3 5 kbps 乃至 4 9 kbps とされる。 X scale は 1 0とさ れ、 Y scaleは 7とされる。 audio codecは、 0または 1のいずれかとされる。 第 2の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは 5 Okbps乃至 1 9 9 kbps とされる。 X scale と Y scaleは、 第 1の領域に おける場合と同様に、 それぞれ、 1 0または 7とされる。 audio codec は、 1 または 2とされる。
第 3の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは 2 0 O kbps乃至 1 0 0 0 0 Okbps とされる。 X scaleは 1 0とされ、 Y sc aleは 7とされる。 audio codecは 1乃至 6のいずれかとされる。
第 4の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは第 3の領域における場合と同様に、 2 0 0 kbps 乃至 1 0 0 0 0 O kbps とさ
れる。 X scal eは 2 0とされ、 Y scaleは 1 5とされる。 audio codecは、 1乃 至 6のいずれかとされる。
各領域においては、 5次元の各パラメータは、 1次元の整数値として規定され る。 すなわち、 1個の数値として規定される。
プロファイルの分割の数 (領域の数) は、 各サービスプロバイダが任意に行う ことができる。 また、 プロファイルディスクリプシヨンの値 (各領域における各 次元の構成要素の値) をいずれの値にするかも、 サービスプロバイダが任意に設 定することができる。
なお、 領域の数が変更されても、 プロファイルスペース I Dは変更されない。 このように、 主要因パラメータに基づいて、 複数の領域に分割しておくと、 1 つの領域内においては、 サービスコンシユーマが 5次元のパラメータの値をいず れの値に設定したとしても、 実現困難あるいは実現不可能な環境が設定されるこ とがない。 従って、 サービスコンシユーマが複数の領域の中から 1つの領域を選 択し、 その領域の 5次元のパラメータの中から任意の値を適宜選択することが可 能となる。
具体的には、 上述した図 5のステップ S 2 5の処理で、 サービスプロバイダ 5 1のプロバイダプロファイル (プロファイルディスクリプション) を受信したと き、 +;一一ビスコンシユーマ 5 2 (アプリケーション # n ) は、 プロバイダプロフ アイルの各領域に記述されている主要因パラメータ (リンクスピード) の値を、 自分自身のコンシユーマプロファイルの主要因パラメータと比較し、 整合する部 分が存在する領域を抽出する。 主要因パラメータは、 上述したように、 整数で表 されているため、 単純な整数値演算によって、 整合する範囲があるか否かを容易 に算出することが可能となる。
パラメータをこのように、 領域に区分しない場合には、 複雑な場合分けを伴つ たプログラムを駆使しなければ、 サービスコンシユーマ 5 2は、 適用可能なサー ビスを選択することができなくなる。
以上のように、 サービスは、 M次元のパラメータで構成される空間 (スぺ一
ス) により表現される。 個々の空間は、 プロファイルスペース I Dにより識別さ れる。 個々の空間を構成するパラメータは、 整数値と論理記号の組み合わせで表 現される。 論理記号としては、 複数の整数値のいずれか 1つの選択を表現する rORj と、 整数値の集合を表す 「範囲」 が用いられる。 サービスをこのような データ構造で表現することで、 サービスを提供するサービスプロバイダと、 サー ビスの提供を受ける (サービスを利用する) サービスコンシユーマとの間で、 迅 速且つ簡単に、 サービスの利用の可否を判定することが可能になる。
次に、 サービスプロバイダ 5 1 (アプリケーション # 1 ) 力、 サービスコンシ ユーマ 5 2 (アプリケーション # n ) に提供するプロファイル (プロファイルデ イスタリプシヨン) を作成する処理について、 図 1 6と図 1 7のフローチャート を参照して説明する。 この処理は、 図 5のステップ S 1 8におけるプロバイダフ アイルの組立処理に対応する処理である。
いま、 アプリケーション # 1が、 図 1 3に示されたプロファイルスペース ID 力 S 「1 0 0 0 0 0 0 2」 のプロバイダプロファイル (自分自身の機能に関するプ 口ファイル) を生成するものとする。 そして、 アプリケーション # 1は、 8 Mbp s の ADSL回線に接続されており、 その実際の回線のスループットの値 (Curren tL i nkSpeed (カレントリンクスピード) ) から、 主要因パラメータであるリン クスピードは 4 8 0 0 kbps であり、 ビデオの表示系は VGA (Video Graphi cs Ar ray)系であり、 CPUの処理能力は、 比較的低いものであるとする。
以下の各ステップにおいて、 アプリケーション # 1は、 各領域に対応する自分 自身の能力 (機能) を調べ、 各パラメータに、 各領域に対応する自分自身の能力 に対応する値を設定する。 従って、 以下に述べる各ステップにおいて各パラメ一 タに設定される具体的数値は、 各領域に対応する自分自身の能力に対応する値で ある。 アプリケーション # 1は、 自分自身の能力を、 各ステップにおいて、 その 都度調べてもよいし、 予め、 調べて記憶しておいたものを読み出して使用するよ うにしてもよい。
ステップ S 7 1において、 アプリケーション # 1は、 パラメータを設定する変
数 PSId に、 いま対象とされているプロファイルスペース ID の値 「1 0 0 0 0 00 2」 を設定する。
以下、 ステップ S 7 2乃至ステップ S 7 8において、 第 1の領域に関するパラ メータの設定処理が行われ、 ステップ S 7 9乃至ステップ S 8 5において、 第 2 の領域に関するパラメータの設定が行われ、 ステップ S 8 6乃至ステップ S 9 2 において、 第 3の領域に関するパラメータの設定が行われ、 そして、 ステップ S 9 3乃至ステップ S 9 8において、 第 4の領域に関するパラメータの設定が行わ れる。
ステップ S 7 2において、 アプリケーション # 1は、 領域が第 1の領域である ことを表す変数 PSId. regionに値 「 1」 を設定する。
すなわち、 図 1 8に示されるように、 プロファイルスペース ID が 1 0 0 0 0 00 2のプロファイルは、 PSId (プロファイルスペース ID) をルートとして、 r egion (Region)毎に、 access (Access Method) , linkSpeed (Link Speed), xSca le(X scale), yScale(Y scale), audio (Audio Codec)の各パラメータで構成 される。 以下、 上記ツリーの構造は、 各階層を (. ) で区切り、 例えば、 PSId. region, access とレヽっ 方法で目 す 。
従って、 PSId. region には、 具体的には、 「 1 0 0 0 0 0 0 2. 1」 が設定 されることになる。 ただし、 図 1 6と図 1 7においては、 記述が長くなるので、 新たに設定されたパラメータだけが示されている。
ステップ S 7 3において、 アプリケーション # 1は、 Access Method として、 1 : RTSP/TCP+RTP/UDP、 または 2 : HTTP tunnellingを示す { 1 | 2} を PSId. region, access に設定する。 これは、 上述したように、 アプリケーショ ン # 1 力 「RTSP/TCP+RTP/UDP」 を用いた通信を行う機能を有するとともに、 「HTTP tunnelling」 を用いた通信を行う機能をも有するからである。 仮に、 アプリケ ーシヨン # 1が、 rRTSP/TCP+RTP/UDPj を用いた通信を行う機能しか有してい ないのであれば ( 「HTTP tunnelling] を用いた通信を行う機能を有していない のであれば) 、 アプリケーション # 1は、 Access Method として、 1 : RTSP/TC
P+RTP/UDPを示す { 1 } を PSId. region, accessに設定することになる。
ステップ S 74において、 アプリケーション # 1は、 Link Speed として、 3 0 kbps力 ら 49 kbpsを表す { 39 : 49 } を、 PSId. region. linkSpeedに設定 する。 これは、 いま処理対象としている領域が第 1の領域であり、 第 1の領域の デフォルトの Link Speed力 30 kbps 力、ら 49 kbps であるからである (従つ て、 後述するように、 対応する第 2乃至第 4の領域のステップ S 8 1, S 8 8, S 95の処理では、 各領域におけるデフォルトの Link Speedである、 50kbps 力、ら 1 99 kbps, 200kbps力、ら 1 00000kbps, または 200 kbps力、ら 1 00◦ 00kbpsカ、 それぞれ設定される) 。
ステップ S 7 5において、 アプリケーション # 1は、 Xscale として、 1 6 Op ixelを示す { 10 } を、 PSId. region. xScaleに設定し、 Y scaleとして、 1 1 4pixel を示す { 7} を、 PSId. region. yScale に設定する。 これらの値も、 ァ プリケーシヨン # 1が有する画像表示の画角に関する機能に基づくものである。 ステップ S 7 6において、 アプリケーション # 1は、 audio Codec として 0 : none, または 1 : CELP 8 kを表す { 0 | 1 } を、 PSId. region, audio に設 定する。 これも、 アプリケーション # 1カ、 audio Codec として 0 : none、 ま たは 1 : CELP 8 kの両方の機能に対応しているからである。
次に、 ステップ S 77において、 アプリケーション # 1は、 自分自身が実際に 接続されている回線の実効スループットを示すカレントスピード(Current Link Speed)の値が、 次の第 2の領域の下限値である 5 0 kbps と比較して、 それよ り小さいか否かを判定する。 カレントリンクスピードが 50kbps より小さい場 合には、 第 2の領域以上の領域を規定することができないので、 ステップ S 78 に進み、 アプリケーション # 1は、 Link Speed として 30 kbpsからカレントリ ンクスピード(CurrentLinkSpeed)までの値を示す { 30 : CurrentLinkSpeed} を PSId. region. linkSpeed に再度設定する。 すなわち、 ステップ S 74の処理 で設定された値 { 30 : 49 } の値が更新される。 これにより、 使用可能な最大 の値がパラメータとして設定される。
いまの場合、 アプリケーション # 1の CurrentLinkSpeed は、 48 00kbps であるため、 50 kbps より大きいのでステップ S 7 9に進み、 第 2の領域のパ ラメータ設定処理が実行される。
ステップ S 7 9において、 アプリケーション # 1は、 PSId. region に第 2の 領域である値 「2」 を設定する。 具体的には、 PSId. region に 「100000 0 2. 2」 が設定されることになる。
ステップ S 80において、 ステップ S 7 3における場合と同様に、 アプリケー シヨン # 1は、 Access Method として { 1 | 2 } を、 PSId. region, access に設 定する。
ステップ S 8 1において、 アプリケーション # 1は、 Link Speed として、 5 0 kbps力、ら 1 9 9 kbpsを示す { 50 : 1 99 } を、 PSId. region. linkSpeedに 設定する。
ステップ S 8 2において、 アプリケーション # 1は、 ステップ S 75における 場合と同様に、 X Scale として { 10} を、 PSId. region. xScale に設定し、 Y Scale として { 7 } を、 PSId. region. yScaleに設定する。
ステップ S 8 3において、 アプリケーション # 1は、 Audio Codec として 1 : CELP 8 k、 または 2 : CELP 1 6 kを示す { 1 | 2 } を、 PSId. region, au dioに設定する。
ステップ S 84において、 アプリケーション # 1は、 CurrentLinkSpeed の値 力 次の第 3の領域の下限値である 200kbps と比較して、 それより小さいか 否かを判定する。 CurrentLinkSpeedの値が 200kbpsより小さい場合には、 第 3の領域のパラメータを設定することができないので、 ステップ S 8 5に進み、 アプリケーション # 1は、 Link Speed として { 50 : CurrentLinkSpeed} を、 PSId:region:linkSpeed に再度設定する。 すなわち、 ステップ S 8 1で設定さ れた { 50 : 1 9 9 } の値が更新される。
ステップ S 84において、 CurrentLinkSpeedのィ直が、 200kbps より大きい と判定された場合、 ステップ S 8 6に進み、 第 3の領域のパラメータ設定処理が
実行される。 いまの場合、 アプリケーション # 1は、 その CurrentLinkSpeedの 値は、 480 Okbps であるため、 ステップ S 84において、 NO の判定が行われ、 ステップ S 86以降の処理が実行される。
ステップ S 8 6において、 アプリケーション # 1は、 第 3の領域の値 「3」 を PSId. region に設定する。 具体的には、 PSId. region に 「1 000000 2. 3」 の値が設定される。
ステップ S 8 7において、 アプリケーション # 1は、 ステップ S 80における 場合と同様に、 Access Method として { 1 | 2} を、 PSId. region, access に設 定する。
ステップ S 8 8において、 アプリケーション # 1は、 Link Speed として、 2 00 kbps力、ら 100000 kbps を示す { 200 : 1 00000} を、 PSId. reg ion. linkSpeedに設定する。
ステップ S 8 9において、 アプリケーション # 1は、 ステップ S 8 2における 場合と同様に、 X Scale として { 1 0} を、 PSId. region. xScale に設定し、 Y Scale として { 7 } を、 PISd. region. yScaleに設定する。
ステップ S 90において、 アプリケーション# 1は、 Audio Codec として、 1 : CELP 8 k, 2 : CELP 1 6 k, 3 : AAC 1 6 k, 4 : AAC 3 2 k , 5 : AAC 44. 1 k、 または 6 : AAC 48 kを示す { 1 | 2 | 3 | 4 | 5 | 6 } を、 PSId. regi on. audioに 疋する。
ステップ S 9 1において、 アプリケーション # 1は、 次の第 4の領域のパラメ ータを設定する条件として、 CPU の性能が低いか否かを判定する。 CPU は、 その クロックの周波数が予め設定されている所定の基準の周波数 (例えば、 800M Hz) より低い場合、 あるいは所定の種類 (例えば、 Pentium (登録商標) 4) よ り低い機能の CPUである場合には、 CPUの性能が低いと判定される。
いまの場合、 アプリケーション # 1の CPU は性能が低いため、 ステップ S 9 1で YES と判定され、 ステップ S 9 2において、 アプリケーショ ン # 1は、 第 3の領域の Link Speed の更新処理を行う。 これにより、 Link Speed として
{200 : CurrentLinkSpeed} と設定されていたものが、 PSId. region. linkSp eed に再度設定される。 すなわち、 ステップ S 8 8の処理で設定された { 20 0 : 1 000000} の値が、 使用可能な最大値に更新される。
ステップ S 9 1において、 CPU の性能が低くない (高い) と判定された場合 (クロック周波数が 800MHz 以上であるか、 または Pentium (登録商標) 4と 同等か、 それ以上の機能の CPU である場合) には、 ステップ S 9 3に進み、 第 4の領域のパラメータ設定処理が実行される。
ステップ S 93において、 アプリケーション # 1は、 第 4の領域であることを 表す値 「 4」 を、 PSId. redion に設定する。 具体的には、 「 100 0000 2. 4」 が設定される。
ステップ S 94において、 アプリケーション # 1は、 ステップ S 8 7における 場合と同様に、 Access Method として { 1 | 2 } を、 PSId. region, access に設 定する。
ステップ S 9 5において、 アプリケーション # 1は、 ステップ S 88における 場合と同様に、 Link Speed として { 200 : 1 00000} を、 PSId. region. linkSpeedに設定する。
ステップ S 96において、 アプリケーション# 1は、 X scaleとして 3 2 Opi xelを示す { 20} を、 PSId. region. xScaleに設定し、 Y scaleとして 24 Op ixelを示す { 1 5} を、 PSId. region. yScaleに設定する。
ステップ S 9 7において、 アプリケーション # 1は、 ステップ S 90における 場合と同様に、 Audio Codec として { 1 | 2 | 3 | 4 | 5 | 6} を、 PSId. regi on. audioに設疋 'する。
最後に、 ステップ S 9 8において、 アプリケーション # 1は、 Link Speed と して {200 : CurrentLinkSpeed} を、 PSId. region. linkSpeed に再度設定す る。 すなわち、 ステップ S 9 5の処理で設定された { 200 : 100000 } の 値が更新される。
以上のようにして、 設定されたサービスプロバイダ 5 1としてのアプリケーシ
2
34
ヨン # 1のプロバイダプロファイル (プロバイダプロファイルディスクリプショ ン) が図 1 9に示されている。 同図に示されるように、 この場合、 上述したステ ップ S 7 1乃至ステップ S 9 2の処理により、 3つの領域のパラメータが設定さ れている。 設定されているパラメータは、 図 1 6と図 1 7を参照して説明した値 の通りである。
図 1 6と図 1 7に示されるプロファイルディスクリプション作成処理は、 サー ビスコンシユーマ 5 2としてのアプリケーション # nにおいても実行され、 それ によりコンシユーマプロファイルが作成される。 但し、 図 1 6と図 1 7の各ステ ップに記載されているパラメータの具体的な値は、 アプリケーション # 1のもの であり、 アプリケーション # nのものではないので、 各ステップで設定される値 は異なるものとなる。
例えば、 サービスコンシユーマ 5 2としてのアプリケ——ンョン# nが比較的低 速な ISDN64kbps の回線に接続され、 実効スループットである Curren1;LinkSp eed が 4 8 kbps であるとする。 この場合、 図 1 6と図 1 7に示されるプロファ ィルディスクリプション作成処理が実行されると、 ステップ S 7 1乃至ステップ S 7 8の第 1の領域の処理のみが実行される。 すなわち、 CurrentLinkSpeed の 値 (4 8 kbps) が 5 Okbps より小さいため、 ステップ S 7 7において、 YES と 判定され、 ステップ S 7 9以降の処理は実行されない。
すなわち、 この場合、 アプリケーション# nは、 ステップ S 7 1において、 P Sid に、 「 1 0 0 0 0 0 0 2」 を設定し、 ステップ S 7 2において、 PSId. regi on として第 1の領域であることを示す値 「1」 を設定する。 具体的には、 PSId. regionに 「1 000 0 0 0 2. 1」 が設定される。
ステップ S 7 3において、 アプリケーション # nは、 Access Method として { 1 I 2} を、 PSId. region, accessに設定する。
ステップ S 74において、 アプリケ——ンョン# nは、 Link Speed として { 3 0 : 4 8 } を、 PSId. region. linkSpeedに設定する。
ステップ S 7 5において、 アプリケーション # nは、 X Scale として { 1 0 }
を、 PSId. region. xScaleに設定し、 Y Scale として { 7 } を、 PSId. region. yS ca丄 e !■ Bx疋 9 る。
ステップ S 7 7において、 CurrentLinkSpeedの値は、 4 8kbpsであるため、 5 Okbps より小さいと判定され、 ステップ S 7 8において、 アプリケーション # nは、 Link Speed として { 3 0 : CurrentLinkSpeed} を、 PSId. region, lin kSpeed に再度設定する。 すなわち、 ステップ S 7 4で設定された { 3 0 : 4 9 } の値が更新される。
以上のようにして、 アプリケーション# 11により生成されたコンシユーマプロ ファイル (コンシユーマプロファイルディスクリプシヨン) は、 図 2 0に示され るようになる。 同図に示されるように、.領域は、 第 1の領域だけとされる。 この 領域に設定される各パラメータは、 上述したステップ S 7 1乃至ステップ S 7 8 の処理で設定された値である。
アプリケーション# nが図 2 0に示されるコンシユーマプロファイルを有する 場合、 アプリケーション # 1から図 1 9に示されるようなプロバイダプロフアイ ルが送信されてくると、 図 6のステップ S 2 6において、 アプリケーション # n は、 コンシユーマプロファイルの主要因パラメータとしてのリンクスピード 3 0 : 4 8 (図 2 0) 力 プロバイダプロファイルの主要因パラメータの値に整合 する部分があるか否かを判定することになる。 図 1 9のプロバイダプロファイル は、 第 1の領域のリンクスピードが 3 0 : 4 9であり、 第 2の領域のリンクスピ ードが 5 0 : 1 9 9であり、 第 3の領域のリンクスピードが 2 00 : 4 8 0 0で あるため、 少なくとも 1つの領域 (第 1の領域) において、 整合する部分 (重な る部分) がある (3 0乃至 4 9の範囲は、 3 0乃至 4 8の値で、 3 0乃至 4 8の 範囲と重なっている) と判定されることになる。 その結果、 上述したように、 図 6のステップ S 2 6で、 アプリケーション # nは、 提供されたサービスへの登録 要求処理を実行し、 その後、 ステップ S 4 2で、 プロファイルアトムを作成する ことになる。
次に、 図 2 1 と図 2 2のフローチャートを参照して、 このプロフアイ アトム
生成処理について説明する。 この処理は、 図 7のステップ S 4 2において実行さ れる処理に対応する。
この処理では、 最初に、 ステップ S 1 1 1乃至ステップ S 1 1 5の処理で、 サ 一ビスプロバイダが提示した各領域毎のパラメータ群から、 サービスコンシユー マが接続されているネットワークの Link Speed (主要因パラメータ) を考慮し て、 領域(Region)が選択される。
すなわち、 ステップ S 1 1 1において、 アプリケーション # nは、 アプリケー シヨン # 1から送信されてきたプロバイダプロファイルディスクリプシヨン (図 1 9 ) を受信する。 この処理は、 図 6のステップ S 4 1の処理に対応する。
次に、 ステップ S 1 1 2において、 アプリケーション # nは、 内部の変数 Nの 値を 0に初期化する。 ステップ S 1 1 3において、 アプリケーション # nは、 ス テツプ S 1 1 1の処理で受信したプロバイダプロファイルと、 自分自身が図 1 6 と図 1 7の処理を実行することで作成したコンシユーマプロファイル (図 2 0 ) の中から、 N + 1の領域の (いまの場合、 N = 0であるので、 第 1の領域の) パ ラメータを抽出する。
ステップ S 1 1 4において、 アプリケーション# nは、 ステップ S 1 1 3の処 理で抽出した領域の Link Speedが重なるか否かを判定する。 いまの場合、 第 1 の領域の Link Speedが重なるか否かが判定される。 両者の Link Speedが重な らない場合には、 ステップ S 1 1 6に進み、 値 Nが 0以外の値であるか否かを判 定する。 いまの場合、 値 Nは 0であるため、 NO と判定される。 すなわち、 この 場合には、 Link Speed が重なる領域が 1個も存在しないことになるので、 ァプ リケーシヨン # nは、 アプリケーション# 1と通信することができないことにな る。 そこで、 処理は終了される。
図 1 9と図 2 0に示される例の場合、 図 2 0の第 1の領域の Link Speedの 3 0 : 4 8は、 図 1 9の第 1の領域の Link Speedの 3 0 : 4 9と重なるので、 ス テツプ S 1 1 5に進み、 アプリケーション # ηは、 変数 Νの値を 1だけインクリ メントする (いまの場合、 N = lとする) 。
その後、 ステップ S 1 1 3に戻り、 アプリケーション # nは、 N + 1の領域 (いまの場合、 N = lなので、 第 2の領域) のプロバイダプロファイルとコンシ ユーマプロファイルのパラメータをアプリケーション# nは取り出す。
ステップ S 1 1 4において、 アプリケーション # nは、 ステップ S 1 1 3の処 理で取り出されたパラメータのうちの、 Link Speed が重なるか否かを判定する。 第 2の領域の Link Speedが重なる場合には、 ステップ S 1 1 5に進み、 変数 N の値がさらに 1だけインクリメントされる (いまの場合、 N = 2とされる) 。 そして、 ステップ S 1 1 3において、 N + 1の領域 (いまの場合、 N = 2なの で、 第 3の領域) のプロバイダプロファイルとコンシユーマプロファイルが読み 出される。 ステップ S 1 1 4において、 ステップ S 1 1 3で取り出されたパラメ ータの Link Speedが重なるか否かが判定され、 重なる場合には、 再び、 ステツ プ S 1 1 5に進み、 変数 Nの値が 1だけインクリメントされる (いまの場合、 N = 3とされる) 。
以上のようにして、 ステップ S 1 1 3乃至ステップ S 1 1 5の処理が繰り返し 実行されることで、 Link Speed が重なる全ての領域が抽出される。 プロバイダ プロファイルとコンシユーマプロファイルのうち、 対応する領域がもはや存在し ない場合、 あるいは存在したとしても、 Link Speed が重ならないと判定された 場合には、 処理はステップ S 1 1 4からステップ S 1 1 6に進められ、 値 Nが 0 以外の値であるか否かが判定される。 この場合における値 Nは、 ステップ S 1 1 3乃至ステップ S 1 1 5の処理により、 Link Speed が重なる領域のうちの、 最 も番号が大きい領域 (最も高機能の領域) のその番号に対応している。 従って、 Link Speed が 1個でも重なる領域が存在する場合には、 値 Nは、 0以外のィ直と いうことになる。
この場合、 ステップ S 1 1 7に進み、 アプリケーション # nは、 第 N番目の領 域のプロバイダプロフアイノレとコンシユーマプロフアイノレのパラメータを取り出 す。 ステップ S 1 1 8において、 アプリケーション # nは、 ステップ S 1 1 7の 処理で取り出したプロバイダプロファイルの Access Method とコンシユーマプ
口ファイルの Access Methodが重なるか否かを判定する。
図 1 9と図 20に示される例の場合、 第 1の領域の Access Method は、 いず れも { 1 I 2 } であるから、 Access Method が重なると判定される。 もし、 Acc ess Method が重ならないと判定された場合には、 ステップ S 1 1 9に進み、 変 数 Nの値が 1だけデクリメントされる。 すなわち、 処理対象とされる領域が、 1 つだけ番号の値が小さい領域に変更される。 そして、 ステップ S 1 1 6において、 値 Nが 0以外の値であるか否かが判定され、 0以外の値ではない、 すなわち、 0 であると判定された場合には、 結局、 プロファイルアトムが見つからなかったこ とになるため、 処理は終了される。
このように、 5次元のパラメータのうちの、 1つでも重ならないパラメータが 存在する場合には、 1つ下の番号の領域に処理対象が移される。 同様に、 後述す るステップ S 1 26において、 X scale と Y scale が重ならないと判定された 場合、 並びにステップ S 1 2 9において、 Audioが重ならないと判定された場合 にも、 1つ下の番号の領域に処理対象が移されることになる。
図 1 9と図 2 0の例の場合、 第 1の領域の Access Method は、 いずれも { 1 I 2} であるため、 両者が重なることになるので、 ステップ S 1 20に進み、 ァ プリケーシヨン # nは、 HTTP Tunnelling を優先することが選択されているか 否かが判定される。 ファイアウォールがインターネット 1との間に存在する場合 には、 HTTP Tunnellingを優先することが選択されている。
この場合、 ステップ S 1 2 1に進み、 アプリケーション # 11は、 プロファイル アトム(Profile Atom)の Access Method である AtomAccess に { 2 } (図 1 3) を設定する。 これに対して、 ステップ S 1 2 0において、 HTTP Tunnelling が優先されていないと判定された場合には、 ステップ S 1 2 2において、 アプリ ケ一シヨン # ιιは、 AtomAccessに { 1 } (図 1 3 ) を設定する。
ステップ S 1 2 1、 またはステップ S 1 2 2の処理の後、 ステップ S 1 2 3に 進み、 アプリケーション # nは、 CurrentLinkSpeed の値が、 プロバイダプロフ アイルの LinkSpeed の最大値と等しいか、 それより小さいか否かを判定する。
アプリケーション# nが接続されている回線の実効スループッ トを示す Current LinkSpeedの値が、 プロバイダプロファイルの Link Speedのパラメータの最大 値以下である場合には、 ステップ S 1 2 4において、 アプリケーション # nは、 AtomLinkSpeedに CurrentLinkSpeedの値を設定する。
これに対して、 ステップ S 1 2 3において、 CurrentLinkSpeed の値が、 プロ バイダプロファイルの Link Speed の最大値より大きいと判定された場合には、 ステップ S 1 2 5において、 アプリケーション # nは、 AtomLinkSpeed にプロ バイダプロファイルの LinkSpeedの最大 を設定する。
例えば、 CurrentLinkSpeedが 4 8 kbps であり、 プロバイダプロファイルの L inkSpeedのパラメータの最大値が 4 9 kbpsであれば、 ステップ S 1 2 5におい て、 プロファイルアトムの AtomLinkSpeedに { 4 8 } が設定される。
次に、 ステップ S 1 2 6において、 アプリケーション # nは、 プロバイダプロ ファイルとコンシユーマプロフアイノレの X scale と Y scale が重なるか否かを 判定する。 両者が重ならない場合には、 上述したように、 ステップ S I 1 9に進 み、 値 Nを 1だけデクリメントして、 番号が 1だけ小さい領域の処理に移行する。 ステップ S 1 2 6において、 X scale と Y scale が重なると判定された場合、 ステップ S 1 2 7において、 アプリケーション # nは、 プロファイノレアトムの X scale である AtomXscale に、 重なった X scale の最大値を設定する。 さらに、 ステップ S 1 2 8において、 アプリケーション # nは、 プロファイノレアトムの Y scaleである AtotnYscaleに、 重なった Y scaleの最大値を設定する。
例えば、 プロバイダプロファイルとコンシユーマプロファイルのいずれも X s cale の最大値が 1 6 0 pixel ( 1 0 X 1 6 pixel) であり、 Y scale の最大値が 1 1 2 pixel ( 7 X 1 6 pixel)となっている場合、 プロファイルァトムの AtomXs caleに { 1 0 } が設定され、 AtomYscaleに { 7 } が設定される。
ステップ S 1 2 9において、 プロバイダプロフアイノレとコンシユーマプロファ ィルの Audio Codec の重なりが判定される。 両者が重ならない場合には、 上述 したように、 ステップ S 1 1 9に進み、 値 Nが 1だけデクリメントされ、 1つだ
け小さい番号の領域の処理に移行する。
ステップ S 1 2 9において、 プロバイダプロフアイノレとコンシユーマプロファ ィルの Audio Codec が重なると判定された場合、 ステップ S 1 3 0に進み、 ァ プリケーシヨン # nは、 プロフアイノレアトムの Audio Codec である AtomAudio に、 重なった Audio Codec の中で最も音質の良いものを選択し、 設定する。 本 例においては、 プロファイル内に記述される各 Audio Codec に対して、 音質の 低いものから高いものの順番に値が大きくなるようにパラメータの番号付けが行 われており、 重なった Audio Codec の中で最も大きい番号のものを選択するこ とによって、 音質の高いものが選択される。 例えば、 プロバイダプロファイルと コンシユーマプロフアイノレのいずれも、 Audi o Codec 力 S 0 : None, または 1 : C ELP 8 kとなっている場合、 プロファイルアトムの AtomAudio には { 1 } が設 定される。
ステップ S 1 3 1において、 アプリケーション # nは、 以上の各ステップの処 理で決定されたプロファイルァトムのパラメータの値を基に、 プロファイルァト ムを作成する (組み立てる) 。
以上のようにして生成されたプロファイルァトムは、 図 7のステップ S 4 2の 処理により、 アプリケーション # 1に通知される。
以上のようにして、 本発明によれば、 サービスに関するパラメータであって、 数値化された M次元のパラメータによりサービスの内容を表す詳細情報を生成す るようにしたので、 サービスの内容を、 容易に識別することができ、 ネットヮー クを介して、 2つの装置が迅速且つ確実に情報を授受することが可能となる。 パラメータを基本単位により、 正規化するようにすることで、 より小さい数字 で詳細情報を表現することが可能となる。 従って、 比較処理が容易となる。
パラメータを複数の領域に区分することで、 複雑なアルゴリズムを用いること なく、 簡単に、 実際に情報を転送することが可能なパラメータを選択することが 可能となる。
パラメータを 1次元の整数値として表現することで、 パラメータを容易に比較
することが可能となる。
詳細情報を、 整数値と論理記号の組み合わせで表現するようにすることで、 ノ、 ラメータを容易に比較することが可能な形式で表現することができる。
論理記号として、 複数の前記整数値のいずれか 1つの選択を表現する第 1の記 号と、 前記整数値の集合を表す第 2の記号を用いるようにすることで、 パラメ一 タを容易に比較することが可能な形式で表現することができる。
第 2の記号として、 範囲の始まりを表す始値、 前記範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するステップを用いるようにする ことで、 範囲を容易に比較することが可能な形式で表現することができる。
サービスは、 ネットワークを介してデータを送信または受信するサービスとす ることで、 ネットワークを介して、 2つの装置が迅速且つ確実に情報を授受する のに必要な情報を交換することが可能となる。
識別子を詳細情報に付加することで、 詳細情報の特定が容易となる。
識別子をネットワークを介して送信先に送信することで、 送信先に詳細情報を 簡単に識別させることが可能となる。
送信先に識別子に対応する詳細情報を送信し、 送信先から送信されてきた M次 元のパラメータを受信するようにすることで、 始めから詳細情報を送信する必要 がなくなり、 伝送路を効率的に利用しながら、 確実に情報を授受することが可能 となる。
ネットワークを介して送信されてきた識別子を受信することで、 詳細情報を簡 単に識別することが可能となる。
受信された識別子に対応する詳細情報の送信を要求するようにすることで、 通 信不能な相手側と無駄に詳細情報を交換するようなことが防止される。
データ構造を、 M次元のパラメータで構成し、 前記パラメータを、 整数値と論 理記号の組み合わせで構成することで、 内容を容易に識別可能な形式でデータを 記述することが可能となる。
以上においては、 M : 5としたが、 それより大きい次元または小さい次元とす
ることも可能である。
また、 以上においては、 AV データを提供するサービスを例として説明したが、
AV データを授受するサービスの他、 各種のサービスを提供し、 利用する場合に、 本発明は適用することができる。
なお、 上述した処理は、 ネットワーク対応の CE機器等の場合、 ハードウェア により実行することもできる。 勿論、 ソフトウェアにより実行することもできる。 一連の処理をソフトウユアにより実行させる場合には、 そのソフトウェアを構 成するプログラムが、 専用のハードウェアに組み込まれているコンピュータ、 ま たは、 各種のプログラムをインス トールすることで、 各種の機能を実行すること が可能な、 例えば汎用のパーソナルコンピュータなどに、 ネットワークや記録媒 体からインス トールされる。
この記録媒体は、 図 1 2に示されるように、 装置本体とは別に、 ユーザにプロ グラムを提供するために配布される、 プログラムが記録されている磁気ディスク
1 4 1 (フロッピディスクを含む) 、 光ディスク 1 4 2 (CD-ROM (Compact Di s k-Read Only Memory) , DVD (Digital Versatile Di sk)を含む) 、 光磁気デイス ク 1 4 3 (MD (Mini-Di sk) を含む) 、 もしくは半導体メモリ 1 4 4などより なるパッケージメディアにより構成されるだけでなく、 装置本体に予め組み込ま れた状態でユーザに提供される、 プログラムが記録されている R0M 1 2 2や、 記 憶部 1 2 8に含まれるハードディスクなどで構成される。
なお、 本明細書において、 記録媒体に記録されるプログラムを記述するステツ プは、 記載された順序に沿って時系列的に行われる処理はもちろん、 必ずしも時 系列的に処理されなくとも、 並列的あるいは個別に実行される処理をも含むもの である。
また、 本明細書において、 システムとは、 複数の装置により構成される装置全 体を表すものである。 産業上の利用可能性
以上の如く、 第 1の本発明によれば、 サービスの内容を表す情報を生成するこ とができる。 特に、 サービスの内容を容易に確認することが可能な詳細情報を生 成することができる。 それにより、 サービスの内容を確実に相手側に知らしめる ことが可能となり、 相手側の装置と迅速且つ確実に接続し、 データを授受するこ とができる。
第 2の本発明によれば、 サービスの内容を表現することができる。 特に、 サー ビスの内容を容易に確認することが可能な状態で表現することができる。 それに より、 サービスの内容を確実に確認することが可能となり、 相手側の装置と迅速 且つ確実に接続し、 データを授受することができる。