(57)【特許請求の範囲】
【請求項１】
メッセージヘッダと、１以上のメディアファイルを含むメッセージ本体とを有するマルチメディアメッセージをキャッシング及び転送する方法であって、メディアキャッシュ及び少なくとも１つのハードウェアプロセッサーに利用され、
（ａ）宛先デバイスの機能に対応するトランスコードプロフィールを決定する段階と、
（ｂ１）前記トランスコードプロフィールの第１の署名を計算し、前記第１の署名を、前記トランスコードプロフィールが前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記トランスコードプロフィールが前記メディアキャッシュの中に存在すると判断され、前記メッセージ本体に含まれるデータから前記メッセージ本体の第２の署名を計算し、前記第２の署名を、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断され、前記第１の署名及び前記第２の署名の組み合わせを、前記トランスコードプロフィールに応じた適合済みメッセージ本体が前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記適合済みメッセージ本体が前記メディアキャッシュの中に存在すると判断された場合に実施される、
（ｃ）前記メディアキャッシュ内の前記適合済みメッセージ本体を取得する段階と、
（ｄ）前記メッセージヘッダを変更して、変更されたメッセージヘッダ及び取得された前記適合済みメッセージ本体を有する適合済みマルチメディアメッセージを前記宛先デバイスへ転送する段階と、
（ｂ２）前記（ｂ１）とは異なる場合であって、前記適合済みメッセージ本体が前記メディアキャッシュの中に存在しないと判断され、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断された場合に実施される、
（ｅ）前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する段階と、
（ｆ）取得された前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを、前記トランスコードプロフィールに応じて、対応する適合済みメディアファイルにトランスコードする段階と、
（ｇ）前記適合済みメディアファイルを参照する再構築されたメッセージヘッダ、及び前記適合済みメディアファイルを含む適合済みメッセージ本体を有する適合済みマルチメディアメッセージを生成する段階と、
（ｈ）前記適合済みマルチメディアメッセージを前記宛先デバイスに転送する段階と
を備える方法。
【請求項２】
第２の宛先デバイスの機能に対応する第２のトランスコードプロフィールを決定し、前記第２のトランスコードプロフィールの第３の署名を計算し、前記第２の署名及び前記第３の署名の組み合わせをインデックスとして利用し、前記第２のトランスコードプロフィールに応じた第２の適合済みメッセージ本体が前記メディアキャッシュの中に存在するか否かを判断する段階と、
前記第２の適合済みメッセージ本体が前記メディアキャッシュの中に存在すると判断された場合に、前記第２の適合済みメッセージ本体を前記第２の宛先デバイスへ送信する段階とをさらに備える、
請求項１に記載の方法。
【請求項３】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルは、前記メディアキャッシュ内のメディアファイルは利用可能であるが関連する前記メディアキャッシュ内のトランスコードプロフィールは前記トランスコードプロフィールと整合せず、前記１以上のメディアファイルと個別に対応する、
請求項１または２に記載の方法。
【請求項４】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する段階は、前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを削除、追加、又は修正することを含む、
請求項１から３の何れか１項に記載の方法。
【請求項５】
前記適合済みマルチメディアメッセージを生成する段階は、２以上の取得した前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルまたは前記適合済みメディアファイルと対応する２以上のメディアファイルを融合することを含む、
請求項１から４の何れか１項に記載の方法。
【請求項６】
前記メッセージ本体の前記元のバージョンに含まれるメディアファイルをトランスコードする段階は、前記メディアキャッシュに前記適合済みメディアファイルを格納することを含み、
前記適合済みマルチメディアメッセージを生成する段階は、前記適合済みメッセージ本体を前記メディアキャッシュに格納する段階を含む、
請求項１から５の何れか１項に記載の方法。
【請求項７】
前記トランスコードプロフィールを決定する前記段階は、前記メディアキャッシュに前記トランスコードプロフィールを格納することを含む、
請求項１から６の何れか１項に記載の方法。
【請求項８】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する段階は、失われた、削除された、または修正された元のマルチメディアメッセージの部分を前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルに再度加えることを含む、
請求項１から７の何れか１項に記載の方法。
【請求項９】
前記マルチメディアメッセージは、マルチメディアメッセージングシステム（ＭＭＳ）メッセージである、
請求項１から８の何れか１項に記載の方法。
【請求項１０】
プロセッサに、請求項１から９の何れか１項に記載の方法を実行させるためのプログラム。
【請求項１１】
メッセージヘッダと、１以上のメディアファイルを含むメッセージ本体とを有するマルチメディアメッセージをキャッシング及び転送するメディアキャッシュシステムであって、
宛先デバイスの機能に対応するトランスコードプロフィールを決定する機能と、
前記トランスコードプロフィールの第１の署名を計算し、前記第１の署名を、前記トランスコードプロフィールが前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記トランスコードプロフィールが前記メディアキャッシュの中に存在すると判断され、
前記メッセージ本体に含まれるデータから前記メッセージ本体の第２の署名を計算し、前記第２の署名を、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断され、
前記第１の署名及び前記第２の署名の組み合わせを、前記トランスコードプロフィールに応じた適合済みメッセージ本体が前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記適合済みメッセージ本体が前記メディアキャッシュの中に存在すると判断された場合に機能する、
前記メディアキャッシュ内の適合済みメッセージ本体を取得する機能と、
前記メッセージヘッダを変更して、変更されたメッセージヘッダ及び取得された前記適合済みメッセージ本体を有する適合済みマルチメディアメッセージを前記宛先デバイスへ転送する機能と、
前記適合済みメッセージ本体が前記メディアキャッシュの中に存在しないと判断され、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断された場合に機能する、
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する機能と、
取得された前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを、前記トランスコードプロフィールに応じて、対応する適合済みメディアファイルにトランスコードする機能と、
前記適合済みメディアファイルを参照する再構築されたメッセージヘッダ、及び前記適合済みメディアファイルを含む適合済みメッセージ本体を有する適合済みマルチメディアメッセージを生成する機能と、
前記適合済みマルチメディアメッセージを前記宛先デバイスに転送する機能と
を備えるメディアキャッシュシステム。
【請求項１２】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルは、前記メディアキャッシュ内のメディアファイルは利用可能であるが関連する前記メディアキャッシュ内のトランスコードプロフィールは前記トランスコードプロフィールと整合せず、前記１以上のメディアファイルと個別に対応する、
請求項１１に記載のメディアキャッシュシステム。
【請求項１３】
メッセージヘッダと、１以上のメディアファイルを含むメッセージ本体とを有するマルチメディアメッセージをキャッシング及び転送する適合サーバであって、
宛先デバイスの機能に対応するトランスコードプロフィールを決定する機能と、
前記トランスコードプロフィールの第１の署名を計算し、前記第１の署名を、前記トランスコードプロフィールがメディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記トランスコードプロフィールが前記メディアキャッシュの中に存在すると判断され、前記メッセージ本体に含まれるデータから前記メッセージ本体の第２の署名を計算し、前記第２の署名を、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断され、前記第１の署名及び前記第２の署名の組み合わせを、前記トランスコードプロフィールに応じた適合済みメッセージ本体が前記メディアキャッシュの中に存在するか否かを判断するためのインデックスとして利用し、前記適合済みメッセージ本体が前記メディアキャッシュの中に存在すると判断された場合に機能する、
前記メディアキャッシュ内の適合済みメッセージ本体を取得する機能と、
前記メッセージヘッダを変更して、変更されたメッセージヘッダ及び取得された前記適合済みメッセージ本体を有する適合済みマルチメディアメッセージを前記宛先デバイスへ転送する機能と、
前記適合済みメッセージ本体が前記メディアキャッシュの中に存在しないと判断され、前記メッセージ本体の元のバージョンが前記メディアキャッシュの中に存在すると判断された場合に機能する、
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する機能と、
取得された前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを、前記トランスコードプロフィールに応じて、対応する適合済みメディアファイルにトランスコードする機能と、
前記適合済みメディアファイルを参照する再構築されたメッセージヘッダ、及び前記適合済みメディアファイルを含む適合済みメッセージ本体を有する適合済みマルチメディアメッセージを生成する機能と、
前記適合済みマルチメディアメッセージを前記宛先デバイスに転送する機能と
を備える適合サーバ。
【請求項１４】
第２の宛先デバイスの機能に対応する第２のトランスコードプロフィールを決定し、前記第２のトランスコードプロフィールの第３の署名を計算し、前記第２の署名及び前記第３の署名の組み合わせをインデックスとして利用して、前記第２のトランスコードプロフィールに応じた第２の適合済みメッセージ本体が前記メディアキャッシュの中に存在するか否かを判断する機能と、
前記第２の適合済みメッセージ本体が前記メディアキャッシュの中に存在すると判断された場合に、前記第２の適合済みメッセージ本体を前記第２の宛先デバイスへ送信する機能とをさらに備える、
請求項１３に記載の適合サーバ。
【請求項１５】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルは、前記メディアキャッシュ内のメディアファイルは利用可能であるが関連する前記メディアキャッシュ内のトランスコードプロフィールは前記トランスコードプロフィールと整合せず、前記１以上のメディアファイルと個別に対応する、
請求項１３または１４に記載の適合サーバ。
【請求項１６】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する機能は、前記メッセージ本体のメディアファイルを削除、追加、又は修正することを含む、
請求項１３から１５の何れか１項に記載の適合サーバ。
【請求項１７】
前記適合済みマルチメディアメッセージを生成する機能は、２以上の取得した前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルまたは前記適合済みメディアファイルと対応する２以上のメディアファイルを融合することを含む、
請求項１３から１６の何れか１項に記載の適合サーバ。
【請求項１８】
前記メッセージ本体の前記元のバージョンに含まれるメディアファイルをトランスコードする機能は、前記メディアキャッシュに前記適合済みメディアファイルを格納することを含み、前記適合済みマルチメディアメッセージを生成する機能は、前記適合済みメッセージ本体を前記メディアキャッシュに格納する段階を含む、
請求項１３から１７の何れか１項に記載の適合サーバ。
【請求項１９】
前記トランスコードプロフィールを決定する機能は、前記メディアキャッシュに前記トランスコードプロフィールを格納することを含む、
請求項１３から１８の何れか１項に記載の適合サーバ。
【請求項２０】
前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルを取得する機能は、失われた、削除された、または修正された元のマルチメディアメッセージの部分を前記メディアキャッシュ内の前記メッセージ本体の前記元のバージョンに含まれるメディアファイルに再度加えることを含む、
請求項１３から１９の何れか１項に記載の適合サーバ。
【請求項２１】
前記マルチメディアメッセージは、マルチメディアメッセージングシステム（ＭＭＳ）メッセージである、
請求項１３から２０の何れか１項に記載の適合サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、LEVEQUE, Xavierに対する２００７年１１月１３日出願の「Intelligent Caching of Media Files」なる名称の米国仮出願第60/987,460号明細書、およびLEVEQUE, Xavierに対する２００８年５月４日出願の「Intelligent Caching of Media Files」なる名称の米国特許出願第12/114,798号明細書の恩恵を主張する。
【０００２】
本発明は、マルチメディアファイルの適合および転送に係り、具体的には、前に転送したファイルおよび適合したファイルのキャッシュに係る。
【背景技術】
【０００３】
マルチメディアメッセージングサービス（ＭＭＳ）は、テキスト、オーディオ、静止画および動画を含む様々な種類のデータの、主に無線ネットワークを介したピアツーピアおよびサービスツークライアント送信方法を提供する（例えば、http://www.openmobilealliance.org/release_program/mms_v1_2.htmから情報入手可能な「ＯＭＡ（オープンモバイルアライアンス）マルチメディアメッセージングサービス、アーキテクチャの概略、承認版１．２  ０１、２００５年３月」参照のこと）。
【０００４】
ＭＭＳは、これらデータのカプセル化の標準的な方法を提供するが、データの種類は、平文、３ＧＰビデオおよびオーディオ／音声、合成オーディオ用のＳＰ−ＭＩＤＩ、ＪＰＥＧ静止画等の多数の標準フォーマットで符号化されている可能性がある。これらについての詳細は、http://www.3gpp.org/ftp/Specs/html-info/26140.htmから情報入手可能な「マルチメディアメッセージングサービス」（メディアフォーマットおよびコーデック発行）3GPP TS 26.140, V7.1.0 (2007-06)を参照のこと。
【０００５】
図１は、ＭＭＳシステムアーキテクチャ１００の一例を示しており、これは、発信元ノード１０２、サービス配信プラットフォーム１０４、発信先ノード「Ｉ」１０６、および適合エンジン１０８を含む。発信元ノード１０２は、ネットワーク「Ａ」１１０を介してサービス配信プラットフォーム１０４と通信可能である。同様に発信先ノード「Ｉ」１０６も、ネットワーク「Ｂ」１１２を介してサービス配信プラットフォーム１０４と通信可能である。ネットワーク「Ａ」および「Ｂ」は、可能性のある接続を示す例示に過ぎず、他にも多くの構成が可能である。例えば、発信元ノード１０２および発信先ノード１０６「Ｉ」は、単一のネットワークを介してサービス配信プラットフォーム１０４と通信可能であってもよいし、発信元ノード１０２がネットワーク等を介さずにサービス配信プラットフォーム１０４と直接接続されてもよい。
【０００６】
適合エンジン１０８は、図１に示すリンク１１４を介して直接サービス配信プラットフォーム１０４と接続されても、または、ネットワーク経由で接続されても、または、サービス配信プラットフォーム１０４内に埋め込まれていてもよい。
【０００７】
稀なケースでは、発信元ノード１０２は、発信先ノード「Ｉ」１０６を宛先とするマルチメディアメッセージを送信することができる。メッセージは、ネットワーク「Ａ」１１０を介してサービス配信プラットフォーム１０４へと転送されて、そこからメッセージはネットワーク「Ｂ」１１２を介して発信先ノード「Ｉ」１０６へと送られる。発信元ノード１０２および発信先ノード「Ｉ」１０６は、例えば、無線デバイスであってよく、その場合、ネットワーク「Ａ」および「Ｂ」（１１０および１１２）は無線ネットワークであり、サービス配信プラットフォーム１０４はマルチメディアメッセージ転送サービスを提供してよい。
【０００８】
別の例では、発信元ノード１０２は、データネットワークを介してサービス配信プラットフォーム１０４に接続されたコンテンツプロバイダのサーバであってよい（つまり、ネットワーク「Ａ」１１０がインターネットであり、ネットワーク「Ｂ」１１２が、無線デバイスでありうる発信先ノード「Ｉ」１０６に機能を提供する無線ネットワークであってよい）。
【０００９】
より一般的な場合、発信先ノード「Ｉ」１０６の機能には、発信元ノード１０２が送った形式でメッセージを受信、復号、または表示する機能が含まれていない場合がある。発信先ノード「Ｉ」１０６にこのメッセージを扱わせる目的から、発信元ノード１０２が受信したメッセージを、発信先ノード「Ｉ」１０６への配信前に、適合エンジン１０８で修正することができる。
【００１０】
「オープンモバイルアライアンス」が提唱する「Standard Coding Interface」（ＳＴＩ）は、オープンモバイルアライアンスの文献であるOMA-AD-STI-V1_0-20270515-A「Architecture of the Environment using the Standard Transcoding Interface" 承認版1.0  ２００７年５月１５日付」に記載されている「Architecture of the Environment using the Standard Transcoding Interface」のＭＭＳへのメッセージ適合方法を標準化する枠組みを提供する。
【００１１】
図１の構成例では、メッセージ適合が必要である場合、発信元ノード１０２から発信先ノード「Ｉ」１０６へのメッセージ送信には、以下の５つのステップが含まれうる。
【００１２】
ステップ１：「ソースメッセージ」を発信元ノード１０２からサービス配信プラットフォーム１０４へ送信する。
【００１３】
ステップ２：サービス配信プラットフォーム１０４が、送信先ノード「Ｉ」１０６の機能を判断する（例えば、発信先ノード「Ｉ」１０６に直接問い合わせることにより、または、機能データベースを参照することにより）。
【００１４】
ステップ３：サービス配信プラットフォーム１０４が、適合エンジン１０８に対して、元の「ソースメッセージ」および発信先ノード「Ｉ」１０６の機能の記述を含む要求を送る。
【００１５】
ステップ４：適合エンジン１０８が、「ソースメッセージ」を「適合済みメッセージ」へと適合させる。
【００１６】
ステップ５：適合エンジン１０８が、「適合済みメッセージ」をサービス配信プラットフォーム１０４に戻し、ここから発信先ノード「Ｉ」１０６へ転送される。
【００１７】
発信先ノードの機能に基づくメッセージ適合に加えて、適合エンジン１０８はメッセージに対してさらなる処理を行うこともある。
【００１８】
図２は、拡張ＭＭＳシステムアーキテクチャ２００の一例を示し、これには、ＭＭＳシステムアーキテクチャ１００に加えて、第２の発信先ノード「ＩＩ」（１１８）をサービス配信プラットフォーム１０４と接続するさらなるネットワーク「Ｃ」（１１６）が含まれている。
【００１９】
上述のＭＭＳシステムアーキテクチャ１００同様に、発信元ノード１０２からのソースメッセージは、発信先ノード「Ｉ」１０６への送信前に適合エンジン１０８で適合済みメッセージへと適合されてよく、さらに、発信先ノード「ＩＩ」１１８の機能に応じて別途適合されてよい第２の適合済みメッセージが発信先ノード「ＩＩ」１１８へ送られてよい。
【００２０】
別の例では、発信先ノード「Ｉ」１０６で受信されたメッセージを発信先ノード「ＩＩ」１１８へ転送することが望ましい場合もある。これら２つの発信先ノードの機能が異なっていると、転送されたメッセージを再度適合させる必要がでてくる場合がある。元のソースメッセージが先ず発信先ノード「Ｉ」１０６の機能に適合されている場合、メッセージを後に発信先ノード「ＩＩ」１１８に転送し、例えば発信先ノード「ＩＩ」１１８が品質を落とさずに元のソースメッセージを受信する機能を有していたとしても、このメッセージの品質が失われ、回復（regain）できないことがある。
【００２１】
別の例では、発信先ノード「Ｉ」１０６は、発信先ノード「ＩＩ」１１８への転送前にマルチメディアソースメッセージを修正することもある。この場合には、元のコンテンツを転送されるメッセージに含めることが不都合な、あるいは不可能なこともある。
【００２２】
また別の例では、１つのソースメッセージを２以上の発信先に送る場合がある。本システムは、各発信先の機能に応じて適合することができるが、発信先のなかに同じまたは互換性のある機能を有するものがある場合に不要となる適合を行ってしまうこともある。
【００２３】
先行技術が有するこれら、および他の欠点を克服するには、可能な場合に品質を損なうことなく他の発信先に対してより効率的にメッセージを転送またはブロードキャストするシステムおよび方法を提供する必要がある。
［先行技術文献］
［特許文献］
［特許文献１］米国特許第７５４９０５２号明細書
［特許文献２］米国特許第７６４０２７４号明細書
［特許文献３］米国特許第７５７７８４８号明細書
［特許文献４］米国特許第７４７５１０６号明細書
［特許文献５］米国特許第６９７０６０２号明細書
［特許文献６］米国特許出願公開第２００８／０２２６１７３号明細書
［特許文献７］米国特許出願公開第２００３／００９７５６４号明細書
［特許文献８］米国特許出願公開第２００７／００１１２５６号明細書
［特許文献９］米国特許出願公開第２００６／０２４２５５０号明細書
［特許文献１０］米国特許出願公開第２００４／０００１１０６号明細書
［特許文献１１］米国特許出願公開第２００４／０２６８２２４号明細書
［非特許文献］
［非特許文献１］COSKUN, Baris, SANKUR, Bulent "Robust Video Hush Extraction" article available at <citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.9934.pdf> European Signal Processing Conference EUSIPCO 2004
［非特許文献２］Multimedia Messaging Service, Media Formats and Codes 3GPP TS 26.140, V7.1.0, http://www.3gpp.org/ftp/specs/html-info/26140.htm, June 2007, P.13
［非特許文献３］S.COULOMBE et al., Multimedia Adaptation for the Multimedia Messaging Service, IEEE Communication Magazine, Vol. 42, No.7, p. 120-126, July 2004
［非特許文献４］3GPP in 3GPP TS 23.140 V6.14.0(November 06, 2006), Technical Specification 3rd Generation Partnership Project, Technical Specification Group Core Network and Terminals, Multimedia Messaging Service(MMS), Functional description, Stage 2(Release 6), http://www.3gpp.org/ftp/Specs/html-info/23140.htm(document http://www.3gpp.org/FTP/Specs/archive/23_series/23.140/23140-6e0.zip)
［非特許文献５］Synchronized Multimedia Integration Language(SMIL)1.0 Specification, published by W3C organization at http://www.w3.org/TR/REC-smil June 15, 1998
［非特許文献６］Tayeb Lemlouma, Nabil Layaida "Encoding Multimedia Presentations For User Preferences And Limited Environments "Proceedings of IEEE International Conference on Maultimedia &
［非特許文献７］Expo(ICME), IEEE Computer Society, 2003, p.165-168.
［非特許文献８］OMA Multimedia Messaging Service, Architecture Overview, Approved Version 1.201 March 2005, published by Open Mobile Alliance, available from http://www.openmobilealliance.org/release_program/mms_v1_2.html
［非特許文献９］Open Mobile Alliance document OMA-AD-STI-V1_0-20270515-A "Architecture of the Environment using the Standard Transcoding Interface "Approved Version 1.0-15 May 2007, published by Open Mobile Alliance
［非特許文献１０］3GPP TS 26.140 V7.1.0, June 2007-06 Technical Specification 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Multimedia Messaging Service(MMS); Media formats and codecs(Release 7) available from http://www.3gpp.org/ftp/Specs/html-info/26140.html
［非特許文献１１］Relational Database System(RDBS), available from http://www.mysql.org/ published by Sun Microsystems, available prior to November 12, 2007
［非特許文献１２］Request for Comments(RFC)1321 "The MD5 Message-Digest Algorithm", R. Revest, available from http://tools.ietf.org/html/rfc1321 published by IEFT(internet Engineering Task Force) April 1992
［非特許文献１３］MM1, MM3, MM4, MM7 are defined by the 3GPP in 3GPP TS 23.140 V6. 14.0(November 06, 2006) Technical Specification 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Multimedia Messaging Service (MMS); Functional description ; Stage 2(Release 6) at http://www.3gpp.org/ftp/Specs/html-info/23140.htm (document http://www.3gpp.org/FTP/Specs/archive/23_series/23.140/23140-6e0.zip)
［非特許文献１４］"Internet Content Adaptation Protocol(ICAP)" J. Elson, Request for Comments(RFC) 3597 available from http://www.ietf.org/rfc/rfc3507.txt, April 2003
［非特許文献１５］Nokia Multimedia Messaging Service Center, External Application Interface, Frequently Asked Questions, Reference for External Application Interface(EAIF) protocol available at http://www.forum.nokia.com/info/sw.nokia.com/id/d0ee4125-3879-4482-b55d-90e3afe17a31/Ext_App_interface_FAQ.pdf.html published by Nokia, prior to November 12, 2007
【発明の概要】
【００２４】
上述に鑑みて、本発明の目的の１つは、メディアファイルのインテリジェントキャッシュを用いたマルチメディアファイルの適合および転送についての向上した方法およびシステムを提供することである。
【００２５】
本発明の一側面によると、サービスセンタから１以上の適合サーバを介して第１のデバイスおよび第２のデバイスへマルチメディアメッセージのソースメディアファイルを送信する方法であって、１以上の適合サーバの少なくとも１つはメディアキャッシュを持ち、方法は、（ａ）ソースメディアファイルの署名を計算する段階と、（ｂ）ソースメディアファイルの署名を、メディアキャッシュからソースメディアファイルの元のコピーを探すためのインデックスとして利用する段階と、（ｃ）メディアキャッシュからソースメディアファイルの元のコピーの第１の適合済みバージョンを探す段階と、（ｄ）第１の適合済みバージョンを第１のデバイスに送信する段階と、（ｅ）メディアキャッシュからソースメディアファイルの元のコピーの第２の適合済みバージョンを探す段階と、（ｆ）第２の適合済みバージョンを第２のデバイスへ送信する段階とを備える方法が提供される。
【００２６】
段階（ｃ）は、第１の適合済みバージョンが発見されなかった場合、ソースメディアファイルの元のコピーを第１の適合済みバージョンに適合させる段階を有する。
【００２７】
段階（ｃ）は、さらに、第１の適合済みバージョンの署名を計算して、第１の適合済みバージョンの署名を、第１の適合済みバージョンをメディアキャッシュに格納する際のインデックスとして利用する段階を有すると好適である。
【００２８】
段階（ｃ）は、さらに、段階（ｂ）においてソースメディアファイルの元のコピーが発見されなかった場合、ソースメディアファイルを元のコピーとしてメディアキャッシュに格納すると好適である。
【００２９】
段階（ｃ）は、さらに、第１の適合済みバージョンの署名を計算して、第１の適合済みバージョンの署名を、第１の適合済みバージョンをメディアキャッシュに格納する際のインデックスとして利用する段階を有すると好適である。
【００３０】
段階（ｅ）は、第２の適合済みバージョンが発見されなかった場合、ソースメディアファイルの元のコピーを第２の適合済みバージョンに適合させる段階を有する。
【００３１】
段階（ｅ）は、さらに、段階（ｂ）においてソースメディアファイルの元のコピーが発見されなかった場合、ソースメディアファイルを元のコピーとしてメディアキャッシュに格納して、ソースメディアファイルを第２の適合済みバージョンにトランスコードすると好適である。
【００３２】
段階（ｅ）は、さらに、第２の適合済みバージョンの署名を計算して、第２の適合済みバージョンの署名を、第２の適合済みバージョンをメディアキャッシュに格納する際のインデックスとして利用する段階を有すると好適である。
【００３３】
方法は、第１のデバイスおよび第２のデバイスの機能を判断する段階と、第１のデバイスおよび第２のデバイスの機能とそれぞれ互換性のある第１の適合済みバージョンおよび第２の適合済みバージョンを探す段階とをさらに備えると好適である。
【００３４】
本発明の別の側面によると、複数のメディアファイルの元のバージョンおよび適合済みバージョンをインテリジェントキャッシュするメディアキャッシュシステムであって、コンピュータ可読媒体に格納されるメディアファイルリポジトリであって、複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンを含み、各適合済みバージョンは、複数のトランスコードプロフィールのうちのいずれかに応じて複数の元のバージョンのうちのいずれかから適合されるメディアファイルリポジトリと、コンピュータ可読媒体に格納されたコンピュータ可読ソフトウェアプログラムコード手段を含むデータベースエンジンであって、コンピュータ可読ソフトウェアプログラムコード手段はプロセッサに実行されると、メディアファイルリポジトリと、署名リポジトリと、メディアキャッシュシステムがキャッシュするマルチメディアメッセージを搬送するリンクとにアクセスして、メディアファイル各々の署名に基づいてインデックススキーマを維持することにより複数の元のバージョンと複数の適合済みバージョンとを記録するデータベースエンジンとを備えるメディアキャッシュシステムが提供される。
【００３５】
このメディアキャッシュシステムにおいて、メディアファイルの各々のダイジェスト関数（例えば標準メッセージダイジェスト５（ＭＤ５）関数）を計算することによりプロセッサにより生成される。
【００３６】
このメディアキャッシュシステムにおいて、複数のトランスコードプロフィールは、メディアファイルを受信する機能を有する少なくとも１種類のデバイスのトランスコードプロフィールを含む。
【００３７】
本発明のまた別の側面によると、リンクを介して受信したソースメディアファイルを、宛先デバイスの機能に応じた適合済みバージョンへと適合させる適合サーバであって、適合を行うプロセッサと、複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンをインテリジェントキャッシュするメディアキャッシュとを備え、メディアキャッシュは、複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンを含み、各適合済みバージョンは、複数のトランスコードプロフィールのうちのいずれかに応じて複数の元のバージョンのうちのいずれかから適合されるメディアファイルリポジトリと、複数の元のバージョンおよび複数の適合済みバージョンの署名を含む署名リポジトリと、データベースエンジンであって、コンピュータ化独媒体に格納されたコンピュータ可読ソフトウェアプログラムコード手段を含み、コンピュータ化独媒体に格納されたコンピュータ可読ソフトウェアプログラムコード手段はプロセッサにより実行されると、メディアファイルリポジトリと、署名リポジトリと、メディアキャッシュシステムがキャッシュするマルチメディアメッセージを搬送するリンクとにアクセスし、複数のメディアファイルの各々の署名に基づいてインデックススキーマを維持することにより複数の元のバージョンおよび複数の適合済みバージョンを記録するデータベースエンジンとを備える適合サーバが提供される。
【００３８】
本発明のさらなる側面によると、第１のデバイスから第２のデバイスへ元のマルチメディアメッセージを転送する方法であって、各デバイスは、メディアキャッシュを持つ適合サーバを介したトランスコードプロフィールにより特徴付けられ、方法は、（ａ）元のマルチメディアメッセージをサービスセンタから受信する段階と、（ｂ）元のメッセージを、第１のトランスコードプロフィールに応じて第１の適合済みメッセージにトランスコードする段階と、（ｃ）第１の適合済みメッセージを第１のデバイスへ送信する段階と、（ｄ）元のマルチメディアメッセージをメディアキャッシュに格納する段階と、（ｅ）第１の適合済みメッセージと第１のトランスコードプロフィールとをメディアキャッシュに格納する段階と、（ｆ）第１の適合済みメッセージを第１のデバイスから受信する段階と、（ｇ）第２の適合済みメッセージを生成する段階と、（ｈ）第２の適合済みメッセージを第２のデバイスへ送信する段階とを備える方法が提供される。
【００３９】
上述の方法において、段階（ｆ）は、さらに、メディアキャッシュに格納されている第１のトランスコードプロフィールと、第１の適合済みメッセージと、格納されている元のメッセージとを探す段階を有し、段階（ｇ）は、さらに、第１のトランスコードプロフィールと第２のトランスコードプロフィールとが同一である場合に、トランスコードの代わりに、第１の適合済みメッセージをコピーして第２の適合済みメッセージを生成する段階と、第１のトランスコードプロフィールと第２のトランスコードプロフィールとが同一ではない場合に、第２のトランスコードプロフィールに応じて元のメッセージを第２の適合済みメッセージにトランスコードする段階とを有する。
【００４０】
段階（ｇ）は、さらに、メディアキャッシュに格納されている元のマルチメディアメッセージと比較して、受信した第１の適合済みメッセージに追加されている部分を判断する段階と、元のマルチメディアメッセージに追加されている部分を足し合わせたものを、第２の適合済みメッセージへとトランスコードする段階とを有すると好適である。
【００４１】
上述の方法において、段階（ｄ）は、さらに、元のマルチメディアメッセージの署名を計算して格納する段階を有し、段階（ｅ）は、さらに、第１の適合済みメッセージの署名および第１のトランスコードプロフィールの署名を計算する段階を有し、段階（ｆ）は、さらに、第１のトランスコードプロフィールと、第１の適合済みメッセージと、格納されている元のメッセージとを探し出すべく格納されてる署名を利用する段階を有すると好適である。
【００４２】
本発明のさらなる側面によると、第１のデバイスから第２のデバイスへ元のメッセージを、メディアキャッシュを持つ適合サーバにより転送する方法であって、（ａ）元のマルチメディアメッセージをサービスセンタから受信する段階と、（ｂ）元のメッセージのコンポーネントを、第１のトランスコードプロフィールに応じて第１の適合済みメッセージにトランスコードする段階と、（ｃ）第１の適合済みメッセージを第１のデバイスへ送信する段階と、（ｄ）元のマルチメディアメッセージのコンポーネントとメディアファイルのコンポーネントの署名とをメディアキャッシュに格納する段階と、（ｅ）第１の適合済みメッセージと第１のトランスコードプロフィールとをメディアキャッシュに格納する段階と、（ｆ）第１の適合済みメッセージを第１のデバイスから受信する段階と、（ｇ）第２の適合済みメッセージを生成する段階と、（ｈ）第２の適合済みメッセージを第２のデバイスへ送信する段階とを備える方法が提供される。
【００４３】
段階（ｆ）は、さらに、メディアキャッシュに格納されている第１のトランスコードプロフィールと、第１の適合済みメッセージと、格納されている元のメッセージとを探す段階を有し、段階（ｇ）は、さらに、第１のトランスコードプロフィールと第２のトランスコードプロフィールとが同一である場合に、トランスコードの代わりに、第１の適合済みメッセージをコピーして第２の適合済みメッセージを生成する段階と、第１のトランスコードプロフィールと第２のトランスコードプロフィールとが同一ではない場合に、第２のトランスコードプロフィールに応じて元のメッセージを第２の適合済みメッセージにトランスコードする段階とを有すると好適である。
【００４４】
段階（ｄ）は、さらに、元のマルチメディアメッセージのコンポーネントの署名を計算して格納する段階を有し、段階（ｅ）は、さらに、第１の適合済みメッセージの署名および第１のトランスコードプロフィールの署名を計算する段階を有し、段階（ｆ）は、さらに、第１のトランスコードプロフィールと、第１の適合済みメッセージと、格納されている元のメッセージのメディアファイルのコンポーネントとを探し出すべく格納されてる署名を利用する段階を有すると好適である。
【００４５】
本発明のまた別の実施形態によると、元のメディアファイルを適合済みメディアファイルに適合させ、適合済みメディアファイルのうち適切なものを複数のデバイス各々に送信する方法であって、（ａ）サーバセンタから元のメディアファイルを受信する段階と、（ｂ）元のメディアファイルをメディアキャッシュに格納する段階と、（ｃ）第１のデバイス用のトランスコードプロフィールを決定する段階と、（ｄ）メディアキャッシュのトランスコードプロフィールに応じて元のメディアファイルに対応する適合済みメディアファイルを探し、もしくは、トランスコードプロフィールにより適合済みメディアファイルに元のメディアファイルをトランスコードしてメディアキャッシュに格納する段階と、（ｅ）適合済みメディアファイルを第１のデバイスへ送信する段階と、（ｆ）段階（ｃ）から（ｅ）を各デバイスに対して繰り返す段階とを備える方法が提供される。
【００４６】
段階（ｂ）、（ｃ）、（ｄ）は、元のメディアファイルの署名と、適合済みメディアファイルの署名と、トランスコードプロフィールの署名とを計算する段階と、計算された各署名を、元のメディアファイル、適合済みメディアファイル、およびトランスコードプロフィールそれぞれを格納および取得する際のインデックスとして利用する段階とを有する。
【００４７】
本発明のまた別の側面によると、第１のデバイスから第２のデバイスへマルチメディアメッセージを送信する方法であって、第１の適合プロフィールを有する第１のデバイスでマルチメディアメッセージを受信する段階と、マルチメディアメッセージを第１のデバイスから、第２の適合プロフィールを有する第２のデバイスへ転送する段階とを備え、受信する段階は、マルチメディアメッセージを第１の適合プロフィールに応じて第１の適合済みメッセージに適合させる段階と、第１の適合済みメッセージを第１のデバイスへ送信する段階と、マルチメディアメッセージと第１の適合済みメッセージとをメディアキャッシュに格納する段階とを有し、転送する段階は、第１の適合プロフィールと第２の適合プロフィールとが一致することを条件に、メディアキャッシュから第１の適合済みメッセージを取得して第２のデバイスへ送信する段階と、マルチメディアメッセージをメディアキャッシュから取得する段階と、取得されたマルチメディアメッセージを第２の適合プロフィールに応じて第２の適合済みメッセージに適合させる段階と、第２の適合済みメッセージを第２のデバイスに送信する段階と、第２の適合済みメッセージをメディアキャッシュに格納する段階とを有する方法が提供される。
【図面の簡単な説明】
【００４８】
以下に、添付図面を参照しながら本発明の実施形態を例示する。
【図１】先行技術のＭＭＳシステムアーキテクチャ１００の例を示す。
【図２】ＭＭＳシステムアーキテクチャ１００を含む先行技術の拡張ＭＭＳシステムアーキテクチャ２００の一例を示す。
【図３】本発明の一実施形態の適合データフロー図３００を示す。
【図４】本発明の一実施形態の一般的なシステムダイアグラム４００を示す。
【図５】図４の一般的なシステム４００に適用される一般的な利用例のフローチャート５００である。
【図６】図５のステップ５０２（デバイス「Ａ」４０８が新たなメッセージを受信する）を拡張するフローチャートである。
【図７】図６のステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合する）を拡張するフローチャートである。
【図８】図５のステップ５０４（デバイス「Ａ」が適合済みメッセージをデバイス「Ｂ」へ転送する）を拡張するフローチャートである。
【図９】図８のステップ８１０（Ｐ／Ａ「ＩＩ」がトランスコーダ「ＩＩ」を利用してメッセージを適合する）を拡張するフローチャートである。
【発明を実施するための形態】
【００４９】
上述の欠陥を克服するべく、再度利用される可能性の高い一時記憶用のコンピュータメモリのブロックである中央メディアキャッシュを、元のメッセージおよび適合されたメッセージ両方のキャッシュ用に導入する。これにより、たとえ元のメッセージに、第１の受信者のデバイス（第１のデバイス）の要件を満たすための適合が必要であった場合（および、例えばサイズおよび解像度を低減させる必要があった場合）であっても、そのメッセージを、情報品質を損なうことなく転送することができる。他の利点も提供されるが、本発明の目的の１つは、転送されたメッセージの受信者に対して、第１の受信者が実際に受信した適合済みメッセージに基づくのではなくて、元のメッセージに基づくことにより新たに適合されたメッセージの受信を可能とさせることである。これは、転送されたメッセージを表示するデバイス（第２のデバイス）の機能が第１のデバイスのものを上回る場合には特に重要である。
【００５０】
図３は、適合データフロー図３００を示し、これは、ソースメディア３０２、適合済みメディア３０４、コンピュータ可読媒体に記憶されるコンピュータ可読コードを含む適合機能３０６、およびメディアキャッシュ３０８を含んでおり、これらは本発明の一実施形態の基本部材を示している。
【００５１】
７つのデータフローの矢印は以下を示している（データフロー３１０から３２２）：（１）ソースメディア３０２が適合機能３０６に入力されうる（ソースメディアから適合へのフロー３１０）、（２）ソースメディア３０２が適合済みメディア３０４に直接入力されうる（適合バイパスフロー３１２）、（３）キャッシュメディア３０２がメディアキャッシュ３０８に入力されうる（ソースメディアからキャッシュへのフロー３１４）、（４）キャッシュされたメディアをメディアキャッシュ３０８から適合機能３０６へ送信しうる（キャッシュから適合へのフロー３１６）、（５）適合済みメディアを適合機能３０６からメディアキャッシュ３０８へ送信しうる（適合からキャッシュへのフロー３１８）、（６）適合済みメディアを適合機能３０６から適合済みメディア３０４へ送信しうる（適合から適合済みメディアへのフロー３２０）、および、（７）キャッシュされたメディアをメディアキャッシュ３０８から適合済みメディア３０４へ送信しうる（キャッシュから適合済みメディアへのフロー３２２）。
【００５２】
言い換えると、適合データフロー図３００は、ソースメディア３０２が適合機能３０６へ入力される可能性（フロー３１０）、メディアキャッシュ３０８へ入力される可能性（フロー３１４）、および、適合済みメディア３０４を、適合バイパスフロー３１２を介して直接ソースメディア３０２から、適合機能３０６から（フロー３２０）、または、メディアキャッシュ３０８から（フロー３２２）取得する可能性を示している。適合機能３０６の出力もメディアキャッシュ３０８に入力されうる（フロー３１８）。さらに、メディアキャッシュ３０８は、メディアを適合機能３０６に送信しうる（フロー３１６）。
【００５３】
メディアファイルリポジトリ３２４、署名リポジトリ３２６、およびデータベースエンジン３２８がメディアキャッシュ３０８に記憶されうる。
【００５４】
ソースメディア３０２は、元のメディア、および、既に適合済みの転送されたメディアを含む。適合バイパスフロー３２０は、さらなる適合を要さずに適合済みメディア３０４となるソースメディア３０２を直接送信する機能を有してよい。
【００５５】
適合機能３０６は、トランスコードプロフィールを利用してソースメディア３０２を適合済みメディア３０４にトランスコードするコンピュータ可読コードを含む。適合機能３０６はさらに、メディアに対して、フィルタリング、ウィルス除去、強調、変換するためのコンピュータ可読コードを含むこともできる。
【００５６】
メディアキャッシュ３０８は、元のメディアファイルおよび適合済みメディアファイル両方をメディアファイルリポジトリ３２４に記憶および取得する機能を有する。一般的にメディアファイルはマルチメディアメッセージの個々のコンポーネントである。
【００５７】
メディアファイルは、元のメディアファイルのコンテンツおよび適合済みメディアファイルのコンテンツから得た署名、および、強調パラメータまたは変換パラメータからプロフィールおよび署名をトランスコードすることで得られた署名を付してメディアキャッシュ３０８に記憶される。署名は、http://tools.ietf.org/html/rfc1321から情報入手可能なメディアダイジェスト５、仕様ＲＦＣ１３２１に記載されているメディアダイジェスト５（ＭＤ５）規格に定義されているもののようなハッシュアルゴリズムによりデータから生成されることが望ましい。署名は署名リポジトリ３２６に記憶され、データベースエンジン３２８により鍵として利用されることで、関連する記憶メディアファイルが迅速に取得される。記憶されている署名（鍵）を新たに得たソースメディア３０２の署名と照合することで、既に適合済みのメディアファイルがメディアキャッシュ３０８内に存在するか否かを判断することもでき、さらに、既に適合済みのメディアファイルに対応する元々キャッシュされている（ソース）メディアファイルを探すこともできる。メディアキャッシュ３０８は、例えばＭｙＳＱＬ（http://www.mysql.org/から情報入手可能な関連データベースシステム（ＲＤＢＳ）参照のこと）等の、メディアファイル用のディスク記憶装置および署名リポジトリ３２４および３２６を有してデータベースエンジン３２８の処理を受ける関連データベース管理システム（ＤＢＭＳ）に実装されると好適であろう。
【００５８】
メディアキャッシュ３０８はさらに、トランスコードプロフィール、メッセージ処理（「強調」）設定、およびキャッシュされることが望ましいマルチメディアメッセージ適合に関する他のデータ用のさらなるリポジトリを、適宜、提供してもよい。
【００５９】
さらに、個々のメディアファイルおよびそれらに関連するデータを署名（データベース鍵として利用される）により取得する機能については、メディアキャッシュ３０８に構築される関連データベースが、元のバージョンおよびトランスコードプロフィールを参照することによる（つまり署名）適合済みメディアファイルの関連付けおよび取得を可能とする。例えば、任意の元のメディアファイルの既に適合済みのバージョンのリストは、データベースクエリーにより簡単に取得することができる。より複雑なクエリーでは、先ず任意の元のメディアファイルを、特定の受信されたソースメディアファイル内から探し、この任意の元のメディアファイルの既に適合済みのバージョンのリストを取得して、最後にこのリストから、トランスコードプロフィールが所望のプロフィールに適合する特定の適合済みのバージョンを選択することで、特定のデバイスの機能を満たす必要がありうる適合済みバージョンを探す。
【００６０】
以下の第１から第８の利用例は、適合データフロー図３００に示す機能の一部の利用例である。これらの例は、本発明の利用例の幾つかを示したにすぎず、本発明を制限する意図はなく、本発明は、強力なメディアファイル用データベースであるメディアキャッシュ３０８に基づき、メディアキャッシュ３０８メモリに記憶され、データベース鍵として利用されるファイルおよびデータ署名でインデックス化される、他の多くの利用例を可能とする。
【００６１】
＜全ての種類のメディアに利用可能である第１から第５の利用例＞
［第１の利用例  −  基本的なメディア適合］
この基本的な例では、受信されたメディアファイル（ソースメディア３０２）を、特定の発信先デバイス用に適合機能３０６で適合し（データフロー３１０および３２０）、ここではソースメディア３０２はまだこの種類のデバイスへの適合がなされておらず、メディアキャッシュ３０８からは利用可能ではない。従ってソースメディア３０２を適合機能３０６で適切なプロフィールによって適合済みメディア３０４に適合させる。ソースメディア３０２および適合済みメディア３０４は、メディアキャッシュ３０８内に投機的に記憶され（それぞれデータフロー３１４および３１８）、別の利用例での後の再利用に備えさせる（例えば第２の利用例）。
【００６２】
［第２の利用例  −  同じプロフィールで既に適合済みのメディア］
メディアファイル（ソースメディア３０２）が既に特定のデバイス用に適合済みでありメディアキャッシュ３０８に記憶されており、メディアキャッシュ３０８から入手可能であって類似したデバイスが同じメディアファイルを要求している場合には、適合済みメディア３０４は、適合機能３０６を起動させることなく、メディアキャッシュ３０８から取得されうる。
【００６３】
［第３の利用例  −  バルクメディアが送られる］
同じメディアファイルが多数の対象に送られる場合、発信先デバイスの種類毎に一度だけ適合が行われる。適合済みバージョンはメディアキャッシュ３０８に記憶されて、同じ種類のデバイスを利用する他の発信先での再利用に備えられる。実装は上述の第２の利用例と同等である。
【００６４】
［第４の利用例  −  低品質の添付を有するメディアを高品質デバイス用に適合する］
メディアファイル（ソースメディア３０２）が、転送電話のデバイス機能により元のものから適合済みの転送されたメディアファイルであり、このメディアファイルが、高機能の発信先デバイスへ転送される場合には、元の高品質メディアファイルは、キャッシュから適合へのフロー３１６によりメディアキャッシュ３０８から取得され、適合機能３０６による適合を受けた後で、適合済みメディア３０４として発信先デバイスへと送られてよい。
【００６５】
［第５の利用例  −  オフネットで修正または適合済みメディア］
メディアファイル（ソースメディア３０２）が取得され、これが別のネットワークで既に適合または修正済みである場合には、明らかに署名が変更されているので、現在のネットワークで、既に適合済みのメディアファイルまたは元のメディアファイルに再度関連付けること、または相関付けることはできない。この場合には、修正済みのソースメディアファイルを新たな元のメディアファイルとして考える。
【００６６】
＜ＭＭＳに特有である第６から第８の利用例＞
署名（例えばＭＤ５チェックサム）をメッセージ全体（ヘッダおよび本体）から計算する場合には、それに対するキャッシュのヒットがあることは非常に考え難い、というのはＭＭＳヘッダの日付スタンプおよびメッセージ識別子は固有だからである。故に、署名をメッセージの複数のパーツからなる本体（つまり、ＭＭＳヘッダを除いた、メッセージ本体に含まれるデータのみ）から生成する必要がある。ＭＭＳメッセージの本体（データ）のみをキャッシュに記憶して、ヘッダについては、キャッシュされたメディアファイルをキャッシュから取得する際に別途再構築する。
【００６７】
［第６の利用例  −  メッセージが適合済み］
ゼロ以上の添付を有するＭＭＳメッセージが、同じプロフィールで既に適合済みである場合、適合済みメッセージ本体（メインヘッダを除く）を、メディアキャッシュ３０８から取得することができ、メッセージヘッダに、入力メッセージを反映するよう変更を加えてよい。
【００６８】
［第７の利用例  −  バルクメッセージ送信］
同一のＭＭＳメッセージを多数の発信先デバイスに送る場合、デバイスの種類毎に一度だけ適合が行われる。適合済みバージョン（ＭＭＳヘッダを有さず、本体のみ）は、キャッシュに記憶され、同じ種類のデバイスを利用した他の対象への再利用に備えさせる。これは第２の利用例と同様である。
【００６９】
［第８の利用例  −  新たなコンポーネントを元のメッセージに追加する］
元のメッセージが、メッセージの転送を推奨（encourage）するような部分を含む広告メッセージであることが分かっている場合、および、トランスコードプラットフォームが、元のメッセージに比して新たなまたはさらなる部分を含む転送メッセージを適合する場合、元のメッセージをメディアキャッシュから取得して、適合処理前にさらなるコンポーネントを追加することができる。メッセージの「推奨」は、モバイルオペレータが（広告メッセージの送信を希望する第三者企業／プロバイダとの協働により）、自身が受信する広告ＭＭＳメッセージを転送する加入者に対して報奨を与えることにより行われてよい。加入者は、これらメッセージに修正を加え、修正が加えられたメッセージを転送することができるが、元のＭＭＳメッセージから失われた、削除された、または修正された部分は、元のメッセージの整合性を保護するべく再度加えられ、一方では転送者が加えた新たなコンテンツも維持される。
【００７０】
適合済みメッセージ転送の一般的な利用例については、システム図（図４）およびフローチャート（図５）を参照しながら後述する。
【００７１】
図４は、第１の発信先「Ａ」用に適合された第１のメッセージを処理し、後に第２の発信先「Ｂ」に転送するステップを含む一般的な利用例を示すのに利用される一般的なシステムダイアグラム４００を示す。
【００７２】
一般的なシステムダイアグラム４００は、それぞれがプロセッサおよびメモリを有する第１および第２の適合サーバコンピュータ４０２および４０４（第１および第２の適合サーバ４０２および４０４と称されることもある）と、メディアキャッシュ３０８（図３参照）と、プロセッサおよびメモリを有するマルチメディアサービスセンタコンピュータ（サービスセンタ）４０６と、第１のデバイス「Ａ」４０８と、第２のデバイス「Ｂ」４１０とを含む。
【００７３】
第１の適合サーバ４０２は、第１の適合サーバ４０２のメモリに記憶されているコンピュータ可読コードを有し適合機能を提供する第１のトランスコーダノード「Ｉ」４１６と、第１の適合サーバ４０２のメモリに格納されるコンピュータ可読コードを有する第１のプロトコルアダプタ（Ｐ／Ａ）「Ｉ」４１８とを含む。これと対応して、第２の適合サーバ４０４は、第２のトランスコーダノード「ＩＩ」４２０と、第２の適合サーバ４０４のメモリにコンピュータ可読コードを有する第２のプロトコルアダプタ（Ｐ／Ａ）「ＩＩ」４２２とを含む。メディアキャッシュ３０８は、好適には第１の適合サーバ４０２に配置される。または、メディアキャッシュ３０８は、第２の適合サーバ４０４内に配置されてよく、もしくは例えば独立した記憶サーバ（不図示）に配置されてもよい。
【００７４】
第１および第２のプロトコルアダプタＰ／Ａ「Ｉ」４１８およびＰ／Ａ「ＩＩ」４２２は、http://www.3gpp.org/ftp/Specs/html-info/23140.htmにおける３ＧＰＰ機構のＴＳ２３．１４０の３ＧＰＰにより定義されるＭＭ１仕様の実装を提供してよいが、他のプロトコルの実装も、本発明の範囲に含まれる（例えば、上述のオープンモバイルアライアンスの文献であるOMA-AD-STI-V1_0-20270515-A「Architecture of the Environment using the Standard Transcoding Interface"承認版1.0  ２００７年５月１５日付」に記載されている「Architecture of the Environment using the Standard Transcoding Interface」に記載されている「Standard Coding Interface」（ＳＴＩ）；http://www.3gpp.org/ftp/Specs/html-info/23140.htmにおける３ＧＰＰ機構のＴＳ２３．１４０の３ＧＰＰにより定義されるＭＭ３（マルチメディアメッセージングインタフェース、バージョン３）、および、http://www.3gpp.org/ftp/Specs/html-info/23140.htmにおける３ＧＰＰ機構のＴＳ２３．１４０の３ＧＰＰにより定義されるＭＭ４（マルチメディアメッセージングインタフェース、バージョン３および４）；http://www.3gpp.org/ftp/Specs/html-info/23140.htmにおける３ＧＰＰ機構のＴＳ２３．１４０の３ＧＰＰにより定義されるＭＭ７（マルチメディアメッセージングインタフェース、バージョン７）；および、http://www.ietf.org/rfc/rfc3507.txtから、およびhttp://www.i-cap.org/のＩＣＡＰフォーラムから情報入手可能であるコメント要求（ＲＦＣ）３５９７に記載されているＩＣＡＰ（インターネットコンテンツ適合プロトコル）；およびＥＡＩＦ（外部アプリケーションインタフェース）、上で引用した「Internet Content Adaptation Protocol」文献を参照のこと、これはノキア・コーポレーション製造のマルチメディアメッセージングサービスセンタ固有にインタフェースである、さらにＥＡＩＦプロトコルについては、http://www.forum.nokia.com/info/sw.nokia.com/id/d0ee4125-3879-4482-b55d-90e3afe17a31/Ext_App_Interface_FAQ.pdf.htmlから情報入手可能なＥＡＩＦプロトコル参照のこと）。
【００７５】
しかし、これらその他の仕様を互いに異なるネットワークアーキテクチャに利用することがある。ここで詳しい例として示すアーキテクチャでは、ＭＭ１のみがプロキシとなり、デバイスとサービスセンタとの間のトランスコードを行う。ＳＴＩについては、例えば、いずれのアプリケーションもがトランスコード要求を送ることができる（通常は直接サービスセンタに送る）。上で引用したその他のプロトコル仕様は、ＭＭ１とは異なるコンテキストに利用され、本例に関する図には反映されていない。
【００７６】
一般的なシステムダイアグラム４００の部材間のメッセージリンクには、第１のデバイス「Ａ」４０８と第１のＰ／Ａ「Ｉ」４１８との間のリンク４２４；第１のＰ／Ａ「Ｉ」４１８とサービスセンタ４０６との間のリンク４２６；第１のデバイス「Ａ」４０８とサービスセンタ４０６との間の直接リンク４２８；第２のデバイス「Ｂ」４１０と第２のＰ／Ａ「ＩＩ」４２２との間のリンク４３０；第２のＰ／Ａ「ＩＩ」４２２とサービスセンタ４０６との間のリンク４３２；第２のデバイス「Ｂ」４１０とサービスセンタ４０６との間の直接リンク４３４；第１のトランスコーダノード「Ｉ」４１６とメディアキャッシュ３０８との間のリンク４３８；および第２のトランスコーダノード「ＩＩ」４２０とメディアキャッシュ３０８との間のリンク４４２が含まれる。
【００７７】
これらリンク４２４から４４２は、後述するようにＨＴＴＰ等のネットワークを利用してＭＭＳメッセージその他のメッセージを搬送する従来のネットワークリンク（例えば無線ネットワークリンク）として実装することができる。
【００７８】
サービスセンタ４０６は、端末間（例えば、それぞれ参照番号４０８および４１０を付された第１および第２のデバイス「Ａ」および「Ｂ」）の基本的なメッセージング接続サービスを提供する標準呼び出し制御ノードであってよい。サービスセンタ４０６の一例は、デバイスおよびトランスコードサーバ両方としての機能が可能なマルチプルインタフェースを有しうるモバイルオペレータシステムのＭＭＳサーバであってよい。第１および第２の適合サーバ４０２および４０４は、サービスセンタ４０６のプロキシとして利用されるサービスセンタ４０６と同等の機能を有するインタフェースを提供するトランスコードプラットフォームの例である。
【００７９】
第１および第２のデバイス「Ａ」および「Ｂ」（４０８および４１０）は、マルチメディアモバイル電話（セルラー式電話）等の無線デバイスであってよい。しかし、本発明の範囲においては、各デバイスはセルラー式電話である必要はなく、任意の他の種類のハンドセット、通常のコンピュータ、またはテレビ受像機であってもよい。従って各リンク４２４、４２６、４２８、４３０、４３２および４３４（第１および第２のデバイス「Ａ」および「Ｂ」を、サービスセンタ４０６および第１および第２の適合サーバ４０２および４０４と結合する）が、無線ネットワークリンク、インターネット接続形式の仮想リンク、または個々のデバイス（それぞれ第１および第２のデバイス「Ａ」または「Ｂ」である）でサポートされている任意の他の種類のリンクとして実装されてよい。
【００８０】
第１のトランスコーダノード「Ｉ」４１６は、第１の適合サーバ４０２の適合機能を提供し、リンク４３８を介してメディアキャッシュ３０８と通信する。同様に、第２の適合サーバ４０４の第２のトランスコーダノード「ＩＩ」４２０は、リンク４４２を介してメディアキャッシュ３０８と通信する。
【００８１】
図５は、図４の一般的なシステム４００に適用される一般的な利用例のフローチャート５００である。フローチャート５００は、１人のユーザ（第１のデバイス「Ａ」４０８）が、自身用に適合が必要な新たな元のメッセージを受信し（ステップ５０２：デバイス「Ａ」４０８が新たなメッセージを受信する）、後にそのメッセージを、異なるデバイス種類であってよい別のユーザに転送する（ステップ５０４：デバイス「Ａ」４０８がメッセージをデバイス「Ｂ」４１０に転送する）、という典型的なシナリオにおける２つのステップを示す。各ステップでは、メッセージを適合させ、各適合要求を異なるトランスコーダノード（本例における）に送ることができ、つまり、第１のデバイス「Ａ」４０８は、適合要求を第１の適合サーバ４０２の第１のトランスコーダノード「Ｉ」４１６に送り、一方で、第２のデバイス「Ｂ」４１０が、第２の適合サーバ４０４の第２のトランスコーダノード「ＩＩ」４２０に適合要求を送ることができる。ステップ５０２および５０４は以下の図面のように拡張される。
【００８２】
図６は、図５のステップ５０２（デバイス「Ａ」４０８が新たなメッセージを受信する）を以下のように拡張するフローチャートである。  つまり、ステップ６０２（「Ａ」への新たなメッセージがサービスセンタに到着する）；ステップ６０４（「Ａ」がサービスセンタの通知を受ける）；ステップ６０６（「Ａ」がＰ／Ａ「Ｉ」を介してサービスセンタに要求を送る）；ステップ６０８（Ｐ／Ａ「Ｉ」がサービスセンタからメッセージを取得する）；ステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合する）；ステップ６１２（Ｐ／Ａ「Ｉ」が第１の適合済みメッセージを「Ａ」に戻す）。
【００８３】
ステップ６０２（「Ａ」への新たなメッセージがサービスセンタに到着する）では、第１のデバイス「Ａ」４０８に向けられた新たな元のメッセージがサービスセンタ４０６で受信される。
【００８４】
ステップ６０４（「Ａ」がサービスセンタの通知を受ける）では、サービスセンタ４０６は、リンク４２８を介して第１のデバイス「Ａ」４０８に通知を送り、新たなメッセージが利用可能であることを告げる。
【００８５】
ステップ６０６（「Ａ」がＰ／Ａ「Ｉ」を介してサービスセンタに要求を送る）では、第１のデバイス「Ａ」４０８が、第１のＰ／Ａ「Ｉ」４１８を介し、リンク４２４および４２６を介して第１のサービスセンタ４０６に要求を送り、新たなメッセージを取得する。
【００８６】
ステップ６０８（Ｐ／Ａ「Ｉ」がサービスセンタからメッセージを取得する）では、第１のデバイス「Ａ」４０８用の（新たな）元のメッセージを、第１のＰ／Ａ「Ｉ」４１８が、リンク４２６を介してサービスセンタ４０６から取得する。今は、元のメッセージが、第１のトランスコーダノード「Ｉ」４１６を含む第１の適合サーバ４０２で利用可能である。
【００８７】
ステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合する）では、第１のＰ／Ａ「Ｉ」４１８は、第１のトランスコーダノード「Ｉ」４１６を利用して、元のメッセージを第１の適合済みメッセージに適合する。ステップ６１０はさらに以下の図７のように拡張される。
【００８８】
図７は、図６のステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合する）を以下のように拡張するフローチャートである。  ステップ７０２（ソースメディアの署名を計算する）；ステップ７０４（ソースメディアの元のバージョンをキャッシュから探す）；ステップ７０６（適合済みバージョンをキャッシュから探す）；ステップ７０８（元のバージョンはキャッシュに見つかった？）；ステップ７１０（キャッシュされている元のバージョンの適合を行う）；ステップ７１１（ソースメディアをキャッシュに元のメディアとして追加する）；ステップ７１２（ソースメディアの適合を行う）；ステップ７１４（第１の適合済みメディアの署名を計算する）；ステップ７１６（第１の適合済みメディアをキャッシュに追加する）。
【００８９】
マルチメディアメッセージを適合させる際には、メッセージのメディアコンポーネントが変換または適合の対象となり、以下では「メディアファイル」と総称することとする。
【００９０】
ステップ７０２（ソースメディアの署名を計算する）では、第１の適合サーバ４０２の第１のトランスコーダノード「Ｉ」４１６が、サービスセンタ４０６からのメッセージを利用して（図６のステップ６０８）、ソースメディアファイルに固有の署名を計算する。
【００９１】
ステップ７０４（ソースメディアの元のバージョンをキャッシュから探す）では、ステップ７０２で取得した署名を利用して、第１のトランスコーダノード「Ｉ」４１６が、リンク４３８を介してメディアキャッシュ３０８（図４）のメディアファイルの元のバージョンを探す。
【００９２】
ステップ７０６（適合済みバージョンをキャッシュから探す）では、第１のトランスコーダノード「Ｉ」４１６が、メディアキャッシュ３０８から、対象となるデバイス（デバイス「Ａ」４０８）に特有のメディアファイルの第１の適合済みバージョンを探す。第１の適合済みバージョンが既存の場合（「発見」）、メディアファイルの第１の適合済みバージョンをメディアキャッシュ３０８から取得して、ステップ６１０が完了する（図７の「終了」へ移る）；その後、処理はステップ６１２へ進む（図６）。第１の適合済みバージョン（既存の場合）は、標準データベース技術により（例えば、メディアキャッシュ３０８に記憶されているメディアファイルの元のバージョンの全ての適合済みバージョンのリストのスキャンにより）メディアキャッシュ３０８から探すことができる。
【００９３】
メディアファイルの第１の適合済みバージョンがメディアキャッシュ３０８に発見されなかった場合（ステップ７０６の「発見されず」）、処理はステップ７０８へ進む。
【００９４】
ステップ７０８（元のバージョンはキャッシュに見つかった？）で、第１のトランスコーダノード「Ｉ」４１６は前のステップ７０４（ソースメディアの元のバージョンをキャッシュから探す）の結果をチェックして、元のメディアファイルのキャッシュされたコピーが存在するか否かを確かめる。存在する場合（ステップ７０８の「ＹＥＳ」）、この元のメディアファイルのコピーが、第１のトランスコーダノード「Ｉ」４１６により、メディアキャッシュ３０８から取得され、後続する適合ステップ７１０（キャッシュされている元のバージョンの適合を行う）で利用される。
【００９５】
ステップ７０８の結果が「ＮＯ」の場合、つまり、元のバージョンがキャッシュに発見されなかった場合には、サービスセンタ４０６がステップ６０８（上述の図６）で取得したメッセージ内のソースメディアファイルを、ステップ７１１（ソースメディアをキャッシュに元のメディアとして追加する）で、元のメディアファイルとしてキャッシュに記憶させ、ステップ７１２（ソースメディアの適合を行う）で適合させる。
【００９６】
このように、ステップ７１０および７１２で、第１のトランスコーダノード「Ｉ」４１６は、キャッシュされている元の、又はソースメディアファイルをそれぞれ、（１）第１のデバイス「Ａ」４０８の機能のプロフィール、（２）フィルタリング規則セット（フィルタリングが必要な場合）、および（３）指定されている強調動作、によりメディアファイルの第１の適合済みバージョンへと適合させる。
【００９７】
ステップ７１４（第１の適合済みメディアの署名を計算する）で、第１のトランスコーダノード「Ｉ」４１６は、第１の適合済みメディアファイルに固有の署名を計算する。
【００９８】
ステップ７１６（第１の適合済みメディアを追加する）で、第１のトランスコーダノード「Ｉ」４１６は、第１の適合済みメディアファイルをその鍵（つまり固有の署名）を利用してメディアキャッシュ３０８にセーブする。次に処理は、以下に示すステップ６１２（図６）へ進む。
【００９９】
図６に戻ると、ステップ６１２（Ｐ／Ａ「Ｉ」が第１の適合済みメッセージを「Ａ」に戻す）第１の適合済みメッセージ（第１の適合済みメディアファイルを含む）を、第１のＰ／Ａ「Ｉ」４１８およびリンク４２４を介して第１のデバイス「Ａ」４０８に送る。
【０１００】
図６および７をまとめると、第１のデバイス「Ａ」４０８は、サービスセンタ４０６から利用可能な元のメッセージの通知を受けると、このメッセージの取得要求を、サービスセンタ４０６のプロキシとして機能している第１のＰ／Ａ「Ｉ」４１８に対して発行する。第１のＰ／Ａ「Ｉ」４１８は、要求を傍受して、キャッシュ内に適切な適合が済んだメッセージが既存している場合以外は先ずは適合が必要な元のメッセージの既存のコピーを探してから、最終的には第１の適合済みメッセージを第１のデバイス「Ａ」４０８へ戻し、もしも元のメッセージがキャッシュに発見されなかった場合には、利用可能な元のメッセージを第１のトランスコーダノード「Ｉ」４１６により適合する。
【０１０１】
図８は、図５のステップ５０４（デバイス「Ａ」がメッセージをデバイス「Ｂ」へ転送する）を以下のように拡張するフローチャートである。  つまり、ステップ８０２（適合メッセージを「Ｂ」へ転送する）；ステップ８０４（「Ｂ」がサービスセンタから通知を受ける）；ステップ８０６（「Ｂ」が、Ｐ／Ａ「ＩＩ」を介してサービスセンタに要求を発行する）；ステップ８０８（Ｐ／Ａ「ＩＩ」がサービスセンタからメッセージを取得する）；ステップ８１０（Ｐ／Ａ「ＩＩ」がトランスコーダ「ＩＩ」を利用してメッセージを適合させる）；ステップ８１２（Ｐ／Ａ「ＩＩ」が第２の適合済みメッセージを「Ｂ」に戻す）。
【０１０２】
ステップ８０２（適合メッセージを「Ｂ」へ転送する）で、第１のデバイス「Ａ」４０８は、第１の適合済みメッセージを、リンク４２８を介してサービスセンタ４０６に送ることにより、別のユーザ（つまり第２のデバイス「Ｂ」４１０）へ転送する。第２のデバイス「Ｂ」４１０は、第１のデバイス「Ａ」とはデバイス種類が異なっていてよい。
【０１０３】
ステップ８０４（「Ｂ」がサービスセンタから通知を受ける）で、サービスセンタ４０６は、リンク４３４を介して第２のデバイス「Ｂ」４１０へ通知を送り、利用可能な「新たなメッセージ」が届いていることを告げる。この通知は実際には、転送された第１の適合済みメッセージのことであるが、第２のデバイス「Ｂ」４１０に関する限りにおいては、単に「新たな」メッセージと称する。
【０１０４】
ステップ８０６（「Ｂ」が、Ｐ／Ａ「ＩＩ」を介してサービスセンタに要求を発行する）では、第２のデバイス「Ｂ」４１０は、Ｐ／Ａ「ＩＩ」４２２を介して、およびリンク４３４および４３２を介して、サービスセンタ４０６に要求を発行して、「新たなメッセージ」を取得する。
【０１０５】
ステップ８０８（Ｐ／Ａ「ＩＩ」がサービスセンタからメッセージを取得する）では、第２のデバイス「Ｂ」４１０用の新たなメッセージが、第２のＰ／Ａ「ＩＩ」４２２により、リンク４３２を介してサービスセンタ４０６から取得される。このメッセージは、既に第１のデバイス「Ａ」４０８用に適合された第１の適合済みメッセージであり、今は、第２のデバイス「Ｂ」４１０に転送されているものであって、今、さらに第２のトランスコーダノード「ＩＩ」４２０を含む第２の適合サーバ４０４で利用可能となっている。
【０１０６】
ステップ８１０（Ｐ／Ａ「ＩＩ」がトランスコーダ「ＩＩ」を利用してメッセージを適合させる）では、第２のトランスコーダノード「ＩＩ」４２０が、第１の適合済みメッセージを第２の適合済みメッセージに適合させる。ステップ８１０はステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合する）、および、図７のそのサブステップ７０２から７０８に類似している。ステップ８１０は以下の図９のように拡張される。
【０１０７】
図９は、図８のステップ８１０（Ｐ／Ａ「ＩＩ」がトランスコーダ「ＩＩ」を利用してメッセージを適合する）を以下のように拡張するフローチャートである。つまり、ステップ９０２（入力メディアの署名を計算する）；ステップ９０４（キャッシュから入力メディアの元のバージョンを探す）；ステップ９０６（キャッシュ（ＩＩ）から適合済みバージョンを探す）；ステップ９０８（キャッシュ（ＩＩ）に元のバージョンは見つかった？）；ステップ９１０（キャッシュされている元のバージョンの適合（ＩＩ）を行う）；ステップ９１１（入力メディアをキャッシュに元のメディアとして追加する）；ステップ９１２（入力メディアの適合（ＩＩ）を行う）；ステップ９１４（第２の適合済みメディアの署名を計算する）；ステップ９１６（キャッシュに第２の適合済みメディアを追加する）。
【０１０８】
ステップ９０２から９１６（ステップ８１０Ｐ／Ａ「ＩＩ」のサブステップ）は、第２のトランスコーダ「ＩＩ」を利用してメッセージを適合させる。これらステップは、ステップ６１０（Ｐ／Ａ「Ｉ」がトランスコーダ「Ｉ」を利用してメッセージを適合させる）のサブステップであるステップ７０２から７１６と類似しているが、第１のトランスコーダノード「Ｉ」４１６の代わりに第２のトランスコーダノード「ＩＩ」４２０を用いて行われる。
【０１０９】
ステップ９０２（入力メディアの署名を計算する）では、第２の適合サーバ４０４の第２のトランスコーダノード「ＩＩ」４２０は、サービスセンタ４０６から受信したメッセージ（第１の適合済みメッセージ）（図６のステップ８０８）を利用して、入力メディアファイルに固有の署名を計算する。この署名は、メディアキャッシュ３０８から元のメディアファイル（つまり、第１の適合済みメッセージに適合される前のメッセージ）を探す際に利用される鍵である。
【０１１０】
ステップ９０４（キャッシュから入力メディアの元のバージョンを探す）では、ステップ９０２で取得した署名を利用して、第２のトランスコーダノード「ＩＩ」４２０が、リンク４４２を介してメディアキャッシュ３０８（図４）のメディアファイルの元のバージョンを探す。
【０１１１】
ステップ９０６（キャッシュ（ＩＩ）から適合済みバージョンを探す）では、第２のトランスコーダノード「ＩＩ」４２０が、メディアキャッシュ３０８から、対象となるデバイス（デバイス「Ｂ」４１０）に特有の元のメディアファイルの第２の適合済みバージョンを探す。既存の場合（「発見」）、元のメディアファイルの第２の適合済みバージョンをメディアキャッシュ３０８から第２の適合済みメディアファイルとして取得して、ステップ８１０が完了する（図９の「終了」へ移る）；その後、処理はステップ８１２へ進む（図８）。第２の適合済みバージョン（既存の場合）は、標準データベース技術により（例えば、メディアキャッシュ３０８に記憶されているメディアファイルの元のバージョンの全ての適合済みバージョンのリストのスキャンにより）メディアキャッシュ３０８から探すことができる。
【０１１２】
元のメディアファイルの第２の適合済みバージョンがメディアキャッシュ３０８に発見されなかった場合（ステップ９０６の「発見されず」）、処理は以下のようにステップ９０８へ進む。
【０１１３】
ステップ９０８（元のバージョンはキャッシュ（ＩＩ）に見つかった？）で、トランスコーダノード「ＩＩ」４２０は前のステップ９０４（キャッシュから入力メディアの元のバージョンを探す）の結果をチェックして、元のメディアファイルのキャッシュされたコピーが存在するか否かを確かめる。存在する場合（ステップ９０８の「ＹＥＳ」）、この元のメディアファイルのコピーが、トランスコーダノード「ＩＩ」４２０により、メディアキャッシュ３０８から取得され、後続する適合ステップ９１０（キャッシュされている元のバージョンの適合（ＩＩ）を行う）で利用される。
【０１１４】
ステップ９０８の結果が「ＮＯ」の場合、つまり、元のバージョンがキャッシュに発見されなかった場合には、サービスセンタ４０６がステップ８０８（上述の図８）で取得したメッセージ内の入力メディアファイルを、ステップ９１１（入力メディアをャッシュに元のメディアとして追加する）で、元のメディアファイルとしてキャッシュに記憶させ、ステップ９１２（ソースメディアの適合（ＩＩ）を行う）で適合させる。
【０１１５】
このように、ステップ９１０および９１２で、第１のトランスコーダノード「Ｉ」４１６は、キャッシュされている元の、又はソースメディアファイルをそれぞれ、（１）第２のデバイス「Ｂ」４１０の機能のプロフィール、（２）フィルタリング規則セット（フィルタリングが必要な場合）、および（３）指定されている強調動作、によりメディアファイルの第２の適合済みバージョンへと適合させる。
【０１１６】
ステップ９１４（第２の適合済みメディアの署名を計算する）では、第２のトランスコーダノード「ＩＩ」４２０が、第２の適合済みメディアファイルに固有の署名を計算する。
【０１１７】
ステップ９１６（キャッシュに第２の適合済みメディアを追加する）で、第２のトランスコーダノード「ＩＩ」４２０は、第２の適合済みメディアファイルをその鍵（つまり固有の署名）を利用してメディアキャッシュ３０８にセーブする。次に処理は以下に示すステップ８１２（図８）へ進む。
【０１１８】
図８に戻ると、ステップ８１２（Ｐ／Ａ「ＩＩ」が第２の適合済みメッセージを「Ｂ」に戻す）で、第２の適合済みメッセージ（第２の適合済みメディアファイルを含む）を、第２のＰ／Ａ「ＩＩ」４２２およびリンク４３０を介して第２のデバイス「Ｂ」４１０に送る。
【０１１９】
図８および９をまとめると、第２のデバイス「Ｂ」４１０は、サービスセンタ４０６から利用可能な入力メッセージの通知を受けると、このメッセージの取得要求を、サービスセンタ４０６のプロキシとして機能している第２のＰ／Ａ「ＩＩ」４２２に対して発行する。第２のＰ／Ａ「ＩＩ」４２２は、要求を傍受して、キャッシュ内に適切な適合が済んだメッセージが既存している場合以外は先ずは適合が必要な入力メッセージに対応する元のメッセージの既存のコピーを探してから、最終的には第２の適合済みメッセージを第２のデバイス「Ｂ」４１０へ戻し、もしも元のメッセージがキャッシュに発見されなかった場合には、入力メッセージを第２のトランスコーダノード「ＩＩ」４２０により適合する。
【０１２０】
ステップ５０２（デバイス「Ａ」４０８が新たなメッセージを受信する）および５０４（デバイス「Ａ」４０８が適合済みメッセージをデバイス「Ｂ」４１０へ転送する）の両方は、２つの同等のサブステップシリーズへと拡張される。一方のサブステップシリーズ（ステップ６０２から６１２、および、７０２から７１４）は、第１のデバイス「Ａ」４０８を宛先とする新たな受信メッセージに対して行うステップを表す。他方のサブステップシリーズ（ステップ８０２から８１２、および、９０２から９１４）は、第２のデバイス「Ｂ」４１０を宛先とする転送メッセージに対して行うステップを表す。第１および第２のトランスコーダノード（４１６および４２０）は、同じメディアキャッシュ３０８にアクセスして、メッセージの格納および取得を行う。通常は、対象となるデバイス種類に適切な適合済みバージョンを単に利用すること（キャッシュに存在する場合）、もしくは、利用可能な場合は元のメッセージを適合させることが好適である。
【０１２１】
この一般的な例では、単一の共通キャッシュと、２つの別個の適合サーバとが利用された。別の実装例では、キャッシュはキャッシュネットワークに配信されてよく、任意の数の適合サーバが存在してよい。例えば、１以上の適合サーバと物理的に関連付けられたキャッシュを設けて、分散型データベーススキームを利用して適合サーバ各々が効果的に各キャッシュにアクセスできるようにしてよい。
【０１２２】
さらに、この一般的な例では、１つのサービスセンタ（４０６）のみがＭＭＳメッセージのマルチメディアサーバとして機能して、プロトコルの第１および第２のアダプタ（それぞれＰ／Ａ「Ｉ」および「ＩＩ」４１８および４２２）がサービスセンタのプロキシフロントエンドとして機能するＭＭ１プロトコルを実装する旨が示されている。しかし、多数のサービスセンタを利用して、サービスセンタをマルチメディアサーバとして構成し、デバイス、サービスセンタ、およびプロトコルアダプタ間の通信を、それぞれ異なるプロトコルおよび協定に基づいて行ってもよい。例えば、リンク４２６および４３２（サービスセンタと第１および第２の適合サーバ４０２および４０４間）が標準ＳＴＩプロトコルを利用する場合には、適合サーバからトランスコードサービスを取得する際にデバイスおよびサービスセンタ（１以上）間の直接リンク４２８および４３４が不要である場合がある（上で引用した「Architecture of the Environment using the Standard Transcoding Interface」文献を参照のこと）。
【０１２３】
＜鍵と、メディアキャッシュ内のメディアファイルとの関係＞
メディアファイルの固有の鍵または署名だけでは、メッセージ（例えばＭＭＳメッセージ全体）またはメディアファイルまたはメッセージの適合バージョンの取得には不十分である。それらの間を区別するさらなる情報を追加して、適合済みメディアファイルおよびその元のバージョン間の関係を維持する必要がある。メッセージ（ＭＭＳメッセージ全体）とそのコンポーネントまたはパーツとの関係を記録しておく必要がある。
【０１２４】
本発明の好適な本実施形態では、関連データベーススキーム（上で引用したhttp://www.mysql.org/から情報入手可能な関連データベースシステム（ＲＤＢＳ））を、メディアファイルのインデックス化および取得に利用して、ＭＤ５署名の形式で直接メッセージまたはデータのコンテンツから固有の鍵を導出する（上で引用した、メッセージダイジェスト５、仕様ＲＦＣ１３２１）ことが好都合であることが分かった。他の種類の署名も鍵として効果的である場合もある。
【０１２５】
［元のメディアファイル］
元のメディアファイル、メッセージ、またはメッセージコンポーネントの固有の鍵は、かなり簡単に生成可能である。
単純なメディアファイル：メディアファイル全体のＭＤ５署名
ＭＭＳメッセージ：メインヘッダを除くメッセージの本体のＭＤ５署名
メッセージコンポーネント：コンポーネント固有のヘッダを除いた、メッセージコンポーネントの単一のメディア部分のＭＤ５署名
【０１２６】
［適合済みメディアファイル］
適合済みメディアファイルは、固有の署名で特徴付けられるが、さらに、その適合に利用されたパラメータの署名によっても特徴付けられる。故に、適合済みメディアファイルの固有の鍵は、例えば幾らかのＭＤ５署名の組み合わせである。
【０１２７】
｛適合済みの単一のメディアファイル｝
適合済みメディアファイル全体のＭＤ５署名
トランスコードに利用されるプロフィールのＭＤ５署名
強調設定のＭＤ５署名（クリップ融合、バナー追加等）
【０１２８】
｛適合済みＭＭＳメッセージ｝
メインヘッダを除いた、適合メッセージの本体のみのＭＤ５署名
トランスコードに利用されるプロフィールのＭＤ５署名
強調設定のＭＤ５署名（クリップ融合、バナー追加等）
【０１２９】
｛適合済みメッセージコンポーネント｝
メッセージコンポーネント：コンポーネント固有のヘッダを除いた、メッセージコンポーネントの単一の適合済みメディア部分のＭＤ５署名
トランスコードに利用されるプロフィールのＭＤ５署名
強調設定のＭＤ５署名（クリップ融合、バナー追加等）
【０１３０】
メディアキャッシュが元のメッセージおよび既に適合済みのメッセージを利用可能に維持することで、本発明は、メッセージの転送元デバイスよりも高い表示機能を有しうる転送先に対して元のバージョンを再度適合させる機能を有することにより、適合済みメッセージを新たに適合させるのではなく再利用することができるときの効率を向上させ、適合済みメッセージを転送する際の品質を向上させる。本発明の実施形態のメディアキャッシュは、元のメディアファイル、および、その既に適合済みのバージョンと、さらに、メディアファイルのＭＤ５署名、トランスコードプロフィール、および強調設定を含み、転送されたメッセージを後に生成する際のメッセージコンポーネントの効率的な取得を促す。
【０１３１】
プロセッサにより実行されて上で詳述した方法の段階（ステップ）を実行するソフトウェアコード命令を格納したＤＶＤ、ＣＤ−ＲＯＭ、フロッピー（登録商標）、または、不揮発性メモリ等のメモリを含むコンピュータ可読媒体を提供することができる。
【０１３２】
本発明の実施形態を詳述してきたが、当業者には、実施形態の変形例および変更例が以下の請求項の範囲に含まれることが明らかである。
［項目１］
サービスセンタから１以上の適合サーバを介して第１のデバイスおよび第２のデバイスへマルチメディアメッセージのソースメディアファイルを送信する方法であって、前記１以上の適合サーバの少なくとも１つはメディアキャッシュを持ち、前記方法は、
（ａ）前記ソースメディアファイルの署名を計算する段階と、
（ｂ）前記ソースメディアファイルの前記署名を、前記メディアキャッシュから前記ソースメディアファイルの元のコピーを探すためのインデックスとして利用する段階と、
（ｃ）前記メディアキャッシュから前記ソースメディアファイルの前記元のコピーの第１の適合済みバージョンを探す段階と、
（ｄ）前記第１の適合済みバージョンを前記第１のデバイスに送信する段階と、
（ｅ）前記メディアキャッシュから前記ソースメディアファイルの前記元のコピーの第２の適合済みバージョンを探す段階と、
（ｆ）前記第２の適合済みバージョンを前記第２のデバイスへ送信する段階とを備える方法。
［項目２］
前記段階（ｃ）は、前記第１の適合済みバージョンが発見されなかった場合、前記ソースメディアファイルの前記元のコピーを前記第１の適合済みバージョンに適合させる段階を有し、
前記段階（ｅ）は、前記第２の適合済みバージョンが発見されなかった場合、前記ソースメディアファイルの前記元のコピーを前記第２の適合済みバージョンに適合させる段階を有する項目１に記載の方法。
［項目３］
前記段階（ｃ）は、さらに、前記第１の適合済みバージョンの署名を計算して、前記第１の適合済みバージョンの前記署名を、前記第１の適合済みバージョンを前記メディアキャッシュに格納する際のインデックスとして利用する段階を有し、
前記段階（ｅ）は、さらに、前記第２の適合済みバージョンの署名を計算して、前記第２の適合済みバージョンの前記署名を、前記第２の適合済みバージョンを前記メディアキャッシュに格納する際のインデックスとして利用する段階を有する項目１または２に記載の方法。
［項目４］
前記段階（ｃ）は、さらに、前記段階（ｂ）において前記ソースメディアファイルの前記元のコピーが発見されなかった場合、前記ソースメディアファイルを前記元のコピーとして前記メディアキャッシュに格納して、前記ソースメディアファイルを前記第１の適合済みバージョンにトランスコードする段階を有し、
前記段階（ｅ）は、さらに、前記段階（ｂ）において前記ソースメディアファイルの前記元のコピーが発見されなかった場合、前記ソースメディアファイルを前記元のコピーとして前記メディアキャッシュに格納して、前記ソースメディアファイルを前記第２の適合済みバージョンにトランスコードする段階を有する項目１から３のいずれか一項に記載の方法。
［項目５］
前記第１のデバイスおよび前記第２のデバイスの機能を判断する段階と、
前記第１のデバイスおよび前記第２のデバイスの機能とそれぞれ互換性のある第１の適合済みバージョンおよび第２の適合済みバージョンを探す段階とをさらに備える項目１から４のいずれか一項に記載の方法。
［項目６］
プロセッサにより実行されて項目１に記載の方法の各段階を実行するコンピュータ可読命令が格納されたコンピュータ可読媒体。
［項目７］
複数のメディアファイルの元のバージョンおよび適合済みバージョンをインテリジェントキャッシュするメディアキャッシュシステムであって、
コンピュータ可読媒体に格納されるメディアファイルリポジトリであって、複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンを含み、各適合済みバージョンは、複数のトランスコードプロフィールのうちのいずれかに応じて前記複数の元のバージョンのうちのいずれかから適合される前記メディアファイルリポジトリと、
コンピュータ可読媒体に格納され、前記複数の元のバージョンおよび前記複数の適合済みバージョンの署名を含む署名リポジトリと、
データベースエンジンであって、コンピュータ可読媒体に格納されたソフトウェアプログラムコードを含み、前記ソフトウェアプログラムコードはプロセッサにより実行されると、前記メディアファイルリポジトリと、前記署名リポジトリと、前記メディアキャッシュシステムがキャッシュするマルチメディアメッセージを搬送するリンクとにアクセスし、前記複数のメディアファイルの各々の前記署名に基づいてインデックススキーマを維持することにより前記複数の元のバージョンおよび前記複数の適合済みバージョンを記録する前記データベースエンジンとを備えるメディアキャッシュシステム。
［項目８］
前記署名は、前記メディアファイルの各々のダイジェスト関数を計算することにより前記プロセッサにより生成される項目７に記載のメディアキャッシュシステム。
［項目９］
前記ダイジェスト関数は、標準メッセージダイジェスト５（ＭＤ５）関数である項目７または８に記載のメディアキャッシュシステム。
［項目１０］
前記複数のトランスコードプロフィールは、メディアファイルを受信する機能を有する少なくとも１種類のデバイスのトランスコードプロフィールを含む項目６から８のいずれか一項に記載のメディアキャッシュシステム。
［項目１１］
リンクを介して受信したソースメディアファイルを、宛先デバイスの機能に応じた適合済みバージョンへと適合させる適合サーバであって、
前記適合を行うプロセッサと、
複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンをインテリジェントキャッシュするメディアキャッシュメモリとを備え、
前記メディアキャッシュは、
前記メディアキャッシュメモリに格納され、複数のメディアファイルの複数の元のバージョンおよび複数の適合済みバージョンを含み、各適合済みバージョンは、複数のトランスコードプロフィールのうちのいずれかに応じて前記複数の元のバージョンのうちのいずれかから適合されるメディアファイルリポジトリと、
前記メディアキャッシュメモリに格納され、前記複数の元のバージョンおよび前記複数の適合済みバージョンの署名を含む署名リポジトリと、
前記メディアファイルリポジトリと、前記署名リポジトリと、前記メディアキャッシュシステムがキャッシュするマルチメディアメッセージを搬送するリンクとにアクセスするため、および、前記複数のメディアファイルの各々の前記署名に基づいてインデックススキーマを維持することにより前記複数の元のバージョンおよび前記複数の適合済みバージョンの記録をするための、プロセッサにより実行されるコンピュータ可読命令を含み、前記メディアキャッシュメモリに格納されるデータベースエンジンとを有する適合サーバ。
［項目１２］
第１のデバイスから第２のデバイスへ元のマルチメディアメッセージを転送する方法であって、各デバイスは、メディアキャッシュを持つ適合サーバを介したトランスコードプロフィールにより特徴付けられ、前記方法は、
（ａ）前記元のマルチメディアメッセージをサービスセンタから受信する段階と、
（ｂ）前記元のメッセージを、第１のトランスコードプロフィールに応じて第１の適合済みメッセージにトランスコードする段階と、
（ｃ）前記第１の適合済みメッセージを前記第１のデバイスへ送信する段階と、
（ｄ）前記元のマルチメディアメッセージを前記メディアキャッシュに格納する段階と、
（ｅ）前記第１の適合済みメッセージと前記第１のトランスコードプロフィールとを前記メディアキャッシュに格納する段階と、
（ｆ）前記第１の適合済みメッセージを前記第１のデバイスから受信する段階と、
（ｇ）第２の適合済みメッセージを生成する段階と、
（ｈ）前記第２の適合済みメッセージを前記第２のデバイスへ送信する段階とを備える方法。
［項目１３］
前記段階（ｆ）は、さらに、前記メディアキャッシュに格納されている前記第１のトランスコードプロフィールと、前記第１の適合済みメッセージと、前記格納されている元のメッセージとを探す段階を有し、
前記段階（ｇ）は、さらに、
前記第１のトランスコードプロフィールと第２のトランスコードプロフィールとが同一である場合に、トランスコードの代わりに、前記第１の適合済みメッセージをコピーして前記第２の適合済みメッセージを生成する段階と、
前記第１のトランスコードプロフィールと前記第２のトランスコードプロフィールとが同一ではない場合に、前記第２のトランスコードプロフィールに応じて前記元のメッセージを前記第２の適合済みメッセージにトランスコードする段階とを有する項目１２に記載の方法。
［項目１４］
前記段階（ｇ）は、さらに、
前記メディアキャッシュに格納されている前記元のマルチメディアメッセージと比較して、受信した前記第１の適合済みメッセージに追加されている部分を判断する段階と、
前記元のマルチメディアメッセージに前記追加されている部分を足し合わせたものを、前記第２の適合済みメッセージへとトランスコードする段階とを有する項目１２または１３に記載の方法。
［項目１５］
前記段階（ｄ）は、さらに、前記元のマルチメディアメッセージの署名を計算して格納する段階を有し、
前記段階（ｅ）は、さらに、前記第１の適合済みメッセージの署名および前記第１のトランスコードプロフィールの署名を計算して格納する段階を有し、
前記段階（ｆ）は、さらに、前記第１のトランスコードプロフィールと、前記第１の適合済みメッセージと、前記格納されている元のメッセージとを探し出すべく前記格納されてる署名を利用する段階を有する項目１２から１４のいずれか一項に記載の方法。
［項目１６］
第１のデバイスから第２のデバイスへマルチメディアメッセージを送信する方法であって、
第１の適合プロフィールを有する前記第１のデバイスで前記マルチメディアメッセージを受信する段階と、
前記マルチメディアメッセージを前記第１のデバイスから、第２の適合プロフィールを有する前記第２のデバイスへ転送する段階とを備え、
前記受信する段階は、
前記マルチメディアメッセージを前記第１の適合プロフィールに応じて第１の適合済みメッセージに適合させる段階と、
前記第１の適合済みメッセージを前記第１のデバイスへ送信する段階と、
前記マルチメディアメッセージと前記第１の適合済みメッセージとをメディアキャッシュに格納する段階とを有し、
前記転送する段階は、
前記第１の適合プロフィールと前記第２の適合プロフィールとが一致することを条件に、前記メディアキャッシュから前記第１の適合済みメッセージを取得して前記第２のデバイスへ送信する段階と、
一致しない場合に、
前記マルチメディアメッセージを前記メディアキャッシュから取得する段階と、
前記取得されたマルチメディアメッセージを前記第２の適合プロフィールに応じて第２の適合済みメッセージに適合させる段階と、
前記第２の適合済みメッセージを前記第２のデバイスに送信する段階と、
前記第２の適合済みメッセージを前記メディアキャッシュに格納する段階とを有する方法。
【図１】
0005517945.tif 000002
【図２】
0005517945.tif 000003
【図３】
0005517945.tif 000004
【図４】
0005517945.tif 000005
【図５】
0005517945.tif 000006
【図６】
0005517945.tif 000007
【図７】
0005517945.tif 000008
【図８】
0005517945.tif 000009
【図９】
0005517945.tif 000010