JP5430743B2 - グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置 - Google Patents

グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置 Download PDF

Info

Publication number
JP5430743B2
JP5430743B2 JP2012508742A JP2012508742A JP5430743B2 JP 5430743 B2 JP5430743 B2 JP 5430743B2 JP 2012508742 A JP2012508742 A JP 2012508742A JP 2012508742 A JP2012508742 A JP 2012508742A JP 5430743 B2 JP5430743 B2 JP 5430743B2
Authority
JP
Japan
Prior art keywords
window
web page
desktop
web browser
browser instance
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.)
Expired - Fee Related
Application number
JP2012508742A
Other languages
English (en)
Other versions
JP2012525652A (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 JP2012525652A publication Critical patent/JP2012525652A/ja
Application granted granted Critical
Publication of JP5430743B2 publication Critical patent/JP5430743B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、一般にコンピュータグラフィカルユーザインタフェースに関し、より詳細には、グラフィカルユーザインタフェース内で分割されたウェブページを提供するための方法および装置に関する。
コンピュータワークステーションおよび携帯電話など、グラフィカルユーザインタフェースを有するネットワーク対応コンピューティングデバイスは、しばしば、インターネットウェブページを閲覧し、インターネットウェブページと対話するためのウェブブラウザをユーザに提供する。ウェブページはしばしば、ウェブサイト開発者によって、すべてのユーザにとって理想的とは限らない場合のある、特定の方法で表示されるように定義される。いくつかのウェブブラウザは、気を散らすような広告の表示を防止するなど、ウェブページのある機能および属性を無効にする能力をユーザに提供する。しかし、現在のウェブブラウザは、ユーザが選択するウェブページの部分のみを表示することはできない。
様々な態様は、コンピューティングデバイス上で動作するコンピュータグラフィカルユーザインタフェース内で、デスクトップ表示上にウェブページ部分を表示するための方法を提供し、この方法は、第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするステップであって、第1のピクセルバッファは、デスクトップ上で閲覧可能なウィンドウの子オブジェクトではないステップと、第1のウェブブラウザインスタンスのレンダリングエンジンに、デスクトップ上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するステップと、第1のウェブページ部分デスクトップウィンドウを作成するステップと、第1のウェブページ部分デスクトップウィンドウのピクセル出力を、第1のブラウザインスタンスの第1のピクセルバッファの部分と同期させるステップとを含む場合がある。一態様の方法は、第1のウェブブラウザインスタンスによって、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、第1のブラウザインスタンスの第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するステップと、第1のウェブブラウザインスタンスによって、第1のブラウザインスタンスの第1のピクセルバッファのコンテンツを、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントに基づいて更新するステップとをさらに含む場合がある。一態様の方法は、デスクトップ表示上のエリアを定義するユーザ入力を受信するステップをさらに含む場合があり、第1のウェブページ部分デスクトップウィンドウを作成するステップは、受信されたユーザ入力によって定義されたデスクトップ表示上のエリア内で、第1のウェブページ部分デスクトップウィンドウを作成するステップを含む。一態様の方法は、第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するステップと、コンピューティングデバイスのディスプレイ上に、作成されたウィンドウオブジェクトを表示するステップとをさらに含む場合がある。一態様では、ウェブページは、ビデオコンテンツエリアを含むHTML文書によって定義されうる。一態様では、この方法は、第1のウェブページ部分デスクトップウィンドウが閉じられるとき、第1のブラウザインスタンスを終了するステップをさらに含む場合がある。一態様では、この方法は、第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するステップと、受信されたユーザ入力に基づいて、デスクトップ内で第1のウェブページ部分デスクトップウィンドウを動かすステップとをさらに含む場合がある。
様々な態様はまた、プロセッサ、メモリ、およびディスプレイを含む場合のあるコンピューティングデバイスをも提供し、プロセッサは、第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするステップであって、第1のピクセルバッファは、デスクトップ上で閲覧可能なウィンドウの子オブジェクトではないステップと、第1のウェブブラウザインスタンスのレンダリングエンジンに、デスクトップ上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するステップと、第1のウェブページ部分デスクトップウィンドウを作成するステップと、第1のウェブページ部分デスクトップウィンドウのピクセル出力を、第1のブラウザインスタンスの第1のピクセルバッファの部分と同期させるステップとを含む動作を行うように構成される。一態様では、コンピューティングデバイスのプロセッサは、第1のウェブブラウザインスタンスによって、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、第1のブラウザインスタンスの第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するステップと、第1のウェブブラウザインスタンスによって、第1のブラウザインスタンスの第1のピクセルバッファのコンテンツを、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントに基づいて更新するステップとを含む、さらなる動作を行うように構成されうる。一態様では、コンピューティングデバイスのプロセッサは、デスクトップ表示上のエリアを定義するユーザ入力を受信するステップを含む、さらなる動作を行うように構成される場合があり、第1のウェブページ部分デスクトップウィンドウを作成するステップは、受信されたユーザ入力によって定義されたデスクトップ表示上のエリア内で、第1のウェブページ部分デスクトップウィンドウを作成するステップを含む。一態様では、コンピューティングデバイスのプロセッサは、第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するステップと、コンピューティングデバイスのディスプレイ上に、作成されたウィンドウオブジェクトを表示するステップとを含む、さらなる動作を行うように構成されうる。一態様では、ウェブページは、ビデオコンテンツエリアを含むHTML文書によって定義されうる。一態様では、コンピューティングデバイスのプロセッサは、第1のウェブページ部分デスクトップウィンドウが閉じられるとき、第1のブラウザインスタンスを終了するステップを含む、さらなる動作を行うように構成されうる。一態様では、コンピューティングデバイスのプロセッサは、第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するステップと、受信されたユーザ入力に基づいて、デスクトップ内で第1のウェブページ部分デスクトップウィンドウを動かすステップとを含む、さらなる動作を行うように構成されうる。
様々な態様は、コンピューティングデバイスを提供し、このコンピューティングデバイスは、第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングする手段であって、第1のピクセルバッファは、デスクトップ上で閲覧可能なウィンドウの子オブジェクトではない手段と、第1のウェブブラウザインスタンスのレンダリングエンジンに、デスクトップ上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供する手段と、第1のウェブページ部分デスクトップウィンドウを作成する手段と、第1のウェブページ部分デスクトップウィンドウのピクセル出力を、第1のブラウザインスタンスの第1のピクセルバッファの部分と同期させる手段とを含む。一態様では、コンピューティングデバイスは、第1のウェブブラウザインスタンスによって、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、第1のブラウザインスタンスの第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理する手段と、第1のウェブブラウザインスタンスによって、第1のブラウザインスタンスの第1のピクセルバッファのコンテンツを、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントに基づいて更新する手段とをさらに含む場合がある。一態様では、コンピューティングデバイスは、デスクトップ表示上のエリアを定義するユーザ入力を受信する手段をさらに含む場合があり、第1のウェブページ部分デスクトップウィンドウを作成する手段は、受信されたユーザ入力によって定義されたデスクトップ表示上のエリア内で、第1のウェブページ部分デスクトップウィンドウを作成する手段を含む。一態様では、コンピューティングデバイスは、第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成する手段と、コンピューティングデバイスのディスプレイ上に、作成されたウィンドウオブジェクトを表示する手段とをさらに含む場合がある。一態様では、ウェブページは、ビデオコンテンツエリアを含むHTML文書によって定義されうる。一態様では、コンピューティングデバイスは、第1のウェブページ部分デスクトップウィンドウが閉じられるとき、第1のブラウザインスタンスを終了する手段をさらに含む場合がある。一態様では、コンピューティングデバイスは、第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信する手段と、受信されたユーザ入力に基づいて、デスクトップ内で第1のウェブページ部分デスクトップウィンドウを動かす手段とをさらに含む場合がある。
様々な態様はまた、コンピューティングデバイス上で動作するコンピュータグラフィカルユーザインタフェース内で、デスクトップ表示上にウェブページ部分を表示するための少なくとも1つの命令を含む、コンピュータ可読媒体を含む、コンピュータプログラム製品を提供する場合もあり、コンピュータ可読媒体は、第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするための少なくとも1つの命令であって、第1のピクセルバッファは、デスクトップ上で閲覧可能なウィンドウの子オブジェクトではない、少なくとも1つの命令と、第1のウェブブラウザインスタンスのレンダリングエンジンに、デスクトップ上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するための少なくとも1つの命令と、第1のウェブページ部分デスクトップウィンドウを作成するための少なくとも1つの命令と、第1のウェブページ部分デスクトップウィンドウのピクセル出力を、第1のブラウザインスタンスの第1のピクセルバッファの部分と同期させるための少なくとも1つの命令とを含む場合がある。一態様では、コンピュータプログラム製品のコンピュータ可読媒体は、第1のウェブブラウザインスタンスによって、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、第1のブラウザインスタンスの第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するための少なくとも1つの命令と、第1のウェブブラウザインスタンスによって、第1のブラウザインスタンスの第1のピクセルバッファのコンテンツを、第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントに基づいて更新するための少なくとも1つの命令とをさらに含む場合がある。一態様では、コンピュータプログラム製品のコンピュータ可読媒体は、デスクトップ表示上のエリアを定義するユーザ入力を受信するための少なくとも1つの命令をさらに含む場合があり、第1のウェブページ部分デスクトップウィンドウを作成するための少なくとも1つの命令は、受信されたユーザ入力によって定義されたデスクトップ表示上のエリア内で、第1のウェブページ部分デスクトップウィンドウを作成するための少なくとも1つの命令を含む。一態様では、コンピュータプログラム製品のコンピュータ可読媒体は、第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するための少なくとも1つの命令と、コンピューティングデバイスのディスプレイ上に、作成されたウィンドウオブジェクトを表示するための少なくとも1つの命令とをさらに含む場合がある。一態様では、ウェブページは、ビデオコンテンツエリアを含むHTML文書によって定義されうる。一態様では、コンピュータプログラム製品のコンピュータ可読媒体は、第1のウェブページ部分デスクトップウィンドウが閉じられるとき、第1のブラウザインスタンスを終了するための少なくとも1つの命令をさらに含む場合がある。一態様では、コンピュータプログラム製品のコンピュータ可読媒体は、第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するための少なくとも1つの命令と、受信されたユーザ入力に基づいて、デスクトップ内で第1のウェブページ部分デスクトップウィンドウを動かすための少なくとも1つの命令とをさらに含む場合がある。
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的態様を例示し、上記の概要および下記の詳細な説明と共に、本発明の特徴を説明する役目を果たす。
様々な態様と共に使用するために適した通信システムの通信システムブロック図である。 ユーザによって見られるような、従来のウェブページのブロック図である。 ユーザによって見られるような、従来のウェブページのブロック図である。 一態様によるコンピュータデスクトップ表示のブロック図である。 一態様によるモバイルデバイスデスクトップ表示のブロック図である。 一態様によるソフトウェアコンポーネントブロック図である。 別の態様によるソフトウェアコンポーネントブロック図である。 別の態様によるウェブブラウザモジュールの一部のソフトウェアコンポーネントブロック図である。 ウェブページ部分に対応するウィンドウを作成するコンピュータまたはモバイルデバイス内で実装されうる方法のプロセス流れ図である。 ウェブページ部分に対応するウィンドウを作成するコンピュータまたはモバイルデバイス内で実装されうる、別の方法のプロセス流れ図である。 ウェブページ部分に対応するウィンドウを作成するコンピュータまたはモバイルデバイス内で実装されうる、別の方法のプロセス流れ図である。 ウェブページ部分に対応するウィンドウを管理するコンピュータまたはモバイルデバイス内で実装されうる、別の方法のプロセス流れ図である。 ウェブページ部分に対応するウィンドウを管理するコンピュータまたはモバイルデバイス内で実装されうる、別の方法のプロセス流れ図である。 様々な態様と共に使用するために適した、一例のモバイルデバイスの回路ブロック図である。 様々な態様と共に使用するために適した、一例のコンピュータの回路ブロック図である。
添付の図面を参照して、様々な態様を詳細に説明する。可能な限り、同じまたは類似の部分を参照するために、図面の全体を通じて同じ参照番号が使用される。特定の例および実装に対して行われる参照は例示のためであり、本発明の範囲または特許請求の範囲を限定するように意図されるものではない。
この説明において、「例示的」という用語は、本明細書では「1つの例、場合、または例示としての役割を果たす」という意味で使用される。本明細書で「例示的」として記載されたいかなる実装も、必ずしも他の実装よりも好ましい、または有利であると解釈されるべきではない。
本明細書で使用されるとき、「モバイルデバイス」という用語は、無線音声およびデータ通信のための通信モジュールを実装する、存在する場合があるか、あるいは将来開発されるような、いかなる形のプログラマブルなコンピューティングデバイスをも包含するように意図されるものであり、例えば、携帯電話、携帯情報端末(PDA)、パームトップコンピュータ、ラップトップ、およびノートブックコンピュータ、無線電子メール受信器(例えば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応の携帯電話(例えば、Blackberry Storm(登録商標))、ならびに、無線通信モジュール、プロセッサおよびメモリを含む類似のパーソナル電子デバイスが含まれる。
様々な態様は、ビューウィンドウ内にウェブページの選択された部分を表示するための方法およびデバイスを提供する。様々な態様は、レンダリングエンジンがすべての要素を適切にレンダリングするために、ウェブページをフルサイズのレンダバッファにレンダリングする場合がある。様々な態様はまた、レンダバッファの選択された部分を示す、ビューウィンドウをコンピューティングデバイス表示デスクトップ上に作成する場合もある。このように、ユーザは、1つまたは複数のウェブサイトの部分を、自分のコンピューティングデバイスデスクトップ上で提示するために選択し、それらの選択された部分を、自分の好ましい場所に配置することができる。よって、ユーザは、第1のビューウィンドウ内に第1のウェブサイトの天気概況部分のみを、第2のビューウィンドウ内に第2のウェブサイトから選択された株式市場相場を、かつ、第3のビューウィンドウ内に第1のウェブサイトの新しい概況部分を表示し、これらの3つのビューウィンドウがデスクトップ表示上でユーザが好むどこにでも配置されるように、選択することができる。
様々な態様は、様々な有線および無線通信ネットワークにおいて採用されうる。例として、図1は、様々な態様と共に使用するために適した、セルラーデータ通信リンクを採用する無線通信ネットワーク10を示す。このような通信ネットワーク10は、インターネット18を介してハイパーテキスト転送プロトコル(HTTP)リクエストを受信し、インターネット18を介してHTTPレスポンスを送信するためのウェブサーバ12を含む場合がある。このようなHTTPレスポンスは、ウェブページを定義するためのハイパーテキストマークアップ言語(HTML)および拡張マークアップ言語(XML)スクリプトを含む場合がある。
通信ネットワーク10はまた、グラフィカルユーザインタフェース、および、ウェブサーバ12から受信されたHTMLに基づいてウェブページを表示可能なウェブブラウザを有する、パーソナルコンピュータ(コンピュータ)6を含む場合もある。コンピュータ6は、有線または無線データリンクを介してインターネット18に接続され、インターネット18上で送信されたHTTPリクエストおよびHTTPレスポンスを介して、コンピュータ6がウェブサーバ12と通信できるようにする場合がある。
通信ネットワーク10はさらに、グラフィカルユーザインタフェース、および、ウェブサーバ12から受信されたHTMLに基づいてウェブページを表示可能なウェブブラウザを有する、モバイルデバイス8を含む場合がある。モバイルデバイス8は、セルラー信号2をセルラーベースサイトまたは基地局4へ送信し、そこから受信するためのネットワークアンテナおよびトランシーバにより構成されうる。この例のネットワーク10では、基地局4は、移動交換局(MSC)14など、ネットワークを操作するために必要とされる要素を含む、セルラーネットワークの一部である。動作中、MSC 14は、モバイルデバイス8がセルラーデータコールを行っており、かつ受信中であるとき、基地局4を介して、コールおよびメッセージをモバイルデバイス8へ、かつモバイルデバイス8から経路指定することが可能である。モバイルデバイス8はまた、セルラーネットワークをインターネット18に接続するゲートウェイ16を通じて、HTTPリクエストを送信し、HTTPレスポンスを受信することも可能である場合がある。
コンピュータ6およびモバイルデバイス8など、コンピューティングデバイスは、ウェブページを表示するためのウェブブラウザを提供する場合がある。図2Aは、従来のウェブブラウザによって表示されるような、典型的なウェブページのブロック図を示す。ユーザは典型的には、ウェブページ102を、株価コンテンツ104など、そのコンテンツのために閲覧することを望む。ウェブページは、ナビゲーションリンク107、108、および広告106など、株価に加えて様々な要素からなる場合があるが、ユーザは、株価コンテンツ104を、ウェブページ102のうち唯一関連のある部分であると見なす場合がある。ウェブページ102は、一定の間隔で、あるいは、非同期のJava(登録商標)Script(商標)およびXML(AJAX)など、より高度な手段を通じて、自動的にリフレッシュすることによって、株価コンテンツ104を更新することができる場合がある。
いくつかのウェブページは、ユーザにとって興味のある複数のエリアを有する場合がある。このようなウェブページは図2Bに例示され、図2Bは、従来のウェブブラウザによって表示されるような、典型的なウェブページのブロック図を示す。ウェブページ110は、ビデオコンテンツエリア112、ビデオコメントコンテンツエリア113、メインナビゲーションエリア117、関連ビデオナビゲーションエリア118、および、様々な広告106を含む場合がある。関連ビデオナビゲーションエリア118は、同じウェブサイト内の類似のウェブページへのリンクを含む場合があり、類似のウェブページの各々は、ビデオコンテンツエリア112および関連ビデオナビゲーションエリア118など、元のウェブページ110と同じ要素を含む場合がある。
様々な態様は、ユーザが望むウェブページの部分のみを閲覧することができるようにするための方法を提供する。一態様においてどのようにウェブページ部分がユーザに提示されうるかの一例が、図3Aに例示され、図3Aは、コンピュータデスクトップ表示のブロック図である。コンピュータデスクトップ表示150は、背景、時計およびメニューボタンを有するタスクバー90、ならびに、コンピュータ上のデータファイルおよび実行可能プログラムに対応するアイコン92を含む場合がある。コンピュータデスクトップはまた、図2Aおよび2Bに例示されたウェブページ102、110のユーザにより選択された部分に対応する、ビューウィンドウ104、112、118を含む場合もある。ビューウィンドウの1つである104は、図2Aに例示されたウェブページ102の株価コンテンツエリア104を含む場合があるが、他のビューウィンドウ112、118は、図2Bに例示されたウェブページ110のビデオコンテンツエリア112および関連ビデオナビゲーションエリア118を含む。このような態様では、ユーザはビデオウェブサイト118からのビデオクリップを見て、次いで、関連ビデオへのリンクをクリックすることができる。それに応答して、新しいビデオがビデオビューウィンドウ112内に現れ、関連ビデオへの対応するリンクがナビゲーションビューウィンドウ118内に現れることが可能である。このような態様は、ユーザがビデオウェブサイトを閲覧し、かつ、同時に株価を見ながら、その間ずっとコンピュータデスクトップ150の大部分を空けておくことができるようにする場合がある。
いくつかの態様は、典型的には小型のディスプレイを有するモバイルデバイスのために、選択的に構成されうる。このような態様の一例は、図3Bに例示される。モバイルデバイスは、モバイルデバイスデスクトップ155を表示するグラフィカルユーザインタフェースにより構成されうる。例示された例では、ユーザは、図2Aに例示されたウェブページ102の株価コンテンツエリア104に対応するビューウィンドウ104、図2Bに例示されたウェブページ110のビデオコンテンツエリア112に対応する別のビューウィンドウ112、および、図2Bに例示されたウェブページ110の関連ビデオナビゲーションエリア118に対応する第3のビューウィンドウ118を表示するように、一態様によるモバイルデバイスを構成している。図3Aを参照して上述した態様と同様に、様々な態様のモバイルデバイス実装は、ユーザがあるウェブサイトを閲覧しながら、同時に別のウェブサイトの部分のビューを維持することができるようにする場合がある。
様々な態様は、グラフィカルユーザインタフェース(GUI)により構成された様々なコンピューティングデバイスで見られるコンポーネントを使用する場合がある。GUI環境は、グラフィックスを表示するための様々なピクセルアレイを使用する場合がある。このようなアレイを一般に、バッファ、ラスタ、ピクセルバッファ、ピクセルマップ、またはビットマップと称する場合がある。第1のGUI環境は、ディスプレイ(例えば、モニタ)上でアプリケーションの出力を表示するために、単一のピクセルバッファを利用した。このようなピクセルバッファを、フレームバッファと称する場合がある。単一のフレームバッファを有するGUI環境では、アプリケーションは、ピクセル色値に対応するデータをフレームバッファにコピーする場合があり、モニタは、フレームバッファに格納されたデータに従って、画面を色付けする場合がある。表示を更新するためにディスプレイドライバによってアクセスされるフレームバッファを、システムフレームバッファと称する場合がある。システムフレームバッファを含むピクセルバッファはしばしば、ダブルバッファリングおよびトリプルバッファリングとして知られる技術を通じて、複数のアレイを使用するが、様々なバッファはなお、シングルバッファと称される場合がある。
現代のGUI環境は、ウィンドウイングと呼ばれる概念を通じて、複数のグラフィカルアプリケーションが同じディスプレイにアクセスすることを可能とする場合がある。このような環境では、オペレーティングシステムは、システムフレームバッファを大部分のアプリケーションから隠す場合がある。システムフレームバッファに直接アクセスする代わりに、各アプリケーションはそれらの表示出力をピクセルバッファに送信する場合があり、このピクセルバッファをウィンドウバッファと称する場合がある。ウィンドウバッファは、ウィンドウマネージャという、ウィンドウGUI環境の一部であるアプリケーションによって読み取られる場合がある。ウィンドウマネージャは、どこかにある場合、システムフレームバッファ内のどこに、ウィンドウバッファのコンテンツが格納されるべきであるかを決定してもよい。例えば、ウィンドウGUIは、例えば、ウィンドウ内で実行中の3つのアプリケーションを有する場合がある。アプリケーションAのためのウィンドウが最小化される場合、その出力(すなわち、そのウィンドウバッファのコンテンツ)は表示されない場合があり、そのウィンドウバッファのコンテンツはウィンドウマネージャによって無視される場合がある。アプリケーションBおよびアプリケーションCのためのウィンドウが共にデスクトップ上でアクティブであるが、アプリケーションBのためのウィンドウがアプリケーションCのためのウィンドウを部分的にふさぐ(すなわち、ウィンドウBがウィンドウCを部分的に覆う)場合、ウィンドウマネージャは、アプリケーションCのウィンドウバッファの一部のみをシステムフレームバッファにコピーしながら、アプリケーションBのウィンドウバッファのコンテンツ全体をシステムフレームバッファにコピーすることができる。
様々なウィンドウを表示することに加えて、ウィンドウマネージャはまた、それらのウィンドウについて、アプリケーションに情報を提供する場合もある。例えば、ウィンドウマネージャは、いつそのウィンドウが最小化され、サイズが変更され、あるいはビューから隠されるかを、アプリケーションに通知してもよい。ウィンドウマネージャはまた、ウィンドウのサイズまたは場所など、ウィンドウに情報を提供してもよい。さらに、ウィンドウマネージャは、いつユーザがアプリケーションウィンドウと対話するか(例えば、マウスポインタがそのアプリケーションのためのウィンドウ内に位置する間に、マウスボタンをクリックすること)を、アプリケーションに通知してもよい。
ウィンドウGUI内で実行中のグラフィカルアプリケーションは、複数のピクセルバッファを利用して、アプリケーションの最終的なグラフィカル出力(すなわち、ウィンドウバッファ)を生成する場合がある。例えば、典型的なグラフィカルテキストエディタを考える。ユーザの視点からすると、テキストエディタは主に、テキストを表示かつ編集するためのエリアを含む場合がある。プログラマの視点からすると、テキストエディタは、テキストファイルを格納するメモリ内のエリア、ならびに、テキストファイルのコンテンツに対応する画像を生成するレンダリングエンジンを含む場合がある。レンダリングエンジンの出力(すなわち、画像)はピクセルバッファに書き込まれる場合があり、このピクセルバッファをテキスト画像バッファと称することができる。メインテキストビューイングエリアに加えて、テキストエディタはまた、メニューバー、一連のボタンを有するツールバー、垂直および水平スクロールバー、またはステータスバーなど、アプリケーションを制御するためのアイテム(例えば、「ウィジェット」)を含む場合もある。ウィジェットの各々は、関連付けられたピクセルバッファを有する場合がある。例えば、テキストエディタ内のスクロールバーオブジェクトは、トラック内に位置するバーに似ているように、陰影のあるピクセルバッファを有する場合がある。ユーザがスクロールバーを下方に動かすと、表示されたバーがトラック内で移動中であるように見えるように、スクロールバーのピクセルバッファが更新される。
ウィンドウアプリケーションを構成する様々なオブジェクト(例えば、様々なピクセルバッファおよび様々なウィジェット)は、ウィンドウアプリケーションのインスタンスの子オブジェクトと見なされる場合がある。一般に、テキストエディタなど、単純なアプリケーションは、単一のオペレーティングシステムプロセスに対応するようになり、単一のオペレーティングシステムプロセスは複数のスレッドを含む場合がある。いくつかのより複雑なアプリケーションは、ユーザには1つのアプリケーションのように見える複数のプロセスを有するようになる。当業者には理解されるように、これらのプロセスは、親および子プロセスとして共にリンクされうる。
ウィンドウマネージャがいくつかのウィンドウアプリケーションの出力全体を常に表示するとは限らない場合があるのと同様に、テキストエディタは、そのバッファのいくつかの出力を隠す場合がある。典型的なテキストエディタでは、大きいテキストファイルが開かれるとき、テキストの一部のみが表示され、ユーザは、スクロールバーを利用することによって、テキストの残りを閲覧する場合がある。テキストエディタは、テキストファイルに対応するテキスト画像バッファを維持し、また、ユーザによって現在閲覧可能であるテキスト画像のその部分に対応するピクセルバッファ(すなわち、ウィンドウバッファの一部であるテキスト画像の部分)をも維持する場合がある。このようなピクセルバッファを、ビューバッファと称する場合がある。ビューバッファはまた、スクロールバーに加えて、タブバーにもリンクされうる。タブ化機能を有するテキストエディタでは、ユーザはいくつかのテキストファイルを一度に開いてもよい。テキストエディタは、ファイルの各々をメモリ内で保存し、各ファイルをそれぞれのテキスト画像バッファにレンダリングする場合がある。テキストエディタはまた、ユーザに一連のタブを提供する場合もあり、一連のタブの各々は、開いているファイルに対応する。一度に1つのタブがアクティブであり、ビューバッファはアクティブなファイルのテキスト画像バッファに対応する場合がある。現在アクティブなファイルは、タブをアクティブにすることによって区別される場合があり、この区別は、そのタブを他のタブ(すなわち、非アクティブなタブ)とは異なる色に色付けすることによって行われてもよい。ユーザが非アクティブなタブをクリックすると、テキストエディタは、ビューバッファのコンテンツを、そのタブに対応するテキスト画像バッファで置換することによって、そのタブをアクティブにしてもよい。
前述の説明は、ウィンドウGUI環境内で表示を生成するための一例の方法でしかない。多数のウィンドウマネージャ、特に、非合成(non-compositing)ウィンドウマネージャは、ウィンドウごとのウィンドウバッファを使用しない。このようなウィンドウマネージャは、アクティブなウィンドウに、それらの出力を明示的に求め、ふさがれたウィンドウに、それらの出力が必要とされないことを通知する場合がある。さらに、ウィンドウは、ウィンドウ要素ごとのバッファを格納しない場合がある。むしろ、いくつかのウィンドウ要素は、ベクターグラフィックス、または、アルゴリズムを用いてピクセル画像を作成する類似の方法を使用する場合がある。いくつかのウィンドウオブジェクトは、メモリの一部を、その様々なサブコンポーネントのピクセル出力の格納専用にしない場合がある。むしろ、それらのピクセル出力を求められると、このようなウィンドウオブジェクトは単に、様々なサブコンポーネントのピクセル出力を統合し、メモリに格納された専用のピクセルアレイに基づいても基づかなくてもよい。したがって、本明細書で使用されるとき、ピクセルバッファ(例えば、ウィンドウバッファ、ビューウィンドウバッファ、またはレンダバッファ)は、ピクセル値を格納するためのメモリの専用部分、または、関数呼び出しの結果に対応するピクセル値を格納するためのメモリの一時的部分を意味する。
現代のウェブブラウザは、ウィンドウGUI環境内で、上記の例のテキストエディタによく似たように動作する。図4は、ウィンドウGUIを有するオペレーティングシステム上で実行中のウェブブラウザのコンポーネントのいくつかを示す、ソフトウェアブロック図である。オペレーティングシステムは、コンピュータに取り付けられたマウスに対応するマウスデバイス202、および、コンピュータに取り付けられたキーボードに対応するキーボードデバイス204を提供する場合がある。さらに、オペレーティングシステムは、システム内のビデオカードおよびディスプレイに対応する表示デバイス206を提供する場合がある。表示デバイス206は、アプリケーションがモニタに描画することを可能にするためのシステムフレームバッファを含む場合がある。前述のように、オペレーティングシステムは、ウィンドウマネージャ212を使用することによって、表示デバイス206および対応するシステムフレームバッファを様々なアプリケーションから隠す場合がある。ウィンドウマネージャ212は、ウェブブラウザウィンドウ214、216など、様々なウィンドウオブジェクトを含む場合があり、これらのウィンドウオブジェクトについて、デスクトップ内でのウィンドウのサイズおよび場所など、ステータス情報を維持する。
オペレーティングシステムはまた、ウェブブラウザ220を含む場合もあり、ウェブブラウザ220は、ウェブページをダウンロードかつ表示可能なプログラムであってもよい。ウェブブラウザ220は、オペレーティングシステムのインターネット接続236を通じて、ウェブページのためのHTMLコードを受信可能なプログラムコードを含む場合がある。さらに、ウェブブラウザ220は、受信されたHTMLコードを、HTMLコード内の要素を表現する1つまたは複数のデータ構造へと構文解析するためのコードを含む場合がある。このようなデータ構造を、文書オブジェクトモデル(DOM)と称する場合がある。ウェブブラウザ220はまた、Java(登録商標)Script(商標)コードがDOMのコンテンツを改変することを可能にする、Java(登録商標)Script(商標)エンジンを含む場合もある。さらに、ウェブブラウザ220はまた、DOMをピクセルバッファに変換する(すなわち、ウェブページをレンダリングする)ためのレンダリングエンジンを含む場合もある。レンダリングエンジンの出力を格納するためのピクセルバッファを、レンダバッファと称する場合がある。
オペレーティングシステムは、各ウェブブラウザウィンドウ214、216に対応するウェブブラウザインスタンス222、224を維持する場合がある。ウェブブラウザインスタンス222、224は、メニューバー、スクロールバー、およびタブ化エリアなど、様々なウィジェットを含む場合がある。ウェブブラウザインスタンス222はさらに、ウェブページ表現234と称することができる、ウェブページの内部表現を含む場合がある。ウェブページ表現234は、主として2つの部分、すなわち、ウェブページ要素(例えば、テキスト、リンク、および画像)の構造を表現するための文書オブジェクトモデル(DOM)、および、レンダリングされたウェブページを格納するためのレンダバッファを含む場合がある。ウェブブラウザインスタンス222は、タブの使用を通じて、複数のウェブページ表現230、232を含む場合がある。
様々な態様は、ウェブページの選択された部分を表示するために、一般的なウェブブラウザのものに類似したコンポーネントを利用する場合がある。図5は、ウィンドウGUIを有するコンピューティングデバイスオペレーティングシステム上で実行する、一態様のコンポーネントを例示する。図5に示す態様は、2つのウェブページの選択された部分に対応する3つのウェブページ部分表示の一例を例示する、図3Aおよび3Bに例示された態様に類似する場合がある。例えば、これらのウェブページは、株価ウェブページおよびビデオウェブページであってもよく、これらの選択された部分は、ビデオコンテンツエリア、関連ビデオナビゲーションエリア、および株価コンテンツエリアに対応してもよい。
オペレーティングシステムは、コンピュータまたはモバイルデバイスに取り付けられたマウスに対応するマウスデバイス202、コンピュータまたはモバイルデバイスに取り付けられた、あるいはそれらの内部のキーボードに対応するキーボードデバイス204、および、コンピュータまたはモバイルデバイスに取り付けられた、あるいはそれらの内部のビデオカードおよびモニタに対応する表示デバイス206を提供する場合がある。オペレーティングシステムはまた、ウェブページ部分の各々に対応するウィンドウオブジェクト240、242、244を含む、様々な実行中プログラムに対応するウィンドウを維持するためのウィンドウマネージャ212を利用してもよい。
これらの態様は、部分的なウェブページを表示可能なウェブブラウザ250を利用する場合がある。ウェブブラウザ250は、ウェブページに対応するHTMLコードを受信し、HTMLコードをDOMへと構文解析し、レンダリングエンジンを利用して、レンダバッファ内でレンダリングされたウェブページを生成することが可能である場合がある。オペレーティングシステムは、ウェブブラウザインスタンス252、254を維持する場合がある。しかし、ウェブブラウザインスタンス252、254は、ウィンドウマネージャ内のウィンドウに直接リンクされない場合がある。代わりに、ウェブブラウザインスタンスは、ウェブページ部分に対応するビューウィンドウ262、266、268を維持する場合がある。ウェブブラウザインスタンス252、254は、DOMおよびレンダバッファを備えるウェブページ表現253、255を維持する場合がある。ビューウィンドウ262、266、268は、ウェブブラウザインスタンス252、254によってレンダバッファにリンクされうる。
いくつかの態様では、ビューウィンドウ262、266、268は、レンダバッファの事前定義された部分をミラーするピクセルバッファを含む場合がある。別法として、ビューウィンドウピクセルバッファは、レンダバッファと1対1の対応を有していない場合がある(例えば、ビューウィンドウが、レンダバッファ上で拡大あるいは「ズームイン」する)。さらに、いくつかの態様は、ビューウィンドウバッファをレンダバッファの適切な部分にマップすることによって、ビューウィンドウが回転あるいはフリップすることを可能にする場合がある。
図3Aおよび3Bを参照して上述した例に戻ると、ユーザは、2つのウェブページに対応する3つのウェブページ部分を表示することを望む場合がある。ビデオウェブページは、ウェブページ表現253を含むウェブブラウザインスタンス252に対応する場合がある。株式ウェブページもまた、ウェブブラウザインスタンス254およびウェブページ表現255に対応する場合がある。ウェブブラウザ250のレンダリングエンジンは、上記の方法などで、ウェブページを通常通りにレンダリングし、レンダバッファを通常通りにポピュレートする場合がある。ウェブブラウザ250はまた、各ウェブページ部分に対応するビューウィンドウ262、266および268を維持する場合もある。株価ビューウィンドウの例では、デスクトップウィンドウオブジェクト244はビューウィンドウ268に対応する場合があり、ビューウィンドウ268は、ビューウィンドウバッファ、および、2つのバッファを同期させるために使用されたレンダバッファ内の座標を含む。
様々な態様は、スタンドアロンのウェブブラウザであっても、プラグインまたは拡張により変更された既存のウェブブラウザであってもよい、ウェブブラウザ250を採用する。図6は、一態様によるビューウィンドウを作成するためのプラグインを有する、一例のウェブブラウザのソフトウェアコンポーネント図である。ウェブブラウザ250は、DOMをピクセル出力に変換するためのレンダリングエンジン270など、あるコンポーネントを含む場合がある。もう1つのウェブブラウザ250のコンポーネントは、ウェブサーバからのウェブページを要求するためのトランスポート層282であってもよい。ウェブブラウザはまた、HTML文書をDOMへと構文解析するため、Java(登録商標)Script(商標)を介してDOMを改変するため、ならびに、メニューおよびツールバーなど、基本ユーザインタフェースコンポーネントを提供するための、コンポーネントを含む場合もある。ウェブブラウザ250はまた、ユーザがブラウザの機能性を変更することができるように、API 270を提供する場合もある。例えば、ブラウザAPI 270がユーザインタフェースコンポーネントへのアクセスを可能にする場合、ユーザは、「スキン」として知られるプラグインをインストールすることによって、ブラウザのルックアンドフィールを改変することができる。ビューウィンドウプラグイン286をサポートするウェブブラウザ250は、API 270を通じてレンダバッファへのアクセスを可能にする場合がある。このようなウェブブラウザ250はまた、ビューウィンドウプラグイン286がウェブブラウザインスタンスの可視性を改変することを可能にする場合もある。
コンピュータデスクトップ上でビューウィンドウを作成するための方法が図7に例示され、図7は、コンピュータまたはモバイルデバイス上で実装されうるプロセス300を示す。プロセス300において、ブロック302で、ユーザはブラウザウィンドウ(すなわち、ブラウザインスタンス)を開き、例えば、ビデオコンテンツエリアおよび関連ビデオナビゲーションエリアを含むウェブページなど、ウェブページをロードする場合がある。ブロック306で、ユーザは、所望のビューウィンドウの境界を定義する場合がある。ビューウィンドウを定義するための詳細なプロセス306を、図8を参照して後述する。プロセス300において、ブロック310で、ウェブブラウザは、ビューウィンドウモードでそれ自体の新しいインスタンスを発生させる場合がある。ビューウィンドウモードで実行中のブラウザインスタンスは、元のブラウザインスタンス(すなわち、ブロック302で開かれたブラウザインスタンス)に関連する様々な起動パラメータを取る場合がある。このようなパラメータは、ウェブページのURL、ならびに、レンダリングエンジンによって使用されうるブラウザウィンドウのプロパティ(例えば、ウィンドウのサイズ)を含む場合がある。ビューウィンドウモードで実行中の新しいブラウザインスタンスは、見えないモードに設定される場合があり、デスクトップ内でウィンドウとして現れないことを意味する。
ブロック314で、新しいブラウザインスタンスは、所望のウェブページのURLを検索し、それをロードする(すなわち、インターネットを介してウェブページにアクセスし、関連付けられたHTMLを受信し、HTMLをDOMへと構文解析し、DOMをレンダリングエンジンに渡し、レンダリングエンジンの出力をレンダバッファへ送信する)場合がある。レンダリングエンジンは、ブラウザウィンドウのある特徴を利用する場合がある。例えば、いくつかのHTML要素は、「50%」に設定された幅の値を有する場合があり、その場合、レンダリングエンジンはそれらの要素を、ブラウザウィンドウの閲覧可能エリアの半分のピクセル幅となるように作成するようになる。ビューウィンドウが元のウェブページ上でユーザにより定義されたエリアと相関するために、新しいブラウザインスタンスは、元のブラウザのプロパティをスプーフィングする場合がある。例えば、レンダリングエンジンが新しいブラウザインスタンスにウィンドウのサイズを問い合わせる場合、新しいブラウザインスタンスは、元のブラウザインスタンスのウィンドウのサイズに等しい値を返す場合がある。ブロック318で、新しいブラウザインスタンスはまた、レンダバッファの一部と同期されるビューウィンドウバッファをそれぞれ有する、ウィンドウマネージャ内の新しいウィンドウを発生させる場合もある。例えば、ビデオコンテンツエリアに対応するビューウィンドウは、ビデオコンテンツに対応するレンダバッファの一部を複製するバッファを有する場合がある。レンダバッファがビデオに基づいて更新するとき(すなわち、ブラウザが、ビデオウェブサイトから受信されたビデオストリームに基づいてビデオを表示するとき)、ビューウィンドウバッファはそのコンテンツをミラーし、ウィンドウマネージャはビューウィンドウバッファコンテンツをシステムフレームバッファに渡す場合がある。1つまたは複数の新しいブラウザインスタンスを開き、上述のプロセスを繰り返すことによって、複数の異なるウェブサイトが別々のビューウィンドウ内で開かれ、表示されうる。
様々な態様は、ビューを定義するためのいくつかの方法を利用する場合がある。1つのそのような方法が図8に例示され、図8は、コンピュータまたはモバイルデバイスで実装されうるプロセス306を示す。プロセス306において、ブロック322で、ブラウザウィンドウ内でロードされたウェブページで、ユーザはツールバー上のボタンを選択して、ビューウィンドウを定義することを可能にする場合がある。ブロック326で、ブラウザインスタンスは、レンダバッファのコンテンツを静止画像に変換することによって、ウェブページのスナップショットを生成する場合がある。ブロック328で、ブラウザインスタンスは、ウィンドウコンテンツを、静止画像を保持するバッファで一時的に置換する場合がある。ブロック330で、ユーザは、所望のビューウィンドウに対応する静止画像内で1つまたは複数の長方形のエリア(すなわち、「マーキー」)を定義する場合がある。ユーザは、マウスポインタが所望のビューウィンドウの1つの角に対応する位置にある間にマウスボタンをクリックし、マウスポインタを所望のビューウィンドウの反対の角まで動かして離すことによって、マーキーを定義してもよい。長方形のエリアを「ハイライトする」ためのこのような方法は、多数のGUIアプリケーションに共通である。ユーザが所望のビューウィンドウを定義した後、ブロック334で、ユーザは、ツールバー上でビューウィンドウボタンを今一度クリックする場合がある。開かれたブラウザインスタンスの各々で上述のプロセスを繰り返すことによって、ビューウィンドウは複数の異なるウェブサイトのために定義されうる。
様々な態様によって、ビューウィンドウを作成するために行われるプロセスは、オペレーティングシステム上の異なるプログラム内で発生する場合がある。これは図9で見ることができ、図9は、いずれかがマウスデバイス、キーボードデバイス、および表示デバイスなど、ユーザインタフェースデバイス208を含む場合のある、コンピュータまたはモバイルデバイス上で行われうるプロセス350を示す。様々な態様はまた、ウィンドウマネージャ212、ウェブブラウザ250、およびインターネット接続236を利用する場合もある。プロセス350において、ブロック352で、ユーザが所望のビューウィンドウを定義した後、ウェブブラウザ250は、定義されたビューウィンドウが、レンダリングされたウェブページ内のどこに入るか(すなわち、レンダバッファ内の座標)を決定する場合がある。ブロック310で、ウェブブラウザ250は、ウェブページURL、現在のブラウザインスタンスのウィンドウサイズ、および所望のビューウィンドウの座標を含む、起動パラメータにより、ビューウィンドウモードで新しいブラウザインスタンスを発生させる場合がある。ウェブブラウザ250は、HTML文書をウェブサーバから、インターネット接続236を介して要求かつ受信する場合がある。ブロック360で、ウェブブラウザ250はまた、受信されたHTML文書をDOMへと構文解析する場合もある。ブロック366で、ウェブブラウザ250はまた、DOMをレンダバッファにレンダリングする場合もある。ブロック370で、ウェブブラウザ250はまた、ビューウィンドウに対応するバッファを作成し、ビューウィンドウバッファのコンテンツをレンダバッファの対応する部分と同期させる場合もある。ブロック374で、ウェブブラウザ250は、ウィンドウマネージャにビューウィンドウのためのウィンドウオブジェクトを作成させる場合があり、ブロック378で、そのウィンドウオブジェクトは表示デバイスにウィンドウを表示させる。1つまたは複数の新しいブラウザインスタンスを開き、上述のプロセスを繰り返すことによって、複数の異なるウェブサイトが類似の方法で開かれ、表示されうる。
ビューウィンドウの作成に加えて、様々な態様はまた、既存のビューウィンドウのコンテンツを更新する場合もある。例えば、ユーザが関連ビデオのナビゲーションビューウィンドウ内でハイパーリンクをクリックする場合、ウェブブラウザは、関連ビデオに対応するウェブページを要求し、ビューウィンドウ内でそのウェブページの同じ部分を表示する場合がある。一例が図10に、コンピュータまたはモバイルデバイス上で行われうるプロセス380として示される。プロセス380において、ブロック380で、ユーザはマウスポインタをビューウィンドウ内のハイパーリンク上に置き、マウスボタンをクリックする場合がある。ウィンドウマネージャ212はブラウザ250に、マウスクリックイベントおよびビューウィンドウ内のマウスポインタの場所を中継する場合がある。ブロック384で、ウェブブラウザ250は、マウスがクリックされたとき、そのマウスポインタがハイパーリンク上にあったことを決定する場合がある。ブロック356で、ウェブブラウザ250は、HTML文書をウェブサーバから、インターネット接続236を介して要求かつ受信する場合がある。ブロック360で、ウェブブラウザ250は、受信されたHTML文書をDOMへと構文解析する場合がある。ブロック366で、ウェブブラウザ250はまた、DOMをレンダバッファにレンダリングする場合もある。ブロック371で、ウェブブラウザ370は、既存のビューウィンドウバッファをレンダバッファの対応する部分と同期させ、ブロック375でビューウィンドウを更新させ、ブロック378で、更新されたビューウィンドウをディスプレイ上で表示させる場合がある。いくつかの態様では、ビューウィンドウバッファは、一旦作成されたレンダバッファと自動的に同期する場合がある。このような実装では、ブラウザは、ウェブページを検索し、それをレンダバッファにレンダリングすることを越えて、新しいウェブページを表示するために余分なプロセスを実装する必要がない場合がある。複数のウェブサイトのための複数のビューウィンドウのコンテンツへの更新は、開かれたブラウザインスタンスの各々に結び付けられたビューウィンドウに対して上述のプロセスを行うことによって、実施されうる。
ビューウィンドウとのあるタイプの対話は、デスクトップ内でビューウィンドウを動かすなど、ウィンドウマネージャ212によって完全に扱うことができる。他のタイプの対話は、DOMを改変することなく、ウェブブラウザ250を呼び出す場合がある。例えば、ユーザは、ビューウィンドウのサイズを変更し、元のウェブページのより大きい、あるいはより小さい部分を表示する場合がある。このような対話の一例が図11に示され、図11は、コンピュータまたはモバイルデバイス上で行われうるプロセス390を示す。プロセス390において、ブロック391で、ユーザは、グラフィカルユーザインタフェースを使用して、デスクトップ上でビューウィンドウを変更する場合がある。例えば、ユーザは、マウスポインタをウィンドウの角まで動かし、マウスを押し下げ(「クリックする」)、マウスを動かすことによって、サイズを変更してもよい。別の例として、ユーザは、ウィンドウの角でクリックし、ウィンドウを回転させることなどによって、ウィンドウを回転させてもよい。さらなる例として、ユーザは、画像をクリックし、マウスを左または右、および上または下に動かすことなどによって、ビューウィンドウ内の画像を変換してもよい。他のウィンドウ変更動作もまた実施される場合がある。ブロック392で、ウィンドウマネージャ212は、ウィンドウ変更イベントをウェブブラウザ250へ中継する場合がある。ブロック394で、ウェブブラウザ250は、ビューウィンドウの所望の変更に対応するように、ビューウィンドウバッファのサイズを変更し、回転させ、変換し、あるいは他の方法で変更する場合がある。ブロック396で、ウェブブラウザは、サイズ変更されたビューウィンドウバッファのコンテンツをレンダバッファと同期させる場合がある。ブロック398で、ウェブブラウザは、それに応じてビューウィンドウオブジェクトを変更する場合がある。例えば、ユーザがビューウィンドウのサイズを変更する場合、ビューウィンドウバッファ内のピクセルの数が変化する場合がある。元のビューウィンドウが100ピクセル×50ピクセルのサイズを有していた場合、それは、座標(250,150)および(350,200)によって定義されたレンダバッファの部分に対応されるようになる。ユーザがビューウィンドウを各方向に25ピクセルだけ拡大する場合、
ビューウィンドウバッファは125ピクセル×75ピクセルとなり、座標(225,125)および(350,200)によって定義されたレンダバッファの部分に対応する場合がある。ウェブブラウザ250はまた、ウィンドウマネージャ212に、ビューウィンドウに対応するウィンドウオブジェクトを変更させる場合もある。複数のウェブサイトのための複数のビューウィンドウとの対話は、開かれたブラウザインスタンスの各々に結び付けられたビューウィンドウに対して上述のプロセスを行うことによって、実施されうる。
様々な態様は、デスクトップ内でビューウィンドウを動かし、ビューウィンドウのサイズを変更することに加えて、ユーザによるビューウィンドウとのより多くの対話を可能とする場合がある。例えば、ユーザは、ある複数のビューウィンドウを共にリンクさせ、一方が動くと他方もそれと共に動くようにすることを望む場合がある。さらに、ユーザは、レンダバッファ内でビューウィンドウのコンテンツをパンできるようにしてもよい。そのような場合、ウェブブラウザは、ビューウィンドウバッファのサイズを変更することなく、ブロック396で行われたプロセスと同様に、ビューウィンドウバッファのコンテンツを再同期させる場合がある。別の例では、ユーザは、ズームインまたはアウトすることによって、ビューウィンドウのコンテンツのサイズを変更することを望む場合がある。これは、ビューウィンドウおよびビューウィンドウバッファを拡大することを含む場合があるが、レンダバッファのより多くを表示するのではなく、ビューウィンドウは、レンダバッファの同じ部分を表示する場合がある。このような拡大されたビューウィンドウはもはや、レンダバッファと1対1のピクセル対応を有さない場合がある。さらなる例には、ビューウィンドウを複製すること、通常のブラウザウィンドウではなく、既存のビューウィンドウから新しいビューウィンドウを発生させること、および、ビューウィンドウを異なる表示デバイスまたはデスクトップへ移動させることが含まれる。最後に、ユーザは、ビューウィンドウを閉じることを望む場合がある。いくつかの態様では、ユーザがビューウィンドウを閉じるとき、ウェブブラウザは、ウェブブラウザインスタンスを、そのインスタンスに対応する他のビューウィンドウが開いたままになっていないとき、終了させる。
いくつかの態様では、ユーザがビューウィンドウからフルウェブブラウザウィンドウを開くことができるように、ユーザインタフェースコントロールが提供されうる。このような実装では、ビューウィンドウおよびウェブページ表現を管理するウェブブラウザインスタンスは、通常のブラウザウィンドウを兄弟プロセス(すなわち、子プロセスでも親プロセスでもない)として開き、それ自体を終了させ、ウェブブラウザ内でビューウィンドウを閉じる場合がある。一態様では、ユーザインタフェースコントロールは、ユーザがメニュー対話によってこのプロセスをトリガすることができるようにする場合がある。別の態様では、ユーザインタフェースコントロールは、ユーザがデスクトップ上でビューウィンドウを動かすことによって、プロセスをトリガすることができるようにする場合がある。例えば、一態様では、ユーザインタフェースコントロールは、同じウェブブラウザインスタンスに対応する複数のビューウィンドウをまとめること、または、ビューウィンドウを、ごみ箱アイコンなど、デスクトップの事前定義された部分にドラッグすることを含む場合がある。よって、例えば、ユーザは、所与のウェブページについて、元のウェブページが再表示されることを望み、子ウィンドウをもはや望まないことを知らせるために、デスクトップ上のすべての子ビューをまとめることができる。
様々な態様では、グラフィックスおよびアプリケーションウィンドウのために提供されたいかなる方法でも、ビューウィンドウをデスクトップ上に配置することができる。よって、ビューウィンドウは、あるビューが別のビューを部分的にブロックできるように、あるビューウィンドウが他のビューウィンドウの上になるようにスタックされうる。さらに、ユーザインタフェースコントロールは、ユーザがスタック順序を変更し、よって、閲覧可能なビューウィンドウ(すなわち、最上のビューウィンドウ)を変更することができるように、提供される場合がある。例えば、ユーザは、スタック内でより低い順序のビューウィンドウ(すなわち、より高い順序のビューウィンドウによって少なくとも部分的にふさがれたウィンドウ)を、前方に出すためにクリックしてもよい。別の例として、ユーザは、マウスボタンを右クリックするなど、ユーザインタフェースコントロールを実行することによって、スタックされたビューウィンドウ中で切り替えてもよい。
上述の態様は、例えば、携帯電話、携帯情報端末(PDA)、モバイルウェブアクセスデバイス、および、無線データリンクを介するなどして、外部ネットワークと通信するように構成された、将来開発されうる他のプロセッサ装備デバイスなど、様々なポータブルコンピューティングデバイスのいずれにおいても実装されうる。典型的には、このようなポータブルコンピューティングデバイスは、図12に例示されたコンポーネントを共通して有するようになる。例えば、ポータブルコンピューティングデバイス400は、内部メモリ402およびディスプレイ403に結合されたプロセッサ401を含む場合がある。加えて、ポータブルコンピューティングデバイス400は、無線データリンクに接続される、電磁放射を送信かつ受信するためのアンテナ404、および/または、プロセッサ401に結合された携帯電話トランシーバ405を有する場合がある。ポータブルコンピューティングデバイス400はまた、典型的には、キーパッド406または小型キーボード、および、ユーザ入力を受信するためのメニュー選択ボタンまたはロッカースイッチ407、ならびに、オーディオ出力を生成するためのスピーカ408をも含む。
プロセッサ401は、上述の様々な態様の機能を含む様々な機能を行うように、ソフトウェア命令(アプリケーション)によって構成可能な、いかなるプログラマブルなマイクロプロセッサ、マイクロコンピュータまたはマルチプロセッサチップであってもよい。いくつかのポータブルコンピューティングデバイス400では、音声およびデータ通信管理専用の1つのプロセッサ、および、他のアプリケーション実行専用の1つのプロセッサなど、複数のプロセッサ401が提供されうる。典型的には、ソフトウェアアプリケーションは、アクセスされ、プロセッサ401にロードされる前に、内部メモリ402に格納されうる。いくつかのモバイルデバイス400では、プロセッサ401は、アプリケーションソフトウェア命令を格納するために十分な内部メモリを含む場合がある。この説明のために、メモリという用語は、プロセッサ401によってアクセス可能なすべてのメモリを指し、内部メモリ402、および、プロセッサ401自体内のメモリを含む。多数のポータブルコンピューティングデバイス400では、メモリ402は、揮発性、もしくはフラッシュメモリなど、不揮発性メモリ、または両方の混合であってもよい。
上述のいくつかの態様はまた、図13に例示されたノートブックコンピュータ460など、様々なコンピューティングデバイスのいずれによって実装されてもよい。このようなノートブックコンピュータ460は典型的には、揮発性メモリ462、および、ディスクドライブ463など、大容量不揮発性メモリに結合された、プロセッサ461を含む、ハウジング466を含む。コンピュータ460はまた、プロセッサ461に結合された、フロッピー(登録商標)ディスクドライブ464およびコンパクトディスク(CD)ドライブ465を含む場合もある。コンピュータハウジング466は典型的にはまた、タッチパッド467、キーボード468およびディスプレイ469をも含む。
様々な態様は、コンピュータプロセッサ401、461が、1つまたは複数の上述の方法を実装するように構成されたソフトウェア命令を実行することによって、実装されうる。このようなソフトウェア命令は、メモリ402、462内に別々のアプリケーションとして、あるいは、一態様の方法を実装するコンパイル済みのソフトウェアとして格納されうる。リファレンスデータベースは、内部メモリ402、462内、ハードディスクメモリ463内、有形の記憶媒体上、あるいは、ネットワーク(不図示)を介してアクセス可能なサーバ上で格納されうる。さらに、ソフトウェア命令およびデータベースは、いかなる形式の有形のプロセッサ可読メモリ上に格納されてもよく、これらのメモリには、ランダムアクセスメモリ402、462、ハードディスクメモリ463、フロッピー(登録商標)ディスク(フロッピー(登録商標)ディスクドライブ464内で可読)、コンパクトディスク(CDドライブ465内で可読)、電気的消去可能/プログラマブル読み出し専用メモリ(EEPROM)、読み出し専用メモリ(FLASHメモリなど)、および/または、外部メモリチップなど、コンピューティングデバイス400、460にプラグインされたメモリモジュール(不図示)、もしくは、USBネットワークポートにプラグインされたUSB接続可能外部メモリ(例えば、「フラッシュドライブ」)が含まれる。
前述の方法の説明およびプロセス流れ図は、例示的な例としてのみ提供され、様々な態様のプロセスが、提示された順序で行われなければならないことを必要とする、あるいは示唆するように意図されるものではない。当業者には理解されるように、前述の態様におけるブロックおよびプロセスの順序は、いかなる順序で行われてもよい。「その後」、「次いで」、「次に」、その他などの語は、プロセスの順序を限定するように意図されず、これらの語は単に、これらの方法の説明を通じて読者を導くために使用される。さらに、例えば、冠詞「a」、「an」または「the」を用いた、単数形の請求項の要素へのいかなる参照も、その要素を単数形に限定するように解釈されるべきではない。
本明細書で開示された態様に関連して記載された様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装されうる。このハードウェアおよびソフトウェアの入れ換え可能性を明確に例示するため、様々な例示的コンポーネント、ブロック、モジュール、回路およびステップは、一般にそれらの機能性に関して上述された。このような機能性がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定のアプリケーション、および、システム全体に課せられた設計上の制約によって決まる。当業者は、記載された機能性を特定のアプリケーションごとに様々な方法で実装可能であるが、このような実装の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
本明細書で開示された態様に関連して記載された様々な例示的ロジック、論理ブロック、モジュールおよび回路を実装するために使用されたハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、個別のゲートまたはトランジスタロジック、個別のハードウェアコンポーネント、または、本明細書に記載された機能を行うように設計されたそれらの任意の組み合わせによって実装され、あるいは実行されうる。汎用プロセッサはマイクロプロセッサでもよいが、その代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサはまた、複数のコンピューティングデバイスの組み合わせ、例えば、DSPおよびマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連動する1つまたは複数のマイクロプロセッサ、または、いずれかの他のそのような構成として実装されてもよい。別法として、いくつかのプロセッサまたは方法は、所与の機能に特有である回路構成によって行われてもよい。
1つまたは複数の例示的態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいかなる組み合わせにおいて実装されてもよい。ソフトウェアで実装される場合、これらの機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして格納あるいは送信されてもよい。本明細書で開示された方法またはアルゴリズムのプロセスは、コンピュータ可読媒体上に存在する場合のある、実行されたプロセッサ実行可能ソフトウェアモジュールにおいて実施されうる。コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が共に含まれ、通信媒体には、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体が含まれる。記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体でもよい。例として、限定ではないが、このようなコンピュータ可読媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望のプログラムコードを命令もしくはデータ構造の形式で搬送あるいは格納するために使用可能であり、かつ、コンピュータによってアクセス可能な、他の任意の媒体が含まれうる。また、いかなる接続も、適切にコンピュータ可読媒体と称される。例えば、ソフトウェアが、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または、赤外線、無線およびマイクロ波などの無線技術を使用して送信される場合、この同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線およびマイクロ波などの無線技術は、媒体の定義に含まれる。本明細書で使用されるような、ディスク(disk)およびディスク(disc)には、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクが含まれ、ただし、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザにより光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、機械可読媒体上の、および/または、コン
ピュータプログラム製品に組み込まれる場合のあるコンピュータ可読媒体上の、1つまたはいずれかの組み合わせまたはセットのコードおよび/または命令として存在する場合がある。
開示された態様の前述の説明は、当業者による本発明の実施または使用を可能とするために提供される。これらの態様への様々な変更は、当業者には容易に明らかとなり、本明細書で定義された一般的な原理は、本発明の精神または範囲から逸脱することなく、他の態様に適用されうる。よって、本発明は、本明細書で示された態様に限定されるように意図されず、以下の特許請求の範囲、および、本明細書で開示された原理および新規特徴に一致する最も広い範囲が与えられるべきである。
6 コンピュータ
8 モバイルデバイス
102、110 ウェブページ
104 株価コンテンツ、株価コンテンツエリア、ビューウィンドウ
112 ビデオコンテンツエリア、ビューウィンドウ
118 関連ビデオナビゲーションエリア、ビューウィンドウ、ビデオウェブサイト
150 コンピュータデスクトップ表示
155 モバイルデバイスデスクトップ
202 マウスデバイス
204 キーボードデバイス
206 表示デバイス
208 ユーザインタフェースデバイス
212 ウィンドウマネージャ
214、216 ウェブブラウザウィンドウ
220、250 ウェブブラウザ
222、224、252、254 ウェブブラウザインスタンス
230、232、234、253、255 ウェブページ表現
236 インターネット接続
240、242 ウィンドウオブジェクト
244 ウィンドウオブジェクト、デスクトップウィンドウオブジェクト
262、266、268 ビューウィンドウ
270 ブラウザAPI
276 レンダリングエンジン
282 トランスポート層
286 ビューウィンドウプラグイン
400 ポータブルコンピューティングデバイス、モバイルデバイス
401、461 プロセッサ
402 内部メモリ、ランダムアクセスメモリ
403、469 ディスプレイ
404 アンテナ
405 携帯電話トランシーバ
406 キーパッド
407 メニュー選択ボタンまたはロッカースイッチ
408 スピーカ
460 ノートブックコンピュータ、コンピューティングデバイス
462 揮発性メモリ、内部メモリ、ランダムアクセスメモリ
463 ディスクドライブ、ハードディスクメモリ
464 フロッピー(登録商標)ディスクドライブ
465 コンパクトディスク(CD)ドライブ
466 ハウジング
467 タッチパッド
468 キーボード

Claims (24)

  1. コンピューティングデバイス上で動作するコンピュータグラフィカルユーザインタフェース内で、デスクトップ表示上にウェブページ部分を表示するための方法であって、
    前記デスクトップ表示上のエリアを定義するユーザ入力を受信するステップと、
    第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを前記第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするステップであって、前記第1のピクセルバッファは、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトではないステップと、
    前記第1のウェブブラウザインスタンスの前記レンダリングエンジンに、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するステップと、
    第1のウェブページ部分デスクトップウィンドウを作成するステップと、
    前記第1のウェブページ部分デスクトップウィンドウのピクセル出力を、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの部分と同期させるステップとを備え、
    前記第1のウェブページ部分デスクトップウィンドウを作成するステップは、前記受信されたユーザ入力によって定義された前記デスクトップ表示上の前記エリア内で、前記第1のウェブページ部分デスクトップウィンドウを作成するステップを備える方法。
  2. 前記第1のウェブブラウザインスタンスによって、前記第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するステップと、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファのコンテンツを、前記第1のウェブページ部分デスクトップウィンドウ内の前記ユーザ入力イベントに基づいて更新するステップとをさらに備える、請求項1に記載の方法。
  3. 第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するステップと、
    前記コンピューティングデバイスのディスプレイ上に、前記作成されたウィンドウオブジェクトを表示するステップとをさらに備える、請求項1に記載の方法。
  4. 前記ウェブページは、
    ビデオコンテンツエリアを備えるHTML文書によって定義されたウェブページを備える、請求項1に記載の方法。
  5. 前記第1のウェブページ部分デスクトップウィンドウが閉じられるとき、前記第1のウェブブラウザインスタンスを終了するステップをさらに備える、請求項1に記載の方法。
  6. 前記第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するステップと、
    前記受信されたユーザ入力に基づいて、前記デスクトップ表示内で前記第1のウェブページ部分デスクトップウィンドウを動かすステップとをさらに備える、請求項1に記載の方法。
  7. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサに結合されたメモリと、
    前記プロセッサに結合されたディスプレイとを備え、
    前記プロセッサは、
    スクトップ表示上のエリアを定義するユーザ入力を受信するステップと、
    第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを前記第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするステップであって、前記第1のピクセルバッファは、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトではないステップと、
    前記第1のウェブブラウザインスタンスの前記レンダリングエンジンに、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するステップと、
    第1のウェブページ部分デスクトップウィンドウを作成するステップと、
    前記第1のウェブページ部分デスクトップウィンドウのピクセル出力を、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの部分と同期させるステップと、
    を備えるステップを行うためのプロセッサ実行可能命令により構成され、
    第1のウェブページ部分デスクトップウィンドウを作成するステップは、前記受信されたユーザ入力によって定義された前記デスクトップ表示上の前記エリア内で、前記第1のウェブページ部分デスクトップウィンドウを作成するステップを備えるコンピューティングデバイス。
  8. 前記プロセッサは、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するステップと、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファのコンテンツを、前記第1のウェブページ部分デスクトップウィンドウ内の前記ユーザ入力イベントに基づいて更新するステップと、
    をさらに備えるステップを行うためのプロセッサ実行可能命令により構成される、請求項7に記載のコンピューティングデバイス。
  9. 前記プロセッサは、
    第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するステップと、
    前記コンピューティングデバイスのディスプレイ上に、前記作成されたウィンドウオブジェクトを表示するステップと、
    をさらに備えるステップを行うためのプロセッサ実行可能命令により構成される、請求項7に記載のコンピューティングデバイス。
  10. 前記ウェブページは、
    ビデオコンテンツエリアを備えるHTML文書によって定義されたウェブページを備える、請求項7に記載のコンピューティングデバイス。
  11. 前記プロセッサは、
    前記第1のウェブページ部分デスクトップウィンドウが閉じられるとき、前記第1のウェブブラウザインスタンスを終了するステップ
    をさらに備えるステップを行うためのプロセッサ実行可能命令により構成される、請求項7に記載のコンピューティングデバイス。
  12. 前記プロセッサは、
    前記第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するステップと、
    前記受信されたユーザ入力に基づいて、前記デスクトップ表示内で前記第1のウェブページ部分デスクトップウィンドウを動かすステップと、
    をさらに備えるステップを行うためのプロセッサ実行可能命令により構成される、請求項7に記載のコンピューティングデバイス。
  13. コンピューティングデバイスであって、
    スクトップ表示上のエリアを定義するユーザ入力を受信する手段と、
    第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを前記第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングする手段であって、前記第1のピクセルバッファは、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトではない手段と、
    前記第1のウェブブラウザインスタンスの前記レンダリングエンジンに、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供する手段と、
    第1のウェブページ部分デスクトップウィンドウを作成する手段と、
    前記第1のウェブページ部分デスクトップウィンドウのピクセル出力を、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの部分と同期させる手段とを備え、
    第1のウェブページ部分デスクトップウィンドウを作成する手段は、前記受信されたユーザ入力によって定義された前記デスクトップ表示上の前記エリア内で、前記第1のウェブページ部分デスクトップウィンドウを作成する手段を備えるコンピューティングデバイス。
  14. 前記第1のウェブブラウザインスタンスによって、前記第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理する手段と、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファのコンテンツを、前記第1のウェブページ部分デスクトップウィンドウ内の前記ユーザ入力イベントに基づいて更新する手段とをさらに備える、請求項13に記載のコンピューティングデバイス。
  15. 第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成する手段と、
    前記コンピューティングデバイスのディスプレイ上に、前記作成されたウィンドウオブジェクトを表示する手段とをさらに備える、請求項13に記載のコンピューティングデバイス。
  16. 前記ウェブページは、
    ビデオコンテンツエリアを備えるHTML文書によって定義されたウェブページを備える、請求項13に記載のコンピューティングデバイス。
  17. 前記第1のウェブページ部分デスクトップウィンドウが閉じられるとき、前記第1のウェブブラウザインスタンスを終了する手段をさらに備える、請求項13に記載のコンピューティングデバイス。
  18. 前記第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信する手段と、
    前記受信されたユーザ入力に基づいて、前記デスクトップ表示内で前記第1のウェブページ部分デスクトップウィンドウを動かす手段とをさらに備える、請求項13に記載のコンピューティングデバイス。
  19. コンピュータ可読記憶媒体であって、
    スクトップ表示上のエリアを定義するユーザ入力を受信するための少なくとも1つの命令と、
    第1のウェブブラウザインスタンスのレンダリングエンジンによって、第1のウェブページを前記第1のウェブブラウザインスタンスの第1のピクセルバッファにレンダリングするための少なくとも1つの命令であって、前記第1のピクセルバッファは、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトではない、少なくとも1つの命令と、
    前記第1のウェブブラウザインスタンスの前記レンダリングエンジンに、前記デスクトップ表示上で閲覧可能なウィンドウの子オブジェクトである第2のピクセルバッファを有する、第2のウェブブラウザインスタンスの特徴を提供するための少なくとも1つの命令と、
    第1のウェブページ部分デスクトップウィンドウを作成するための少なくとも1つの命令と、
    前記第1のウェブページ部分デスクトップウィンドウのピクセル出力を、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの部分と同期させるための少なくとも1つの命令と、
    を備え、
    前記第1のウェブページ部分デスクトップウィンドウを作成するための前記少なくとも1つの命令は、前記受信されたユーザ入力によって定義された前記デスクトップ表示上の前記エリア内で、前記第1のウェブページ部分デスクトップウィンドウを作成するための少なくとも1つの命令を備えるコンピュータ可読記憶媒体。
  20. 前記コンピュータ可読記憶媒体は、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブページ部分デスクトップウィンドウ内のユーザ入力イベントを、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファの対応する部分内のユーザ入力イベントとして処理するための少なくとも1つの命令と、
    前記第1のウェブブラウザインスタンスによって、前記第1のウェブブラウザインスタンスの前記第1のピクセルバッファのコンテンツを、前記第1のウェブページ部分デスクトップウィンドウ内の前記ユーザ入力イベントに基づいて更新するための少なくとも1つの命令とをさらに備える、請求項19に記載のコンピュータ可読記憶媒体。
  21. 第1のウェブページ部分デスクトップウィンドウのためのウィンドウオブジェクトを作成するための少なくとも1つの命令と、
    ンピューティングデバイスのディスプレイ上に、前記作成されたウィンドウオブジェクトを表示するための少なくとも1つの命令とをさらに備える、請求項19に記載のコンピュータ可読記憶媒体。
  22. 前記ウェブページは、
    ビデオコンテンツエリアを備えるHTML文書によって定義されたウェブページを備える、請求項19に記載のコンピュータ可読記憶媒体。
  23. 前記第1のウェブページ部分デスクトップウィンドウが閉じられるとき、前記第1のウェブブラウザインスタンスを終了するための少なくとも1つの命令をさらに備える、請求項19に記載のコンピュータ可読記憶媒体。
  24. 前記第1のウェブページ部分デスクトップウィンドウの位置を変えるためのユーザ入力を受信するための少なくとも1つの命令と、
    前記受信されたユーザ入力に基づいて、前記デスクトップ表示内で前記第1のウェブページ部分デスクトップウィンドウを動かすための少なくとも1つの命令とをさらに備える、請求項19に記載のコンピュータ可読記憶媒体。
JP2012508742A 2009-05-01 2010-04-29 グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置 Expired - Fee Related JP5430743B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/434,086 2009-05-01
US12/434,086 US8448074B2 (en) 2009-05-01 2009-05-01 Method and apparatus for providing portioned web pages in a graphical user interface
PCT/US2010/033016 WO2010129394A1 (en) 2009-05-01 2010-04-29 Method and apparatus for providing scraped web pages in a graphical user interface

Publications (2)

Publication Number Publication Date
JP2012525652A JP2012525652A (ja) 2012-10-22
JP5430743B2 true JP5430743B2 (ja) 2014-03-05

Family

ID=42556841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012508742A Expired - Fee Related JP5430743B2 (ja) 2009-05-01 2010-04-29 グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置

Country Status (7)

Country Link
US (2) US8448074B2 (ja)
EP (1) EP2425359A1 (ja)
JP (1) JP5430743B2 (ja)
KR (1) KR101201274B1 (ja)
CN (1) CN102414682B (ja)
BR (1) BRPI1011968A2 (ja)
WO (1) WO2010129394A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007074697A1 (ja) * 2005-12-26 2007-07-05 Ibm Japan, Ltd. 複数の表示オブジェクトの表示を操作するための方法、プログラム、データ処理システム
US8448074B2 (en) 2009-05-01 2013-05-21 Qualcomm Incorporated Method and apparatus for providing portioned web pages in a graphical user interface
US8140646B2 (en) * 2009-06-04 2012-03-20 Microsoft Corporation Network application performance enhancement using speculative execution
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
US8473574B2 (en) * 2010-05-20 2013-06-25 Microsoft, Corporation Automatic online video discovery and indexing
KR101709130B1 (ko) * 2010-06-04 2017-02-22 삼성전자주식회사 휴대 단말기의 메시지 리스트 표시 방법 및 장치
US8756488B2 (en) 2010-06-18 2014-06-17 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US20120144289A1 (en) * 2010-12-03 2012-06-07 James Morley-Smith Displaying a Portion of a First Application Over a Second Application
US9063776B2 (en) * 2011-05-27 2015-06-23 Microsoft Technology Licensing, Llc Application activation framework
JP2012252588A (ja) * 2011-06-03 2012-12-20 Toshiba Tec Corp 情報処理装置、プログラムおよび情報処理システム
US8650188B1 (en) 2011-08-31 2014-02-11 Google Inc. Retargeting in a search environment
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
CN103067423B (zh) 2011-10-20 2015-10-14 腾讯科技(深圳)有限公司 浏览器内核适配的方法和浏览器
US9021383B2 (en) * 2011-12-13 2015-04-28 Lenovo (Singapore) Pte. Ltd. Browsing between mobile and non-mobile web sites
US9292504B2 (en) * 2011-12-15 2016-03-22 Verizon Patent And Licensing Inc. Context generation from active viewing region for context sensitive searching
US9177076B2 (en) * 2012-01-05 2015-11-03 Microsoft Technology Licensing, Llc Reducing ad impact to browser onload event
US10296558B1 (en) * 2012-02-27 2019-05-21 Amazon Technologies, Inc. Remote generation of composite content pages
KR101990450B1 (ko) * 2012-03-08 2019-06-18 삼성전자주식회사 웹 페이지 상에서 본문 추출을 위한 방법 및 장치
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US8887178B1 (en) * 2012-10-23 2014-11-11 Google Inc. Method to customize native operating system views using web technologies in mobile devices
CN103853420B (zh) * 2012-12-06 2017-07-18 腾讯科技(深圳)有限公司 自定义浏览器窗口形状的信息展示方法及信息展示装置
US9761034B2 (en) 2013-06-09 2017-09-12 Apple Inc. Animation emulating live web page content resizing
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10282395B2 (en) 2013-11-15 2019-05-07 Sap Se Handling timer-based resizing events based on activity detection
US9692633B2 (en) 2013-11-15 2017-06-27 Sap Se Role-based resource navigation
KR20150072819A (ko) 2013-12-20 2015-06-30 삼성전자주식회사 전자장치에서 디지털 콘텐츠를 디스플레이하기 위한 방법 및 장치
US9383971B2 (en) 2014-06-26 2016-07-05 International Business Machines Corporation Mobilize website using representational state transfer (REST) resources
US10216855B2 (en) 2014-06-26 2019-02-26 International Business Machines Corporation Mobilizing an existing web application
US9959363B2 (en) 2014-06-26 2018-05-01 International Business Machines Corporation Self-documentation for representational state transfer (REST) application programming interface (API)
US10097440B2 (en) 2014-06-26 2018-10-09 International Business Machines Corporation User interface element adjustment using web analytics
US9619120B1 (en) 2014-06-30 2017-04-11 Google Inc. Picture-in-picture for operating systems
US9141515B1 (en) 2014-07-15 2015-09-22 Sap Se Limiting display content in editor for large data volumes
JP2016035705A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
JP2016035706A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
US20160140609A1 (en) * 2014-11-14 2016-05-19 Facebook, Inc. Visualizing Audience Metrics
CN107491289B (zh) * 2016-06-12 2023-01-24 阿里巴巴(中国)有限公司 一种窗口渲染方法及装置
US10671798B2 (en) * 2018-02-01 2020-06-02 Google Llc Digital component backdrop rendering
CN110362771A (zh) * 2019-07-26 2019-10-22 北京明略软件***有限公司 页面缓存的方法及装置、存储介质和电子装置
CN111209503B (zh) * 2020-01-03 2023-07-14 北京字节跳动网络技术有限公司 网页中弹窗的处理方法、装置、电子设备、及存储介质
CN114115619B (zh) * 2020-08-31 2024-07-05 华为技术有限公司 一种应用程序界面显示的方法及电子设备
CN113486222A (zh) * 2021-05-17 2021-10-08 国网河北省电力有限公司衡水供电分公司 电力数据展示界面的展示方法、用户终端、服务器及***
US11941341B2 (en) * 2022-02-28 2024-03-26 Apple Inc. Intelligent inset window placement in content
WO2023187071A1 (en) * 2022-04-01 2023-10-05 VIDAA (Netherlands) International Holdings B.V. Display apparatus

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04324497A (ja) * 1991-04-24 1992-11-13 Nec Shizuoka Ltd マルチウィンドウシステム
US6216141B1 (en) * 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US5801691A (en) * 1996-12-31 1998-09-01 International Business Machines Corporation Method and apparatus for mobile device screen reformatting utilizing hypertext
US5798759A (en) * 1996-12-31 1998-08-25 International Business Machines Corporation Method and apparatus for mobile device screen reformatting
US6278448B1 (en) * 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
EP1096793B1 (en) * 1999-10-25 2004-09-22 Spotware Technologies, Inc. System, method, signal, user interface and software to display thumbnail banners
AU2001247950A1 (en) 2000-02-02 2001-08-14 Ezlogin.Com, Inc. Clipping and manipulating elements contained in a web page
US6993575B2 (en) * 2000-02-22 2006-01-31 Oracle International Corporation Using one device to configure and emulate web site content to be displayed on another device
JP2007317220A (ja) * 2000-05-08 2007-12-06 Fujitsu Ltd 情報表示装置、媒体、およびプログラム
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP2002132410A (ja) * 2000-10-30 2002-05-10 Mitsubishi Paper Mills Ltd Wwwブラウザ
US7221370B1 (en) * 2001-01-26 2007-05-22 Palmsource, Inc. Adaptive content delivery
WO2003040955A1 (en) 2001-11-06 2003-05-15 Farooq Khan Method and apparatus for capturing and displaying web page information
US20030156131A1 (en) * 2002-02-21 2003-08-21 Samir Khazaka Method and apparatus for emulating a mobile device
JP2003281093A (ja) * 2002-03-26 2003-10-03 Rikogaku Shinkokai ブラウザにおけるリンク先情報の閲覧方法及び装置
EP1377023A1 (en) * 2002-06-28 2004-01-02 Océ-Technologies B.V. Image scanning and processing system, method of scanning and processing image and method of selecting one of a plurality of master files comprising data encoding a scanned image
US20040098360A1 (en) * 2002-11-15 2004-05-20 Humanizing Technologies, Inc. Customized life portal
US7574691B2 (en) * 2003-03-17 2009-08-11 Macrovision Corporation Methods and apparatus for rendering user interfaces and display information on remote client devices
US7623722B2 (en) * 2003-10-24 2009-11-24 Eastman Kodak Company Animated display for image manipulation and correction of digital image
US20050186913A1 (en) * 2004-02-24 2005-08-25 Research In Motion Limited Remote user interface
US7278092B2 (en) * 2004-04-28 2007-10-02 Amplify, Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
JP2005346309A (ja) * 2004-06-01 2005-12-15 Canon Inc 情報処理装置及びその制御方法、プログラム
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
JP2009508274A (ja) * 2005-09-13 2009-02-26 スペースタイムスリーディー・インコーポレーテッド 3次元グラフィカル・ユーザ・インターフェースを提供するシステム及び方法
US20070067305A1 (en) * 2005-09-21 2007-03-22 Stephen Ives Display of search results on mobile device browser with background process
US8004535B2 (en) * 2006-06-01 2011-08-23 Qualcomm Incorporated Apparatus and method for selectively double buffering portions of displayable content
US9064028B2 (en) * 2007-04-04 2015-06-23 The Hong Kong University Of Science And Technology Custom rendering of webpages on mobile devices
US20100211893A1 (en) * 2009-02-19 2010-08-19 Microsoft Corporation Cross-browser page visualization presentation
US8448074B2 (en) 2009-05-01 2013-05-21 Qualcomm Incorporated Method and apparatus for providing portioned web pages in a graphical user interface
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices

Also Published As

Publication number Publication date
KR20120024700A (ko) 2012-03-14
US20100281400A1 (en) 2010-11-04
WO2010129394A1 (en) 2010-11-11
US20130239028A1 (en) 2013-09-12
JP2012525652A (ja) 2012-10-22
BRPI1011968A2 (pt) 2019-04-09
CN102414682B (zh) 2014-09-17
US8645849B2 (en) 2014-02-04
US8448074B2 (en) 2013-05-21
KR101201274B1 (ko) 2012-11-23
EP2425359A1 (en) 2012-03-07
CN102414682A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
JP5430743B2 (ja) グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置
CN102117290B (zh) 一种展现网页中页面元素的方法及***
US7836409B2 (en) Systems and methods for using interaction information to deform representations of digital content
US9600595B2 (en) Modification of windows across multiple displays
US8887085B1 (en) Dynamic content navigation
KR101159390B1 (ko) 페이지 매겨진 콘텐트를 디스플레이하고 이와 대화하기위한 방법 및 시스템
JP5769280B2 (ja) ブランド化されたブラウザーフレーム
US7716687B2 (en) System and method for sharing resources between web applications
US9135022B2 (en) Cross window animation
US20060224951A1 (en) Multiple window browser interface and system and method of generating multiple window browser interface
US20120304068A1 (en) Presentation format for an application tile
US20150149891A1 (en) Web application theme preview based on live previews
US20120297324A1 (en) Navigation Control Availability
US8407590B1 (en) On-screen user-interface graphic
JP2014149860A (ja) 携帯型多機能端末の情報表示方法及びそれを用いた情報表示システム、並びに携帯型多機能端末
WO2014067442A1 (en) Page browsing method and browser
JP6975339B2 (ja) デジタルコンポーネントのバックドロップレンダリング
JP2019008668A (ja) クライアントデバイス、画像処理システム、画像の表示方法および、プログラム
US8726174B2 (en) Method and system for showing a display panel in a graphical user interface
JP2012064207A (ja) ホスト装置及びホスト装置のコンテンツ表示方法
US20140129927A1 (en) Page browsing method and browser
US20100042943A1 (en) Method And Systems For Layered Presentation Of A Graphic Background And A Web Accessible Resource In A Browser Widget
US8112717B1 (en) Automatic formatting of display screen to reflect past correlative changes to data display windows
US20070006088A1 (en) System and method for providing collaboration resources between web applications
CN113688336A (zh) 页面数据的加载方法和加载装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Ref document number: 5430743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees