(57)【要約】  ＨＴＭＬ（hypertext markup language）文書をアップデートするために、ＣＩ（Composition Information）ファイルの命令語に注釈を付けるための方法が提供される。この方法は、命令語の集合を含むＣＩファイルを受信するステップを含む。この方法は、また、現在の提示時間を決定するステップを含む。この方法は、さらに、ＣＩファイルの各々の命令語又は命令語の集合に対して、決定された提示時間に、その命令語又は命令語の集合が、旧式であるか否かを判定するステップを含む。この方法は、ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令語をパースするステップを含む。
2017518555.tif 000002
【特許請求の範囲】
【請求項１】
ＨＴＭＬ（hypertext markup language）文書をアップデートするためにＣＩ（Composition Information）ファイルの命令に注釈を付けるための方法であって、
命令の集合を含むＣＩファイルを受信するステップと、
現在の提示時間を決定するステップと、
前記ＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、前記命令又は命令の集合が旧式であるか否かを判定するステップと、
前記ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするステップと、
を含む方法。 
【請求項２】
少なくとも命令の集合及び前の命令の集合を含む後続のＣＩファイルを受信するステップと、
前記ＣＩファイル内の前記命令の集合に基づいて、前記後続のＣＩファイル内の前の命令の集合が旧式であると判定するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合を、旧式タグでマークするステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合をバージョンタグでマークするステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合をタイムスタンプでマークするステップをさらに含む、請求項１に記載の方法。
【請求項６】
前のＣＩファイルが提供する前の情報集合を受信し、前記前の情報集合に、旧式タイマーを割り当てるステップと、
前記前の情報集合を受信した後、前記ＣＩファイルが提供する情報の集合を受信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記ＣＩファイルが提供する情報の集合を受信する前に前記旧式タイマーが期間満了になると、前記前の情報の集合のうちの少なくとも一部を旧式としてマークするステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記命令又は命令の集合が前記決定された提示時間に旧式である場合、前記ＣＩファイルの旧式命令又は命令の集合を無視するステップをさらに含む、請求項１に記載の方法。
【請求項９】
ＨＴＭＬ（hypertext markup language）文書をアップデートするためにＣＩ（Composition Information）ファイルの命令に注釈を付けるよう構成された装置であって、
命令の集合を含むＣＩファイルを受信し、
現在の提示時間を決定し、
前記ＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、前記命令又は命令の集合が旧式であるか否かを判定し、
前記ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするように構成される処理回路を含む装置。
【請求項１０】
前記処理回路は、
少なくとも命令の集合及び前の命令の集合を含む後続のＣＩファイルを受信し、
前記ＣＩファイル内の命令の集合に基づいて、前記後続のＣＩファイル内の前の命令の集合が旧式であると判定するように構成される、請求項９に記載の装置。
【請求項１１】
前記処理回路は、前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合を旧式タグでマークするように構成される、請求項９に記載の装置。
【請求項１２】
前記処理回路は、前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合をバージョンタグでマークするように構成される、請求項９に記載の装置。
【請求項１３】
前記処理回路は、前記前の情報の集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合をタイムスタンプでマークするように構成される、請求項９に記載の装置。
【請求項１４】
前記処理回路は、前のＣＩファイルが提供する前の情報集合を受信し、前記前の情報集合に旧式タイマーを割り当て、
前記前の情報集合を受信した後、前記ＣＩファイルが提供する情報の集合を受信するように構成される、請求項９に記載の装置。
【請求項１５】
前記処理回路は、前記ＣＩファイルが提供する情報の集合を受信する前に前記旧式タイマーが期間満了になると、前記前の情報の集合のうちの少なくとも一部を旧式としてマークすることにより、前記ＣＩファイル内の前の情報集合をマークするように構成される、請求項１４に記載の装置。
【請求項１６】
前記処理回路は、前記命令語又は命令語の集合が決定された提示時間に旧式である場合、前記ＣＩファイルの旧式命令語又は命令語の集合を無視するように構成される、請求項９に記載の装置。
【請求項１７】
ＨＴＭＬ（hypertext markup language）文書をアップデートするためにＣＩ（Composition Information）ファイルの命令に注釈を付けるように構成されたクライアントデバイスであって、
命令の集合を含むＣＩファイルを受信し、
現在の提示時間を決定し、
前記ＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、前記命令語又は命令語の集合が旧式であるか否かを判定し、
前記ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするように構成されるＣＩ処理エンジンを含むクライアントデバイス。
【請求項１８】
前記ＣＩ処理エンジンは、
少なくとも命令の集合及び前の命令の集合を含む後続のＣＩファイルを受信し、
前記ＣＩファイル内の前記命令の集合に基づいて、前記後続のＣＩファイル内の前の命令語の集合が旧式であると判定するように構成される、請求項１７に記載のクライアントデバイス。
【請求項１９】
前記ＣＩ処理エンジンは、前記前の情報集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合を旧式タグでマークするように構成される、請求項１７に記載のクライアントデバイス。
【請求項２０】
前記ＣＩ処理エンジンは、前記前の情報集合に基づいて前記ＨＴＭＬページが表現されないように、前記ＣＩファイル内の前の情報の集合を旧式タグでマークするように構成される、請求項１７に記載のクライアントデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ＨＴＭＬ（HyperText-Markup-Language）５文書関連のアップデートをマークするための装置及び方法に関し、より詳しくは、ＭＰＥＧ複合情報（composition information、ＣＩ）アップデート命令のパーシングに関する。
【背景技術】
【０００２】
ＭＰＥＧ ＣＩ仕様は、クライアントが、関連のＨＴＭＬ５文書対応のアップデートを、どのように処理するかを記述する。ＣＩ文書は、ＨＴＭＬ５文書により初期生成されたドキュメントオブジェクトモデル（document object model（ＤＯＭ））に対する全ての漸進的アップデートを含む。ＣＩ文書のアップデートを受信すると、クライアントデバイスは、全てのアップデートされた命令語をパースし、旧式（ｏｂｓｏｌｅｔｅ）でない命令語を実行するだけである。 
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在の提示時間において命令がもはや適切でないとき、当該命令は旧式となる。アップデートされた命令語をパースし旧式でない命令を実行することについての改善が本明細書に提案される。 
【課題を解決するための手段】
【０００４】
第１例において、ＨＴＭＬ（hypertext markup language）文書をアップデートするために、ＣＩ（Composition Information）ファイルの命令に注釈を付けるための方法が提供される。この方法は、命令の集合を含むＣＩファイルを受信するステップを含む。この方法は、また、現在の提示時間を決定するステップを含む。この方法は、さらにＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、その命令又は命令の集合が、旧式であるか否かを判定するステップを含む。この方法は、ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするステップを含む。
【０００５】
第２例において、ＨＴＭＬ（hypertext markup language）文書をアップデートするために、ＣＩ（Composition Information）ファイルの命令に注釈を付けるように構成された装置（例えば、移動局）が提供される。当該装置は、処理回路を含む。処理回路は、命令の集合を含むＣＩファイルを受信するように構成される。処理回路は、また、現在の提示時間を決定するように構成される。処理回路は、さらにＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、その命令又は命令の集合が、旧式であるか否かを判定するように構成される。処理回路は、ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするように構成される。
【０００６】
第３例において、ＨＴＭＬ（hypertext markup language）文書をアップデートするために、ＣＩ（Composition Information) ファイルの命令に注釈を付けるように構成されたクライアントデバイスが提供される。クライアントデバイスは、ＣＩ処理エンジンを含む。ＣＩ処理エンジンは、命令の集合を含むＣＩファイルを受信するように構成される。ＣＩ処理エンジンは、また、現在の提示時間を決定するように構成される。ＣＩ処理エンジンは、さらにＣＩファイルの各々の命令又は命令の集合に対して、決定された提示時間に、その命令又は命令の集合が旧式であるか否かを判定するように構成される。ＣＩ処理エンジンは、ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースするように構成される。
【０００７】
下記の詳細な説明を記載する前に、本明細書を通じて用いられる特定の単語及び語句の定義を開示することが望ましい。用語「含む」及び「備える」とこれらの派生語とは、限定されずに包含を意味する。用語「又は」とは、包括的であり、「及び／又は」を意味する。語句「〜と関連する」及び「それと関連する」だけではなく、これらによる派生語は、含む、〜内に含まれる、〜と相互連結する、包含する、〜内に包含される、〜に／と連結する、〜に／と結合する、〜と通信できる、〜と協力する、介在する、並置する、〜に近似する、〜に束縛される、有する、〜の特性を有するなどの意味を有する。そして、「コントローラ」との用語は、少なくとも一つの動作を制御する任意のデバイス、システム、又はこれらの一部を意味し、このようなデバイスは、ハードウェア、ソフトウェア又はファームウェア、又はこれらの少なくとも二つの組み合わせで実現できる。特定のコントローラと関連した機能は、局部的又は遠隔的に分散してもよく、或いは集中してもよいことに留意すべきである。特定の単語及び語句についての定義は、本明細書の全般に渡って提供され、当該技術分野における当業者は、殆どの場合でなかったとしても多くの場合に亘り、上述のような定義が、上述のように定義された単語及び語句の過去ばかりでなく将来における使用にも適用されることを理解すべきである。
【０００８】
本開示及びその利点のより完全な理解のために、以下、添付の図面を参照して詳細に説明し、添付の図面において、同一の構成要素には同一の符号を付ける。
【図面の簡単な説明】
【０００９】
【図１】本開示による一対多（point-to-multipoint）の伝送システムの例を示す図である。
【図２】本開示による例示的なＣＩレイヤーを示す図である。
【図３】本開示による例示的なメディア提示システムを概念的に示している上位ブロック図である。
【図４】本開示による例示的動作を示すフローチャートである。
【図５】本開示による例示的動作を示すフローチャートである。
【図６】本開示による例示的なクライアントデバイスを示す図である。
【発明を実施するための形態】
【００１０】
以下で説明する図１〜図６と、本明細書における本開示の原理を記述するにあたって用いられる多様な実施形態は、単なる例示に過ぎず、本開示の範囲を制限することと解釈してはいけない。当該技術分野における当業者であれば、本開示の原理が、適切に配列された無線通信システムにおいて実現できることを理解すべきである。
【００１１】
図１は、本開示による一対多（point-to-multipoint）の伝送システム１００の例を示す。示された実施形態において、システム１００は、送信エンティティ１０１、ネットワーク１０５、受信エンティティ１１０〜１１６、基地局（ＢＳ）１０２、基地局（ＢＳ）１０３、及び他の類似の基地局や中継局（図示せず）のような無線伝送ポイント（例えば、eNB（Evolved Node B）、Node B）を含む。送信エンティティ１０１は、ネットワーク１０５を介して、基地局１０２及び基地局１０３と通信している。ネットワーク１０５は、例えば、インターネット、メディアブロードキャストネットワーク、又はＩＰベースの通信システムであってもよい。受信エンティティ１１０〜１１６は、ネットワーク１０５及び／又は基地局１０２、１０３を通じて送信エンティティ１０１と通信している。
【００１２】
基地局１０２は、基地局１０２のカバレッジエリア１２０内で、複数の第１受信エンティティ（例えば、ユーザ端末、携帯電話、移動局、加入者ステーション）に、ネットワーク１０５に対する無線アクセスを提供する。複数の第１受信エンティティは、スモールビジネス（small business：ＳＢ）に位置付けられるユーザ端末１１１と、エンタープライズ（enterprise：Ｅ）に位置付けられるユーザ端末１１２と、ＷｉＦｉホットスポット（ＨＳ）に位置付けられるユーザ端末１１３と、第１レジデンス（residence：Ｒ）に位置付けられるユーザ端末１１４と、第２レジデンス（residence：Ｒ）に位置付けられるユーザ端末１１５と、ユーザ端末１１６とを含む。ユーザ端末１１６は、携帯電話、無線通信対応のラップトップ、無線通信対応のＰＤＡ、タブレットＰＣなどのようなモバイルデバイス（Ｍ）である。
【００１３】
基地局１０３は、基地局１０３のカバレッジエリア１２５内で、複数の第２ユーザ端末に、ネットワーク１０５に対する無線アクセスを提供する。複数の第２ユーザ端末は、ユーザ端末１１５と、ユーザ端末１１６とを含む。一実施形態において、基地局１０２〜１０３は互いに通信してもよく、本開示の多数の実施形態に記載されているようなＨＴＭＬページを提示するための技術を含むＯＦＤＭ又はＯＦＤＭＡ技術を用いてユーザ端末１１１〜１１６と通信してもよい。
【００１４】
図１には、６個のユーザ端末のみが示されているが、システム１００は、追加のユーザ端末に、無線広帯域及びネットワークアクセスを提供できる。なお、ユーザ端末１１５及びユーザ端末１１６は、カバレッジエリア１２０及びカバレッジエリア１２５の両方の境界上に位置している。ユーザ端末１１５及びユーザ端末１１６は、それぞれ基地局１０２及び基地局１０３の両方と通信し、当該技術分野における当業者に知られているように、ハンドオフモード（handoff mode）で動作してもよい。
【００１５】
ユーザ端末１１１〜１１６は、ネットワーク１０５を通じて、音声、データ、ビデオ、ビデオ会議、及び/又は他の広帯域サービスにアクセスできる。一実施形態において、ユーザ端末１１１〜１１６の一つ以上は、ＷｉＦｉ・ＷＬＡＮのアクセスポイント（ＡＰ）と関連付けられていてもよい。ユーザ端末１１６は、無線通信可能なラップトップコンピュータ、ＰＤＡ（personal data assistant）、ノートパソコン（notebook）、ハンドヘルドデバイス、又は他の無線通信可能なデバイスを含む、多数のモバイルデバイスのうちのいずれかであってもよい。ユーザ端末１１４、１１５は、例えば、無線通信可能なパーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ゲートウェイ（gateway）、又は他のデバイスであってもよい。
【００１６】
図２は、本開示による例示的なＣＩレイヤー２００を示す。図２に示した実施形態は、単なる例示に過ぎない。ＣＩレイヤーの他の実施形態が、本開示の範囲から逸脱することなく実施されてもよい。
【００１７】
ＣＩレイヤー２００は、例えば、宣言的方式を利用して、ＨＴＭＬ５ウェブページ上に、マルチメディアコンポーネントの時間的挙動を提供するように設計されている。特定の多数の実施形態において、複合情報（ＣＩ）は、ＨＴＭＬ５ファイル２１５及びＣＩファイル２１０の二つの個別のファイルに分割される。互換的なＨＴＭＬ５ファイル２１５は、初期空間のレイアウト及びプレースホルダーメディア要素を提供し、ＣＩファイル２１０は、メディア提示を制御するための時間命令（timed instructions）を含む。
【００１８】
特定の実施形態において、ＨＴＭＬ５ファイルのウェブページ上のマルチメディアコンポーネントの時間的挙動は、ＣＩファイル２１０により提供される。ここで、ウェブページは、そのＵＲＩを用いて参照することが可能であり、＜ビデオ＞及び＜オーディオ＞要素のようなＨＴＭＬ５ファイル内のマルチメディア要素は、これらのＩＤにより参照される。言い換えれば、ＣＩファイル２１０は、マルチメディアデータの全長の時間的挙動の代わりに、マルチメディアデータの要素（parts）の時間的挙動の組み合わせとして、マルチメディアコンポーネントの時間的挙動を記述することによって、一つのマルチメディアコンポーネントを、複数のデータからフレキシブルに組み合わせたものとして構成する。
【００１９】
クライアントデバイス２２５又はクライアントデバイス２３０中で見られるＣＩ処理エンジン２０５は、送信エンティティ（図１の送信エンティティ１０１など）から、ＣＩファイル２１０及びＨＴＭＬ５ファイル２１５（及びある他の関連のファイル）をリクエスト及び受信し、提示を適切に、又は意図した通りにレンダリングするために、複合情報を処理する。ＣＩ処理エンジン２０５は、ＨＴＭＬ５ファイル２１５をドキュメントオブジェクトモデル（ＤＯＭ）ツリー２２０内にパースし、パースされたＨＴＭＬ５ファイルを、メモリ内に格納する。ＣＩ処理エンジン２０５は、ＣＩファイル２１０に利用可能な（命令といった）情報に応じて、特定の時点でＤＯＭツリー２２０についての変更を適用する。ＣＩ処理エンジン２０５は、識別子又は特定の（jQuery選択子を通じて提供されるパターンといった）パターンを用いて、ＤＯＭツリー２２０のノードを参照する。
【００２０】
ＣＩ処理エンジン２０５は、またＣＩ仕様２３５を含む。ＣＩ仕様２３５は、新たに受信されたＣＩファイル２１０を、追加情報及び前のＣＩファイル２１０の情報を用いて処理する方法を、ＣＩ処理エンジン２０５に指示する。上記の追加情報は、前のＣＩファイル２１０の関連の情報をアップデートする。ＣＩファイル２１０は、ＨＴＭＬ５ファイル２１５により初期に生成されたＤＯＭツリー２２０についての全ての漸進的アップデート情報を含む。追加情報と共に、新たなＣＩファイル２１０を受信した後（又は受信に応じて）、例えば、提示のコンポーネントを変更するか、又はアップデートするために、ＣＩ処理エンジン２０５は、新たなＣＩファイル２１０の全ての情報をパースし、旧式でない情報を実行するだけである。情報がもはや適切でない時、その情報は旧式となる。情報がより最近のアップデートされた情報により上書きされたとき、その情報は旧式となる。例えば、div要素の位置が、新たなＣＩファイル２１０の追加情報で変更されると、元のdiv要素は旧式となる。この場合、コンテンツが表現される際、元のdiv要素は実施されず、ＣＩ処理エンジン２０５は、div要素の位置を、新たなＣＩファイル２１０の追加情報が示す位置に設定して、div要素が新たな位置で実施されるようにする。また、同一の新たなＣＩファイル２１０は、第２div要素の新たな位置と関連した追加情報を有しなくてもよい。この場合、同一の新たなＣＩファイル２１０は、第２div要素を現在の位置に割り当てている前のＣＩファイル２１０の情報も含むため、ＣＩ処理エンジン２０５が新たなＣＩファイル２１０を受信した後、第２div要素は、まだ現在の位置で実施されている。
【００２１】
新たなＣＩファイル２１０の追加情報をパースするために、ＣＩ処理エンジン２０５は、新たなＣＩファイル２１０により提供された全ての情報の開始属性、属性のエンディング（ending）、及びデュレーション属性を検査する。新たなＣＩファイル２１０の全ての情報の開始属性、属性のエンディング、及びデュレーション属性についての検査結果に基づき、ＣＩ処理エンジン２０５は、新たなＣＩファイル２１０のどの情報が実行されるべきかを識別する。このパーシング方法は、処理時間を遅くし、コンテンツ提示の遅延を生じるため、非効率的である。
【００２２】
一実施形態において、新たなＣＩファイル２１０の情報のより効率的なパーシングを補助して、旧式でない情報のみを実行するように、ＣＩ処理エンジン２０５は、旧式であると判定しているＣＩファイル２１０の全ての情報に、旧式タグ又は属性を割り当てることができる。ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、旧式であるＣＩファイル２１０の全ての情報を識別し、その情報に旧式タグを付けるよう指示する。また、新たなＣＩファイル２１０の情報を受信する際に、ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、旧式タグを有するアップデート情報を含む全ての情報を識別して無視するよう指示する。旧式タグを識別して旧式である全ての情報を識別し無視することにより、ＣＩ処理エンジン２０５は、パースするＣＩファイル２１０の情報量を減少できる。
【００２３】
例えば、ＣＩ処理エンジン２０５は、div要素の第１位置を識別する第１情報集合を有する元の、又は最初のＣＩファイル２１０を受信する。次に、ＣＩ処理エンジンは、div要素の位置を第２位置にアップデートする第２情報集合を有する第２ＣＩファイル２１０を受信する。その後、ＣＩ処理エンジン２０５は、div要素の位置を第３位置にアップデートする第３アップデート情報集合を有する第３ＣＩファイル２１０を受信する。div要素の位置を少なくとも一回変更した後、div要素の第１位置を識別する第１ＣＩファイルの情報が、旧式タグでマークされる。従って、より後で、アップデート情報を有するＣＩファイル２１０がＣＩ処理エンジン２０５により受信される際に、ＣＩ処理エンジン２０５は、第１位置にdiv要素を位置付ける情報が、以前に旧式タグでマークされたことを確認できる。したがって、ＣＩ処理エンジン２０５は、旧式のマークがされたdiv要素をさらに検査する必要がなく、ＣＩファイル２０５のアップデート情報をパースする時間を減少できる。
【００２４】
ＣＩ処理エンジン２０５は、新たなＣＩファイル２１０の情報を受信する際、新たなＣＩファイル２１０の情報を、前のＣＩファイル２１０の情報と比較して、少なくとも一回の変更があった情報を識別できる。連続的に受信されたＣＩファイル間で情報の変更があった場合には、先の情報は旧式であったとみなすことができる。新たなＣＩファイル２１０に、追加情報のみならず、前のＣＩファイル２１０の情報を含めることができるので、ＣＩ処理エンジン２０５は、旧式タグで新たなＣＩファイル２１０に関する旧式情報をマークして、前のＣＩファイル２１０を破棄できる。ＣＩ処理エンジンは、付けられた旧式タグを有する全ての情報を識別することにより、追加情報及び変更されなかった前の情報（即ち、旧式タグでタグされなかった全ての情報）を素早く識別及び実行できる。
【００２５】
次に、ＣＩ処理エンジン２０５は、追加情報及び前のＣＩファイル２０５の情報を有する他のＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、旧式タグを有する前のＣＩファイル２１０からの全ての情報を、他のＣＩファイル２１０の情報とマッチし、他のＣＩファイル２１０の同一情報に、旧式タグを付けることができる。ＣＩ処理エンジン２０５は、再び前のＣＩファイル２１０の情報を、他のＣＩファイル２１０の情報と比較して、少なくとも一回の変更があった情報を識別できる。
【００２６】
一実施形態において、新たなＣＩファイル２１０の情報のより効率的なパーシングを補助して、旧式でない情報のみを実行するように、ＣＩ処理エンジン２０５は、ＣＩ処理エンジン２０５が受信したＣＩファイル２１０の全ての情報に、バージョンタグ又は属性を割り当てることができる。ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、バージョンタグでＣＩファイル２１０の全ての情報をマークするよう指示する。前の情報及び追加情報を有する後続のＣＩファイル２１０がＣＩ処理エンジン２０５により受信される際、ＣＩ処理エンジン２０５は、前に受信された情報のバージョンタグより大きなナンバーを有するバージョンタグ（前のバージョンタグより大きな整数を有するバージョンタグなど）を、前のＣＩファイル２１０の情報を変更する全ての追加情報に提供できる。
【００２７】
また、新たなＣＩファイル２１０の情報を受信し、新たなＣＩファイル２１０の追加情報に最新のバージョンをタグするとき、ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、旧バージョンの情報を旧式にする新たなＣＩファイル２１０の最新のバージョンよりも少なくとも一つの前のバージョンを示すバージョンタグを有する全ての情報を識別して無視するよう指示する。新たなＣＩファイル２１０の最新のバージョンよりも少なくとも一つ前のバージョンを示す全てのアップデートされた情報を識別し、無視することにより、ＣＩ処理エンジン２０５は、パースするＣＩファイル２１０の情報量を減少できる。後続のＣＩファイル２１０がＣＩ処理エンジン２０５により受信される際、一部の情報は、後続の受信されたＣＩファイル２１０を用いて、変更もアップデートもされないことを知るべきである。したがって、第５の受信ＣＩファイル２１０内のいくつかの情報は、第１バージョンのみが無視されて旧式となるよう二つのバージョンのみを有する情報を有し、その一方、第４バージョンを有する他の情報は、無視され旧式となった三つのバージョンを有する。
【００２８】
例えば、ＣＩ処理エンジン２０５は、div要素の第１位置を識別する第１情報集合を有する元の、又は最初のＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第１情報集合の全ての個別情報に、div要素の第１位置を識別する情報を含んだバージョン「０」タグでタグすることができる。次に、ＣＩ処理エンジンは、div要素の位置を第２位置にアップデートする第２情報集合を有する第２ＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第１情報集合の情報を変更する第２情報集合の情報又は第２情報集合の追加情報（一部の追加情報は、第１情報集合の情報を変更しない新たな情報であってもよい）の各々に、div要素の第２位置を識別する情報を含んだバージョン「１」タグでタグすることができる。後で、ＣＩ処理エンジンは、div要素の位置を第３位置にアップデートする第３アップデート情報の集合を有する第３ＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第２情報集合の情報を変更する第３情報集合の情報又は第３情報集合の追加情報の各々に、div要素の第３位置を識別する情報を含んだバージョン「２」タグでタグすることができる。
【００２９】
div要素の位置を変更する情報の各々のバージョンをタグすることにより、div要素を第１位置に位置付ける情報、及び、div要素を第２位置に位置付ける情報は、ＣＩ処理エンジン２０５により無視されて旧式と見なされる。なぜなら、バージョン「０」及び「１」は、最新のバージョンであるバージョン「２」よりも少なくとも１整数分だけ小さいからである。一部の実施形態において、ＣＩ処理エンジン２０５は、div要素を第１位置に位置付ける情報（バージョン「０」）を無視することができる一方、div要素を第２位置に位置付ける情報（バージョン「１」）を無視できない。なぜなら、ＣＩ処理エンジン２０５は、最新のバージョンであるバージョン「２」よりも２整数分だけ少ないバージョンの情報のみを無視するからである。
【００３０】
一実施形態において、新たなＣＩファイル２１０の情報のより効率的なパーシングを補助して、旧式でない情報のみが実行されるように、ＣＩ処理エンジン２０５は、ＣＩ処理エンジン２０５が受信しているＣＩファイル２１０の全ての情報に、タイムスタンプを割り当てることができる。ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、ＣＩファイル２１０の全ての情報を、タイムスタンプを用いてマークするよう指示する。前の情報及び追加情報を有する後続のＣＩファイル２１０がＣＩ処理エンジン２０５により受信される際、ＣＩ処理エンジン２０５は、前に受信された情報のタイムスタンプより後の時点に該当するタイムスタンプを、前のＣＩファイル２１０の情報を変更する全ての追加情報に提供できる。
【００３１】
また、新たなＣＩファイル２１０の情報を受信し、新たなＣＩファイル２１０の追加情報に新たなＣＩファイル２１０が受信された時間をタイムスタンプする際、ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、旧タイムスタンプを旧式にする新たなＣＩファイル２１０の最新のタイムスタンプより早い時点を示すタイムスタンプを有する全ての情報を識別して無視するよう指示する。新たなＣＩファイル２１０の最新の情報のタイムスタンプより早いタイムスタンプを示す全てのアップデートされた情報を識別し無視することにより、ＣＩ処理エンジン２０５は、パースするＣＩファイル２１０の情報量を減少できる。後続のＣＩファイル２１０がＣＩ処理エンジン２０５により受信される際、一部の情報は、後続の受信されたＣＩファイル２１０を用いて変更もアップデートもされないことを知るべきである。したがって、第５の受信ＣＩファイル２１０内の一部の情報は、第１ＣＩファイル２１０及び第３ＣＩファイル２１０と関連した二つのタイムスタンプを有する情報を有し、第１ＣＩファイル２１０のタイムスタンプを有する情報のみが無視されて旧式とみなされる一方、最近のタイムスタンプを有する第３ＣＩファイル２１０のタイムスタンプを有する情報は実行できる。
【００３２】
例えば、ＣＩ処理エンジン２０５は、div要素の第１位置を識別する第１情報集合を有する元の、又は最初のＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第１情報集合の全ての個別情報に、div要素の第１位置を識別する情報を含んだ第１タイムスタンプをタグできる。次に、ＣＩ処理エンジン２０５は、div要素の位置を、第２位置にアップデートする第２情報集合を有する第２ＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第１情報集合の情報を変更する第２情報集合の情報又は第２情報集合の追加情報（一部の追加情報は、第１情報集合の情報を変更されない新たな情報であってもよい）の各々に、div要素の第２位置を識別する情報を含んだ第１タイムスタンプより後の時点を示す第２タイムスタンプをタグできる。
【００３３】
後で、ＣＩ処理エンジンは、div要素の位置を第３位置にアップデートする第３アップデート情報集合を有する第３ＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５は、第２情報集合の情報を変更する第３情報集合の情報又は第３情報集合の追加情報の各々に、div要素の第３位置を識別する情報を含んだ第２タイムスタンプより後の時点を示す第３タイムスタンプをタグできる。div要素の位置を変更する情報の各々の繰り返し（iteration）をタイムスタンプすることにより、div要素を第１位置に位置付ける情報及びdiv要素を第２位置に位置付ける情報は、その繰り返しのタイムスタンプがdiv要素を第３位置に位置付ける情報より早いため、ＣＩ処理エンジン２０５により無視されて旧式とみなされる。
【００３４】
一実施形態において、新たなＣＩファイル２１０の情報のより効率的なパーシングを補助して、旧式でない情報のみが実行されるように、ＣＩ処理エンジン２０５は、ＣＩ処理エンジン２０５が受信しているＣＩファイル２１０の全ての情報に旧式タイマーを割り当てることができる。ＣＩ仕様２３５は、ＣＩ処理エンジン２０５に対して、ＣＩファイル２１０の全ての情報に旧式タイマーを割り当てるよう指示する。それに従って、ＣＩ処理エンジン２０５は、タイマーが期間満了となるまで、ＣＩファイル２１０の情報を旧式とみなさない。したがって、例えば、ＣＩファイル２１０の情報を、後続のＣＩファイル２１０がＣＩ処理エンジンにより受信される前、途中、又は後に、旧式であるとみなすことができる。
【００３５】
例えば、ＣＩ処理エンジン２０５は、div要素の第１位置を識別する第１情報集合を有する元の、又は最初のＣＩファイル２１０を受信する。ＣＩ処理エンジン２０５が第１情報集合の一つ以上の情報にdiv要素の第１位置を識別する情報を含む旧式タイマーを割り当てることで、ＣＩ処理エンジン２０５がＣＩファイル２１０を受信したときから決定された時間経過後に情報を旧式とみなすか、当該情報を旧式にマークできる。一実施形態において、ＣＩ処理エンジンが同じＣＩファイル２１０の異なる情報に対して異なる長さの旧式タイマーを割り当てることで、同じＣＩファイル２１０の異なる情報が受信された後の異なる時間にて旧式とみなされるか、当該情報を旧式にマークできる。
【００３６】
図３は、本開示による例示的なメディア提示システム３００を概念的に示している上位レベルのブロック図である。図３の実施形態は、単なる例示に過ぎない。メディア提示システムの他の実施形態が、本開示の範囲から逸脱することなく実施されてもよい。
【００３７】
このシステムは、上位にある提示エンジン３１０、そして、下位にあるＨＴＭＬ処理エンジン３２０及びメディア処理エンジン３３０を含む。ＨＴＭＬ５エンジン３２０は、ＨＴＭＬ５ウェブページを処理し、メディア処理エンジン３３０は、ＣＩファイル及びその中にリストされたチャンク（chunks）を処理する。提示エンジン３１０は、メディア処理エンジン３３０の結果とＨＴＭＬ処理エンジン３２０の結果とをマージして、これを共にレンダリングする。
【００３８】
より詳しくは、ＨＴＭＬ５エンジン３２０は、ＨＴＭＬ５ファイルを、ドキュメントオブジェクトモデル（ＤＯＭ）ツリーにパースして、メモリに格納する。メディア処理エンジン３３０は、ＣＩファイル２１０及びＨＴＭＬ５ファイル（及びある他の参照ファイル）を取り出し、ＣＩ情報を処理して、これに従って、上記の提示を制御する。
【００３９】
ＨＴＭＬ処理エンジン３２０及びメディア処理エンジン３３０は、互いに異なる時間に、自分の結果をアップデートできる。一部の例において、メディア処理エンジン３３０は、デコードしたメディアデータを、持続的にアップデートすることができる一方、ＨＴＭＬ処理エンジン３２０は、ＨＴＭＬ５ファイルをパースして、レンダリングツリーを組み立てる。本明細書に記載しているように、ＣＩアップデートのために、メディア処理エンジン３３０は、ＣＩファイル２１０に利用可能な命令に応じて、特定の時点でＤＯＭについての変更を適用する。複数のＤＯＭノード／要素が、これらの識別子を用いるか、可能な場合、（例えば、jQuery選択子を通じて提供される）特定のパターンを用いて参照される。
【００４０】
図４は、本開示によりＨＴＭＬ文書をアップデートするために、ＣＩファイルの命令に注釈を付けるための例示的動作を示すフローチャート４００である。このフローチャートは、連続的なステップを示しているが、明示的に述べない限り、そのシーケンスから、特定の実行状態、ステップやその一部が同時又は時間的に重複するのではなく、シリアルに実行されること、割り込み又は中間ステップを排除して実行されることに関して、如可なる椎論もなされてもいけない。示された例における動作は、ＵＥ内の処理回路によって実装される。
【００４１】
ブロック４０５において、クライアントデバイスのＣＩ処理エンジン２０５のようなプロセッサが、ＣＩファイル２１０のみにより提供された情報の集合がＣＩファイル２１０及び前のＣＩファイル２１０が提供する前の情報集合をアップデートするか否かを判定する。ブロック４１０において、プロセッサは、ＣＩファイル２１０のみが提供した情報の集合が前の情報集合をアップデートする場合、ＣＩファイル２１０内の前の情報集合をマークする。一実施形態において、ＣＩファイル２１０内の前の情報集合をマークすることは、ＨＴＭＬページが前の情報集合に基づいて表現されないように、ＣＩファイル２１０内の前の情報集合を旧式タグでマークすることを含む。他の実施形態において、ＣＩファイル２１０内の前の情報集合をマークすることは、ＨＴＭＬページが前の情報集合に基づいて表現されないように、ＣＩファイル２１０内の前の情報集合をバージョンタグでマークすることを含む。また、他の実施形態において、ＣＩファイル２１０内の前の情報集合をマークすることは、ＨＴＭＬページが前の情報集合に基づいて表現されないように、ＣＩファイル２１０内の前の情報集合をタイムスタンプでマークすることを含む。
【００４２】
ブロック４１５において、プロセッサは、ＨＴＭＬページを表現するために、ＣＩファイル２１０のみが提供した情報の集合をパースする。ブロック４２０において、プロセッサは、少なくとも上記の情報の集合及び前の情報の集合を備える後続のＣＩファイル２１０を受信する。ブロック４２５において、プロセッサは、ＣＩファイル２１０内の前の情報集合のマーキングに基づいて、後続のＣＩファイル２１０内の前の情報集合をマークする。
【００４３】
図５は、本開示によりＨＴＭＬ文書をアップデートするために、ＣＩファイルの命令に注釈を付けるための例示的動作を示すフローチャート５００である。このフローチャートは、連続的なステップを示しているが、明示的に述べない限り、そのシーケンスから、特定の実行状態、ステップやその一部が同時又は時間的に重複するのではなく、シリアルに実行されること、割り込み又は中間ステップを排除して実行されることに関して、如可なる椎論もなされてもいけない。示された例における動作は、ＵＥ内の処理回路によって実装される。
【００４４】
ブロック５０５において、クライアントデバイスのＣＩ処理エンジン２０５のようなプロセッサは、命令の集合を含むＣＩファイル２１０を受信する。ブロック５１０において、ＣＩ処理エンジン２０５は、ＣＩファイル２１０の現在の提示時間を決定する。ブロック５１５において、ＣＩファイル２１０の各々の命令又は命令の集合に対して、上記の現在の提示時間に、その命令又は命令の集合が旧式であるか否かを判定する。ブロック５２０において、ＣＩ処理エンジン２０５は、ＨＴＭＬ文書をアップデートするために、旧式でないと判定している残りの命令をパースする。
【００４５】
一実施形態において、ＣＩ処理エンジン２０５は、少なくとも命令の集合及び前の命令の集合を含む後続のＣＩファイルを受信し、ＣＩファイル内の命令の集合に基づいて、後続のＣＩファイル内の前の命令の集合が旧式であることを判定する。ＣＩ処理エンジン２０５は、ＨＴＭＬページが、前の情報集合に基づいて表現されないように、旧式タグ、バージョンタグ、又はタイムスタンプのうちの少なくとも一つを用いて、ＣＩファイル内の前の情報の集合をマークすることができる。
【００４６】
一実施形態において、ＣＩ処理エンジン２０５は、前のＣＩファイルが提供する前の情報集合を受信し、前の情報集合に旧式タイマーを割り当てる。ＣＩ処理エンジンは、次に、前の情報集合を受信した後、ＣＩファイルが提供する情報集合を受信する。ＣＩ処理エンジン２０５はまた、決定された提示時間に、ＣＩファイルの各々の命令語又は命令語の集合が旧式である場合、その旧式命令又は命令の集合を無視する。
【００４７】
図６は、本開示による例示的なクライアントデバイス６００を示す。この例において、クライアントデバイス６００は、コントローラ６０４、メモリ６０６、持続性メモリ６０８、通信部６１０、入出力（Ｉ／Ｏ）部６１２、及びディスプレイ６１４を含む。これらの例において、クライアントデバイス６００は、図１の送信エンティティ１０１及び／又は受信エンティティ１１０〜１１６の一具体例である。
【００４８】
コントローラ６０４は、少なくとも一つの動作を制御するデバイス、システム、又はその一部である。かかるデバイスは、ハードウェア、ファームウェア、又はソフトウェア、又はこれらの少なくとも二つの組み合わせで実現できる。例えば、コントローラ６０４は、クライアントデバイス６００の動作を制御するように構成されたハードウェア処理部及び／又はソフトウェアプログラムを含んでもよい。例えば、コントローラ６０４は、メモリ６０６にロードできるソフトウェアに対する命令語を処理する。コントローラ６０４は、特定の実行によって、多数のプロセッサ、マルチプロセッサコア、又は他のタイプのプロセッサを含んでもよい。また、コントローラ６０４は、単一のチップ上に、メインプロセッサが、２次プロセッサと共に存在する多数の異種のプロセッサシステムを用いて実現できる。別の例において、コントローラ６０４は、同一タイプの複数のプロセッサを含む対称型マルチプロセッサシステムを含んでもよい。
【００４９】
メモリ６０６及び持続性メモリ６０８は、格納デバイス６１６の例である。 格納デバイスは、例えば、一時的に及び／又は継続的に、データ、関数形式のプログラムコード、及び／又は適切な情報を格納できるハードウェアの一つであるが、これに限定されない。これらの例において、メモリ６０６は、例えば、ＲＡＭ（random access memory）又は他の適切な揮発性又は非揮発性の格納デバイスであってもよい。例えば、持続性メモリ６０８は、一つ以上の構成要素やデバイスを含んでもよい。持続性メモリ６０８は、ハードドライブ、フラッシュメモリ、光ディスク、又は前述のもののいずれかの組み合わせであってもよい。持続性メモリ６０８により用いられる媒体は、取り外し可能であってもよい。例えば、取り外し可能なハードドライブが、持続性メモリ６０８に用いられてもよい。
【００５０】
通信部６１０は、他のデータ処理システム又はデバイスとの通信を提供する。これらの例において、通信部６１０は、無線（セルラー、ＷｉＦｉ等）送信器、受信器、送受信器、ネットワークインターフェースカード、及び／又は物理的通信媒体又は無線通信媒体を通じて情報を送信及び／又は受信するのに適切な他のハードウェアを含んでもよい。通信部６１０は、物理的通信リンク、無線リンクのいずれか、若しくは、両方を使用して、通信を提供できる。
【００５１】
入出力部６１２は、クライアントデバイス６００、又はクライアントデバイス６００の一部と接続された他のデバイスとデータを入出力することが可能である。例えば、入出力部６１２は、ユーザが入力したタッチを受けるタッチパネル、オーディオ入力を受信するマイクロフォン、オーディオ出力を提供するスピーカー、及び／又は触覚出力を提供するモーターを含んでもよい。入出力部６１２は、クライアントデバイス６００のユーザに、メディアデータ（例えば、オーディオデータ）を提供及び伝達するためのユーザインターフェースの一例である。別の例では、入出力部６１２は、キーボード、マウス、外部スピーカー、外部マイクロフォン、及び／又は他の適切な入出力装置を通じて、ユーザ入力のための接続を提供できる。さらに、入出力部６１２は、プリンターに出力を送ることができる。ディスプレイ６１４は、ユーザに情報を表示するメカニズムを提供する。ディスプレイ６１４は、クライアントデバイス６００のユーザに、メディアデータ（例えば、イメージ及び／又はビデオデータ）を提供及び伝達するためのユーザインターフェースの一例である。
【００５２】
オペレーティングシステムのためのプログラムコード、アプリケーション、又は他のプログラムが、コントローラ６０４と通信状態にある格納デバイス６１６の内に位置してもよい。一部の実施形態において、プログラムコードは、持続性メモリ６０８上で関数の形式で存在する。これらの命令語は、コントローラ６０４による処理のために、メモリ６０６にロードされてもよい。異なる実施形態のプロセスは、メモリ６０６に位置できるコンピュータ実施命令語（computer-implemented instruction）を用いて、コントローラ６０４により実行されてもよい。例えば、コントローラ６０４は、前述のモジュール及び／又はデバイスのうちの一つ以上についてのプロセスを実行してもよい。
【００５３】
本開示は、例示的な実施形態について説明したが、様々な変更及び修正は、当業者に示唆されえもよい。本開示は、添付の特許請求の範囲内で、上記のような変更及び修正を包含することが意図されている。
【図１】
2017518555.tif 000003
【図２】
2017518555.tif 000004
【図３】
2017518555.tif 000005
【図４】
2017518555.tif 000006
【図５】
2017518555.tif 000007
【図６】
2017518555.tif 000008
【国際調査報告】
2017518555.tif 000009
2017518555.tif 000010