特許第6388962号(P6388962)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許6388962最適化されたリソーススケジューリングによるページダウンロード時間の認知
<>
  • 特許6388962-最適化されたリソーススケジューリングによるページダウンロード時間の認知 図000002
  • 特許6388962-最適化されたリソーススケジューリングによるページダウンロード時間の認知 図000003
  • 特許6388962-最適化されたリソーススケジューリングによるページダウンロード時間の認知 図000004
  • 特許6388962-最適化されたリソーススケジューリングによるページダウンロード時間の認知 図000005
  • 特許6388962-最適化されたリソーススケジューリングによるページダウンロード時間の認知 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6388962
(24)【登録日】2018年8月24日
(45)【発行日】2018年9月12日
(54)【発明の名称】最適化されたリソーススケジューリングによるページダウンロード時間の認知
(51)【国際特許分類】
   G06F 13/00 20060101AFI20180903BHJP
   G06F 3/0481 20130101ALI20180903BHJP
【FI】
   G06F13/00 540A
   G06F3/0481
【請求項の数】16
【全頁数】18
(21)【出願番号】特願2016-561691(P2016-561691)
(86)(22)【出願日】2014年5月9日
(65)【公表番号】特表2017-517059(P2017-517059A)
(43)【公表日】2017年6月22日
(86)【国際出願番号】US2014037555
(87)【国際公開番号】WO2015156825
(87)【国際公開日】20151015
【審査請求日】2017年4月28日
(31)【優先権主張番号】14/249,326
(32)【優先日】2014年4月9日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ハッチ、サイモン
(72)【発明者】
【氏名】エフテヴァーグ、オイスティン
(72)【発明者】
【氏名】ジェンティルコア、アンソニー チャールズ
【審査官】 北川 純次
(56)【参考文献】
【文献】 米国特許出願公開第2012/0159311(US,A1)
【文献】 特開2009−048344(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
アプリケーション内にウェブエレメントを提示するためのシステムであって、前記システムは、
1以上のプロセッサと、
命令が記憶されている機械可読媒体と、を備え、前記命令は前記プロセッサによって実行されるときに前記プロセッサに、
アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程と、
前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程と、
受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程と、
定義された前記優先度に基づいて前記複数のウェブエレメントから前記ウェブエレメントのサブセットを選択する工程と、
前記アプリケーション内の表示用にウェブエレメントの前記サブセットを提示する提示工程と
前記提示工程よりも前に、事前に定義されたダウンロードスケジュールに基づいてウェブエレメントの前記サブセットをダウンロードする工程と、
ダウンロードされた前記ウェブエレメントの前記サブセットを記憶する記憶工程と、
前記アプリケーション内に前記複数のウェブエレメントのうちの1以上を表示するためのリクエストを受信するリクエスト受信工程と、
前記記憶工程と前記リクエスト受信工程との間の経過時間が所定の期間内であると決定する期間決定工程と、
を含む動作を実行させ
前記期間決定工程に応じて前記サブセットが提示される、システム。
【請求項2】
前記レイアウトデータは、前記複数のウェブエレメントに対応するハイパーテキストマークアップランゲージ(HTML)に基づいて生成されるドキュメントオブジェクトモデル(DOM)ツリーに対応する、
請求項1に記載のシステム。
【請求項3】
前記複数のウェブエレメントは画像を含む、
請求項1に記載のシステム。
【請求項4】
前記複数のウェブエレメントの各々に関連付けられている前記可視性データは、各ウェブエレメントが前記アプリケーション内に表示される位置に対応する、
請求項1に記載のシステム。
【請求項5】
各ウェブエレメントについて、該ウェブエレメントに関連付けられている前記可視性データは、該ウェブエレメントに関連付けられている前記位置が前記アプリケーションの観察領域内であるか否かを示す、
請求項4に記載のシステム。
【請求項6】
各ウェブエレメントについて、前記優先度は、該ウェブエレメントに関連付けられている前記位置と前記アプリケーションの観察領域との間の距離と、該ウェブエレメントに関連付けられている表示スペースの推定量と、該ウェブエレメントに関連付けられている寸法と、該ウェブエレメントに関連付けられているフォーマットとのうち少なくとも1つに基づく、
請求項4に記載のシステム。
【請求項7】
前記動作は、前記サブセットを提示する提示工程よりも後に、前記アプリケーション内の表示用に前記複数のウェブエレメントの残りのウェブエレメントを提示する工程をさらに含む、
請求項1に記載のシステム。
【請求項8】
命令が記憶されている機械可読媒体であって、前記命令はシステムによって実行されるときに前記システムに、
アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程と、
前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程と、
受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程と、
定義された前記優先度に基づいて前記アプリケーション内の表示用に前記複数のウェブエレメントのうち1以上を提示する工程と
前記提示する工程よりも前に、事前に定義されたダウンロードスケジュールに基づいてウェブエレメントのサブセットをダウンロードする工程と、
ダウンロードされた前記ウェブエレメントの前記サブセットを記憶する記憶工程と、
前記アプリケーション内に前記複数のウェブエレメントのうちの1以上を表示するためのリクエストを受信するリクエスト受信工程と、
前記記憶工程と前記リクエスト受信工程との間の経過時間が所定の期間内であると決定する期間決定工程と、
を含む動作を実行させ
前記期間決定工程に応じて前記サブセットが提示される、機械可読媒体。
【請求項9】
前記レイアウトデータは、前記複数のウェブエレメントに対応するハイパーテキストマークアップランゲージ(HTML)に基づいて生成されるドキュメントオブジェクトモデル(DOM)ツリーに対応する、
請求項に記載の機械可読媒体。
【請求項10】
前記複数のウェブエレメントは画像を含む、
請求項に記載の機械可読媒体。
【請求項11】
前記複数のウェブエレメントの各々に関連付けられている前記可視性データは、各ウェブエレメントが前記アプリケーション内に表示される位置に対応する、
請求項に記載の機械可読媒体。
【請求項12】
各ウェブエレメントについて、該ウェブエレメントに関連付けられている前記可視性データは、該ウェブエレメントに関連付けられている前記位置が前記アプリケーションの観察領域内であるか否かを示す、
請求項11に記載の機械可読媒体。
【請求項13】
各ウェブエレメントについて、前記優先度は、該ウェブエレメントに関連付けられている前記位置と前記アプリケーションの観察領域との間の距離と、該ウェブエレメントに関連付けられている表示スペースの推定量と、該ウェブエレメントに関連付けられている寸法と、該ウェブエレメントに関連付けられているフォーマットとのうち少なくとも1つに基づく、
請求項11に記載の機械可読媒体。
【請求項14】
前記複数のウェブエレメントのうち1以上を提示する工程は、
定義された前記優先度に基づいて前記複数のウェブエレメントから前記ウェブエレメントのサブセットを選択する工程と、
前記アプリケーション内の表示用にウェブエレメントの前記サブセットを提示する工程と、を含む、
請求項に記載の機械可読媒体。
【請求項15】
前記動作は、サブセットを提示する工程よりも後に、前記アプリケーション内の表示用に前記複数のウェブエレメントの残りのウェブエレメントを提示する工程をさらに含む、
請求項に記載の機械可読媒体。
【請求項16】
アプリケーション内にウェブエレメントを提示するための方法であって、前記方法は、
アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程と、
前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程と、
受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程と、
定義された前記優先度に基づいて前記複数のウェブエレメントから前記ウェブエレメントのサブセットを選択する工程と、
前記アプリケーション内の表示用にウェブエレメントの前記サブセットを提示する提示工程と、
前記提示工程よりも前に、事前に定義されたダウンロードスケジュールに基づいてウェブエレメントの前記サブセットをダウンロードする工程と、
ダウンロードされた前記ウェブエレメントの前記サブセットを記憶する記憶工程と、
前記アプリケーション内に前記複数のウェブエレメントのうちの1以上を表示するためのリクエストを受信するリクエスト受信工程と、
前記記憶工程と前記リクエスト受信工程との間の経過時間が所定の期間内であると決定する期間決定工程と、
を備え、
前記期間決定工程に応じて前記サブセットが提示され、
前記複数のウェブエレメントの各々に関連付けられている前記可視性データは、各ウェブエレメントが前記アプリケーション内に表示される位置に対応する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はウェブアプリケーションに関し、特に、ウェブアプリケーション内のページダウンロードイベントの処理およびリソース最適化に関する。
【背景技術】
【0002】
ウェブアプリケーション(たとえば、ブラウザ)は、ワールドワイドウェブ上の情報リソースの取出、提示、およびトラバースを行うために用いられる。ページダウンロード時間は、ウェブサイトにアクセスしようとする際のユーザエクスペリエンスの重要な要素である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ウェブアプリケーション、特に、ウェブアプリケーション内のページダウンロードイベントの処理およびリソース最適化を提供する。
【課題を解決するための手段】
【0004】
開示される主題は、アプリケーション内にウェブエレメントを提示するためのシステムに関する。前記システムは、1以上のプロセッサと、命令が記憶されている機械可読媒体と、を備え、前記命令は前記プロセッサによって実行されるときに前記プロセッサに、アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程を含む動作を実行させる。前記命令はさらに、前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程を含む。前記命令はさらに、受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程を含む。前記命令はさらに、定義された前記優先度に基づいて前記複数のウェブエレメントから前記ウェブエレメントのサブセットを選択する工程を含む。前記命令はさらに、前記アプリケーション内の表示用にウェブエレメントの前記サブセットを提示する工程を含む。
【0005】
開示される主題はさらに、命令が記憶されている機械可読媒体に関する。前記命令はシステムによって実行されるときに前記システムに、アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程を含む動作を実行させる。前記命令はさらに、前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程を含む。前記命令はさらに、受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程を含む。前記命令はさらに、定義された前記優先度に基づいて前記アプリケーション内の表示用に前記複数のウェブエレメントのうち1以上を提示する工程を含む。
【0006】
開示される主題はさらに、アプリケーション内にウェブエレメントを提示するための方法に関する。前記方法は、アプリケーション内に提示するための複数のウェブエレメントに関連付けられているレイアウトデータを受信する工程を備える。前記方法はさらに、前記複数のウェブエレメントの各々に関連付けられている可視性データを受信する工程を備える。前記方法はさらに、受信された前記レイアウトデータと受信された前記可視性データとに基づいて前記複数のウェブエレメントの各ウェブエレメントについての優先度を定義する工程を備える。前記方法はさらに、定義された前記優先度に基づいて前記複数のウェブエレメントから前記ウェブエレメントのサブセットを選択する工程を備える。前記方法はさらに、前記アプリケーション内の表示用にウェブエレメントの前記サブセットを提示する工程を備える。前記複数のウェブエレメントの各々に関連付けられている前記可視性データは、各ウェブエレメントが前記アプリケーション内に表示される位置に対応する。
【図面の簡単な説明】
【0007】
図1】一実施形態によるページダウンロードイベント中のリソース最適化がウェブアプリケーション内で処理される一例のネットワーク環境を示す図。
図2】一実施形態によるリソース最適化プラットフォームを示す概略図。
図3】一実施形態によるリサーチ最適化を提供するためのプロセスを示すフローチャート。
図4】ウェブアプリケーションに関連付けられているページダウンロードイベント中のリソース最適化の一例を示すブロック図。
図5】本願の技術のいくつかの実施形態が実装される一例の電子システムを概念的に示す図。
【発明を実施するための形態】
【0008】
本願の技術の様々な構成が例示のために図示および説明される以下の詳細な説明から、当業者によって本願の技術の他の構成が容易に識別されると理解される。以下から分かるように、本願の技術の範囲を逸脱することなく、本願の技術は他の異なる構成が可能であり、そのいくつかの詳細は他の様々な点において変形が可能である。したがって、図面および詳細な説明は、本質的に例示として考えられるべきものであって、限定として考えられるものではない。
【0009】
本願の技術の特徴は、添付される請求項に示される。しかしながら、説明の便宜上、本願の技術のいくつかの実施形態は、以下の図面に示される。
以下に示す詳細な説明は、本願の技術の様々な構成の説明を意図し、本願の技術が実施される唯一の構成だけを表すことを意図しない。添付される図面は、本明細書に組み込まれ、詳細な説明の一部を構成する。詳細な説明は、本願の技術の十分な理解を提供するための具体的詳細を含む。しかしながら、本願の技術は本明細書に示される具体的詳細には限定されず、これら具体的詳細なしに実施されることは、当業者にとっては明白である。周知の事例においては、本願の技術の概念を曖昧にすることを避けるために、一定の構造および要素はブロック図で示される。
【0010】
上述の通り、ウェブアプリケーションは、ワールドワイドウェブ上の情報リソースの取出、提示、およびトラバースを行うために用いられる。ページダウンロード時間は、ウェブサイトにアクセスしようとする際のユーザエクスペリエンスの重要な要素である。しかしながら、ページダウンロード時間のユーザ認知も同様に重要である。したがって、アプリケーションの実際の速度に代えて、または加えて、アプリケーションの認知速度を向上させることが望まれる。
【0011】
本開示は、ダウンロードされるページが、実際にダウンロードされるよりも速く視覚的に完全な状態に見えるように、画像リソースのスケジューリングの最適化を提供する。一般的には、画像はリソースライブラリにおいて発見されるのと同じ順番でダウンロードされるようスケジューリングされているが、(たとえば、現在のビューポートにおいて)ユーザに最初に提示されている画像が最初にスケジューリングされていない場合もある。そうした画像がライブラリにおいて発見されるまで、ネットワークはビューポート(たとえば、ディスプレイの可視部分)外のリソース処理でビジー状態になる可能性があり、結果としてユーザエクスペリエンスが悪化する。本開示では、レイアウトの際に取得される不完全な可視性情報をキューに入れられた画像の順番を推測的に再決定するために利用することによって、認知されるページダウンロード性能を向上させる。
【0012】
ウェブアプリケーション(たとえば、ブラウザ)を用いた作業中、ページダウンロード時間のユーザ認知は、実際のページダウンロード時間と同程度に重要であるか、またはそれよりもさらに重要である。アプリケーションの速度を最適化する重要な面は、完全なコンテンツがダウンロードされている間に何らかのコンテンツがユーザに提示されるように認知速度を向上させることである。
【0013】
たとえば、コンピューティングデバイスのユーザはアプリケーションAを用いて、10秒で完全にダウンロードされて表示されるページにナビゲートし得る。一方、アプリケーションBはページを完全にダウンロードするのに12秒かかり得るものの、その5秒の時点で視覚的に完全でかつ対話可能に見えるページの何らかの表現を提示することができる。
【0014】
上記2つのユーザエクスペリエンスにおいて、実際にはアプリケーションBはページを完全にダウンロードするのにアプリケーションAよりも長い時間がかかるが、ユーザ認知では、アプリケーションBはアプリケーションAよりも速い。ページが視覚的に完全であるとユーザが認知する前に節約されるわずかな時間によって、全体的なユーザエクスペリエンスを劇的に改善することができる。何億人ものユーザが用いるアプリケーションについて考えると、このことによって1日あたりに節約される時間は莫大なものとなる。
【0015】
図1は、一実施形態によるページダウンロードイベント中のリソース最適化がウェブアプリケーション内で処理される一例のネットワーク環境を示す。ネットワーク環境100は、コンピューティングデバイス101a〜101nと、サービスプロバイダデバイス109a〜109mとを備える。コンピューティングデバイス101a〜101nとサービスプロバイダデバイス109a〜109mとは、ネットワーク105を通じて互いに通信可能である。サービスプロバイダデバイス109a〜109mは、図示しない1以上のコンピューティングデバイスと1以上のコンピュータ可読記憶デバイスとを含み得る。
【0016】
コンピューティングデバイス101a〜101nの各々は、様々な形態の処理デバイスを表し得る。例示的な処理デバイスは、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント(PDA)、セルラー式電話機、ネットワークアプライアンス、カメラ、スマートフォン、拡張汎用パケット無線システム(EGPRS)モバイルフォン、メディアプレイヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、または、これらのデータ処理デバイスもしくはその他のデータ処理デバイスの任意の組み合わせを含み得る。コンピューティングデバイス101a〜101nとサービスプロバイダデバイス109a〜109mとは、それ以外のコンピューティングデバイス101a〜101nもしくはサービスプロバイダデバイス109a〜109mのうちいずれかにおいて実行もしくは記憶されたアプリケーションソフトウェアへのアクセスを提供されるか、該アプリケーションソフトウェアを受信し得る。
【0017】
サービスプロバイダデバイス109a〜109mは、コンピューティングデバイス101a〜101nにコンテンツを提供するためのプロセッサ、メモリ、および通信能力を有する任意のシステムまたはデバイスであり得る。いくつかの態様例では、サービスプロバイダデバイス109a〜109mは、1つのコンピューティングデバイス(たとえば、コンピュータサーバ)であり得る。他の実施形態では、サービスプロバイダデバイス109a〜109mは、協働してサーバコンピュータのアクション(たとえば、クラウドコンピューティング)を実行する2以上のコンピューティングデバイスを表し得る。さらに、サービスプロバイダデバイス109a〜109mは、様々な形態のサーバを表してもよく、ウェブサーバ、アプリケーションサーバ、プロキシサーバ、ネットワークサーバ、またはサーバファームを含むが、これらに限定されない。
【0018】
いくつかの態様では、コンピューティングデバイス101a〜101nは、図示しない通信インターフェースを通じて無線通信してもよい。通信インターフェースは、必要に応じてデジタル信号処理回路を含み得る。通信インターフェースは、様々なモードまたはプロトコル(たとえば、グローバルシステムフォーモバイルコミュニケーション(GSM(登録商標))ボイスコール、ショートメッセージサービス(SMS)、拡張メッセージングサービス(EMS)、あるいは、マルチメディアメッセージングサービス(MMS)メッセージング、符号分割多元接続(CDMA)、パーソナルデジタルセルラー(PDC)、ワイドバンド符号分割多元接続(WCDMA(登録商標))、CDMA2000、または、汎用パケット無線システム(GPRS)、他の形式またはプロトコル)で通信を提供し得る。たとえば通信は、図示しない無線周波数トランシーバを通じて生じ得る。さらに、狭域通信は、たとえばBLUETOOTH(登録商標)、Wi−Fi(登録商標)、または他のそうしたトランシーバが用いられて生じ得る。
【0019】
いくつかの態様では、ネットワーク環境100は、1以上のネットワーク(たとえば、ネットワーク105)に広がる分散型クライアント/サーバシステムであり得る。ネットワーク105は、大型のコンピュータネットワーク(たとえば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、セルラーネットワーク、または、任意の数のモバイルクライアント、固定クライアント、およびサーバを接続するそれらの組み合わせ)であり得る。さらに、ネットワーク105は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層型ネットワークなどを含むネットワークトポロジーのうちの任意の1以上を含むが、これらに限定されない。いくつかの態様では、各クライアント(たとえば、コンピューティングデバイス101a〜101n)とサービスプロバイダデバイス109a〜109mとの間の通信は、バーチャルプライベートネットワーク(VPN)、セキュアシェル(SSH)トンネル、または他のセキュアネットワーク接続を介して生じ得る。いくつかの態様では、ネットワーク105はさらに、コーポレートネットワーク(たとえばイントラネット)と、1以上の無線アクセスポイントとを含み得る。
【0020】
複数の態様例では、コンピューティングデバイス101a〜101nのうちのいずれかにおけるユーザは、そのコンピューティングデバイス上のアプリケーション111а〜111n(たとえば、ウェブブラウザ)内のユーザ入力を提供し得る。このユーザ入力は、どのコンテンツをダウンロードするかを指定し得る。たとえば、ユーザ入力は、サービスプロバイダデバイス109a〜109mからどのウェブコンテンツがダウンロードされるかを指定するウェブサイトに関連付けられているユニフォームリソースロケータ(URL)アドレスであり得る。さらにユーザは、入力を行うことで、ユーザがコンピューティングデバイス101a〜101nのユーザインターフェース(UI)107a〜017а上で、ウェブサイトのどの部分をユーザが見たいか指定し得る。そのような態様例では、コンピューティングデバイス101a〜101nの各々は、リソース最適化プラットフォーム103a〜103nを含み得る。リソース最適化プラットフォーム103a〜103nは、ユーザ入力に基づいてダウンロードされたコンテンツのうちの可視であるサブセットを選択し、UI107a〜107nを介してユーザに提供し得る。
【0021】
図2は、一実施形態によるリソース最適化プラットフォームを示す概略図である。リソース最適化プラットフォーム103は、図1のリソース最適化プラットフォーム103a〜103nに類似し得る。図2に示すように、リソース最適化プラットフォーム103は、入力処理モジュール210、優先度モジュール203、コンテンツ選択モジュール205、提示モジュール207、およびデータストア209を備え得る。
【0022】
本明細書で用いられている通り、モジュールは、たとえば任意のアセンブリおよび/または動作可能に結合された複数の電気部品の集合であってもよく、たとえばメモリ、プロセッサ、電気式トレース、光コネクタ、ソフトウェア(ハードウェア内で実行する、または、実行される)などを含み得る。さらに、モジュールは、後述されるように、そのモジュールに関連付けられている1以上の特定の機能を実行することが可能である。
【0023】
リソース最適化プラットフォーム103は、コンピューティングデバイス101a〜101n上でのページダウンロードの向上された認知を提供し得る。いくつかの例では、入力処理モジュール201は、ウェブエレメントのセットに関連付けられているレイアウトデータを受信し得る。また、入力処理モジュール201は、複数のウェブエレメントの各々に関連付けられている可視性データを受信し得る。可視性データは、アプリケーション111a〜117aから受信され得る。アプリケーション111a〜117aは、たとえばウェブブラウザであり得る。しかしながら、本願の技術は、ウェブコンテンツまたはリソース(たとえば、ウェブサイト)にアクセスするための他のアプリケーション(たとえば、モバイルデバイス上のネイティブアプリケーション)にも適用可能である。いくつかの例では、優先度モジュール203は、受信されたレイアウトデータと受信された可視性データとに基づいて複数のウェブエレメントの各ウェブエレメントについての優先度を定義する。いくつかの例では、コンテンツ選択モジュール205は、定義された優先度に基づいて複数のウェブエレメントからウェブエレメントのサブセットを選択し得る。いくつかの例では、提示モジュール207は、アプリケーション内の表示用に選択されたウェブエレメントのサブセットを提示し得る。たとえば、提示モジュール207は、アプリケーション111a〜117nに対してウェブエレメントのサブセットを送信し得る。
【0024】
図3は、一実施形態によるリサーチ最適化を提供するためのプロセスを示すフローチャートである。図3図1および図2を参照して説明されるが、本願の技術はそのようなものに限定されず、他のコンピューティングデバイスやシステムにも適用可能である。ブロック301において、入力処理モジュール201は、アプリケーション内に提示するためのウェブエレメント(たとえば、画像、テキスト、または他のウェブコンテンツ)のセットに関連付けられているレイアウトデータを受信し得る。レイアウトデータは、ウェブエレメントのセットの各エレメントに位置を関連付け得る。レイアウトデータはたとえば、ハイパーテキストマークアップランゲージ(HTML)ファイル内でサービスプロバイダデバイス109a〜109mによって提供され得る。HTMLファイルは、ネットワーク105を通じてサービスプロバイダデバイス109a〜109mからアプリケーション111a〜111nによってダウンロードされてもよく、コンピューティングデバイス101a〜101n上のローカルストレージ(図1には図示せず)に記憶されてもよい。図1のアプリケーション111a〜111nは、HTMLファイルを処理し、そのHTMLファイルからレイアウトデータを取得してもよい。アプリケーション111a〜117nはその後、取得したレイアウトデータをリソース最適化プラットフォーム103a〜103nに対して送信し得る。いくつかの例では、リソース最適化プラットフォーム103a〜103nは、コンピューティングデバイス101a〜101n上のHTMLファイルに直接的にアクセスし、レイアウトデータを取得し得る。入力処理モジュール201は、レイアウトデータを受信し、データストア209にそのレイアウトデータを記憶し得る。
【0025】
ブロック303において、リソース最適化プラットフォーム103は、複数のウェブエレメントの各々に関連付けられている可視性データを受信し得る。可視性データは、アプリケーション111a〜111nから受信され得る。可視性データは、レイアウトの観察領域(viewing region)に基づいて、レイアウトデータから、コンピューティングデバイス101a〜101nのUI107a〜107n上で可視であるウェブエレメントのサブセットを示し得る。入力処理モジュール201は、アプリケーション111a〜111nから可視性データを受信し、データストア209にその可視性データを記憶し得る。
【0026】
ブロック305において、優先度モジュール203は、受信されたレイアウトデータと受信された可視性データとに基づいて、複数のウェブエレメントから各ウェブエレメントについての優先度を定義する。たとえば、優先度モジュール203は、レイアウト内のウェブエレメントに関連付けられている位置とUI107a〜107n上のレイアウトの観察領域との間の距離に基づいて、ウェブエレメントについての優先度を定義し得る。優先度モジュール203は、複数のウェブエレメントについて定義された優先度をデータストア209に記憶し得る。
【0027】
ブロック307において、コンテンツ選択モジュール205は、定義された優先度に基づいて複数のウェブエレメントからウェブエレメントのサブセットを選択し得る。たとえば、ウェブエレメントは、そのウェブエレメントとUI107a〜107nの観察領域との間の距離が事前に定義された閾値よりも短い場合、コンテンツ選択モジュール205によって選択され得る。観察領域からの距離が事前に定義された閾値よりも長い場合、残りのウェブエレメントは選択され得ない。選択されたウェブエレメントのサブセットは、データストア209に記憶され得る。
【0028】
ブロック309において、提示モジュール207は、アプリケーション内の表示用に選択されたウェブエレメントのサブセットを提示し得る。たとえば、提示モジュール207は、アプリケーション111a〜111nに対してウェブエレメントのサブセットを送信し得る。アプリケーション111a〜111nはその後、ウェブエレメントのサブセットに関連付けられているコンテンツをコンピューティングデバイス101a〜101nのUI107a〜107n上に表示し得る。いくつかの例では、アプリケーション111a〜111nは、ウェブエレメントのサブセットを事前に定義されたダウンロードスケジュールに基づいて、そのウェブエレメントのサブセットをUI107a〜107n上に提示するよりも前にダウンロードし得る。
【0029】
図4は、ウェブアプリケーションに関連付けられているページダウンロードイベント中のリソース最適化の一例を示すブロック図である。図4図1および図2を参照して説明されるが、本願の技術はそのようなものに限定されず、他のコンピューティングデバイスやシステムにも適用可能である。いくつかの例では、図2のリソース最適化プラットフォーム103は、コンピューティングデバイス101a〜101nのUI107a〜107n上に表示されるページが視覚的に完全な状態により速く見えるように、ウェブエレメント(たとえば、画像リソース)のスケジューリングを最適化する。従来のシステムにおいて、画像はHTMLファイル内で発見されるのと同様の順番でダウンロードされるようスケジューリングされる場合がある。たとえば、HTMLファイルに定義された通りのレイアウト104は、ウェブエレメント403a〜403fを含み得る。ウェブエレメント403a〜403fの各々は、レイアウト401に対しての位置を有し得る。たとえば、ウェブエレメント403a〜403fの位置は、軸407および409によって表される2次元領域に対しての各ウェブエレメントに関連付けられる座標によって定義され得る。しかしながら、ウェブエレメント403a〜403fがレイアウト401に関連付けられるHTMLファイル内に見える順番は、ウェブエレメントが観察領域(たとえば、ビューポート)405内に見えるのと同一の順番であるとは限らない。たとえば、アプリケーション111a〜111nがレイアウト401に関連付けられているHTMLファイル内でウェブエレメント403bを発見するまで、ネットワーク105は、観察領域405の外部におけるウェブエレメントなどのリソース(たとえば、ウェブエレメント403f)をダウンロードしている可能性がある。そういった例では、コンピューティングデバイス101a〜101nのユーザは、ウェブエレメント403bをダウンロードする際に遅延を経験し得る。
【0030】
いくつかの例では、リソース最適化プラットフォーム103は、たとえば、最初のダウンロードの順番とは異なる可能性があるが、ウェブエレメント403fよりも前にウェブエレメント403bをダウンロードすることによって、キューに入れられたウェブエレメントの順番を推測的に再決定するためにレイアウトの際に取得される不完全な可視性情報を利用する。優先度モジュール203は、各ウェブエレメント403a〜403fの優先度をウェブエレメントについての得点として実装し得る。得点は、ウェブエレメントと観察領域405との間の距離、観察領域405内で利用可能である表示スペース、ウェブエレメントの寸法などの要素に基づいて調整される。その後、ウェブエレメント403a〜403fのサブセットを選択する際に(図3のブロック307に見られるように)、コンテンツ選択モジュール205は、ウェブエレメント403a〜403fについての優先度の得点を比較し、最も高い得点を有するウェブエレメントをアプリケーション111a〜111n内に提示されるものとして選択し得る。たとえば、事前に定義された閾値を満たすウェブエレメントが表示され得る。これに代えて、またはこれに加えて、ウェブエレメントは得点に基づいてランクが付けられる可能性があり、それらのウェブエレメントはランク付けに基づいて表示される(たとえば、所定数のウェブエレメントが最初に表示される)。
【0031】
優先度モジュール203は、最初に既定の優先度をウェブエレメント403a〜403fの全てに関連付けてもよく、レイアウトデータが利用可能になった時点で、可視になり得る任意のウェブエレメントについての該優先度を高めてもよい。これは、ウェブエレメントと観察領域405との間の距離に基づいて優先順位を付けることによって、さらに改良され得る。たとえば、ウェブエレメント403a〜403fの中で、ウェブエレメント403aは観察領域405から最も近い距離と関連付けられてもよく、ウェブエレメント403fは観察領域405から最も遠い距離を有してもよい。さらに、優先度モジュール203は、ウェブエレメントに関連付けられている表示スペースの推定量、ウェブエレメントに関連付けられている寸法、またはウェブエレメントに関連付けられているフォーマットに基づいて、ウェブエレメント403a〜403fの優先順位を付けてもよい。
【0032】
いくつかの例では、レイアウト401は、ダウンロードが完了するまでアプリケーション111a〜111nによって複数回更新される。そのような例では、リソース最適化プラットフォーム103は、図3に関して説明されたような動作を各レイアウト401に対して実行してもよく、レイアウトと各レイアウトに関連付けられている可視性とに基づいてウェブエレメントをダウンロードしてもよい。たとえば、レイアウトデータ401は、ハイパーテキストマークアップランゲージ(HTML)に基づいて生成されるドキュメントオブジェクトモデル(DOM)ツリーに対応し得る。そのような例では、ダウンロードが完了するまで、DOMツリーは各レイアウトの更新に伴って修正される。ユーザがスクロールを上または下に行って観察領域405が更新されるとき、または、アプリケーション111a〜111nによって新しいレイアウトが提供されるとき、レイアウト401は更新され得る。
【0033】
いくつかの例では、リソース最適化プラットフォーム103は、様々な技術を用いてウェブエレメント403a〜403fと観察領域405との間の距離を決定し得る。たとえば、リソース最適化プラットフォーム103は、ポイントテストを用いて、ウェブエレメント403a〜403fに関連付けられている位置が観察領域405の境界の内側にあるのか、境界からの距離の分だけ観察領域405の境界の外側にあるのかどうかを決定し得る。ポイントテストはたとえば、ウェブエレメント403a〜403fに対応する位置に関連付けられている1以上のポイントが、観察領域405の全てのエレメント(たとえば、縁部)と同じ側に位置するのか、エレメントとは異なる側に位置するのかを確認することによって、クロス積の関数を用いて実装される。
【0034】
いくつかの例では、リソース最適化プラットフォーム103はウェブエレメントの優先度を決定するために確率解析を用い得る。たとえば、優先度モジュールは、複数のレイアウトについてのリソース最適化と関連付けられているデータ履歴をデータストア209に記憶し、データを分析し、分析結果に基づいて優先度を決定し得る。
【0035】
いくつかの例において、リソース最適化プラットフォーム103は、ダウンロードされたウェブエレメント403a〜403fのサブセットをデータストア209に記憶し得る。リソース最適化プラットフォーム103は、アプリケーション内にウェブエレメント403a〜403fのうちの1以上を表示するためのリクエストを受信し得る。たとえば、リソース最適化プラットフォーム103は、アプリケーション111a〜111nからリクエストを受信し得る。リクエストを受信すると、コンテンツ選択モジュール205は、ダウンロードされたサブセットを記憶することとリクエストを受信することとの間の経過時間が所定の期間内であるか否かを決定し得る。経過時間が所定の期間内である場合、提示モジュール207は、記憶されたサブセットをUI107a〜107n上に表示されるものとしてアプリケーション111a〜111nに対して提示し得る。一方、経過時間が所定の期間内でない場合(たとえば、ダウンロードされたサブセットが保存されてから長時間経過した場合)、図3に関して上記の通り説明されたように、優先度モジュール203は各ウェブエレメント403a〜403fについての更新された優先度を定義してもよく、コンテンツ選択モジュール205は定義された優先度に基づいてウェブエレメントの新しいサブセットを選択してもよい。このように、ダウンロードプロセスを繰り返す必要なく、サブセットがダウンロードされた後の期間、保存されたダウンロードされたサブセットを再び用いることができる。これによって、ダウンロード時間を減少させることができ、アプリケーション111a〜111n内の観察領域405における表示用のウェブエレメントのサブセットに関連付けられているデータ提示の速度を増加させることができる。
【0036】
図5は、本願の技術のいくつかの実施形態が実装される一例の電子システム500を概念的に示す。電子システム500は、コンピュータ(たとえば、電話機、PDA)であってもよいし、他の任意の電子デバイスであってもよい。このような電子システムは、様々な種類のコンピュータ可読媒体と、他の様々な種類のコンピュータ可読媒体に関するインターフェースとを含む。電子システム500は、バス508、1または複数の処理ユニット512、システムメモリ504、読出専用メモリ(ROM)510、パーマネントストレージデバイス502、入力デバイスインターフェース514、出力デバイスインターフェース506、およびネットワークインターフェース516を含む。
【0037】
バス508は、電子システム500の多数の内部デバイスを通信可能に接続する全てのシステムと、周辺機器と、チップセットバスとを集合的に表す。たとえば、バス500は、1または複数の処理ユニット512を、ROM510と、システムメモリ504と、パーマネントストレージデバイス502とに通信可能に接続する。
【0038】
1または複数の処理ユニット512は、本開示のプロセスを実行するために、これらの様々なメモリユニットから実行対象の命令と処理対象のデータとを取り出す。1または複数の処理ユニットは、異なる実施形態において、単一のプロセッサであってもよいし、マルチコアプロセッサであってもよい。
【0039】
ROM510は、1または複数の処理ユニット512と電子システムの他のモジュールとによって必要とされる静的データと命令とを記憶する。一方、パーマネントストレージデバイス502は、読出/書込メモリデバイスである。このデバイスは、電子システム500がオフであるときでも命令とデータとを記憶する不揮発性メモリユニットである。本開示のいくつかの実施形態では、パーマネントストレージデバイス502としてマスストレージデバイス(たとえば、磁気または光ディスク、および、対応するディスクドライブ)が用いられる。
【0040】
他の実施形態では、パーマネントストレージデバイス502としてリムーバブルストレージデバイス(たとえば、フロッピー(登録商標)ディスク、フラッシュドライブ、対応するディスクドライブ)が用いられる。システムメモリ504は、パーマネントストレージデバイス502と同様に、読出/書込メモリデバイスである。しかしながら、システムメモリ504は、ストレージデバイス502とは異なり、揮発性読出/書込メモリ(たとえば、ランダムアクセスメモリ)である。システムメモリ504は、ランタイムにおいてプロセッサが必要とする命令とデータとのいくつかを記憶する。いくつかの実施形態においては、本開示のプロセスは、システムメモリ504、パーマネントストレージデバイス502、またはROM510に記憶される。たとえば、様々なメモリユニットは、いくつかの実施形態に従ってウェブエレメントを提示するための命令を含む。1または複数の処理ユニット512は、いくつかの実施形態のプロセスを実行するために、これらの様々なメモリユニットから実行予定の命令と処理予定のデータとを取り出す。
【0041】
さらにバス508は、入力デバイスインターフェース514と出力デバイスインターフェース506とに接続する。入力デバイスインターフェース514によって、ユーザが情報を通信し、電子システムに対するコマンドを選択することが可能になる。入力デバイスインターフェース514とともに用いられる入力デバイスは、たとえば、英数字キーボード、ポインティングデバイス(「カーソルコントロールデバイス」とも称される)を含む。出力デバイスインターフェース506によって、たとえば、電子システム500によって生成された画像の表示が可能になる。出力デバイスインターフェース506とともに用いられる出力デバイスは、たとえば、プリンタ、ディスプレイデバイス(ブラウン管(CRT)または液晶ディスプレイ(LCD)など)を含む。いくつかの実施形態は、入力および出力デバイスの両方として機能するタッチスクリーンなどのデバイスを含む。
【0042】
最後に、図5に示すように、バス508はさらに電子システム500を、ネットワークインターフェース516を介して図示しないネットワークに接続する。このように、コンピュータは、コンピュータのネットワーク(たとえば、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、イントラネット)の一部、または、複数のネットワークのうちの1つのネットワーク(たとえば、インターネット)であってもよい。任意の、または、すべての電子システム500の要素が、本開示とともに用いられる。
【0043】
上述のフィーチャおよびアプリケーションのうち多くは、コンピュータ可読記憶媒体(コンピュータ可読媒体とも称される)上に記録される一組の命令として記述されるソフトウェアプロセスとして実装される。これらの命令が1以上の処理ユニット(たとえば、1以上のプロセッサ、プロセッサコア、他の処理ユニット)によって実行されるとき、これらの命令によって、処理ユニットは当該命令に示されるアクションを行う。コンピュータ可読媒体の例として、CD−ROM、フラッシュドライブ、RAMチップ、ハードドライブ、EPROMが含まれるが、コンピュータ可読媒体の例はこれらに限定されない。コンピュータ可読媒体は、無線または有線接続で送出される搬送波および電子信号を含まない。
【0044】
本明細書においては、用語「ソフトウェア」は、読出専用メモリ内のファームウェア、または、プロセッサによって処理を行うためのメモリに読み込まれる磁気ストレージを含むことが意図されている。また、いくつかの実施形態では、本開示の複数のソフトウェア態様は、区別がなされる本開示のソフトウェア態様でありつつ、より大きなプログラムの下位区分として実装される。いくつかの実施形態では、複数のソフトウェア態様は別個のプログラムとして実装される。そして、本明細書に記載されるソフトウェア態様を同時に実装する別個のプログラムは、いずれも本願の技術の範囲内にある。いくつかの実施形態では、ソフトウェアプログラムは、インストールされて1以上の電子システムを操作する際、該ソフトウェアプログラムの操作を実行する1以上の特定の機械の実装を規定する。
【0045】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも称される)は、任意の形式のプログラミング言語(たとえば、コンパイル済みまたはインタプリット済み言語、宣言型言語または手続型言語)で書かれてもよく、どのような形式で配置されてもよい(たとえば、スタンドアロンプログラム、モジュール、コンポーネント、サブルーチン、オブジェクト、コンピューティング環境においての使用が相応しい他のユニットを含む)。コンピュータプログラムは、ファイルシステム内のファイルと対応してもよいが、これに限定されない。プログラムは、他のプログラムやデータを保持するファイルの一部分(マークアップ言語ドキュメントに記憶される1以上のスクリプト)、対象プログラム専用の1つのファイル、または複数の調整ファイル(たとえば、1以上のモジュール、サブプログラム、コードを部分的に記憶するファイル)に記憶される。コンピュータプログラムは、1つのサイトに位置するか、もしくは複数のサイトに広がり、通信ネットワークによって相互接続される1つのコンピュータまたは複数のコンピュータ上で実行されるように配置される。
【0046】
これら上述の機能は、デジタル電子回路、コンピュータソフトウェア、ファームウェア、またはハードウェアにより実装されることができる。上述の技術は、1以上のコンピュータプログラム製品を用いて実装される。プログラマブルプロセッサおよびコンピュータは、モバイルデバイスに含まれてもよいし、モバイルデバイスとしてパッケージされてもよい。プロセスおよびロジックフローは、1以上のプログラマブルプロセッサと1以上のプログラマブル論理回路とによって行われる。汎用および専用のデバイスと、ストレージデバイスとは、通信ネットワークを通じて相互接続される。
【0047】
いくつかの実施形態は電子部品(たとえば、機械可読またはコンピュータ可読媒体(あるいは、コンピュータ可読記憶媒体、機械可読媒体、機械可読記憶媒体とも称される)におけるコンピュータプログラムの命令を記憶するマイクロプロセッサ、ストレージ、メモリ)を含む。このようなコンピュータ可読媒体のいくつかの例には、RAM、ROM、読出専用コンパクトディスク(CD−ROM)、記録可能コンパクトディスク(CD−R)、書換可能コンパクトディスク(CD−RW)、読出専用デジタル多用途ディスク(たとえば、DVD−ROM、2層DVD−ROM)、種々の記録可能/書換可能DVD(たとえば、DVD−RAM、DVD−RW、DVD+RW)、フラッシュメモリ(たとえば、SDカード、ミニSDカード、マイクロSDカード)、磁気またはソリッドステートハードドライブ、読出専用および記録可能Blu−ray(登録商標)ディスク、超高密度光ディスク、他の任意の光または磁気メディア、フロッピーディスクが含まれる。コンピュータ可読媒体は、少なくとも1つの処理ユニットにより実行可能であって、様々な操作を行うための複数組の命令を含むコンピュータプログラムを記憶できる。コンピュータプログラムまたはコンピュータコードの例には、たとえばコンパイラによって生成される機械コードと、インタプリタを用いてコンピュータ、電子部品、またはマイクロプロセッサによって実行される、より高レベルのコードを含むファイルと、が含まれる。
【0048】
上記議論はソフトウェアを実行するマイクロプロセッサまたはマルチコアプロセッサを指しているが、いくつかの実施形態は1以上の集積回路(たとえば、特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA))によって実行される。いくつかの実施形態では、このような集積回路は回路上自体に記憶される命令を実行する。
【0049】
本明細書および本願の任意の請求項で用いられる通り、用語「コンピュータ」、「サーバ」、「プロセッサ」および「メモリ」はすべて、電子または他の技術分野のデバイスのことを指す。これらの用語から、人または人の集団は除外される。本明細書上では、用語「表示」または「表示する」は、電子デバイス上での表示を意味する。本明細書および本願の任意の請求項で用いられる通り、用語「コンピュータ可読媒体」「複数のコンピュータ可読媒体」は全体として、コンピュータによって読み込まれる形式の情報を記憶する有形の物理的な物体に限定される。これらの用語から、無線信号、有線ダウンロード信号、および他の任意の一時的な信号は除外される。
【0050】
ユーザとの対話を提供するため、本明細書に記載される主題の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス(たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)と、キーボードと、ユーザがコンピュータに対して入力を提供できるポインティングデバイス(たとえば、マウスまたはトラックボール)と、を有するコンピュータ上で実施可能である。他の種類のデバイスも同様に、ユーザとの対話を提供するために用いられる。たとえば、ユーザに対して提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、触覚フィードバックなど)であってよいし、ユーザからの入力は任意の形式(音響、音声または触覚入力を含む)で受信されてよい。さらに、ユーザによって用いられるデバイスに対してドキュメントを送信し、該デバイスからドキュメントを受信することによって(たとえば、ユーザのクライアントデバイス上でウェブブラウザに対して、該ウェブブラウザから受信したリクエストに応じてウェブページを送信することによって)、コンピュータはユーザとの対話が可能になる。
【0051】
本明細書に記載される実施形態の主題は、バックエンドコンポーネント(たとえば、データサーバ)、ミドルウェアコンポーネント(たとえば、アプリケーションサーバ)、フロントエンドコンポーネント(たとえば、ユーザの本明細書に記載される主題の実施形態との対話を可能にするグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)、または、このようなバックエンド、ミドルウェア、およびフロントエンドコンポーネントのうち1以上の任意の組み合わせを含むコンピューティングシステムにおいて実施可能である。該システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体(たとえば、通信ネットワーク)によって相互接続される。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、および、ピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が含まれる。
【0052】
コンピューティングシステムには、クライアントおよびサーバが含まれる。クライアントおよびサーバは一般的には互いにリモートであり、典型的には通信ネットワークを介して対話する。クライアントおよびサーバの関係が生じるのは、各コンピュータ上で起動しており、互いにクライアント/サーバ関係を有するコンピュータプログラムを介してである。いくつかの実施形態においては、サーバがデータ(たとえば、HTMLページ)をクライアントデバイスに対して(たとえば、該クライアントデバイスとの対話を行うユーザに対してデータを表示する目的、および、該ユーザからユーザ入力を受信する目的で)送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信される。
【0053】
開示されるプロセスにおける工程の任意の特定の順番または階層は例示的アプローチの実例である、と理解される。デザインの嗜好に基づいて、プロセスにおける工程の特定の順番または階層は再配置されてもよい、図示される全ての工程が実行されてもよい、と理解される。いくつかの工程は同時に実行されてもよい。たとえば、ある状況においては、マルチタスキングおよびパラレルプロセッシングは効果的である。さらに、上述の実施形態における様々なシステムコンポーネントの分離については、全ての実施形態内においてそのような分離が必須であるとして理解されるべきではない。上述のプログラムコンポーネントおよびシステムは一般的に1つのソフトウェア製品に統合される、または、複数のソフトウェア製品にパッケージされる、と理解されるべきである。
【0054】
上記記載は、どの当業者でも本明細書に記載されている様々な態様を実施できるようにするために提供される。これらの態様に対する様々な修正形態は当業者によって容易に識別され、本明細書に規定される包括的な原則は他の態様にも適用される。従って、本請求項は、本明細書に示される態様に限定される意図はなく、請求項の文言と一致する全ての範囲が付与され、単数である要素への参照は「1および1のみ」であることを(そのように特定的に記述されている場合を除いて)意味するのではなく、「1以上」を意味する。用語「いくつか」は、(特定的に記述する場合を除いて)1以上を指す。男性の指示代名詞(たとえば、「彼の」)は、女性および中性(たとえば、「彼女の」「その」)を含み、その逆も同様である。見出しおよび小見出しは、それらがある場合にしても、便宜上用いられているだけであって、本開示を限定するものではない。
【0055】
たとえば「態様」という語句は、その態様が本願の技術に必要不可欠であること、その態様が本願の技術の全ての構成に適用されること、を暗示しない。態様に関する開示は、全ての構成または1以上の構成に適用される。たとえば態様という語句は、1以上の態様を指してもよいし、その逆も同様である。たとえば「構成」という語句は、そのような構成が本願の技術に必要不可欠であること、その態様が本願の技術の全ての構成に適用されること、を暗示しない。態様に関する開示は、全ての構成または1以上の構成に適用される。たとえば構成という語句は、1以上の構成を指してもよいし、その逆も同様である。
図1
図2
図3
図4
図5