(57)【要約】  データは多様なフォーマットで保存することができるが、全ての端末が特定のフォーマットで定義されたデータを処理し、かつ／または見るのに適したアプリケーションプログラムを保存するためのリソースを持っているわけではないことが理解される。構造定義言語で表される一般的なコンテンツを動的に処理するためのシステムおよび方法が説明されている。このシステムおよび方法は、ＸＭＬコンテンツなどのコンテンツの処理に適した命令のセットを有する、関連するコンテンツハンドラを使用する。この方法は、コンテンツと関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するステップを含む。関連するコンテンツハンドラは、コンテンツハンドラの参照位置を含むこの参照を使用して要求される。一旦コンテンツハンドラが取得されると、コンテンツはコンテンツハンドラの命令のセットを使用して処理される。この命令は、スクリプトおよび／またはコードで表現されることができる。【選択図】  図６
2007506163.tif 000002
【特許請求の範囲】
【請求項１】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するための方法であって、
前記コンテンツと前記関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するステップと、
前記コンテンツハンドラの参照位置を含む前記参照を使用して前記関連するコンテンツハンドラを要求するステップと、
前記コンテンツハンドラを取得するステップと、
前記コンテンツハンドラの前記命令のセットを使用して前記コンテンツを処理するステップと、を含む方法。
【請求項２】
前記コンテンツハンドラがコンテンツ依存のハンドラとコンテンツ及び端末タイプ依存のハンドラを含む群から選択される、請求項１記載の方法。
【請求項３】
第１のモードが前記コンテンツ内で直接的に、第２のモードが前記構造定義言語のスキーマを通じて間接的に、という２つのモードの一方によって前記コンテンツハンドラを参照するステップをさらに含む、請求項２記載の方法。
【請求項４】
遠隔またはローカルのいずれかの前記参照位置の場所を端末上でチェックするステップをさらに含む、請求項３記載の方法。
【請求項５】
前記参照がさらに参照名を含む、請求項４記載の方法。
【請求項６】
前記コンテンツハンドラの参照名が前記コンテンツに含まれる、請求項５記載の方法。
【請求項７】
前記命令のセットがプラットフォームニュートラルスクリプトを含む、請求項３記載の方法。
【請求項８】
前記命令のセットが環境固有コードを含む、請求項３記載の方法。
【請求項９】
前記端末のタイプが、無線デバイスと有線デバイスを含む群から選択される、請求項２記載の方法。
【請求項１０】
前記コンテンツが、ＪＰＥＧ、ＧＩＦ、ＨＴＭＬ、ＷＡＶを含む群から選択されたデータフォーマットを含む、請求項２記載の方法。
【請求項１１】
前記コンテンツハンドラを取得するモードが遠隔である、請求項２記載の方法。
【請求項１２】
前記コンテンツハンドラを取得するモードがローカルである、請求項２記載の方法。
【請求項１３】
前記コンテンツハンドラを取得するモードが遠隔サーバからの必要に応じた送信である、請求項２記載の方法。
【請求項１４】
前記言語がＸＭＬベースである、請求項２記載の方法。
【請求項１５】
前記コンテンツハンドラとの情報のやりとりのための、サービス機能を提供するサービスフレームワークを実装するステップをさらに含む、請求項２記載の方法。
【請求項１６】
前記サービスフレームワークが複数のコンテンツハンドラとこれに対応するアプリケーションプログラムとで共有される、請求項１５記載の方法。
【請求項１７】
前記サービスフレームワークが、アプリケーションマネージャ、ハンドラバリデータ、プロビジョニングマネージャ、通信マネージャ、スクリプトインタープリタ、永続性マネージャを含む群から選択されるサービスを含む、請求項１６記載の方法。
【請求項１８】
前記プロビジョニングマネージャが、前記コンテンツハンドラを使用した動的な処理を可能にするためにアプリケーションプログラムインタフェースを提供するステップをさらに含む、請求項１７記載の方法。
【請求項１９】
前記端末の処理フレームワークとネットワークサーバを含む群から選択されるものが、前記コンテンツハンドラの取得を開始するステップをさらに含む、請求項４記載の方法。
【請求項２０】
前記サービスフレームワークが、コンテンツハンドラの探索、コンテンツハンドラのダウンロード、コンテンツハンドラの削除、コンテンツハンドラのサスペンドを含む群から選択されるサービスを提供する、請求項１６記載の方法。
【請求項２１】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するための方法であって、
前記コンテンツを含むようにコンテンツエンベロープを作成するステップと、
前記コンテンツハンドラの参照位置を含む、前記関連するコンテンツハンドラの参照を前記コンテンツエンベロープに挿入するステップと、
前記参照によって前記コンテンツハンドラにアクセスできるようにするステップと、を含み、一旦コンテンツハンドラを取得すると、前記コンテンツを処理するために前記命令のセットが使用される、方法。
【請求項２２】
前記コンテンツハンドラがコンテンツ依存のハンドラとコンテンツ及び端末タイプ依存のハンドラを含む群から選択される、請求項２１記載の方法。
【請求項２３】
第１のモードが前記コンテンツ内で直接的に、第２のモードが前記構造定義言語のスキーマを通じて間接的に、という２つのモードの一方によって前記コンテンツハンドラを参照するステップをさらに含む、請求項２２記載の方法。
【請求項２４】
遠隔またはローカルのいずれかの前記参照位置の場所をチェックするステップをさらに含む、請求項２３記載の方法。
【請求項２５】
前記参照がさらに参照名を含む、請求項２４記載の方法。
【請求項２６】
前記コンテンツハンドラの参照名が前記コンテンツに含まれる、請求項２５記載の方法。
【請求項２７】
前記命令のセットがプラットフォームニュートラルスクリプトを含む、請求項２３記載の方法。
【請求項２８】
前記命令のセットが環境固有コードを含む、請求項２３記載の方法。
【請求項２９】
前記端末のタイプが、無線デバイスと有線デバイスを含む群から選択される、請求項２２記載の方法。
【請求項３０】
前記コンテンツが、ＪＰＥＧ、ＧＩＦ、ＨＴＭＬ、ＷＡＶを含む群から選択されるデータフォーマットを含む、請求項２２記載の方法。
【請求項３１】
前記コンテンツハンドラを取得するモードが遠隔である、請求項２２記載の方法。
【請求項３２】
前記コンテンツハンドラを取得するモードがローカルである、請求項２２記載の方法。
【請求項３３】
前記コンテンツハンドラを取得するモードが遠隔サーバからの必要に応じた送信である、請求項２２記載の方法。
【請求項３４】
前記言語がＸＭＬベースである、請求項２２記載の方法。
【請求項３５】
利用可能なコンテンツハンドラにサービス機能を提供するサービスフレームワークと情報のやりとりをするステップをさらに含む、請求項２２記載の方法。
【請求項３６】
前記サービスフレームワークが複数のコンテンツハンドラとこれに対応するアプリケーションプログラムとで共有される、請求項３５記載の方法。
【請求項３７】
前記サービスフレームワークが、アプリケーションマネージャ、ハンドラバリデータ、プロビジョニングマネージャ、通信マネージャ、スクリプトインタープリタ、永続性マネージャを含む群から選択されるサービスを含む、請求項３６記載の方法。
【請求項３８】
前記プロビジョニングマネージャが、前記コンテンツハンドラを使用した動的な処理を可能にするためにアプリケーションプログラムインタフェースを提供するステップをさらに含む、請求項３７記載の方法。
【請求項３９】
前記端末の処理フレームワークとネットワークサーバを含む群から選択されるものが、前記コンテンツハンドラを取得するステップをさらに含む、請求項２４記載の方法。
【請求項４０】
前記サービスフレームワークが、コンテンツハンドラの探索、コンテンツハンドラのダウンロード、コンテンツハンドラの削除、コンテンツハンドラのサスペンドを含む群から選択されるサービスを提供する、請求項３６記載の方法。
【請求項４１】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するための端末であって、
前記コンテンツと前記関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するための処理フレームワークと、
前記フレームワークで動作し、前記コンテンツハンドラの参照位置を含むように構成された前記参照を使用して前記関連するコンテンツハンドラを要求するための要求モジュールと、
前記フレームワークで動作し、前記コンテンツハンドラを取得するためのプロビジョニングモジュールと、
前記コンテンツハンドラの前記命令のセットを使用して前記コンテンツを処理するための処理モジュールと、を含む端末。
【請求項４２】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するためのコンピュータプログラムプロダクトであって、
コンピュータ可読媒体と、
前記コンピュータ可読媒体に格納され、ランタイム環境で動作する、前記コンテンツハンドラの参照位置を含むように構成された前記参照を使用して前記関連するコンテンツハンドラを要求するための要求モジュールと、
前記コンピュータ可読媒体に格納され、前記ランタイム環境で動作する、前記コンテンツハンドラを取得するためのプロビジョニングモジュールと、
前記プロビジョニングモジュールに接続され、前記コンテンツハンドラの前記命令のセットを使用して前記コンテンツを処理するための処理モジュールと、を含むコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データコンテンツ処理に関する。携帯電話、無線通信機能を有するＰＤＡ、パーソナルコンピュータ、セルフサービスキオスク、双方向ポケベルなどのますます多くの端末が今日使用されている。このような端末で実行されるソフトウェアアプリケーションは、機能を向上させている。例えば、携帯電話は種々の都市の天候を検索するアプリケーションを含むことができ、ＰＤＡはユーザが食料品を購入できるアプリケーションを含むことができる。こういったソフトウェアアプリケーションは、タイムリー且つ有用なサービスをユーザに提供するために、ネットワーク接続を利用している。しかしながら幾つかの端末ではリソースが限定されており、大量のデータを処理のために端末に送ることの複雑さのために、ソフトウェアアプリケーションのデータ処理機能を開発し維持することは、依然として困難で時間のかかるタスクのままである。
【０００２】
ＸＭＬなどの拡張マークアップ言語は、一般的なデータの表示、フォーマッティング（形式化）、交換の標準となっている。事実上全てのプラットフォームや環境によって実施されることで、ＸＭＬは共通データインタフェースを使用した異種システムのシームレス（透過的）な統合を可能にする。ＸＭＬ処理は、コアプログラミング言語、ＸＭＬベースの言語（例えば、ＸＰＡＴＨ、ＸＱＵＥＲＹ）、スクリプト言語拡張（例えば、ＸＭＬ−Ｅ４ＸのＥＣＭＡＳｃｒｉｐｔ）によってサポートされている。
【０００３】
データは種々のフォーマットで保存できるが、全ての端末が特定のフォーマットで定義されたデータを処理し、かつ／または見るのに適したアプリケーションプログラムを保存するためのリソースを持っているわけではないことが理解される。データが表現されているフォーマットを端末が認識しないため、端末のユーザが適当なアプリケーションプログラムを選択または取得しなければならない場合もある。さらに、現在のデータフォーマットの欠点は、より古いバージョンのアプリケーションプログラムがアップデートされたデータフォーマットを認識しないため、結果としてより古いアプリケーションバージョンはアップデートされたデータを処理または表示できないことである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の欠点をなくすかまたは軽減するために、データコンテンツの動的な処理システムおよび方法が本明細書中に開示されている。
【課題を解決するための手段】
【０００５】
データは種々のフォーマットで保存できるが、全ての端末が特定のフォーマットで定義されたデータを処理し、かつ／または見るのに適したアプリケーションプログラムを保存するためのリソースを持っているわけではないことが理解される。データが表現されているフォーマットを端末が認識しないため、端末のユーザが適当なアプリケーションプログラムを選択または取得しなければならない場合もある。さらに、現在のデータフォーマットの欠点は、より古いバージョンのアプリケーションプログラムがアップデートされたデータフォーマットを認識しないため、結果としてより古いアプリケーションバージョンはアップデートされたデータを処理または表示できないことである。現在のデータフォーマット処理方式に対して、構造定義言語で表される一般的なコンテンツを動的に処理するためのシステムおよび方法が提供されている。このシステムと方法は、コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用する。こういった方法の１つは、コンテンツと関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するステップを含む。関連するコンテンツハンドラは、コンテンツハンドラの参照位置を含む参照を使用して要求される。一旦コンテンツハンドラを取得すると、コンテンツはコンテンツハンドラの命令のセットを使用して処理される。命令は、スクリプトおよび／またはコードで表すことができる。
【０００６】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するための方法が提供されており、この方法は、コンテンツと関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するステップと、コンテンツハンドラの参照位置を含む参照を使用して関連するコンテンツハンドラを要求するステップと、コンテンツハンドラを取得するステップと、コンテンツハンドラの命令のセットを使用してコンテンツを処理するステップと、を含む。
【０００７】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理できるようにするための方法も開示されており、この方法は、コンテンツを含むようにコンテンツエンベロープを作成するステップと、コンテンツハンドラの参照位置を含む、関連するコンテンツハンドラの参照をコンテンツエンベロープに挿入するステップと、参照によってコンテンツハンドラにアクセスできるようにするステップと、を含み、一旦コンテンツハンドラを取得すると、コンテンツを処理するために命令のセットが使用される。
【０００８】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するための端末がさらに開示されており、この端末は、コンテンツと関連するコンテンツハンドラの参照を含むコンテンツエンベロープを受信するための処理フレームワークと、フレームワークで動作し、コンテンツハンドラの参照位置を含むように構成された参照を使用して関連するコンテンツハンドラを要求するための要求モジュールと、フレームワークで動作し、コンテンツハンドラを取得するためのプロビジョニングモジュールと、コンテンツハンドラの命令のセットを使用してコンテンツを処理するための処理モジュールと、を含む。
【０００９】
構造定義言語で表される一般的なコンテンツを、当該コンテンツの処理に適した命令のセットを有する関連するコンテンツハンドラを使用して動的に処理するためのコンピュータプログラムプロダクトも提供されており、このコンピュータプログラムプロダクトは、コンピュータ可読媒体と、コンピュータ可読媒体に保存され、ランタイム環境で動作する、コンテンツハンドラの参照位置を含むように構成された参照を使用して関連するコンテンツハンドラを要求するための要求モジュールと、コンピュータ可読媒体に保存され、ランタイム環境で動作する、コンテンツハンドラを取得するためのプロビジョニングモジュールと、プロビジョニングモジュールに接続され、コンテンツハンドラの命令のセットを使用してコンテンツを処理するための処理モジュールと、を含む。
【００１０】
これらの特徴や他の特徴は以下の詳細な記述でより明らかになり、そこでは添付の例示的な図面を参照する。
【発明を実施するための最良の形態】
【００１１】
ネットワークシステム
図１を参照すると、ネットワークシステム１０は、これに限定されないがインターネットなどの、接続された広域ネットワーク（ＷＡＮ）１０４を介して、ハンドラサーバ１０６によってアクセスされる１つまたはそれ以上のハンドラ情報サーバ１１０と情報のやりとりをするための複数の端末１００を含む。こういった一般的な端末１００は、パーソナルコンピュータ１１６などの有線デバイス、無線デバイス１０１、ＰＤＡ、セルフサービスキオスクなどのあらゆる適切な端末でよいが、これらに限定されない。サーバ１０６は、要求されたハンドラ１０７の参照名１２２（ＩＤ）を含むメッセージ１０５を通じてコンテンツハンドラ１０７にアクセスする。ハンドラ１０７の情報は、サーバ１０６によって情報サーバ１１０から取得することができる。システム１０は、関連ハンドラ１０７を有し、これに限定されないがＸＭＬなどの構造定義言語で表現されるアプリケーションコンテンツ１２０の処理を扱う機能を端末１００に提供する。ハンドラ１０７は、一般的（コンテンツ依存）かまたは専用（コンテンツと端末１００に依存）のいずれかである。アプリケーションコンテンツ１２０は、ローカルに（端末１００の記憶装置）または遠隔サーバ１０６から取得されることができる。或いは遠隔サーバ１０６は、コンテンツ１２０を必要に応じて端末１００に送信（push）することができる。ＸＭＬは、コンテンツ１２０を定義するために使用可能な構造定義言語のほんの一例を表しているにすぎないことが理解される。他の例示的な言語として、ＨＴＭＬ、ＸＨＴＭＬ、ＸＳＭＬ、ＲＤＦ、機械可読目録（ＭＡＲＣ）、多目的インターネットメール拡張（ＭＩＭＥ）を挙げることができるが、これらに限定されない。さらに、システム１０が、接続性、メモリおよび／または記憶装置の観点から限定され得る端末１００とともに使用されるあらゆる範囲のＸＭＬ定義コンテンツ１２０に適していることも理解される。
【００１２】
端末１００は、埋め込みコンテンツ１２０、コンテンツハンドラ参照ＩＤ１２２、そしてハンドラ参照位置１２４を含む、受信したＸＭＬエンベロープ１１８（または他の構造化言語）を処理するための処理フレームワーク２０６（図２参照）を有する。エンベロープ１１８がハンドラ１０７に対するこの参照を含むことに注目されたい。ハンドラ１０７は、状況に応じてローカルに存在してもよいし、外部に存在してもよい。さらにシステム１０は、デスクトップ端末１１６をローカルエリアネットワーク（ＬＡＮ）１１４を介してサーバ１０６に接続するためのゲートウェイサーバ１１２を有することもできる。さらにシステム１０は、無線デバイス１０１をＷＡＮ１０４に接続するための無線ネットワーク１０２を有することができる。他の端末やコンピュータ（図示せず）が、ＷＡＮ１０４や図１に示す以外の関連ネットワークを介してサーバ１０６に接続できることが理解される。簡単にするために、一般的な端末１００、無線デバイス１０１、パーソナルコンピュータ１１６を以後端末１００と称する。さらに、簡単にするために、システム１０のネットワーク１０２、１０４、１１２を以後ネットワーク１０４と称する。多数のサーバ１０６、１１０が存在し、かつ／または必要ならばサーバ１０６と１１０の機能を結合可能なことが理解される。
【００１３】
一般的な端末
図２を参照すると、端末１００は、これらに限定されないがデスクトップまたはラップトップコンピュータシステム、携帯電話（または他の無線デバイス）、ＰＤＡ、双方向ポケベルおよび／またはデュアルモード通信端末などのあらゆる適切なデータ処理プラットフォームであり得る。端末１００は、接続２１８を介して端末インフラ２０４に連結されている、無線トランシーバまたは有線ネットワークインタフェースカードまたはモデムなどのネットワーク接続インタフェース２００を含む。接続インタフェース２００は、端末１００の動作時に、例えばＲＦリンクによって無線ネットワーク１０２（図１参照）などのネットワーク１０４に接続可能であり、このことによって端末１００は互いに、そしてネットワーク１０４を介して外部システム（サーバ１０６など−図１参照）と通信でき、要求／応答メッセージ１０５を端末１００とサーバ１０６、１１０との間で調整することができる。ネットワーク１０４は、幾つかの実装では、端末１００とネットワーク１０４に接続する外部システムとの間での要求／応答メッセージ１０５によるハンドラ１０７の伝送をサポートすることができる。ネットワーク１０４はまた、端末１００とネットワーク１０４の外部の端末との間の電話通話のための音声通信をサポートすることもできる。無線ネットワーク１０２は、これらに限定されないがＤａｔａＴＡＣ、ＧＰＲＳまたはＣＤＭＡなどの無線データ伝送プロトコルを使用できる。
【００１４】
再度図２を参照すると、端末１００は、ユーザ（図示せず）と情報をやりとりし易くするために、接続２２２によって端末インフラ２０４に接続されているユーザインタフェース２０２も有する。ユーザインタフェース２０２は、これらに限定されないがＱＷＥＲＴＹキーボード、キーパッド、トラックホイール、スタイラス（ペン）、マウス、マイクロホンなどの１つまたはそれより多くのユーザ入力装置や、ＬＣＤスクリーンディスプレイおよび／またはスピーカなどのユーザ出力装置を含むことができる。スクリーンがタッチセンシティブならば、端末インフラ２０４が制御されることによりディスプレイをユーザ入力装置として使用することもできる。ユーザインタフェース２０２は端末１００のユーザによって利用されて、処理フレームワーク２０６により利用される要求／応答メッセージ１０５をシステム１０（図１を参照）にわたって調整する。
【００１５】
再度図２を参照すると、端末１００の動作は端末インフラ２０４によって可能となる。端末インフラ２０４は、コンピュータプロセッサ２０８と関連するメモリモジュール２１０を含む。コンピュータプロセッサ２０８は、オペレーティングシステムによって提供される関連する命令を実行することによって、通信端末１００のネットワークインタフェース２００、ユーザインタフェース２０２、フレームワーク２０６の動作を操作する。コンピュータプロセッサ２０８は、１つまたはそれより多くの汎用プロセッサおよび／または専門プロセッサ（例えば、ＡＳＩＣ、ＦＰＧＡ、ＤＳＰなど）を含む、１つまたはそれより多くの処理要素を含むことができる。さらに、端末インフラ２０４は、プロセッサ２０８に連結されており、このプロセッサに命令を与えてクライアントアプリケーションプログラム１０７をロード／アップデートするためのコンピュータ可読記憶媒体２１２を含みうることが理解される。コンピュータ可読媒体２１２は、ほんの一例として磁気ディスク、磁気テープ、ＣＤＲＯＭ／ＤＶＤＲＯＭなどの光学的に読み取り可能な媒体、そしてメモリカードなどのハードウェアおよび／またはソフトウェアを含むことができる。それぞれの場合において、コンピュータ可読媒体２１２は、小型ディスク、フロッピー（登録商標）ディスケット、カセット、ハードディスクドライブ、ソリッドステートメモリカードまたはメモリモジュール２１０に設けられるＲＡＭの形態をとることができる。上に挙げた例示的なコンピュータ可読媒体２１２を単独で、または組み合わせて使用できることに注目されたい。
【００１６】
処理フレームワーク
図２と３を参照すると、クライアントランタイム環境が処理フレームワーク２０６によって提供されている。端末１００のフレームワーク２０６は接続２２０によってインフラ２０４に接続されており、インフラ２０４のプロセッサ２０８と関連するオペレーティングシステムの端末１００の機能に対するインタフェースである。端末１００のクライアントランタイム環境は、クライアントアプリケーションプログラム（図示せず）を作成し、ホスティングし、端末１００で実行できるのが好ましい。さらに、クライアントランタイム環境の特定の機能として、これらに限定されないが、言語、メモリ割り当ての調整、ネットワーキング、Ｉ／Ｏ動作時のデータ管理、端末１００の出力装置におけるグラフィックスの調整、コアオブジェクト指向クラスへのアクセス、ファイル／ライブラリのサポート、をサポートするためのサービスフレームワーク３０４の種々の機能を挙げることができる。端末１００によって実施されるランタイム環境の例として、マイクロソフトによる共通言語ランタイム（ＣＬＲ）やサンマイクロシステムズによるＪＡＶＡランタイム環境（ＪＲＥ）が挙げられるが、これらに限定されない。
【００１７】
処理フレームワーク２０６は、コンテンツハンドラ１０７を動的に管理する能力を提供する。フレームワーク２０６の特定の動作として、これらに限定されないが、コンテンツ１２０に必要なハンドラ１０７の決定、端末１００上またはネットワーク１０４を介したハンドラ１０７の探索、指定された参照位置１２４からのハンドラ１０７の必要に応じたダウンロード、端末１００がもはや必要としなくなったハンドラ１０７の削除またはサスペンド／キャッシュ（一時的保持）などの、ハンドラ管理機能を含むことができる。
【００１８】
処理フレームワーク２０６は、コンテンツハンドラ１０７の提供及び準備（ｐｒｏｖｉｓｉｏｎｉｎｇ）、検索及び取得、端末１００のランタイム環境からの削除を管理する。フレームワーク２０６は、ハンドラ１０７の実行もサポートする。アプリケーションプログラムは、処理フレームワーク２０６に対して、関連するハンドラ１０７を使用して一般的なコンテンツ１２０を扱うかまたは処理するように要求する。フレームワーク２０６は、コンテンツエンベロープ１１８またはスキーマで指定された参照位置１２４に基づいてハンドラ１０７を検索して取得することができる。ハンドラ１０７が端末１００において利用可能でない場合は、フレームワーク２０６はエンベロープ１１８で指定された参照位置１２４からハンドラ１０７をダウンロードすることができる。アプリケーションプログラムはまた、コンテンツ１２０の処理がいつ完了するか、また関連するハンドラ１０７がいつその動作に必要なくなるかをフレームワーク２０６に通知することもできる。そしてフレームワーク２０６は、（アプリケーションプログラムのアップデートの場合などのように）もはや有用ではないコンテンツハンドラ１０７が占有する端末インフラ２０４のアクティグメモリ２１０の空間を回収する。端末１００の集中管理が強化されている環境（例えば、企業の環境）では、中央サーバ（図示せず）が端末１００の使用されていないハンドラ１０７の削除を開始することができる。
【００１９】
再度図３を参照すると、処理フレームワーク２０６はアプリケーションプログラム１０７の一部として、またはこれとは別に一般的なサービスフレームワーク３０４の機能を提供することができ、アプリケーションマネージャ３０６、ハンドラバリデータ（検証器）３１４、プロビジョニングマネージャ３０８、通信サービス３１６、スクリプトインタープリタ３１２、永続性マネージャを含みうるがこれらに限定されない。他のサービス（図示せず）として、プレゼンテーションサービス、アクセスサービス、ユーティリティサービスを挙げることができる。それぞれのサービス機能を複数のアプリケーションプログラムやハンドラ１０７で共有可能なことが理解される。
【００２０】
再度図３を参照すると、通信サービス３１６は、遠隔に保存されたコンテンツハンドラ１０７を必要に応じて取得する能力を含めた、ネットワーク１０４を介した端末１００とサーバ１０６、１１０との接続を管理する。永続性マネージャ３１０によって、コンテンツハンドラ１０７をメモリモジュール２１０にローカルに保存することができる。プロビジョニングマネージャ３０８は、コンテンツハンドラ１０７の端末１００への提供（プロビジョニング）を管理する。コンテンツハンドラ１０７のプロビジョニングとして、遠隔に保存されたハンドラ１０７を要求してサーバ１０６、１１０から受信したり、ローカルに保存されたハンドラ１０７を要求して記憶装置２１０から受信したりするなどの、端末１００上におけるハンドラ１０７の保存、取得、ダウンロード、削除を含むことができる。さらにプロビジョニングマネージャ３０８は、アプリケーションへのＡＰＩ（アプリケーションプログラムインタフェース）を提供して、以下でさらに説明するように、ハンドラ１０７を動的に要求し、これを要求に応じて削除できるようにする。ユーザインタフェース２０２（図２参照）と情報のやりとりをするためにアプリケーションマネージャ３０６を使用でき、このアプリケーションマネージャはアプリケーションのライフタイムの管理などをする。アプリケーションマネージャ３０６はまた、コンテンツ１２０用にコンテンツハンドラ１０７をロードするなどのサービスを要求するためにアプリケーションが使用可能なインタフェースを提供することもできる。ハンドラバリデータ３１４は、セキュリティ上の理由で、即ち端末にダウンロードされたコンテンツ１２０の有効性を制御し、悪意ある（ｒｏｇｕｅ）スクリプト（これに限定されないが、ウィルスなど）からユーザを保護するために、使用することができる。スクリプトインタープリタ３１２は、コンテンツハンドラ１０７のスクリプト／コードを実行するために使用することができる。コンテンツハンドラ１０７の操作を提供するためのＡＰＩは、スクリプトインタープリタ３１２を通じて利用可能である。概してスクリプトインタープリタ３１２は、命令のセットを実行するように設計されている。このような命令は、任意の指定されたプログラミングおよび／またはスクリプト言語でコード化でき、さらにこの命令はコンパイルされた形式または部分的にコンパイルされた形式であることができる（例えば、ＪＡＶＡバイトコード）。アプリケーション１０７に適応したものを実装するための、各サービス３０６、３０８、３１０、３１２、３１４、３１６を有する処理フレームワーク２０６の他の構造は、必要ならば示したもの以外でもよいことが理解される。さらに、フレームワーク２０６が端末インフラ２０４のオペレーティングシステムの一部でもよいことが理解される。
【００２１】
コンテンツエンベロープ
図４を参照すると、エンベロープ１１８はコンテンツ１２０、関連するコンテンツハンドラ１０７の参照名１２２、コンテンツハンドラ１０７をローカルでまたは遠隔で取得するための参照位置１２４を含む。コンテンツ１２０は、これらに限定されないがブラウザスクリーン（例えば、ｘＨＴＭＬ）、アプリケーションデータ（例えば、ゲームレベル）、無線メッセージ（ｅメール／ＳＭＳ／ＭＭＳ）またはスタンドアローンアプリケーションなどの種々の形式のデータを表すことができる。エンベロープ１１８に包まれたコンテンツ１２０は、１つまたはそれ以上の適当なコンテンツハンドラ１０７の直接または間接（例えば、ＸＭＬスキーマを通じた）の参照を含む。データの例示的なデータフォーマットは、ｊＰＥＧ、ＧＩＦ、ＨＴＭＬ、ＷＡＶファイル、フラッシュメディアなどであるが、他のタイプのフォーマット済みデータも可能である。コンテンツ参照は、コンテンツハンドラ１０７のタイプと位置に対する参照を含む。任意選択的にコンテンツ１２０は、関連するコンテンツハンドラ１０７のＵＲＩとタイプを識別するために、ＸＭＬスキーマ定義を使用できる。
【００２２】
さらに、コンテンツハンドラ１０７は参照位置１２４と対応する参照名１２２を介してコンテンツエンベロープ１１８に連結されている。ハンドラ１０７は、コンテンツ１２０を扱うかまたは処理するための命令のセット（即ち、コードおよび／またはスクリプト）を表す。命令のセットは、プラットフォームニュートラル（非依存）スクリプト（これらに限定されないが、ＥＣＭＡＳｃｒｉｐｔ、Ｅ４Ｘなど）で、または処理フレームワーク２０６のネイティブランタイム環境で実施するための環境固有のコードコンポーネント（限定しないが、Ｃ、Ｃ＋など）として実装できる。コンテンツハンドラ１０７は、例えばＸＭＬなどの構造定義言語で指定されたコンテンツ１２０によって表されるような、特定のフォーマットで定義されたデータを処理し、かつ／または見るのに適したアプリケーションプログラムとみなすこともできる。こういったコンテンツハンドラ１０７は端末１００上に存在してもよいし、ネットワーク１０４を介してアクセス可能でもよい。
【００２３】
例示的なコンテンツハンドラ
種々の動的ルックアップ（探索）モードを介してコンテンツハンドラ１０７にアクセスすることができる。ハンドラ１０７は一般的かまたは端末１００に固有のいずれかである。処理フレームワーク２０６は、コンテンツハンドラ参照名１２２と位置１２４を検索して取得し、指定された位置１２４から必要なハンドラ１０７を準備（プロビジョニング）することができる。コンテンツ１２０に必要なハンドラ１０７とその位置は、コンテンツ内で直接に、又はドキュメントスキーマ参照を使用して間接的になど、種々の方法で示すことができる。したがって、ハンドラ１０７を取得するためのこういったモードとしては、以下にさらに説明するように、直接的な参照や間接的な参照を挙げることができるが、これらに限定されない。
【００２４】
エンベロープ１１８のデータは、データを管理または処理するために使用されるアプリケーション／コード／スクリプトのポインタ／タグ（即ち、ハンドラ参照名１２２ＩＤ）を含むことができる。例えばユーザが端末１００上でビデオファイルを受信したが、必要なプレーヤー（即ち、コンテンツハンドラ１０７）を持っていないとする。そこでビデオファイル（エンベロープ１１８）が、必要なプレーヤーの参照１２２、１２４を有するＸＭＬデータ（コンテンツ１２０）を含んでいる。
【００２５】
直接的な参照の場合、以下の例示的なＸＭＬドキュメントは太字の部分に位置１２４と名前１２２を示している。例えばＸＭＬドキュメントは、このドキュメントに関連するコンテンツハンドラ１０７のタイプ、バージョン、位置を指定する、予め定義された子エレメントハンドラを有する。
【００２６】
【表１】
2007506163.tif 000003
【００２７】
間接的な参照の場合、以下の例示的なＸＭＬドキュメントは太字の部分にＸＳＤファイルで定義されたコンテンツハンドラの位置１２４を示している。例えばＸＭＬドキュメントは、ドキュメントスキーマ参照を使用してコンテンツハンドラを指定する。この方法は、ＸＭＬドキュメント内のコンテンツハンドラ参照名１２２をなくすことができるが、追加的なスキーマファイルをダウンロードする余分なステップを必要とする。
【００２８】
【表２】
2007506163.tif 000004
【００２９】
必要ならば、上述した以外の構造定義言語ドキュメントとスキーマファイルを使用できることが理解される。
【００３０】
一般的なコンテンツの処理
システム１０は、（ＸＭＬなどの）コンテンツ１２０が端末１００上での処理のために一旦表示されると、そのコンテンツを処理するのに必要な関連するコンテンツハンドラ１０７を動的に取得できる機能を示している。コンテンツ１２０に関連するコンテンツハンドラ参照はメッセージデータエンベロープ１１８に埋め込まれるか、または含まれるメッセージのデータの特定のグループに関連付けられる。この方法は、動的なモジュール性、変化、拡張性をサポートすることができる。さらに、ＸＭＬ、ＨＴＭＬ、ＸＧＭＬなどの種々の構造定義言語を使用できることが理解される。端末１００へのコンテンツハンドラ１０７の提供（プロビジョニング）は、コンテンツ１２０のデータがフレームワーク２０６によって処理されると必要に応じて動的に行うことができる。狭い記憶空間と限られたプロセッサパワーを特徴とする無線環境では、必要に応じてハンドラを提供し、もはや必要のないハンドラを削除できる能力は有用である。
【００３１】
例えば、端末１００上でアプリケーションプログラムを実行する際、このプログラムは処理フレームワーク２０６に対して新しいコンテンツ１２０を処理するように要求する。プログラムは、これらに限定されないが、ユーザリクエストまたはアプリケーションロジックにしたがってサーバ１０６からダウンロードされたり、アプリケーションサーバ１１０によって端末１００に転送されたり（例えば、チャンネルアップデート、イベント通知）、またはローカルアプリケーション格納部からロードされたりした（疎結合コンテンツ１２０を取得する場合、例えばユーザが新しいゲームレベルに到達した場合）コンテンツ１２０を取得できる。
【００３２】
図４、５および６を参照すると、システム１０の動作５００は、エンベロープ１１８の端末１００による受信５０２から始まる。ハンドラ参照を有するコンテンツ１２０は、アプリケーションマネージャ３０６（図３参照）などを含む、端末１００の処理フレームワーク２０６にわたされる。アプリケーションマネージャ３０６は、コンテンツ１２０に示されている特定のコンテンツハンドラ１０７をプロビジョニングマネージャ３０８に要求する（５０４）。プロビジョニングマネージャ３０８は、指定されたハンドラ１０７が端末１００上に存在するかどうかチェックする（５０６）。存在するならば、指定されたハンドラ１０７をアプリケーションマネージャ３０６にわたす。そうでないならば、プロビジョニングマネージャ３０８は指定されたコンテンツハンドラ１０７を要求し、ネットワーク１０４（図１参照）を介してハンドラサーバ１０６からこの指定されたコンテンツハンドラ１０７をダウンロードまたは取得することに移る（５０８）。ハンドラサーバ１０６は専用ハンドラリポジトリ／データベースでもよく、かつ／またはこれにアクセス可能でもよいことが理解される。ダウンロードされると、プロビジョニングマネージャ３０８はコンテンツハンドラ１０７をアプリケーションマネージャ３０６にわたす（５１０）。そしてアプリケーションマネージャ３０６は、ハンドラ１０７の命令のセット（即ち、スクリプトおよび／またはコード）を実行するハンドラインタープリタ３１２を使用したコンテンツ１２０の処理５１２に移る。ハンドラインタープリタ３１２の実行によって、処理されたデータが表示され、かつ／または端末１００のユーザインタフェース２０２および／または端末インフラ２０４（図３参照）によって操作される（５１４）。
【００３３】
上の記述は、１つまたはそれ以上例示的なシステムおよび方法に関する。当業者には多くの変形例が明らかであり、こういった変形例は本願の範囲内である。ＰＣ、ＰＤＡ、キオスク、モバイルデバイスなどの複数の種々の端末とともに、ＸＭＬ以外の構造定義言語を使用できることが理解される。端末１００は、有線および／または無線ネットワークトポロジーで展開されることができる。例えばコンテンツハンドラの実施が、フレームワークで動作し参照を使用して関連するコンテンツハンドラを要求するための要求モジュール、フレームワークで作動しコンテンツハンドラを取得するためのプロビジョニングモジュール、コンテンツハンドラの命令のセットを使用してコンテンツを処理するための処理モジュールによって実行可能なことが理解される。こういったモジュールは、ソフトウェア、ハードウェア、またはこれらの組み合わせとして端末１００上で利用可能である。
【００３４】
上述のように、システム１０と方法５００は、例えばコンテンツ１２０の処理を扱う広範囲の一般的な端末１００と、対応するアプリケーション（ブラウザを含む）に適用できる。接続が偶発的であること、メモリと記憶装置が限られていること、スクリーンの面積が限られていること、および／または待ち時間が長いことなど、端末１００には明らかな制限があるために、方法５００をモバイル端末１０１に適用すると動作上の効率を実現することができる。システム１０の使用によって、端末１００に一般的なコンテンツ１２０を扱う能力を提供することができる。例えば、エンベロープ１１８の新しいタイプのＸＭＬデータがサーバ１０６から受信されたことが分かると、端末１００に提供されたアプリケーションはこのデータを処理するのに適したハンドラ１０７をダウンロードすることができる。ブラウザの場合は、種々のＸＭＬ処理プラグイン（例えば、種々のＸＭＬ、スキーマバリデーション、実行）を必要に応じてロードできる能力が有益である。
【００３５】
システム１０は、特定のクライアント環境（例えば、無線デバイス１０１）を対象としたコンテンツ１２０の処理機能（ハンドラ１０７）の展開を、コンテンツ１２０がデバイス１０１のランタイム環境にロードされた後に必要に応じてダウンロードできるようにすることで、プレゼンテーションデータとプレゼンテーションロジックの分離を行うこともできる。システム１０は、アプリケーション開発者が将来のアプリケーション拡張を追加（プラグイン）するために接続「スタブ」（空のハンドラ１０７）をプログラムできるようにすることで、既存のアプリケーションプログラムの動的な拡張を提供することもできる。追加の機能がアプリケーションの外部で展開されていた場合、この接続スタブを、アプリケーション拡張を可能にする「リダイレクタ」スクリプトに置き換えることができる。システム１０は動的なバージョン管理／コンテンツのアップデートを提供することもでき、そこでは透過的なアプリケーションのアップデートを処理することができる（例えば、アンチウィルスアプリケーションのための新しいウィルス定義）。システム１０は、動的なアプリケーションのプロビジョニングやアプリケーションブロックの動的な修正を行うこともできるため、ＸＭＬ定義のアプリケーションでは、このメカニズムによって、ユーザの動作または新しいデータ／オプションが利用可能になることに基づく動的なアプリケーションの提供とアプリケーションブロックの動的な修正が可能となる。システム１０は、制限された端末１００の記憶装置の効率的な管理を行うこともでき、必要に応じてスペースを提供でき、アプリケーションデータ／ブロックを動的に削除することによってこのスペースをクリアできる能力によって、制限された環境においてかなりの利点がもたらされる。システム１０は、サーバ主導の転送動作の動的な実行をもたらすこともできる。データコンテンツマネージャプロビジョニングのネットワーク環境を有線と無線の両方のトポロジーに適用できることが理解される。
【図面の簡単な説明】
【００３６】
【図１】ネットワークシステムのブロック図である。
【図２】図１の一般的な端末のブロック図である。
【図３】図２のデバイスの処理フレームワークである。
【図４】図１のコンテンツエンベロープである。
【図５】図１のシステムの例示的な動作である。
【図６】図５の一般的なコンテンツの処理のためのワークフローである。
【図１】
2007506163.tif 000005
【図２】
2007506163.tif 000006
【図３】
2007506163.tif 000007
【図４】
2007506163.tif 000008
【図５】
2007506163.tif 000009
【図６】
2007506163.tif 000010
【国際調査報告】
2007506163.tif 000011
2007506163.tif 000012
2007506163.tif 000013