JP6351611B2 - ページ取得イベント中のページプレビューの配信および表示 - Google Patents

ページ取得イベント中のページプレビューの配信および表示 Download PDF

Info

Publication number
JP6351611B2
JP6351611B2 JP2015542730A JP2015542730A JP6351611B2 JP 6351611 B2 JP6351611 B2 JP 6351611B2 JP 2015542730 A JP2015542730 A JP 2015542730A JP 2015542730 A JP2015542730 A JP 2015542730A JP 6351611 B2 JP6351611 B2 JP 6351611B2
Authority
JP
Japan
Prior art keywords
preview
page
content
user device
request
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
JP2015542730A
Other languages
English (en)
Other versions
JP2016502718A (ja
Inventor
クリシュナ クマール ロヒト
クリシュナ クマール ロヒト
ザカリー ブレスラー スコット
ザカリー ブレスラー スコット
キング ユー シャム アイヴァン
キング ユー シャム アイヴァン
ウィリアム スチュアート イアン
ウィリアム スチュアート イアン
リチャード テイラー ブレット
リチャード テイラー ブレット
フランク ヒル ピーター
フランク ヒル ピーター
ネア アーカーシュ
ネア アーカーシュ
マイケル レッディ スティーヴン
マイケル レッディ スティーヴン
ジョゼフ アームストロング パトリック
ジョゼフ アームストロング パトリック
ジョン ヤング サミュエル
ジョン ヤング サミュエル
ニアマル ヴァスワニ アミート
ニアマル ヴァスワニ アミート
ヘイデン アンドルー
ヘイデン アンドルー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016502718A publication Critical patent/JP2016502718A/ja
Application granted granted Critical
Publication of JP6351611B2 publication Critical patent/JP6351611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

背景技術
ユーザーがウェブページまたは他のコンテンツページをブラウザ経由で要求する場合、ユーザーは通常、ページが完全にまたは部分的にせよ表示されるまでに著しい遅延を経験する。様々な要因がこの遅延に対する原因となり得る。これらの要因は、例えば、(1)ユーザーの装置とインターネットとの間の無線または有線接続の速度、(2)ページをホストするオリジンサーバーの位置、およびそれへのロード、(3)埋込み画像を含む、ページのサイズ、(4)ページのHTMLがロードされた時点で別々に(おそらくは、異なるドメインから)取得される必要がある埋込みオブジェクトをページが含むかどうか、および含む程度、(5)任意のスクリプトを含む、ページのコーディングの複雑さ、ならびに(6)ユーザーの装置の処理能力を含む。遅延が著しい(例えば、数秒以上)場合、閲覧タスクは、ユーザーにとって苛立たしいことがあり得る。
序論
ページコンテンツの表示前に経験される遅延が削減されるように、ページのロードイベント中に、ユーザーにプレビューコンテンツ(例えば、ページプレビュー、介在ページ(interstitial page)など)を提供するためのプロセスが開示される。いくつかの実施形態では、プレビューコンテンツは、ページの未修正バージョンと比べて、ロード特性(例えば、待ち時間、帯域幅利用、サイズ、レンダリング時間、またはユーザー認識ロード時間)を改善するように、最適化されているか、一部最適化されているか、または別の方法で修正されている、コンテンツページのバージョンであり得る。本プロセスは、ユーザー装置とコンテンツサーバーとの間に論理的に位置する中間システム内で部分的または全体的に実装され得る。いくつかの実施形態では、本プロセスは、コンテンツ配信ネットワーク(CDN)によって実装され得る。本プロセスは、いかなるブラウザ修正も必要とすることなく、既存のブラウザで使用され得るか、またはページプレビューおよび非プレビューバージョンを処理および表示するための特別なプログラムコードを含む、「プレビュー認識」ブラウザで使用され得る。かかる「プレビュー認識」ブラウザが使用される場合、本プロセスは、仲介をしない第三者サーバーによって実装され得る。
一実施形態によれば、中間システムは、様々なコンテンツサイトの、ウェブページなどの、コンテンツページをプリフェッチして、これらのページのプレビューを生成およびキャッシュする。プレビューは、プレビューを表示するために最小限のブラウザ処理が要求されるように、ページのスクリーンショット画像(「スクリーンショット」)を含むか、またはそれらから成り得る。同じページの異なるプレビュー(例えば、異なるスクリーンショット解像度)が、スマートフォン、タブレット、PCなどの、異なるユーザー装置タイプまたはフォームファクタに対して生成およびキャッシュされ得る。いくつかの実施形態では、プレビューが生成される時にページのリンク(または他のアクティブなコンテンツ)の一部または全部が保存され得、それにより、ユーザーは、プレビューを見ている間に、例えば、リンクを選択する/辿ることができる。いくつかの実施形態では、プレビューは、いかなるスクリーンショットも含まないか、またはスクリーンショットと非スクリーンショットファイルの組合せを含み得;例えば、プレビューは、ページの非テキストの全てを含むスクリーンショット、およびページのテキストコンテンツを含むテキストオーバーレイの2つの部分で配信できる。
一実施形態では、ユーザー装置が、プレビューが存在するページを要求すると、中間システムは、実際のページを(通常は、対応するオリジンサーバーから)取得する間に、そのページのキャッシュされたプレビューを返す。ユーザー装置上で実行するブラウザは、中間システムがページを取得して配信する間に、このプレビューを表示する。(中間システムは、実際のページをブラウザに配信する前に、その部分をプリレンダリングするか、または別の方法で修正し得る)。ブラウザがバックグラウンドでページをレンダリングする間、プレビューが表示され続け得る。一旦、実際のページがロードされると、ブラウザは、プレビューを実際のページと置き換えることにより表示を更新する。この更新が生じる前に、ユーザーがプレビューをスクロールダウンするか、またはズームする場合、ブラウザは、好ましくは、かかるスクロールまたはズームを、表示の更新時に実際のページに適用する。
いくつかの実施形態またはユースケースでは、実際のページを返すのではなく、中間システムはページの1つ以上の部分を返すだけの可能性がある。例えば、中間システムは、プレビューと異なる(または意味のある方法で異なる)部分のみを返し得るか、またはスクリーンショットとして配信された部分を返すのみであり得る。これらの実施形態では、ブラウザは、プレビューの1つ以上の特定の部分を置き換えるか、または上書きすることにより、ページプレビューの表示を更新するように構成され得る。
いくつかの実施形態では、サイトの所有者または他のコンテンツプロバイダーは、特定のコンテンツ項目または項目のグループに対して使用されるべきプレビューコンテンツを提供または指定し得る。サイトの所有者は、プレビュー画像のユニフォームリソースロケーター(「URL」)をハイパーテキストマークアップ言語(「HTML」)ファイルの特定のタグ内に含めることなどにより、データをコンテンツ項目内に埋め込み得る。コンテンツ項目に対する要求を処理する中間システムは、その特定のタグを認識して、参照された位置にあるプレビュー画像を、要求しているユーザー装置に提供し得る。プレビューがユーザー装置に伝送されている間に、または伝送の完了に続いて、中間システムは、ユーザー装置に伝送するために、要求されたコンテンツの現在のバージョンを取得できる。
中間システムは、いくつかの実施形態では、特定のユーザーに対するページを、かかるユーザーの閲覧セッション中に、予測的にプリフェッチし得、これらのページのプレビューを生成してキャッシュ(または先行して配信)し得る。例えば、中間システムが、ユーザー/装置の代わりにページを取得する場合、中間システムは、ページ上のリンクの一部または全部を予測的に辿り、これらのページのプレビューを生成し得る。ユーザーがその後、予測的に辿られたリンクの1つを選択する場合、中間システムは次いで、前述のようにプレビューを配信し得る。いくつかの実施形態では、中間システムは、どのリンクまたは複数のリンクをユーザーが最も起動しそうであるかを判断して、それらのリンクされたコンテンツ項目の非プレビューバージョンを予測的にプリフェッチし得、同時に、ユーザーがあまり要求しそうにないかも知れないリンク項目のプレビューバージョンも予測的に提供する。例えば、ユーザーが最も要求しそうなリンク項目が非プレビューバージョンとしてプリフェッチされ得、他方、ユーザーが2番目に最も要求しそうなリンクされたコンテンツ項目のプレビューバージョンが生成され得、かつ/またはユーザー装置に先行して提供され得る。予測的なプリフェッチが実装される場合、中間システムは、ユーザーのクッキーのコピーを保持し得、予測的にリンクを辿る場合に関連するクッキーを伝送し得;このようにして、予測的にプリフェッチされたページ(およびそれらのプレビュー)がユーザーに対してパーソナライズされ得る。
参照番号は、図面を通して、参照される要素間の対応を示すために再使用され得る。図面は、本明細書で説明する実施形態例を図示するために提供され、本開示の範囲を制限することは意図しない。
一実施形態に従って、コンテンツページのプレビューを生成および配信する中間システムを示す。 一実施形態に従って、ページプレビューが生成され、実際のページがロードされている間にユーザー装置上に一時的に表示され得るプロセスを示す。 ページプレビューを配信して一時的に表示するために、既存のブラウザで使用され得るプロセスを示す。 コンテンツページをプリフェッチして、そのプレビューを生成するために、中間システムによって実装され得るプロセスを示す。 コンテンツ項目の非プレビューバージョンが取得される間に、コンテンツ項目例のプレビューを表示するブラウザインタフェースを示す。 最初にコンテンツ項目のプレビューを提供し、コンテンツ項目の非プレビューバージョンも取得することにより、コンテンツ項目に対する要求に応答するためのプロセスを示す。 コンテンツ項目を要求し、非プレビューバージョンが取得される間に、コンテンツ項目のプレビューバージョンを表示のために受信するためのプロセスを示す。
システム構成要素
図1は、前述の通りに動作可能な中間システム30の一実施形態を示す。中間システム30は、ユーザー装置32(例えば、スマートフォン、タブレット、PC、電子書籍端末など)と、ウェブサイトなどの、コンテンツサイト34との間で仲介をする。いくつかの実施形態では、中間システム30は、例えば、プロキシサーバー、特定のブラウザまたは装置タイプに対する部分レンダリングエンジン、CDN、インターネットサービスプロバイダ(「ISP」)システム、またはそれらの組合せであり得るか、またはその機能を果たし得る。各ユーザー装置32は、標準プロトコルに従って、コンテンツページの取得および表示が可能なブラウザアプリケーション50(「ブラウザ」)を実行する。ブラウザ50は、中間システム30を経由してウェブページを取得するように設計または構成され得る。いくつかの実施形態では、ブラウザ50は、ページプレビューを表示するように明確に設計または構成されていない、従来型のウェブブラウザであり得る(またはそれを含み得る)。他の実施形態では、ブラウザ50は、ページプレビューの表示と関連した特定のタスクを処理するように明確に設計され得る。
コンテンツサイト34は、通常のウェブサイトを含むか、またはそれから成り得る。ページプレビューが生成されるページは、本明細書で説明するように、プレビューの生成をサポートするための任意の特別なコーディングまたはフォーマットを含まない、従来型のウェブページであり得る。しかし、いくつかの実施形態では、中間システム30は、特定のページに対してページプレビューが生成されるべきかどうか、またはどのように生成されるべきかを指定するために、特別なプレビュータグの使用をサポートし得る。プレビュータグがサポートされる場合、コンテンツプロバイダーは、例えば、ページのどの視覚要素またはセクションがスクリーンショットに変換されるべきか、または中間システムがどこでコンテンツページの以前に生成されたプレビューを取得し得るかを示す、例えば、タグを、コンテンツページ内に埋め込み得る。
図1に示すように、中間システム30は、ページプリフェッチャ40、プレビュー生成器42、プレビューキャッシュ44、およびプリフェッチ/プレビュー構成データのデータリポジトリ46を含む。ページプリフェッチャ40は、ページプレビューを生成する目的で、様々なコンテンツサイト34からページをプリフェッチする責任を負う。プリフェッチされるページは、例えば、(1)管理者によって事前に選択され得、(2)ページ人気データ(例えば、中間システムによって処理されるページ要求に基づき、測定されるような)に基づき自動的に選択され得、かつ/または(3)ユーザー装置によってロードされているページのリンクを予測的に辿ることにより識別され得る。プリフェッチのために選択されたページの一部または全部に対して、ページプリフェッチャ40は、1〜3分毎など、一定の間隔で、各ページを定期的にプリフェッチし得る。この間隔は、固定であり得るか、または、例えば、ページもしくはサイトコンテンツに対して意味のある変更が行われる頻度の評価基準に基づき、ページ毎もしくはサイト毎ベースで変動し得る。
ページがプリフェッチされるたびに、プレビュー生成器42は、プリフェッチされたページのプレビューを生成し、そのプレビューを直前に生成されたプレビューの代わりにキャッシュ44に格納する。プレビュー生成器は、同じページの複数のプレビューを、各々を特定の装置または装置特性(例えば、スクリーンサイズ、ブラウザ特性、タッチスクリーン対非タッチスクリーンなど)に合わせて、生成およびキャッシュし得る。プレビューは、プリフェッチされたページまたはその部分のスクリーンショットを含むか、またはそれから成り得る。いくつかの実施形態では、プレビューは、ユーザーがスクリーンショット内に示されたリンクを選択し、そのリンクされたコンテンツアクセスすることを可能にするHTML画像マップを含む、HTMLコードも含み得る。いくつかの実施形態では、プリフェッチされたコンテンツページのプレビューを生成するのではなく、プレビュー生成器42は、コンテンツページに対する望ましいプレビューとしてコンテンツサイト34によって識別されるプレビュー(例えば、画像または介在ページ)をコンテンツサイト34から取得し得る。例えば、コンテンツページの現在のバージョンまたは完全なバージョンは、そのページに対して使用されるべきプレビュー項目を識別する、メタデータ、カスタムマークアップタグ、または他の情報を含み得、プレビュー生成器は、そのプレビュー項目を取得できる。プレビュー項目は、事前に(例えば、ユーザー装置32からコンテンツ項目に対する要求を受信する前に)取得されてプレビューキャッシュ44内に格納され得るか、または反応的(例えば、コンテンツページに対する、ユーザー装置32からの、要求に応答して)であり得る。
データリポジトリ46によって示されるように、ページをプリフェッチしてページプレビューを生成するプロセスを制御するために、様々なタイプの構成データが保持されて使用され得る。このデータは、例えば、プリフェッチに適格なサイトまたはページのリスト、特定のページまたはサイトに対して使用されるべきプリフェッチ間隔に関するデータ、およびプレビューが生成されるべき装置または装置特性に関するデータを含み得る。前述のように、中間システム30は、特定のユーザー装置32上に格納されたブラウザクッキーのコピーも保持し得、これらのクッキーを使用して特定のユーザーに対するページを予測的にプリフェッチし得る。
ページプリフェッチャ40の使用に追加して、またはその代替として、中間システム30は、ユーザー装置の代わりに、中間システム30によって取得されたページコンテンツからプレビューを生成し得る。
図1に示す中間システム30の構成要素およびモジュールは例示のみであり、制限することを意図していない。いくつかの実施形態では、中間システム30は、もっと少ないか、追加、もしくは代替の構成要素またはモジュールを含み得る。例えば、中間システム30は、本明細書で説明するように、要求されたコンテンツ項目をユーザー装置32の代わりに取得するコンテンツフェッチャまたは要求プロセッサを含み、非プレビューバージョンをユーザー装置32に提供し得る。別の例として、中間システム30は、取得されたコンテンツ項目を処理し、その処理したバージョンをユーザー装置32に送信するブラウザ機能を備えた、レンダリングエンジンまたは何らかの他の構成要素を含み得る。いくつかの実施形態では、中間システム30は、ユーザー装置32と(例えば、リモートデスクトッププロトコル(「RDP」)を使用して)リモートデスクトップ接続または何らかの同様の接続を確立し得る。中間システム30は、ユーザー装置32上でコンテンツ処理がほとんど、または全く行われないように、プレビューコンテンツおよび要求されたコンテンツの非プレビューバージョンをレンダリングして、レンダリングしたコンテンツの表現を表示のためにユーザー装置32に伝送し得る。
ページ配信プロセスフロー
図2は、一実施形態に従って、中間システム30がページをプリフェッチしてブラウザ要求を処理し得る一般的なプロセスを示す。イベント1で、中間システム30は、コンテンツサイト34からページをプリフェッチする。前述のように、このプリフェッチイベントは、定期的なスケジュールに従って起こり得るか、またはユーザー装置32によって要求された別のページに基づき予測的に実行され得る。いくつかの実施形態では、中間システム30は、複数のユーザー装置からのコンテンツ要求に対応するように構成され得る。かかる事例では、中間システム30は、第1のユーザー装置からの要求に応答して、コンテンツを取得し、そのコンテンツのプレビューを生成し、次いで、それらのプレビューを後に第2のユーザー装置32に提供し得る。コンテンツの取得およびプレビューの生成が予測的に実行される場合、中間システム30は、いくつかの実施形態では、ユーザー装置32およびコンテンツサイト34に対応するクッキーをページ要求と共に送信し得る。このようにして、コンテンツサイト34は、特定のユーザーに対してパーソナライズされるページを返し得、パーソナライズされたページのスクリーンショットが生成され得る。前述のように、ページのプリフェッチは本質的ではない。ページは単一のコンテンツサイトまたはサーバーから取得されているとして示されているが、ページのいくつかの構成要素(画像または広告など)が、別個のサーバーおよびドメインから取得され得る。
イベント2で、中間システム30は、ページのプレビューを生成してキャッシュする。ユーザー装置32に対応するクッキーを使用することなく、ページがプリフェッチされた場合、中間システム30は、後でこのプレビューを、そのページをその後に要求する任意のユーザー装置に配信し得る。クッキーを使用してプリフェッチされた場合には、プレビューは、ユーザー装置32に対して、またはユーザー装置32と関連付けられたユーザーもしくはユーザーアカウントに対してパーソナライズされているとして指定され得る。
プレビューを生成する際に、中間システム30は、ページ全体のスクリーンショットを生成し得るか、または各々がページのそれぞれ異なる部分の、複数のスクリーンショットを生成し得る。ページ上のアクティブなコンテンツ(リンクおよび他の選択可能な要素)を維持するために、プレビュー生成器は、各スクリーンショットに対する画像マップも生成し得る。各かかる画像マップは、当技術分野で周知のように、1つ以上のホットスポットのスクリーンショット内の座標を指定し、各かかるホットスポットの対象のURLを指定する。画像マップの複雑性を低減するために、中間システム30は、いくつかの場合には、ユーザーによって最も頻繁に選択されるものなど、ページ上のリンクの一部のホットスポットのみを含み得る。いくつかの場合には、中間システムは、ページプレビューを生成する際に、ページのテキストの一部または全部を非画像フォーマットで格納し得;例えば、中間システム30は、ページプレビューを生成するために、ブラウザ50によって画像ファイルと組み合わすことができる、テキストオーバーレイファイルを作成し得る。
いくつかの実施形態では、中間システム30は、プレビューが表示されている間に、対話式コントロールまたは他のオブジェクトの使用を容易にするための、実行可能コードまたはコンテンツのカスタマイズされた表現を生成し得る。例えば、ユーザー装置がプレビューコンテンツをレンダリングする場合にユーザー装置による使用のために、軽量のドキュメントオブジェクトモデル(「DOM」)が生成され得る。DOMは、それがある所望のオブジェクト(例えば、テキストボックスまたは他の入力コントロール)、およびユーザー装置32上のブラウザ50にオブジェクトを適切に(例えば、入力コントロールがプレビュー画像内で示される位置に)表示するように指示するプロパティのみを含むように、簡素化され得る。コンテンツページの完全なDOM内に通常含まれる他の項目(例えば、コンテンツページの各画像または他のメディア項目を表すオブジェクト)は、かかるオブジェクトの静的可視表現がプレビュー画像の一部であり得るので、軽量DOMから除外できる。ユーザーは、従って、たとえ、要求されたコンテンツの完全に機能する非プレビューバージョンではなく、実質的に静的なプレビューが表示されている場合であっても、ある程度の相互作用性を提供され得る。
イベント3で、ユーザー装置32は、続いてページを要求する。イベント4およびイベント5では、それらは時間的に重なり得る(例えば、並行して実行され得る)か、または、示すものとは異なる順序で実行され得るが、中間システム30は、(a)キャッシュされたページプレビューをユーザー装置32に返すこと、および(b)要求されたページをユーザー装置32の代わりにコンテンツサイト34から取得することにより、ページ要求に応答する。イベント4でプレビューを配信するために使用されるプロセスは、装置のブラウザ50がページプレビューの表示をサポートするかどうかによって決まり得る。従来型のブラウザの場合のように、ページプレビューの表示をサポートしない場合、中間システム30はまず、ブラウザ50に1つ以上のキャッシュされたスクリーンショット(または他のキャッシュされたプレビューオブジェクト)を中間システム30から取得するように指示する、本明細書でHTMLプレビューファイルと呼ばれる、特別なHTMLを返し得る。このプロセスは、図3に関連して、以下で説明する。
イベント5および/またはイベント7と重なり得る、イベント6で、ブラウザ50は、ページプレビューを表示する。通常、ページプレビューは、プレビューが配信されなかった場合に実際のページが表示され得るよりも著しく速く表示される。これにはいくつかの理由がある。第1に、プレビューが既に中間システム30上にキャッシュされているので、コンテンツサイト34からのページの取得に関連した伝送遅延が回避される。第2に、コンテンツサーバー34または第三者サーバー(例えば、CDNサーバー)からの任意の埋込みオブジェクトの要求に関連した追加の伝送遅延が通常、回避される。第3に、プレビューを生成するために使用されるプロセスに応じて、プレビューは、実際のページよりも迅速に配信および表示されることが可能であり得る。例えば、通常、ブラウザ50の処理遅延という結果となる複雑なコーディングが、プレビューから省かれ得、到着時にプレビューがより迅速に表示されるのを可能にする。別の例として、ジョイントフォトグラフィックエキスパートグループ(「JPEG」)規格に従って作成された画像などの、コンテンツページのプレビュー画像は、全体として要求されたコンテンツ項目よりも大幅に小さいデータサイズを有し得、従って、例えば、完全なウェブページよりも迅速に伝送され得る。
プレビューが配信されて表示される速度は、プレビューを特定の装置タイプまたはフォームファクタに対して最適化することによりさらに向上できる。例えば、スクリーンショットがより速く配信できるように、スマートフォンに対してはタブレットと対比して低いスクリーンショット解像度が使用され得る。(スクリーンショット解像度は、モバイル機器のユーザーが、どの程度頻繁かつ迅速に特定のページまたはページ一般上でズームする傾向があるかに関して集約されたブラウザ報告データにも基づいて選択され得る)。別の例として、ページは、ユーザー装置の画面寸法に基づき(複数のスクリーンショットを生成する目的で)細分され得る。例えば、1つのスクリーンショットは、装置の画面寸法を所与として、ページが最初に表示される時に画面上に出現する、ページの「上半分の」部分に対して生成され得る。必要に応じて、ユーザーがスクロールできる、ページの残り(下半分)の部分の1つ以上の追加のスクリーンショットが生成され得る。このアプローチでは、プレビューの上半分部分が、ページ全体に対して単一のスクリーンショットが使用された場合に表示され得るよりも迅速に表示されるように、上半分のスクリーンショットがまず、配信されて表示され得る。
いくつかの実施形態またはユースケースでは、中間システム30は、下半分のコンテンツがプレビューに含まれないように、上半分のスクリーンショットを配信するだけであり得る。これは、ユーザーが、プレビュー表示ステージ中に、ページ上でスクロールダウンする可能性が低い場合に適切であるか、または望ましくあり得る。中間システム30は、(1)ユーザーが特定のページ上でスクロールダウンする頻度(および速度)に関するデータ、ならびに(2)プレビューが実際のページと置き換えられる前に、プレビューが表示される推定時間、などの、1つ以上の要因に基づき、このアプローチを特定のページに対して使用するかどうかを判断し得る。
イベント7で、中間システム30は、イベント5で取得したページコンテンツに基づき、ページの非プレビューバージョンをブラウザに配信する。ページの非プレビューバージョンは、コンテンツサイト34から取得されたページの実質的に現在のバージョンであり得る。いくつかの実施形態では、中間システム30は、ページの実質的に現在のバージョンと、クライアント装置32に対して以前に提供されたプレビューバージョンとの間の差の分析を実行し得る。実質的に現在のバージョンとプレビューバージョンとの間の差の表現が次いで、クライアント装置32に提供され得る。例えば、置換テキスト、置換画像または画像の部分、置換バイト範囲、および同様のものなどの、1つ以上のプレビュー更新が、生成されて、クライアント装置32に送信され得る。ブラウザ50は次いで、プレビュー更新(複数可)をプレビューバージョンに適用すること、プレビューバージョンの1つ以上の部分をプレビュー更新(複数可)と置き換えること、プレビュー更新(複数可)をプレビューバージョンの対応する部分(複数可)に重ね合わせることなどにより、非プレビューバージョンを表示できる。
非プレビューバージョンは、イベント5で取得したページとフォーマットが同一であり得るか、またはその修正されたか、もしくは部分バージョンであり得る。中間システム30は、非プレビューバージョンを生成するために、取得したページを様々な方法で修正または最適化し得る。例えば、中間システム30は、ページ上で選択された画像を、とりわけモバイル機器に対して、より迅速にロードすることを可能にするために、それらの画像の解像度を低下し得る。別の例として、中間システム30は、通常は、ブラウザによって別々に取得され得る、埋込み画像またはオブジェクトを含む、ページ全体を完全に表す単一のファイルを生成して配信し得る。さらに別の例として、中間システム30は、プレビューと異なるか、またはプレビューから省かれた部分などの、ページのある部分のみを配信し得る。従って、イベント7で配信される非プレビューバージョンは、イベント5で取得されるページとフォーマットが異なり得、かつ/または実際のページの不完全表現であり得る。
いくつかの実施形態では、図2に示すように、要求されたコンテンツの非プレビューバージョンが、ブラウザ50からの第2の要求またはフォローアップ要求なしで配信され得る。例えば、プレビュー認識ブラウザは、SPDY、WebSocket、または同様のものなどの、双方向通信プロトコルを使用して、中間システム30と通信し得る。一旦、ユーザー装置およびネットワークシステム(中間システム30など)が双方向通信プロトコルを使用して接続を確立すると、ネットワークシステムは、ハイパーテキスト転送プロトコル(「HTTP」)接続で通常要求されるように、第1にユーザー装置からの要求を要求することなく、コンテンツ項目および他のデータをユーザー装置に伝送し得る。かかる双方向通信プロトコルを使用することにより、中間システム30は、コンテンツ要求に応答して、プレビューコンテンツをユーザー装置32に送信できる。続いて、または並行して、中間システム30は、クライアント装置32からの第2の要求を要求することなく、要求されたコンテンツページの非プレビューバージョンをクライアント装置32に伝送できる。
いくつかの実施形態では、ユーザー装置32は、ページの非プレビューバージョンを中間システム30から受信するのではなく、実際のページをコンテンツサイト34から取得し得る。かかる場合には、ユーザー装置32は、プレビューに対する当初の要求を中間システム30に伝送し、その後(または並行して)コンテンツサイト34から実際のページを要求し得る。ユーザー装置32またはその上で実行するブラウザ50は、当初、中間システム30からのプレビューを要求し、その間にコンテンツサイト34から実際のページをさらに取得しているように構成され得る。代替として、中間システム30がユーザー装置32に送信するプレビューまたは他のデータは、ブラウザ50に、実際のページを、中間システム30から受信するのを待つのではなく、コンテンツサイト34から取得するように指示し得る。
非プレビューバージョンがユーザー装置32上にロードされると、それは、ブラウザによって隠して保持される。例えば、非プレビューバージョンは、別個のフレームバッファ内にロードされ得るか、または隠し「タブ」、ブラウザウィンドウ、もしくはブラウザ50によってサポートされる他のコンテンツ表示要素にレンダリングされ得る。図2のイベント5およびイベント7は、中間システム30が、ページの非プレビューバージョンの部分を、他の部分を取得している間に配信できるように、重なり合い得る。前述のように、他の実施形態では、中間システム30は、プレビューと異なる(または意味があるように異なる)部分などの、実際のページのある部分を配信するだけであり得る。
イベント8で、ブラウザ50は、イベント7で受信したコンテンツに基づき、プレビューの表示を非プレビューバージョンの表示と置き換える。(中間システム30が、プレビューと異なる部分を配信するだけの場合、ブラウザ50は、代替として、関連部分を置き換えることにより更新し得る)。例えば、非プレビューバージョンがロードされて隠しタブにレンダリングされた場合は、隠しタブが非隠し状態にされ得るか、または別の方法で可視状態にされ得、他方、プレビューが表示されたタブが隠され得る。通常のユースケースシナリオでは、この遷移は、プレビューの表示の数秒後に生じる。ユーザーの観点からすれば、プレビューから実際の(非プレビュー)ページへの遷移は、通常、従来型のブラウザがページのロードを終える時に生じる遷移と見かけは同様である。従って、ユーザーは通常、プレビューから実際のページへの遷移が生じていることに気付かないであろう。通常、実際のページのビジュアルコンテンツは、特に、中間システム30がページのプレビューを頻繁に(例えば、数分ごとに)生成する場合、プレビューのビジュアルコンテンツと同一または同様であろう。
前述のように、いくつかの実施形態では、プレビューは、テキストボックスまたは他の入力コントロールなどの、対話型オブジェクトを含み得る。ユーザーは、イベント7またはイベント8の前に、かかるオブジェクトとやりとりし得る。例えば、テキストボックスを含めると、ユーザーがテキストをテキストボックスに入力し始めることを可能にできる。ユーザー装置32がイベント8でプレビューを非プレビューバージョンと置き換える場合、ユーザー装置32は、テキストボックスの一時的なプレビューバージョンのコンテンツを非プレビューバージョンにコピーでき、ユーザーがいかなる作業も失うことがないように、また非プレビューに対する変更がシームレスに、または実質的にシームレスに生じるように見えるようにする。ユーザーがテキストをテキストボックス内に活発に入力している場合、ユーザー装置32は、テキストボックスの非プレビューバージョンが準備できると、入力をそれに向かわせて、テキストボックスの非プレビューバージョンが表示されると、自動的に、カーソルをテキストボックスの非プレビューバージョンの適切な位置に配置し得る。
プレビュー認識ブラウザ50は、非プレビューバージョンの表示前、または表示中に、入力をプレビューバージョンから非プレビューバージョンへ自動的にコピーするように構成され得、それにより、中間システム30からのいかなる追加の命令またはコードを必要とすることなく、それを行うようになる。既存のブラウザ(例えば、プレビュー認識でないか、または入力上に自動的にコピーするカスタムコードを含んでいないもの)は、中間システム30により、命令または他の実行可能コードを提供され得る。例えば、HTMLプレビューファイル、または非プレビューバージョンは、プレビューバージョンから非プレビューバージョンへの入力のコピーを容易にするために、JavaScriptまたは何らかの他の実行可能コードを含み得る。
いくつかの実施形態では、中間システム30は、ページ要求時に、要求されたページのプレビューを配信するかどうかを、プログラムで判断し得る。この判断は、以下の:(1)ユーザー装置32と中間システム30との間、またはコンテンツサイト34と中間システム30との間の接続速度、(2)ページへの以前のアクセスに基づき中間システム30に既知であり得るような、要求されたページのサイズおよび複雑さ、(3)このページの取得時、または対象とするサイト一般のページ取得時に、中間システム30が遭遇する平均遅延(または直前の遅延)、(4)ページのコンテンツが変わる頻度、のうちの1つ以上などの、様々な要因に基づき得る。
既存のブラウザのための配信プロセス
図3は、ページプレビューを前から存在するブラウザ(すなわち、「プレビュー認識」ではないもの)に提供するために使用され得るプロセスを示す。この例では、中間システム30は既にページのプレビューをそのキャッシュ44内に有していると仮定する。図3のイベント1では、ブラウザ50は、ページに対する要求を中間システム30に送信する。イベント2で、中間システム30は、実際のページの代わりに、HTMLプレビューファイルを返す。HTMLプレビューファイルは、前述のように、中間システム30からブラウザ50によって取得されるべきスクリーンショット(複数可)を指定し、各かかるスクリーンショットに対する画像マップを含み得る。かかるプレビューファイルの一例を、画像マップを除去し、テキスト「[IMAGE MAP GOES HERE](画像マップはここ)」で置き換えて、表1に示す。
イベント3で、ブラウザ50は、HTMLプレビューファイル内で参照されるプレビュースクリーンショット(複数可)を取得し得る。表1に示されるHTMLプレビューファイルは、CNN.comと関連付けられたページに対応して、f84bcecf−4f22−480b−9b6c−dfe5f206089b.jpgという名前の単一のスクリーンショットを参照する。本明細書で説明するように、いくつかの実施形態では、複数のスクリーンショットが使用され得る。実例として、表1に示すHTMLプレビューファイル内で参照されるスクリーンショットは、http://www.cnn.comまたは何らかの関連したサーバーからではなく、http://static−screenshots.s3.comから取得され、それは、中間システム30または中間システム30と関連付けられた何らかの他のサーバーもしくはシステムに対応し得る。スクリーンショットは、ページ全体のであり、画像マップはページ上のリンクの一部または全部の座標を指定し得る。ユーザーは、プレビューファイルを見ている間に、ページ上のリンクを選択する/辿ることができる。
いくつかの実施形態では、画像マップ以外のユーザーインタフェース機能が、プレビュー内に含まれ得る。例えば、コンテンツページが、補足的なコンテンツ(例えば、ユーザーがマウスを上に乗せた項目の説明)の表示を開始する「オンマウスオーバー(onmouseover)」または「オンホバー(onhover)」機能を含む場合、かかる機能がプレビューに含まれ得る。追加の実施形態では、かかる追加のユーザーインタフェース機能の包含は、対象とするユーザー装置の特性および性能に基づき得る。例えば、対象とする装置が、マウス入力ではなく、タッチスクリーン入力のみを有する場合、かかる機能は対象とする装置上で容易にアクセスできないので、「オンマウスオーバー」または「オンホバー」イベントハンドラーをプレビューファイルに追加するために必要な追加の処理がスキップされ得る。別の例として、実際のコンテンツページの構造に関する配置のヒントまたはデータが、プレビューと共に、またはプレビューと一緒に使用するために提供され得る。例えば、ズームするためのダブルタップなどの機能がプレビューで予想通りに機能するように、「div」マークアップタグの配置が提供され得る。
スクリーンショットは、当初は、ユーザーに見えるHTML本体の唯一のオブジェクトである。指定される特定のスクリーンショットは、そのフォームファクタまたは画面サイズなどの、ユーザー装置32の特性に基づき、中間システム30によって選択され得る。装置32の特性は、ページ要求と共に中間システム30に伝達され得るか、またはページ要求と共に伝送されたクッキーもしくは他の識別子に基づき中間システム30によって調べられ得る。
イベント5で、ブラウザ50は、ページの非プレビューバージョンを表示のために準備するプロセスを開始し得る。この例では、ID「frame」が与えられている「iframe」要素である、コンテナ要素が、ページの現在のバージョンをロードするために使用される。いくつかの実施形態では、「div」または「object」要素などの、異なるコンテナ要素が使用され得る。表1のサンプルHTMLファイルの「frame.src」属性に見られるように、iframe要素のコンテンツは、http://www.cnn.com URLに配置された文書である。中間システム30は、クエリー文字列「?screenshot_bypass=1」をURLの終わりに付加している。このクエリー文字列は、オリジンサーバーまたはhttp://www.cnn.comと関連付けられた何らかの他のサーバーに渡されない可能性がある。むしろ、クエリー文字列は、http://www.cnn.comに配置されたページに対するこの特定の要求が、スクリーンショットに対してではなく、実際のページに対してであることを示す、中間システム30に対する指示であり得る。クエリー文字列「?screenshot_bypass=1」の存在は、HTMLプレビューファイルが既にユーザー装置32に伝送されていることを示す。いくつかの実施形態では、要求が、スクリーンショットではなく、実際のページで対応されるべきことを中間システム30に信号通知するために、他の技術が使用され得る。例えば、クッキー、セルフポストフォーム(self−posting form)、HTTPヘッダー、および同様のものが、情報を中間システム30に返送するために使用され得る。
イベント6で、中間システム30は、要求されたページを、オリジンサーバー、CDNサーバー、またはコンテンツサイト34と関連付けられた何らかの他のコンテンツソースから取得できる。いくつかの実施形態では、中間システム30は、一旦、実際のページが(中間システムによる修正の有無にかかわらず)ロードし終えると、ブラウザ50にそのページを表示するように指示する、JavaScriptコード、または他の実行可能コードで、取得した(実際の)ページを拡張(augment)する。これは、JavaScript「オンロード(onload)」イベントを使用して達成され得る。前述のように、中間システム30は、ページに対する他の変更(例えば、画像の解像度の低減)も行い、そのページを、特定のタイプの装置への配信および表示のために、より良く最適化し得る。
イベント7で、ブラウザ50は、ページの非プレビューバージョンを処理および表示できる。「frame.onload」属性に見られるように、iframe要素は、iframeのコンテンツ(例えば、http://www.cnn.com)がロードし終えると実行するJavaScript関数と関連付けられる。特に、iframe要素のコンテンツがロードし終えると、「frame.onload」属性内に定義された関数が、iframe(例えば、「frame.style.display=block;」)を表示し、次いでスクリーンショット(例えば、「image.style.display=none;」)を隠す命令を実行する。いくつかの実施形態では、画像が最初に隠され、次いでiframeが表示されるように、順番が逆にされ得る。
いくつかの実施形態では、最終文書のスクロールがシームレスに機能するように、iframeが、その中の最終サイズのコンテンツの合理的な表現と共にロードされるのを確実にするために、追加のステップを取ることができる。iframe自体内でクリックされたリンクが、iframe内ではなく、親文書内にロードされるように、iframe内にロードされる文書の<head>に、<base>タグが追加できる。最後に、ブラウザ50上での処理および記憶圧力を軽減するために、iframeがロードされる際にスクリーンショット画像が除去できる。
プレビュー認識ブラウザを使用した実装
図3をさらに参照して、プレビュー認識ブラウザ50が使用される場合、イベント5が省略され得、イベント2およびイベント3が、中間システム30がプレビューを配信する単一のイベントと置き換えられ得る。プレビュー認識ブラウザ50は、プレビューの表示をサポートするための他の機能も含み得る。例えば、ブラウザ50は、ユーザーが、以下の:(1)プレビューが表示されるべきかどうか、(2)プレビューが表示されるべき条件(例えば、Wi−Fiが利用可能な場合のみ、特定のサイトに対してのみ、など)、(3)プレビューに対してどのスクリーンショット解像度が使用されるべきか、(4)プレビューから広告が省かれるべきかどうか、(5)「プレビューのみ」閲覧モード(以下で説明)が使用されるべきかどうか、(6)中間システム30が(前述のように)予測的なプリフェッチを実行すべきかどうか、およびそうである場合には、パーソナライズされたプレビューをサポートするために、ユーザーのクッキーが使用されるべきかどうか、のうちの1つ以上を指定することを可能にするためのユーザー設定メニュー(または設定ページへのリンク)を含み得る。
予測的なプリフェッチが使用される場合、プレビュー認識ブラウザ50は、対応するページが要求される前に、予測的に生成されたプレビューがユーザー装置32に配信され得るように、バックグラウンドでプレビューの受信およびキャッシュも可能であり得る。いくつかの実施形態では、中間システム30は、現在要求されているか、または表示されているコンテンツ項目によって参照されるコンテンツ(例えば、ハイパーリンクコンテンツ)を予測的にプリフェッチし得る。
図5は、コンテンツ項目を表示しているブラウザインタフェース例500を示す。実例として、図5に示すコンテンツ項目は、他のコンテンツ項目へのいくつかのリンクを含む「トップ記事」欄510を有する。中間システム30は、現在のユーザーが(例えば、ユーザーの以前のコンテンツ要求および/または人口統計情報の分析に基づき)「トップ記事」欄510内のどのリンクを次にクリックしそうであるか、または任意のユーザーが一般に、次にどのリンクをクリックしそうであるか、に関する予測を生成する機能を含み得る。ブラウザ50がプレビュー認識ブラウザである場合、中間システム30は、要求される可能性のコンテンツのプレビューを伝送できる。ブラウザ50がプレビュー認識ブラウザではない場合などの、いくつかの実施形態では、中間システム30は、ユーザー装置32に送信されるプレビューファイル内にコードを含み得る。ユーザー装置32は、後で最も要求される可能性が高い、リンクされたコンテンツ項目に対するプレビュー画像をプリフェッチするために、追加されたコードを実行し得る。
いくつかの実施形態では、中間システム30は、後で要求される可能性が低い1つ以上のコンテンツ項目に対するプレビューを(例えば、前述した技術の1つを使用して)ユーザー装置32に送信させ得、他方、後で要求される可能性が最も高い1つ以上のコンテンツ項目に対する完全なバージョンまたは非プレビューバージョンを、ユーザー装置32に送信させる。このようにして、ユーザー装置32は、次に最も要求される可能性が高いコンテンツ項目の非プレビューバージョンに容易にアクセスでき、その一方で、全ての項目の非プレビューバージョンを取得するために必要な帯域幅および格納スペースを消費することなく、次に要求される可能性が低いコンテンツ項目の少なくともプレビューにもアクセスできる。
図5に示すコンテンツ項目は、テキストボックス530も含む。前述のように、かかるテキストボックス530はプレビュー上に表示され得、それにより、ページの非プレビューバージョンが受信または表示される前に、ユーザーがテキストボックス530にテキストの入力を開始することを可能にする。中間システム30は、テキストボックス530がプレビューのテキストボックスと同じ位置になるように、テキストボックス530の表示位置に関する座標、テキストボックス530の挙動方法(例えば、フォントに関するスタイル情報など)、および同様のものなどの情報をブラウザ50に提供し得る。
図5に示すコンテンツ項目は、中央コンテンツ領域540を含む。実例として、コンテンツ項目は、ニュースウェブページであり得、中央コンテンツ領域540は、現在のトップ記事、ニュース速報、または同様のものを示すために使用され得る。いくつかのブラウザアプリケーションは、特定の領域上でのユーザーによるダブルタップに応答して、ユーザーが、中央コンテンツ領域540などの、特定の領域上の表示を迅速にズームするのを可能にする。従来の方式では、ブラウザは、ダブルタップに応答して、特定の領域上での表示をズームする方法を判断するために、<div>タグまたは<table>の列などの、コンテンツページの様々な機能を使用する。中央コンテンツ領域540が3列テーブル(例えば、「トップ記事」欄510のための第1の列、中央コンテンツ領域540のための第2の列、および広告520のための第3の列)の中央列であって、ユーザーが中央列内でダブルタップすると、ブラウザは中央コンテンツ領域540上の表示をズームできる。しかし、プレビュー画像のみが表示されている場合、ブラウザ50は、ズームすべき画像上の特定の領域を知らない可能性がある。ダブルタップによるズーム機能をコンテンツプレビューに提供するために、中間システム30が、前述のように、軽量DOMを提供し得るか、または簡略化HTMLページが提供され得る。DOMまたはHTMLページは、非プレビューバージョンの領域に対応するプレビュー画像の領域を定義し得、それにより、ブラウザ50に、ダブルタップ入力または何らかの他のズームコマンドに応答してズームする方法を判断するための情報を提供する。例えば、HTMLページは、3列を有する単純な<table>を定義するコードを含み得るか、またはDOMはかかるテーブルの対応する表現を含み得る。
プレビュー認識ブラウザ50は、中間システム30が、特定のユーザーに対するプロセスをカスタマイズまたはパーソナライズするのを可能にする他の機能も含み得る。例えば、ブラウザ50は、ユーザーがプレビューページ上でズームインおよびスクロールダウンする頻度に関する利用データを収集および報告し得る。中間システム30は、このデータを、例えば、ユーザーの閲覧行動に最適な特定のスクリーンショットを選択するために使用し得る。プレビュー認識ブラウザ50は、ユーザー装置の処理能力、画面サイズ、実行しているアプリケーション数などに関する情報などの、適切なスクリーンショットを選択するために有用であり得る他の情報も中間システム30に報告し得る。さらに、プレビュー認識ブラウザは、プレビューとやりとりするための1つ以上の特別なタッチスクリーンジェスチャをサポートし得る。かかるジェスチャの一例を以下で説明する。
プレビュー認識ブラウザは、中間システム30が、プレビューと異なるか、またはプレビューから省かれた実際のページの部分のみを配信する機能もサポートし得る。例えば、一旦、プレビューが配信されると、中間システム30は、比較を実行することにより、ページの特定のセクションが変更されていることを判断し得、このセクションに対応するHTMLシーケンスをブラウザ50に配信し得る。プレビュー認識ブラウザは次いで、プレビューのその部分のみを置き換え得、プレビューの他の部分を置き換えることはない。別の例として、プレビューは、ページ上の画像の画素データのバイト範囲または一部のみを含み得、その場合、中間システムがその後、省かれた画素データを配信して−プレビュー認識ブラウザが埋め−得る。
プレビュー認識ブラウザ50は、プレビューをレンダリングするための特別な機能も含み得る。例えば、前述のように、中間システム30は、(1)ページの画像コンテンツを表す画像ファイル、および(2)テキストコンテンツを非画像フォーマットで含む、HTMLファイルなどの、非画像オーバーレイファイルの両方を配信するように構成され得る。かかる実施形態では、ブラウザ50は、プレビューを生成するために、これらの2つのタイプのファイルを組み合わせるように構成され得る。
この方法が使用される場合、中間システム30は、適用できる場合には、その後、図2のイベント5で取得されたページに基づく新しいオーバーレイファイルを(新しい画像ファイルを送信することなく)送信し得る。従って、例えば、ページが、プレビューには含まれていない、パーソナライズされたテキストコンテンツを含む場合、中間システムは単に、このパーソナライズされたコンテンツを含む新しいオーバーレイファイルを送信し得;プレビュー認識ブラウザは次いで、画像コンテンツを変更することなく、新しいオーバーレイファイルを使用してプレビューの表示を更新するであろう。
プレビューのみ閲覧モード
いくつかの実施形態では、システムは、中間システム30が、デフォルトにより、ページプレビューのみを(利用可能な場合)配信して、実際のページを配信しない、「プレビューのみ」閲覧モードをサポートし得る。ユーザーは、ブラウザ設定によって、または構成サイトを通じて、このモードを有効または無効にすることが可能であり得る。プレビュー認識ブラウザ50が使用される場合、ブラウザ50は、ユーザーが、そのプレビューを見ている間に、実際のページを要求するのを可能にする特別なタッチスクリーンジェスチャをサポートし得る。例えば、ユーザーが画面の特定の領域上を2度タップすると、ブラウザは、実際のページの要求およびロードによって応答するであろう。
いくつかの実施形態では、中間システム30またはブラウザ50は、自動的に「プレビューのみ」閲覧モードに(例えば、「プレビューのみ」モードのユーザー開始なしで)入り得る。これは、様々なシステムまたはネットワーク条件に応答してトリガーされ得る。例えば、中間システム30またはブラウザ50が、中間システム30とユーザー装置32との間のネットワークリンクが低速であると判断する場合、「プレビューのみ」モードが自動的にトリガーされ得る。別の例として、「プレビューのみ」モードは、中間システム30またはブラウザ50が、特定のページまたは閲覧セッション全体の満足なレンダリングを可能にするために十分な利用可能資源がユーザー装置32上にない可能性があることを検出する場合に、自動的にトリガーされ得る。
ページのプリフェッチおよびプレビュー生成のためのプロセス
図4は、プレビューを生成するために、中間システム30によって、特にページプリフェッチャ40およびプレビュー生成器42(図1)によって、使用され得るプロセスの一実施形態を示す。このプロセスは、所与のページが比較的最新のプレビューを維持するために、定期的に(例えば、数分ごとに)繰り返され得る。この特定の実施形態では、プレビュー生成器42は、各プリフェッチされたページに対して複数のプレビューを生成し、その各プレビューは、異なる装置タイプに対応する。プレビュー生成器42は、非プレビュー認識ブラウザ50と対比して、プレビュー認識に対して異なるプレビューも生成し得る。
ブロック60で、ページプリフェッチャ40が、コンテンツサイト34からページをプリフェッチする。ブロック62で、プレビュー生成器42が、プレビューを生成すべき第1の装置タイプを選択する。異なるプレビューが、例えば、異なる画面サイズに対して、異なる装置接続速度に対して、異なるブラウザに対してなど、生成され得る。
図4のブロック64で、プレビュー生成器42が、スクリーンショットに変換するために、特定の部分または複数の部分を選択する。いくつかの実施形態では、プレビュー生成器42は、ページ全体の単一のスクリーンショットを生成し得る。他の実施形態では、前述のように、ページの異なる部分の異なるスクリーンショットが生成され得る。いくつかの場合には、プレビュー生成器42は、ページのある部分(例えば、レンダリングプロセスを遅くするような複雑なコーディングを含む部分)のみのスクリーンショットを生成し得、一方でページの他の部分は変更されないまま残す。プレビュー生成器42は、従って、もしあれば、どの部分がスクリーンショットに変換されるべきかを判断するためにプリフェッチされたページのコーディングを分析し得る。
図4のブロック66で、プレビュー生成器42は、ページをレンダリングして、選択された部分(複数可)のスクリーンショット(複数可)を生成する。ブロック68で、プレビュー生成器42は、前述のように、HTMLプレビューファイルなどの、1つ以上の追加のプレビューファイルを生成し得る。いくつかの実施形態では、ユーザーが実際のページまたはページの非プレビューバージョンから予期し得る機能をユーザーに提供するために、画像マップ、「オンマウスオーバー」イベントハンドラーおよび他のユーザーインタフェース機能がプレビュー内に含まれ得る。これらおよび他のユーザーインタフェース機能の包含は、プレビューが対象とする装置に基づき得る。例えば、コンテンツページが、補足的なコンテンツ(例えば、ユーザーがマウスを上に乗せた項目の説明)の表示を開始する「オンマウスオーバー」または「オンホバー」機能を含むとき、対象とする装置がかかる機能を起動することが可能である場合、かかる機能がプレビューに含まれ得る(例えば、マウスを備えたデスクトップコンピュータは「オンホバー」イベントを起動できるが、他方、タッチスクリーンのみを備えたタブレットコンピュータはそれを行うことができない可能性がある)。別の例として、実際のコンテンツページの構造に関する配置のヒントまたはデータが、プレビューと共に、またはプレビューと一緒に使用するために提供され得る。例えば、ズームするためのダブルタップなどの機能がプレビューで予想通りに機能するように、「div」マークアップタグの配置が提供され得る。
ブロック70で、任意のスクリーンショットを含む、プレビューファイルまたは複数のファイルが、選択された装置タイプに関連して(例えば、特定のスクリーンショットが適用される装置タイプまたは特性を示すデータと共に)、プレビューキャッシュ44に格納される。ブロック72で示すように、プロセスは次いで、1つ以上の追加の装置タイプに対して繰り返され得る。
ユーザー装置要求に応答するためのプロセス
図6は、コンテンツページに対するユーザー装置からの要求に応答するためのプロセス600の実施形態を示す。中間システム30は、要求されたコンテンツの非プレビューバージョンを中間システム30が取得してユーザー装置32に伝送する間に表示され得るプレビューを提供するためのプロセス600を実行し得る。プロセス600はブロック602で開始し得、そこで、中間システム30はユーザー装置32からコンテンツ要求を受信する。実例として、コンテンツ要求は、コンテンツサイト34によってホストされるか、または提供されるコンテンツ項目に対する要求であり得る。
ブロック604で、中間システム30は、もしあれば、どのプレビューがユーザー装置32に送信されるべきかを識別し得る。前述のように、中間システム30は、キャッシュ44内に利用可能なコンテンツ項目の以前に生成されたプレビューを有し得る。また前述のように、異なるプレビューが異なる装置または装置構成に対して生成され得る。中間システム30は、現在のユーザー装置32に対して、プレビューの適切なバージョンを見つけ得る。例えば、中間システム30は、要求しているユーザー装置32の画面解像度、画面の向き(例えば、縦または横)、ブラウザ50のレンダリング機能、および同様のものなどに関するデータを受信するか、またはアクセスし得る。キャッシュ44内で適切なプレビューが入手できない場合、中間システム30は、プロセス600を終了し得、続けて、要求されたコンテンツの非プレビューバージョンを対応するコンテンツサイト34から取得することにより、要求に対応し得る。
いくつかの実施形態では、コンテンツサイト34または他のコンテンツプロバイダーは、特定のコンテンツページに対してプレビューが使用されないことを指定し得る。実例として、時間依存のコンテンツまたは迅速に変化するコンテンツ(例えば、株式市況ページ)、個人的なコンテンツ(例えば、銀行取引ページ)、またはユーザーが支払うと予期されるコンテンツに対しては、プレビューが使用されないことを指定するのが望ましいことがあり得る。いくつかの実施形態では、コンテンツサイト34または他のコンテンツソースは、プレビューは、それが廃棄または置換される前に、特定の期間だけ使用されることを指定し得る。実例として、かかる特徴は、項目がどれだけ長くキャッシュされ得るかを識別するために使用されるのと同様の方法で実装され得る。
いくつかの実施形態では、コンテンツサイト34または他のコンテンツソースは、中間システム34によって生成されたプレビューではなく、特定のプレビューまたは介在ページもしくは画像が使用されることを指定し得る。実例として、コンテンツソースは、要求されたコンテンツが取得され、かつ/またはレンダリングされる間に、一時的な表示のためにユーザー装置32に提供されるオブジェクト(例えば、プレビュー画像または介在ページ)の位置または他の識別情報を指定する、タグまたは他のデータを、コンテンツ項目内に挿入し得る。特定の地理的領域または同様のものを対象とするページなどの、カスタマイズされた介在ページまたは一時的ページを提供するために、クッキーまたは他のユーザー識別情報が、コンテンツソースとともに中間システム30によって使用され得る。
ブロック606で、中間システム30は、プレビューまたは他の一時的な項目をユーザー装置32に送信できる。ブロック608で、中間システム30は、要求されたコンテンツ項目の更新バージョンを対応するコンテンツサイト34または他のコンテンツソースから取得できる。いくつかの場合には、ブロック608は、ブロック602での要求の受信から、要求されたコンテンツの更新バージョンが取得される時までの間に経過する総時間を低減するために、ブロック604および/またはブロック606と並行して実行され得る。
ブロック610で、中間システム30は、任意選択で、コンテンツ項目の更新バージョンが、ユーザー装置32に送信されたプレビューと異なるかどうか、および/またはどのくらい著しく異なるかを判断し得る。コンテンツの現在のバージョンが、ユーザー装置32に既に送信されているプレビューと同一であるか、または実質的に同一である場合、中間システム30は、非プレビューバージョンが送信されないと判断し得る。実例として、かかる判断は、コンテンツ項目が実質的に静的または非対話的で、非プレビューバージョンの提供がユーザーエクスペリエンスを向上しない場合、または送信されたプレビューがユーザーインタラクション機能(例えば、前述のように、画像マップ)を提供する場合に行われ得る。
いくつかの実施形態では、中間システム30は、現在のバージョンの、プレビューバージョンと異なる部分のみを、ユーザー装置32への伝送のために、選択または生成し得る。例えば、中間システム30は、現在のバージョンのある画像が、プレビューバージョンの画像と異なると判断し得る。中間システム30は、それらの画像を、ユーザー装置32に送信される非プレビューバージョンに含めることができ、一方、変更されていない画像を除外する。いくつかの実施形態では、中間システム30は、広告の更新された画像を送信するのを控えるように構成され得る。
別の例として、中間システム30は、とりわけ、前述のように、テキストオーバーレイがユーザー装置32に提供された場合に、プレビューバージョンのテキストを現在のバージョンのテキストと比較し得る。差がある場合、中間システム30は、更新されたテキストオーバーレイを提供し得る。そうでないか、またはテキストオーバーレイがプレビューバージョンに提供されなかった場合、中間システム30は、プレビューバージョンのどの部分を更新すべきかに関するデータ、現在のバージョンのHTMLファイルなどを提供し得る。
ブロック612で、中間システム30は、更新バージョン、またはその部分を、要求しているユーザー装置32に伝送する。
プレビューおよび非プレビューバージョンを表示するためのプロセス
図7は、コンテンツ項目を要求し、要求に応答して取得されるプレビューを表示するためのプロセス700の実施形態を示す。以下に続く説明は、プレビュー認識ブラウザ50によるプロセス700の実行に焦点を合わせているが、いくつかの実施形態では、非プレビュー認識ブラウザ、ニュースアプリケーション(例えば、Flipboard)などのモバイルアプリケーション、または同様のものなどの、他の構成要素がプロセス700を実行し得る。
ブラウザ50は、要求されたコンテンツのプレビューを表示し、次いで要求されたコンテンツの非プレビューバージョンを表示するためのプロセス700を実行し得る。プロセス700は、ブロック702で開始し得、そこで、ユーザー装置32のブラウザ50または何らかの他の構成要素が、コンテンツ項目に対する要求を中間システム30に送信する。実例として、コンテンツ要求は、コンテンツサイト34によってホストされるか、または提供されるコンテンツ項目に対する要求であり得る。いくつかの実施形態では、ブラウザ50は、要求を中間システム30に送信するのではなく、むしろ、それを、例えば、前述のプロセスを使用して、プレビューを提供する第三者システムに送信し得る。かかる場合には、ブラウザ50は、プレビューバージョンに対する要求を第三者システムに送信し、その後、または並行して、コンテンツサイト34からの非プレビューバージョンを要求し得る。
ブロック704で、ブラウザ50が、要求されたコンテンツ項目のプレビューバージョンを中間システム30から(または何らかの第三者システムから)取得し得る。前述のように、プレビューは、中間システム30によって、コンテンツサイト34によって、または何らかの他のエンティティによって生成されている可能性がある。
ブロック706で、ブラウザ50は、プレビューを表示できる。ブロック708で、ブラウザ50は、プレビューとのユーザーインタラクションを処理できる。実例として、かかるインタラクションは、ズームおよびスクロール動作、中間システム30によりプレビューに追加して提供されたオブジェクト(例えば、テキストボックス)とのインタラクション、要求されたコンテンツ項目上のリンクに対応する画像マップ領域のアクティブ化、および同様のものを含み得る。
判断ブロック710で、ブラウザ50は、要求されたコンテンツ項目の非プレビューバージョンが取得されていて、表示のために準備ができているかどうかを判断できる。そうである場合、プロセス700はブロック718に進むことができる。そうでなければ、プロセス700はブロック708に戻り得、そこで、ブラウザ50は、ユーザーインタラクションを処理できる。
ブロック704〜708と並行して、またはそれらに続いて、ブラウザ50は、ブロック712で、要求されたコンテンツの非プレビューバージョンを中間システム30から取得し得る。いくつかの実施形態では、ブラウザ50は、ユーザー装置32の代わりに、非プレビューバージョンを取得するために、中間システム30を頼りにするのではなく、非プレビューバージョンを、コンテンツサイト34から、または何らかの他のソースから、直接取得するように構成され得る。
ブロック714で、ブラウザ50は、ブロック712で取得した非プレビューバージョンをレンダリングできる。実例として、ブラウザ50は、プレビューバージョンとは別個のフレームバッファ内で非プレビューバージョンをレンダリングでき、次いでブラウザ50は、非プレビューバージョンが表示のために準備できている場合、ブロック718でフレームバッファをスワップできる。非プレビューバージョンがコンテンツ項目の一部のみを含む場合、ブラウザ50は、非プレビュー部分を表示のためにプレビューバージョンに適用できる。
ブロック716で、ブラウザ50は、ブロック708でプレビューバージョンに関して処理された、任意のユーザーインタラクションを、非プレビューバージョンに適用できる。ブラウザ50は、ブロック718で、非プレビューバージョンの表示前に、それを行うことができる。このようにして、非プレビューバージョンがユーザーに表示される時、ユーザーエクスペリエンスは、コンテンツの表示における急な変化によって妨害または中断されない。例えば、ユーザーがプレビューをスクロールまたはズームしている場合、対応するスクロールおよび/またはズーム操作が、非プレビューバージョンの表示前に、非プレビューバージョンに関してシミュレートされ得る。
スクリーンショットのないページプレビュー
いくつかの実施形態では、中間システム30は、任意のスクリーンショットを含むページプレビューを配信するように構成され得る。例えば、ページ要求をユーザー装置から受信すると、中間システム30は、(1)ページのキャッシュされたバージョンをプレビューとして、任意選択で、迅速配信およびレンダリングをサポートするための修正を加えて、返し、(2)実際のページを取得し、次いで、(3)実際のページがプレビューと異なる(または、著しく異なる)場合、実際のページを(修正して、または修正なしで)ブラウザに配信し得る。実際のページが配信されると、ブラウザ50は、前述のように、それをプレビューの代わりに表示するであろう。中間システム30は、このアプローチを全てのページに対して使用するか、またはページコンテンツの分析に基づきそれを選択的に使用するように構成され得る。スクリーンショットが含まれていない場合には、プレビューを生成するタスクは、例えば、スクリプトを除外すること、広告を除外すること、および/または埋込み画像の解像度を低減することを含み得る。
いくつかの実施形態では、中間システム30は、コンテンツのスクリーンショット画像ではなく、コンテンツのビデオ表示または何らかの他の動的ビューであるプレビューコンテンツを、中間システム30によってレンダリングされるにつれて提供するように構成され得る。例えば、中間システム30は、ユーザー装置32と(例えば、リモート表示フィード(remote display feed)を伝送するためのリモートデスクトッププロトコルまたは何らかの他の方法もしくはプロトコルを使用して)リモートデスクトップセッションを確立し得る。コンテンツ項目が中間システム30によってレンダリングされている間に、ユーザーにはコンテンツがユーザー装置32でローカルにレンダリングされているように見えるように、ユーザー装置は、コンテンツのビデオフィードまたは他の動的ビューをそれがレンダリングされるにつれて受信し得る。ユーザー装置32がコンテンツを受信すると、ローカルバージョンが、中間システム30でコンテンツのビデオフィードを置き換え得る。
システム実施態様および変形形態
中間システム30は、各々がプロセッサおよびメモリを含み得る、1つ以上の物理コンピューティング装置(物理サーバー、ストレージアレイ、ルーターなど)を含むコンピューティングシステムによって、またはコンピューティングシステム上で実装され得る。コンピューティングシステムは、いくつかの場合には、地理的に分散されているコンピューティング装置を含み得、その場合、開示されたサーバー側タスクの一部は、他からリモートで実行され得る。中間システム30の様々な関数が、コンピューティングシステムによって実行されるコードモジュールで具現化され得る。コードモジュールは、任意のタイプまたは複数のタイプの持続性コンピュータ記憶装置または媒体(磁気ディスク、ソリッドステートメモリ、光ドライブなど)上に永続的に格納され得る。中間システム30の開示されたプロセスの一部または全部が、代替として、カスタム設計されたASICまたはFPGAなどの、専用コンピュータハードウェアで部分的または全体的に具現化され得る。中間システム30の様々な構成要素および関数は、専用サーバーではなく、1つ以上の仮想マシンまたはクラウドリソースでも実装できる。ブラウザ50は、本明細書で説明するクライアント側関数を実装するためのコードを含む、任意のタイプの持続性記憶媒体上に格納された実行可能コードを含み得る。
いくつかの実施形態では、中間システム30は省かれ得る。かかる実施形態では、ブラウザ50は、(1)実際のページをそのオリジンサーバーから要求/取得すること、および(2)ページのプレビューを別個のプレビューサーバーまたはシステムから要求/取得すること、を同時に行うように設計または構成され得る。ページプレビューが最初に到着する場合、ブラウザは、実際のページをバックグラウンドでロードしている間に、それを表示し得、次いで、実際のページが完全にロードされると、プレビューの代わりに実際のページを表示し得る。かかる実施形態では、プレビューサーバーまたはシステムは、本明細書で説明するのと同じ方法を使用して、プレビューを生成および配信し得る。プレビューサーバーは、様々なネットワーク位置(例えば、存在点)および地理的位置に配置され得、その場合、それらは、ユーザーによって見られる通り、応答時間を最小限にしようとするアルゴリズムに従い、ユーザー装置またはページ要求に静的または動的に割り当てられ得る。
コンテンツ「ページ」のコンテキストで説明したが、本明細書で開示する方法は、他の文書およびコンテンツの単位にも適用可能である。例えば、開示する方法は、Word文書、スプレッドシートファイル、PDF文書、および様々な他のタイプの文書のプレビューを提供するために使用できる。
結論
前述は、以下の付記項を考慮すると、より良く理解され得る。
1.コンテンツプレビューを生成するためのコンピュータ実装方法であって、本コンピュータ実装方法は:1つ以上のコンピューティング装置を含むコンテンツプレビューシステムによって、コンテンツサイトからコンテンツページを取得することであって、コンテンツサイトがコンテンツプレビューシステムとは別個である、コンテンツサイトからコンテンツページを取得すること;ユーザー装置上に表示するためにプレビューコンテンツを生成することであって、プレビューコンテンツを生成することが、複数の画像の各画像がコンテンツページのそれぞれ異なる部分の表現を含む、複数の画像を少なくとも生成することを含む、プレビューコンテンツを生成すること;および続いて、ユーザー装置からのコンテンツページに対する要求に、複数の画像の1つ以上を配信することにより応答すること、を含む。
2.コンテンツサイトから、コンテンツページの実質的に現在のバージョンを取得すること;およびユーザー装置に対して、コンテンツページの非プレビュー表現を配信することであって、非プレビュー表現が実質的に現在のバージョンに少なくとも一部基づく、コンテンツページの非プレビュー表現を配信すること、をさらに含む、付記項1に記載のコンピュータ実装方法。
3.非プレビュー表現が、ユーザー装置からの第2の要求なしで、自動的に配信される、付記項2に記載のコンピュータ実装方法。
4.複数の画像の少なくとも1つおよび、非プレビュー表現の少なくとも一部をユーザー装置に並行して配信することをさらに含む、付記項2に記載のコンピュータ実装方法。
5.コンテンツページの複数のプレビューを生成することをさらに含み、複数のプレビューの各プレビューが、対象とするユーザー装置の1つ以上の特性に少なくとも一部基づく、付記項1に記載のコンピュータ実装方法。
6.プレビューコンテンツを生成することが、コンテンツページを複数の部分に細分することをさらに含み、複数の画像の各画像が、複数の部分のそれぞれ異なる部分の表現を含む、付記項1に記載のコンピュータ実装方法。
7.コンテンツページのどの部分がユーザー装置上に最初に表示されるか、対象とするユーザー装置の特性、または対象とするブラウザの特性、の少なくとも1つに少なくとも一部基づき、複数の画像を生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
8.広告がコンテンツページの特定の位置に存在するかどうかに少なくとも一部基づき、複数の画像を生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
9.コンテンツサイトからのデータに少なくとも一部基づき、複数の画像を生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
10.画像を含むコンテンツページの部分に対してのみ、複数の画像を生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
11.プレビューコンテンツが、コンテンツページのテキスト部分の非画像表現を含む、付記項10に記載のコンピュータ実装方法。
12.複数の画像の少なくとも1つの画像が、コンテンツページの非画像コンテンツの画像表現を含む、付記項1に記載のコンピュータ実装方法。
13.プレビューコンテンツが、コンテンツページの配置に少なくとも一部基づき配置データをさらに含む、付記項1に記載のコンピュータ実装方法。
14.コンテンツサイトからコンテンツページを取得すること、およびスケジュールに従ってプレビューコンテンツを生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
15.第2のユーザー装置からの要求に応答して取得したコンテンツに少なくとも一部基づき、プレビューコンテンツを生成することをさらに含む、付記項1に記載のコンピュータ実装方法。
16.コンテンツページに対する要求に応答して中間システムから、一時的な表示のためのプレビューコンテンツを受信することであって、プレビューコンテンツが、コンテンツページの部分に対応する複数の画像を含む、一時的な表示のためのプレビューコンテンツを受信すること;複数の画像の1つ以上を表示させること;要求されたコンテンツページの少なくとも一部の非プレビュー表現を、第2の要求を送信することなく、受信すること;および非プレビュー表現を、複数の画像の1つ以上の代わりに、自動的表示させること、を行うように構成されたコンピュータ実行可能ブラウザモジュールを含む、持続性コンピュータ可読媒体。
17.プレビューコンテンツが、要求されたコンテンツページのテキスト部分の非画像表現をさらに含む、付記項16に記載の持続性コンピュータ可読媒体。
18.非プレビュー表現が、要求されたコンテンツページのテキスト部分の非画像表現を含む、付記項17に記載の持続性コンピュータ可読媒体。
19.実行可能ブラウザモジュールが、プレビューコンテンツとのユーザーインタラクションに応答して、複数の画像の追加の1つ以上を表示するようにさらに構成されている、付記項16に記載の持続性コンピュータ可読媒体。
20.ブラウザモジュールが、非プレビュー表現を隠されたコンテンツペインにレンダリングするようにさらに構成されている、付記項16に記載の持続性コンピュータ可読媒体。
21.非プレビュー表現を自動的に表示させることが、隠されたコンテンツペインを表示させることを含む、付記項16に記載の持続性コンピュータ可読媒体。
22.非プレビューバージョンをレンダリングすることが、ユーザー入力データの少なくとも一部を、一時的な対話式コントロールから、非プレビューバージョンの対応するコントロールへコピーすることを含む、付記項16に記載の持続性コンピュータ可読媒体。
23.ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、本コンピュータシステムは、1つ以上のコンピューティング装置を含み、少なくとも:コンテンツサイトからコンテンツページを取得すること;ユーザー装置による一時的な表示ためにコンテンツページのプレビューを生成することであって、プレビューが:各画像がコンテンツページのそれぞれ異なる部分を表現する、複数の画像;ならびに複数の画像とは別個のマークアップコードファイルであって、複数の画像の第1の画像に対する要求を送信する第1の命令、およびコンテンツページに対するフォローアップ要求を送信する第2の命令を含むマークアップコードファイル、を含む、コンテンツページのプレビューを生成すること;ならびに複数のプレビュー画像をプレビューキャッシュに格納すること、を行うようにプログラミングされている。
24.複数のプレビュー画像をプレビューキャッシュ内に格納することに続いて、コンテンツページに対する要求を受信することであって、要求がユーザー装置から受信される、コンテンツページに対する要求を受信すること;および要求がフォローアップ要求でないと判断すると、マークアップコードファイルをユーザー装置に送信すること、を行うようにさらにプログラミングされている、付記項23に記載のコンピュータシステム。
25.ユーザーコンピューティング装置から、コンテンツページに対する要求を受信すること;および要求がフォローアップ要求であると判断すると、コンテンツページの非プレビューバージョンを送信すること、を行うようにさらにプログラミングされている、付記項23に記載のコンピュータシステム。
26.コンテンツページの複数のプレビューを生成するようにさらにプログラミングされており、複数のプレビューの各プレビューが、ユーザー装置の1つ以上の特性に少なくとも一部基づく、付記項23に記載のコンピュータシステム。
27.コンテンツページのどの部分がユーザー装置上に最初に表示されるかの判断に少なくとも一部基づき、複数の画像を生成するようにさらにプログラミングされている、付記項23に記載のコンピュータシステム。
前述は、以下の付記項の観点からも、より良く理解され得る。
1.ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、本コンピュータシステムは、1つ以上のコンピューティング装置を含み、少なくとも:コンテンツサイトからコンテンツページを取得すること;コンテンツページのプレビューを生成することであって、コンテンツページのプレビューが:コンテンツページの少なくとも一部の画像;ならびに画像に対する要求を送信する第1の命令およびコンテンツページに対するフォローアップ要求を送信する第2の命令を含むマークアップコード、を含む、コンテンツページのプレビューを生成すること;コンテンツページに対するユーザー装置からの要求に応答して:要求がフォローアップ要求でないと判断すると、マークアップコードをユーザー装置に送信すること;ならびに要求がフォローアップ要求であると判断すると、コンテンツページの非プレビューバージョンをユーザー装置に送信すること、を行うようにプログラミングされている。
2.コンテンツページのプレビューを、ユーザー装置のディスプレイ特性に少なくとも一部基づき生成するようにさらにプログラミングされている、付記項1に記載のコンピュータシステム。
3.マークアップコードが画像マップを含む、付記項1に記載のコンピュータシステム。
4.画像マップが画像のクリック可能領域を定義し、クリック可能領域がコンテンツページ上のリンクに対応する、付記項3に記載のコンピュータシステム。
5.マークアップコードが、コンテナ要素に対するソースとしてコンテンツページを参照する、付記項1に記載のコンピュータシステム。
6.フォローアップ要求が、コンテンツページに対するURLを含み、URLは、URLがフォローアップ要求と関連付けられていることを示すクエリー文字列を含む、付記項1に記載のコンピュータシステム。
7.ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、本コンピュータシステムは、1つ以上のコンピューティング装置を含み、また、コンテンツサイトのページを取得すること;取得したページのプレビューを生成して、そのプレビューをコンピュータシステムのキャッシュ内に格納すること;およびその後、ユーザー装置からのページに対する要求に、少なくとも:ページの非プレビュー表現がユーザー装置上でロードされている間にユーザーがページコンテンツを提示されるように、ページのプレビューを、ユーザー装置上に一時的に表示するためにユーザー装置に配信すること;およびページの非プレビュー表現を配信することであって、前記非プレビュー表現が、ページに対する要求に応答してコンピュータシステムによって取得されたページコンテンツに基づく、ページの非プレビュー表現を配信すること、により、応答すること;を含むプロセスを実行するようにプログラミングされている。
8.プレビューが、ページの少なくとも1つの部分のスクリーンショットを含む、付記項7に記載のコンピュータシステム。
9.プレビューが、複数の画像を含み、各画像が、ページの一部分の表現を含む、付記項7に記載のコンピュータシステム。
10.プレビューが、ページのテキスト部分の非画像表現を含む、付記項7に記載のコンピュータシステム。
11.プレビューが、画像マップを含む、付記項7に記載のコンピュータシステム。
12.プレビューが、ページに関する配置データを含む、付記項7に記載のコンピュータシステム。
13.非プレビュー表現が、コンテンツサーバーから取得されたページの現在のバージョンを含む、付記項7に記載のコンピュータシステム。
14.非プレビュー表現が、ページの少なくとも一部のキャッシュされたバージョンを含む、付記項7に記載のコンピュータシステム。
15.非プレビュー表現が、ページのプレビューと現在のバージョンとの間の差に少なくとも一部基づく、付記項7に記載のコンピュータシステム。
16.コンテンツサイトからページを取得すること、およびスケジュールに従ってページのプレビューを生成することを含むプロセスを実行するようにさらにプログラミングされている、付記項7に記載のコンピュータシステム。
17.対象とするユーザー装置の特性に少なくとも一部基づき、ページのプレビューを生成することを含む、プロセスを実行するようにさらにプログラミングされている、付記項7に記載のコンピュータシステム。
18.特性が、ディスプレイサイズまたはディスプレイ解像度の1つを含む、付記項17に記載のコンピュータシステム。
19.第2のユーザー装置からの要求に応答して取得したコンテンツに少なくとも一部基づき、ページのプレビューを生成することを含む、プロセスを実行するようにさらにプログラミングされている、付記項7に記載のコンピュータシステム。
20.プレビューおよび非プレビュー表現をユーザー装置に並行して配信することを含む、プロセスを実行するようにさらにプログラミングされている、付記項7に記載のコンピュータシステム。
21.コンテンツページを要求するためのコンピュータ実装方法であって、本コンピュータ実装方法は:コンテンツページに対する要求に応答して中間システムから、要求されたコンテンツページのプレビューを受信することであって、プレビューが、要求されたコンテンツページの少なくとも一部の画像を含む、要求されたコンテンツページのプレビューを受信すること;プレビューを表示させること;プレビューを表示させることに続いて、要求されたコンテンツページを、中間システムから受信すること;および要求されたコンテンツページをプレビューの代わりに自動的に表示させること、を含む。
22.プレビューが複数の画像を含み、複数の画像の各画像が、要求されたコンテンツページの別個の部分に対応する、付記項21に記載のコンピュータ実装方法。
23.プレビューが、画像を参照するマークアップコードを含む、付記項21に記載のコンピュータ実装方法。
24.プレビューが、画像マップをさらに含む、付記項23に記載のコンピュータ実装方法。
25.画像マップが画像のクリック可能領域を定義し、クリック可能領域が要求されたコンテンツページ上のリンクに対応する、付記項24に記載のコンピュータ実装方法。
26.プレビューが、コンテナ要素に対するソースとして要求されたコンテンツページを参照する、マークアップコードを含む、付記項21に記載のコンピュータ実装方法。
27.要求されたコンテンツページを表示させることが、コンテナ要素を表示させることを含む、付記項26に記載のコンピュータ実装方法。
28.要求されたコンテンツページを隠されたコンテンツペインにレンダリングすることをさらに含む、付記項21に記載のコンピュータ実装方法。
29.要求されたコンテンツページを表示させることが、隠されたコンテンツペインを表示させることを含む、付記項28に記載のコンピュータ実装方法。
前述は、以下の付記項の観点からも、より良く理解され得る。
1.ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、本コンピュータシステムは、1つ以上のコンピューティング装置を含み、少なくとも:コンテンツサイトによってホストされるコンテンツページに対する要求を、ユーザー装置から受信すること;コンテンツページの非プレビューバージョンがユーザー装置上でロードされている間にユーザーがページコンテンツを提示されるように、コンテンツページのプレビューバージョンを、ユーザー装置上に一時的に表示するためにユーザー装置に配信すること;コンテンツページの実質的に現在のバージョンをコンテンツサイトから取得すること;コンテンツページのプレビューバージョンと実質的に現在のバージョンとの間の差の分析に少なくとも一部基づき、コンテンツページのプレビューバージョンと実質的に現在のバージョンとの間の差の表現を生成すること;およびその差の表現をユーザー装置に配信すること、を行うようにプログラミングされている。
2.差の表現が、1つ以上の画像を含み、各画像が、プレビューバージョンの対応する部分と異なる実質的に現在のバージョンの部分の表現を含む、付記項1に記載のコンピュータシステム。
3.差の表現が、プレビューバージョンの対応する部分と異なるテキストコンテンツの部分を含む、付記項1に記載のコンピュータシステム。
4.プレビューバージョンが、コンテンツページの少なくとも一部のスクリーンショット画像を含む、付記項1に記載のコンピュータシステム。
5.コンテンツ要求に応答するためのコンピュータ実装方法であって、本コンピュータ実装方法は:1つ以上のコンピューティング装置を含むコンテンツプレビューシステムによって、コンテンツプレビューシステムとは異なるコンテンツサイトによってホストされるコンテンツページに対する要求を受信することであって、要求がユーザー装置から受信される、コンテンツページに対する要求を受信すること;要求に応答して:コンテンツページのプレビューバージョンをユーザー装置に配信すること;コンテンツページのプレビューバージョンと実質的に現在のバージョンとの間の差の分析に少なくとも一部基づき、プレビュー更新を生成すること;およびそのプレビュー更新をユーザー装置に配信すること、を含む。
6.ユーザー装置と関連付けられた構成設定に少なくとも一部基づき、プレビュー更新を生成することを判断することをさらに含む、付記項5に記載のコンピュータ実装方法。
7.ユーザー装置がプレビューコンテンツのみを要求するのを可能にすることをさらに含む、付記項5に記載のコンピュータ実装方法。
8.コンテンツページの実質的に現在のバージョンを、コンテンツサイトまたはコンテンツキャッシュのうちの1つから取得することをさらに含む、付記項5に記載のコンピュータ実装方法。
9.プレビューバージョンをコンテンツキャッシュから取得することをさらに含む、付記項5に記載のコンピュータ実装方法。
10.要求をユーザー装置から受信する前に、プレビューバージョンを生成することをさらに含む、付記項5に記載のコンピュータ実装方法。
11.プレビューバージョンが、1つ以上のプレビュー画像を含み、各プレビュー画像がコンテンツページの少なくとも一部の表現を含む、付記項5に記載のコンピュータ実装方法。
12.プレビュー更新が、置換画像を含み、置換画像が、プレビュー画像によって表される部分の位置に対応する、実質的に現在のコンテンツページの一部の表現を含む、付記項11に記載のコンピュータ実装方法。
13.プレビュー更新を生成することが、特定の位置に対応するプレビュー画像が、ユーザー装置の特性に基づいて生成されたかどうかに少なくとも一部基づき、コンテンツページの特定の部分の置換画像を含むかどうかを判断することを含む、付記項11に記載のコンピュータ実装方法。
14.プレビュー更新を生成することが、特定の位置が広告と関連付けられているかどうかに少なくとも一部基づき、コンテンツページの特定の位置の置換画像を含むかどうかを判断することを含む、付記項11に記載のコンピュータ実装方法。
15.プレビューバージョンが、コンテンツページの第1のテキスト部分に対応するプレビューテキストコンテンツを含む、付記項5に記載のコンピュータ実装方法。
16.プレビュー更新が、置換テキストコンテンツを含み、置換テキストコンテンツがコンテンツページの第1のテキスト部分に対応する、付記項15に記載のコンピュータ実装方法。
17.プレビュー更新が、ユーザー装置からのフォローアップ要求を受信することなく、配信される、付記項5に記載のコンピュータ実装方法。
18.プレビューバージョンの少なくとも一部およびプレビュー更新の少なくとも一部を並行して配信することをさらに含む、付記項5に記載のコンピュータ実装方法。
19.プレビュー更新をユーザー装置に提供するかどうかを判断することをさらに含む、付記項5に記載のコンピュータ実装方法。
20.プレビュー更新を提供するかどうかを判断することが:ユーザー装置に対するネットワーク接続の特性、ユーザー装置と関連付けられた利用可能なコンピューティング資源、またはユーザー装置と関連付けられたユーザー選択可能な構成選択肢の1つに少なくとも一部基づく、付記項19に記載のコンピュータ実装方法。
21.少なくとも:コンテンツページに対する要求に応答して中間システムから、コンテンツページのプレビュー表現を受信すること;プレビュー表現を表示させること;第2の要求を送信することなくプレビュー更新を受信することであって、プレビュー更新がプレビュー表現の第1の部分に対応する更新された部分を含む、プレビュー更新を受信すること;およびプレビュー表現の少なくとも一部が表示されたまま、プレビュー更新を自動的に表示させること、を行うように構成されたコンピュータ実行可能ブラウザモジュールを含む、持続性コンピュータ可読媒体。
22.ブラウザモジュールが、プレビュー更新を受信するかどうかに関してユーザー選択可能構成選択肢を提供するようにさらに構成されている、付記項21に記載の持続性コンピュータ可読媒体。
23.プレビュー更新を自動的に表示させることが、プレビュー表現の第1の部分の表示を、プレビュー更新の対応する更新部分と置き換えることを含む、付記項21に記載の持続性コンピュータ可読媒体。
24.プレビュー更新が、コンテンツページのプレビュー表現と実質的に現在のバージョンとの間の差の比較に少なくとも一部基づく、付記項21に記載の持続性コンピュータ可読媒体。
25.プレビュー表現が、ブラウザモジュールの特性に対して生成された第2の部分を含み、第2の部分が、プレビュー更新を自動的に表示させた後に表示されたままである、付記項21に記載の持続性コンピュータ可読媒体。
26.プレビュー表現の第1の部分が、中間システムでレンダリングされたコンテンツの画像、テキスト、または動的ビューの1つを含む、付記項21に記載の持続性コンピュータ可読媒体。
前述は、以下の付記項の観点からも、より良く理解され得る。
1.1つ以上のコンピューティング装置を含むコンピュータシステムであって、少なくとも:ユーザー装置から、1つ以上のコンピューティング装置とは別個の、コンテンツソースによってホストされるコンテンツ項目に対する要求を受信すること;ユーザー装置に送信すべきコンテンツ項目のプレビューバージョンを識別すること;ユーザー装置に対して、識別されたプレビューバージョンを送信すること;コンテンツソースから、コンテンツ項目の実質的に現在のバージョンを取得すること;および、ユーザー装置に対して、コンテンツ項目の非プレビューバージョンを送信することであって、非プレビューバージョンが実質的に現在のバージョンに少なくとも一部基づき、非プレビューバージョンが、非プレビューバージョンに対するユーザー装置からの後続の要求を受信することなく、送信される、コンテンツ項目の非プレビューバージョンを送信すること、を行うように構成された1つ以上のコンピューティング装置を含むコンピュータシステム。
2.コンテンツ項目の実質的に現在のバージョンが、要求しているユーザー装置に提供されるプレビューコンテンツを参照し、識別されたプレビューバージョンが参照されたプレビューコンテンツを含む、付記項1に記載のコンピュータシステム。
3.1つ以上のコンピューティング装置が:コンテンツ項目をプリフェッチすること;ならびにコンテンツ項目の少なくとも一部の画像を含む、コンテンツ項目の第1のプレビューバージョンを生成および格納すること、を行うようにさらに構成されており;識別されたプレビューバージョンが第1のプレビューバージョンを含む、付記項1に記載のコンピュータシステム。
4.1つ以上のコンピューティング装置が、ユーザー装置と関連付けられた特性に少なくとも一部基づき画像を生成するようにさらに構成されている、付記項3に記載のコンピュータシステム。
5.非プレビューバージョンの伝送が、識別されたプレビューバージョンの少なくとも一部の伝送と重なり合う、付記項1に記載のコンピュータシステム。
6.コンテンツ要求に応答するためのコンピュータ実装方法であって、本コンピュータ実装方法は:1つ以上のコンピューティング装置を含むコンテンツプレビューシステムにより、コンテンツプレビューシステムとは別個のコンテンツソースによってホストされるコンテンツページに対する要求を受信することであって、要求がユーザー装置から受信される、コンテンツページに対する要求を受信すること;ユーザー装置に対して、プレビューコンテンツを一時的な表示のために送信することであって、プレビューコンテンツがコンテンツページと関連付けられ、プレビューコンテンツが、コンテンツページと関連付けられたロード特性を改善するように修正される、プレビューコンテンツを一時的な表示のために送信すること;コンテンツソースから、コンテンツページの実質的に現在のバージョンを取得すること;およびユーザー装置に対して、実質的に現在のバージョンに少なくとも一部基づく、コンテンツページの非プレビューバージョンを送信すること、を含む。
7.ロード特性が:待ち時間、帯域幅利用、サイズ、レンダリング時間、またはユーザー認識ロード時間の少なくとも1つを含む、付記項6に記載のコンピュータ実装方法。
8.コンテンツソースからのデータに少なくとも一部基づくプレビューコンテンツを、コンテンツプレビューシステムによって識別することをさらに含む、付記項6に記載のコンピュータ実装方法。
9.コンテンツページの実質的に現在のバージョンが、要求しているユーザー装置に提供されるプレビューコンテンツを参照する、付記項8に記載のコンピュータ実装方法。
10.参照されるプレビューコンテンツが:コンテンツソースによってホストされるプレビュー画像、またはコンテンツソースによってホストされる介在ページの1つを含む、付記項9に記載のコンピュータ実装方法。
11.コンテンツページと関連付けられた複数のプレビューコンテンツ項目からプレビューコンテンツを、コンテンツプレビューシステムによって選択することをさらに含み、選択することが、ユーザー装置の特性に少なくとも一部基づく、付記項6に記載のコンピュータ実装方法。
12.コンテンツページをコンテンツソースからプリフェッチすること;ならびにコンテンツページの少なくとも一部の画像を含む、第1のプレビューコンテンツ項目を生成および格納すること、をさらに含む、付記項6に記載のコンピュータ実装方法。
13.ユーザー装置と関連付けられた特性に少なくとも一部基づき画像を生成することをさらに含む、付記項12に記載のコンピュータ実装方法。
14.第1のプレビューコンテンツ項目が、コンテンツページの対話式コントロールに対応する一時的な対話式コントロールに関するデータをさらに含む、付記項12に記載のコンピュータ実装方法。
15.第1のプレビューコンテンツ項目が、コンテンツページの配置に少なくとも一部基づくプレビュー配置データをさらに含む、付記項12に記載のコンピュータ実装方法。
16.ユーザー装置からの要求に応答して、プレビューコンテンツを生成することをさらに含む、付記項6に記載のコンピュータ実装方法。
17.プレビューコンテンツが、コンテンツプレビューシステムによってレンダリングされているコンテンツページのバージョンの動的表示を含む、付記項6に記載のコンピュータ実装方法。
18.コンテンツページのプレビューコンテンツと実質的に現在のバージョンとの間の差を識別すること;コンテンツページの非プレビューバージョンを生成することであって、非プレビューバージョンの少なくとも一部が差に基づく、コンテンツページの非プレビューバージョンを生成すること、をさらに含む、付記項6に記載のコンピュータ実装方法。
19.コンテンツページに対する第1の要求に応答して中間システムから、一時的な表示のためのプレビューコンテンツを受信すること;プレビューコンテンツを表示させること;要求されたコンテンツページの非プレビューバージョンの少なくとも一部を、第2の要求を送信することなく、受信すること;および非プレビューバージョンを、プレビューコンテンツの代わりに、自動的表示させること、を行うように構成されたコンピュータ実行可能ブラウザモジュールを含む、持続性コンピュータ可読媒体。
20.プレビューコンテンツが要求コンテンツページの画像を含む、付記項19に記載の持続性コンピュータ可読媒体。
21.プレビューコンテンツが複数の画像を含み、複数の画像の各画像が、要求されたコンテンツページの別個の部分に対応する、付記項19に記載の持続性コンピュータ可読媒体。
22.ブラウザモジュールが、非プレビューバージョンを隠された表示ペインにレンダリングするようにさらに構成されている、付記項19に記載の持続性コンピュータ可読媒体。
23.非プレビューバージョンを自動的表示させることが、プレビューコンテンツを表示している表示ペインを隠された表示ペインと置き換えることを含む、付記項19に記載の持続性コンピュータ可読媒体。
24.非プレビューバージョンをレンダリングすることが、1つ以上のユーザーインタラクションを非プレビュー項目に適用することを含む、付記項19に記載の持続性コンピュータ可読媒体。
25.プレビューコンテンツが一時的な対話式コントロールに関するデータを含む、付記項19に記載の持続性コンピュータ可読媒体。
26.非プレビューバージョンをレンダリングすることが、ユーザー入力データの少なくとも一部を、一時的な対話式コントロールから非プレビューバージョンの対応するコントロールへコピーすることを含む、付記項25に記載の持続性コンピュータ可読媒体。
27.プレビューコンテンツが、要求されたコンテンツページと関連付けられた配置データを含む、付記項19に記載の持続性コンピュータ可読媒体。
28.ブラウザモジュールが、1つ以上のユーザーインタラクションを、配置データに少なくとも一部基づき処理するようにさらに構成されている、付記項27に記載の持続性コンピュータ可読媒体。
実施形態に応じて、本明細書で説明するプロセスまたはアルゴリズムのいずれのある動作、イベント、または関数も、異なる順序で実行でき、追加、統合、または完全に除外することができる(例えば、説明した動作またはイベントの全てが必ずしもアルゴリズムの実施には必要ない)。その上、ある実施形態では、動作またはイベントは、連続してではなく、例えば、マルチスレッド処理、割込み処理、またはマルチプロセッサもしくはプロセッサコアを通して、または他の並列アーキテクチャ上で、同時に実行できる。
本明細書で開示する実施形態に関連して説明した、様々な例示的な論理ブロック、モジュール、ルーチンおよびアルゴリズムのステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できる。ハードウェアおよびソフトウェアのこの互換性を明瞭に示すために、様々な例示的な構成要素、ブロック、モジュールおよびステップが、概ね、それらの機能性の観点から上で説明されている。かかる機能がハードウェアまたはソフトウェアとして実装されるかどうかは、特定の用途およびシステム全体に課される設計制約によって決まる。説明する機能は、各特定の用途に対して様々な方法で実装できるが、かかる実装判断は、本開示の範囲からの逸脱を引き起こすとして解釈されるべきではない。
本明細書で開示する実施形態に関連して説明した方法、プロセス、ルーチン、またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または2つの組合せで具現化できる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取外し可能ディスク、CD−ROM、または任意の他の形式の持続性コンピュータ可読記憶媒体に常駐できる。例示的な記憶媒体は、プロセッサが、記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合できる。代替では、記憶媒体は、プロセッサと統合できる。プロセッサおよび記憶媒体は、ASIC内に常駐できる。ASICはユーザー端末内に常駐できる。代替では、プロセッサおよび記憶媒体は、ユーザー端末内の別個の構成要素として常駐できる。
本明細書では、とりわけ「できる(can)」、「でき得る(could)」、「かもしれない(might)」、「し得る(may)」、「例えば(e.g.)」および同様のものなどの条件語句は、別段の指示がないか、または使用されるコンテキスト内で別なふうに理解されない限り、一般に、ある実施形態は、他の実施形態が含まない一方で、ある特徴、要素および/またはステップを含むことを伝えることを意図する。従って、かかる条件語句は、一般に、特徴、要素および/またはステップが、1つ以上の実施形態に対して多少なりとも必要であることも、1つ以上の実施形態が、著者入力もしくはプロンプティングの有無にかかわらず、これらの特徴、要素および/もしくはステップが含まれているか、または任意の特定の実施形態で実行されるかどうかを判断するための論理を必ず含むことも意味することを意図しない。用語「含む(comprising)」、「含む(including)」、「有する(having)」、および同様のものは、同義語であり、制約のない方法で、包括的に使用され、追加の要素、特徴、動作、操作などを除外しない。また、用語「または(or)」は、例えば、要素のリストを接続するために、使用される場合に、用語「または」が、そのリスト内の1つ、一部、または全部の要素を意味するように、その包括的意味で(その排他的な意味ではなく)使用される。
句「X、YおよびZの少なくとも1つ」などの接続語句は、特に指定のない限り、一般に、項目、用語などがX、YもしくはZ、またはそれらの組合せのいずれかであり得ることを伝えるために使用されるようなコンテキストで理解されるべきである。従って、かかる接続語句は、一般に、ある実施形態は、Xの少なくとも1つ、Yの少なくとも1つおよびZの少なくとも1つがそれぞれ存在することを必要とすることを意味することを意図しない。
前述の詳細な説明は、新しい特徴が様々な実施形態に適用されるとして示し、説明し指摘しているが、例示した装置またはアルゴリズムの形式および詳細における、様々な省略、置換および変更が、本開示の精神から逸脱することなく、行われ得ることが理解できる。認識され得るように、いくつかの特徴は他とは別々に使用できるか、または実施できるので、本明細書で説明する本発明のある実施形態は、本明細書で明記する特徴および利益の全ては提供しない形で具現化できる。本明細書で開示するある発明の範囲は、前述の説明によってではなく、添付の請求項によって示される。請求項の均等の意味および範囲内に入る全ての変更は、それらの範囲内に包含される。

Claims (15)

  1. ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、前記コンピュータシステムが、1つ以上のコンピューティング装置を含み、かつ、少なくとも、
    前記ユーザー装置からコンテンツページに対する要求を受信する前に、前記コンテンツサイトから前記コンテンツページを取得することと、
    前記コンテンツページのプレビューを生成することであって、前記コンテンツページのプレビューが、
    前記コンテンツページの少なくとも一部の画像と、
    前記画像に対する要求を送信する第1の命令および前記コンテンツページに対するフォローアップ要求を送信する第2の命令を含むマークアップコードと
    を含む、前記コンテンツページのプレビューを生成することと、
    前記ユーザー装置から前記コンテンツページに対する要求を受信することと、
    前記要を受信することに応答して、
    前記要求がフォローアップ要求でないと判断すると、前記マークアップコードを前記ユーザー装置に送信することと、
    前記要求がフォローアップ要求であると判断すると、前記コンテンツページの非プレビューバージョンを前記ユーザー装置に送信することと
    を行うようにプログラミングされている、コンピュータシステム。
  2. 前記コンテンツページのプレビューを、前記ユーザー装置のディスプレイ特性に少なくとも一部基づき生成するようにさらにプログラミングされている、請求項1に記載のシステム。
  3. 前記マークアップコードが画像マップを含み、かつ前記画像マップが前記画像のクリック可能領域を定義し、前記クリック可能領域が前記コンテンツページ上のリンクに対応する、請求項1に記載のシステム。
  4. 前記フォローアップ要求が、前記コンテンツページに対するURLを含み、前記URLが、前記URLがフォローアップ要求と関連付けられていることを示すクエリー文字列を含む、請求項1に記載のシステム。
  5. ユーザー装置とコンテンツサイトとの間で仲介をするコンピュータシステムであって、前記コンピュータシステムが、1つ以上のコンピューティング装置を含み、かつ、
    前記ユーザー装置から前記コンテンツサイトのページに対する要求を受信する前に、前記ページを取得することと、
    記ページのプレビューを生成して、前記プレビューを前記コンピュータシステムのキャッシュ内に格納することと、
    前記プレビューを生成した後に、前記ユーザー装置から前記ページに対する要求を受信することと
    前記要求に、少なくとも、
    前記ページの非プレビュー表現が前記ユーザー装置上でロードされている間に、前記ユーザーがページコンテンツを提示されるように、前記ページの前記プレビューを、前記ユーザー装置上に一時的に表示するために前記ユーザー装置に配信することと、
    前記ページの前記非プレビュー表現を配信することであって、前記非プレビュー表現が、前記ページに対する前記要求に応答して、前記コンピュータシステムによって取得されたページコンテンツに基づく、前記ページの前記非プレビュー表現を配信することと
    によって、応答することと
    を含む、プロセスを実行するようにプログラミングされている、
    コンピュータシステム。
  6. 前記ページを前記コンテンツサイトから取得することと、スケジュールに従って前記ページの前記プレビューを生成することと
    を含むプロセスを実行するようにさらにプログラミングされている、請求項5に記載のコンピュータシステム。
  7. 対象とするユーザー装置の特性に少なくとも一部基づき、前記ページの前記プレビューを生成すること
    を含む、プロセスを実行するようにさらにプログラミングされている、請求項5に記載のコンピュータシステム。
  8. 前記特性が、ディスプレイサイズまたはディスプレイ解像度の1つを含む、請求項7に記載のコンピュータシステム。
  9. 第2のユーザー装置からの要求に応答して取得したコンテンツに少なくとも一部基づき、前記ページの前記プレビューを生成すること
    を含む、プロセスを実行するようにさらにプログラミングされている、請求項5に記載のコンピュータシステム。
  10. 前記プレビューおよび前記非プレビュー表現を前記ユーザー装置に並行して配信すること
    を含む、プロセスを実行するようにさらにプログラミングされている、請求項5に記載のコンピュータシステム。
  11. 特定の命令を実行するように構成された1つ以上のプロセッサを備えたユーザー装置によって実施される、コンテンツページを要求するためのコンピュータ実装方法であって、前記コンピュータ実装方法が、
    前記ユーザー装置とコンテンツサイトとの間で仲介をするように構成された中間システムに、コンテンツページに対する要求を送信することと、
    前記要求に応答して前記中間システムから、前記要求されたコンテンツページのプレビューを受信することであって、前記プレビューが、前記要求されたコンテンツページの少なくとも一部の画像を含み、前記プレビューは前記要求を送信する前に生成されている、前記要求されたコンテンツページのプレビューを受信することと、
    前記プレビューを表示させることと、
    前記プレビューを表示させることに続いて、前記要求されたコンテンツページを、前記中間システムから受信することと、
    前記要求されたコンテンツページを前記プレビューの代わりに自動的に表示させることと
    を含む、コンテンツページを要求するためのコンピュータ実装方法。
  12. 前記プレビューが複数の画像を含み、前記複数の画像の各画像が、前記要求されたコンテンツページの別個の部分に対応する、請求項11に記載のコンピュータ実装方法。
  13. 前記プレビューが、コンテナ要素に対するソースとして前記要求されたコンテンツページを参照するマークアップコードを含む、請求項11に記載のコンピュータ実装方法。
  14. 前記要求されたコンテンツページを隠されたコンテンツペインにレンダリングすることをさらに含む、請求項11に記載のコンピュータ実装方法。
  15. 前記要求されたコンテンツページを表示させることが、前記隠されたコンテンツペインを表示させることを含む、請求項14に記載のコンピュータ実装方法。
JP2015542730A 2012-11-14 2013-11-12 ページ取得イベント中のページプレビューの配信および表示 Active JP6351611B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261726510P 2012-11-14 2012-11-14
US61/726,510 2012-11-14
US13/841,148 US10095663B2 (en) 2012-11-14 2013-03-15 Delivery and display of page previews during page retrieval events
US13/841,148 2013-03-15
US13/901,359 US10031891B2 (en) 2012-11-14 2013-05-23 Delivery and display of page previews during page retrieval events
US13/901,359 2013-05-23
US13/901,446 US20140136973A1 (en) 2012-11-14 2013-05-23 Segmented delivery of preview content
US13/901,446 2013-05-23
US13/901,343 US20140136951A1 (en) 2012-11-14 2013-05-23 Selective updating of preview content
US13/901,343 2013-05-23
PCT/US2013/069733 WO2014078326A2 (en) 2012-11-14 2013-11-12 Delivery and display of page previews during page retrieval events

Publications (2)

Publication Number Publication Date
JP2016502718A JP2016502718A (ja) 2016-01-28
JP6351611B2 true JP6351611B2 (ja) 2018-07-04

Family

ID=50682954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015542730A Active JP6351611B2 (ja) 2012-11-14 2013-11-12 ページ取得イベント中のページプレビューの配信および表示

Country Status (6)

Country Link
US (4) US10095663B2 (ja)
EP (1) EP2920713A2 (ja)
JP (1) JP6351611B2 (ja)
CN (1) CN104981800A (ja)
CA (1) CA2891472C (ja)
WO (1) WO2014078326A2 (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886226B1 (en) * 2006-10-03 2011-02-08 Adobe Systems Incorporated Content based Ad display control
US8661337B2 (en) * 2011-06-05 2014-02-25 Apple Inc. Techniques for use of snapshots with browsing transitions
US10095663B2 (en) 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US9792383B2 (en) 2012-12-12 2017-10-17 Google Inc. Unload and display content placeholders with versions
CN103353886B (zh) * 2013-06-28 2017-11-07 优视科技有限公司 预览网页的方法及系统
US20150088970A1 (en) * 2013-09-20 2015-03-26 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US20150100868A1 (en) * 2013-10-08 2015-04-09 Gary Michael Moore System and method for simulating dynamic content by automatically updating a static image with applicability to a virtual business card
US9230038B2 (en) * 2013-11-04 2016-01-05 Verizon Patent And Licensing Inc. Content fetching and caching on a mobile device
US20150128017A1 (en) * 2013-11-06 2015-05-07 International Business Machines Corporation Enabling interactive screenshots within collaborative applications
US10013497B1 (en) * 2013-12-20 2018-07-03 Google Llc Background reloading of currently displayed content
US9990440B2 (en) * 2013-12-30 2018-06-05 Oath Inc. Smart content pre-loading on client devices
US9224213B2 (en) * 2013-12-31 2015-12-29 Facebook, Inc. Systems and methods for context based image compression
US9461936B2 (en) 2014-02-14 2016-10-04 Google Inc. Methods and systems for providing an actionable object within a third-party content slot of an information resource of a content publisher
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US9563928B1 (en) 2014-05-22 2017-02-07 Amazon Technlogies, Inc. Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9563929B1 (en) 2014-05-22 2017-02-07 Amazon Technologies, Inc. Caching of content page layers
US10042521B1 (en) 2014-05-22 2018-08-07 Amazon Technologies, Inc. Emulation of control resources for use with converted content pages
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US9922007B1 (en) 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
US10115141B1 (en) 2014-09-24 2018-10-30 Amazon Technologies, Inc. Secure proxy service
US9785332B1 (en) 2014-12-05 2017-10-10 Amazon Technologies, Inc. Conserving processing resources by controlling updates to damaged tiles of a content page
US9792266B1 (en) 2014-12-08 2017-10-17 Amazon Technologies, Inc. Content synchronization across devices
US10546038B2 (en) * 2014-12-08 2020-01-28 Amazon Technologies, Inc. Intelligent browser-based display tiling
US9690764B1 (en) * 2014-12-12 2017-06-27 Amazon Technologies, Inc. Delivery and display of page previews using shadow DOM
US10706119B1 (en) * 2015-04-30 2020-07-07 Tensera Networks Ltd. Content prefetching to user devices based on rendering characteristics
US10033656B2 (en) * 2015-05-21 2018-07-24 Sap Portals Israel Ltd Critical rendering path optimization
CN106339398B (zh) * 2015-07-09 2019-10-18 广州市动景计算机科技有限公司 一种网页页面的预读取方法、装置及智能终端设备
USD791154S1 (en) * 2015-09-01 2017-07-04 Grand Rounds, Inc. Display screen with graphical user interface
US20170097922A1 (en) * 2015-10-01 2017-04-06 Sap Se Optimizing software application user interface performance using interactive images
US11157493B2 (en) * 2015-12-30 2021-10-26 Facebook, Inc. Optimistic data fetching and rendering
JP6258992B2 (ja) * 2016-02-26 2018-01-10 ヤフー株式会社 情報提供システム、情報提供方法および情報処理装置
CN115129443A (zh) 2016-04-12 2022-09-30 谷歌有限责任公司 使用多个线程减少下载电子资源的延迟
CN106484248B (zh) * 2016-09-19 2019-12-31 北京京东尚科信息技术有限公司 电子书的阅读处理方法和装置
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US10809956B1 (en) * 2016-11-17 2020-10-20 Pinterest, Inc. Supplemental content items
US20180143998A1 (en) * 2016-11-21 2018-05-24 Google Inc. Electronic map interfaces
CN108090078B (zh) * 2016-11-22 2021-11-30 北京京东尚科信息技术有限公司 文档在线预览方法及装置、存储介质、电子设备
WO2018111246A1 (en) * 2016-12-13 2018-06-21 Google Llc Systems and methods for prefetching content items
US20180365023A1 (en) * 2017-06-15 2018-12-20 Macpaw Inc. Teaser of an application available for installation
US11283895B2 (en) * 2017-06-19 2022-03-22 Tensera Networks Ltd. Silent updating of content in user devices
US10223447B2 (en) 2017-08-02 2019-03-05 Spotify Ab Playlist trailer
US11316865B2 (en) 2017-08-10 2022-04-26 Nuance Communications, Inc. Ambient cooperative intelligence system and method
US10546655B2 (en) 2017-08-10 2020-01-28 Nuance Communications, Inc. Automated clinical documentation system and method
EP3454207B1 (en) * 2017-09-07 2022-07-06 Siemens Aktiengesellschaft Dynamic preview generation in a product lifecycle management environment
US10664538B1 (en) 2017-09-26 2020-05-26 Amazon Technologies, Inc. Data security and data access auditing for network accessible content
US10726095B1 (en) 2017-09-26 2020-07-28 Amazon Technologies, Inc. Network content layout using an intermediary system
EP3762921A4 (en) 2018-03-05 2022-05-04 Nuance Communications, Inc. AUTOMATED CLINICAL DOCUMENTATION SYSTEM AND PROCESS
US11250382B2 (en) 2018-03-05 2022-02-15 Nuance Communications, Inc. Automated clinical documentation system and method
CN108563712B (zh) * 2018-03-28 2021-08-31 腾讯科技(深圳)有限公司 网页图片查看方法、装置及存储设备
US10666528B1 (en) 2018-11-28 2020-05-26 Sap Portals Israel Ltd. Decoupling platform as a service providers using a service management platform
US10754909B2 (en) * 2018-12-31 2020-08-25 Ebay Inc. Dynamic link preview generation
US11886888B2 (en) * 2019-03-28 2024-01-30 Lenovo (Singapore) Pte. Ltd. Reduced application view during loading
US11475071B2 (en) * 2019-03-29 2022-10-18 Salesforce, Inc. Configuring dynamic content previews
CN110109593B (zh) * 2019-04-29 2021-04-02 维沃移动通信有限公司 一种截屏方法及终端设备
US20200387556A1 (en) * 2019-06-04 2020-12-10 Microsoft Technology Licensing, Llc Providing previews for uniform resource locators
EP3764225B1 (en) * 2019-06-28 2023-11-08 Atlassian Pty Ltd Systems and methods for generating digital content item previews
US11106748B2 (en) 2019-06-28 2021-08-31 Atlassian Pty Ltd. Systems and methods for generating digital content item previews
US11176313B1 (en) * 2019-09-16 2021-11-16 Martha Laura Bitar System and method for creating emails containing complex graphics and custom or non-standard web fonts that ensures they will render consistently across virtually all operating systems, devices, and email clients
KR102120729B1 (ko) * 2019-10-24 2020-06-17 주식회사 휴플 전자 지도를 포함하는 웹페이지를 생성하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN110889061A (zh) * 2019-11-12 2020-03-17 望海康信(北京)科技股份公司 一种网页页面加载方法和装置
CN111506387B (zh) 2020-03-02 2023-09-22 百度在线网络技术(北京)有限公司 页面预渲染方法、装置、电子设备及存储介质
US11543945B1 (en) * 2020-03-30 2023-01-03 Amazon Technologies, Inc. Accurate local depiction of preview of a program window included in a remote graphical desktop
CN111666585B (zh) * 2020-04-16 2023-08-18 北京百度网讯科技有限公司 子应用访问的方法、装置、电子设备以及可读存储介质
KR102220401B1 (ko) * 2020-06-02 2021-02-25 주식회사 휴플 장소 정보의 레이아웃을 결정하는 메시지 및 그를 처리하는 전자 장치
KR102220383B1 (ko) * 2020-06-02 2021-02-25 주식회사 휴플 장소 정보의 적어도 일부를 통합한 합성 정보를 제공하기 위한 전자 장치 및 시스템
WO2022204200A2 (en) * 2021-03-23 2022-09-29 Nuance Communications, Inc. Automated clinical documentation system and method
WO2022204205A2 (en) * 2021-03-23 2022-09-29 Nuance Communications, Inc. Automated clinical documentation system and method
WO2022204186A2 (en) * 2021-03-23 2022-09-29 Nuance Communications, Inc. Automated clinical documentation system and method
WO2022204203A2 (en) * 2021-03-23 2022-09-29 Nuance Communications, Inc. Automated clinical documentation system and method
WO2022199806A1 (en) * 2021-03-24 2022-09-29 Huawei Technologies Co., Ltd. Accelerating loading of web pages and web applications
KR102536567B1 (ko) * 2021-12-29 2023-05-26 주식회사 엠몬스타 그리드 규칙이 적용된 블록단위의 컨텐츠를 조립하여 적응형 웹페이지를 제작하는 웹페이지 제작 지원 방법 및 시스템
US20230385363A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation based on web site type
US11960817B2 (en) 2022-05-24 2024-04-16 Microsoft Technology Licensing, Llc Web site preview based on client presentation state
US11983483B2 (en) * 2022-05-24 2024-05-14 Microsoft Technology Licensing, Llc Web site preview generation with action control
US11960561B2 (en) * 2022-07-28 2024-04-16 Siteimprove A/S Client-side generation of lossless object model representations of dynamic webpages

Family Cites Families (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500933A (en) 1993-04-28 1996-03-19 Canon Information Systems, Inc. Display system which displays motion video objects combined with other visual objects
JP3386964B2 (ja) 1995-11-20 2003-03-17 シャープ株式会社 ゲートウェイ装置
GB2317470A (en) 1996-09-24 1998-03-25 Ibm Screen remote control
US5978842A (en) 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6182127B1 (en) 1997-02-12 2001-01-30 Digital Paper, Llc Network image view server using efficent client-server tilting and caching architecture
US6230168B1 (en) 1997-11-26 2001-05-08 International Business Machines Corp. Method for automatically constructing contexts in a hypertext collection
US6226750B1 (en) 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
US5930472A (en) 1998-04-29 1999-07-27 Motorola, Inc. Method and apparatus in a wireless communication system for splitting a browser functionality between a wireless client and an infrastructure portion
US6061715A (en) 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6271840B1 (en) 1998-09-24 2001-08-07 James Lee Finseth Graphical search engine visual index
US6356908B1 (en) 1999-07-30 2002-03-12 International Business Machines Corporation Automatic web page thumbnail generation
US6981225B1 (en) 2000-01-31 2005-12-27 Intel Corporation Indicating the differences between Internet web pages
US7356570B1 (en) 2000-08-29 2008-04-08 Raja Tuli Portable high speed communication device
US6683633B2 (en) 2000-03-20 2004-01-27 Incontext Enterprises, Inc. Method and system for accessing information
US9436667B2 (en) 2000-05-19 2016-09-06 Renderx, Inc. Techniques for rendering media as layers
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US7600183B2 (en) 2000-06-16 2009-10-06 Olive Software Inc. System and method for data publication through web pages
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6657647B1 (en) 2000-09-25 2003-12-02 Xoucin, Inc. Controlling the order in which content is displayed in a browser
US7191211B2 (en) 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
TW545052B (en) 2000-10-26 2003-08-01 Gen Instrument Corp ECM and EMM distribution for multimedia multicast content
US7051084B1 (en) * 2000-11-02 2006-05-23 Citrix Systems, Inc. Methods and apparatus for regenerating and transmitting a partial page
US20020078134A1 (en) 2000-12-18 2002-06-20 Stone Alan E. Push-based web site content indexing
US20030014478A1 (en) 2001-06-29 2003-01-16 Noble Alan C. Dynamically distributed client-server web browser
US6801219B2 (en) 2001-08-01 2004-10-05 Stmicroelectronics, Inc. Method and apparatus using a two-dimensional circular data buffer for scrollable image display
US20030046365A1 (en) 2001-09-04 2003-03-06 Schlumberger Technology Corporation System and method for caching content
US6873329B2 (en) 2002-07-05 2005-03-29 Spatial Data Technologies, Inc. System and method for caching and rendering images
US20040095400A1 (en) 2002-11-19 2004-05-20 Anderson Andrew T. Reconfiguration of content for display on devices of different types
US7296230B2 (en) 2002-11-29 2007-11-13 Nippon Telegraph And Telephone Corporation Linked contents browsing support device, linked contents continuous browsing support device, and method and program therefor, and recording medium therewith
CA2513503A1 (en) 2003-01-17 2004-08-12 Tacit Networks, Inc. Method and system for use of storage caching with a distributed file system
US7310769B1 (en) 2003-03-12 2007-12-18 Adobe Systems Incorporated Text encoding using dummy font
US8103742B1 (en) * 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
CA2554876A1 (en) 2004-02-06 2005-08-18 Apparent Networks, Inc. Method and apparatus for characterizing an end-to-end path of a packet-based network
JP2005327154A (ja) 2004-05-17 2005-11-24 Fujitsu Ltd Htmlファイル処理方法及びプログラム
EP1774780A1 (en) 2004-07-20 2007-04-18 QUALCOMM Incorporated Method and apparatus for motion vector processing
US20060064467A1 (en) 2004-09-17 2006-03-23 Libby Michael L System and method for partial web page caching and cache versioning
US7890092B2 (en) 2004-12-24 2011-02-15 Telecom Italia S.P.A. Method of optimising web page access in wireless networks
US7499051B1 (en) 2005-04-29 2009-03-03 Adobe Systems Incorporated GPU assisted 3D compositing
US20060277478A1 (en) 2005-06-02 2006-12-07 Microsoft Corporation Temporary title and menu bar
US7975019B1 (en) 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
US20070150820A1 (en) 2005-12-22 2007-06-28 Salvo Anthony C Data-driven user interface
US9740794B2 (en) * 2005-12-23 2017-08-22 Yahoo Holdings, Inc. Methods and systems for enhancing internet experiences
JP4848771B2 (ja) 2006-01-04 2011-12-28 株式会社日立製作所 キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
US8918450B2 (en) 2006-02-14 2014-12-23 Casio Computer Co., Ltd Server apparatuses, server control programs, and client apparatuses for a computer system in which created drawing data is transmitted to the client apparatuses
WO2007114456A1 (en) 2006-03-29 2007-10-11 Casio Computer Co., Ltd. Server apparatus of computer system
AU2006201851A1 (en) 2006-05-03 2007-11-22 Canon Kabushiki Kaisha Compressing page descriptions while preserving high quality
US9019300B2 (en) 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US8711372B2 (en) 2006-08-31 2014-04-29 Ricoh Co., Ltd. Techniques for image segment accumulation in document rendering
JP2008077353A (ja) 2006-09-20 2008-04-03 Hatena:Kk キーワード分類方法、サーバコンピュータ、及びプログラム
US7523223B2 (en) 2006-11-16 2009-04-21 Sap Ag Web control simulators for mobile devices
US8234392B2 (en) 2006-11-17 2012-07-31 Apple Inc. Methods and apparatuses for providing a hardware accelerated web engine
US20080184128A1 (en) 2007-01-25 2008-07-31 Swenson Erik R Mobile device user interface for remote interaction
US20080222273A1 (en) 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US20080295164A1 (en) 2007-05-24 2008-11-27 International Business Machines Corporation Mashup component isolation via server-side analysis and instrumentation
US8531469B2 (en) 2007-06-28 2013-09-10 Apple Inc. Media synchronization via image queue
US7953882B2 (en) 2007-07-26 2011-05-31 Realnetworks, Inc. Adaptive variable fidelity media distribution system and method
US8228540B2 (en) 2007-07-31 2012-07-24 Esko Ip Nv Rasterizing variable and non-variable data for printing
US20090089448A1 (en) 2007-09-28 2009-04-02 David Sze Mobile browser with zoom operations using progressive image download
US8610725B2 (en) 2007-10-10 2013-12-17 Apple Inc. Framework for dynamic configuration of hardware resources
US9104775B2 (en) 2007-10-16 2015-08-11 Yahoo! Inc. Method for presenting a web page
US20090125799A1 (en) 2007-11-14 2009-05-14 Kirby Nathaniel B User interface image partitioning
US8060818B2 (en) 2007-12-14 2011-11-15 Sap Ag Method and apparatus for form adaptation
US20090158141A1 (en) 2007-12-18 2009-06-18 Frederic Bauchot Method and system to secure the display of a particular element of a markup file
US20090177996A1 (en) 2008-01-09 2009-07-09 Hunt Dorian J Method and system for rendering and delivering network content
CN101918921B (zh) 2008-01-27 2013-12-04 思杰系统有限公司 用于远程提供三维图形的方法和系统
US8365144B1 (en) 2008-02-28 2013-01-29 The Mathworks, Inc. Proxy graphical user interface generation
US9418171B2 (en) 2008-03-04 2016-08-16 Apple Inc. Acceleration of rendering of web-based content
US20110302514A1 (en) 2008-03-11 2011-12-08 Creative Information Technology Method for designing a graphical interface program
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US9507651B2 (en) 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
US9071651B2 (en) 2008-06-05 2015-06-30 Microsoft Technology Licensing, Llc Dynamic content delivery to network-enabled static display device
US8156418B2 (en) 2008-06-05 2012-04-10 Microsoft Corporation Image acquisition from dynamic content for delivery to network-enabled static display devices
US8200896B2 (en) 2008-06-06 2012-06-12 Microsoft Corporation Increasing remote desktop performance with video caching
US8078974B2 (en) 2008-06-27 2011-12-13 Microsoft Corporation Relating web page change with revisitation patterns
US20100027663A1 (en) 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
US8793384B2 (en) 2008-08-22 2014-07-29 Microsoft Corporation Recovery of disconnected channels over a reliable protocol
US7917618B1 (en) 2009-03-24 2011-03-29 Amazon Technologies, Inc. Monitoring web site content
US9171097B2 (en) 2009-03-31 2015-10-27 Qualcomm Incorporated Memoizing web-browsing computation with DOM-based isomorphism
US8869239B2 (en) 2009-04-15 2014-10-21 Wyse Technology L.L.C. Method and system for rendering composite view of an application
WO2010124397A1 (en) 2009-04-29 2010-11-04 Torch Mobile Inc. Software-based asynchronous tiled backingstore
JP5575511B2 (ja) 2009-07-16 2014-08-20 富士フイルム株式会社 ウェブサイト閲覧システム、サーバ及びクライアント端末
US20110029904A1 (en) 2009-07-30 2011-02-03 Adam Miles Smith Behavior and Appearance of Touch-Optimized User Interface Elements for Controlling Computer Function
AU2010283969A1 (en) 2009-08-20 2012-04-12 Network Holdings Australia Pty. Ltd. Method and apparatus for internet browsing
GB0916924D0 (en) 2009-09-25 2009-11-11 Advanced Risc Mach Ltd Graphics processing systems
JP2011070481A (ja) 2009-09-28 2011-04-07 Fujifilm Corp ウェブ・ブラウザ送信サーバおよびその動作制御方法
EP2302509B1 (en) 2009-09-29 2012-09-26 Citrix Systems, Inc. Synchronization of server-side cookies with client-side cookies
US8311900B1 (en) 2009-10-29 2012-11-13 Amazon Technologies, Inc. Providing separate views for items
JP2011123697A (ja) 2009-12-11 2011-06-23 Fujifilm Corp ウェブ・ページ変換システム
US8392832B2 (en) 2010-02-05 2013-03-05 Research In Motion Limited Display placeholders for rich media content
JP2011186913A (ja) 2010-03-10 2011-09-22 Fujifilm Corp ウェブサイト閲覧システム及びサーバ
US8751633B2 (en) 2010-04-01 2014-06-10 Cloudflare, Inc. Recording internet visitor threat information through an internet-based proxy service
JP2011243146A (ja) 2010-05-21 2011-12-01 Fujifilm Corp 中継サーバ及びそのプログラム、webサイト閲覧システム、webサイト閲覧方法、並びにアプリケーションプログラム
GB2481612A (en) 2010-06-30 2012-01-04 Skype Ltd Updating image regions in a shared image system
JP2012032943A (ja) 2010-07-29 2012-02-16 Fujifilm Corp ウェブサイト閲覧システム、サーバ、サーバ用プログラム及びウェブサイト閲覧支援方法
US20120054166A1 (en) 2010-08-31 2012-03-01 Leo Jeremias System for displaying search engine results with images
US9400585B2 (en) 2010-10-05 2016-07-26 Citrix Systems, Inc. Display management for native user experiences
CA2718180A1 (en) 2010-10-25 2011-01-04 Ibm Canada Limited - Ibm Canada Limitee Interactive element management in a web page
US8799357B2 (en) 2010-11-08 2014-08-05 Sony Corporation Methods and systems for use in providing a remote user interface
CA2818406C (en) 2010-11-18 2017-07-18 Google Inc. Multi-mode web browsing
US8799759B2 (en) 2010-12-13 2014-08-05 International Business Machines Corporation Pre-rendering web content
US9026905B2 (en) 2010-12-17 2015-05-05 Facebook, Inc. Customization of mobile applications using web-based technology
US8988468B2 (en) 2011-01-21 2015-03-24 Wishabi Inc. Interactive flyer system
US8812630B2 (en) 2011-01-24 2014-08-19 Salesforce.Com, Inc. Session table framework
US9009218B2 (en) 2011-02-23 2015-04-14 Broadcom Corporation Cloud server/thin client/gateway selective browser instantiation
US9075893B1 (en) 2011-02-25 2015-07-07 Amazon Technologies, Inc. Providing files with cacheable portions
US8913067B1 (en) 2011-03-01 2014-12-16 Google Inc. GPU accelerated compositing on a multithreaded browser
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US8732571B2 (en) * 2011-03-31 2014-05-20 Google Inc. Methods and systems for generating and displaying a preview image of a content area
US8941675B2 (en) 2011-04-05 2015-01-27 Blackberry Limited Backing store memory management for rendering scrollable webpage subregions
US8539338B2 (en) 2011-04-11 2013-09-17 Microsoft Corporation Cooperative rendering cache for mobile browser
US8700699B2 (en) 2011-04-15 2014-04-15 Microsoft Corporation Using a proxy server for a mobile browser
US8913068B1 (en) 2011-07-12 2014-12-16 Google Inc. Displaying video on a browser
US8384726B1 (en) 2011-08-31 2013-02-26 Google Inc. Selective rendering of off-screen content
WO2013038053A1 (en) 2011-09-14 2013-03-21 Nokia Corporation Method and apparatus for distributed script processing
US8732579B2 (en) 2011-09-23 2014-05-20 Klip, Inc. Rapid preview of remote video content
US8331566B1 (en) 2011-11-16 2012-12-11 Google Inc. Media transmission and management
US8612851B2 (en) 2011-12-06 2013-12-17 Google Inc. Edition grid layout
US9384298B2 (en) 2011-12-14 2016-07-05 Microsoft Technology Licensing, Llc Previewing web pages associated with search results
US8769052B1 (en) 2011-12-30 2014-07-01 hopTo Inc. Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications
US8959431B2 (en) 2012-01-16 2015-02-17 Microsoft Corporation Low resolution placeholder content for document navigation
WO2013169827A1 (en) 2012-05-07 2013-11-14 Armor5, Inc. Enhanced document and event mirroring for accessing content
US9489355B2 (en) 2012-07-05 2016-11-08 Chegg, Inc. Characterization of layered documents in HTML5 publishing
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US9721036B2 (en) 2012-08-14 2017-08-01 Microsoft Technology Licensing, Llc Cooperative web browsing using multiple devices
US8943197B1 (en) 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US9448977B2 (en) 2012-08-24 2016-09-20 Qualcomm Innovation Center, Inc. Website blueprint generation and display algorithms to reduce perceived web-page loading time
EP2891068A4 (en) 2012-08-31 2016-01-20 Hewlett Packard Development Co ACTIVE REGIONS OF AN IMAGE COMPRISING ACCESSIBLE LINKS
KR20140055132A (ko) 2012-10-30 2014-05-09 삼성전자주식회사 클라우드 서버를 이용하여 단말 장치에서 웹페이지를 처리하는 방법 및 장치
US10095663B2 (en) 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US9836437B2 (en) 2013-03-15 2017-12-05 Google Llc Screencasting for multi-screen applications
US8887060B2 (en) 2013-03-15 2014-11-11 American Megatrends, Inc. System and method of web-based keyboard, video and mouse (KVM) redirection and application of the same
US20150026566A1 (en) 2013-07-16 2015-01-22 Qualcomm Incorporated Systems and methods to prioritize browser tile generation from lq tile content
CN104516880A (zh) 2013-09-26 2015-04-15 Sap欧洲公司 图形的基于区块的布局
US10621276B2 (en) 2013-10-24 2020-04-14 Wmware, Inc. User interface virtualization for web applications
US20150117515A1 (en) 2013-10-25 2015-04-30 Microsoft Corporation Layered Encoding Using Spatial and Temporal Analysis
US9552342B2 (en) 2014-01-09 2017-01-24 Microsoft Technology Licensing, Llc Generating a collage for rendering on a client computing device
US9544329B2 (en) 2014-03-18 2017-01-10 Shape Security, Inc. Client/server security by an intermediary executing instructions received from a server and rendering client application instructions
US9563929B1 (en) 2014-05-22 2017-02-07 Amazon Technologies, Inc. Caching of content page layers
US9922007B1 (en) 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US9563928B1 (en) 2014-05-22 2017-02-07 Amazon Technlogies, Inc. Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
US10546038B2 (en) 2014-12-08 2020-01-28 Amazon Technologies, Inc. Intelligent browser-based display tiling

Also Published As

Publication number Publication date
CA2891472A1 (en) 2014-05-22
CN104981800A (zh) 2015-10-14
US20140136951A1 (en) 2014-05-15
US10031891B2 (en) 2018-07-24
US20140136971A1 (en) 2014-05-15
WO2014078326A2 (en) 2014-05-22
JP2016502718A (ja) 2016-01-28
US20140136973A1 (en) 2014-05-15
WO2014078326A3 (en) 2014-08-21
US10095663B2 (en) 2018-10-09
EP2920713A2 (en) 2015-09-23
US20140136942A1 (en) 2014-05-15
CA2891472C (en) 2020-09-15

Similar Documents

Publication Publication Date Title
JP6351611B2 (ja) ページ取得イベント中のページプレビューの配信および表示
US20200396186A1 (en) Thumbnail image previews
US11809511B2 (en) Speeding up document loading
US8732571B2 (en) Methods and systems for generating and displaying a preview image of a content area
US8521892B2 (en) Method and apparatus for controlling web page advertisement through incentives and restrictions
US20080222273A1 (en) Adaptive rendering of web pages on mobile devices using imaging technology
US10754900B2 (en) Access to network content
US20090270076A1 (en) Performance optimizer for mobile devices website
US20150161177A1 (en) Search result image processing
AU2008285354A1 (en) Content server latency determination
US11288336B2 (en) Systems and methods for providing content items in situations involving suboptimal network conditions
JP7104091B2 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180226

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: 20180507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250