JP5108016B2 - 遠隔デバイス用のコンテンツをレンダリングするためのプラットフォーム - Google Patents

遠隔デバイス用のコンテンツをレンダリングするためのプラットフォーム Download PDF

Info

Publication number
JP5108016B2
JP5108016B2 JP2009530488A JP2009530488A JP5108016B2 JP 5108016 B2 JP5108016 B2 JP 5108016B2 JP 2009530488 A JP2009530488 A JP 2009530488A JP 2009530488 A JP2009530488 A JP 2009530488A JP 5108016 B2 JP5108016 B2 JP 5108016B2
Authority
JP
Japan
Prior art keywords
document
remote device
rendering
temporary
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009530488A
Other languages
English (en)
Other versions
JP2010505194A (ja
Inventor
ミカ デュビンコ
ザオウェイ チャーリー ジアン
ナイジェル チョイ
チェン リ
キース アンソニー マーロウ
グアン ヤン
オルガ ヴォロディミリフナ ガフリリャコ
ジャン リアン
ジェフ レオン
マイケル ジェレミー テムキン
アブドゥル ラセル カン
ミン スイ
フイ グオ
ジェクウォン パク
スレンドラ サダナンド ラジャム
タカユキ テイ
Original Assignee
ヤフー! インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヤフー! インコーポレイテッド filed Critical ヤフー! インコーポレイテッド
Publication of JP2010505194A publication Critical patent/JP2010505194A/ja
Application granted granted Critical
Publication of JP5108016B2 publication Critical patent/JP5108016B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/114Pagination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Description

本出願は、2006年9月29日に出願され、引用により本明細書に全体が組み込まれる米国出願番号11/537,593に対する優先権を主張する。
本発明は、一般に、ネットワーク上でのコンテンツの提供に関し、より具体的には、遠隔配置された特定のデバイスで使用するために異種ソースからのコンテンツのレンダリングを可能にすることに関する。
最近の調査では、移動電話など10,000を超える様々なモデルの移動デバイスが世界中で稼動中であることが確認された。移動デバイスの高まる人気を満たすために、毎週10又はそれ以上の新しいモデルが市場に導入されている。また、移動デバイス及び他の遠隔配置されたデバイスにコンテンツを提供するための様々な機能を備えた幅広い種類の無線サービス及び通信リンクを可能にする異なるキャリアが世界中に何百も存在する。結果として、ターゲット遠隔デバイス及び/又はキャリアで使用するためのコンテンツを提供しレンダリングするコンテキストが多種多様なものになる可能性がある。
例えば、ディスプレイ画面に関して標準のサイズ又はカラーパレットは存在しない。結果として、例えあったとしても、あるサイズのカラーディスプレイで使用するようにレンダリングされたコンテンツは、異なるサイズの白黒ディスプレイにより正確に表示可能ではない場合がある。また、キャリアによって個々の顧客に提供される様々な通信リンクの容量及び信頼性は、遠隔デバイス上に表示するためのコンテンツの正確且つ適時のレンダリングに重大な影響を与える可能性がある。付加的に、ブラウザなどのクライアントアプリケーションにおける一般動作及び既知のバグは大きく異なる可能性がある。更に、開発者は、1つ又はそれ以上の異なる言語でコンテンツを生成する場合があり、これは、ターゲット遠隔デバイス上に表示するためのコンテンツの正確なレンダリングに関して考慮が必要なパラメータを有する可能性がある。
本発明の非限定的で非網羅的な実施形態を、以下の図面を参照しながら説明する。図面において、他に明確に言及されていない限り、同様の参照数字は様々な図全体にわたって同じ要素を示している。
本発明をよりよく理解するために、添付図面を参照しながら以下の「発明を実施するための形態」について説明する。
米国出願番号11/537,593
本発明を実施することができる例示的なシステムの一実施形態の図である。 例示的な移動デバイスの一実施形態を示す図である。 例示的なネットワークデバイスの一実施形態を示す図である。 ターゲット遠隔デバイスによって表示するためにマークアップ言語文書をレンダリングするための例示的なプラットフォームの一実施形態を示す図である。 ターゲット遠隔デバイスによって表示するためにパイプラインステージを利用してマークアップ言語文書をレンダリングする例示的なプラットフォームの別の実施形態を示す図である。 ターゲット遠隔デバイスによって表示するためにマークアップ言語文書をレンダリングするためのプラットフォームで利用される例示的なパイプラインステージの一実施形態を示す図である。 ターゲット遠隔デバイスによって表示するためにプラットフォームがマークアップ言語文書をレンダリングできるようにするモジュールの例示的なクラスツリーの更に別の実施形態を示す図である。 ターゲット遠隔デバイスによって表示するためにプラットフォームを全体的に利用してマークアップ言語文書をレンダリングするためのプロセスの概要を示す図である。 ターゲット遠隔デバイスによって表示するためにプラットフォームを利用してマークアップ言語文書をレンダリングするプロセスの概要を示す図である。 ターゲット遠隔デバイスによって表示するためにマークアップ言語文書のレンダリングを可能にするモジュールのクラスツリーを利用するプロセスの概要を示す図である。 ターゲット遠隔デバイスによって表示するためにマークアップ言語文書をレンダリングするパイプラインステージのプロセスを示す図である。 本発明により、ターゲット遠隔デバイスによって表示するために一時ID及びインデックスを利用してマークアップ言語文書のレンダリングをパイプライン処理するためのプロセスを示す図である。 本発明により、ターゲット遠隔デバイスによって表示するために一時ID及び一時インデックスを利用してマークアップ言語文書をレンダリングするためのプロセスを示す図である。
ここで本発明を本明細書の一部を成す添付図面を参照しながら以下でより詳細に説明するが、ここでは、本発明を実施することができる特定の例示的な実施形態を例証として示している。しかしながら、本発明は、多くの異なる形式で具現化することができ、本明細書に記載された実施形態に限定されるものと解釈すべきではない。むしろ、これらの実施形態は、本開示が詳細且つ完全であり、当業者に本発明の範囲を十分に伝えるように提供されている。とりわけ、本発明は、方法又は装置として具現化することができる。従って、本発明は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、ソフトウェア及びハードウェア態様を組み合わせた実施形態の形式をとることができる。従って、以下の詳細な説明は、限定的な意味で捉えるべきではない。
明細書及び請求項全体にわたって、文脈上別に明確に言及されていない限り、以下の用語は、本明細書で明確に関連付けられた意味をとる。本明細書で使用される語句「1つの実施形態において」は、必ずしも同じ実施形態を指すとは限らない。更に、本明細書で使用する語句「別の実施形態において」とは、必ずしも異なる実施形態を指すとは限らない。従って、以下で説明するように、本発明の範囲又は精神から逸脱することなく、本発明の様々な実施形態は容易に組み合わせることができる。
加えて、本明細書で使用する用語「又は」は、包含的な「又は」演算子であり、別途文脈上で明確に言及されていない限り、用語「及び/又は」と相当語句である。用語「に基づく」とは、排他的ではなく、文脈で別途明確に言及されていない限り、記載されていない付加的な要因に基づくことを許容する。加えて、本明細書全体にわたって、単数表現の意味は、複数の言及を含む。「において」の意味は、「において」及び「上で」を含む。
本明細書で使用するように、リクエスト、応答、又は他のメッセージなどのアイテムをデバイス又は構成要素から「受け取る」という用語は、1つ又はそれ以上のデバイス又は構成要素によって転送される場合のように、メッセージを間接的に受け取ることを含む。同様に、デバイス又は構成要素にアイテムを「送信する」とは、1つ又はそれ以上のデバイス又は構成要素によって転送される場合のように、メッセージを間接的に送信することを含む。
本明細書で使用する用語「移動体識別番号(mobile identification number(MIN)」とは、移動体キャリアのネットワーク内で移動デバイスを一意に識別する番号を指す。携帯電話の電話番号は、MINとして使用することができる。
本明細書で使用する用語「移動クライアントアプリケーション」とは、移動デバイス上で実行されるアプリケーションを指す。移動クライアントアプリケーションは、「C」「C++」「J2ME」「Brew」、Java(登録商標)、及び同様のものなどの各種言語のうちの1つ又はそれ以上で記述することができる。ブラウザ、電子メールクライアント、テキストメッセージングクライアント、カレンダー、及びゲームが移動クライアントアプリケーションの実施例である。
本明細書で使用する用語「ネットワークアプリケーション」とは、ネットワークにわたって少なくとも1つの他の構成要素と直接的又は間接的に通信するコンピュータベースのアプリケーションを指す。ウェブサイト、電子メールサーバ、メッセージングサーバ、及びゲームサーバがネットワークアプリケーションの実施例である。
本明細書で使用する用語「統一資源識別子(uniform resource identifier、URI)」とは、抽象又は物理リソースを識別するために用いられる識別子を指す。URIという用語は、統一資源位置指定子(uniform resource locator、URL)及び統一資源名(uniform resource name、URN)を含む。RFC3986は、URIの構文を記述している。本明細書で使用する用語URIとは、この構文に限定されず、他の構文を含むことができる。
要約すれば、本発明は、遠隔デバイスによって後で表示するために、ネットワーク上で提供されるマークアップ言語のページのカスタマイズされたレンダリングのためのプラットフォームに関する。ターゲット遠隔デバイスのレンダリングコンテキスト及びマークアップ言語(ML)文書はプラットフォームにより受け取られ、該プラットフォームが、ページ付けを行って、該ページをデバイス固有言語に完全にレンダリングすることができるプロセスを可能にする。その後、デバイス固有言語文書は、ターゲット遠隔デバイスが表示するために配信される。デバイス固有言語の文書におけるメディアアイテムの付加的プロセスを実行するために、レンダリング後プロセスもまた提供することができる。この付加的プロセスは、画像を取り出してデバイス固有文書のページに埋め込む段階を含むことができる。例えば、ページがデバイス固有言語でレンダリングされて画像へのリンクを含む場合、後処理コンポーネントは、画像を取り出してこれをbase64符号化データ又は他のフォーマットとしてページ内に埋め込むことができる。この後処理はまた、デバイス固有言語文書内のメディアアイテムへのリンク、例えば、ターゲット遠隔デバイスにより表示するのに好適なGIF又はJPEGなどのデバイス固有フォーマットで特定の位置に格納された画像ファイルへのリンクをリライトする段階も提供することができる。プラットフォームは、マークアップ言語に不可知であり、カスタムレンダリングプロセスにおいてテンプレートを利用することができる。また、少なくとも1つの実施形態において、遠隔デバイスは、ネットワーク上で有線及び/又は無線通信を提供するクライアントデバイスとして構成される。
マークアップ言語文書は、限定ではないが、汎用マークアップ言語(Standard Generalized Markup Language、SGML)、ハイパーテキストマークアップ言語(HyperText Markup Language、HTML)、拡張可能マークアップ言語(eXtensible Markup Language、XML)、及び同様のものを含む、実質的にあらゆる標準又は非標準フォーマットで提供することができる。付加的に、遠隔デバイスのデバイス固有言語は、限定ではないが、ハンドヘルドデバイスマークアップ言語(Handheld Device Markup Language(HDML)、無線マークアップ言語(Wireless Markup Language、WML)、WMLScript、Compact HTML(cHTML)、eXtensible HTML(XHTML)、及び同様のものを含むことができる。
少なくとも1つの実施形態において、ターゲット遠隔デバイスと独立したモジュールを含む移動体マークアップ言語(MML)でプラットフォームにML文書を提供することができる。この場合、プラットフォームは、MML文書を調べてMMLモジュールを識別し、含まれているモジュールに基づいてクラスツリーをインスタンス化する。その後、プラットフォームなどのリソースは、ツリーにされるので、ターゲット遠隔デバイスにより後で表示するために完全レンダリングされたMML文書を提供することができるようになる。
レンダリングコンテキストは、様々なパラメータ及びデータを含むデータ構造として構成することができ、これらはプラットフォームによって利用されて特定の遠隔デバイスで表示するためにML文書内の各ページのレンダリングを最適化する。レンダリングコンテキストは、一般に、コンテンツプロバイダ、キャリア、及び/又は他の第三者サービスによって管理することができる別個のアプリケーション、プラットフォーム、又はプロセスによってプラットフォームに提供される。遠隔デバイスのレンダリングコンテキストは、限定ではないが、画面サイズ、色機能、マークアップ言語のタイプ、ブラウザアプリケーション、移動デバイス又はネットワークゲートウェイのソフトウェア又はハードウェアバージョンの既知のバグ、又は同様のものを含むことができる。また、プラットフォームは、様々な遠隔デバイス及びネットワークキャリアの属性に関連する構成データ、及び構成データを格納して取り出す方法を記憶することができる。少なくとも1つの実施形態において、ターゲット遠隔デバイスのレンダリングコンテキストに関連するデータ及び/又はパラメータの格納及び取り出しは、HTTPクッキーで提供される。
デバイス固有言語文書へのML文書のレンダリングは、複数の様々なプロセスを含むことができ、(1)リクエストに応答してターゲット遠隔デバイスに関する位置情報を提供できるか否かを判定する段階と、(2)余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、(3)カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることによりCSSを文字装飾する段階と、(4)ML文書を圧縮してターゲット遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、(5)ページ内に埋め込むか又はリンクさせる各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、(6)各ページサイズの推定値を利用して、ターゲット遠隔デバイスの有効ディスプレイ画面サイズを超えないサイズにML文書のページを再ページ付けする段階と、(7)ターゲット遠隔デバイスの有効ディスプレイ画面サイズよりも大きくレンダリングされると推定されるページ内のMLコードを調整/削除する段階と、及び/又は(8)コンテンツの位置及び/又はセッション識別情報を含むようにページ内のURLをリライトする段階と、を含む。
更に、ターゲット遠隔デバイスのためのML文書のページのレンダリングは、文書内のリンク又はURIをリライトする段階を含むことができる。例えば、ML文書が1つのフォーマットでの画像へのリンクを含む場合、ターゲット遠隔デバイスがこの第1フォーマットを表示することができない場合には、このリンクを第2フォーマットの代替的画像に変更することができる。リンクはまた、継続中のセッションを識別するための値などのパラメータを含むようにリライトすることができ、その結果、このリンクを用いた新たなリクエストがセッション識別子を返すようになる。
付加的に、複数の異なるプロセスのうちの少なくとも1つによりマークアップ言語文書のより高速な及び/又は効率的なレンダリングを可能にするために、一時マークアップ言語識別(ML ID)を、既存ML IDをまだ有していない文書のページ内の各一意の文字列に付加することができる。各既存及び一時ML IDごとに一時インデックスを構築することができ、次いで、これを複数のプロセスで使用して、ML文書内の対応する要素(一意の文字列)を迅速に見つけてレンダリングする。デバイス固有言語へのレンダリングが完了すると、一時ML ID及び一時インデックスは削除することができる。一時ML ID及び一時インデックスを使用すると、特定のプロセスがターゲット遠隔デバイスのデバイス固有言語文書のレンダリングの一部を実行するためにML文書全体を構文解析しなければならない可能性を低減することができる。また、少なくとも1つの実施形態において、一時ML IDは、XML IDである。
(例示的な動作環境)
図1は、本発明を実施することができる環境の1つの実施形態の構成要素を示している。本発明を実施するために全ての構成要素が必要なわけではなく、本発明の精神又は範囲から逸脱することなく、各構成要素の配置及び種類において変形形態を形成することができる。図示のように図1のシステム100は、ローカルエリアネットワーク(「LAN」)、/広域ネットワーク(「WAN」)−(ネットワーク)105、無線ネットワーク110、コンテンツレンダリングプラットフォーム(Content Rendering Platform、CRP)106、移動デバイス(クライアントデバイス)102−104、クライアントデバイス101、及びコンテンツプロバイダ107を含む。
移動デバイス102−103の1つの実施形態を図2に関連して以下で詳細に説明する。しかしながら、一般に、移動デバイス102−104は、ネットワーク105、無線ネットワーク110、又は同様のもののようなネットワーク上でメッセージを送受信することができるあらゆる携帯用コンピューティングデバイスを実質的に含むことができる。移動デバイス102−104はまた、携帯可能であるように構成されたクライアントデバイスとして一般に説明することもできる。従って、移動デバイス102−104は、他のコンピューティングデバイスに接続して情報を受け取ることができるあらゆる携帯用コンピューティングデバイスを実質的に含むことができる。このようなデバイスは、携帯電話、スマートフォン、ディスプレイページャ、無線周波数(RF)デバイス、赤外線(IR)デバイス、携帯情報端末(PDA)、ハンドヘルドコンピュータ、ラップトップコンピュータ、ウェアラブルコンピュータ、タブレットコンピュータ、前述のデバイスの1つ又はそれ以上を組み合わせた統合型デバイス、及び同様のものなどの携帯用デバイスを含む。従って、移動デバイス102−104は通常、機能及び特徴の点で広範にわたる。例えば、携帯電話は、数字キーパッド、及びテキストのみを表示可能な数行の白黒のLCDディスプレイを有することができる。別の実施例では、ウェブ対応の移動デバイスが、タッチセンシティブスクリーン、スタイラス、及びテキスト及びグラフィックスの両方を表示可能な数行のカラーLCDディスプレイを有することができる。
ウェブ対応の移動デバイスは、ウェブページ、ウェブベースのメッセージ、及び同様のものを送受信するように構成されたブラウザアプリケーションを含むことができる。ブラウザアプリケーションは、無線アプリケーションプロトコルメッセージ(WAP)及び同様のものを含むあらゆるウェブベースの言語を実質的に利用して、グラフィックス、テキスト、マルチメディア、及び同様のものを受け取って表示するように構成することができる。1つの実施形態において、移動デバイスのブラウザアプリケーションは、ハンドヘルドデバイスマークアップ言語(Handheld Device Markup Language、HDML)、無線マークアップ言語(Wireless Markup Language、WML)、WMLScript、JavaScript(登録商標)、汎用マークアップ言語(Standard Generalized Markup Language、SGML)、ハイパーテキストマークアップ言語(HyperText Markup Language、HTML)、拡張可能マークアップ言語(eXtensible Markup Language、XML)、及び同様のものを利用してコンテンツを表示し、メッセージを通信できるようになっている。
移動デバイス102−104はまた、他のコンピューティングデバイスからコンテンツを受け取るように構成された少なくとも1つの別のクライアントアプリケーションを含むこともできる。クライアントアプリケーションは、テキストコンテンツ、グラフィックコンテンツ、オーディオコンテンツ、及び同様のものを提供して受け取る能力を含むことができる。クライアントアプリケーションは、更に、タイプ、能力、名前、及び同様のものを含む自己を識別する情報を提供することができる。1つの実施形態において、移動デバイス102−104は、電話番号、移動体識別番号(Mobile Identification Number、MIN)、電子シリアル番号(ESN)、又は他の移動デバイス識別子を含む様々な機構のいずれかを通じて自己を一意に識別させることができる。情報はまた、移動デバイスに利用可能なコンテンツフォーマット、移動デバイス製造者、モデル番号、ディスプレイ色、ディスプレイサイズ、使用可能機能、及び無線キャリアを示すこともできる。このような情報は、メッセージ又は同様のもので提供することができ、CRP106、クライアントデバイス101、又は他のコンピューティングデバイスに送信される。
移動デバイス102−104はまた、ショートメッセージサービス(Short Message Service、SMS)、マルチメディアメッセージサービス(Multimedia Message Service、MMS)、インスタントメッセージング(IM)、インターネットリレーチャット(IRC)、Mardam−Bey’s IRC(mIRC)、Jabber、及び同様のものなどを通じて、CRP106、クライアントデバイス101、又は同様のものなどの他のコンピューティングデバイスの間でメッセージを通信するように構成することができる。しかしながら、本発明は、これらのメッセージプロトコルに限定されず、実質的に他のあらゆるメッセージプロトコルを利用することもできる。
移動デバイス102−104は更に、ユーザがIMセッションなどの通信セッションに参加できるように構成することができる。従って、移動デバイス102−104は、クライアントデバイスの代わりに様々な動作を管理するように構成されたクライアントアプリケーションを含むことができる。例えば、クライアントアプリケーションにより、ユーザは、ブラウザアプリケーション、電子メールアプリケーション、IMアプリケーション、SMSアプリケーション、MMSアプリケーション、及び同様のものと対話できるようにすることができる。
移動デバイス102−104は更に、エンドユーザがエンドユーザアカウントにログインできるようにするクライアントアプリケーションを含むように構成することができ、エンドユーザアカウントは、コンテンツプロバイダ107などの他のコンピューティングデバイスによって管理することができる。例えばこのようなエンドユーザアカウントは、エンドユーザが、電子メールの受信、IMメッセージ、SMSメッセージの送受信、選択したウェブページへのアクセス、ソーシャルネットワーキング活動への参加、又は同様のものを行えるように構成することができる。しかしながら、種々のソーシャルネットワーキング活動への参加はまた、エンドユーザアカウントにログインしなくても実行することができる。付加的に、移動デバイス102−104はまた、クライアントデバイス101又は同様のものなどの非移動体クライアントデバイスと通信することもできる。
クライアントデバイス101は、ソーシャルネットワーキング情報又は同様のものを含む情報を送受信するためにネットワーク上で通信可能なあらゆるコンピューティングデバイスを実質的に含むことができる。このようなデバイスのセットは、パーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能消費者電子技術、ネットワークPC、又は同様のものなど、典型的に有線又は無線通信を用いて接続するデバイスを含むことができる。
無線ネットワーク110は、移動デバイス102−104及びその構成要素をネットワーク105と結合するように構成されている。無線ネットワーク110は、様々な無線サブネットワークのいずれかを含むことができ、これらは更に、スタンドアロンのアドホックネットワーク及び同様のものにオーバーレイして、インフラストラクチャ指向接続を移動デバイス102−104に提供することができる。このようなサブネットワークは、メッシュネットワーク、無線LAN(WLAN)ネットワーク、セルラーネットワーク、及び同様のものを含むことができる。
無線ネットワーク110は更に、無線ラジオ回線及び同様のものによって接続された端末、ゲートウェイ、ルータ、及び同様のものの自律システムを含むことができる。これらのコネクタは、自由且つランダムに移動して自己を任意に編成するように構成することができるので、無線ネットワーク110のトポロジは迅速に変化することができる。
無線ネットワーク110は更に、セルラーシステム用の第2(2G)、第3(3G)、及び第4(3G)世代無線アクセス、WLAN、WiMax、無線ルータ(Wireless Router、WR)メッシュ、及び同様のものを含む、複数のアクセス技術を利用することができる。2G、3G、3G及びそれ以降の無線アクセスネットワークなどのアクセス技術は、様々な移動度を有する移動デバイス102−104など、移動デバイスに対して広範なカバレッジを可能にすることができる。例えば、無線ネットワーク110は、移動体通信用グローバルシステム(Global System for Mobile communication、GSM)、汎用パケット無線サービス(General Packet Radio Services、GPRS)、Enhanced Data GSM Environment(EDGE)、広帯域符号分割多元接続(Wideband Code Division Multiple Access、WCDMA)、ユニバーサル移動体通信システム(Universal Mobile Telephone System、UMTS)、及び同様のものなど、無線ネットワークアクセスを通じて無線接続を可能にすることができる。基本的に、無線ネットワーク110は、移動デバイス102−104と他のコンピューティングデバイス、ネットワーク、及び同様のものとの間を情報が移動できるあらゆる無線通信機構を実質的に含むことができる。
ネットワーク105は、CRP106及びその構成要素を、移動デバイス102−104、クライアントデバイス101を含む他のコンピューティングデバイスと結合し、無線ネットワーク110を通じて移動デバイス102−104に結合するように構成されている。ネットワーク105は、一方の電子デバイスから他方に情報を通信するためにあらゆる形式のコンピュータ可読媒体を利用できるようにされている。また、ネットワーク105は、ローカルエリアネットワーク(LAN)及び広域ネットワーク(WAN)に加えてインターネット、ユニバーサルシリアルバス(USB)ポートなどを通じたダイレクト接続、他の形式のコンピュータ可読媒体、或いはこれらのあらゆる組み合わせなどを含むことができる。様々なアーキテクチャ及びプロトコルに基づくものを含むLANの相互接続セット上において、ルータは、LAN間のリンクとして動作し、一方から他方へメッセージを送信することを可能にする。また、LAN内の通信リンクは通常、ツイストペア線又は同軸ケーブルを含むが、ネットワーク間の通信リンクは、アナログ電話回線、T1、T2、T3、及びT4を含む完全又は部分的な専用デジタル回線、総合デジタル通信網(Integrated Services Digital networks、ISDN)、デジタル加入者回線(Digital Subscriber Lines、DSL)、衛星回線を含む無線回線、或いは当業者に公知の他の通信リンクを利用することができる。更に、遠隔コンピュータ及び他の関連電子デバイスは、モデム及び一時電話回線を介してLAN又はWANのいずれかに遠隔で接続することができる。基本的に、ネットワーク105は、CRP106、クライアントデバイス101、及び他のコンピューティングデバイスとの間を情報が移動できるあらゆる通信方法を含む。
付加的に、通信媒体は通常、コンピュータ読み出し可能命令、データ構造、プログラムモジュール、或いは搬送波データ信号、又は他の伝送機構などの変調データ信号内の他のデータを具現化し、あらゆる情報配信媒体を含む。用語「変調データ信号」及び「搬送波信号」は、情報、命令、データ及び同様のものを信号内で符号化するようにして設定又は変更された特性の1つ又はそれ以上を有する信号を含む。例証として、通信媒体は、ツイストペア、同軸ケーブル、光ファイバー、導波管、及び他の有線媒体などの有線媒体と、音響、RF、赤外線、及び他の無線媒体などの無線媒体とを含む。
CRP106の1つの実施形態を図3に関連して以下でより詳細に説明する。しかしながら簡潔に述べると、CRP106は、ネットワーク105に接続して、移動デバイス102−104及びクライアントデバイス101などの特定の遠隔デバイスによって後で表示するために、マークアップ言語のテンプレート及びページの言語不可知のレンダリング用プラットフォームを有効にできるあらゆるコンピューティングデバイスを含むことができる。特定の遠隔デバイスのレンダリングコンテキスト及びマークアップ言語文書は、プラットフォームによって受け取られ、これらを共に処理してデバイス固有言語で文書を生成し、この文書が後で特定の遠隔デバイスに配信され、該デバイスによって表示される。CRP106として動作することができるデバイスは、パーソナルコンピュータ、デスクトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能消費者電子技術、ネットワークPC、サーバ、及び同様のものを含む。
図1では、CRP106を単一のコンピューティングデバイスとして示しているが、本発明はこれに限定されない。例えば、CRP106の1つ又はそれ以上の機能を1つ又はそれ以上の別個のコンピューティングデバイスにわたって分散させることができる。例えば、コンテンツのレンダリング及び同様のことを本発明の範囲又は精神から逸脱することなく複数のコンピューティングデバイスによって実行することができる。
コンテンツプロバイダ107はまた、コンテンツを遠隔デバイスに提供するのに用いられる各種のサービスを含むことができる。このようなサービスは、限定ではないが、ウェブサービス、第三者サービス、オーディオサービス、ビデオサービス、電子メールサービス、IMサービス、SMSサービス、MMSサービス、VOIPサービス、ビデオゲームサービス、ゲームサービス、カレンダーサービス、ショッピングサービス、写真サービス、又は同様のものを含む。コンテンツプロバイダ107として動作することができるデバイスは、パーソナルコンピュータ、デスクトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能消費者電子技術、ネットワークPC、サーバ、及び同様のものを含む。
(例示的な移動デバイス)
図2は、本発明を実施するシステムに含めることができる移動デバイス200の1つの実施形態を示している。移動デバイス200は、図2に示したよりも多いか又は少ない構成要素を含むことができる。しかしながら、図示の構成要素は、本発明を実施するための例示的な実施形態を開示するのに十分である。例えば、移動デバイス200は、図1の移動デバイス102−104を表すことができる。
図に示すように、移動デバイス200は、バス224を介してマスメモリ230と通信する処理ユニット(CPU)222を含む。移動デバイス200はまた、電源226、1つ又はそれ以上のネットワークインタフェース250、オーディオインタフェース252、ディスプレイ254、キーパッド256、発光体258、入力/出力インタフェース260、触覚インタフェース262、及び任意の全地球測位システム(GPS)受信機264を含む。電源226は、移動デバイス200に電力を供給する。充電式又は非充電式電池を用いて電力を供給することができる。電力はまた、ACアダプタ又は電池を補足する又は再充電する電力供給用ドッキングクレードルのような外部電源によって供給することもできる。
移動デバイス200は、任意選択的に、基地局(図示せず)と通信し、或いは別のコンピューティングデバイスと直接通信することができる。ネットワークインタフェース250は、移動デバイス200を1つ又はそれ以上のネットワークに結合するための回路を含み、限定ではないが、移動体通信用グローバルシステム(Global System for Mobile communication、GSM)、符号分割多元接続(code division multiple access、CDMA)、広帯域CDMA(Wide CDMA、WCDMA)、時分割多元接続(time division multiple access、TDMA)、ユニバーサル移動体通信システム(Universal Mobile Telephone System、UMTS)、ユーザデータグラムプロトコル(UDP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、SMS、汎用パケット無線サービス(general packet radio service、GPRS)、WAP、超広帯域(UWB)、IEEE 802.16のWorldwide Interoperability for Microwave Access (WiMax)、SIP/RTP、又は様々な他の無線通信プロトコルのいずれかを含む、1つ又はそれ以上の通信プロトコル及び技術と共に使用するように構成されている。ネットワークインタフェース250は、場合によっては、トランシーバ、送受信デバイス、又はネットワークインタフェースカード(NIC)としても知られる。
オーディオインタフェース252は、人間の音声などのオーディオ信号を生成し受信するように構成されている。例えば、オーディオインタフェース252は、スピーカ及びマイクロフォン(図示せず)に結合されて、他との電気通信を可能にし、及び/又は何らかの行動に関するオーディオ確認応答を生成することができる。ディスプレイ254は、液晶ディスプレイ(LCD)、ガスプラズマ、発光ダイオード(LED)、又はコンピューティングデバイスで用いられる他のあらゆるタイプのディスプレイとすることができる。ディスプレイ254はまた、スタイラスなどの物体又は人間の手による指からの入力を受け取るように構成されたタッチセンシティブスクリーンを含むことができる。
キーパッド256は、ユーザからの入力を受け取るように構成されたあらゆる入力デバイスを含むことができる。例えば、キーパッド256は、プッシュボタン式の数字ダイヤル又はキーパッドを含むことできる。キーパッド256はまた、画像の選択及び送信に関連するコマンドボタンを含むことができる。発光体258は、ステータス表示を提供し及び/又は光を提供することができる。発光体258は、特定の時間期間又はイベントに応答してアクティブを維持することができる。例えば、発光体258がアクティブであるときに、キーパッド256上のボタンをバックライトで照らし、クライアントデバイスに電源が入っている間はそのままの状態を続けることができる。また、発光体258は、別のクライアントデバイスにダイヤルするなど、特定の動作が実行されるときに様々なパターンでこれらのボタンをバックライトで照らすことができる。発光体258はまた、動作に応答して発光するようにクライアントデバイスの透明又は半透明ケース内に光源を配置させることもできる。
移動デバイス200はまた、ヘッドセット、或いは図2に示していない他の入力又は出力デバイスなどの外部デバイスと通信するための入力/出力インタフェース260を含むことができる。入力/出力インタフェース260は、USB、赤外線、Bluetooth(商標)、又は同様のものなど、1つ又はそれ以上の通信技術を利用することができる。触覚インタフェース262は、クライアントデバイスのユーザに触覚フィードバックを提供するように構成されている。例えば、触覚インタフェースを利用して、コンピューティングデバイスの他のユーザが呼び出しているときに特定の方法で移動デバイス200を振動させることができる。
任意選択のGPSトランシーバ264は、地球表面上の移動デバイス200の物理座標を特定することができ、通常は、位置を緯度及び経度として出力する。GPSトランシーバ264はまた、限定ではないが、三角測量、アシストGPS(AGPS)、E−OTD、CI、SAI、ETA、BSS、又は同様のものを含む他の測位機構を利用して、地球表面上の移動デバイス200の物理位置を特定することができる。様々な状況下において、GPSトランシーバ264は、移動デバイス200に関してミリメートル内で物理位置を特定することができ、他の事例では、特定された物理位置がメートル単位又は極めて大きな距離内など、精度が低い場合もある点は理解されたい。しかしながら、1つの実施形態において、移動デバイスは、他の構成要素を通じて、例えばMACアドレス、IPアドレス、又は同様のものを含むデバイスの物理位置を特定するのに利用可能な他の情報を提供することができる。
マスメモリ230は、RAM232、ROM234、及び他の格納手段を含む。マスメモリ230は、コンピュータ読み出し可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するためのコンピュータ記憶媒体の別の実施例を示している。マスメモリ230は、移動デバイス200の下位動作を制御する基本入出力システム(「BIOS」)240を格納する。マスメモリはまた、移動デバイス200の動作を制御するためのオペレーティングシステム241も格納する。この構成要素は、UNIX(登録商標)、LINUX(商標)などの汎用オペレーティングシステム、或いは、Windows Mobile(商標)又はSymbian(登録商標)オペレーティングシステムなどの専用クライアント通信オペレーティングシステムを含むことができる点は理解されるであろう。オペレーティングシステムは、Java(登録商標)アプリケーションプログラムを介してハードウェア構成要素及び/又はオペレーティングシステム動作の制御を可能にするJava(登録商標)仮想マシンモジュールを含む、或いはこれとインタフェースすることができる。
メモリ230は更に、1つ又はそれ以上のデータストレージ244を含み、これらは、とりわけ、アプリケーション242及び/又は他のデータを格納するために移動デバイス200によって利用することができる。例えば、データストレージ244はまた、移動デバイス200の様々な機能を記述する情報を格納するために利用することもできる。この情報は次に、通信中にヘッダの一部として送信される、リクエストに応じて送信される、又は同様のことを含む、様々なイベントのいずれかに基づいて他のデバイスに提供することができる。
アプリケーション242は、移動デバイス200によって実行されたときに、メッセージ(例えば、SMS、MMS、IM、電子メール、及び/又は他のメッセージ)、オーディオ、及びビデオを送信、受信、及び/又は他の方法で処理して、他のクライアントデバイスの他のユーザとの電気通信を可能にするコンピュータ実行可能命令を含むことができる。アプリケーションプログラムの別の実施例は、カレンダー、ブラウザ、電子メールクライアント、IMアプリケーション、SMSアプリケーション、VOIPアプリケーション、コンタクトマネージャ、タスクマネージャ、トランスコーダ、データベースプログラム、ワードプロセッシングプログラム、セキュリティアプリケーション、スプレッドシートプログラム、ビデオゲーム、ゲームプログラム、検索プログラム、ショッピングカートプログラム、及びその他を含む。アプリケーション242は更に、ブラウザ245を含むことができる。
ブラウザ245は、コンテンツプロバイダ107からCRP106によって提供されたレンダリングされたコンテンツの表示を受け取って有効にするように構成することができる。更に、ブラウザ245は、移動デバイス200のユーザが、レンダリングされたコンテンツによって表示された様々な行動を選択できるようにする。少なくとも1つの実施形態において、ブラウザ245により、ユーザは、購入する製品の1つ又はそれ以上の選択、コンテンツの検索及び結果の表示、移動電話デバイスに電話をかけること、メッセージの表示及び応答、或いは同様のことを行うことができる。移動デバイス上に表示するためにコンテンツをレンダリングするための様々な実施形態を以下でより詳細に説明する。
(例示的なネットワークデバイス)
図3は、本発明の1つの実施形態によるネットワークデバイスの1つの実施形態を示している。ネットワークデバイス300は、ここに図示したよりも多くの構成要素を含むことができる。しかしながら、ここに図示した構成要素は、本発明を実施するための例示的な実施形態を開示するのに十分である。ネットワークデバイス300は、例えば、図1のCRP106、クライアントデバイス101、及び/又はコンテンツプロバイダ107を表すことができる。
ネットワークデバイス300は、処理ユニット312、ビデオディスプレイアダプタ314、及びマスメモリを含み、これらは全てバス322を介して互いに通信している。マスメモリは、一般に、RAM316、ROM332、及びハードディスクドライブ328、テープドライブ、光学式ドライブ、及び/又はフロッピー(登録商標)ディスクドライブなどの1つ又はそれ以上の永続的大容量記憶装置を含む。マスメモリは、ネットワークデバイス300の動作を制御するためのオペレーティングシステム320を格納する。あらゆる汎用オペレーティングシステムを利用することができる。ネットワークデバイス300の下位動作を制御するために、基本入出力システム(「BIOS」)318も設けられる。図3に示すように、ネットワークデバイス300はまた、インタフェース又は他の何らかの通信ネットワークとネットワークインタフェースユニット310を介して通信することもでき、ネットワークインタフェースユニットは、TCP/IPプロトコルを含む様々な通信プロトコルで使用するように構成されている。ネットワークインタフェースユニット310は、場合によっては、トランシーバ、送受信デバイス、又はネットワークインタフェースカード(NIC)としても知られる。
上述のようなマスメモリは、他のタイプのコンピュータ可読媒体、すなわち、コンピュータ記憶媒体を示している。コンピュータ記憶媒体は、コンピュータ読み出し可能命令、データ構造、プログラムモジュール、又は他のデータなど、情報を格納するためにいずれかの方法又は技術で実装された揮発性、不揮発性、取り外し可能、及び取り外し不能媒体を含むことができる。コンピュータ記憶媒体の実施例は、RAM、ROM、EEPROM、フラッシュメモリ、又は他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、又は他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気記憶装置、或いは、所望の情報を格納するために使用することができ且つコンピューティングデバイスによってアクセス可能な他のあらゆる媒体を含む。
マスメモリはまた、プログラムコード及びデータを格納する。1つ又はそれ以上のアプリケーション350は、マスメモリにロードされ、オペレーティングシステム320上で実行される。アプリケーションプログラムの実施例は、トランスコーダ、スケジューラ、カレンダー、データベースプログラム、ワードプロセッシングプログラム、HTTPプログラム、カスタマイズ可能ユーザインタフェースプログラム、IPSecアプリケーション、暗号化プログラム、セキュリティプログラム、VPNプログラム、SMSメッセージサーバ、IMメッセージサーバ、電子メールサーバ、アカウント管理、及びその他を含むことができる。コンテンツレンダリングプラットフォーム(CRP)354もまた、アプリケーションプログラムとしてアプリケーション350内に含めることができる。
CRP354は、1つ又はそれ以上のリソースからレンダリングコンテキスト情報及びマークアップ言語文書を受け取るプラットフォーム及び/又はサーバとして構成可能である。CRP354は、ターゲット遠隔デバイス上での後続の表示及び/又は対話に好適な方法でレンダリングコンテキストに少なくとも部分的に基づいて、デバイス固有言語文書で自動的にマークアップ言語文書をレンダリング及び調整する。
(例示的なプラットフォーム)
図4は、複合マークアップ言語(ML)文書及びレンダリングコンテキストを利用して、文書をデバイス固有言語文書にレンダリングして後でターゲット遠隔デバイス上に表示するためのプラットフォーム400の1つの実施形態の概要を示している。複合ML文書406は、より多くのMLコードに分解することができる。また、レンダリングコンテキスト404は、ターゲット遠隔デバイスのデータ及びパラメータの特定の組み合わせを識別するための一意の識別子を含むことができる。
1つ又はそれ以上の他のサービス、プラットフォーム、及び/又はアプリケーションから、メインコンポーネント402が、複合ML文書406及びレンダリングコンテキスト404を受け取る。メインコンポーネント402は、複合MLコードの妥当性を確認して、レンダリングコンテキストと共に含まれているデータ、パラメータ、及び一意の識別子をチェックする。エラーが検出された場合、メインコンポーネント402は、このようなエラーの通知を提供し、これを、ターゲット遠隔デバイス及び/又はメインコンポーネントに対する複合ML文書の提供者に提供することができる。
少なくとも1つの実施形態において、コンテンツプロバイダ、他のプラットフォーム、及び/又はアプリケーションによって複合ML文書がプラットフォーム400に提供される。同様に、レンダリングコンテキストは、1つ又はそれ以上のサービス、プラットフォーム、アプリケーション、及び/又は遠隔デバイスの製造者、遠隔デバイスからのメッセージ内のヘッダ情報、遠隔デバイスと通信しているキャリアのゲートウェイからの情報、移動デバイスのソフトウェア及び/又はハードウェア内の既知のバグを含むソースからリアルタイム及び/又は帯域外で別個に特定される。
キャッシュ412は、複合ML文書に含まれるコードの文書オブジェクトモデルツリーを格納するように構成されている。また、文書オブジェクトモデルツリーがキャッシュ412内に最初に存在しない場合、MLパーサ410が文書を構文解析してML文書オブジェクトモデルツリー414を作成し、その後、これがキャッシュ内に格納される。いずれの場合においても、キャッシュに入れられたツリーは、マークアップエキスパンダ414に転送されて、これがネイティブMLタグの文書オブジェクトモデルツリーを生成する。リソースマネージャ434は、コンポーネント436を利用して指定リソースの置換を可能にし、コンポーネント438を利用してライブラリから複合タグを拡張する。
マークアップエキスパンダ418は、コンディショナ426にネイティブMLツリー424を提供し、ここで解決プロセス、すなわち、ターゲット遠隔デバイスによって後で表示するために空白の削除及びページ付けが実行される。調整されたネイティブMLツリーは、マークアップレゾルバ428に提供され、ここでコンポーネント430が、テンプレートのレンダリングを実行し、コンポーネント432がキャッシュ内に含まれたタグをレンダリングする。タグテンプレートは、リソースマネージャ434に関連付けられたコンポーネント440によって提供される。マークアップレゾルバ428は、最初に提供された複合ML文書に基づいてデバイス固有言語の文書をメインコンポーネント402に提供する。メインコンポーネント402は、その後、ターゲット遠隔デバイスに配信するためにデバイス固有言語文書416を提供する。
レンダリングは、デバイス固有言語の文書へのML文書の完全レンダリングに寄与する複数の様々なプロセスを含むことができ、(1)リクエストに応答してターゲット遠隔デバイスに関する位置情報を提供できるか否かを判定する段階と、(2)余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、(3)カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることによりCSSを文字装飾する段階と、(4)ML文書を圧縮してターゲット遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、(5)ページ内に埋め込むか又はリンクさせる各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、(6)各ページサイズの推定値を利用して、ターゲット遠隔デバイスの有効ディスプレイ画面サイズを超えないサイズにML文書のページを再ページ付けする段階と、(7)ターゲット遠隔デバイスの有効ディスプレイ画面サイズよりも大きくレンダリングされると推定されるページ内のMLコードを調整/削除する段階と、及び(8)メディアアイテムの位置及び/又はセッション識別情報を含むようにページ内のURLをリライトする段階と、を含む。
ページ付けプロセスは、一般に、マークアップレゾルバ428及びコンディショナ426の組み合わせ動作と共に実行される。レンダリングコンテキスト404には、コンディショナ426によって各ページのターゲット遠隔デバイスの有効/最大ページサイズが問い合わせされる。レンダリングされることになる各ページのサイズの一般的な推定値は、各ページ内に含まれるノードを分析することによって求められる。推定値は、ターゲット遠隔デバイスの有効ページサイズと比較されて、別の新しいページに再ページ付けするか又は既存ページから調整/削除する必要のあるページデータのオフセットが存在するか否かを判定する。コンディショナ426はまた、ネイティブMLツリーを調べて、オフセットが位置する場所で分割可能として定義される各ノードを識別する。分割可能なノードの後のコンテナは、マークアップレゾルバ428による後続のマークアップ解決のためのブレークオフポイントとしてコンディショナ426によってタグで識別される。
更に、ページ付けプロセスはマークアップレゾルバ428によって完了され、マークアップレゾルバ428は、コンディショナ426によってレンダリングのためにタグ付けされたページ内のノードをレンダリングし、他はレンダリングしない。しかしながら、ノードがレンダリングされるたびに、レンダリングされたノードのサイズは、その特定のページの現在の合計サイズに記入される。マークアップレゾルバ428が、分割するためにタグ付けされたコンテナをレンダリングした後、レゾルバは、分割が他のタグ内で発生するか否かをチェックする。タグ上で分割が発生した場合、分割は、前のタグ又はデータに従うように設定される。しかしながら、分割がタグ上で発生しない場合、分断方法を実行してオフセットを見つけ、分割が、過度に長いワード、例えば、リソースマネージャ434によって調整可能な100文字長を超える空白上で発生する。付加的に、ページ内に分割を挿入した後、マークアップレゾルバ428は、分割ページの次及び前ページへの表示可能なリンクを必要に応じて含むページの末尾タグをレンダリングすることができる。
また、図示していないが、プラットフォームは、レンダリング後コンポーネントが、ターゲット遠隔デバイスにより後で表示/再生するために、デバイス固有言語文書内にメディアアイテムを埋め込むのを可能にすることができる。メディアアイテムは、画像、オーディオファイル、サウンド、グラフィックス、ビデオ、アニメーション、又は同様のものを含むことができる。付加的に、文書をターゲット遠隔デバイスに提供する前に、デバイス固有言語文書のテキスト及び他のあらゆる要素のローカライゼーションを実行することができる。
図5Aは、ターゲット遠隔デバイスの対応するレンダリングコンテキスト506に少なくとも部分的に基づくマークアップ言語(ML)文書504のパイプラインレンダリングにおけるプラットフォーム502の1つの実施形態の概要500を示している。レンダリングコンテキスト506及びML文書504は、マスタ文書アセンブラ508によって事前処理することができ、ここで略式手続きが処理され、例えば、単位を付加し、空白を埋め、及び/又はフッタを付加することができる。マスタ文書アセンブラ508は、(事前処理された)ML文書504及びレンダリングコンテキスト504をプラットフォーム502に提供して、ここでパイプラインビルダコンポーネント512が文書を構文解析し、デバイス固有言語の文書へのML文書の完全レンダリングに寄与する様々な処理ステージを求めて識別し、これはまた、ターゲット遠隔デバイスのレンダリングコンテキストに少なくとも部分的に基づいている。パイプラインビルダコンポーネント512は、パイプラインステージライブラリ514を利用してパイプラインステージコンポーネント516を生成し、これは、デバイス固有言語の文書へのML文書504の完全レンダリングに寄与する識別された各プロセスのステージを含めるように構成されている。更に、メインコンポーネント510は、ML文書504及びレンダリングコンテキスト506に基づく文書オブジェクトモデル(DOM)ツリーを生成する。DOMツリー及びレンダリングコンテキスト506の両方が、パイプラインステージコンポーネント516内のステージの少なくとも一部に提供される。
ステージは、デバイス固有言語文書へのML文書504の完全レンダリングに寄与する複数の様々なプロセスを可能にすることができ、(1)リクエストに応答してターゲット遠隔デバイスに関する位置情報を提供できるか否かを判定する段階と、(2)余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、(3)カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることによりCSSを文字装飾する段階と、(4)ML文書を圧縮してターゲット遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、(5)ページ内に埋め込むか又はリンクさせる各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、(6)各ページサイズの推定値を利用して、ターゲット遠隔デバイスの有効ディスプレイ画面サイズを超えないサイズにML文書のページを再ページ付けする段階と、(7)ターゲット遠隔デバイスの有効ディスプレイ画面サイズよりも大きくレンダリングされると推定されるページ内のMLコードを調整/削除する段階と、及び(8)メディアアイテムの位置及び/又はセッション識別情報を含むようにページ内のURLをリライトする段階と、を含む。
付加的に、一時インデックス付加及び一時インデックス削除ステージ(図示せず)をパイプラインステージライブラリ514内に任意選択的に含め、及びパイプラインステージコンポーネント516内の処理ステージとして含めることができる。一時インデックス付加ステージは、ML文書504を構文解析し、XMLIDタグをまだ有していない文書内の各一意の文字列を識別し、その後、これらの一意の文字列に一時IDタグを提供するように構成することができる。また、このステージは、一時及び既存XMLIDタグの全てに関して一時インデックスをオンザフライで構築することができる。その後、コンポーネント516内の他のパイプラインステージは、この一時インデックスを用いて、特定のステージによってデバイス固有言語にレンダリングされることになるML文書内のこれらの要素にだけ迅速にアクセスすることができるようになる。他のパイプラインステージによってレンダリングが完了すると、一時インデックス削除ステージが、一時XMLID及び一時インデックスを削除する。一時ML ID及び一時インデックスを使用すると、特定のプロセスがターゲット遠隔デバイスのデバイス固有言語文書への完全レンダリングの一部分を実行するためにML文書全体を構文解析しなければならない可能性を低減することができる。
シリアライザ518は、ターゲット遠隔デバイスのデバイス固有言語文書を受け取って、これを該デバイスとの通信リンク上での送信に好適なキャラクタバイトのストリームに変換する。付加的に、特定の言語のキャラクタバイトをローカライズするように別個のコンポーネントを構成することができ、ターゲット遠隔デバイスのキャラクタストリーム内にメディアアイテムを埋め込むように他のコンポーネントを構成することができる。
図5Bは、図5Aに示したようなパイプラインステージコンポーネント516内に含めることができる複数の例示的なステージの1つの実施形態の概要を示している。コンポーネント516は、一時インデックス付加ステージ530、位置リクエストステージ532、縮小ステージ534、ページ付けステージ536、文字装飾ステージ538、メディアアイテムステージ540、及び一時インデックス削除ステージ542を含むように示されている。コンポーネント516内に含まれるステージは、特定のターゲット遠隔デバイスに対応し、異なるターゲット遠隔デバイスにレンダリングが実行されることになっている場合には、全てのステージではないその一部分に加えて、場合によっては他のステージもまた、コンポーネント516に含めることができる。
(例示的な移動体マークアップ言語)
図6は、移動体マークアップ言語(MML)で作成された文書内に含まれるモジュールからインスタンス化することができるクラスツリーの概要600を示している。MMLは、ターゲット遠隔デバイスの考慮事項とは相対的に無関係であり、そのクラスは、少なくとも上述のプラットフォーム又は他のリソースの様々な実施形態によってインスタンス化することができる。プラットフォームのメインコンポーネントは、MML文書を自動的に構文解析して、各MMLモジュールを識別し、その後、識別したモジュールに基づいてクラスツリーをインスタンス化することができる。別の実施形態では、ターゲット遠隔デバイスにおいて後で表示するためにレンダリングすることができる実質的にあらゆるタイプのマークアップ言語文書を生成するようにクラスを構成することができる。
デバイス固有言語文書へのMML文書のレンダリングは、レンダリングに寄与する複数の様々なプロセスを含むことができ、(1)リクエストに応答してターゲット遠隔デバイスに関する位置情報を提供できるか否かを判定する段階と、(2)余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、3)カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることによりCSSを文字装飾する段階と、(4)ML文書を圧縮してターゲット遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、(5)ページ内に埋め込むか又はリンクさせる各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、(6)各ページサイズの推定値を利用して、ターゲット遠隔デバイスの有効ディスプレイ画面サイズを超えないサイズにML文書のページを再ページ付けする段階と、(7)ターゲット遠隔デバイスの有効ディスプレイ画面サイズよりも大きくレンダリングされると推定されるページ内のMLコードを調整/削除する段階と、及び(8)メディアアイテムの位置及び/又はセッション識別情報を含むようにページ内のURLをリライトする段階と、を含む。
付加的に、MML文書は、少なくとも2つのカテゴリのデータ構造、例えば、構造及びモジュールタグを含むことができる。構造カテゴリは、コンテンツタグ、形式タグ、モードタグ、及び構成タグ、及び同様のものを含むことができる。また、モジュールカテゴリは、汎用モジュールタグ、グローバルモジュールタグ、及びプロパティモジュールタグを含むことができる。付加的に、モジュールタグの一部は、MML文書のレンダリングを調整するように設定することができる。
MMLタグの少なくとも一部の一覧表示を以下に示す。
構造タグ
コンテンツタグ−<text>
タイプタグ−<media>;<mi>(メディアアイテム)
形式タグ−<input>、<submit>、<hidden>、<label>、<value>
モードタグ−<a>、<heading>、<subheading>
構成タグ−<p>、<item>、<array>、<join>、<yml>
モジュールタグ
汎用モジュール−<module.container>、<module.grid>、<module.pane>、<module.list>、<module.plain>
様式(属性)
グローバルモジュール−<yahoo.header>、<yahoo.footernav>、<yahoo.footerlegal>
プロパティモジュール−<yahoo.sch.result>
2つのカテゴリ内のモジュールの名前は、これらの機能性の説明的なものとなる傾向があるが(他のマークアップ言語内の同音のタグに幾分類似する)、MMLタグは、主に、プログラマの意図を捉えるために用いられ、ターゲット遠隔デバイス上に表示するために実際にページをレンダリングするのに必要な様式ではない。例えば、汎用モジュールタグ<module.list>は、ターゲット遠隔デバイス上に表示するためのリストをレンダリングするためのプラットフォームによるリクエストとして処理される。しかしながら、<module.list>タグは、実際にレンダリングを実行するために必要な実質的な詳細は指定しないので、プラットフォームは、レンダリングコンテキスト内に含まれているデータ及びパラメータ、例えば、リストの縦及び横方向、有効なディスプレイ画面の幅及び長さ、及びページを表示するためのページ付けサイズを用いることによって、これらの詳細を処理する。MMLタグの意図のレンダリングは、上述のプラットフォームの少なくとも1つ又は他のリソースによって、他のタイプのマークアップ言語文書で提供される他のタグと実質的に類似の方法で処理される。
(プラットフォームの一般的動作)
ここで、本発明の特定の態様に関する方法及びプロセスを図7−11Bに関連して説明する。
図7は、ターゲット遠隔デバイスにより表示するためにマークアップ言語(ML)文書をレンダリングするための本発明のプラットフォームのあらゆる実施形態で一般的に利用されるプロセスの概要700を示している。開始ブロックから移動して、プロセスはブロック702に進み、ここで、特定のターゲット遠隔デバイスのレンダリングコンテキストが受け取られる。ブロック704において、マークアップ言語文書も受け取られる。ML文書及びレンダリングコンテキストは、限定ではないが、コンテンツプロバイダ、キャリア、ウェブサーバ、関係会社、ユーザ、及びウェブサイトを含む同じか又は異なるリソースの1つ又はそれ以上によって生成された後、提供される。
ブロック706に進み、ターゲット遠隔デバイスのレンダリングコンテキストに含まれているデータ及びパラメータが1つ又はそれ以上のプロセスによって利用され、遠隔デバイスのデバイス固有言語の文書にML文書を完全レンダリングする。ブロック708に進み、プロセスは、デバイス固有言語文書内のリンクによって参照又は埋め込むことができるメディアアイテムを任意選択的に提供することができる。ブロック710において、デバイス固有言語文書が、後で表示するためにターゲット遠隔デバイスに提供される。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
図8は、少なくとも図4に示したプラットフォームによって実行することができるプロセスの概要800を示している。開始ブロックから移動して、プロセスはブロック802に進み、ここで、マークアップ言語(ML)文書及びターゲット遠隔デバイスのレンダリングコンテキストが他のリソースから受け取られる。ブロック804に進み、プロセスは、ML文書及びレンダリングコンテキストに含まれているデータ及びパラメータの妥当性をチェックする。ブロック806において、文書オブジェクトモデルツリーが生成される。ブロック808において、レンダリングコンテキストにより、ターゲット遠隔デバイスにとってネイティブなMLコードでDOMツリーを読み込むことができる。
ブロック810に進み、プロセスは、ML文書のレンダリングされたページに対するページ付けを判定する。プロセスは、これらのページをターゲット遠隔デバイスのディスプレイ画面の有効なサイズよりも大きくないようにページ付けする。場合によっては、新しくページ付けされたページに関して次及び前リンクが作成される。プロセスはまた、ML文書内の相対的に不要な空白を削除することもできる。ブロック812において、プロセスは、読み込まれたDOMツリーを構文解析し、ネイティブMLコードをデバイス固有言語の文書にする。ブロック814に進み、1つ又はそれ以上のメディアアイテムが任意選択的にデバイス固有言語文書内のリンクによって参照され又は埋め込むことができる。ブロック816において、デバイス固有言語文書が、後で表示するためにターゲット遠隔デバイスに提供される。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
図9は、プログラマの意図を提供するが文書の実際のレンダリングに関連する特定の詳細は提供しないよう構成された移動体マークアップ言語(MML)で記述された文書をターゲット遠隔デバイスにより後で表示するためにデバイス固有言語文書に完全レンダリングする、プラットフォームの開示された実施形態のうちの少なくとも1つを利用するプロセスの概要900を示している。
開始ブロックから移動して、プロセスはブロック902に進み、ここで、移動体マークアップ言語(MML)文書及びターゲット遠隔デバイスのレンダリングコンテキストが他のリソースから受け取られる。ブロック904に進み、プロセスは、ML文書及びレンダリングコンテキストに含まれているデータ及びパラメータの妥当性をチェックする。ブロック906において、文書オブジェクトモデルツリーが生成される。ブロック908において、レンダリングコンテキストにより、ターゲット遠隔デバイスにとってネイティブなMLコードでDOMツリーを読み込むことができる。
ブロック910に進むと、プロセスは、ML文書のレンダリングされたページのページ付けを判定する。プロセスは、これらのページをターゲット遠隔デバイスのディスプレイ画面の有効なサイズよりも大きくないようにページ付けする。場合によっては、新しくページ付けされたページに関して次及び前リンクが作成される。プロセスはまた、ML文書内の相対的に不要な空白を削除することもできる。ブロック912において、プロセスは、読み込まれたDOMツリーを構文解析し、ネイティブMLコードをデバイス固有言語の文書にする。ブロック914に進み、1つ又はそれ以上のメディアアイテムが任意選択的に完全レンダリングされたML文書内のリンクによって参照され又は埋め込むことができる。ブロック916において、デバイス固有言語文書が、後で表示するためにターゲット遠隔デバイスに提供される。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
図10は、プラットフォームを利用してマークアップ言語(ML)文書を完全レンダリングするためのプロセスの概要1000を示しており、プラットフォームは、ML文書の様々な部分をレンダリングするためのパイプラインステージを提供する。開始ブロックから移動して、プロセスはブロック1002に進み、ここで、ML文書及びターゲット遠隔デバイスのレンダリングコンテキストが同じか又は異なるリソースの1つ又はそれ以上から受け取られる。ブロック1004において、ML文書は処理のためにアセンブルされる。例えば、共通のヘッダ及びフッタ、単位、及び他の付随要素をML文書に付加することができる。次に、ブロック1006において、プロセスは、ML文書を構文解析し、レンダリングコンテキストのデータ及びパラメータをレビューして、パイプラインステージのインスタンスを構築し、これによりML文書内に含まれている要素の完全レンダリングを可能にすることができる。プロセスはまた、アセンブルされたML文書を文書オブジェクトモデル(DOM)文書に変換する。
ブロック1008において、プロセスは、DOM文書に含まれる要素のパイプラインステージレンダリング及びページ付けを実行して、少なくとも部分的にターゲット遠隔デバイスのレンダリングコンテキストに基づくデバイス固有言語文書にする。ブロック1010に進み、プロセスは、レンダリングされたDOM文書(ここではデバイス固有言語文書)を文字列にシリアライズし、この文字列は、任意選択的にターゲット遠隔デバイスの特定の言語にローカライズすることができる。
ブロック1012に進み、プロセスは、完全レンダリングされた文字列内のリンクによって参照されるか又は埋め込むことができるメディアアイテムを任意選択的に提供することができる。ブロック1014において、ターゲット遠隔デバイスによって後で表示するために、文字列に加えて、含まれるあらゆるメディアアイテムが利用可能にされる。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
図11Aは、受け取ったXML文書内の一意の文字列に対する一時XML IDを一時的にオンザフライで生成してインデックス付けを行い、ターゲット遠隔デバイスによって後で表示するための文書のページのパイプラインステージレンダリングを迅速化するプラットフォームのプロセス1100を示している。また、少なくとも1つの実施形態において、一時オンザフライインデックス及びXML IDを利用して、ローカルデバイス又は分散コンピューティングデバイスによって更に処理するためにXML文書のレンダリングを迅速化することができる。
開始ブロックから移動して、プロセスはブロック1102に進み、ここで、受け取ったマークアップ言語(XML)文書が構文解析されて各一意の文字列を識別する。ターゲット遠隔デバイスのレンダリングコンテキストもまた受け取られる。決定ブロック1106において、一意の文字列に関してXML IDが存在する場合、プロセスはブロック1108に進む。しかしながら、識別された一意の文字列が既存のXML IDに対応していない場合、ブロック1104において、一時XML IDがこの一意の文字列に付加される。いずれの場合においても、識別された各一意の文字列が既存の又は一時XML IDに対応した後、プロセスはブロック1108に進み、ここで、既存の又は一時XML IDに少なくとも部分的に基づいて、XML文書内の各一意の文字列の位置をリストする一時インデックスがXML文書に関して生成される。
ブロック1110において、一時インデックス及びレンダリングコンテキストを利用して、ターゲット遠隔デバイス上に表示するためにXML文書のページサイズを推定し、その後、大きすぎる推定値に対してページを調整及び/又は再ページ付けする。また、必要に応じてセッションIDを付加してURLをリライトすることができる。ブロック1112に進み、プロセスは、XML文書全体がデバイス固有言語の文書に完全レンダリングされるまで、一時インデックス及びレンダリングコンテキストを利用して各一意の文字列に対してパイプラインステージレンダリングを実行する。
ブロック1114において、一時インデックス及び一時XML IDがデバイス固有言語文書から削除される。ブロック1116に進み、プロセスは、デバイス固有言語文書内のリンクによって参照されるか又は埋め込むことができるメディアアイテムを任意選択的に提供することができる。ブロック1118において、ターゲット遠隔デバイスによって後で表示するために、デバイス固有言語文書に加えて、含まれるあらゆるメディアアイテムが利用可能にされる。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
図11Bは、受け取ったマークアップ言語(ML)文書内の一意の文字列に一時IDを一時的にオンザフライで生成してインデックス付けを行い、ターゲット遠隔デバイスによって後で表示するためのデバイス固有言語文書への文書のページのレンダリングを迅速化するプラットフォームのプロセス1120を示している。しかしながら、少なくとも1つの実施形態において、一時オンザフライインデックス及びML IDを利用して、ローカルデバイス又は分散コンピューティングデバイスによって更に処理するためにML文書のレンダリングを迅速化することができる。
開始ブロックから移動して、プロセスはブロック1122に進み、ここで、受け取ったマークアップ言語(ML)文書が構文解析されて各一意の文字列を識別する。ターゲット遠隔デバイスのレンダリングコンテキストもまた受け取られる。決定ブロック1124において、一意の文字列のXML IDが存在する場合、プロセスはブロック1128に進む。しかしながら、識別された一意の文字列が既存のML IDに対応していない場合、ブロック1126において、一時ML IDがこの一意の文字列に付加される。いずれの場合においても、識別された各一意の文字列が既存の又は一時ML IDに対応した後、プロセスはブロック1128に進み、ここで、既存の又は一時ML IDに少なくとも部分的に基づいて、ML文書内の各一意の文字列の位置をリストする一時インデックスがML文書に関して生成される。
ブロック1130において、一時インデックス及びレンダリングコンテキストを利用して、ターゲット遠隔デバイス上に表示するためにXML文書のページサイズを推定し、その後、大きすぎる推定値に対してページを調整/再ページ付けする。また、必要に応じてセッションIDを付加してURLをリライトすることができる。ブロック1132に進み、プロセスは、ML文書全体がデバイス固有言語の文書に完全レンダリングされるまで、一時インデックス及びレンダリングコンテキストを利用して各一意の文字列のレンダリングを実行する。
ブロック1134において、一時インデックス及び一時ML IDがデバイス固有言語文書から削除される。ブロック1136に進み、プロセスは、デバイス固有言語文書内のリンクによって参照されるか又は埋め込むことができるメディアアイテムを任意選択的に提供することができる。ブロック1138において、ターゲット遠隔デバイスによって後で表示するために、デバイス固有言語文書に加えて、含まれるあらゆるメディアアイテムが利用可能にされる。1つの実施形態では、キャリアは、デバイス固有言語文書を通信リンク上で文字列としてターゲット遠隔デバイスに提供する。次に、プロセスは、他の動作を実行する段階に戻る。
上記のフローチャート説明の各ブロック、及びフローチャート説明内のブロックの組み合わせは、コンピュータプログラム命令によって実装することができる点は理解されたい。これらのプログラム命令は、マシンを生成するためにプロセッサに提供することができるので、プロセッサ上で実行される命令は、フローチャートの1つ又は複数のブロックで指定された動作を実施するための手段を提供する。コンピュータプログラム命令は、プロセッサにより実行されて、一連の動作ステップをプロセッサが実施することができるようにし、その結果、プロセッサ上で実行される命令は、上述のフローチャートに示した動作を実施するためのステップを提供するようになる。
従って、フローチャート図のブロックは、指定の動作を実施するための手段の組み合わせ、指定の動作を実行するためのステップの組み合わせ、及び指定の動作を実施するためのプログラム命令手段をサポートする。フローチャート図の各ブロック及びフローチャート図内のブロックの組み合わせは、指定の動作又はステップを実施する特定用途のハードウェアベースシステム、或いは特定用途のハードウェアとコンピュータ命令の組み合わせによって実装することができる。
前述の仕様において、本発明をその特定の例示的な実施形態を参照しながら説明してきた。しかしながら、添付の請求項に記載される本発明のより広範な精神及び範囲から逸脱することなく、これらの特定の例示的な実施形態に対して様々な修正及び変更を加えることができる点は明らかであろう。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味とみなすべきである。
502 プラットフォーム
504 ML文書
506 レンダリングコンテキスト
508 マスタ文書アセンブラ
510 主要
512 パイプラインビルダ
514 パイプラインステージライブラリ
516 パイプラインステージ
518 シリアライザ
520 遠隔デバイスのデバイス固有文書

Claims (13)

  1. 遠隔デバイスによって表示するためにマークアップ言語(ML)文書をレンダリングする方法であって、
    前記ML文書を受け取る段階と、
    前記遠隔デバイスにより後で表示するため前記ML文書のレンダリングを可能にする情報を含む、前記遠隔デバイスに関するレンダリングコンテキストを受け取る段階と、
    既存のマークアップ言語ID(ML ID)に現在関連付けられていない各固有文字列に関する一時(テンポラリー)ML IDを作成する段階と、
    前記テンポラリーML ID及び前記各既存のML IDについてのテンポラリー・インデックスを生成する段階と、
    複数のプロセスの少なくとも1つに対して前記テンポラリー・インデックスを利用して、前記ML文書内の各固有文字列をレンダリングする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して前記ML文書のページ付けを可能にし、前記ML文書の各ページのサイズを前記遠隔デバイスによる表示の有効サイズよりも大きくないように前記ML文書をページ付けする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して、少なくとも1つのプロセスが前記ML文書をデバイス固有言語の文書に完全レンダリングするのを可能にする段階と、
    前記遠隔デバイスに提供される前に、前記デバイス固有言語の文書から前記テンポラリー・インデックス及び前記テンポラリーML IDを削除する段階と、
    前記デバイス固有言語文書を前記遠隔デバイスに提供できるようにする段階と、
    を含む方法。
  2. 前記デバイス固有言語文書内にメディアアイテムを埋め込む段階と、
    前記デバイス固有言語文書内のメディアアイテムへのリンクを含める段階と、
    を更に含む請求項1に記載の方法。
  3. 前記受け取ったML文書をアセンブルする段階を更に含み、前記アセンブルが空白の充填を含む、請求項1に記載の方法。
  4. 前記マークアップ言語は、前記遠隔デバイス上にML文書内のコンテンツを表示するための作成者の意図を提供する移動体マークアップ言語であり、前記遠隔デバイスにより表示するためにレンダリングされた前記コンテンツの実際の構成が、前記レンダリングコンテキストに少なくとも部分的に基づいている、請求項1に記載の方法。
  5. 前記ML文書のレンダリングが、
    余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、
    カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることにより前記カスケーディング・スタイル・シートを文字装飾する段階と、
    ML文書を圧縮して前記遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、
    レンダリングされた前記ML文書に含められるように各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、
    各ページサイズの推定値を利用して、前記遠隔デバイスの有効サイズを超えないサイズに前記ML文書のページを再ページ付けする段階と、
    ターゲット遠隔デバイスの有効サイズよりも大きくレンダリングされると推定される前記ML文書のページ内のMLコードを調整する段階と、
    メディアアイテムの位置を含めるようにURLをリライトする段階と、
    セッション識別情報を含めるようにURLをリライトする段階と、
    を含む前記複数のプロセスのうちの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記遠隔デバイスがネットワーク上の有線又は無線通信の少なくとも1つを提供する、請求項1に記載の方法。
  7. 表示するためにマークアップ言語(ML)文書をレンダリングするためのシステムであって、
    前記レンダリングされたML文書を表示するように適合された遠隔デバイスと、プラットフォームとを備え、
    前記プラットフォームが、
    前記レンダリング文書と、前記遠隔デバイスにより後で表示するため前記ML文書のレンダリングを可能にする情報を含む別のリソースからのレンダリングコンテキストとを受け取る段階と、
    既存のマークアップ言語ID(ML ID)に現在関連付けられていない各固有文字列に関する一時(テンポラリー)ML IDを作成する段階と、
    前記テンポラリーML ID及び前記各既存のML IDについてのテンポラリー・インデックスを生成する段階と、
    複数のプロセスの少なくとも1つに対して前記テンポラリー・インデックスを利用して、前記ML文書内の各固有文字列をレンダリングする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して、前記ML文書の各ページのサイズを前記遠隔デバイスによる表示の有効サイズよりも大きくないように前記ML文書をページ付けする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して、少なくとも1つのプロセスが前記ML文書をデバイス固有言語の文書に完全レンダリングするのを可能にする段階と、
    前記遠隔デバイスに提供される前に、前記デバイス固有言語の文書から前記テンポラリー・インデックス及び前記テンポラリーML IDを削除する段階と、
    前記デバイス固有言語文書を前記遠隔デバイスにより表示するためネットワーク上で提供する段階と、
    を含む動作を実行するよう構成されていることを特徴とするシステム。
  8. 前記プラットフォームが、
    前記デバイス固有言語文書内にメディアアイテムを埋め込む段階と、
    前記デバイス固有言語文書内のメディアアイテムへのリンクを含める段階と、
    を含む更なる動作の少なくとも1つを実施する、請求項7に記載のシステム。
  9. 前記プラットフォームが、
    前記受け取ったML文書をアセンブルする段階を更に含み、前記アセンブルが空白の充填を含む更なる動作を実施する、請求項7に記載のシステム。
  10. 前記マークアップ言語は、前記遠隔デバイス上にML文書内のコンテンツを表示するための作成者の意図を提供する移動体マークアップ言語であり、前記遠隔デバイスにより表示するための前記コンテンツの実際の構成が、前記レンダリングコンテキストに少なくとも部分的に基づいている、請求項7に記載のシステム。
  11. 前記ML文書のレンダリングが、
    余剰シートを削除することによってカスケーディング・スタイル・シート(CSS)を縮小する段階と、
    カスケーディング・スタイル・シートをストリップしてMLコードとしてリライトすることにより前記カスケーディング・スタイル・シートを文字装飾する段階と、
    ML文書を圧縮して前記遠隔デバイスにとって余剰なあらゆるMLコードを削除する段階と、
    レンダリングされた前記ML文書に含められるように各メディアアイテムの1つ又はそれ以上の属性を指定する段階と、
    各ページサイズの推定値を利用して、前記遠隔デバイスの有効サイズを超えないサイズに前記ML文書のページを再ページ付けする段階と、
    ターゲット遠隔デバイスの有効サイズよりも大きくレンダリングされると推定される前記ML文書のページ内のMLコードを調整する段階と、
    メディアアイテムの位置を含めるようにURLをリライトする段階と、
    セッション識別情報を含めるようにURLをリライトする段階と、
    を含む前記複数のプロセスのうちの少なくとも1つを実施する、請求項7に記載のシステム。
  12. 前記遠隔デバイスがネットワーク上の有線又は無線通信の少なくとも1つを提供する、請求項7に記載のシステム。
  13. 遠隔デバイスによって表示するためにマークアップ言語(ML)文書のレンダリングを可能にするサーバであって、
    データを格納するメモリと、プロセッサとを備え、
    前記プロセッサが、
    前記ML文書を受け取る段階と、
    前記遠隔デバイスにより後で表示するため前記ML文書をデバイス固有言語文書にレンダリング可能にする情報を含む、前記遠隔デバイスに関するレンダリングコンテキストを受け取る段階と、
    既存のマークアップ言語ID(ML ID)に現在関連付けられていない各固有文字列に関する一時(テンポラリー)ML IDを作成する段階と、
    前記テンポラリーML ID及び前記各既存のML IDについてのテンポラリー・インデックスを生成する段階と、
    複数のプロセスの少なくとも1つに対して前記テンポラリー・インデックスを利用して、前記ML文書内の各固有文字列をレンダリングする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して前記ML文書のページ付けを可能にし、前記デバイス固有言語文書の各ページのサイズを前記遠隔デバイスによる表示の有効サイズよりも大きくないようにページ付けする段階と、
    前記レンダリングコンテキスト及び前記テンポラリー・インデックスを利用して、少なくとも1つのプロセスが前記ML文書をデバイス固有言語の文書に完全レンダリングするのを可能にする段階と、
    前記遠隔デバイスに提供される前に、前記デバイス固有言語の文書から前記テンポラリー・インデックス及び前記テンポラリーML IDを削除する段階と、
    前記デバイス固有言語文書を前記遠隔デバイスに提供できるようにする段階と、
    を含む動作を可能にすることを特徴とするサーバ。
JP2009530488A 2006-09-29 2007-07-03 遠隔デバイス用のコンテンツをレンダリングするためのプラットフォーム Active JP5108016B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/537,593 2006-09-29
US11/537,593 US10452756B2 (en) 2006-09-29 2006-09-29 Platform for rendering content for a remote device
PCT/US2007/072796 WO2008039581A1 (en) 2006-09-29 2007-07-03 Platform for rendering content for a remote device

Publications (2)

Publication Number Publication Date
JP2010505194A JP2010505194A (ja) 2010-02-18
JP5108016B2 true JP5108016B2 (ja) 2012-12-26

Family

ID=39230517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009530488A Active JP5108016B2 (ja) 2006-09-29 2007-07-03 遠隔デバイス用のコンテンツをレンダリングするためのプラットフォーム

Country Status (7)

Country Link
US (2) US10452756B2 (ja)
EP (1) EP2069970A4 (ja)
JP (1) JP5108016B2 (ja)
KR (1) KR101117396B1 (ja)
CN (1) CN101523386B (ja)
HK (1) HK1137534A1 (ja)
WO (1) WO2008039581A1 (ja)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US8799303B2 (en) 2004-02-15 2014-08-05 Google Inc. Establishing an interactive environment for rendered documents
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US20060041484A1 (en) 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8793162B2 (en) 2004-04-01 2014-07-29 Google Inc. Adding information or functionality to a rendered document via association with an electronic counterpart
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20080313172A1 (en) 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
WO2008028674A2 (en) 2006-09-08 2008-03-13 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8621349B2 (en) 2004-04-01 2013-12-31 Google Inc. Publishing techniques for adding value to a rendered document
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20070300142A1 (en) 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US9460346B2 (en) 2004-04-19 2016-10-04 Google Inc. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US8230328B2 (en) * 2004-10-08 2012-07-24 Sharp Laboratories Of America, Inc. Methods and systems for distributing localized display elements to an imaging device
US8237946B2 (en) 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server redundancy
US8213034B2 (en) 2004-10-08 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access on an imaging device
US8384925B2 (en) 2004-10-08 2013-02-26 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data management
US7920101B2 (en) 2004-10-08 2011-04-05 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display standardization
US8428484B2 (en) 2005-03-04 2013-04-23 Sharp Laboratories Of America, Inc. Methods and systems for peripheral accounting
US8345272B2 (en) 2006-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for third-party control of remote imaging jobs
US8181107B2 (en) 2006-12-08 2012-05-15 Bytemobile, Inc. Content adaptation
US8924352B1 (en) 2007-03-31 2014-12-30 Emc Corporation Automated priority backup and archive
US20080301236A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Contextual social language
US8583601B1 (en) 2007-09-28 2013-11-12 Emc Corporation Imminent failure backup
US8762854B2 (en) * 2007-11-07 2014-06-24 Cabot Communications Limited Systems and methods for itemising web pages for display on a screen
US8019863B2 (en) 2008-03-28 2011-09-13 Ianywhere Solutions, Inc. Synchronizing events between mobile devices and servers
US8370737B2 (en) * 2008-12-27 2013-02-05 Flash Networks, Ltd Method and system for inserting data in a web page that is transmitted to a handheld device
US8719365B1 (en) * 2009-02-12 2014-05-06 Adobe Systems Incorporated Graphic output from remote execution of applications redirected with dynamically sized virtual screen
CN102369724B (zh) * 2009-02-18 2016-05-04 谷歌公司 自动捕获信息,例如使用文档感知设备捕获信息
US20100211893A1 (en) * 2009-02-19 2010-08-19 Microsoft Corporation Cross-browser page visualization presentation
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
CN102349087B (zh) 2009-03-12 2015-05-06 谷歌公司 自动提供与捕获的信息例如实时捕获的信息关联的内容
US20110074831A1 (en) * 2009-04-02 2011-03-31 Opsis Distribution, LLC System and method for display navigation
US20110093619A1 (en) * 2009-10-16 2011-04-21 Ianywhere Solutions, Inc. Synchronizing Tasks between Mobile Devices and Servers
US20110126113A1 (en) * 2009-11-23 2011-05-26 c/o Microsoft Corporation Displaying content on multiple web pages
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US8683005B1 (en) 2010-03-31 2014-03-25 Emc Corporation Cache-based mobile device network resource optimization
US8694597B1 (en) 2010-03-31 2014-04-08 Emc Corporation Mobile device group-based data sharing
US8694744B1 (en) 2010-03-31 2014-04-08 Emc Corporation Mobile device snapshot backup
US8655966B1 (en) 2010-03-31 2014-02-18 Emc Corporation Mobile device data protection
US9152650B1 (en) 2010-03-31 2015-10-06 Emc Corporation Mobile device data recovery
US9514089B1 (en) * 2010-03-31 2016-12-06 EMC IP Holding Company LLC Mobile device network data synchronization
JP4818454B1 (ja) * 2010-08-27 2011-11-16 株式会社東芝 表示装置、及び表示方法
CN102035856A (zh) * 2010-12-31 2011-04-27 深圳瑞高信息技术有限公司 游戏社区的管理方法、游戏客户终端及其***
CN102074221B (zh) * 2011-01-06 2012-08-22 深圳芯邦科技股份有限公司 一种字符显示方法及装置
US9015576B2 (en) 2011-05-16 2015-04-21 Microsoft Technology Licensing, Llc Informed partitioning of data in a markup-based document
US9361131B1 (en) * 2011-06-24 2016-06-07 Amazon Technologies, Inc. Network resource access via a mobile shell
CN102902692B (zh) * 2011-07-28 2017-11-17 腾讯科技(北京)有限公司 网络媒介信息的处理展示方法及***
US9443029B2 (en) * 2011-08-15 2016-09-13 Verizon Patent And Licensing Inc. Method and system for providing context-based view content management
US20130227398A1 (en) * 2011-08-23 2013-08-29 Opera Software Asa Page based navigation and presentation of web content
US9536251B2 (en) * 2011-11-15 2017-01-03 Excalibur Ip, Llc Providing advertisements in an augmented reality environment
US20130159839A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Semantic compression of cascading style sheets
CN104025068B (zh) * 2012-01-02 2017-06-13 国际商业机器公司 来自多个来源的css定义的冲突解决
US20140047310A1 (en) * 2012-08-13 2014-02-13 Business Objects Software Ltd. Mobile drilldown viewer for standardized data
US20140095988A1 (en) * 2012-09-29 2014-04-03 Bookboard, Inc. Creating and consuming streaming e-book content
US9836437B2 (en) 2013-03-15 2017-12-05 Google Llc Screencasting for multi-screen applications
US20140272891A1 (en) * 2013-03-15 2014-09-18 Joseph Saladino System and method for remote fitness training
EP2802122A1 (en) * 2013-05-07 2014-11-12 Nagravision S.A. A Media Player for Receiving Media Content from a Remote Server
CN103294819B (zh) * 2013-06-14 2018-08-31 北京新学堂网络科技有限公司 采用html5技术对网页内容进行分页显示的方法
US9529858B2 (en) 2014-03-06 2016-12-27 Yahoo! Inc. Methods and systems for ranking items on a presentation area based on binary outcomes
US10579713B2 (en) * 2014-05-30 2020-03-03 Apple Inc. Application Markup language
US9898450B2 (en) * 2014-11-07 2018-02-20 Rakuten Kobo Inc. System and method for repagination of display content
US9292482B1 (en) 2015-04-30 2016-03-22 Workiva Inc. System and method for convergent document collaboration
US10325014B2 (en) 2015-04-30 2019-06-18 Workiva Inc. System and method for convergent document collaboration
US10534852B2 (en) * 2015-09-30 2020-01-14 Samsung Display Co., Ltd. Display system and virtual web device in the cloud
CN106599000A (zh) * 2015-10-19 2017-04-26 阿里巴巴集团控股有限公司 一种页面处理方法及设备
CN107526716B (zh) * 2016-09-30 2020-02-11 腾讯科技(深圳)有限公司 邮件显示方法和装置
US20180191798A1 (en) * 2016-12-30 2018-07-05 Google Inc. Methods and systems for server-side rendering of native content for presentation
US10552480B1 (en) * 2017-02-21 2020-02-04 Amazon Technologies, Inc. Package management for asset processing
CN112416478A (zh) * 2019-08-20 2021-02-26 北京国双科技有限公司 信息展示方法及***
US11755825B2 (en) 2019-09-12 2023-09-12 Workiva Inc. Method, system, and computing device for facilitating private drafting
CN111338628B (zh) * 2020-03-10 2023-07-18 中国联合网络通信集团有限公司 组件渲染方法及设备
US11263387B1 (en) * 2020-05-05 2022-03-01 Progress Software Corporation Technology agnostic page builder architecture
US11443108B2 (en) 2020-08-17 2022-09-13 Workiva Inc. System and method for document management using branching
US11100281B1 (en) 2020-08-17 2021-08-24 Workiva Inc. System and method for maintaining links and revisions
CN112817915A (zh) * 2021-02-01 2021-05-18 浪潮云信息技术股份公司 一种自动化的多产品文档统一发布展示方法
US11100277B1 (en) 2021-02-15 2021-08-24 Workiva Inc. Systems, methods, and computer-readable media for flow-through formatting for links
US11354362B1 (en) 2021-05-06 2022-06-07 Workiva Inc. System and method for copying linked documents
CN113704824A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 页面引导标记的同步生成方法、装置、设备及存储介质
US11640495B1 (en) 2021-10-15 2023-05-02 Workiva Inc. Systems and methods for translation comments flowback

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473609B1 (en) 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6278992B1 (en) * 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
US6178430B1 (en) * 1998-05-11 2001-01-23 Mci Communication Corporation Automated information technology standards management system
FI19992746A (fi) * 1998-12-28 2000-06-28 Spyglass Inc Menetelmä ja järjestelmä elektronisen datasisällön muuntamiseksi langattomille laitteille
EP1188142A1 (en) * 1999-05-28 2002-03-20 Anoto AB Recording of information
JP2001195391A (ja) 2000-01-14 2001-07-19 Nec Information Service Ltd フォーマット変換・ページ分割中継サーバ
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
AU2001259590A1 (en) 2000-05-08 2001-11-20 Leap Wireless International, Inc. Method of converting html/xml to hdml/wml in real-time for display on mobile devices
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20020019812A1 (en) * 2000-06-16 2002-02-14 Board Karen Eleanor System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices
AU3523202A (en) * 2000-12-18 2002-07-01 Kargo Inc A system and method for delivering content to mobile devices
GB0107784D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvement relating to developing documents
US20040019628A1 (en) * 2002-07-09 2004-01-29 Puri Anish N. System for remotely rendering content for output by a printer
US7016963B1 (en) * 2001-06-29 2006-03-21 Glow Designs, Llc Content management and transformation system for digital content
US7162221B2 (en) * 2001-12-14 2007-01-09 Inphonic, Inc. Systems, methods, and computer program products for registering wireless device users in direct marketing campaigns
US20040110490A1 (en) * 2001-12-20 2004-06-10 Steele Jay D. Method and apparatus for providing content to media devices
JP2003271508A (ja) 2002-03-14 2003-09-26 Ntt Comware Corp 携帯端末向けコンテンツ変換システム、及びコンテンツ変換方法
US7441047B2 (en) * 2002-06-17 2008-10-21 Microsoft Corporation Device specific pagination of dynamically rendered data
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
JP2005018390A (ja) 2003-06-26 2005-01-20 Hitachi Ltd 記述言語変換方法及び実施システム並びに処理プログラム
US7620891B2 (en) 2003-06-30 2009-11-17 International Business Machines Corporation Method and system for improving presentation of HTML pages in web devices
US7356843B1 (en) * 2003-10-01 2008-04-08 Symantec Corporation Security incident identification and prioritization
NO20034724D0 (no) * 2003-10-22 2003-10-22 Opera Software Asa Presentasjon av HTML-innhold på en skjermterminal
GB2410814A (en) * 2004-02-05 2005-08-10 Stephen John Doyle Document conversion enabling browser content across different types of terminal devices
JP4389707B2 (ja) 2004-07-16 2009-12-24 ソニー株式会社 電子機器装置、サーバ装置、Webページ処理方法及びそのプログラム
WO2006077481A1 (en) * 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
JP2006243829A (ja) 2005-02-28 2006-09-14 Toshiba Corp ウェブコンテンツ変換方法およびウェブコンテンツ変換システム
US7665016B2 (en) * 2005-11-14 2010-02-16 Sun Microsystems, Inc. Method and apparatus for virtualized XML parsing
US20070288853A1 (en) * 2006-06-09 2007-12-13 Nextair Corporation Software, methods and apparatus facilitating presentation of a wireless communication device user interface with multi-language support

Also Published As

Publication number Publication date
CN101523386B (zh) 2013-05-22
WO2008039581A1 (en) 2008-04-03
US20080177825A1 (en) 2008-07-24
EP2069970A1 (en) 2009-06-17
HK1137534A1 (en) 2010-07-30
EP2069970A4 (en) 2010-01-06
US20080155396A1 (en) 2008-06-26
KR101117396B1 (ko) 2012-03-07
CN101523386A (zh) 2009-09-02
KR20090077807A (ko) 2009-07-15
US10452756B2 (en) 2019-10-22
JP2010505194A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP5108016B2 (ja) 遠隔デバイス用のコンテンツをレンダリングするためのプラットフォーム
US11914838B2 (en) Computerized system and method for collaborative electronic document creation
US8224308B1 (en) Mobile device catalog registration based on user agents and customer snapshots of capabilities
US7996000B1 (en) Managing page sizes for a mobile device using estimation of content customizer techniques
US10503367B2 (en) Recasting a form-based user interface into a mobile device user interface using common data
US20160119155A1 (en) Engine for processing content rules associated with locations in a page
US7627648B1 (en) Customizing and storing web pages for mobile on web
US8381096B2 (en) Managing list tailoring for a mobile device
US10296571B2 (en) Method, system, apparatus, network entity and computer program product for providing a user with an editable webpage
US9723057B2 (en) Reducing web page load latency by scheduling sets of successive outgoing HTTP calls
US7668942B2 (en) Generating document templates that are robust to structural variations
US20060294396A1 (en) Multiplatform synchronized data access from mobile devices of dynamically aggregated content
US20130073946A1 (en) Method and apparatus for loading webpage content of webkit browser
US8601079B2 (en) Fast maneuvering and high-speed data attachments for message services
CA3061623C (en) File sending in instant messaging applications
US7650324B2 (en) Methods and systems for providing context-based reference information
CN113268955A (zh) 报文转换的方法和装置
US10891303B2 (en) System and method for editing dynamically aggregated data
US9385979B1 (en) Customizing posts by activity type and client type
US10402482B2 (en) Content management system
US9361288B2 (en) Processing templates using separate template processing instructions

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120910

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121004

R150 Certificate of patent or registration of utility model

Ref document number: 5108016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350