説明

モバイル配信フレームワークにおけるコンテンツ処理の調和のための方法およびシステム

【課題】モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法を提供すること。
【解決手段】モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法であって、コンテンツに関連するメタデータのエンベロープ内に、外部のイネイブラーに対する外部参照を埋め込むステップと、コンテンツ処理調整ルールをメタデータのエンベロープの中に挿入するステップとを包含する、方法。本発明はさらに、以下のコンテンツパッケージをも提供する。コンテンツと、メタデータエンベープとを備えているコンテンツパッケージであって、このメタデータエンベロープは、外部イネイブラーに対する外部参照、ならびにそこに埋め込まれたコンテンツ処理調整ルールを有している、コンテンツパッケージ。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、モバイルコンテンツの配信に関し、特に、モバイルコンテンツの配信を容易化するイネイブラー(enabler)に使用に関する。
【背景技術】
【0002】
モバイルデバイスまたはモバイルユーザ機器(UE;user equipment)のユーザは、自らが自身のモバイルデバイスから要求する機能、および自らがモバイルデバイスからデータにアクセスする方法に関して、ますます洗練されてきている。
【0003】
動的なコンテンツ配信は、ユーザが、データにアクセスしたり、データを探し出したりしなければならないのではなく、加入契約した情報またはデータが自身に動的に配信されることを可能にする。データの例は、株価、天気の最新情報、交通の最新情報、動的な壁紙、広告、ユーザにとって望ましいアプリケーションまたはその他のデータを含み得る。
【発明の開示】
【発明が解決しようとする課題】
【0004】
コンテンツ配信は、サーバ側およびデバイス側の両方において様々なイネイブラーをしばしば要求する。これらのイネイブラーは、配信イネイブラーのコア機能の一部分ではないので、その他のイネイブラーとのコンテンツ処理を調整するためのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【0005】
(概要)
本システムおよび方法は、外部参照およびコンテンツ処理調整ルールを、モバイルコンテンツ配信メタデータの中に埋め込むための方法を提供する。特に、XMLでパッケージされた状態チャートとして、モバイル配信メタデータに対する調整ルールを表現するための方法が提供される。
【0006】
コンテンツプロバイダは、配信フレームワーク内の様々な処理要素に対してメタデータを埋め込み得る。コンテンツ配信イネイブラーに対する命令がメタデータに含まれ得る。さらに、外部ネームスペース宣言が、外部のイネイブラーに対して提供され得る。コンテンツパッケージが配信されている間に、モバイルコンテンツの処理を調整するために、外部のイネイブラーに対するバインディングを表現するXMLスキームを参照するネームスペースが含まれ得る。これは、処理状態に対するXML要素内に、対応するXMLスキームにおいて定義される要素および属性を埋め込むことによって、達成される。
【0007】
アクションバーブが、外部のイネイブラーの機能に調整命令をマッピングするために用いられ得る。このレベルの命令は、サービス間の疎結合(low coupling)を可能にする。
【0008】
このように本開示は、モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法を提供し得る。この方法は、コンテンツに関連するメタデータのエンベロープ内に、外部のイネイブラーに対する外部参照を埋め込むステップと、コンテンツ処理調整ルールをメタデータのエンベロープの中に挿入するステップと、を包含する。
【0009】
本開示はさらに、コンテンツ処理の調整のためのシステムを提供する。このシステムは、コンテンツプロバイダであって、このコンテンツプロバイダは、外部参照およびコンテンツ処理調整ルールを、コンテンツプロバイダによって供給されるコンテンツに関連するモバイルコンテンツ配信メタデータの中に埋め込むように構成されている、コンテンツプロバイダと;コンテンツ配信イネイブラーであって:配信サーバであって、この配信サーバは、この配信サーバに向けられたメタデータを処理するように構成されている、配信サーバと、配信クライアントであって、この配信クライアントは、この配信クライアントに向けられたメタデータを処理するように構成されている、配信クライアントと、を含んでいる、コンテンツ配信イネイブラーと;外部のイネイブラーであって、コンテンツ配信イネイブラーを介して、コンテンツ処理調整ルールに基づいて、コンテンツを処理するように構成されている、外部のイネイブラーと;コンテンツプロバイダからのコンテンツを消費するように構成されているコンテンツクライアントと、を備えている。
【0010】
本開示はさらに、コンテンツパッケージを提供する。このコンテンツパッケージは、コンテンツと;メタデータのエンベロープと、を備えており、このメタデータのエンベロープは、外部イネイブラーに対する外部参照、ならびにそこに埋め込まれたコンテンツ処理調整ルールを有している。
【0011】
本発明は、さらに以下の手段を提供する。
【0012】
(項目1)
モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法であって、
コンテンツに関連するメタデータのエンベロープ内に、外部のイネイブラーに対する外部参照を埋め込むステップと、
コンテンツ処理調整ルールを該メタデータのエンベロープの中に挿入するステップと
を包含する、方法。
【0013】
(項目2)
上記コンテンツ処理調整ルールは、拡張マークアップ言語「XML」でパッケージされた状態チャートである、項目1に記載の方法。
【0014】
(項目3)
上記XMLでパッケージされた状態チャートは、埋め込まれた層を有する機能ブロックを含んでいる、項目2に記載の方法。
【0015】
(項目4)
上記埋め込まれた層は、共通のXML要素を定義する第1の層と、外部のイネイブラーに対するバインディングを有している、配信イネイブラーに対するメタデータを定義する第2の層と、外部のイネイブラーに対するメタデータを定義する第3の層とを含んでいる、項目3に記載の方法。
【0016】
(項目5)
上記第3の層は、上記配信イネイブラーには認識されない、項目4に記載の方法。
【0017】
(項目6)
上記第2の層は、所定の挙動を有する表現、命令、またはパラメータを含み、該所定の挙動には、上記外部イネイブラーの機能への、該表現、命令、またはパラメータのバインディングを含む、項目4または項目5に記載の方法。
【0018】
(項目7)
上記第1の層は、状態チャートの表現言語に対するXMLシンタックスを定義するネームスペースによって参照される、項目4〜項目6のいずれか一項に記載の方法。
【0019】
(項目8)
上記機能ブロックは、状態識別子、ガード表現、外部のサービスの識別子、アクションバーブ、パラメータ、および/または状態遷移のうちのいずれか1つ、または任意の組み合わせを含んでいる、項目3〜項目7のいずれか一項に記載の方法。
【0020】
(項目9)
上記アクションバーブは、イネイブラーの機能に調整命令をマッピングするために用いられる、項目8に記載の方法。
【0021】
(項目10)
上記マッピングは、メタデータの解釈層によって実行される、項目9に記載の方法。
【0022】
(項目11)
上記状態遷移は、アクションバーブを用いて外部の機能を呼び出すことから受け取った結果に基づいている、項目8〜項目10のいずれか一項に記載の方法。
【0023】
(項目12)
上記外部参照は、外部のサービスに対するネームスペース宣言である、項目1〜項目11のいずれか一項に記載の方法。
【0024】
(項目13)
上記外部のサービスは、存在サービス、位置サービス、コンテンツスクリーニングサービス、および/または圧縮サービスのうちのいずれかを含んでいる、項目12に記載の方法。
【0025】
(項目14)
上記挿入するステップは、処理状態に対する要素内の外部に、イネイブラーに対するスキームを定義する、項目1〜項目13のいずれか一項に記載の方法。
【0026】
(項目15)
コンテンツプロバイダであって、該コンテンツプロバイダは、外部参照およびコンテンツ処理調整ルールを、該コンテンツプロバイダによって供給されるコンテンツに関連するモバイルコンテンツ配信メタデータの中に埋め込むように構成されている、コンテンツプロバイダと、
コンテンツ配信イネイブラーであって、
配信サーバであって、該配信サーバは、該配信サーバに向けられたメタデータを処理するように構成されている、配信サーバと、
配信クライアントであって、該配信クライアントは、該配信クライアントに向けられたメタデータを処理するように構成されている、配信クライアントと
を含んでいる、コンテンツ配信イネイブラーと、
外部のイネイブラーであって、該コンテンツ配信イネイブラーを介して、該コンテンツ処理調整ルールに基づいて、コンテンツを処理するように構成されている、外部のイネイブラーと、
該コンテンツプロバイダからのコンテンツを消費するように構成されているコンテンツクライアントと
を備えている、コンテンツ処理の調整のためのシステム。
【0027】
(項目16)
コンテンツと、
メタデータエンベロープと
を備えているコンテンツパッケージであって、
該メタデータエンベロープは、外部イネイブラーに対する外部参照、ならびにそこに埋め込まれたコンテンツ処理調整ルールを有している、コンテンツパッケージ。
【0028】
(項目17)
上記コンテンツ処理調整ルールは、拡張マークアップ言語「XML」でパッケージされた状態チャートである、項目16に記載のコンテンツパッケージ。
【0029】
(項目18)
上記XMLでパッケージされた状態チャートは、埋め込まれた層を有する機能ブロックを含んでいる、項目17に記載のコンテンツパッケージ。
【0030】
(項目19)
上記埋め込まれた層は、共通のXML要素を定義する第1の層と、外部のイネイブラーに対するバインディングを有している、配信イネイブラーに対するメタデータを定義する第2の層と、外部のイネイブラーに対するメタデータを定義する第3の層とを含んでいる、項目18に記載のコンテンツパッケージ。
【0031】
(項目20)
上記第3の層は、上記配信イネイブラーには認識されない、項目19に記載のコンテンツパッケージ。
【0032】
(項目21)
上記第2の層は、所定の挙動を有する表現、命令、またはパラメータを含み、該所定の挙動には、上記外部イネイブラーの機能への、該表現、命令、またはパラメータのバインディングを含む、項目19または項目20に記載のコンテンツパッケージ。
【0033】
(項目22)
上記第1の層は、状態チャートの表現言語に対するXMLシンタックスを定義するネームスペースによって参照される、項目19〜項目21のいずれか一項に記載のコンテンツパッケージ。
【0034】
(項目23)
上記機能ブロックは、状態識別子、ガード表現、外部のサービスの識別子、アクションバーブ、パラメータ、および/または状態遷移のうちのいずれか1つ、または任意の組み合わせを含んでいる、項目18〜項目22のいずれか一項に記載のコンテンツパッケージ。
【0035】
(項目24)
上記アクションバーブは、イネイブラーの機能に調整命令をマッピングするために用いられるように構成されている、項目23に記載のコンテンツパッケージ。
【0036】
(項目25)
上記外部参照は、外部のサービスに対するネームスペース宣言である、項目16〜項目24のいずれか一項に記載のコンテンツパッケージ。
【0037】
(項目26)
上記外部のサービスは、存在サービス、位置サービス、コンテンツスクリーニングサービス、および/または圧縮サービスのうちのいずれかを含んでいる、項目25に記載のコンテンツパッケージ。
【0038】
(項目27)
処理状態に対する要素内に、外部のイネイブラーに対するスキームをさらに含んでいる、項目16〜項目26のいずれか一項に記載のコンテンツパッケージ。
【0039】
(項目28)
コンピューティングデバイスに項目1〜項目14のいずれか一項に記載の方法のステップを実行させるためのプログラムコードを格納している、コンピュータ読取り可能な媒体。
【0040】
(摘要)
モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法およびシステムであって、この方法は、コンテンツに関連するメタデータのエンベロープ内に、外部のイネイブラーに対する外部参照を埋め込むステップと;コンテンツ処理調整ルールをメタデータのエンベロープの中に挿入するステップとを含んでいる。
【発明を実施するための最良の形態】
【0041】
本開示は、図面を参照するとより良く理解される。
【0042】
ここで図1に対する参照がなされる。動的なコンテンツをクライアントアプリケーションに配信するためのプッシュシステムが示されている。図1のシステムは、単純化されたシステムであり、動的なコンテンツ配信アーキテクチャにおいて必要とされる論理コンポーネントを示している。しかしながら、当業者によって理解されるように、その他のコンポーネントが存在し得、あるいは様々なコンポーネントが一緒にグループ化され得る。
【0043】
アーキテクチャ100は、コンテンツプロバイダ110を含んでいる。コンテンツプロバイダ110は、動的なコンテンツをユーザに提供するように配置されている。これは、例えば、ウェブサイトが販売している書籍を含み得る。コンテンツプロバイダ110は、新しく発売された書籍のリストを定期的に提供し得、このリストは、ウェブサイトに加入契約している加入者または加入者契約を管理している配信サーバのいずれかに送信され得る。
【0044】
好適な実施形態において、配信サーバ120は、無線ネットワーク130を介することにより、モバイルデバイスに配置された配信クライアント140と通信する。配信クライアント140は、コンテンツプロバイダ110から配信されたコンテンツを受信し、このコンテンツをコンテンツクライアント150と通信し得る。最終的にコンテンツクライアント150は、このコンテンツを消費する。
【0045】
当業者によって理解されるように、本開示におけるイネイブラーは、フレームワークと等価である。したがって、配信イネイブラーは、配信サーバ120および配信クライアント140を含む。
【0046】
当業者によって理解されるように、コンテンツクライアント150に対するコンテンツの配信のために、様々な外部機能が要求され得る。これらの外部機能は、サーバ側102およびデバイス側104の両方に存在し得る。図1において、外部機能は、サーバ側102では外部機能132、134、および136として示されており、デバイス側104では外部機能144、146、および148として示されている。外部機能の実施例は、存在、位置、コンテンツスクリーニング(content screening)、および圧縮を特に含み得るが、それらには限定されない。
【0047】
ここで図2に対する参照がなされる。システムにインテリジェンスを追加するために、コンテンツはメタデータと関連付けられる。この場合、メタデータは、コンテンツをマニュピレートするために処理要素によって使用され得るデータとして定義される。理解され得るように、一般的なコンテンツ配信システムは、様々なコンテンツプロバイダおよびコンテンツクライアントがシステム内に存在することを可能にするために、メタデータを要求する。メタデータは、処理パラメータもしくはルール、または直接的に提供される処理ハンドラ、コードもしくは参照(referece)、または別の位置における処理ハンドラ、コードもしくはルールに対するリンクを含む、様々な形式であり得る。
【0048】
図2に見ることができるように、コンテンツは、矢印210によって示されているように、コンテンツプロバイダ110からコンテンツクライアント150にパスされる。メタデータ(アーキテクチャ100内の様々なコンポーネントに対する命令を提供する)もまた、通常はコンテンツと共に、アーキテクチャ100内のコンポーネントの間でパスされ得る。例えば、矢印220は、コンテンツクライアントに対するメタデータを示している。このメタデータは、コンテンツプロバイダ110において発生し、これがコンテンツクライアント150に到達するまで、配信システムには認識されない。
【0049】
矢印230は、コンテンツプロバイダ110によって形成されたメタデータを示している。このメタデータは、配信クライアント140に向けたものであるので、配信クライアント140に対してのみ流れる。
【0050】
矢印240は、配信サーバ120によって生成され、配信クライアント140に対して意図されたメタデータを示しており、最初に配信サーバ120においてコンテンツと関連付けられ、そして配信クライアント140においてコンテンツから分離(strip)される。これが起こり得る場合の実施例は、ユーザとサービスプロバイダ(提供されるサービスの料金プランおよびレベルに関連する)との間の契約を含み、この場合には、サービスプロバイダは、利用可能なサービスを制限したり、または拡張されたサービスを提供したりするために、メタデータを使用し得る。
【0051】
ここで図3に対する参照がなされる。図3は、コンテンツのメタデータに対する多層のエンベロープモデルを示している。
【0052】
配信サーバ120は、プッシュエンベロープ310を受信する。このプッシュエンベロープ310は、配信サーバ120に対するコンテンツ処理のメタデータ312、および配信クライアントのエンベロープ314を含んでいる。配信サーバ120は、コンテンツ処理メタデータ312を抽出し、これを使用することによって、配信クライアントのエンベロープ314を処理する。メタデータ312は、配信サーバ120が配信クライアントのエンベロープ314を用いて何をすべきかを記述している。
【0053】
配信クライアントのエンベロープ314は、配信クライアント140にパスされ、ここでは、配信クライアントのエンベロープ314は、コンテンツのエンベロープ320およびコンテンツ処理のメタデータ322に分解される。コンテンツ処理のメタデータ322は、配信クライアント140によって、コンテンツのエンベロープ320を処理するために使用される。例えば、これは、コンテンツクライアント150が、最新バージョンのコンテンツのみに興味がある場合に、既に配信されたコンテンツのエンベロープ320と最新のエンベロープとの置換を実行するように、配信クライアント140に命令するために使用され得る。
【0054】
コンテンツのエンベロープ320は、コンテンツクライアント150にパスされる。コンテンツのエンベロープ320は、コンテンツクライアント150に対するコンテンツ処理のメタデータ330、およびコンテンツクライアント150によって消費されるコンテンツのペイロード332を含んでいる。
【0055】
当業者によって理解されるように、図3にしたがうエンベロープの入れ子構造は、アーキテクチャの任意の処理要素において処理が行われ得、特定のコンテンツのうちのどれが扱われるべきかをコンテンツプロバイバイダ110が指定し得る、リッチな動的環境を提供する。一実施形態において、メタデータは特定の論理要素に対して意図され、その他の処理要素には認識されない。
【0056】
さらに理解され得るように、メタデータは、コンテンツの配信の様々なステージに対してのみ含まれ得る。例えば、メタデータは、配信サーバ120と配信クライアント140との間でのみ要求され得、したがってコンテンツクライアント150に対するメタデータは、一切含まれないことがあり得る。
【0057】
その他の代替案は、当業者にとっては明白であり得る。
【0058】
上記では、コンテンツ配信イネイブラーに対するメタデータを記載しているが、一部の場合においては、モバイルコンテンツ配信イネイブラーが、コンテンツクライアント150にコンテンツを配信する間に、その他のフレームワークおよびイネイブラーと関与することを必要とし得る。同様に、配信イネイブラーは、コンテンツクライアント150にコンテンツを配信する間に、その他のフレームワークおよびイネイブラーと関与することを必要とし得る。上記で示唆されたように、外部機能の実施例は、存在、位置、コンテンツスクリーニング、圧縮を特に含む。例えば、外部のイネイブラーは、存在のイネイブラーであり得る。ユーザは、データローミングの課金を回避するために、ユーザがホームネットワークに存在するときのみに、特定のコンテンツが配信されるべきであるというルールを指定し得る。そのようなイネイブラーは、モバイルデバイスが位置している場所を探すためには、その他のイネイブラー(例えば、位置イネイブラー)の機能を使用する必要がある。
【0059】
イネイブラーのその他の実施例は、コンテンツスクリーニングを含み、これは、特定のタイプのコンテンツが、モバイルデバイスに配信されることを回避し得る。
【0060】
デバイス側のイネイブラーの実施例は、圧縮イネイブラーであり得、これは、特定のコンテンツがコンテンツクライアント150にパスされる前に、この特定のコンテンツを解凍する必要があり得る。
【0061】
コンテンツ配信イネイブラーは、典型的には、外部のイネイブラーの機能を有していないことがあり得るので、リッチなコンテンツ配信のフレームワークを提供するためには、外部のイネイブラーにアクセスする必要がある。
【0062】
当業者によって理解され得るように、コンテンツは、配信ネットワークには認識されない。したがって、外部のコンテンツの処理の必要性を指示し、この処理を調整する唯一の方法は、メタデータの使用を介することである。
【0063】
ここで図4に対する参照がなされる。図4は、図1のコンテンツプロバイダ110のようなコンテンツプロバイダから受信した例示的なコンテンツパッケージ410を示している。
【0064】
コンテンツパッケージ410は、コンテンツ412およびメタデータのエンベロープ420を含んでいる。上記で示唆されたように、コンテンツ412は、配信フレームワークには認識されない。したがって、外部のコンテンツの処理の必要性を指示し、この処理を調整する唯一の方法は、メタデータのエンベロープ420におけるメタデータの使用を介することである。
【0065】
メタデータのエンベロープ420は、ネームスペース宣言ボックス430を含んでおり、これは、コンテンツ412の処理のための使用される外部のサービスに対するネームスペース宣言を考慮する。2つの例示的なネームスペース宣言が、参照番号435と関連して示されている。
【0066】
メタデータのエンベロープ420は、図1の配信サーバ120のような配信サーバによる処理のために、メタデータブロック440を含んでいることがさらに好適である。
【0067】
メタデータブロック440は、配信サーバによる処理のための様々なメタデータを含んでいる。メタデータブロック440は、外部機能と関与するための様々な機能ブロックをさらに含んでいる。これらは、図4における機能ブロック442および444によって示されている。
【0068】
メタデータのエンベロープ420はまた、図1の配信クライアント140のような配信クライアントによる処理のために、メタデータブロック450を含んでいる。メタデータブロック450は、機能ブロック452および454に加えて、配信クライアントによって処理されるメタデータを含んでいる。
【0069】
当業者によって理解されるように、外部機能と関与するための、ブロック450における2つの機能ブロックの使用は、単に例示的なものであり、本開示は、外部機能ブロックによって関与される特定の数の外部機能に限定されることは意図されていない。言い換えると、メタデータブロック440またはメタデータブロック450は、外部の機能と関与する命令またはルールを一切含んでいなかったり、あるいは多数の機能ブロックを介して複数の外部機能と関与することがあったりし得る。
【0070】
例えば機能ブロック442のような機能ブロックの実施例は、参照番号460によって示されている。参照番号460は、機能ブロックの論理表現を示している。図4の実施例において、機能ブロックは、状態ツリーにおけるノードである。
【0071】
機能ブロックは、状態ツリーにおける状態を識別する状態識別子462を含んでいることが好適である。
【0072】
機能ブロックは、ガード表現および/または条件(guard expression and/or condition)464をさらに含み得、これは、満たされた場合に、状態に対し実行されるべき処理を引き起こす、論理表現を含んでいる。
【0073】
機能ブロックはさらに、利用される外部のサービスまたは機能を識別するために、外部のサービスまたは機能の識別子466を含み得る。
【0074】
機能ブロックはさらに、この外部のサービスの機能のうちコンテンツ配信イネイブラーが使用し得る機能を定義する、アクションバーブ(action verb)468を含み得る。
【0075】
機能ブロックはさらに、機能ブロックにおいて定義された機能が呼び出されたときに、外部のイネイブラーにパスされる必要があるパラメータのリストを定義するパラメータ470を含み得る。
【0076】
機能ブロックはさらに、アクションバーブの結果に基づく、どの状態に次に移行するかを指示する状態遷移472を含み得る。
【0077】
ここで図5に対する参照がなされる。図5は、機能ブロック510の層構造を示しており、これは、処理状態の表現である。以下に記載されるように、様々な埋め込みブロックが、機能ブロック510内に存在する。
【0078】
第1のブロック520は、状態チャートを定義する一連の共通のXML要素である。当業者によって理解され得るように、用語「要素(element)」は、広い用語であり、対応するXMLタグを用いて開始および終了するXMLドキュメントのサブセットを含んでいる。
【0079】
ブロック520は、状態チャートの表現言語に対するXMLシンタックスを定義するネームスペースによって参照される要素を含んでいる。実施例は、特に、状態チャート拡張マークアップ言語(SCXML)、ビジネスプロセス実行言語(BPEL)、およびXProcを含む。
【0080】
さらなる埋め込みブロック530は、配信イネイブラーによって定義されたメタデータを含んでおり、外部のイネイブラーに対するバインディングを含んでいる。ブロック530は、配信イネイブラーに対するネームスペースによって参照されるXMLを含んでおり、そしてもしあれば、外部のイネイブラーに対する全てのXMLバインディング、および内部処理命令を含んでいる。
【0081】
さらなる埋め込みブロック540は、外部のイネイブラーによる使用のために定義されたメタデータである。このブロックは、外部のイネイブラーに対するネームスペースによって参照され、外部のイネイブラーのスキームにおいて定義される要素を含んでいる。これらの要素は、配信イネイブラーには認識されない。
【0082】
当業者によって理解されるように、ブロック530内の要素は、外部のイネイブラーの機能/パラメータ上への要素のバインディングを含む配信イネイブラーの所定の挙動を指定する。これらの要素は、配信イネイブラーのメタデータの解釈層によって理解され得る。逆に、ブロック540内の要素は、配信イネイブラーには認識されず、外部のイネイブラーに「そのまま(as is)」パスされる。これらの要素は、外部のイネイブラーのスキームによって定義される構成を表現しているので、外部のイネイブラーによって理解される。
【0083】
このように上述では、ネームスペースおよび外部のイネイブラーに対するバインディングを表現するスキームを使用することによって、配信の間にモバイルコンテンツの処理を調整するための方法を提供している。これは、処理状態に対するXML要素内に対応するスキームで定義される要素を埋め込むことによって達成される。
【0084】
上述は、以下の例示的なSCXML要素のコードセグメントを参照することによって、そして図6を参照することによって、より明確に理解され得る。
【0085】
以下は、SCXMLにおいて表現される調整メタデータの実施例を示している:
【0086】
【化1】

【0087】
【化2】

上記のコードセグメントの最初の5行は、図4のブロック430の一部分である。特に、これらはXMLバージョンに対するネームスペース宣言、ならびに動的なコンテンツ配信、デバイス性能イネイブラー、デバイス位置イネイブラー、およびデバイス存在イネイブラーに対するネームスペース宣言である。理解され得るように、これらは、ネームスペース宣言の一部分として使用および宣言され得る様々なイネイブラーの単なる実施例に過ぎない。さらに、上で示されているネームスペース宣言は、単なる実施例として含まれているに過ぎず、イネイブラーに対する実際のURLを表現しているわけではない。
【0088】
コードの次の行は、‘initialstate=“content received”‘を示している。これは、コンテンツ処理の推移の初期状態を示している。
【0089】
次の行は、‘state id=“content received”‘を示している。これは、図5のブロック520の一部分であり、機能ブロックの状態を定義している。
【0090】
さらに、行‘invoke src=“checkMemory”‘は、図5のブロック520の一部分であり、外部機能を呼び出すようにSCXMLに告げている。
【0091】
次の行は、‘dcd:action function−id=“DCAP:checkMemory”‘を示している。このアクションは、配信能力イネイブラー上の外部機能checkMemoryが利用され得るということを定義している。
【0092】
次の行は、<dcd:verb>validateMemorySize</dcd:verb>である。これは、動的なコンテンツ配信イネイブラーが理解するアクションバーブである。
【0093】
次の2行は、外部機能checkMemoryが使用するパラメータを示している。
【0094】
次の行は、<dp:function>checkMemory</dp:function>である。これは、dcdアクションバーブのvalidateMemorySizeを外部機能にマッピングしている。この場合、外部機能は、checkMemoryであり、ネームスペース定義においてネーム「dp」を用いて定義されたデバイス性能イネイブラーの一部分である。
【0095】
次の行は、外部機能からの、期待される結果のタイプを定義している。
【0096】
上のコードセグメント、すなわちdcd:action、dcd:verb、およびdcd:parametersは、図5のブロック530に属している。これらは、配信イネイブラーの所定の挙動であり、外部のイネイブラーの機能またはパラメータ上への要素のバインディングを含んでいる。
【0097】
行dp:functionおよびdp:resultは、ブロック540に属しており、dcdイネイブラーには認識されない。
【0098】
行:<transition event=”success”cond=”checkMemory.result”target=”CheckRoaming”/>は、特定のイベントが発生したかどうか、および条件が満たされたかどうかを確認するためにチェックを行う。イベントが発生し、かつ条件が満たされた場合、この行は、推移すべき次の状態を定義する。この場合では、次の状態は”Check Roaming”である。
【0099】
行<transition event=”failure”cond=”!isRoaming.result”target=”Send Rejected”/>においては、イベントが失敗し、かつcheck memoryが「偽(false)」を返すと、状態は“Check Fragmentation”に推移する。
【0100】
当業者によって理解され得るように、上で定義された遷移イベントは、図5のブロック520に属している。
【0101】
ここで図6を参照すると、上述のことが、状態図に関連して示されている。特に、初期状態610は、状態:「Content Received」である。アクションバーブのvalidateMemorySizeは、コンテンツ配信イネイブラー602内で使用され、メタデータの解釈層604において解釈される。
【0102】
メタデータの解釈層604において、外部機能checkMemory620が呼び出され、デバイスパラメータ‘deviceID’および‘contentSize’をパスさせる。その後デバイス性能イネイブラー622は、メタデータ解釈層604に結果624を返し、validateMemorySize612のバーブを介して、パラメータをパスし戻し、結果614が状態610にパスし戻される。
【0103】
ステップ630において、結果614がチェックされ、もし真である場合には、状態は“Check Roaming”状態640に遷移し、もし偽である場合には、状態は“Check Fragmentation”状態(図示されず)に遷移する。
【0104】
再び上のコードセグメントを参照すると、さらなる機能ブロックが、‘state ID=“check roaming”’によって定義されている。
【0105】
このアクションは、機能ID“LOC:isRoaming”を用いることによって、動的なコンテンツ配信に対して定義されている。
【0106】
表現<dcd:verb>isHomeNetwork</dcd:verb>は、アクションバーブを提供する。アクションバーブに対するパラメータは、ContentHeader:deviceIDとして、次の行において定義される。
【0107】
動的なコンテンツ配信は、そのスキームにおいて定義された、例えば表現“someExoticElement”のような任意の要素を使用し得る。
【0108】
次の2行、すなわち:
<l:name>isRoaming</l:name>
<l:param>”ignoreNetworkAgreements=true”</l:param>
は、バーブ“isHomeNetwork”にマッピングされる外部機能を定義している。この外部機能は、“isRoaming”機能であり、“ignoreNetworkAgreements”のパラメータを含んでいる。当業者によって理解されるように、位置イネイブラーは、この機能を扱うように適合化され、この機能は、動的なコンテンツ配信イネイブラーには認識されない。
【0109】
次の2行は、遷移を定義している。“isRoaming”が真を返した場合、状態遷移は、check availability状態に遷移する。“is roaming”の結果が偽である場合、状態は“Send Rejected”状態に遷移する。
【0110】
これは、図6に示されている。図6において、状態640は、“Check Roaming”状態であり、アクションバーブ642“isHomeNetwork”が、状態640から使用され得る。メタデータの解釈層604は、“isHomeNetwork”を解釈し、位置イネイブラー652における“isRoaming”機能650を呼び出すためのアクションバーブを使用する。
【0111】
位置イネイブラー652は、結果654を返し、この結果は、メタデータの解釈層604を介して“isHomeNetwork”バーブ642に伝搬され、このバーブは、check roaming状態640に結果644を返す。
【0112】
その後、660において結果がチェックされる。この結果は、上のコードにおける“transition”コマンドに対応している。660における結果が真である場合、状態は、状態670の“Check Availability”状態に遷移する。結果が偽の場合、状態は“Send Rejected”状態(図示されず)に推移する。
【0113】
同様な機能が、状態670に当てはまる。この場合におけるアクションバーブは、“isUserAvailable”である。メタデータの解釈層604は、“isUserAvailable”バーブ672を使用し、存在イネイブラー682の“isAvailable”機能680を呼び出す。結果684が返され、その後結果674として、状態670に返される。これに基づいて、状態遷移が発生し得る。
【0114】
このように上述では、外部アクションのグループを使用して、外部のイネイブラーの機能に調整命令をマッピングするための方法を提供している。配信イネイブラーにおいて定義されたアクションバーブを外部機能上へとマッピングするための解釈層は、サービス間の疎結合を可能にする。
【0115】
当業者によって理解され得るように、調整メタデータは、状態図(例えば、特にハレル状態、UML状態図、ペトリネット等)のXML表現を用いて定義される。図中の各状態は、配信の間にモバイルコンテンツを処理するために使用され得る外部のモバイルサービスによって公表される機能に対応している。外部のサービス、フレームワーク、およびイネイブラー(特に、位置、存在、配信能力、ユーザープロフィール等)は、デバイス、ユーザの設定、ユーザの位置、およびユーザの状態にしたがって、コンテンツ配信およびコンテンツ表現をパーソナライズするために使用され得る。このサービスは、公表されている2つ以上の機能を有し得る。
【0116】
機能およびサービスは、識別子によって識別されるが、この識別子は、特に統一資源識別子(URI)、ネーム、グローバル一意識別子(GUID)、タグ等であり得る。
【0117】
ガード表現、アクションバーブ、パラメータ、および結果は、配信イネイブラーおよび配信フレームワークのスキームによって定義される言葉で、および/または特定の外部のサービスのスキームによって定義される言葉で、表現される。配信イネイブラーのスキームは、配信イネイブラーによって理解されるXML要素を定義し、外部のイネイブラーの機能およびパラメータに対する所定のバインディングを含んでいる。外部のイネイブラーに対するスキームは、外部のイネイブラーによってモバイルコンテンツの処理を補助し得る追加的なパラメータを定義する。これらのパラメータは、配信イネイブラーには認識されず、XMLスキームの拡張機構を用いることによって、配信イネイブラーのメタデータ内に埋め込まれる。
【0118】
上記で示唆されたように、配信イネイブラーは、デバイス側またはサーバ側のいずれかに存在し得る。さらなる実施形態において、全てのサーバ機能は、デバイス側に移行され得、そしてデバイス側のみが、配信イネイブラーに対して存在し得る。
【0119】
配信クライアントおよびコンテンツクライアントは、任意のモバイルデバイスにおいて見出され得る。例示的なモバイルデバイスの1つは、図7に提供されている。ここで図7に対する参照がなされる。
【0120】
図7は、本出願の装置および方法の好適な実施形態と共に使用され得るモバイルステーションを示しているブロック図である。モバイルステーション700は、好適には、少なくとも音声通信能力およびデータ通信能力を有している、双方向無線通信デバイスである。モバイルステーション700は、好適には、インターネット上のその他のコンピュータシステムと通信する能力を有している。提供される完全な機能に依存して、無線デバイスは、例えば、データメッセージングデバイス、双方向ページャ、無線eメールデバイス、データメッセージング能力を有するセル方式電話、無線インターネット機器、またはデータ通信デバイス等と称され得る。
【0121】
モバイルステーション700が双方向通信可能な場合、このモバイルステーションは、通信サブシステム711を組み込み得る。この通信サブシステム711は、受信器712および送信器714の両方、ならびに関連するコンポーネント(例えば、好適には埋め込み型または内蔵型の、アンテナ要素716および718、局所発振器(LO)713、およびデジタル信号プロセッサ(DSP)720のような処理モジュールのうちの1つ以上)を含んでいる。通信分野の当業者に理解され得るように、通信サブシステム711の特定の設計は、デバイスが動作することが意図されている通信ネットワークに依存し得る。
【0122】
ネットワークアクセス要件はまた、ネットワーク719のタイプに依存して変動し得る。一部のCDMAネットワークにおいて、ネットワークアクセスは、モバイルステーション700の加入者またはユーザに関連付けられ得る。CDMAモバイルステーションは、CDMAネットワーク上で動作するために、リムーバブルユーザアイデンティティモジュール(RUIM;removable user identity module)または加入者識別モジュール(SIM;subscriber identity module)カードを必要とし得る。SIM/RUIMインターフェース744は、通常、ディスケットまたはPCMCIAカードのように、SIM/RUIMカードが出し入れされ得るカードスロットに類似したものであり得る。SIM/RUIMカードは、約64Kのメモリを有し得、多数のキー構成751、およびその他の情報753(例えば、識別および加入者関連情報)を保持し得る。
【0123】
要求されたネットワーク登録または作動手順が完了すると、モバイルステーション700は、ネットワーク719を介して通信信号を送受信し得る。図7に示されているように、ネットワーク719は、モバイルデバイスと通信する複数の基地局を含み得る。例えば、ハイブリッドCDMA1xEVDOシステムにおいては、CDMA基地局およびEVO基地局がモバイルステーションと通信し、モバイルステーションは、同時に両方に接続される。EVDO基地局およびCDMA1x基地局は、異なるページングスロットを使用して、モバイルデバイスと通信する。
【0124】
通信ネットワーク719を介してアンテナ716によって受信された信号は、受信器712に入力される。この受信器712は、通常の受信器機能、例えば、信号増幅、周波数ダウン変換、フィルタリング、チャネル選択など、そして図7に示されている例示的なシステムにおいては、アナログデジタル(A/D)変換を実行し得る。受信した信号のA/D変換は、より複雑な通信機能、例えば、DSP720において実行されるべき復調およびデコーディングを可能にする。同様に、送信されるべき信号は、例えばDSP720によって処理され(変調および符号化を含む)、デジタルアナログ変換、周波数アップ変換、フィルタリング、増幅、およびアンテナ718を介する通信ネットワーク719上の伝送のために、送信器714に入力される。DSP720は、通信信号を処理するのみならず、受信器および送信器の制御をも提供する。例えば、受信器712および送信器714において通信信号に印加される利得は、DSP720において実装された自動利得制御アルゴリズムを介して、適応制御され得る。
【0125】
モバイルステーション700は、デバイスの全体の動作を制御する、マイクロプロセッサ738を含むことが好適である。通信機能(少なくともデータ通信能力および音声通信能力を含む)は、通信サブシステム711を介して実行される。マイクロプロセッサ738はまた、さらなるデバイスサブシステム、例えば、ディスプレイ722、フラッシュメモリ724、ランダムアクセスメモリ(RAM)726、補助入力/出力(I/O)サブシステム728、シリアルポート730、1つ以上のキーボードまたはキーパッド732、スピーカ734、マイクロフォン736、短距離通信サブシステムのようなその他の通信サブシステム740、および一般に742として示されているその他任意のデバイスサブシステムと相互作用する。シリアルポート730は、USBポートまたは当業者に公知のその他のポートを含み得る。
【0126】
図7に示されているサブシステムの一部は、通信関連機能を実行するが、その他のサブシステムは、「常駐」またはデバイス上の機能を提供し得る。一部のサブシステム(例えば、キーボード732およびディスプレイ722)が、通信関連機能(例えば、通信ネットワーク上での伝送のためにテキストメッセージを入力すること等)およびデバイス常駐機能(例えば、電卓またはタスクリスト)の両方のために使用され得るということに、留意されたい。
【0127】
マイクロプロセッサ738によって使用されるオペレーティングシステムソフトウェアは、好適には、フラッシュメモリ724のような永続性の格納装置に格納される。このフラッシュメモリ724は、リードオンリメモリ(ROM)または同様の格納要素(図示されず)に置換され得る。当業者は、オペレーティングシステム、特定のデバイスアプリケーション、またはそれらの一部は、揮発性メモリ(例えば、RAM726)に一時的にロードされ得るということを理解し得る。受信した通信信号もまた、RAM726に格納され得る。
【0128】
示されているように、フラッシュメモリ724は、コンピュータプログラム758とプログラムデータ格納装置750、752、754、および756との両方の異なるエリアに分離され得る。これらの異なる格納タイプは、各プログラムが、それら自身のデータ格納要求に対して、フラッシュメモリ724の一部を割り当て得るということを示している。マイクロプロセッサ738は、そのオペレーティングシステム機能に加えて、モバイルステーション上のソフトウェアアプリケーションの実行が可能であることが好適である。基本的な動作を制御する一連のアプリケーション(例えば、少なくともデータ通信アプリケーションおよび音声通信アプリケーションを含む)は、通常、製造中にモバイルステーション700にインストールされ得る。その他のアプリケーションは、その後または動的にインストールされ得る。
【0129】
好適なソフトウェアアプリケーションは、モバイルステーションのユーザに関係のあるデータアイテムを編集および管理する能力を有している、個人情報管理(PIM)アプリケーションであり得、このデータアイテムは、eメール、カレンダーイベント、音声メール、予約、およびタスクアイテムなどであるが、これらには限定されない。通常、PIMデータアイテムの格納を容易にするために、1つ以上のメモリ格納装置が、モバイルステーション上で利用可能であり得る。そのようなPIMアプリケーションは、無線ネットワーク719を介して、データアイテムを送受信する能力を有していることが好適であり得る。好適な実施形態において、PIMデータアイテムは、無線ネットワーク719を介することにより、ホストコンピュータシステムに格納または関連付けられたモバイルステーションのユーザの対応するデータアイテムと、シームレスに統合され、同期化され、そして更新される。さらなるアプリケーションもまた、ネットワーク719、補助I/Oサブシステム728、シリアルポート730、短距離通信サブシステム740、またはその他任意の適切なサブシステム742を介することによって、モバイルステーション700にロードされ得、マイクロプロセッサ738による実行のために、ユーザによって、RAM726または好適には不揮発性格納装置(図示されず)にインストールされ得る。アプリケーションのインストールにおけるそのような柔軟性は、デバイスの機能を増大させ、高められたデバイス上の機能、通信関連機能、またはそれらの両方を提供し得る。例えば、セキュア通信アプリケーションは、モバイルステーション700を用いて実行されるべき電子商取引機能およびその他の類似の金融取引機能を可能にし得る。
【0130】
データ通信モードにおいて、受信した信号(例えば、テキストメッセージまたはウェブページダウンロード)は、通信サブシステム711によって処理され、マイクロプロセッサ738に入力され得る。このマイクロプロセッサ738は、ディスプレイ722または補助I/Oデバイス728に出力するために、受信した信号をさらに処理することが好適である。配信クライアント760(配信クライアント140と等価であり得る)もまた、入力を処理し得る。
【0131】
またモバイルステーション700のユーザは、例えば、キーボード(好適には、完全英数字キーボードまたは電話タイプキーパッド)732と共に、ディスプレイ722、そしてもしかすると補助I/Oデバイス728を用いることにより、データアイテム(例えばeメールメッセージ)を編集し得る。そのように編集されたアイテムは、その後、通信サブシステム711を介して、通信ネットワーク上に伝送され得る。
【0132】
音声通信に対しては、受信した信号が好適にはスピーカ734に出力され得、送信のための信号がマイクロフォン736によって生成され得るということを除き、モバイルステーション700の全体の機能は類似している。代替的な音声またはオーディオI/Oサブシステム(例えば、音声メッセージ録音サブシステム)もまた、モバイルステーション700上に実装され得る。音声またはオーディオ信号出力は、主にスピーカ734を介して達成されることが好適であるが、ディスプレイ722もまた、例えば発呼側の識別、音声コールの経過時間、またはその他の音声コール関連の情報の表示を提供するために用いられ得る。
【0133】
図7におけるシリアルポート730は、通常、ユーザのデスクトップコンピュータ(図示されず)との同期化が所望され得る、パーソナルデジタルアシスタント(PDA)タイプのモバイルステーションに実装され得るが、オプションのデバイスコンポーネントである。そのようなポート730は、ユーザが外部デバイスまたは外部デバイスまたはソフトウェアアプリケーションを介して優先度を設定することを可能にしたり、無線通信ネットワーク以外によってモバイルステーション700に情報またはソフトウェアダウンロードを提供することによって、モバイルステーション700の能力を拡張したりし得る。代替的なダウンロードパスは、例えば、直接的な、そして信頼性があり、確実な接続を介することにより、暗号化キーをデバイスにロードし、それによって、セキュアなデバイス通信を可能にするために用いられ得る。当業者によって理解され得るように、シリアルポート730はさらに、モバイルデバイスをコンピュータに接続してモデムとして動作させるために用いられ得る。
【0134】
その他の通信サブシステム740、例えば短距離通信サブシステムは、モバイルステーション700と様々なシステムまたはデバイス(これらは、必ずしも類似のデバイスであるとは限らない)との間の通信を提供し得る、さらなるオプションのコンポーネントである。例えば、サブシステム740は、同様に使用可能なシステムまたはデバイスとの通信を提供するために、赤外線デバイス、ならびに関連のある回路およびコンポーネントまたはBluetooth(TM)通信モジュールを含み得る。
【0135】
本明細書に記載された実施形態は、本出願の技術の要素に対応する要素を有する構造、システム、または方法の実施例である。この記載された説明は、代替的な要素(本出願の技術の要素と類似の対応する要素)を有する実施形態を、当業者が生産および使用することを可能にする。したがって、本出願の技術の意図されている範囲は、本明細書に記載されている本出願の技術とは異ならないその他の構造、システム、または方法を含み、本明細書に記載されている本出願の技術とは本質的ではない点のみが異なるその他の構造、システム、または方法をもさらに含む。
【図面の簡単な説明】
【0136】
【図1】図1は、配信アーキテクチャ内の論理コンポーネントを示しているブロック図である。
【図2】図2は、図1の論理コンポーネントの間のメタデータの流れを示しているブロック図である。
【図3】図3は、図1の論理コンポーネントの間のメタデータ処理のためのエンベロープされたモデルを示しているブロック図である。
【図4】図4は、コンテンツおよびメタデータのエンベロープを含む例示的なコンテンツパッケージを示しているブロック図である。
【図5】図5は、機能ブロックを示しているブロック図である。
【図6】図6は、コンテンツ配信イネイブラーと外部のイネイブラーとの間のメタデータの例示的な調整を示している状態図である。
【図7】図7は、本発明の方法およびシステムに関連して使用され得る、例示的なモバイル配信システムを示しているブロック図である。
【符号の説明】
【0137】
310 プッシュエンベロープ
312 コンテンツ処理のメタデータ
314 配信クライアントのエンベロープ
320 コンテンツのエンベロープ
322、330 コンテンツ処理のメタデータ
332 コンテンツのペイロード
410 コンテンツパッケージ
412 コンテンツ
420 メタデータのエンベロープ
430 ネームスペース宣言ボックス
440、450 メタデータブロック
442、444、452、454 機能ブロック
460 機能ブロックの論理表現
462 状態識別子
464 ガード表現および/または条件
466 外部のサービスまたは機能の識別子
468 アクションバーブ
470 パラメータ
472 状態遷移

【特許請求の範囲】
【請求項1】
モバイル配信フレームワークにおけるコンテンツ処理を調整するための方法であって、
コンテンツに関連するメタデータのエンベロープ内に、外部のイネイブラーに対する外部参照を埋め込むステップと、
コンテンツ処理調整ルールを該メタデータのエンベロープの中に挿入するステップと
を包含する、方法。
【請求項2】
前記コンテンツ処理調整ルールは、拡張マークアップ言語「XML」でパッケージされた状態チャートである、請求項1に記載の方法。
【請求項3】
前記XMLでパッケージされた状態チャートは、埋め込まれた層を有する機能ブロックを含んでいる、請求項2に記載の方法。
【請求項4】
前記埋め込まれた層は、共通のXML要素を定義する第1の層と、外部のイネイブラーに対するバインディングを有している、配信イネイブラーに対するメタデータを定義する第2の層と、外部のイネイブラーに対するメタデータを定義する第3の層とを含んでいる、請求項3に記載の方法。
【請求項5】
前記第3の層は、前記配信イネイブラーには認識されない、請求項4に記載の方法。
【請求項6】
前記第2の層は、所定の挙動を有する表現、命令、またはパラメータを含み、該所定の挙動には、前記外部イネイブラーの機能への、該表現、命令、またはパラメータのバインディングを含む、請求項4または請求項5に記載の方法。
【請求項7】
前記第1の層は、状態チャートの表現言語に対するXMLシンタックスを定義するネームスペースによって参照される、請求項4〜請求項6のいずれか一項に記載の方法。
【請求項8】
前記機能ブロックは、状態識別子、ガード表現、外部のサービスの識別子、アクションバーブ、パラメータ、および/または状態遷移のうちのいずれか1つ、または任意の組み合わせを含んでいる、請求項3〜請求項7のいずれか一項に記載の方法。
【請求項9】
前記アクションバーブは、イネイブラーの機能に調整命令をマッピングするために用いられる、請求項8に記載の方法。
【請求項10】
前記マッピングは、メタデータの解釈層によって実行される、請求項9に記載の方法。
【請求項11】
前記状態遷移は、アクションバーブを用いて外部の機能を呼び出すことから受け取った結果に基づいている、請求項8〜請求項10のいずれか一項に記載の方法。
【請求項12】
前記外部参照は、外部のサービスに対するネームスペース宣言である、請求項1〜請求項11のいずれか一項に記載の方法。
【請求項13】
前記外部のサービスは、存在サービス、位置サービス、コンテンツスクリーニングサービス、および/または圧縮サービスのうちのいずれかを含んでいる、請求項12に記載の方法。
【請求項14】
前記挿入するステップは、処理状態に対する要素内の外部に、イネイブラーに対するスキームを定義する、請求項1〜請求項13のいずれか一項に記載の方法。
【請求項15】
コンテンツプロバイダであって、該コンテンツプロバイダは、外部参照およびコンテンツ処理調整ルールを、該コンテンツプロバイダによって供給されるコンテンツに関連するモバイルコンテンツ配信メタデータの中に埋め込むように構成されている、コンテンツプロバイダと、
コンテンツ配信イネイブラーであって、
配信サーバであって、該配信サーバは、該配信サーバに向けられたメタデータを処理するように構成されている、配信サーバと、
配信クライアントであって、該配信クライアントは、該配信クライアントに向けられたメタデータを処理するように構成されている、配信クライアントと
を含んでいる、コンテンツ配信イネイブラーと、
外部のイネイブラーであって、該コンテンツ配信イネイブラーを介して、該コンテンツ処理調整ルールに基づいて、コンテンツを処理するように構成されている、外部のイネイブラーと、
該コンテンツプロバイダからのコンテンツを消費するように構成されているコンテンツクライアントと
を備えている、コンテンツ処理の調整のためのシステム。
【請求項16】
コンテンツと、
メタデータエンベロープと
を備えているコンテンツパッケージであって、
該メタデータエンベロープは、外部イネイブラーに対する外部参照、ならびにそこに埋め込まれたコンテンツ処理調整ルールを有している、コンテンツパッケージ。
【請求項17】
前記コンテンツ処理調整ルールは、拡張マークアップ言語「XML」でパッケージされた状態チャートである、請求項16に記載のコンテンツパッケージ。
【請求項18】
前記XMLでパッケージされた状態チャートは、埋め込まれた層を有する機能ブロックを含んでいる、請求項17に記載のコンテンツパッケージ。
【請求項19】
前記埋め込まれた層は、共通のXML要素を定義する第1の層と、外部のイネイブラーに対するバインディングを有している、配信イネイブラーに対するメタデータを定義する第2の層と、外部のイネイブラーに対するメタデータを定義する第3の層とを含んでいる、請求項18に記載のコンテンツパッケージ。
【請求項20】
前記第3の層は、前記配信イネイブラーには認識されない、請求項19に記載のコンテンツパッケージ。
【請求項21】
前記第2の層は、所定の挙動を有する表現、命令、またはパラメータを含み、該所定の挙動には、前記外部イネイブラーの機能への、該表現、命令、またはパラメータのバインディングを含む、請求項19または請求項20に記載のコンテンツパッケージ。
【請求項22】
前記第1の層は、状態チャートの表現言語に対するXMLシンタックスを定義するネームスペースによって参照される、請求項19〜請求項21のいずれか一項に記載のコンテンツパッケージ。
【請求項23】
前記機能ブロックは、状態識別子、ガード表現、外部のサービスの識別子、アクションバーブ、パラメータ、および/または状態遷移のうちのいずれか1つ、または任意の組み合わせを含んでいる、請求項18〜請求項22のいずれか一項に記載のコンテンツパッケージ。
【請求項24】
前記アクションバーブは、イネイブラーの機能に調整命令をマッピングするために用いられるように構成されている、請求項23に記載のコンテンツパッケージ。
【請求項25】
前記外部参照は、外部のサービスに対するネームスペース宣言である、請求項16〜請求項24のいずれか一項に記載のコンテンツパッケージ。
【請求項26】
前記外部のサービスは、存在サービス、位置サービス、コンテンツスクリーニングサービス、および/または圧縮サービスのうちのいずれかを含んでいる、請求項25に記載のコンテンツパッケージ。
【請求項27】
処理状態に対する要素内に、外部のイネイブラーに対するスキームをさらに含んでいる、請求項16〜請求項26のいずれか一項に記載のコンテンツパッケージ。
【請求項28】
コンピューティングデバイスに請求項1〜請求項14のいずれか一項に記載の方法のステップを実行させるためのプログラムコードを格納している、コンピュータ読取り可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−245258(P2008−245258A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2008−32469(P2008−32469)
【出願日】平成20年2月13日(2008.2.13)
【出願人】(500043574)リサーチ イン モーション リミテッド (531)
【氏名又は名称原語表記】Research In Motion Limited
【住所又は居所原語表記】295 Phillip Street, Waterloo, Ontario N2L 3W8 Canada
【Fターム(参考)】