(57)【要約】【課題】  ＭＰＥＧ  ＩＰＭＰ規格は、ＭＰＥＧシステムにわたるＩＰＭＰ保護を規定している。ＩＰＭＰ端末及びＩＰＭＰツールは、ＩＰＭＰ処理のために互いにインタオペレートする必要がある。また、一組のＩＰＭＰメッセージがそのようなインタオペレーションのために開発されている。しかし、様々なドメインの要求の複雑さのために、ＩＰＭＰ規格では、端末及びツールのインタフェースと、それらのインタオペレーションの手順を未定義のままにしている。このため、規格と実際に実施されていることとの間には隔たりが存在する。【解決手段】  本発明は、ＩＰＭＰ端末及びＩＰＭＰツールについて一組のインタフェースを提供する。これらのインタフェースは、端末及びツールがメッセージ交換し、データ周囲に移すために必要なものである。また、端末及びツールの接続のセットアップ及び互いにインタオペレートすることを可能にするメカニズムを規定した。【選択図】      図１
2005339036.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰＭＰツール用の共通のメッセージ・チャネルを提供するＩＰＭＰ端末装置であって、前記ＩＰＭＰツールからのＩＰＭＰメッセージを受信する前記メッセージ・チャネルとして規定されたインタフェースを備えたことを特徴とするＩＰＭＰ端末装置。
【請求項２】
ＩＰＭＰ端末又は他のＩＰＭＰツール用の共通のメッセージ・チャネルを提供するＩＰＭＰツール装置であって、ＩＰＭＰ端末又は他のＩＰＭＰツールからのＩＰＭＰメッセージを受信するメッセージ・チャネルとして規定されたインタフェースを備えたことを特徴とするＩＰＭＰツール装置。
【請求項３】
ＩＰＭＰ端末又は他のＩＰＭＰツール用のデータ・チャネルを提供するＩＰＭＰツール装置であって、ＩＰＭＰ端末又は他のＩＰＭＰツールからのＩＰＭＰメッセージ以外のデータを受信する前記データ・チャネルとして規定されたインタフェースを備えたことを特徴とするＩＰＭＰツール装置。
【請求項４】
ＩＰＭＰ端末とＩＰＭＰツールとの相互の初期化セットアップの相互処理装置であって、
ＩＰＭＰツールをロードするＩＰＭＰ端末と、
ＩＰＭＰツールのメッセージ・チャネル・インタフェースを設置するＩＰＭＰ端末と、
ＩＰＭＰツールのデータ・チャネル・インタフェースを設置するＩＰＭＰ端末と、
そのインタフェースのアドレスをＩＰＭＰメッセージの中に格納し、このアドレスに先行する特別マークを取り出してＩＰＭＰツールに知らせるＩＭＰＭ端末と、
前記メッセージを受信し、前記特定のマークを検出し、ＩＰＭＰ端末のインタフェースのアドレスを取得するＩＰＭＰツールと
を備える装置。
【請求項５】
ペイロードデータをＩＰＭＰ端末からＩＰＭＰツールへ効果的に移す装置であって、
ペイロード・データ・バッファのアドレスをＩＰＭＰツールのデータ・チャネルのインタフェースを介してＩＰＭＰツールに移すＩＰＭＰ端末を備えることを特徴とする装置。
【請求項６】
ＩＰＭＰ端末とＩＰＭＰツールとの間のＩＰＭＰ処理を行う装置であって、
データ・バッファのアドレスを前記ＩＰＭＰツールのデータ チャネルを介してＩＰＭＰツールへ送信するＩＰＭＰ端末と、
前記データ・チャネルから受信したデータを処理するＩＰＭＰツールと、
受信したデータの処理が終了した後、ＩＰＭＰメッセージを終わらせ、ＩＰＭＰ端末に信号を返すＩＰＭＰツールと、
前記信号を受け取り、前回の処理から再開するＩＰＭＰ端末と
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧによって開発された世界標準の知財管理及び保護（ＩＰＭＰ）に関する。ＩＰＭＰ端末とＩＰＭＰツールとの間の発明されたインタオペレーション・メカニズムは、市場からの相互利用性の要求を満たす全てのＩＰＭＰ互換デバイスの製品によって理解されるであろう。
【背景技術】
【０００２】
知財管理及び保護(ＩＰＭＰ)は、ＭＰＥＧ−２システム規格−ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １３８１８−１１のパート１１及びＭＰＥＧ−４システム規格−ＩＳＯ／ＩＥＣ  １４４９６−１３のパート１３である。それは、ＭＰＥＧによって開発されたＭＰＥＧ−２／４システムを保護するデジタル権利管理（ＤＲＭ：Digital Rights Management）の問題解決手法である。この規格の残余部分において、ＭＰＥＧ  ＩＰＭＰを用いてＭＰＥＧ−２  ＩＰＭＰ及びＭＰＥＧ−４  ＩＰＭＰの両方を表現する。
【０００３】
この明細書中で用いたいくつかの用語の定義について以下に示す。
ＭＰＥＧ  ＩＰＭＰ端末：使用規則に準拠して保護されたコンテンツを消費するハードウエア及び／又はソフトウエア・モジュールの環境。
ＭＰＥＧ  ＩＰＭＰツール：認証、暗号化、透かし等の一以上のＩＰＭＰ機能を実行するハードウエア及び／又はソフトウエア・モジュール。なお、所定ＩＰＭＰツールは、他のＩＰＭＰツールと組み合わせてもよい。
ＭＰＥＧ  ＩＰＭＰメッセージ：ＩＰＭＰツール又はＩＰＭＰ端末の任意の組み合わせの間を通過したメッセージ。
【０００４】
ＭＰＥＧ  ＩＰＭＰ規格では、ＭＰＥＧシステム・コンテキストにおけるエレメンタリ・ストリームの保護機構として規定する。それによって、暗号化や透かし等のエレメンタリ・ストリームの様々な保護を含む高レベルのフレームワークを規定する。
【０００５】
ＩＰＭＰ規格の目的は、様々なツールベンダからのＩＰＭＰツールの作法におけるＭＰＥＧ  ＩＰＭＰストリームを消費できるように、統括的であって、且つ、相互利用できるＤＲＭ解決法を規定することである。複数のＩＰＭＰツールは、直接に、又は、ＩＰＭＰ端末を介して、互いに通信できる。すなわち、ＩＰＭＰ端末は、異なるＩＰＭＰツール間の転送ルータとして働く。さらに、所定の複数のＩＰＭＰツールは、同じＩＰＭＰ能力を備え、ＩＰＭＰ端末は、一方から他方に自由に切り替えることができる。
【０００６】
上述の目的のために、一組の標準情報がＭＰＥＧ、すなわちＩＰＭＰメッセージによって開発された。ＩＰＭＰメッセージによって、内部ツール、端末及びツールのコミュニケーション目的で用いられる一組のメッセージを特定する。これらのメッセージを用いて、ＩＰＭＰ端末要求又はＩＰＭＰツール応答等のＩＰＭＰツールの設定情報を実行できる。実質的な目的は、ＩＰＭＰ端末とＩＰＭＰツールとの間でメッセージを配信及び受信するために信頼できる、いわゆるメッセージルータをＩＰＭＰ規格において提案することである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＭＰＥＧ  ＩＰＭＰ規格は、ＩＰＭＰ端末とＩＰＭＰツールとの間のコミュニケーションメッセージを規定する。しかし、この規格では、これらのメッセージを配布する手段を標準化していない。すなわち、ＩＰＭＰ端末とＩＰＭＰツールとの間のインタフェースは明確には規定されていない。
【０００８】
統一されたインタフェースがないということによって、端末と様々なベンダからのツールとが互いに接続できない上に相互利用できないという状態を引き起こしている。これは、相互利用可能であって、フレキシブルなＤＲＭ解決法をセットアップするＩＰＭＰ規格の試みを大きく妨げている。
【０００９】
実際のところ、ＩＰＭＰ規格の開発の間に、このプロジェクトに関連する専門家は、このような要求に注意を払い、いくつかのインタフェースの標準化を試みた。しかし、様々なドメイン及びプラットフォームは全く異なる要求を有している。ＩＰＭＰの専門家は、すぐに、全てのドメインの要求を満足させる共通のインタフェースを規定することが非常に困難であることに気がついた。そのため、彼らは、わざとインタフェースを未定義のままにした。
【００１０】
しかし、ＩＰＭＰ規格の導入に関係する製品について、この問題を解決する方法はない。例えば、ＩＰＭＰ端末Ｍが復号化ツールＤによって保護されたＭＰＥＧ−２  ストリームを処理すると仮定する。端末Ｍは、設置手段、初期化手順手段、ツールＤとの協働手段を備える。端末ＭとツールＤが、異なるベンダからのものである場合、それらの両方がとどまる（abide）前に規定されるべき一組の標準化ルールが必要である。
【００１１】
本発明は、ＩＰＭＰ端末とＩＰＭＰツールとの間のインタオペレーティング方法で欠如している課題を解決することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、ＩＰＭＰ端末とＩＰＭＰツールが互いにインタオペレートする統括的なメカニズムを提案する。提案したスキームには、インタフェースとコミュニケーション方法が含まれている。
【００１３】
ＩＰＭＰ端末の側で、ＩＰＭＰツール用に用いられる共通のインタフェースが規定され、例えば、ＩＰＭＰツールは、このインタフェースを介してＩＰＭＰメッセージをＩＰＭＰ端末に送ることができる。
【００１４】
ＩＰＭＰツールの側では、ＩＰＭＰ端末又は他のＩＰＭＰツール用に用いられる２つの共通インタフェースが規定される。一方のインタフェースはＩＰＭＰメッセージの変換に用いられ、もう一方は、ペイロードデータの変換に用いられる。
【００１５】
一組のインタオペレーション手順は、ＩＰＭＰ端末及びＩＰＭＰツールがとどまる（abide）ために規定される。規定した手順によって、互いに接続された端末及びツールのセットアップを補助する。
【００１６】
本発明の作用
ＩＰＭＰ端末でＭＰＥＧ  ＩＰＭＰで保護されたストリームを受信した場合、端末は、ストリーム中に納められて搬送された、ＩＰＭＰツールリスト、ツールコンテナ及びＩＰＭＰ記述子から、必要なＩＰＭＰツールの情報を取り出すことができる。ツール関連情報には、ツールＩＤ（１２８ビット）、所定ツールのＵＲＬ、パラメトリック・ツール、コントロールポイント、シーケンスコード等を含む。コントロールポイントは、ツールが呼び出され、シーケンスコードによってこのツールの優先度を得る際の端末を示し、すなわち、同じコントロールポイントに列にされた一以上のツールがある場合、より高いシーケンスコードを持つ一つが端末によって最初に呼び出される。
【００１７】
ＩＰＭＰ端末とＩＰＭＰツールとの間のセットアップ開始を以下に説明する。
まず、端末がＩＰＭＰツールを呼び出すことを必要とする時に、例えば、ＤＥＳツールをローディングして変換ペイロードデータを復号化し、端末は、ＩＰＭＰツールリスト内のＵＲＬからツールをロードする。
【００１８】
ＩＰＭＰツールは、ＩＰＭＰ端末又は他のＩＰＭＰツールと接続するための少なくとも２つのインタフェースを設ける。一方は、ＩＰＭＰメッセージ交換のために用いられ、“メッセージ・チャネル”と呼ばれる。他方は、ペイロードデータのために用いられ、“データ・チャネル”と呼ばれる。
【００１９】
また一方、ＩＰＭＰ端末は、ＩＰＭＰツールと接続するための少なくとも一つのインタフェースを設ける。それは、ＩＰＭＰメッセージ交換のために用いられ、“メッセージ・チャネル”と呼ばれる。
【００２０】
次に、ツールが無事にロードされた後、端末は、今後の通信のためにツールの共通のインタフェースを設置する。本発明において、端末は、ツールの“メッセージ・チャネル”と“データ・チャネル”のインタフェースを探す。
【００２１】
さらに、端末がツールのインタフェースを首尾よく取得した後、端末は、ツールの“メッセージ・チャネル”のインタフェースを使って、端末の“メッセージ・チャネル”のインタフェースのアドレスをIPMP_OpaqueDataのメッセージを用いて上記ツールに送る。このメッセージには、このメッセージのコンテンツが、他の種類の所有データのかわりに端末の“メッセージ・チャネル”のインタフェースのアドレスであることを明白に特定する特別なマークが含まれる。
【００２２】
最後に、ツールがその“メッセージ チャネル”からIPMP_OpaqueDataのメッセージを受信し、特定マークを検出した場合、ツールは、今後の用途のために端末のインタフェースのアドレスを抽出する。
以上でＩＰＭＰ端末とＩＰＭＰツールとの間のセットアップが完了する。
【００２３】
その後、ＩＰＭＰ端末は、ＩＰＭＰメッセージをツールのメッセージ・チャネルを介して送ることができ、ツールは、端末のメッセージ・チャネルを介して応答を返すことができる。ツールの設定後、端末は、ペイロードデータをツールのデータ・チャネルを介してツールに送信することができる。
【発明を実施するための最良の形態】
【００２４】
ＭＰＥＧ  ＩＰＭＰコンテキストでは、ＩＰＭＰの可能性は、ＩＰＭＰツール、例えばＤＥＳ復号化ツール、透かしツール等によって提供される。ＩＰＭＰ端末は、ハードウエア又はソフトウエアのいずれか一方の異なるＩＰＭＰツールがいっしょに作動する環境を提供する。
【００２５】
図１は、ＩＰＭＰ手段によって保護された媒体ストリームの消費プロセスの一般的な構成を示すブロック図を示す。ＩＰＭＰ保護情報は、ストリーム生成段階の間に、ストリームに埋め込まれ、それは、ストリーム消費段階の間に抽出され、媒体リソース再生を制御する。
【００２６】
全ての種類のデジタル媒体リソース（写真、ビデオ、オーディオ、テキスト情報、動画、等）を含む媒体ストリーム１０１は、消費のためにＩＰＭＰ端末１００に入力される。
【００２７】
箱１０６は、複数のＩＰＭＰツールを表している。媒体ストリーム上のＩＰＭＰ管理を実行するために、ＩＰＭＰ端末は、ＩＰＭＰ機能を満たす特定のＩＰＭＰツールに接続する。
【００２８】
ＩＰＭＰ端末がストリームをデマルチプレクス・モジュール１０２に通して個々のストリームを抽出する前に、ＩＰＭＰ情報は、このストリームに適用される条件が満たされているか否かを検証するためにチェックされる。例えば、ＩＰＭＰ端末は、このストリームと結びつけられた権利情報が、対応するＩＰＭＰ権利ツールの作法を満たしているか否かをチェックする必要がある。
【００２９】
ＩＰＭＰ端末とＩＰＭＰツールとの間のインタオペレーションは双方向である。ＩＰＭＰ端末は、要求をＩＰＭＰツールに送信して、所定のＩＰＭＰ機能性を満たすよう依頼し、作業が行われた後、ＩＰＭＰツールは、後処理を終了させて結果をＩＰＭＰ端末に返す。市場からの相互利用性の要求を達成するために、ＩＰＭＰ規格は、全てのＩＰＭＰ互換のどのような端末又はツールであっても理解できる共通のシンタックスとして、ＩＰＭＰメッセージを企画する。そこでＩＰＭＰ端末とＩＰＭＰツールとの間の連絡は、ＩＰＭＰメッセージ１０５の形態で行われる。
【００３０】
最も簡単なＩＰＭＰメッセージのシンタックスを以下に規定する。
Class IPMP_ExampleMessage{
Bit (8)  tag = IPMP_ExampleMessage_tag;
Bit(8)  version;
Bit(32) dataID;
//Fields and data extending this message
…
｝
【００３１】
上記式の意味説明：
タグ（tag）：拡張ＩＰＭＰメッセージ用のタグ。拡張タグについての正確な値は、ＩＰＭＰ規格で規定されている。
バージョン（version）：ＩＰＭＰメッセージにおいて用いられたシンタックスのバージョンであり、ここでは“0x01”として設定される。
データＩＤ：メッセージの出所確認の目的で用いられるもの。メッセージに直接に応答するツールは、どのレスポンスにも同じデータＩＤを含む。
【００３２】
様々な用途シナリオのために、ＩＰＭＰ規格で規定された２０メッセージより多いメッセージがある。それらは、ＩＰＭＰ端末及びＩＰＭＰツールの相互のインタオペレーションを容易にする様々な設定情報を搬送するために示される。
【００３３】
検証がうまくいった後、ＩＰＭＰ端末は、デマルチプレクス・モジュールをコールして、各ストリームユニット(ビデオ、オーディオ、画像、テキスト等）を抽出する。これらの全てのストリームは、以下に続くステップでこれらに対応するデコーダ１０３に送られる。その前に、ＩＰＭＰ端末は、ＩＰＭＰ情報をチェックして、どのＩＰＭＰ機能が必要とされるかについて再度決定する必要がある。例えば、いくつかのストリームは、ストリーム生成の間に暗号化され、そのため、それらのデコーダに送られる前に復号化する必要がある。ＩＰＭＰ端末は、ＩＰＭＰツールとインタオペレートして要求されたＩＰＭＰ管理を実行する。
【００３４】
上記段階と同様に、ＩＰＭＰ端末は、デコードされたストリームがレンダー１０４に導かれてユーザのディスプレイ上で表示される前にＩＰＭＰ情報のエンフォースメントを再度チェックする。例えば、この段階で、いくつかのストリームは、著作権侵害を検出する場合に、透かしの入った指紋検証を必要とする。ＩＰＭＰ端末は、ＩＰＭＰツールとインタオペレートして、ＩＰＭＰ管理を実行する.
【００３５】
ＩＰＭＰ端末インタフェース：
上述したように、ＩＰＭＰツールとインタオペレートするために、ＩＰＭＰ端末は、メッセージ・チャネルとして、一つの共通のインタフェースを設ける。このメッセージ・チャネルは、メッセージの受信及び送信のために用いられる。
【００３６】
図２は、ＩＰＭＰ端末のメッセージ・チャネル・インタフェースの図である。
ＩＰＭＰ端末１００は、ＩＰＭＰツールによって設けられた相手方２０２からＩＰＭＰメッセージを送受信する共通のメッセージ・チャネル２０１を設ける。
【００３７】
ＩＰＭＰ端末のメッセージ・チャネル・インタフェースを以下のように規定する：
BOOL ReceiveMessage(uint Sender,  uint Recipient,  long size,  byte* Message)
【００３８】
上記式の意味説明：
送信者（Sender）：このメッセージの送信者のＩＤを示す１６ビットの符号なし整数値である。
受信者（Recipient）：このメッセージの受信者のＩＤを示す１６ビットの符号なし整数値である。
サイズ（Size）：このメッセージのサイズをバイト単位で示すものである。
メッセージ（Message）：ＩＰＭＰメッセージのバイナリデータである。
【００３９】
このインタフェースは、０−１を返して、このメッセージがうまく受け取られたか、そうでないかについて送信者に示す。メッセージのシンタックスがメッセージ・タグと一致しない場合、メッセージ・データ長が与えられたサイズと同一でない場合等の場合には、受信誤りが発生する。
【００４０】
ＩＰＭＰツールインタフェース：
ＭＰＥＧ  ＩＰＭＰツールは、認証、復号化、透かし等の一以上のＩＰＭＰ機能を実行するハードウエア及び／又はソフトウエア・モジュールである。
【００４１】
所定ＩＰＭＰツールは、ＩＰＭＰ端末及びおそらく他のＩＰＭＰツールとインタオペレートする必要がある。ＩＰＭＰツールは、ＩＰＭＰ端末からＩＰＭＰメッセージを受信するだけでなく、ＩＰＭＰ端末からペイロードデータを受信して処理できる。そこで、ＩＰＭＰツールは、そのようなインタオペレーションのために少なくとも２つの共通のインタフェースを設ける。
【００４２】
メッセージ・チャネル・インタフェース：
ＩＰＭＰツールは、ＩＰＭＰメッセージをＩＰＭＰ端末及び／又は他のＩＰＭＰツールから送受信するためにチャネルを設ける必要がある。
【００４３】
図３は、ＩＰＭＰツールのメッセージ・チャネル・インタフェースを示す。それは、上述したＩＰＭＰ端末の共通のメッセージインタフェースときわめて類似している。
【００４４】
ＩＰＭＰツールのメッセージ・チャネル・インタフェースを以下のように規定する。
BOOL ReceiveMessage(uint Sender,  uint Recipient,  long size,  byte* Message)
【００４５】
上記式の意味説明：
送信者（Sender）：このメッセージの送信者のＩＤを示す１６ビットの符号なし整数値である。
受信者（Recipient）：このメッセージの受信者のＩＤを示す１６ビットの符号なし整数値である。
サイズ（Size）：このメッセージのサイズをバイト単位で示すものである。
メッセージ（Message）：ＩＰＭＰメッセージのバイナリデータ。
【００４６】
このインタフェースは、このメッセージがうまく受け取られたか否かについて、送信者に示すために０−１の返り値を有する。メッセージのシンタックスがメッセージ・タグと合わない場合や、メッセージ・データ長が与えられたサイズと一致しない場合等の場合に受信誤りが発生する。 
【００４７】
このインタフェースは、ＩＰＭＰ端末のメッセージ・チャネル・インタフェースと一致する。実際には、それらは同じメッセージ・チャネルの２つの端部にあたる。ＩＰＭＰメッセージは、ＩＰＭＰ端末又はＩＰＭＰツールの不一致なくコヒーレントな方法で変換される。
【００４８】
データ・チャネル・インタフェース：
ＩＰＭＰツールは、所定のＩＰＭＰの可能性を提供する。それは、ＩＰＭＰ端末が変換された／保護されたデータを処理するために役に立つ。そこで、ＩＰＭＰツールは、データ処理を容易にするためにデータ・チャネルを必要とする。
【００４９】
図３は、さらにＩＰＭＰツールのデータ・チャネル・インタフェース３０１を示す。
ＩＰＭＰ端末のデータ・チャネル・インタフェースを以下のように規定する。
int ProcessData (long size, byte *Data)
【００５０】
上記式の意味説明：
サイズ（Size）：次のペイロードデータのバイトサイズ
データ（Data）：このＩＰＭＰツールによって処理されるペイロードデータ
【００５１】
このインタフェースは、どれだけのバイト数の受信データが処理されるかを示すために整数値を返す。これは、フリーサイズの代わりに所定のデータサイズを必要とする所定のＩＰＭＰツール、例えばＤＥＳ復号化ツールを意味する。データの特別な部分は、処理されることなく返される。
【００５２】
ＩＰＭＰ端末がいつデータをＩＰＭＰツールに送信しようとしても、パフォーマンス効率の点で、データ・バッファのアドレスのみがデータ・チャネルを介して送信される。これによって、ＩＰＭＰ端末は、処理済みのデータに直接アクセスすることができる。図３では、ＩＰＭＰ端末のデータ・バッファ３０３とＩＰＭＰツールのデータ・バッファ３０４とは、いずれもシステムメモリの同じアドレス３０２を参照する。
【００５３】
ＩＰＭＰ端末とＩＰＭＰツールとの間の協働（cooperation）は同期手段又は非同期手段のいずれであってもよい。
【００５４】
同期手段では、ＩＰＭＰ端末は、ＩＰＭＰツールのデータ・チャネル・インタフェースの返りを待って、全ての作業スレッドを中断する。ＩＰＭＰツールの側では、受信データが処理された後、ＩＰＭＰツールのみがリターンする。
【００５５】
非同期手段は、同期手段より複雑であって、ＩＰＭＰ端末がデータ・チャネル・インタフェースの返りを待たず、さらに他のスレッド、例えば処理すべき複数のストリームについて働かせることができる。ＩＰＭＰツールは、受信データについて処理を終えたＩＰＭＰ端末にＩＰＭＰメッセージを送る必要がある。ＩＰＭＰ端末は、その信号を受け取り、後処理されたデータにアクセスし、前回の処理から再開する。
【００５６】
ＩＰＭＰ端末とＩＰＭＰツールとの間の初期セットアップ
各ＩＰＭＰ端末とＩＰＭＰツールは、互いに接続するために所定のインタフェースを設けている。相互利用のために、所定のＩＰＭＰツールがどのツールプロバイダからであろうと、ＩＰＭＰ端末は、このツールとの接続をセットアップし、メッセージ・チャネル及びデータ・チャネルの共通のインタフェースを取得する共通の手段を用いることができる。また、逆に、ＩＰＭＰツールは、ＩＰＭＰ端末のメッセージ・チャネル・インタフェースを取得する手段を有し、それによって、互いにＩＰＭＰメッセージを交換することができる。
【００５７】
そこで、ＩＰＭＰ端末及びＩＰＭＰツールによってこのセットアップを規定するために一連のメカニズムを発明した。その手順は図４に示されている。：
【００５８】
ＩＰＭＰ端末Ｍ  １００とＩＰＭＰツールＸ  １０６とを仮定する。
１）端末Ｍは、ＩＰＭＰツールリストで得られたＵＲＬからツールＸをロードする。
ＩＰＭＰツールは、ハードウエア（スマートカード等）又はソフトウエア（ライブラリ、ロード可能なモジュール等）の形態として存在してもよい。ＩＰＭＰ端末がどのようにＩＰＭＰツールをロードするかは、システムに依存する。各システムは、そのような操作を扱うユニークな方法を有している。例えば、端末ＭがウインドウズＣＥを実行しているセット・トップ・ボックスであって、ツールＸがウインドウズのダイナミック・ライブラリ（ＤＬＬ）であると仮定すると、端末Ｍは、ウインドウズＣＥのＡＰＩを用いてツールＸをシステムメモリ内にロードすることができる。
【００５９】
２）端末Ｍは、ツールＸの共通のインタフェースを設置する。
一つはＸのメッセージ・チャネル・インタフェース２０２である。：
BOOL ReceiveMessage(uint Sender,  uint Recipient,  long size,  byte* Message)
他の一つは、Ｘのデータ・チャネル・インタフェース３０１である。：
int ProcessData(long size, byte *Data)
【００６０】
ここで、“設置（locate）”は、端末ＭがツールＸのインタフェースにエントリ・アドレスを取得することを意味する。ハードウエア・アドレス・バスのほとんどは高々３２ビットしかないので、このようなアドレスは、通常３２ビット長未満である。また、モジュールのインタフェースを設置する機能性は、システムによって提供される。さらに、ステップ１で得られた例を用いて、ウインドウズ  ＣＥの端末Ｍは、ウインドウズＣＥ  ＡＰＩを用いて、ツールＸの（ＤＬＬ）共通のインタフェースへのファンクション・ポインタを得る。
【００６１】
上記操作の結果、端末Ｍは、ツールＸのメッセージ・チャネル及びデータ・チャネルの対応するエントリ・アドレスである２つのポインタ*MCと*DCを取得する。
【００６２】
その結果、端末ＭはツールＸのインタフェースを首尾よく取得する。端末Ｍは、メッセージ及び／又はデータをツールＸに直ちに送信できる。しかし、ツールＸは、端末Ｍのメッセージ・チャネル・インタフェースを得ておらず、必要な場合にメッセージを端末Ｍに送り返すことができない。
すなわち、これが、双方向通信を遂行するためにステップ３及び４を必要とする理由である。
【００６３】
３）端末Ｍは、ツールＸのメッセージ・チャネル・インタフェースを使って端末Ｍのそれ自体のメッセージ・チャネル・インタフェースが、opaqueData中で搬送されているIPMP_OpaqueDataのメッセージ４０１を送る。
【００６４】
IPMP_OpaqueDataのメッセージのシンタックスを以下に示す。：
Class IPMP_ExampleMessage{
Bit (8)  tag = IPMP_OpaqueData_tag;
Bit(8)  version;
Bit(32) DataID;
ByteArray opaqueData;
}
【００６５】
opaqueDataは、全ての所有データを搬送するために設計されている。そこで、このファイルを用いて、端末Ｍのメッセージ・チャネル・インタフェースのアドレスを搬送できる。通常、アドレスは３２ビット未満の長さであり、多くても４バイトしか占有しない。
【００６６】
また、IPMP_OpaqueDataのメッセージを用いて他の種類の所有データを他の目的で搬送することを考える。このIPMP_OpaqueDataのメッセージにおけるデータが、端末のメッセージ・チャネル・インタフェースのアドレスのアドレスであるように、受信ツールをはっきりと知らせる所定の特別マークを用いる必要がある。
【００６７】
マークの一例は、以下のデータがインタフェースのアドレスであることを知らせるインタフェースのアドレスの前にあらかじめ置かれた３２ビットの’０’であってもよい。
【００６８】
図４は、端末のメッセージ・チャネル・インタフェースを搬送するIPMP_OpaqueDataのメッセージ４０１のコンテンツを示す。
【００６９】
４）ツールＸは、端末ＭからIPMP_OpaqueDataのメッセージを受信する。メッセージが解析された場合には、ツールＸは、特別なマークを検出するが、そのマークは、このメッセージにおけるデータが端末Ｍのメッセージ・チャネル・インタフェース２０１のアドレスであることを導く信号である。
【００７０】
その結果、端末ＭとツールＸの両方は、それらの相手方のインタフェースを確保する。端末とツールとの間の初期セットアップはうまく終了する。セットアップ後、端末とツールは、メッセージ／データを互いに送信及び受信でき、相互利用を達成できる。
【図面の簡単な説明】
【００７１】
【図１】保護されたストリームのＩＰＭＰアーキテクチャの処理を示す図である。
【図２】ＩＰＭＰ端末の共通のインタフェースを示す図である。
【図３】ＩＰＭＰツールの共通のインタフェースを示す図である。
【図４】ＩＰＭＰ端末とＩＰＭＰツールとの間のセットアップ開始手順を示す図である。
【図１】
2005339036.tif 000003
【図２】
2005339036.tif 000004
【図３】
2005339036.tif 000005
【図４】
2005339036.tif 000006
【外国語明細書】
2005339036.tif 000007
2005339036.tif 000008
2005339036.tif 000009
2005339036.tif 000010
2005339036.tif 000011
2005339036.tif 000012
2005339036.tif 000013
2005339036.tif 000014
2005339036.tif 000015
2005339036.tif 000016
2005339036.tif 000017
2005339036.tif 000018
2005339036.tif 000019
2005339036.tif 000020
2005339036.tif 000021
2005339036.tif 000022