JP2017501512A - ウェブページ処理状態の判定 - Google Patents
ウェブページ処理状態の判定 Download PDFInfo
- Publication number
- JP2017501512A JP2017501512A JP2016551003A JP2016551003A JP2017501512A JP 2017501512 A JP2017501512 A JP 2017501512A JP 2016551003 A JP2016551003 A JP 2016551003A JP 2016551003 A JP2016551003 A JP 2016551003A JP 2017501512 A JP2017501512 A JP 2017501512A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- web page
- tasks
- browser
- task
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
ブラウザのウェブページ処理状態を、ブラウザを用いたウェブページの処理中に、待ち行列中の処理タスクに関連する予め定められた処理イベントに基づいて状態判定器におけるパラメータを設定することにより、判定する。状態判定器は、予め定められた1つ以上の基準に従い、上記パラメータに基づいて、上記ウェブページ処理状態を判定する。
Description
優先権の主張
本願は、2013年11日1日に出願され「DETERMINING WEB PAGE PROCESSING STATE(ウェブページ処理状態の判定)」と題されたデンマーク特許出願PA2013−70639に基づく優先権を主張し、これを本明細書に引用により援用する。
本願は、2013年11日1日に出願され「DETERMINING WEB PAGE PROCESSING STATE(ウェブページ処理状態の判定)」と題されたデンマーク特許出願PA2013−70639に基づく優先権を主張し、これを本明細書に引用により援用する。
発明の分野
ここに開示する発明の概念は、ウェブブラウザおよびウェブページのブラウジングに関し、より具体的にはブラウザの処理状態の判定に関する。
ここに開示する発明の概念は、ウェブブラウザおよびウェブページのブラウジングに関し、より具体的にはブラウザの処理状態の判定に関する。
発明の背景
ウェブページのロードおよび処理は、ますます複雑化し予測不能になっており全く際限がない。従来のアプローチでは、1つのHTML文書が1つのウェブページ全体を構成していることが多く、ブラウザは、この1つの文書のロード、パース、およびレンダリングを行なうだけでよい。ブラウザが最後の</HTML>タグに達すると、処理は終了する。そうなると、ブラウザは、そのプログレスバーのインジケータを終了状態にするまたは削除することで、ユーザに対し、ページのロードが終了しこのページとの対話が可能であることを示してもよい。従来のアプローチは、たとえばメインリソース(たとえばHTML文書)において参照される画像等のサブリソースを用いるときでも、典型的なブラウザによってサブリソースが発見されると、これらがロードされ、パースされ、レンダリングされる。加えて、従来のシステムにおいて、このロードはすべて、ウェブページソース情報(たとえばHTML文書)の、一列のシーケンシャルな同期処理の中で行なわれる。
ウェブページのロードおよび処理は、ますます複雑化し予測不能になっており全く際限がない。従来のアプローチでは、1つのHTML文書が1つのウェブページ全体を構成していることが多く、ブラウザは、この1つの文書のロード、パース、およびレンダリングを行なうだけでよい。ブラウザが最後の</HTML>タグに達すると、処理は終了する。そうなると、ブラウザは、そのプログレスバーのインジケータを終了状態にするまたは削除することで、ユーザに対し、ページのロードが終了しこのページとの対話が可能であることを示してもよい。従来のアプローチは、たとえばメインリソース(たとえばHTML文書)において参照される画像等のサブリソースを用いるときでも、典型的なブラウザによってサブリソースが発見されると、これらがロードされ、パースされ、レンダリングされる。加えて、従来のシステムにおいて、このロードはすべて、ウェブページソース情報(たとえばHTML文書)の、一列のシーケンシャルな同期処理の中で行なわれる。
それ以来、スクリプトおよびカスケードスタイルシート(CSS)を含む、他の数種類のサブリソースが出現した。これらのおよびその他の、現代のウェブページ要素のおかげで、ウェブデザイナーは、非同期またはディファード処理を利用できるようになった。このことは、ブラウザは、メインリソースの最後に達しロードされたサブリソースすべてをパースしレンダリングしても、ウェブページの処理を続行し得ることを意味する。たとえば、ディファードスクリプトまたは時間が決められた(timed)スクリプトおよびCSS遷移が、依然として、処理のための待ち行列の中にある場合があり、タイマが、まだ始動していないまたは繰返しループの真っただ中にある場合がある。したがって、従来のウェブサイトは、たとえばウェブサイト上のコンテンツを動的に更新するために、ウェブページがブラウザウィンドウの中に示されている限り、スクリプトまたはその他の非同期タスクの実行を続けるのが、極めて一般的になった。
ディファードまたは非同期タスクの中には、ウェブページのセマンティクスすなわちコンテンツを変更する、たとえばニュースを更新する、または、コンテンツの表現、たとえば順序、可視範囲、強調等を変更することによって、ウェブページの新たなレンダリングをトリガし、ユーザが知覚できる変化を生じさせるものがある。また、ディファードまたは非同期タスクの中には、ウェブデザイナーによって意図されおよび/または人間のユーザによってウェブページのロードおよび/または初期化(たとえば処理の一回目の反復中)の一部として知覚されるものがある。一方、ウェブページを探索または使用する経験を高めるための操作プロセスとして経験されるであろうディファードタスクもある。
このような状況では、従来の技術に従って、ウェブページの処理をブラウザがいつ終了したか判定するのは、実際不可能になる。典型的なブラウザのプログレスバーまたはその他の「ビジー」表示でさえ、ウェブページのレンダリングがいつ終了状態になったかユーザが知覚することまたはウェブページのレンダリングが終了状態なったとユーザが考えることに、対応しないことが多い。このように終了状態になると、ユーザは、予想される情報が表示されると考える、またはウェブページとの対話を開始することができる。
プログラム的に考える、たとえば、ウェブクローラーまたはそれ以外のロボットの視点から考えると、ページのセマンティクスが終了したとみなすべき時間、または、自動対話を続行すべき時間を判定する能力の必要性が、非常に重要である。ウェブロボットまたは自動化されたブラウジングスクリプトの、ウェブページがいつ準備できたか、および、どの動作タスクを無視すべきかを検知または感受する能力は、人間のユーザよりも遥かに低い。
この問題の一般的な解決策は、ロボット、スクリプト等に、続行する前に予め定められた期間待機させるだけであった。これは、いつブラウザが実行されたか判断するのに非常に効率的な方法ではない。なぜなら、ブラウザが準備できるまでに要する時間には極めて大きなばらつきがあるからである。そのため、不必要な待機、または不十分な待機が発生することが多い。さらに、自動スクリプトまたはロボットを記述するプログラマーにとって、各タスクに必要なまたは関連する時間の量を推測しなければならないことは、退屈である。
また、所定の長さの休止を用いることは、特定のウェブサイトに対する所与のアクションを実行する時間が一定でなくユーザクライアントのソフトウェアおよびハードウェア、ネットワークレイテンシ等に応じて決まることも無視することになる。許容可能な誤り率に応じて、ウェブロボットを、ウェブロボットの待機中にブラウザが実際処理を完了する確率が高いことが望ましいのであれば、たとえば5〜10秒間またはそれよりも長くたとえば1分間でも待機させることになる場合がある。
したがって、ウェブページ処理状態の判定について改善され、また効率の良い、また適応性のある方法を実行するように構成された、システム、技術、およびコンピュータプログラムプロダクトを提供することが、有益であろう。
発明の概要
発明者らは、先行技術のブラウザおよび自動化されたブラウジングの上記課題と問題点を明らかにし、下記の関連する解決策を発明した。
発明者らは、先行技術のブラウザおよび自動化されたブラウジングの上記課題と問題点を明らかにし、下記の関連する解決策を発明した。
ある実施形態において、方法は、状態判定器(SD)における1つ以上のパラメータ(P1...Pn)を設定するステップを含み、上記1つ以上のパラメータは各々、待ち行列中の1つ以上の処理タスク(QPT)に関連する予め定められた1つ以上の処理イベントに少なくとも一部基づいており、予め定められた1つ以上の基準に従い、上記1つ以上のパラメータ(P1...Pn)に少なくとも一部基づいて、ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するステップを含む。
ある実施形態において、システムは、ブラウザ(WB)を用いたウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含む。
別の実施形態において、方法は、ウェブロボット(WR)が、ブラウザ(WB)に対してウェブページを処理することを要求するステップと、上記ウェブページの上記ブラウザによる処理中に確立された待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて、状態判定器(SD)におけるパラメータ(P1...Pn)を設定するステップと、状態判定器(SD)が、予め定められた1つ以上の基準に従い、上記パラメータ(P1...Pn)に基づいて、ウェブページ処理状態(WPPS)を判定するステップとを含み、上記判定するステップは、少なくとも部分的に上記を用いて実行され、ウェブロボットが、上記ウェブページ処理状態(WPPS)が予め定められた完了値に達したことがわかった後に上記情報を検索するステップを含む。
他の実施形態において、システムは、ブラウザ(WB)を用いて情報を検索するように構成されたウェブロボット(WR)と、上記ウェブロボットによる、上記ブラウザから要求されたウェブページの処理中に、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、パラメータレジスタ(PR)を含む状態判定器(SD)とを含み、上記状態判定器(SD)は、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成され、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含み、上記ウェブページ処理状態(WPPS)は、上記ウェブロボットが上記ウェブページから情報を検索すべきか否かを示す。
さらに他の実施形態において、ブラウザ(WB)は、ウェブページを処理するように構成され、ウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含む。
さらに他の実施形態において、状態判定器は、ウェブページ処理状態(WPPS)を判定するように構成された状態判定器であって、上記状態判定器(SD)は、ブラウザ(WB)を用いたウェブページの処理に関連する待ち行列中の1つ以上の処理タスク(QPT)と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて判定される、ウェブページ処理状態(WPPS)とを含む。
ある実施形態において、コンピュータプログラムプロダクトは、ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するためにコンピュータによって実行されるコンピュータ読取可能な命令を含む。上記コンピュータは、少なくとも、処理部と、メモリ部と、ネットワーク接続性とを含む。上記コンピュータ読取可能な命令は、実行されたときに、待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて状態判定器(SD)におけるパラメータ(P1...Pn)を設定させる、第1のコンピュータ読取可能な命令と、実行されたときに、予め定められた1つ以上の基準に従い上記パラメータ(P1...Pn)に基づいて上記ウェブページ処理状態(WPPS)を判定することを上記状態判定器(SD)に行なわせる、第2のコンピュータ読取可能な命令とを含む。
別の実施形態において、方法は、ブラウザ(WB)を用いたウェブページの処理中に、上記ウェブページのソースコードによって待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間を減じるステップを含む。
他の実施形態において、システムは、ブラウザ(WB)を用いたウェブページの処理中に、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)を含み、上記処理タスクのうちの少なくとも1つは、上記ウェブページのソースコードによって上記待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間と関連し、上記待ち行列中の処理タスクの実行の開始を遅延させるように設定された時間を減じるように構成された遅延変換器(DC)を含む。
当然ながら、これまで述べた例は、例示にすぎず、ここに開示する発明の概念の範囲を限定するものとみなされるべきではない。むしろ、当業者が本明細書を読んで理解するであろう、本明細書に開示する発明の概念を、組合わせた、変形した、入替えた、または合成したものが、本開示の範囲に含まれるとみなされるべきものである。その他の実施形態、実施例等については以下でさらに詳細に説明する。
以下、ここで開示する発明の概念について下記図面を参照しながら説明する。
詳細な説明
一実施形態は方法に関連し、この方法は、状態判定器SDにおける1つ以上のパラメータP1...Pnを設定するステップを含み、この1つ以上のパラメータは各々、待ち行列中の1つ以上の処理タスクQPTに関連する予め定められた1つ以上の処理イベントに少なくとも一部基づいており、予め定められた1つ以上の基準に従い、上記1つ以上のパラメータP1...Pnに少なくとも一部基づいて、ブラウザ(WB)のウェブページ処理状態WPPSを判定するステップを含む。
一実施形態は方法に関連し、この方法は、状態判定器SDにおける1つ以上のパラメータP1...Pnを設定するステップを含み、この1つ以上のパラメータは各々、待ち行列中の1つ以上の処理タスクQPTに関連する予め定められた1つ以上の処理イベントに少なくとも一部基づいており、予め定められた1つ以上の基準に従い、上記1つ以上のパラメータP1...Pnに少なくとも一部基づいて、ブラウザ(WB)のウェブページ処理状態WPPSを判定するステップを含む。
ウェブページの処理状態を判定する、たとえば、ウェブページが予想される情報を含むのに十分処理されているか否かまたはウェブページが対話できる状態にあるか否か判定する、改善された効率的で適応性のある方法が、こうして提供される。さまざまな好ましい実施形態において、この方法は、ブラウザを使用したウェブページの処理中に実行される、コンピュータによって実現される方法であることが好ましく、および/または、ウェブページの処理状態WPPSは、状態判定器によって判定されることが好ましい。
この方法は、先行技術に関連するいくつかの問題および課題を解決する。第1に、上記実施形態は通常、予め定められた時間待機するだけであり安全のために非常に長い時間待機することも多い一般的な方法よりも遥かに速い。本明細書に開示する方法は、実際に生じる処理イベントに基づいて、いつ続行するのが安全か判定することにより、イベントに関連する基準が満たされると直ちに続行することを可能にする。
ウェブページの処理が円滑に進むとき、本明細書に記載の方法は、先行技術における固定された待機時間の経過前に、準備完了状態を判定することができるので、典型的な先行技術の自動システムに必要であったであろう待機時間を大幅に、たとえば約25%から約50%以上も、典型的には短縮する。特定の状況における処理が、たとえばネットワークのレイテンシが原因で、それほど円滑でない場合、この方法は、続行のために、待機時間が予め定められている先行技術のシステムに匹敵する時間またはそれ以上を費やしてもよいが、その場合は、ウェブページが処理を完了するのを待つかまたは準備または完了状態が予め定められた程度に達するのを待つことになる。
このようにして、より信頼性の高い結果を提供する。なぜなら、判定されたウェブページ処理状態は実際の処理を反映するからであり、したがって、同じ結果を、すなわち実際の処理に関連して判定された状態を、同じウェブページが処理される別の時間に予想できるからである。一方、先行技術のシステムは、たとえばダウンロードが円滑でない場合、その時点におけるブラウザの処理状態とは関係なく、予め定められた待機時間が経過すると、単純に続行する。結果として、先行技術の技法は、たとえばウェブページの必須の要素のロードが完了する前に、ある状態から別の状態に不確実に進む(または続行しようとするが致命的な結果を伴う)ことが多い。
代表的な先行技術における技法が、比較的短い待機時間、たとえば5秒を用いる場合、これは、たとえばこの例では時間にして50%早く続行することで、確実性を犠牲にする。本方法において、待機時間の短縮は比較的少なくたとえば0〜10%だけであろうが、その一方で、処理が実際に完了したことが極めて確実であるので、時間にして100%に近い正しい時間に続行する。
他の代表的な先行技術における技法は、たとえば70%長い待機時間、たとえば8.5秒を選択し得るが、この場合、上述の例と同じ誤りの確率で、先行技術における技術は、時間にして1%だけ早く続行する(それでも多くのウェブロボットの応用例にしては長い)。本方法はしたがって、この例では待機時間を大幅に、約41%短縮しつつ、当然、非応答ウェブサーバ等のような修復できないロードエラーを条件として、準備ができる度に続行するだけであるという、絶対的な確実性を提供し得る。
ここに開示する発明の概念の、予め定められた待機時間を用いる先行技術の技法に対する他の利点は、ここに開示するウェブページ処理状態が、処理ステップが同一であると仮定すると、異なるインスタンスおよび異なる状況でも、毎回処理の待ち行列内の同じポイントで同じ値に達することである。なぜなら、実際に生じる処理イベントおよび対応する基準から判断するからである。よって、待機時間が予め定められているシステムと比較して、確実性と予測精度が改善される。このシステムでは、時間がきたらその状態を単にシフトするので、2つの異なるインスタンスにおいて、待機時間が終了したときに処理が異なるポイントに達する場合に自動ブラウジングスクリプトが異なる結果に達するという危険性がある。
加えて、開示する方法は、異なるウェブページおよびアクションにある程度自動的に適応するが、その程度を限定するのは特定の実装例における予め定められた基準およびサポートされる処理イベントのみである。これとは逆に、待機時間が予め定められているシステムでは、予め定められた待機時間は、すべてのウェブページおよびアクションに対して等しいか、または、ユーザが煩わしい手作業で関連するウェブページおよびアクションごとに前もって個別に設定しなければならない。
本明細書に開示する方法はまた、メインリソースおよび同期タスクの処理の終了を関連する処理の終わりであると単純にみなすことに関連する問題も解決する。ウェブページ処理状態が、待ち行列中の処理タスクに関連するイベントに基づくようにすることによって、確実に、非同期、ディファード、または時間が決められたタスクも考慮され予め定められた基準に照らされる。これは典型的に、メインリソースの処理の完了を判断するだけの場合には当て嵌まらないであろう。これにより、本方法は全体的により信頼性が高くなる。なぜなら、本開示が提供するウェブページ処理状態は、メインリソースの処理が終了した後であっても実際の状態を反映し続けるであろうからである。また、これはさまざまなウェブページに対する適応性がより高い。なぜなら、本開示のウェブページ処理状態は、メインリソース処理の終了前および後の、かつ、同期タスクおよび非同期タスクに対する、実際に処理されたイベントに関連し得るからである。
さらに、待ち行列中の処理イベントを含めていくつかの処理イベントを考慮することにより、精密に、特定のウェブページが情報抽出の準備完了状態とみなされる処理ステップから出ること、または、たとえば予め定められた基準を適切に選択することによって次の対話に進むことが可能になる。言い換えると、自動化スクリプトライター、たとえばウェブロボットデザイナーは、以前はメインリソースが処理されるときにまたは予め定められた時間が経過した後にロボットに続行させる必要があったが、開示されている方法は、ウェブページ処理のどのステップでロボットに次の命令に進ませたいかを選択できる。
本明細書に記載の方法に従うと、待ち行列中の処理タスクに関連する処理イベントは、ウェブページの処理中に発生するイベントを含み得ることが注目される。これはたとえば、検索、パース、実行、レンダリング等の処理動作の実行である。このことは当業者が本明細書を読んで理解するであろう。表1に列挙されているイベントは、たとえばモニタリングおよび追跡に関連し得る代表的ないくつかの処理イベントを示す。なぜなら、たとえば待ち行列中の処理タスクの生成、実行、または削除を示すことにより、これらは、待ち行列中の処理タスクQPT1...QPTnに関連し得るからである。
本明細書の代表的なある実施形態に従う待ち行列中の処理タスクは、後続の実行のために、相対、絶対、または未規定の時間によって、スケジュールされる、時間が決められる、据え置かれる、延期される等の場合がある、任意のタスク、ジョブ、スクリプト、命令等を含む。これは特に、ウェブページのメインリソースの処理と非同期で実行されるようなタスク、すなわち、ウェブページは処理の前に非同期タスクが完了するのを待たされることはない。当然、当業者が本明細書を読んで理解するであろう代替のおよび/または同等の待ち行列中の処理タスクの種類、コンポーネント等も、本開示の範囲から逸脱することなく採用し得る。
より多くの実施形態において、特にウェブページの処理の状態を示すことを含む実施形態において、状態判定器は、ウェブページ処理状態WPPSに対して1つ以上の異なる値を決定し得る。単純な代表的な実施形態において、ウェブページ処理状態WPPSは、「ビジー」の値とたとえば「事実上終了」の値との間で、または同等のまたは類似する意味の値の間でシフトし得る。ある実施形態に従うと、「事実上終了」のまたはこれに類似するものの値は、たとえば、ウェブページに対してセマンティクスに関する変更を生じさせないかまたはセマンティクスに関する重要でない変更を生じさせる、待ち行列中のタスクのみが、残っていること、および/または残っているタスクはおそらく終わることのない繰返しであることを意味する。
代替の実施形態において、ウェブページ処理状態は、処理が発生すると、完了の異なる段階および程度のモニタリングをある程度可能にする、いくつかのまたは多数の可能な値を有し得る。
状態判定器SDにおけるパラメータP1...Pnは、好都合に、ウェブページプロセッサWPPが実際に終了したかまたはある程度の完了状態に達したかを状態判定器に知らせることができる情報を提供し、戻されていない、ディスパッチされていない、実行されていない等の、待ち行列中の重要な処理タスクQPTは、残っていない。本明細書に記載の方法に従うパラメータは、好ましくは、待ち行列中の処理タスクからの情報、またはパラメータが基づく関連する処理イベントからの情報、たとえばオブジェクトID、タイミング情報、状態等を含み得る。
本明細書に記載の方法に従うブラウザは、サブリソースがあるまたはないウェブページを検索するように構成されたメカニズムを含み得る。ウェブページの処理は、場合によって、スクリプトの実行、スタイルシートの遷移の実施、タイマの管理等のうちの1つ以上を含む。好ましくは、ブラウザは、少なくとも、ウェブページプロセッサWPPと、ウェブページのグラフィカル表現GRを保持するためのメモリに対するアクセスと、待ち行列中の1つ以上の処理タスクQPTを保持するためのタスク待ち行列TQとを含む。タスク待ち行列は、待ち行列中の処理タスクのためのいくつかのレジスタまたはバッファを含み得る。
ブラウザは、一般的な市販のブラウザが採用するもののような、従来の、ユーザによる操作が可能な、グラフィカルユーザインターフェイスを備えたブラウザを含み得る。これはたとえば、FIREFOX(登録商標)、CHROME(登録商標)、またはINTERNET EXPLORER(登録商標)、ウェブページを検索し処理するがグラフィカルユーザインターフェイスを提供しないヘッドレスブラウザ、たとえばGHOST(登録商標)、PHANTOMJS(登録商標)、またはSPYNNERのようなブラウザ、または、たとえばウェブロボットによるブラウジング専用に作られたカスタムビルドブラウザである。現在、WEBKIT等のオープンソースブラウザエンジンに基づくブラウザ(たとえばブラウザSAFARI)、GECKO(たとえばブラウザFIREFOX)、およびBLINK(たとえばブラウザCHROMEおよびOPERA)が好ましい。なぜなら、これらブラウザは、状態判定器におけるパラメータを設定するためにブラウザをインストルメント化するという点で、または本明細書に記載の方法に従う状態判定器をカスタマイズされたブラウザの一部にするという点でも、高度なカスタマイズを可能にするからである。本明細書で使用するインストルメント化(インストルメンテーション)は、ソフトウェアまたはハードウェアにより機能を拡張して、情報を利用できるようにするまたは内部変数、プロセス、状態等に関する情報を検索できるようにするための、何らかの方法および/またはメカニズムを意味し得る。
より具体的には、好ましい実施形態において、ブラウザをインストルメント化して状態判定器内のパラメータを設定することとは、ブラウザを拡張してイベントをモニタリングするまたはイベントのモニタリングを可能にすること、ブラウザ内のイベントプロセッサに機能を追加すること、またはブラウザ内のイベントに接続すること、および、このモニタリングまたは機能を予め定められたイベントに関連して用いて、予め定められたイベントが発生するたびに関連するパラメータを設定することである。
本明細書に記載の方法に従うウェブページの処理は、メインリソースの検索の開始から、サブリソースの検索と処理を含む同期処理を経て、非同期タスクの管理と実行までの、何らかの処理を指す。また、ウェブページの処理は、イベントおよび関連するスクリプトの実行または検索のハンドリング、および、ユーザまたはウェブロボットとウェブページとの対話によって開始されるサブリソースの処理を含み得る。これはたとえば、リンク、フォーム、キーストローク、マウスオーバまたはマウスダウン、クリック、ディスプレイとの物理的対話(たとえばタッチセンスディスプレイに対する容量性および/または抵抗性フィードバック)のようなユーザインターフェイスイベント、可聴刺激を与えること(たとえば音声コマンド、トーン)、視覚的刺激を与えること(たとえばジェスチャー、ポーズ、またはシンボルを表示すること)等から発生し、そのため、新たなウェブページのロードが関係するときだけではない。
好都合な実施形態は、上記方法が、上記予め定められた1つ以上の処理イベントを追跡するステップを含むときに得られる。
上記方法に従うと、処理イベントを追跡することは、予め定められた処理イベントが始動するまたは始動したことをモニタリングするかそうでなければ発見する何らかの方法を指す。好ましい実施形態において、ブラウザは、たとえば上記のようにインストルメント化されることによって、この方法に従う状態判定器に関連し得る処理イベントすべてを追跡することができる。予め定められた処理イベントを追跡することにより、状態判定器におけるパラメータの設定が容易になり、したがって、ウェブページ処理状態の判定が容易になる。
好都合な実施形態は、上記予め定められた1つ以上の処理イベントを追跡するステップが、上記状態判定器における1つ以上のパラメータの設定が、関連するオブジェクト情報とともに予め定められた処理イベントの発生に従って、実行されることを含むときに、得られる。
状態判定器がウェブページ処理状態を判定するというジョブは、同じオブジェクトに関連する処理イベントをまとめてリンクすることができるときに、極めて容易になる。関連する処理イベントは、たとえば、特定のタイマのインストール、同じタイマの始動、および最終的には同じタイマの削除である。この場合、関連するオブジェクト情報は、オブジェクトID、たとえばタイマIDであり、好ましくはタイマの値であってもよい。「ライフ」、たとえばタスクの作成からタスクの実行を経てタスクの削除に至るまでを追跡できることで、状態判定器は、ウェブページ処理状態にこのタスクが如何に影響するかを判定し易くなる。例として、たとえばタスクが存在するすなわち作成されたもしくは実行中であるがまだ完了していないもしくは削除されていないときに、「ビジー」であるのか、または、タスクが削除されたことによって示される「完了した」状態なのかという観点から、判定し易くなる。
好都合な実施形態は、上記待ち行列中の1つ以上の処理タスクQPTが、タイマタスク、非同期XML Http要求タスク、スケジュールされたリダイレクトタスク、カスケードスタイルシート遷移タスク、待ち行列中スクリプトタスク、およびディファードイベントタスクというタスクのうちの、1つ以上を含むときに得られる。
本明細書に記載の方法は、たとえば上記タスクのうちのいくつかによって非同期処理を生じさせるウェブページのウェブページ処理状態を判定するのに、特に好都合である。なぜなら、これが、メインリソース処理の終わりが処理全体の終わりであると定義する従来の技術と、予め定められた待機時間に依存する従来の技術双方に欠けているものであるからである。なぜなら、非同期タスクは、メインリソース処理の終了後にも続行することがあり、エンドレスなループまたは繰返しにおいて続くこともあり、そのために、待機時間を予め定めるアプローチは不適切になるからである。
好都合な実施形態は、ウェブロボットWRを上記ウェブページ処理状態WPPSに通信可能に結合できるように、システムが構成されるときに得られる。
上記方法の格別に有益な使用は、ウェブロボットのブラウジングに関係がある。なぜなら、上記のようにウェブロボットの待機時間を、先行技術の方法との比較で、典型的には25%〜50%以上、大幅に短縮できるからである。一例は、たとえば、先行技術の技法における、たとえば誤り率が1%の固定された待機時間8.5秒を、本開示による、誤り率が実質的に0%の平均待機時間5秒に短縮することを含み得る。ウェブページ処理状態をウェブロボットが使用できるようにする、たとえば、ウェブロボットを状態判定器に通信可能に結合することによって、ウェブロボットは、たとえば固定の予め定められた待機時間、単純に待つのではなく、ブラウザからの実際の現時点の処理情報に基づいていつ続行するかを判定し得る。
好都合な実施形態は、方法が、上記待ち行列中の1つ以上の処理タスクQPTのうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップを含むときに得られる。
この方法の効率をさらに高めるには、たとえば、タイマ値、スケジュールされたリダイレクトの時間、CSS遷移間隔等の、遅延のうちのいくつかまたはすべてをも減じることが有益である。このことは当業者が本明細書を読んで理解するであろう。
ウェブロボットのブラウジングにとって、この、遅延の低減と、ウェブロボットがいつ続行すべきかの判定との組合わせは、先行技術の方法よりも極めて効率が高い。
好都合な実施形態は、上記1つ以上のパラメータP1...Pnに基づいて上記ウェブページ処理状態WPPSを判定する上記ステップが、上記パラメータのうちの1つ以上によって表わされる待ち行列中の処理タスクに関連する予め定められた処理イベントのウェブページ処理状態との関連性を考慮することを含むときに、得られる。
パラメータをその関連性について考慮するときは、たとえば、完全に実行されたタスクを表わすパラメータは無視し、ペンディングまたは未終了のタスクを表わすパラメータを予め定められた基準と比較する。完了したタスクを含む履歴を考慮して、たとえば、ペンディングタスクが実際多数の完了タスクのチェーンにいつ入ったか判断してもよく、またはこれが他のタスクに関連性がないか否か判断してもよい。
好都合な実施形態は、上記予め定められた1つ以上の基準のうちの1つの基準が、上記1つ以上のパラメータのうちの1つ以上の評価に使用し得るときに得られる。
本方法に従うと、いくつかの基準は、数種のタスクのみに関連する場合があるので、いくつかのパラメータは、多数またはすべての基準に照らした評価に関連し得るのに対し、1つまたは2、3の基準だけは、それ以外のパラメータの評価に関連し得る。
好都合な実施形態は、上記予め定められた1つ以上の基準が、さらに他の待ち行列中のタスクの存在、しきい値を超える、さらに他の待ち行列中のタスクの数、しきい値を超える、タイマイベントのチェーン、XML Http要求のチェーン、またはその他の非同期タスクのチェーンの長さ、タイムアウト値を超える、XML Http要求のディスパッチ以来の非応答の期間、しきい値を超える、ウェブページのリダイレクトまたはリフレッシュについてスケジュールされた時間、しきい値を超える、インターバルタイマの繰返しの数、および、しきい値を超える、タイマイベントに対して設定された時間、のうちの1つ以上を含むときに得られる。
しきい値の考慮を含むこの基準を、1つの固定されたしきい値に関して評価してもよく、または、数個のしきい値を評価することで所与の基準の評価の3つ以上の結果が得られるようにしてもよい。
他の実施形態はシステムに関連し、このシステムは、ブラウザWBを用いたウェブページの処理中に待ち行列中の1つ以上の処理タスクQPTを格納するように構成されたタスク待ち行列TQと、上記待ち行列中の処理タスクQPTのうちの1つ以上と関連付けられた1つ以上のパラメータP1...Pnを格納するように構成されたパラメータレジスタPRを含む状態判定器SDと、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータP1...Pnに基づいて、上記状態判定器SDによって判定される、ウェブページ処理状態WPPSとを含む。
ブラウザにおけるウェブページの処理状態の基準を確立するための、改善された効率的で適応性のあるシステムが、こうして提供される。このシステムの要素およびその利点は、上記方法の同様の特徴に対応する。
好都合な実施形態は、上記ブラウザWBが、上記待ち行列中の処理タスクQPTに関連する予め定められた処理イベントを追跡するように構成されたインストルメンテーションを含むときに得られる。
好都合な実施形態は、上記パラメータが、関連するオブジェクト情報とともに上記待ち行列中の処理タスクに関連する予め定められた処理イベントの発生と関連付けられているときに得られる。
好都合な実施形態は、上記待ち行列中の処理タスクQPTが、タイマタスク、非同期XML Http要求タスク、スケジュールされたリダイレクトタスク、カスケードスタイルシート遷移タスク、待ち行列中スクリプトタスク、およびディファードイベントタスク、のうちの1つ以上のタスクを含むときに得られる。
好都合な実施形態は、上記システムが、上記ウェブページ処理状態WPPSにウェブロボットWRを通信可能に結合できるように構成されているときに得られる。
本明細書において、要素が「通信可能に結合される」とは、一方の要素が「結合されている」と記載されているときに、この要素が、結合の対象である要素に対するアクセスおよび/または操作を行なうように構成されていることであると理解される。たとえば、要素は、この要素が通信可能に結合されている要素に対し、呼出し、検索、参照、格納、リコール等を行なうように構成し得る。当然、当業者が本明細書を読んで理解するであろう、通信可能な結合の他の形態も、上記開示の範囲に含まれ、この範囲から逸脱することなく採用し得る。
ウェブページ処理状態をウェブロボットが利用できるようにすることによって、ウェブロボットは、たとえば固定された予め定められた待機時間単純に待つのではなく、ブラウザからの実際の現在の処理情報に基づいて、いつ続行すべきか判断することができる。
好都合な実施形態は、システムが、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるように構成された遅延変換器DCをさらに含むときに得られる。
さらに他の実施形態は方法に関し、この方法は、ウェブロボット(WR)がブラウザWBに対してウェブページを処理することを要求するステップと、上記ウェブページの上記ブラウザによる処理中に確立された待ち行列中の処理タスクQPTに関連する予め定められた処理イベントに基づいて、状態判定器SDにおけるパラメータP1...Pnを設定するステップと、状態判定器SDが、予め定められた1つ以上の基準に従い、上記パラメータP1...Pnに基づいて、ウェブページ処理状態WPPSを判定するステップと、ウェブロボットが、上記ウェブページ処理状態WPPSが予め定められた完了値に達したことがわかった後に上記情報を検索するステップとを含む。
本明細書に記載の方法のある実施形態に従うと、ウェブロボットによるブラウジングは、従来の技術と比較して、たとえば先に例示した量、改善し得る。なぜなら、ウェブロボットは、たとえば状態判定器に通信可能に結合されていることにより、ブラウザの処理状態を知ることができる、すなわち、たとえば予め定められた待機時間単純に待つのではなく、所望の情報が利用できると考えられるか否かまたは対話を開始できるか否かを、知ることができる。好ましいさまざまな実施形態において、この方法はコンピュータによって実現される方法であることが好ましい。
ウェブロボットが検索する情報は、典型的には、ウェブページがユーザに与えることが意図されている情報、たとえばニュース、オファー、概要等、および/またはさらに他のウェブページへのリンクに関する情報、たとえばメニュー等、または、ウェブページとの対話の可能性、たとえばスクリプト、イベントハンドラ、動的スタイルシート特性等を含む。このことは当業者が本明細書を読んで理解するであろう。たとえば、ある代表的なアプローチにおいて、情報は、選択肢として、情報の更新、ログイン、またはその他同様の保証された動作、または、視覚的に隠された情報を、含み得る。これらはすべて、ウェブページのリロードが不要であることが好ましい。
好都合な実施形態は、上記方法が、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップを含むときに得られる。
この方法の効率を一層高めるためには、いくつかのアプローチにおいて、いくつかまたはすべての遅延、たとえばタイマ値、スケジュールされたリダイレクト時間、CSS遷移間隔等の期間も減じるかまたは排除することが、有益である。この、遅延の低減と、ウェブロボットがいつ続行し得るかの判定との組合わせは、先行技術の方法よりも効率が高い。なぜなら、いくつかまたはすべての不必要な遅延を回避するものの、同時に、実際の処理タスクを参照しながら処理を追跡し続けることにより、減じられる遅延量と短縮できない処理時間の量との関係が異なっていても、ウェブページの処理状態の適切な判定が、容易になる。
さらに他の実施形態はシステムに関連し、このシステムは、ブラウザ(WB)を用いて情報を検索するように構成されたウェブロボット(WR)と、上記ウェブロボット(WR)による、上記ブラウザから要求されたウェブページの処理中に、待ち行列中の1つ以上の処理タスクQPTを格納するように構成されたタスク待ち行列TQと、パラメータレジスタPRを含む状態判定器SDとを含み、上記状態判定器SDは、上記待ち行列中の処理タスクQPTのうちの1つ以上と関連付けられた1つ以上のパラメータP1...Pnを格納するように構成され、システムはさらに、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータP1...Pnに基づいて、上記状態判定器SDによって判定される、ウェブページ処理状態WPPSとを含み、上記ウェブページ処理状態WPPSは、上記ウェブロボットが上記ウェブページから情報を検索すべきか否かを示す。
ブラウザにおけるウェブページの処理状態の基準を確立するように構成された、改善された効率的で適応性のあるシステムが、こうして提供される。このシステムの要素およびその利点は、上記方法の同様の特徴に対応する。
好都合な実施形態は、上記システムが、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるための遅延変換器DCをさらに含むときに得られる。
さらに他の実施形態は、ウェブページを処理するように構成されたブラウザWBに関連し、このブラウザは、ウェブページの処理中に待ち行列中の1つ以上の処理タスクQPTを格納するように構成されたタスク待ち行列TQと、上記待ち行列中の処理タスクQPTのうちの1つ以上と関連付けられた1つ以上のパラメータP1...Pnを格納するように構成されたパラメータレジスタPRを含む状態判定器SDと、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータP1...Pnに基づいて、上記状態判定器SDによって判定される、ウェブページ処理状態WPPSとを含む。
さらに他の実施形態は、ウェブページ処理状態WPPSを判定するように構成された状態判定器に関連し、上記状態判定器SDは、ブラウザWBを用いたウェブページの処理に関連する待ち行列中の1つ以上の処理タスクQPTと関連付けられた1つ以上のパラメータP1...Pnを格納するように構成されたパラメータレジスタPRと、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータP1...Pnに基づいて判定される、ウェブページ処理状態WPPSとを含む。
さらに他の実施形態は、ブラウザWBのウェブページ処理状態WPPSを判定するためにコンピュータによって実行されるコンピュータ読取可能な命令を含むコンピュータプログラムプロダクトに関連し、上記コンピュータは、少なくとも、処理部と、メモリ部と、ネットワーク接続性とを含み、上記コンピュータ読取可能な命令は、実行されたときに、待ち行列中の処理タスクQPTに関連する予め定められた処理イベントに基づいて状態判定器SDにおけるパラメータP1...Pnを設定させる、第1のコンピュータ読取可能な命令と、実行されたときに、予め定められた1つ以上の基準に従い上記パラメータP1...Pnに基づいて上記ウェブページ処理状態WPPSを判定することを上記状態判定器SDに行なわせる、第2のコンピュータ読取可能な命令とを含む。
さらに他の実施形態は方法に関連し、この方法は、ブラウザWBを用いたウェブページの処理中に、上記ウェブページのソースコードによって待ち行列中の処理タスクQPTの実行の開始を遅延させるように設定された時間を減じるステップを含む。
ウェブページの処理中に、いくつかまたはすべての遅延、たとえばタイマ値、スケジュールされたリダイレクト時間、CSS遷移間隔等を減じる有益な方法が提供される。好ましいさまざまな実施形態において、上記方法は、コンピュータによって実現される方法であることが好ましい。ウェブロボットのブラウジングにとって、これは特に関連性がある。なぜなら、ウェブページにおいて用いられるほとんどの相対的に長い遅延は、一般的にはウェブロボットのユーザには無関係の、特定の経験または視覚効果をユーザに対して与えるために使用されるからである。よって、本方法により、典型的には70%〜80%さらには100%にさえ近づくこの種の遅延の低減を実現できる。
本明細書に記載の方法に従うと、注目されることは、本明細書のある代表的な実施形態に従う待ち行列中の処理タスクが、次の実行のために、相対または絶対時間によって、スケジュールする、時間を決める、据え置く、延期する等が可能な、何らかのタスク、ジョブ、スクリプト、命令等を含むことである。当然、当業者が本明細書を読んで理解するであろう、代替のおよび/または同等の待ち行列中の処理タスクの種類、コンポーネント等も、本開示の範囲から逸脱することなく採用し得る。表1に示す処理イベントのうちのいくつかは、たとえば待ち行列中の処理タスクの作成、実行または削除をたとえば示唆することにより、ある実施形態ではその実行が意図的に遅延される場合がある待ち行列中の処理タスクに関連する。
本明細書に記載の方法に従うブラウザは、サブリソースがあるまたはないウェブページを検索するように構成されたメカニズムを含み得る。ウェブページの処理は、場合によって、スクリプトの実行、スタイルシートの遷移の実施、タイマの管理等のうちの1つ以上を含む。好ましくは、ブラウザは、少なくとも、ウェブページプロセッサWPPと、ウェブページのグラフィカル表現GRを保持するためのメモリに対するアクセスと、待ち行列中の1つ以上の処理タスクQPTを保持するためのタスク待ち行列TQとを含む。タスク待ち行列は、待ち行列中の処理タスクのためのいくつかのレジスタまたはバッファを含み得る。
ブラウザは、一般的な市販のブラウザが採用するもののような、従来の、ユーザによる操作が可能な、グラフィカルユーザインターフェイスを備えたブラウザを含み得る。これはたとえば、FIREFOX、CHROME、またはINTERNET EXPLORER、ウェブページを検索し処理するがグラフィカルユーザインターフェイスを提供しないヘッドレスブラウザ、たとえばGHOST、PHANTOMJS、またはSPYNNERのようなブラウザ、または、たとえばウェブロボットによるブラウジング専用に作られたカスタムビルドブラウザである。現在、WEBKIT等のオープンソースブラウザエンジンに基づくブラウザ(たとえばブラウザSAFARI)、GECKO(たとえばブラウザFIREFOX)、およびBLINK(たとえばブラウザCHROMEおよびOPERA)が好ましい。なぜなら、これらブラウザは、状態判定器におけるパラメータを設定するためにブラウザをインストルメント化するという点で、または本明細書に記載の方法に従う状態判定器をカスタマイズされたブラウザの一部にするという点でも、高度なカスタマイズを可能にするからである。本明細書で使用するインストルメント化は、ソフトウェアまたはハードウェアにより機能を拡張して、情報を利用できるようにするまたは内部変数、プロセス、状態等に関する情報を検索できるようにするための、何らかの方法および/またはメカニズムを意味し得る。より具体的には、好ましい実施形態において、ブラウザをインストルメント化して状態判定器内のパラメータを設定することとは、ブラウザを拡張してイベントをモニタリングするまたはイベントのモニタリングを可能にすること、ブラウザ内のイベントプロセッサに機能を追加すること、またはブラウザ内のイベントに接続すること、および、このモニタリングまたは機能を予め定められたイベントに関連して用いて、予め定められたイベントが発生するたびに関連するパラメータを設定することである。
本明細書に記載の方法に従うウェブページの処理は、メインリソースの検索の開始から、サブリソースの検索と処理を含む同期処理を経て、非同期タスクの管理と実行までの、何らかの処理を指す。また、ウェブページの処理は、イベントおよび関連するスクリプトの実行または検索のハンドリング、および、ユーザまたはウェブロボットとウェブページとの対話によって開始されるサブリソースの処理を含み得る。これはたとえば、リンク、フォーム、キーストローク、マウスオーバまたはマウスダウン、クリック、ディスプレイとの物理的対話(たとえばタッチセンスディスプレイに対する容量性および/または抵抗性フィードバック)のようなユーザインターフェイスイベント、可聴刺激を与えること(たとえば音声コマンド、トーン)、視覚的刺激を与えること(たとえばジェスチャー、ポーズ、またはシンボルを表示すること)等から発生し、そのため、新たなウェブページのロードが関係するときだけではない。
この方法に従うと、ウェブページのソースコードは、何らかの形態および言語の何らかのコードである。これはたとえば、HTML、CSS、JavaScript(登録商標)、XML等の標準または基準に従う言語またはフォーマットであり、これにより、処理中のウェブページにおいて、時間遅延された待ち行列中の処理タスクを作成することができる。ソースコードは、たとえば、メインリソースであってもよく、または、特定の遅延時間を有するタイマおよび遅延時間の経過時に実行される関連付けられたスクリプトを作成するためのコード文を含むスクリプトサブリソース、または、規定された遅延時間を伴う遷移を確立させるスタイルシートサブリソースであってもよい。ウェブページのソースコードを、本明細書では、特定のタスクについて所望されたまたは意図された遅延時間のためのソースと呼び、このソースコードはしたがって、ウェブページデザイナー、所有者、著者、コーダー、プログラマー等がタスクについて意図された遅延を記述するための何らかの手段を含む。開示されている方法は、ウェブページのソースコードと呼ばれるものによって表わされる所望のまたは意図された遅延時間を変更、特に低減できるので、好都合である。
好都合な実施形態は、上記時間を減じるステップが、上記待ち行列中の処理タスクQPTの生成に関連して遅延変換器DCによって実行されるときに得られる。
遅延変換器は、ブラウザの一部、ブラウザプラグイン、または外部アプリケーションとして実現してもよい。好ましくは、遅延変換器は、少なくとも何らかの種類の遅延と関連付けられている場合の待ち行列中の処理タスクが作成されるたびに通知されなければならず、および/または遅延変換は、待ち行列中の処理タスクおよび/または遅延の生成を管理しなければならない。
好都合な実施形態は、上記ウェブページの処理時間を減じる方法が、関連付けられた遅延を有する待ち行列中の処理タスクQPTの生成を生じさせ得る予め定められた処理イベントを追跡するステップと、遅延変換器DCを呼出して、上記遅延を、絶対デクリメント、相対デクリメント、および比例デクリメントのうちの1つ以上によって変更させるステップとをさらに含むときに得られる。
上記方法に従うと、処理イベントを追跡することは、予め定められた処理イベントが始動するまたは始動したことをモニタリングするかそうでなければ発見する何らかの方法を指す。好ましい実施形態において、ブラウザは、たとえば上記のようにインストルメント化されることによって、この方法に従う状態判定器に関連し得る処理イベントすべてを追跡することができる。予め定められた処理イベントを追跡することにより、状態判定器におけるパラメータの設定が容易になり、したがって、ウェブページ処理状態の判定が容易になる。
本明細書に記載の方法に従うと、待ち行列中の処理タスクに関連する処理イベントは、ウェブページの処理中に発生するイベントを含み得ることが注目される。これはたとえば、検索、パース、実行、レンダリング等の処理動作の実行である。このことは当業者が本明細書を読んで理解するであろう。表1に列挙されているイベントは、たとえばモニタリングおよび追跡に関連し得る代表的ないくつかの処理イベントを示す。なぜなら、たとえば待ち行列中の処理タスクの生成、実行、または削除を示すことにより、これらは、待ち行列中の処理タスクQPT1...QPTnに関連し得るからである。
好都合な実施形態は、上記待ち行列中の処理タスクQPTが、タイマタスク、スケジュールされたリダイレクトタスク、カスケードスタイルシート遷移タスク、待ち行列中スクリプトタスク、およびディファードイベントタスク、のうちの1つ以上のタスクを含むときに得られる。
好都合な実施形態は、上記ウェブページの処理時間を減じる方法が、待ち行列中の2つ以上の処理タスクの減じられた遅延時間を、上記ウェブページのソースコードによって定められたのと同じ順序で上記処理タスクが実行され得るように、管理するステップをさらに含むときに得られる。
上記方法に従うと、好ましくは、待ち行列中のタスクは、これらタスクについて意図された順序で実行されねばならない。ウェブページのコンテンツにとって実際の遅延は重要でないと想定するのが無難であることが多いが、おそらく人間のユーザの経験では、タスクが実行される順序は重要でないと同じように想定することができないことが時々ある。したがって、好ましい実施形態は、意図されているのと同じ順序で、ただ意図されているよりも大幅に早く、タスクを実行させるようにして、遅延を減じるように、タスクを管理することを含む。
さらに他の実施形態はシステムに関連し、このシステムは、ブラウザWBを用いたウェブページの処理中に、待ち行列中の1つ以上の処理タスクQPTを格納するように構成されたタスク待ち行列TQを含み、上記処理タスクのうちの少なくとも1つは、上記ウェブページのソースコードによって上記待ち行列中の処理タスクQPTの実行の開始を遅延させるように設定された時間と関連し、上記システムはさらに、上記待ち行列中の処理タスクの実行の開始を遅延させるように設定された時間を減じるように構成された遅延変換器DCを含む。
ウェブページの処理中に、いくつかまたはすべての遅延、たとえばタイマ値、スケジュールされたリダイレクト時間、CSS遷移間隔等を減じる有益なシステムが提供される。ウェブロボットのブラウジングにとって、これは特に関連性がある。なぜなら、ウェブページにおいて用いられるほとんどの相対的に長い遅延は、一般的にはウェブロボットのユーザには無関係の、特定の経験または視覚効果をユーザに対して与えるために使用されるからである。このシステムの要素およびその利点は、上記方法の同様の特徴に対応する。
好都合な実施形態は、上記ブラウザWBが、上記待ち行列中の処理タスクQPTに関連する予め定められた処理イベントを追跡するためのインストルメンテーションを含むときに得られる。
開示されているシステムに従うと、追跡するためのインストルメンテーションは、処理イベント、たとえば表1に開示されているイベントに接続する何らかの方法を含み得る。
本明細書で使用するインストルメンテーション(インストルメント化)は、ソフトウェアまたはハードウェアにより機能を拡張して、情報を利用できるようにするまたは内部変数、プロセス、状態等に関する情報を検索できるようにするための、何らかの方法および/またはメカニズムを意味し得る。より具体的には、好ましい実施形態において、ブラウザをインストルメント化して処理イベントを追跡することは、ブラウザを拡張してイベントをモニタリングするまたはイベントのモニタリングを可能にすること、ブラウザ内のイベントプロセッサに機能を追加すること、またはブラウザ内のイベントに接続すること、および、このモニタリングまたは機能を予め定められたイベントに関連して用いて、遅延変換器による待ち行列中の処理タスクの遅延の低減を容易にすることである。
好都合な実施形態は、上記待ち行列中の処理タスクQPTが、タイマタスク、スケジュールされたリダイレクトタスク、カスケードスタイルシート遷移タスク、待ち行列中スクリプトタスク、およびディファードイベントタスク、のうちの1つ以上のマスクを含むときに得られる。
ウェブページ処理状態
図1は、ここに開示する発明の概念の実施形態を示す。ウェブページを処理するには、典型的にはHTML文書であるメインリソースMRを、ネットワークNを介してフェッチし、ブラウザの一部を構成するウェブページプロセッサWPPによって処理する。典型的に、多数の、その他のリソース、サブリソースSR1、SRn、たとえばスタイルシート文書、画像ファイル、スクリプトファイル等も、ウェブページプロセッサWPPにおける処理中に、メインリソースまたはその他のサブリソースにの参照に従い、または、スクリプトもしくはその他のクライアント側処理済コンテンツにおける命令の実行の結果として、フェッチされる。ウェブページを処理すると、典型的にはウェブページのグラフィカル表現GRがレンダリングされることになる。グラフィカル表現は、ブラウザが使用するメモリの内部にあるが、当然、コンピュータのモニタまたはディスプレイ上においてユーザにも示される。なお、本発明の範囲に含まれるブラウザは、典型的なウェブブラウザであってもよく、場合によっては、コンピュータまたはスマートフォンにおいて見られる適切なブラウザプラグインを有する、または、上記ブラウザは、ヘッドレスブラウザ、すなわち、ウェブページの内部処理を実行するだけでそのグラフィカルレンダリングをユーザに示さないブラウザであってもよい。
図1は、ここに開示する発明の概念の実施形態を示す。ウェブページを処理するには、典型的にはHTML文書であるメインリソースMRを、ネットワークNを介してフェッチし、ブラウザの一部を構成するウェブページプロセッサWPPによって処理する。典型的に、多数の、その他のリソース、サブリソースSR1、SRn、たとえばスタイルシート文書、画像ファイル、スクリプトファイル等も、ウェブページプロセッサWPPにおける処理中に、メインリソースまたはその他のサブリソースにの参照に従い、または、スクリプトもしくはその他のクライアント側処理済コンテンツにおける命令の実行の結果として、フェッチされる。ウェブページを処理すると、典型的にはウェブページのグラフィカル表現GRがレンダリングされることになる。グラフィカル表現は、ブラウザが使用するメモリの内部にあるが、当然、コンピュータのモニタまたはディスプレイ上においてユーザにも示される。なお、本発明の範囲に含まれるブラウザは、典型的なウェブブラウザであってもよく、場合によっては、コンピュータまたはスマートフォンにおいて見られる適切なブラウザプラグインを有する、または、上記ブラウザは、ヘッドレスブラウザ、すなわち、ウェブページの内部処理を実行するだけでそのグラフィカルレンダリングをユーザに示さないブラウザであってもよい。
このブラウザは、待ち行列中の処理タスクQPT1...QPTnを格納するためのタスク待ち行列TQをさらに含む。これらタスクは、メインリソースの処理に対して非同期のタスクであり、たとえば、タイマ、ディファードスクリプト、スタイルシートアニメーション、非同期XML Http要求等を含み得る。このことは当業者が本明細書を読んで理解するであろう。
いくつかのアプローチでは、ウェブページを処理するとき、ブラウザは、メインリソースMR内の命令を同期的にすなわちシーケンシャルにパースおよび実行し得る。このとき、各タスクは前のタスクの完了を待つ。同期処理中にサブリソースに対する参照がある場合、同期処理は、この参照に従ってシーケンス内でサブリソースをパースおよび実行し、その後、メインリソースに戻り、終わりに達するまで続ける。メインリソースに対して非同期的に実行すべき命令があればまたはタスクへの参照がある場合、すなわち、メインシーケンスが非同期タスクの完了を待たずに続けられる場合、この命令または参照は、タスク待ち行列TQに入れられ、時間があるとき、実行できる状態になったとき、一定時間が経過したもしくは特定のイベントが生じたとき、または、特定の種類のブラウザによってその他の非同期基準が認識されたときに、実行される。
なお、さまざまな実施形態において、タスク待ち行列TQは、単純な先入れ先出しバッファから、タスクの種類、優先順位、またはその他のカテゴリに分類されるバッファを経て、ランダムアクセスバッファまでのうちの、いずれであってもよい。ここに開示する発明の概念に関して、待ち行列中の処理タスクの関連する性質として、これらの待ち行列中の処理タスクが、メインリソースの同期処理が完了するまで、決して、間違いなく、実行されないことが、挙げられる。これらの処理タスクが実行されるならばいつ実行されるか、または、実行された結果さらに他の待ち行列中のタスクにつながるか否か、判断することは、不可能であろう。
図1に示される発明の実施形態において、ここに開示する発明の概念に従う状態判定器SDがさらに示される。この状態判定器は、ブラウザの一部としてたとえばブラウザに本来属するものとしてもしくはプラグインとして実現されてもよく、または、ウェブページを処理しているブラウザと通信する外部の特徴であってもよい。状態判定器SDは、ウェブページの処理の完了の度合いを判定するまたは予想される情報を含むまでもしくは対話の準備ができるまで十分にウェブページが処理されたか否かを判定するための、たとえばアルゴリズム、一組のルールまたは論理ステートメント等を形成する、ソフトウェア命令および/またはハードウェア構成の形態の、ロジックを含む。上記情報は、状態判定器SDから、ウェブページ処理状態WPPSとして出力される。
本発明の好ましい実施形態において、状態判定器SDは、少なくとも待ち行列中の処理タスクに関連する、特定の処理イベントの発生時に、状態判定器内に設定されたパラメータP1...Pnに基づき、ウェブページ処理状態WPPSを判定する。パラメータは、たとえばパラメータレジスタPRに格納されてもよく、たとえば、待ち行列中の処理タスクの存在に関する情報、操作または対話している対象がどのようなオブジェクトかに関する情報、どのイベントがタスクの生成をトリガしたかに関する情報、もしあればどのタスクがタスク中に生じるイベントによって生成されたかに関する情報等を含み得る。たとえば、待ち行列中のタスクがタイマであれば、パラメータは、タイマID、タイムアウト時に実行されるスクリプトまたは命令、タイマについて設定された時間または間隔、タイマが始動したか否かに関する情報、またはすでにタイムアウトしたか否かに関する情報、タイマのチェーンもしくはその他の待ち行列中のタスクの一部であるか否かに関する情報、どのタスクがタイマを生成したかに関する情報、どの新たな待ち行列中のタスクがタイマによって実行されたスクリプトによって生成されるかに関する情報のうちの、1つ以上を含み得る。たとえば、待ち行列中のタスクが非同期XML Http要求である場合、パラメータは、XML Http要求のID、要求の種類および内容に関する情報、要求の対象であるサーバに関する情報、応答を受けたか否かに関する情報、応答の種類および内容に関する情報、応答の受信に関連して実行されるスクリプトに関する情報、XML Http要求のチェーンまたはその他の待ち行列中のタスクの一部であるか否かに関する情報、どのタスクが要求を生成したかに関する情報、どの新たな待ち行列中のタスクがたとえば応答への反応などとして要求をハンドリングするスクリプトによって生成されるかに関する情報のうちの、1つ以上を含み得る。
ここに開示する発明の概念のある実施形態のより詳細な例において、タイマをインストールするイベントの、ブラウザ内の処理によって、たとえば状態判定器SDにおけるパラメータP1を設定することにより、パラメータP1を設定してもよい。パラメータは、たとえば、クラス、テーブル、アレイ、またはその他の適切なデータ構造に格納してもよく、データ構造中の他の情報は、その出所を反映する変数またはデータフォーマットで格納するのが好ましい。たとえば、整数タイプの変数またはクラスプロパティでミリ秒時間間隔を格納する、ストリングタイプのプロパティまたは機能ポインタタイプのプロパティで機能名を格納する、等である。パラメータの設定は、好ましくは、ブラウザ内のイベントハンドラまたはイベントリスナークラスまたは方法によって行なわれてもよく、たとえば、状態判定器内の関連するクラスまたは方法を呼出すことにより、関連する処理イベントが検出されると、上記インストルメンテーションによって、可能になってもよい。ある実施形態において、ブラウザと状態判定器を統合することは、状態判定器のイベントリスナー方法またはクラスが、自身でイベントをインターセプトしそれに応じてパラメータ内の情報の分析と格納を生じさせるのに、十分強力であろう。パラメータP1は、たとえば、タイマの存在、タイマID、タイマ間隔および/または残り時間、タイマの始動時に実行すべき機能等に関する情報を含み得る。ウェブページの処理中に別のイベントが発生すると、非同期XML Http要求が開始される場合があり、これにより、たとえば、パラメータP2が状態判定器SDに設定される。パラメータP2は、たとえば、XML Http要求(XHR)の存在、固有ID、検索対象のオブジェクトの種類たとえばウェブページについてのその他のコンテンツ、実行すべきスクリプト等、または、XHRの目的のカテゴリ等に関する情報を含み得る。この例におけるパラメータP1およびP2が設定されてペンディングタイマおよび未終了のXHRの存在が明らかになると、状態判定器のロジックは、好ましい実施形態において、メインリソースおよび何らかの同期サブリソースのシーケンシャルな処理がすでに終了しておりブラウザによってロード終了イベントの放出がすでに始動されていても、ウェブページ処理状態が、実際は処理がまだ終了していないことを示す値であると、判定し得る。
引続き上記の例について、本発明の実施形態に従うと、ブラウザ内で、特定の固有IDを有するXHRが、ロードを終了し、そこから現われた同期イベントハンドラとともに実行されたことを示す、イベントが発生すると、状態判定器SDにおけるパラメータP2は、このXHRが終了したことを反映するように設定される。たとえば、ある実施形態において、パラメータP2を単純にクリアしてもよい。同様に、パラメータP1と一致するタイマIDを有するタイマが始動したことを、イベントが示すとき、関連する機能が実行され、同期イベントが処理され、パラメータP1は、たとえばペンディングまたは完了等を表わす値を用いてブーリアン(boolean)タイプのプロパティを設定することによって、無関係であることを反映してもよく、または単純にクリアされてもよい。そこで、状態判定器のロジックは、待ち行列中のタスクのペンディングの実行は残っていないと判定することができ、したがって、ウェブページ処理状態は処理が完了したことを示すように設定できる。
本発明の好ましい実施形態において、状態判定器のロジックは、完了または準備の程度を示すための経路を含んでいてもよく、および/または必要な処理が実行されたこと、(たとえば初期化タスクではなく)演算タスクのみが残っていること等を示してもよい。このことは当業者が本明細書を読んで理解するであろう。この可能性は特に、ウェブページがブラウザ内で開いている限りたとえば多数の未終了の待ち行列中のタスクを維持するようにウェブページコードを設計および/または採用し得る実施形態において、好都合である。このことは特に、たとえばタイマによって制御されて周期的および/または連続的なコンテンツのロードを実行する、いわゆる1ページウェブのアプリケーションに当てはまる。たとえば、コンテンツの周期的な全体または部分リロードを利用するアプリケーションである。たとえば、ソーシャルメディアは、ブラウザ内でウェブページが開いている限り、または、繰返しタイマ、ディファードタスク、またはスタイルシート動画等を有するウェブページである限り、たとえばXHRによって連続的に更新される。このことは当業者が本明細書を読んで理解するであろう。
好ましいアプローチにおいて、周期的および/または連続的なコンテンツのロードは、ユーザがウェブページを探索するときにユーザに特別な経験を与えるように設計されるが、これは、特にユーザがウェブロボットであるときは、ユーザが探しているウェブページコンテンツの実際のロードおよび/またはハンドリングに関しては無意味かもしれない。このようなウェブページに対し、状態判定器SDは、情報がおそらく準備されていることまたはすべてのロードが終了したこと等を示すようにウェブページ処理状態WPPSを設定するためのロジックを含み得る。このことは当業者が本明細書を読んで理解するであろう。
たとえば、あるアプローチにおいて、特定の種類の待ち行列中の処理タスクしか残っていないとき、または、残っているタスクがすべて、すでに実行されたタスクの繰返しであって実行されると自身を繰返し生成、呼出し、コールする等の場合、および/または特定の数の新たな(たとえばチェーン状の)タスクが実行されたときに、ウェブページ処理状態WPPSは、情報が「おそらく準備されている」ことを示し得る。さまざまなアプローチにおいて、上記状態判定器のロジックはファジーロジックを含み得る。
メインリソースの同期処理が完了する前に、存在している未処理の待ち行列中の処理タスクについて知ることができるようにするために、ウェブページプロセッサWPPは、好ましくは、同期処理における命令またはイベントによって関連する種類の待ち行列中の処理タスクが確立されるたびにパラメータを設定する(たとえば状態判定器SDにおけるパラメータP1...Pnを設定する)ように構成する必要がある。言い換えると、すでに存在していなくても、ここ開示する発明の概念の実施形態におけるブラウザは、好ましくは、タスクの関連するすべての待ち行列作成および待ち行列中のタスクの実行または削除のために状態判定器のパラメータを観察し設定することができるよう、その他のハンドラを用いてインストルメント化される。言い換えると、ここに開示する発明の概念の実施形態は、同期実行環境の中に一種の観察ポイントを設けて、非同期の処理タスクのすべての生成を検出する。従来のブラウザ処理の場合はアイドル状態が処理が終了したことを意味するのかまたは同期タスクが戻ってくるのを単に待っているだけなのか判別することが不可能な場合がある。この従来の場合と異なり、ここに開示する発明の概念では、特定のウェブページについてのブラウザ内のすべての処理をまとめてリンクすることができ、このすべての処理には、最初の同期処理の完了後に生じる処理も含まれる。これは、ここに開示する発明の概念の実施形態に従うと、状態判定器内のパラメータによって可能になるので、いつでも、処理が終了したか否か、または、ウェブページの初期化をどの程度までおそらく完了したか判断することができる。
図2および図3は、問題のさらに他の側面を示すための簡略化したシーケンス図とし提供される。このシーケンス図は、メッセージフロー中に原則のみを示すことによって簡略化したものである。実際は、当業者にはわかるように、示されている原則を実現するためのさらに他のメッセージおよびプロセスが存在し得る。図2は、典型的な単純なウェブページに対する先行技術のウェブページ処理の一例を示す、簡略化したシーケンス図である。メッセージ2−1により、ユーザは、たとえばインターネットアドレスとしてURLを入力することによってブラウザにウェブページを要求し、ブラウザは、このアドレス等を解釈した後、メッセージ2−2により、関連するウェブサーバにHTML文書すなわちウェブページのメインリソースを要求する。ウェブサーバは、HTML文書とともに応答2−3をブラウザに送り、ブラウザはその処理を開始する。ある時点で、ブラウザは、メインリソースがサブリソースとしてCSS文書を参照していることを認識し、ブラウザは、メッセージ2−4により、CSSを、同期的にすなわちCSSを待つことにより、要求する。ウェブサーバは、スタイルシートとともに応答2−5を返し、ブラウザはその同期処理を続ける。また、要求2−6によって別のサブリソースとして画像を要求し、それを2−7で受取った後、ブラウザは、メインリソースの処理を終了する。この例ではすべての処理およびイベントが同期であるため、メインリソースの処理の終了は、ブラウザがウェブページのロードおよび処理を終了したことも意味し、ブラウザはユーザのビューの更新2−8によってウェブページをユーザに対して表示する。
図3は、非同期タスクを使用する複雑なウェブページに対する先行技術のウェブページ処理の一例を示す、簡略化したシーケンス図である。最初のウェブページの要求とメインリソースのロードおよび処理とサブリソースの同期ロードは、図2に関する先の説明と同様に、メッセージ3−1〜3−7によって行なわれる。しかしながら、この例では、図2に示されているものに加えた、メインリソースの処理により、非同期XML Http要求が3−8によってウェブサーバに送信され、以下でわかるように、これにより、ディファードスクリプトおよびタイマも作成される。しかしながらこれらはメインリソースのライフラインの中で同期処理されるのではない。よって、メインリソースが同期で扱われるすべてのサブリソースとともにロードを終了したとき、ブラウザは(明らかに)終了しており、ユーザのビューを3−9によって更新する。
しかしながら、ある時点で、ブラウザのプロセッサは再び3−10によって、先の同期処理において作成されたが実行されなかったディファードスクリプトを実行する。このスクリプトが終わりに達したとき、プロセッサは(明らかに)終了し、ユーザのビューを3−10によって更新する。
同様に、ある時点で、ブラウザのプロセッサはもう一度起動して先の同期処理によってインストールされたが始動されなかったタイマによってトリガされたスクリプトを3−12によって実行する。再び、タイマスクリプトが終了すると、ブラウザは終了しユーザのビューを3−13によって更新する。
また、ある時点で、ウェブサーバは、これも以前に送信されたものであるXML Http要求の結果とともに3−14によって非同期で応答する。ブラウザは、結果を処理し、ユーザのビューを3−15によって更新し、再び、ウェブページの処理をおそらく終了したことを知る。
図3に示される例では、さらに他の非同期イベントは発生しないものの、他の例では、他のいくつかのタスクが設定されている可能性があり、または、これも典型的であるが、非同期タスクがさらに他の非同期タスクを確立させる可能性があり、または、インターバルタイマがそのスクリプトを何度も非同期で実行する可能性がある。
図4は本発明の実施形態を簡略化したシーケンス図で示し、図4では、簡略化したメッセージフローが、たとえば図3を参照しながら先に説明したような、複雑なウェブページのロードが、如何にして、状態判定器SDを用いる、ここに開示する発明の概念の実施形態になるかを概念的に示す。シーケンス図は、メッセージフロー内に原則のみを示すことによって簡略化している。実際は、当業者にはわかるように、示されている原則を実現するためのさらに他のメッセージおよびプロセスが存在し得る。
ユーザはメッセージ4−1によってブラウザにウェブページを要求し、ブラウザはメッセージ4−2によって状態判定器SDにブラウザがメインリソースのロードを開始することを知らせる。このイベントは、たとえば状態判定器におけるパラメータP1にたとえばどのウェブページおよびどのような文書がメインリソースを構成するか等に関する情報とともに、格納されてもよい。ブラウザはまた、4−3によってウェブサーバにHTML文書を要求し、ウェブサーバはHTML文書とともに応答4−4をブラウザに送信する。
処理中に、ブラウザは、メインリソースがサブリソースとしてCSS文書を参照していることを認識し、ブラウザは、メッセージ4−5により、ブラウザがサブリソースをロードしていることを状態判定器SDに知らせる。状態判定器は、たとえば、この情報をサブリソースの種類に関する情報とともにたとえばパラメータP2に格納してもよい。次に、ブラウザは、CSS文書をメッセージ4−6によって同期的にすなわちCSSを待つことにより要求する。ブラウザは、スタイルシート文書を4−7で受けると、状態判定器SDに、4−8によって、ブラウザがこの特定のサブリソースのロードを終了したことを知らせる。ある実施形態では、状態判定器はパラメータP2をクリアする。なぜなら、ブラウザが何に対してビジーなのか判定することにはもはや関係がないからである。本発明のこれに代わる実施形態において、状態判定器は、パラメータP2をパラメータレジスタに保持してもよいが完了したことをマークしておく。
図4のイベント4−9〜4−12は、イベント4−5〜4−8に関して説明したのと同様に、メッセージを用いて別のサブリソースをロードしたとえば第3のパラメータP3により追跡を続けることを示す。
画像サブリソースの同期処理を終えた後、ブラウザは、図4の例では明リソース中の、非同期XML Http要求がなされようとするポイントに達する。このイベントを反映するメッセージ4−13が、この情報をたとえばパラメータP4に格納する状態判定器SDにされ、ブラウザは4−14によって非同期XML Http要求をウェブサーバに送信する。これは非同期タスクなので、ブラウザプロセッサは休止してウェブサーバからの応答を待つことはないが、直ちにメインリソース処理に進む。この例において、このことは、実行を後までディファードするスクリプトを待ち行列に入れること、およびタイマをインストールして指定時間後に始動させることを含む。すなわち、これらはどちらも非同期タスクでありブラウザの処理を休止させない。ディファードスクリプトを待ち行列に入れるとき、ブラウザは、メッセージ4−15によって、状態判定器SDに知らせ、状態判定器はこのイベントを、ディファードスクリプトに関する情報をそのパラメータレジスタ、この例ではたとえばパラメータP5に格納することによって、追跡してもよい。同様に、タイマのインストール時に、ブラウザは、メッセージ4−16によって状態判定器SDに知らせ、これは、たとえばパラメータP6によって、たとえばタイマのID、タイマの始動の時間、場合によってはタイマの始動時に実行する命令またはスクリプトに関する情報を格納することによって、追跡される。
引続き図4の例において、ブラウザが、メインリソースに関する同期処理を完了したとき、ブラウザはそのことをメッセージ4−17によって状態判定器に知らせる。状態判定器はこのことを、メインリソースのロードの開始時に先に生成されたパラメータP1と関連付けられたものと認識し、この実施形態では、パラメータP1をクリアすることによって、これがブラウザの準備完了状態の判定にもはや影響しないことを示してもよく、または、これに代わる実施形態ではP1を単に完了したものとマークするだけで情報を保持してもよい。最後に、ブラウザや、その時点までに実行された処理に基づいて、4−18によりユーザのビューを更新する。
ユーザに対する応答4−18後、ブラウザは明らかにウェブページの処理を行なっていないが、本発明に従う状態判定器SDは非同期タスクを追跡し続けているので、この例では状態判定器に対する問合せ4−19によって、状態判定器にパラメータP1〜P6を考慮させ、ビジーメッセージ4−20によって示されるように実際はまだブラウザが処理していると評価してもよい。なぜなら、パラメータP1〜P3に関連するタスクのみが完了とマークされタイマはまだ始動されていないからである。
ある時点において、図4のブラウザプロセッサは、4−21によってディファードスクリプトを実行し、これに関するメッセージ4−22を、関連する同期処理すべてが実行されたときに、状態判定器に送信する。状態判定器はパラメータP5をクリアするかまたは完了したことをマークする。ブラウザは4−23によってユーザのビューを更新し、ディファードスクリプトの実行によってなされた変更を反映する。ここでもまた、ブラウザプロセッサは明らかにウェブページの処理を終了しているが、上記のように、状態判定器に対する問合せ4−24がなされることにより、この場合も処理がまだ終了していないことが応答4−25から明らかにされる。なぜなら、XML Http要求に関するパラメータP3およびタイマに関するパラメータP5が依然としてペンディングの非同期タスクを反映しているからである。
同様に、タイマが始動する時間を、この例における状態判定器は、タイマのスクリプトの実行の開始前に4−26によって通知され、上記のように、タイマによりトリガされたすべての同期処理4−27が終了したときに4−28によって通知される。この特定のIDを有するタイマに関する新たな情報を受信するたびに、状態判定器はパラメータP6を更新し、メッセージ4−28を受信したことにより、P6をクリアするかまたは完了したとマークする。上記のように、4−29によってビューが更新されすべての処理が完了したように見えると、状態判定器に対する問合せ4−30に対し、ビジー!応答4−31がなされる。なぜなら、パラメータP3によってペンディングの非同期XML Http要求をまだ追跡しているからである。
非同期XML Http要求に応答したウェブブラウザからの結果4−32が最終的に受信され応答の非同期処理に関連するすべてのタスクが実行されたとき、状態判定器はそれを4−33によって通知され、XML Http要求に関するパラメータP3における情報をクリアするまたは完了とマークすることができる。次に、ウェブページ処理状態WPPSに関する状態判定器に対する別の問合せ4−35の結果、4−36によって準備完了!応答4−36がなされる。なぜなら、すべてのタスクがクリアされまたは完了しており、パラメータレジスタには、ペンディングの、すけージュールされた、ディファード、時間が決められた、待ち行列中等のまたは他の非同期のタスクはないからである。
上記例において、状態判定器は、通知されたすべてのイベントを、同期イベントと非同期イベントどちらも追跡し続ける。他の実施形態において、非同期イベントのみが、場合によっては重要な同期イベント、たとえばメインリソースの処理の開始および終了とともに、パラメータレジスタに保持される。
図3と図4の比較からわかるように、ブラウザがメインリソースと関連する同期タスクの処理を終了した後に、準備または完了の程度を反映するウェブページ処理状態を状態判定器が判定することを容易にするのは、主として非同期イベントの追跡である。言い換えると、同期処理中に、状態判定器は、作成されているすべての非同期タスクに接続して、これらタスクが存在するという事実を用いてこれらがいつ実行されるか追跡できるようにする。しかしながら、本発明の他の実施形態でも、たとえばペンディングタスクに関する情報を用いて、下記のように、より確かな情報に基づくウェブページ処理状態WPPSを確立するために、これらペンディングタスクの関連性または優先順位を判定する。ここに開示する発明の概念の実施形態では、同期処理中に非同期タスクをこれらが作成されたときに登録できるようにすることで、状態判定器は、非同期タスクのチェーニング(chaining)を追跡することができる、すなわち、非同期で作成されたタスクの実行によって新たな非同期タスクが生成されたとき、たとえばタイマはそれが実行されるたびに始動し直し、たとえば、バナーもしくは画像回転器を駆動するかまたは30秒ごとに自動ニュース更新を実行する。
ここに開示する発明の概念のある実施形態に従うと、非同期に実行するために待ち行列に入れるべきタスクの作成は、状態判定器内のパラメータの作成または更新をモニタリングし使用することに関連し得る。これは、本発明の範囲に含まれると考えられる。しかしながら、実際的ないくつかの例を挙げると、現代のブラウザおよびウェブページを扱う好ましい実施形態は、たとえば、以下の表1に列挙した状況に関連するイベントの追跡を用いてインストルメント化してもよい。なお、記載したイベントのうちのいくつかは、標準ブラウザによって自動的に始動されるものではないが、ブラウザは、ここに開示する発明の概念の実施形態における目的に合わせてインストルメント化し得る。また、特定したイベントのうちのいくつかは、必ずしも非同期のタスク実行に関連していないが、本発明の好ましい実施形態に含まれて、ウェブページ処理状態の、状態判定器による評価およびモニタリングを容易にすることができる。上記のように、典型的に、追跡イベントの次には、開始されているまたは変更されている特定のオブジェクトを識別する情報またはその他の関連情報が続き、追跡イベントに応じて作成され更新されたパラメータに基づいてウェブページ処理状態全体における変更を状態判定器が判定し易くする。なお、表1はすべてを網羅したものではなく、必須でもない。ここに開示する発明の概念の特定の実施形態における用途に関連するイベントは、より少ない、多い、および/またはその他のイベントである場合もある。上記特定の実施形態は、たとえば、ウェブページプロセッサWPPの他の実装例、可能なタスクの範囲を拡張する他のブラウザアドオン、および当然ながら今後の種類の非同期タスクについての実施形態である。
上記のように、本発明の実施形態において、ウェブページ処理状態WPPSを「終了した処理」等に設定するために使用することができる1つの基準は、単に、すべての非同期タスクが実行されるのを待つことである。これは、本発明の実施形態では、たとえば図4を参照しながら先に述べたように、状態判定器のパラメータをモニタリングすることによって行なうことができる。しかしながら、これも先に述べたように、いくつかのウェブページは、たとえば更新のロードのためまたは向上したユーザ経験を提供するために、非同期タスクを繰返し作成する。このようなウェブページの場合、すべての非同期タスクがなくなるのを待つという単純な基準は、典型的に、状態判定器が、ウェブページ処理状態WPPSを処理状態の完了を示すように変更することがあり得ないことを意味し得る。
本発明の好ましい実施形態では、したがって、状態判定器は、異なる基準を使用するように設定されてもよく、または、たとえば特定の状況に応じて選択する一組の基準を有するように設定されてもよい。好ましい実施形態において、この基準は、状態判定器のパラメータのモニタリングにおよび/または以下でより詳細に説明するようにウェブページの解析の実行に基づくが、ここに開示する発明の概念の実施形態では時間基準との組合わせも実現し得る。
以下の表2には、ウェブページ処理状態WPPSを、たとえアクティビティがまだ続けられていても、たとえば、完了、完了もしくは準備完了状態の程度、または対話の準備ができている状態に設定するための、代替の基準の例が記載されている。この基準のリストはすべてを網羅したものではなく、必須でもない。本発明の他の実施形態ではこれよりも少ない、多い、および/または他の基準が関連し採用される場合がある。異なる基準は、異なる実施形態では、たとえば累積において重み付けが異なることによって、優先順位付けが異なる場合があり、および/またはいくつかの基準を、他を考慮する前に満たす必要がある場合もある。
先に述べたように、上記の例のような基準を用いると、際限ない更新の繰返し、画像の回転、株式相場表示機等のアクティビティが依然として生じておりブラウザによって処理されていても、状態判定器がウェブページ処理状態WPPSをたとえば完了または準備完了状態に設定するのが容易になる。また、状態判定器は、処理が完了するまで長い固定時間単純に待つのではなく、ウェブページ処理状態WPPSを判定後直ちに完了または準備完了状態に設定することができる。
また、単純な総時間の基準ではなく、上記の定性的な基準または同様の基準を用いることにより、特定のウェブページについて、ウェブページ処理状態WPPSが、ウェブページが処理されるたびに同じ段階で確実に変化するようになる。このことは、たとえば、リソースのロードが行なわれる時間、処理が行なわれる時間等の時折の小さな変化とは無関係であり、かつ、XML Http要求に対する異なる応答が異なる順序で到達するか否か等とは無関係である。このことは特に、ウェブロボットによる自動ブラウジングに関連がある。なぜなら、ウェブロボットは、本質的に訪問されるたびに挙動が変化するウェブページを解析または使用することができない場合があるからである。その理由は、固定されたタイムアウトによってロボットは処理の異なる段階で進行することになるからである。状態判定器が使用する基準のうちのいくつかは、取り得る値が多数である場合があり、したがって、上記基準のうちのいくつかについて述べたように、しきい値との比較、値空間内の異なる範囲に異なる重みをマッピングすること等によって、評価し得る。
状態判定器は異なる基準を考慮してもよく、最終的には、わずか数個たとえば場合によっては2つのウェブページ処理状態WPPSのうちの1つ、たとえば「ビジー」または「準備完了」、または、「ビジー」、「準備完了」または「完了」になる。ある代替の実施形態において、ウェブページ処理状態を、たとえば、しきい値ではなく重み付けによって基準値を考慮することにより、準備完了または完了状態の確率または程度で判定してもよい。ある実施形態において、ウェブロボットまたはその他のユーザは、しきい値、重みを設定することができる、または、状態判定器内の基準の追加または無視さえできる。ある実施形態において、ウェブページ処理状態WPPSは、状態判定器によって、状態についての理由またはコメントとともに、たとえば、繰返しタイマがまだアクティブであるが100回の繰返しを超えているものの処理は完了したと思われるというコメント等とともに、提供される
ある実施形態において、状態判定器において設定されたパラメータの解析を、レンダリングされたウェブページの解析と組合わせてもよい。いくつかのウェブページについて、極端に量が多い非同期タスクまたは非常に多いタスクの繰返しおよびチェーニングが原因で、状態判定器が、イベント追跡のみに依拠して、適切な処理状態を判定すること、または、関連する、ウェブページが対話の準備ができていることまたはその内容の使用の準備ができていることを信号で知らせる時間を判定することが、難しくなる場合がある。いくつかのウェブページについて、ウェブページが画像、広告バナーのロード、統計または目標設定のためのスクリプトの実行等を完了する時点よりも相当時間前に、関連する、対話のためのオブジェクトまたは使用するコンテンツをロードして準備してもよい。これらの状況いずれにおいても、イベント追跡のアプローチを、ブラウザによってレンダリングされたウェブページの地理的解析すなわちブラウザのメモリ内のグラフィカル表現GRと、および/またはブラウザのドキュメントオブジェクトモデル(DOM)ツリーすなわちブラウザのメモリ内のウェブページの形式的表現と、組合わせるのが好都合であろう。
ある実施形態において、状態判定器において設定されたパラメータの解析を、レンダリングされたウェブページの解析と組合わせてもよい。いくつかのウェブページについて、極端に量が多い非同期タスクまたは非常に多いタスクの繰返しおよびチェーニングが原因で、状態判定器が、イベント追跡のみに依拠して、適切な処理状態を判定すること、または、関連する、ウェブページが対話の準備ができていることまたはその内容の使用の準備ができていることを信号で知らせる時間を判定することが、難しくなる場合がある。いくつかのウェブページについて、ウェブページが画像、広告バナーのロード、統計または目標設定のためのスクリプトの実行等を完了する時点よりも相当時間前に、関連する、対話のためのオブジェクトまたは使用するコンテンツをロードして準備してもよい。これらの状況いずれにおいても、イベント追跡のアプローチを、ブラウザによってレンダリングされたウェブページの地理的解析すなわちブラウザのメモリ内のグラフィカル表現GRと、および/またはブラウザのドキュメントオブジェクトモデル(DOM)ツリーすなわちブラウザのメモリ内のウェブページの形式的表現と、組合わせるのが好都合であろう。
ウェブページのグラフィカル表現の地理的解析を使用する例として、たとえば、ウェブサイトの関連コンテンツに到達するのにログインが必要であり、ログインフォームがそうでなければ無関係のフロントページにありユーザ名およびパスワード用のテキストボックスとログインボタンを含むことがわかっている状況が挙げられる。この解析は、たとえば先行技術で利用できる画像解析技術を用いて、場合によってはある程度のテキスト認識と組合わせて、フロントページのグラフィカル表現の右上の角の、上記性質のログインフォームの出現について、調べることを含み得る。ログインフォームが現われると、状態判定器は、ウェブページ処理状態WPPSを、「続行準備完了状態」等のような状態に設定してもよい、または、グラフィカルな解析による情報を、イベント追跡に関連して設定したパラメータに基づく情報とともに用いて、準備完了状態を信号で知らせるのに適した時間を判定してもよい。
ここに開示する発明の概念の実施形態においてウェブページのグラフィカル表現の解析を用いることは主として、ユーザが前もって探す対象とそれがどのように見えるはずであるかを定めている場合、たとえば、自動的に同一のウェブページからのデータを頻繁に見るようウェブロボットをユーザが設定している場合に、ウェブページをブラウジングするのに好都合である。しかしながら、ここに開示する発明の概念のこの実施形態はまた、たとえば視覚障害があるユーザ、そうでなければ常に画面をモニタリングできないもしくはそれを望まないユーザのために、待ち時間を減じるのにも有益であろう。
ウェブページのグラフィカル表現の地理的解析の使用の上記例はまた、必要な変更を加えて、DOMツリーの解析によってイベントのモニタリングを補助する本発明の実施形態に適用し得る。たとえば、状態判定器は、DOMツリーをモニタリングすることにより、2つのテキストボックスとログインボタンを有するフォームのためのHTMLタグがいつ現われるかを、関連するログインランディングページのURLとともに、直ちに知ることができる。この解析は、関連するフォームの検証スクリプトがロードされること等を待つことを含む場合も含まない場合もある。現われると、状態判定器は、ウェブページ処理状態WPPSを、「続行準備完了状態」のような状態に設定してもよく、または、DOMツリー解析からの情報を、イベント追跡に関連して設定したパラメータに基づく情報とともに用いて、準備完了状態を信号で知らせるのに適した時間を判定してもよい。
グラフィカル解析に関連して先に説明したのと同様に、補助するDOMツリー解析は、特定のウェブページについてDOMツリー解析で探す対象を前もってユーザに定めさせることができる場合、たとえばウェブロボットを用いて、わかっているウェブページを繰返しロードするときに、特に有用である。DOMツリー解析を含むここに開示する発明の概念の実施形態を用いて、障害のあるユーザのためにブラウジングを改善してもよい。
ここに開示する発明の概念は、図5に示されるように、ウェブロボットWRにウェブページをブラウジングさせるときに、特に有用である。ウェブロボットWRはロボット記憶装置RSを含む。すなわちこれは、ウェブページから取出したコンテンツおよびその他の情報を格納する。これは一時的にはたとえばRAM等であってもよく、および/またはより永続的にはハードドライブまたはフラッシュドライブであってもよい。
図5は、ウェブロボットWRが、特定のウェブページがウェブページプロセッサWPPによってロードされ処理されることを要求することを示す。状態判定器SDは、特定の間隔で、ペンディングの待ち行列中のタスク等を反映する現在のパラメータに従ってウェブページプロセッサWPPSを判定および設定し、この情報を、積極的にプッシュすることによってまたはウェブロボットからの問合せに答えることによって、ウェブロボットWRが利用できるようにする。ウェブページプロセッサWPPが、許容可能な状態WPPS、たとえば、処理完了状態、対話準備完了状態、コンテンツロード済状態等を示す状態に達したとき、ウェブロボットWRは、好ましくは、ウェブロボット記憶装置に格納するための関連コンテンツ、例としてたとえば新たなウェブページを要求することによってまたはたとえばログインもしくは探索のためにウェブページのフォームに記入して通知することによって、収集する予定であったコンテンツ、および/または対話する予定の形態の対話の対象のロード済みウェブページのコンテンツを、格納する。
図11は、ブラウザWBが、ウェブページプロセッサWPPと、グラフィカル表現GRを保持するためのメモリと、タスク待ち行列とを含む、本発明の実施形態を示す。ブラウザWBと通信するのは、パラメータレジスタPRからのパラメータを格納し検索するとともにウェブページ処理状態WPPSを出力するように配置された状態判定器SDである。好ましくは、ブラウザWBは、ウェブサーバまたはその他のネットワーク接続可能な装置から、ウェブページをともに形成するメインリソースMRおよびサブリソースSR1、SRnを、検索できるようにするために、ネットワークNたとえばインターネットに接続される。さまざまなブロック、特に状態判定器、および、状態判定器とブラウザが相互にサポートするように配置する方法を、たとえば先に図1〜図5を参照して本明細書で説明した実施形態のいずれかに従い、実施することができる。また、上記のように、本発明の範囲に含まれる代替の実施形態では、ブラウザWBが、状態判定器を外部構成要素とするのではなく、パラメータレジスタPRとともにまたはパラメータレジスタなしで、状態判定器SDを本来属するものとしてもしくはプラグインとして含んでいてもよい。
遅延変換
特にウェブロボットであるがしばしば人間のユーザにとっても、いくつかのウェブページに対するアクセス可能性を減じるまたはいくつかのウェブページをブラウジングの対象として無効にする、異なる側面は、タイマ、ディファードスクリプト、遅延されたリダイレクト、および、未来の絶対または相対時間に対してスケジュールされたその他すべてのウェブページ処理タスクの使用である。ユーザまたはロボットは、特定のコンテンツにしか興味がないとき、または別のウェブページに進むためにまたは対話するために特定のリンクまたはフォームが現われるのを待っているとき、一般的に、コンテンツを画面の側部から飛び込ませる気まぐれなCSS遷移、フォームがゆっくりと現われるようにするスクリプト、先に進む前に広告を10秒間見ることを強いるタイマ、5秒でリダイレクトが生じるであろうというメッセージ等を待つことには興味がない。意図的な遅延を利用するウェブページをブラウジングするロボットが経験する課題は、たとえば、ロボットが、ウェブページのロードを要求してから、ウェブページがロードされ対話の準備ができたと想定する前に、所定時間待つようにされている場合は、もっと悪い場合がある。認識可能な経験をユーザに与えることを意図しているので、ウェブページにおける量にして何秒かの意図的な待機時間は、重要であることが多く、そのため、累積された待機時間は、しばしばまたは少なくとも適当なリスクを伴って、ロボットがより安全性が高いがより遅くなる極端に長い待機時間を設定されているのでない限り、ロボットに設定された想定される安全な待機時間を超えている場合がある。
特にウェブロボットであるがしばしば人間のユーザにとっても、いくつかのウェブページに対するアクセス可能性を減じるまたはいくつかのウェブページをブラウジングの対象として無効にする、異なる側面は、タイマ、ディファードスクリプト、遅延されたリダイレクト、および、未来の絶対または相対時間に対してスケジュールされたその他すべてのウェブページ処理タスクの使用である。ユーザまたはロボットは、特定のコンテンツにしか興味がないとき、または別のウェブページに進むためにまたは対話するために特定のリンクまたはフォームが現われるのを待っているとき、一般的に、コンテンツを画面の側部から飛び込ませる気まぐれなCSS遷移、フォームがゆっくりと現われるようにするスクリプト、先に進む前に広告を10秒間見ることを強いるタイマ、5秒でリダイレクトが生じるであろうというメッセージ等を待つことには興味がない。意図的な遅延を利用するウェブページをブラウジングするロボットが経験する課題は、たとえば、ロボットが、ウェブページのロードを要求してから、ウェブページがロードされ対話の準備ができたと想定する前に、所定時間待つようにされている場合は、もっと悪い場合がある。認識可能な経験をユーザに与えることを意図しているので、ウェブページにおける量にして何秒かの意図的な待機時間は、重要であることが多く、そのため、累積された待機時間は、しばしばまたは少なくとも適当なリスクを伴って、ロボットがより安全性が高いがより遅くなる極端に長い待機時間を設定されているのでない限り、ロボットに設定された想定される安全な待機時間を超えている場合がある。
図6に示す、ここに開示する発明の概念の好ましい実施形態において、遅延変換器DCは、タイマおよびその他の遅延を含むウェブページのブラウジングを改善するために提供され、いくつかまたはすべての意図的なウェブページ処理遅延が不要または無関係とみなされる状況において、特に有用である。
図6は、図1と同様、ブラウザの一部を構成するウェブページプロセッサWPPによってネットワークNを介してフェッチされて処理される、典型的にはHTML文書であるメインリソースMRを示す。典型的に、多数の、その他のリソース、サブリソースSR1、SRn、たとえばスタイルシート文書、画像ファイル、スクリプトファイル等も、ウェブページプロセッサWPPにおける処理中に、メインリソースまたはその他サブリソースの参照に従い、または、スクリプトもしくはその他のクライアント側処理済コンテンツにおける命令の実行の結果として、フェッチされる。ウェブページを処理すると、典型的にはウェブページのグラフィカル表現GRがレンダリングされることになる。グラフィカル表現は、ブラウザが使用するメモリの内部にあるが、当然、コンピュータのモニタまたはディスプレイ上においてユーザにも示される。なお、本発明の範囲に含まれるブラウザは、典型的なウェブブラウザであってもよく、場合によっては、コンピュータまたはスマートフォンにおいて見られる適切なブラウザプラグインを有する、または、上記ブラウザは、ヘッドレスブラウザ、すなわち、ウェブページの内部処理を実行するだけでそのグラフィカルレンダリングをユーザに示さないブラウザであってもよい。
このブラウザは、待ち行列中の処理タスクQPT1...QPTnを格納するためのタスク待ち行列TQをさらに含む。これらタスクは、メインリソースの処理に対して非同期のタスクであり、たとえば、タイマ、ディファードスクリプト、スタイルシートアニメーション、非同期XML Http要求等を含み得る。待ち行列中の処理タスクのうちのいくつかは、関連付けられたタイミング情報、たとえば、タスクの実行前に経過する時間、および、繰返しタスクの実行と実行の間に経過する時間間隔、場合によってはタスクを実行する最も早い許容可能な時間の絶対時間等、とともに、生成されるであろう。ウェブページ処理するとき、ブラウザは基本的に、メインリソースMR内の命令を同期的にすなわちシーケンシャルにパースし実行する。このとき、各タスクは前のタスクの完了を待つ。同期処理中にサブリソースに対する参照がある場合、同期処理は、この参照に従ってシーケンス内でサブリソースをパースおよび実行し、その後、メインリソースに戻り、終わりに達するまで続ける。メインリソースに対して非同期的に実行すべき命令または参照があれば、すなわち、メインシーケンスが非同期タスクの完了を待たずに続けられる場合、この命令または参照は、タスク待ち行列TQに入れられ、時間があるとき、または、上記タイミング情報に従って、実行される。また、同期的に処理されているタスクには、同期処理を遅延させ得るまたは特定の時間もしくは特定の時間まで待機させ得る、関連するタイミング情報がある場合がある。
遅延変換器DCは、遅延変換器が上記タイミング情報のうちのいくつかまたはすべてを制御できるように、ウェブページプロセッサWPPと関連して配置される。これは、本発明の好ましい実施形態において、関連するタイミング情報がある待ち行列中の処理タスクQPTが生成されるたびに、遅延変換器DCに知らせるよう、ブラウザをインストルメント化することによって、実現し得る。ある実施形態において、これは、上記表1に列挙されているイベントのうちのいくつかまたはすべてを追跡することによって、実現し得る。本発明の代替の実施形態は、すべての待ち行列中のタスクまたは時間が決められたいくつかまたはすべてのタスクが、遅延変換器DCを介して、または、時間が決められたタスクがいつ生成されるかまたは存在するか判断するためにタスク待ち行列TQをモニタリングするように遅延変換器DCを配置することによって、生成されるように、実装し得る。
上記実施形態のうちのいずれにおいても、遅延変換器は、時間が決められたタスク、すなわちタイミング情報がある待ち行列中の処理タスクが実行される前に経過する時間の量を減じるまたは制限するように配置される。これはたとえば、遅延変換器DCが、すべてのタイミング値を、絶対、相対、または比例デクリメントによって、時間が決められたタスクがより早くおよび/または高速に実行されるようにする新たな値に変更することによって、実現し得る。ある実施形態において、遅延変換器は、たとえば、すべての遅延、タイマ値、待機時間等を、ウェブページ文によって与えられた実際の値にかかわらず、特定のブラウザにとって可能な最小のまたは妥当な値、たとえば1msに、設定し得る。これにより、遅延等は実際無意味になり、少なくとも、リソースの検索において生じ得るボトルネックを無視したとき、処理は瞬間的になるように見える。代替の好ましい実施形態において、遅延変換器DCは、たとえば、いくつかまたはすべてのタイミング値を、元の値の特定の比率、たとえば1/1000に設定し得る。こうすれば、実際、すべての待機は、ウェブページデザイナーが意図した待機の1000分の1になる。上記実施形態は、本発明の一実施形態において、特定の遅延が可能な最小値にリセットされてこれらが瞬間的なものに見えるようにする一方で、それ以外の遅延は代わりに比例して短縮されてこれらが遅延があるものに見えるが意図されたものよりも速くなるように、組合わせてもよい。
本発明のある実施形態において、たとえば図7に示されるように、遅延変換器DCを、タスク待ち行列TQを制御する機能、たとえばタスクを生成しモニタリングしディスパッチする機能において、実装してもよい。このようにすると、遅延変換器は、特定のウェブページについてブラウザに現われる、遅延、タイマ等を完全に制御し、たとえば、要求された値と比較して減じられたタイミング情報を有するタスクを生成することができる、および/または、タスクを、実際ディスパッチされるように設定された時間よりも、相対、または比例時間だけ前の時間に、ディスパッチすると判断してもよい。
本発明の好ましい実施形態において、遅延変換器DCは、明らかにウェブページデザイナーによって設計されたものであろう順序で、タスクのうちの少なくともいくつかが実行されるよう管理するための、ロジックを含み得る。これはたとえば、元のタイミング情報と変換されたタイミング情報のリストを維持しており、リストに対応して遅延値を増した新たなタイミング値を適用し、および/または、タスク待ち行列を制御する場合は元のタイミング情報に従って待ち行列中のタスクの順序付けをする、遅延変換器DCによって実現し得る。
本発明に従う遅延変換器DCは、ブラウザの一部としてたとえばブラウザに本来属するものとしてもしくはプラグインとして実現されてもよく、または、ウェブページを処理しているブラウザと通信する外部の特徴であってもよい。
ここに開示する発明の概念に従う遅延変換は、ウェブロボットによってウェブページをブラウジングするときに、大抵はユーザに特別な経験を提供するためにウェブデザイナーが利用する遅延が、せいぜい無関係であるがウェブロボットの有効性および検索されたコンテンツの品質に対して負利益である場合に、特に有用である。
組合わせ
本発明の好ましい実施形態において、ウェブページ処理がいつ完了したかまたは少なくともウェブページとの対話に十分な程度であるかの判定に関連する上記実施形態のうちの1つ以上を、ウェブページの遅延、タイマ等を高速化することに関する上記実施形態のうちの1つ以上と、組合わせる。本発明に従う組合わせの実施形態のいくつかの例が、図8〜図10に示される。図8において、状態判定器SDと遅延変換器DC双方が、ウェブページプロセッサWPPと関連付けられて、ブラウザの一部として、プラグインとして、または、少なくともウェブページプロセッサと通信するものとして、配置される。イベントを追跡するためのブラウザのインストルメント化は、好ましくは、遅延変換器DCが、タイミング情報を、状態判定器SDがそのパラメータを更新する前に変換して、変換されたタイミング情報がパラメータレジスタPRに登録されるように、実現される。これに代えて、遅延変換器は、タスク待ち行列およびパラメータレジスタ双方のタイミング値を変換してもよい。
本発明の好ましい実施形態において、ウェブページ処理がいつ完了したかまたは少なくともウェブページとの対話に十分な程度であるかの判定に関連する上記実施形態のうちの1つ以上を、ウェブページの遅延、タイマ等を高速化することに関する上記実施形態のうちの1つ以上と、組合わせる。本発明に従う組合わせの実施形態のいくつかの例が、図8〜図10に示される。図8において、状態判定器SDと遅延変換器DC双方が、ウェブページプロセッサWPPと関連付けられて、ブラウザの一部として、プラグインとして、または、少なくともウェブページプロセッサと通信するものとして、配置される。イベントを追跡するためのブラウザのインストルメント化は、好ましくは、遅延変換器DCが、タイミング情報を、状態判定器SDがそのパラメータを更新する前に変換して、変換されたタイミング情報がパラメータレジスタPRに登録されるように、実現される。これに代えて、遅延変換器は、タスク待ち行列およびパラメータレジスタ双方のタイミング値を変換してもよい。
図9は、遅延変換器DCがウェブページプロセッサWPPと状態判定器SDとの間に位置し、遅延変換器が、遅延を制御し、変換されたタイミングに関する情報を含めて関連するイベントすべてを状態判定器に知らせる、実施形態を示す。図10は、遅延変換器DCが、タスク待ち行列を管理することによって、遅延変換器に接続されている状態判定器SDにおいて一貫して同じ値を維持することができるように配置された、実施形態を示す。ここに加持する発明の概念の他の好ましい実施形態は、図11を参照して先に説明した実施形態を、たとえば図6を参照して先に説明した遅延変換器DCと組合わせたものを含む。
上記のように、ここに開示する発明の概念に従う遅延変換は、より効果的なコンテンツ検索のためにウェブロボットを用いてブラウジングするときに有用である。しかしながら、ここに開示する発明の概念の遅延変換を、ここに開示する発明の概念のウェブページ処理状態と組合わせることにより、非常に有利な、ロボットに都合が良いブラウジングが得られる。なぜなら、遅延変換器は、出来る限りすべての待機を減じるように働き、状態判定器はウェブロボットが続行するのに安全であるとみなされるとすぐに信号で知らせるように配置されるからである。好ましい実施形態は、図5を参照して先に述べたウェブロボットブラウジングの実施形態を、図6を参照して先に述べた遅延変換器と組合わせてもよい。
本発明の好ましい実施形態が図12に示され、この実施形態において、ウェブロボットWRはブラウザWBにウェブページを要求する。ブラウザは、ウェブページの処理およびロード時間を最小にするために、たとえば上記実施形態のうちのいいずれかに従う遅延変換器DCと対話する。ブラウザはさらに、たとえば上記実施形態のうちのいずれかに従う状態変換器SDにおけるパラメータを設定することにより、関連するウェブページ処理状態を状態判定器が判定し易くなるようにする。ウェブロボットは、ウェブページ処理状態をモニタリングするために、および/または所望の状態が得られたときに通知されるようにするために、状態判定器と対話することによって、次のタスクに進むことができる、たとえばウェブブラウザに新たなウェブページを要求することができる、または、現在のウェブページと対話することができる。なお、本発明の範囲に含まれるウェブページとの対話によって、技術的にはウェブページのリロードを必要としないであろうが、遅延変換器DCによって最適化でき状態判定器SDによってモニタリングできる処理が得られる。ブラウザWB,状態判定器SD、遅延変換器DC、またはウェブロボットWR、または関連する構成要素を参照して先に述べたいずれの実施形態も、本発明の範囲において図12の実施形態と組合わせることができる。
方法は、状態判定器(SD)における1つ以上のパラメータ(P1...Pn)を設定するステップを含み得る。1つ以上のパラメータは各々、待ち行列中の1つ以上の処理タスク(QPT)に関連する予め定められた1つ以上の処理イベントに少なくとも一部基づく。方法はまた、予め定められた1つ以上の基準に従い、上記1つ以上のパラメータ(P1...Pn)に少なくとも一部基づいて、ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するステップと、上記予め定められた1つ以上の処理イベントを追跡するステップとを含み得る。上記状態判定器における上記1つ以上のパラメータを設定する上記ステップは、関連するオブジェクト情報とともに予め定められた処理イベントの発生に従って、実行し得る。方法はまた、ウェブロボット(WR)を上記ウェブページ処理状態(WPPS)に通信可能に結合できるようにするステップと、上記待ち行列中の1つ以上の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップとを含み得る。上記1つ以上のパラメータ(P1...Pn)に基づいて上記ウェブページ処理状態(WPPS)を判定する上記ステップは、上記パラメータのうちの1つ以上によって表わされる待ち行列中の処理タスクに関連する予め定められた処理イベントのウェブページ処理状態との関連性を考慮することを含む。これに加えておよび/またはこれに代えて、方法は、ウェブロボット(WR)が、ブラウザ(WB)に対してウェブページを処理することを要求するステップと、上記ウェブページの上記ブラウザによる処理中に確立された待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて、状態判定器(SD)におけるパラメータ(P1...Pn)を設定するステップと、上記状態判定器(SD)が、予め定められた1つ以上の基準に従い、上記パラメータ(P1...Pn)に基づいて、ウェブページ処理状態(WPPS)を判定するステップと、上記ウェブロボットが、上記ウェブページ処理状態(WPPS)が予め定められた完了値に達したことがわかった後に上記情報を検索するステップと、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップとを含み得る。これに加えておよび/またはこれに代えて、方法は、ブラウザ(WB)を用いたウェブページの処理中に、上記ウェブページのソースコードによって待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間を減じるステップを含み得る。上記時間を減じるステップは、上記待ち行列中の処理タスク(QPT)の生成に関連して遅延変換器(DC)によって実行されてもよい。この方法は、関連付けられた遅延を有する待ち行列中の処理タスク(QPT)の生成を生じさせ得る予め定められた処理イベントを追跡するステップと、遅延変換器(DC)を呼出して、上記遅延を、絶対デクリメント、相対デクリメント、および比例デクリメントのうちの1つ以上によって変更させるステップとを含み得る。この方法は、待ち行列中の2つ以上の処理タスクの減じられた遅延時間を、上記ウェブページのソースコードによって定められたのと同じ順序で上記処理タスクが実行され得るように、管理するステップを含み得る。
システムは、ブラウザ(WB)を用いたウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含み得る。上記ブラウザ(WB)は、上記待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントを追跡するように構成されたインストルメンテーションを含み得る。上記パラメータは、関連するオブジェクト情報とともに上記待ち行列中の処理タスクに関連する予め定められた処理イベントの発生と関連付けられていてもよい。このシステムはまた、ウェブロボット(WR)を上記ウェブページ処理状態(WPPS)に通信可能に結合できるように構成されてもよい。システムはまた、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるように構成された遅延変換器(DC)を含み得る。これに加えておよび/またはこれに代えて、システムはさらに、ブラウザ(WB)を用いて情報を検索するように構成されたウェブロボット(WR)と、上記ウェブロボットによる、上記ブラウザから要求されたウェブページの処理中に、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含み得る状態判定器(SD)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含み得る。上記ウェブページ処理状態(WPPS)は、上記ウェブロボットが上記ウェブページから情報を検索すべきか否かを示す。システムはさらに、上記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるための遅延変換器(DC)を含み得る。ウェブページを処理するように構成されたブラウザ(WB)は、ウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、上記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて、上記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含み得る。ウェブページ処理状態(WPPS)を判定するように構成された状態判定器であって、上記状態判定器(SD)は、ブラウザ(WB)を用いたウェブページの処理に関連する待ち行列中の1つ以上の処理タスク(QPT)と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)と、予め定められた1つ以上の基準と、上記1つ以上の基準のうちの少なくとも1つに従い、上記1つ以上のパラメータ(P1...Pn)に基づいて判定される、ウェブページ処理状態(WPPS)とを含み得る。システムは、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)を含み得る。上記処理タスクのうちの少なくとも1つは、上記ウェブページのソースコードによって上記待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間と関連する。このシステムは、上記待ち行列中の処理タスクの実行の開始を遅延させるように設定された時間を減じるように構成された遅延変換器(DC)を含み得る。
コンピュータプログラムプロダクトは、ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するためにコンピュータによって実行されるコンピュータ読取可能な命令を含み得る。上記コンピュータは、少なくとも、処理部と、メモリ部と、ネットワーク接続性とを含み得る。上記コンピュータ読取可能な命令は、実行されたときに、待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて状態判定器(SD)におけるパラメータ(P1...Pn)を設定させる、第1のコンピュータ読取可能な命令と、実行されたときに、予め定められた1つ以上の基準に従い上記パラメータ(P1...Pn)に基づいて上記ウェブページ処理状態(WPPS)を判定することを上記状態判定器(SD)に行なわせる、第2のコンピュータ読取可能な命令とを含み得る。
待ち行列中の処理タスク(QPT)は、タイマタスク、非同期XML Http要求タスク、スケジュールされたリダイレクトタスク、カスケードスタイルシート遷移タスク、待ち行列中スクリプトタスク、および、ディファードイベントタスク、のうちの1つ以上を含み得る。上記予め定められた1つ以上の基準のうちの少なくとも1つの基準は、上記1つ以上のパラメータのうちの1つ以上の評価に使用し得る。上記予め定められた1つ以上の基準は、1つ以上のさらに他の待ち行列中のタスクの存在、しきい値を超える、上記さらに他の待ち行列中のタスクの数、しきい値を超える、タイマイベントのチェーン、XML Http要求のチェーン、またはその他の非同期タスクのチェーンの長さ、タイムアウト値を超える、XML Http要求のディスパッチ以来の非応答の期間、しきい値を超える、ウェブページのリダイレクトまたはリフレッシュについてスケジュールされた時間、しきい値を超える、インターバルタイマの繰返しの数、および、しきい値を超える、タイマイベントに対して設定された時間、のうちの1つ以上を含み得る。
発明の概要において先に述べたように、上記実施形態の何らかの組合わせ、変形、入替え、合成等は、本発明の範囲に含まれる。ここに開示する発明の概念の範囲は、上記説明に基づいて何らかのやり方で制限されるのではなく、むしろ以下の請求項によって規定される。
Claims (29)
- 方法であって、
状態判定器(SD)における1つ以上のパラメータ(P1...Pn)を設定するステップを含み、前記1つ以上のパラメータは各々、待ち行列中の1つ以上の処理タスク(QPT)に関連する予め定められた1つ以上の処理イベントに少なくとも一部基づいており、
予め定められた1つ以上の基準に従い、前記1つ以上のパラメータ(P1...Pn)に少なくとも一部基づいて、ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するステップを含む、方法。 - 前記方法は、前記予め定められた1つ以上の処理イベントを追跡するステップを含む、請求項1に記載の方法。
- 前記予め定められた1つ以上の処理イベントを追跡する前記ステップは、前記状態判定器における前記1つ以上のパラメータを設定する前記ステップが、関連するオブジェクト情報とともに予め定められた処理イベントの発生に従って、実行されることを含む、請求項1に記載の方法。
- 前記待ち行列中の1つ以上の処理タスク(QPT)は、
1つ以上のタイマタスク、
1つ以上の非同期XML Http要求タスク、
1つ以上のスケジュールされたリダイレクトタスク、
1つ以上のカスケードスタイルシート遷移タスク、
1つ以上の待ち行列中スクリプトタスク、および
1つ以上のディファードイベントタスク、
のうちの1つ以上を含む、請求項1に記載の方法。 - ウェブロボット(WR)を前記ウェブページ処理状態(WPPS)に通信可能に結合するステップをさらに含む、請求項1に記載の方法。
- 前記待ち行列中の1つ以上の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップをさらに含み、
前記1つ以上のパラメータ(P1...Pn)に基づいて前記ウェブページ処理状態(WPPS)を判定する前記ステップは、前記パラメータのうちの1つ以上によって表わされる待ち行列中の処理タスクに関連する予め定められた処理イベントのウェブページ処理状態との関連性を考慮することを含む、請求項1に記載の方法。 - 前記予め定められた1つ以上の基準のうちの少なくとも1つの基準は、前記1つ以上のパラメータのうちの1つ以上の評価に使用し得る、請求項1に記載の方法。
- 前記予め定められた1つ以上の基準は、
1つ以上のさらに他の待ち行列中のタスクの存在、
しきい値を超える、前記さらに他の待ち行列中のタスクの数、
しきい値を超える、タイマイベントのチェーン、XML Http要求のチェーン、またはその他の非同期タスクのチェーンの長さ、
タイムアウト値を超える、XML Http要求のディスパッチ以来の非応答の期間、
しきい値を超える、ウェブページのリダイレクトまたはリフレッシュについてスケジュールされた時間、
しきい値を超える、インターバルタイマの繰返しの数、および、
しきい値を超える、タイマイベントに対して設定された時間、
のうちの1つ以上を含む、請求項1に記載の方法。 - システムであって、
ブラウザ(WB)を用いたウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、
前記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、
予め定められた1つ以上の基準と、
前記1つ以上の基準のうちの少なくとも1つに従い、前記1つ以上のパラメータ(P1...Pn)に基づいて、前記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含む、システム。 - 前記ブラウザ(WB)は、前記待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントを追跡するように構成されたインストルメンテーションを含む、請求項9に記載のシステム。
- 前記パラメータは、関連するオブジェクト情報とともに前記待ち行列中の処理タスクに関連する予め定められた処理イベントの発生と関連付けられている、請求項9に記載のシステム。
- 前記待ち行列中の処理タスク(QPT)は、
1つ以上のタイマタスク、
1つ以上の非同期XML Http要求タスク、
1つ以上のスケジュールされたリダイレクトタスク、
1つ以上のカスケードスタイルシート遷移タスク、
1つ以上の待ち行列中スクリプトタスク、および
1つ以上のディファードイベントタスク、
のうちの1つ以上のタスクを含む、請求項9に記載のシステム。 - 前記ウェブページ処理状態(WPPS)に通信可能に結合されたウェブロボット(WR)をさらに含む、請求項9に記載のシステム。
- 前記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるように構成された遅延変換器(DC)をさらに含む、請求項9に記載のシステム。
- 方法であって、
ブラウザ(WB)に対してウェブページを処理することを要求するステップを含み、前記要求はウェブロボット(WR)を用いて出され、
前記ウェブページの前記ブラウザによる処理中に確立された待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて、状態判定器(SD)におけるパラメータ(P1...Pn)を設定するステップと、
予め定められた1つ以上の基準に従い、前記パラメータ(P1...Pn)に基づいて、ウェブページ処理状態(WPPS)を判定するステップとを含み、前記判定するステップは、少なくとも部分的に前記状態判定器(SD)を用いて実行され、
前記ウェブページ処理状態(WPPS)が予め定められた完了値に達したことがわかった後に前記情報を検索するステップを含み、前記検索するステップは、少なくとも部分的に前記ウェブロボットを用いて実行される、方法。 - 前記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるステップをさらに含む、請求項15に記載の方法。
- システムであって、
ブラウザ(WB)を用いて情報を検索するように構成されたウェブロボット(WR)と、
前記ウェブロボットによる、前記ブラウザから要求されたウェブページの処理中に、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、
パラメータレジスタ(PR)を含む状態判定器(SD)とを含み、前記状態判定器(SD)は、前記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成され、
予め定められた1つ以上の基準と、
前記1つ以上の基準のうちの少なくとも1つに従い、前記1つ以上のパラメータ(P1...Pn)に基づいて、前記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含み、前記ウェブページ処理状態(WPPS)は、前記ウェブロボットが前記ウェブページから情報を検索すべきか否かを示す、システム。 - 前記待ち行列中の処理タスクのうちの1つ以上と関連付けられた1つ以上の遅延を減じるための遅延変換器(DC)をさらに含む、請求項17に記載のシステム。
- ウェブページを処理するように構成されたブラウザ(WB)であって、前記ブラウザは、
ウェブページの処理中に待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)と、
前記待ち行列中の処理タスク(QPT)のうちの1つ以上と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)を含む状態判定器(SD)と、
予め定められた1つ以上の基準と、
前記1つ以上の基準のうちの少なくとも1つに従い、前記1つ以上のパラメータ(P1...Pn)に基づいて、前記状態判定器(SD)によって判定される、ウェブページ処理状態(WPPS)とを含む、ブラウザ。 - ウェブページ処理状態(WPPS)を判定するように構成された状態判定器であって、前記状態判定器(SD)は、
ブラウザ(WB)を用いたウェブページの処理に関連する待ち行列中の1つ以上の処理タスク(QPT)と関連付けられた1つ以上のパラメータ(P1...Pn)を格納するように構成されたパラメータレジスタ(PR)と、
予め定められた1つ以上の基準と、
前記1つ以上の基準のうちの少なくとも1つに従い、前記1つ以上のパラメータ(P1...Pn)に基づいて判定される、ウェブページ処理状態(WPPS)とを含む、状態判定器。 - ブラウザ(WB)のウェブページ処理状態(WPPS)を判定するためにコンピュータによって実行されるコンピュータ読取可能な命令を含むコンピュータプログラムプロダクトであって、
前記コンピュータは、少なくとも、処理部と、メモリ部と、ネットワーク接続性とを含み、
前記コンピュータ読取可能な命令は、
実行されたときに、待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントに基づいて状態判定器(SD)におけるパラメータ(P1...Pn)を設定させる、第1のコンピュータ読取可能な命令と、
実行されたときに、予め定められた1つ以上の基準に従い前記パラメータ(P1...Pn)に基づいて前記ウェブページ処理状態(WPPS)を判定することを前記状態判定器(SD)に行なわせる、第2のコンピュータ読取可能な命令とを含む、コンピュータプログラムプロダクト。 - ブラウザ(WB)を用いたウェブページの処理中に、前記ウェブページのソースコードによって待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間を減じるステップを含む、方法。
- 前記時間を減じるステップは、前記待ち行列中の処理タスク(QPT)の生成に関連して遅延変換器(DC)によって実行される、請求項22に記載の方法。
- 関連付けられた遅延を有する待ち行列中の処理タスク(QPT)の生成を生じさせ得る予め定められた処理イベントを追跡するステップと、
遅延変換器(DC)を呼出して、前記遅延を、絶対デクリメント、相対デクリメント、および比例デクリメントのうちの1つ以上によって変更させるステップとをさらに含む、請求項22に記載の方法。 - 前記待ち行列中の処理タスク(QPT)は、
1つ以上のタイマタスク、
1つ以上の非同期XML Http要求タスク、
1つ以上のスケジュールされたリダイレクトタスク、
1つ以上のカスケードスタイルシート遷移タスク、
1つ以上の待ち行列中スクリプトタスク、および
1つ以上のディファードイベントタスク、
のうちの1つ以上を含む、請求項22に記載の方法。 - 待ち行列中の2つ以上の処理タスクの減じられた遅延時間を、前記ウェブページのソースコードによって定められたのと同じ順序で前記処理タスクが実行され得るように、管理するステップをさらに含む、請求項22に記載の方法。
- システムであって、
ブラウザ(WB)を用いたウェブページの処理中に、待ち行列中の1つ以上の処理タスク(QPT)を格納するように構成されたタスク待ち行列(TQ)を含み、前記処理タスクのうちの少なくとも1つは、前記ウェブページのソースコードによって前記待ち行列中の処理タスク(QPT)の実行の開始を遅延させるように設定された時間と関連し、
前記待ち行列中の処理タスクの実行の開始を遅延させるように設定された時間を減じるように構成された遅延変換器(DC)を含む、システム。 - 前記ブラウザ(WB)は、前記待ち行列中の処理タスク(QPT)に関連する予め定められた処理イベントを追跡するためのインストルメンテーションを含む、請求項27に記載のシステム。
- 前記待ち行列中の処理タスク(QPT)は、
タイマタスク、
スケジュールされたリダイレクトタスク、
カスケードスタイルシート遷移タスク、
待ち行列中スクリプトタスク、および
ディファードイベントタスク、
のうちの1つ以上を含む、請求項27に記載のシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DKPA201370639 | 2013-11-01 | ||
| DKPA201370639 | 2013-11-01 | ||
| PCT/EP2014/073432 WO2015063259A1 (en) | 2013-11-01 | 2014-10-31 | Determining web page processing state |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017501512A true JP2017501512A (ja) | 2017-01-12 |
| JP2017501512A5 JP2017501512A5 (ja) | 2017-12-14 |
Family
ID=51932311
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016551003A Withdrawn JP2017501512A (ja) | 2013-11-01 | 2014-10-31 | ウェブページ処理状態の判定 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US10380215B2 (ja) |
| EP (1) | EP3063674B1 (ja) |
| JP (1) | JP2017501512A (ja) |
| CN (1) | CN105745645A (ja) |
| WO (1) | WO2015063259A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018160264A (ja) * | 2018-06-12 | 2018-10-11 | グーグル エルエルシー | バッチ最適化レンダリング及びフェッチアーキテクチャ |
| US10713330B2 (en) | 2014-06-26 | 2020-07-14 | Google Llc | Optimized browser render process |
| KR102257139B1 (ko) * | 2020-12-18 | 2021-05-27 | 한국인터넷진흥원 | 다크웹 정보 수집 방법 및 장치 |
| US11328114B2 (en) | 2014-06-26 | 2022-05-10 | Google Llc | Batch-optimized render and fetch architecture |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017501512A (ja) | 2013-11-01 | 2017-01-12 | カパオ・テクノロジーズKapow Technologies | ウェブページ処理状態の判定 |
| US20160342327A1 (en) * | 2015-05-22 | 2016-11-24 | Lg Electronics Inc. | Watch-type mobile terminal and method of controlling therefor |
| US20170093828A1 (en) * | 2015-09-25 | 2017-03-30 | Nicolas Lupien | System and method for detecting whether automatic login to a website has succeeded |
| US10608900B2 (en) * | 2015-11-04 | 2020-03-31 | Microsoft Technology Licensing, Llc | Generating a deferrable data flow |
| CN106708737B (zh) * | 2016-12-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
| CN107333145B (zh) * | 2017-07-04 | 2018-08-10 | 武汉斗鱼网络科技有限公司 | 一种虚拟礼物展示方法及装置 |
| EP3663925B1 (en) * | 2017-10-09 | 2021-12-01 | Huawei Technologies Co., Ltd. | Method for processing refreshing display abnormality, and terminal |
| CN109344351B (zh) * | 2018-10-18 | 2021-01-05 | 网宿科技股份有限公司 | 网页加载方法、中间服务器和网页加载系统 |
| US10911517B2 (en) * | 2019-02-17 | 2021-02-02 | Cisco Technology, Inc. | Determining end times for single page applications |
| CN111221744B (zh) * | 2020-04-23 | 2020-08-04 | 杭州海康威视数字技术股份有限公司 | 数据采集方法、装置及电子设备 |
| CN111694619A (zh) * | 2020-06-09 | 2020-09-22 | 重庆锐云科技有限公司 | 基于刷新率的定时器实现方法、装置、设备及存储介质 |
| CN113504858A (zh) * | 2021-07-16 | 2021-10-15 | 北京猿力未来科技有限公司 | 一种订单页面处理方法、装置、设备及存储介质 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1186737C (zh) * | 2002-02-05 | 2005-01-26 | 国际商业机器公司 | 对尚未访问的网页进行基于路径的排队的方法和系统 |
| US20030197735A1 (en) | 2002-04-18 | 2003-10-23 | Intel Corporation (A Delaware Corporation) | System for sharing content tabs |
| US7440997B2 (en) * | 2003-06-13 | 2008-10-21 | Microsoft Corporation | Mechanism for supporting browser navigation while preserving important application return states |
| US7565662B2 (en) * | 2004-09-24 | 2009-07-21 | International Business Machines Corporation | Program agent initiated processing of enqueued event actions |
| AU2006244818B2 (en) * | 2005-05-10 | 2012-02-02 | Ricoh Company, Ltd. | Toner and developer, toner container, process cartridge, image forming apparatus, and image forming method using the same |
| US8392837B2 (en) * | 2007-02-28 | 2013-03-05 | Red Hat, Inc. | Browser supporting multiple users |
| US7860956B2 (en) | 2009-02-05 | 2010-12-28 | International Business Machines Corporation | Transferring selected open browser tabs from a host computer to a client computer |
| US20100211865A1 (en) | 2009-02-19 | 2010-08-19 | Microsoft Corporation | Cross-browser page visualization generation |
| US8078691B2 (en) | 2009-08-26 | 2011-12-13 | Microsoft Corporation | Web page load time prediction and simulation |
| US8307031B1 (en) * | 2010-04-28 | 2012-11-06 | Google Inc. | Processing data requests using multiple request timers |
| JP5511609B2 (ja) | 2010-09-27 | 2014-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブ・ページ作成システム、方法及びプログラム |
| JP2017501512A (ja) | 2013-11-01 | 2017-01-12 | カパオ・テクノロジーズKapow Technologies | ウェブページ処理状態の判定 |
| US10165071B2 (en) * | 2016-01-15 | 2018-12-25 | Google Llc | Client-side activity monitoring |
-
2014
- 2014-10-31 JP JP2016551003A patent/JP2017501512A/ja not_active Withdrawn
- 2014-10-31 CN CN201480059711.4A patent/CN105745645A/zh not_active Withdrawn
- 2014-10-31 US US15/112,678 patent/US10380215B2/en active Active
- 2014-10-31 EP EP14799975.9A patent/EP3063674B1/en active Active
- 2014-10-31 WO PCT/EP2014/073432 patent/WO2015063259A1/en not_active Ceased
-
2019
- 2019-06-06 US US16/434,055 patent/US10540417B2/en active Active
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10713330B2 (en) | 2014-06-26 | 2020-07-14 | Google Llc | Optimized browser render process |
| US11328114B2 (en) | 2014-06-26 | 2022-05-10 | Google Llc | Batch-optimized render and fetch architecture |
| JP2018160264A (ja) * | 2018-06-12 | 2018-10-11 | グーグル エルエルシー | バッチ最適化レンダリング及びフェッチアーキテクチャ |
| KR102257139B1 (ko) * | 2020-12-18 | 2021-05-27 | 한국인터넷진흥원 | 다크웹 정보 수집 방법 및 장치 |
| US11301522B1 (en) | 2020-12-18 | 2022-04-12 | Korea Internet & Security Agency | Method and apparatus for collecting information regarding dark web |
| US11797617B2 (en) | 2020-12-18 | 2023-10-24 | Korea Internet & Security Agency | Method and apparatus for collecting information regarding dark web |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2015063259A1 (en) | 2015-05-07 |
| US20160378879A1 (en) | 2016-12-29 |
| US10540417B2 (en) | 2020-01-21 |
| EP3063674B1 (en) | 2019-06-19 |
| US20190286681A1 (en) | 2019-09-19 |
| EP3063674A1 (en) | 2016-09-07 |
| US10380215B2 (en) | 2019-08-13 |
| CN105745645A (zh) | 2016-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2017501512A (ja) | ウェブページ処理状態の判定 | |
| US8424004B2 (en) | High performance script behavior detection through browser shimming | |
| US9046917B2 (en) | Device, method and system for monitoring, predicting, and accelerating interactions with a computing device | |
| US9767082B2 (en) | Method and system of retrieving ajax web page content | |
| US8140646B2 (en) | Network application performance enhancement using speculative execution | |
| CN106462582B (zh) | 批处理优化渲染和获取架构 | |
| Souders | Even faster web sites: performance best practices for web developers | |
| JP6726285B2 (ja) | クライアント側アクティビティ監視 | |
| US20170323025A1 (en) | Browser acceleration method and browser device having accelerator | |
| US8245125B1 (en) | Hybrid rendering for webpages | |
| CN102982162B (zh) | 网页信息的获取系统 | |
| JP2014514634A (ja) | ウェブブラウザにおける並列レイアウトに関する独立タスクを識別するための機械学習方法 | |
| TW201120665A (en) | Systems and methods for providing advanced search result page content | |
| CN105683957B (zh) | 样式表推测性预加载 | |
| CN102368213A (zh) | 一种ie内核浏览器的页面下载控制方法和系统 | |
| CN113742550B (zh) | 基于浏览器的数据获取方法、装置和系统 | |
| US20130166507A1 (en) | Declarative synchronization of shared data | |
| CN120470168B (zh) | 一种基于浏览器渲染的网站地图爬虫方法及装置 | |
| CN116186439A (zh) | 浏览器页面渲染方法、装置、电子设备及可读存储介质 | |
| US20180059887A1 (en) | Direct navigation to modal dialogs | |
| US20210334113A1 (en) | Method and device for lazy loading of js scripts | |
| US20140067854A1 (en) | Crawling of generated server-side content | |
| US20150074224A1 (en) | Method and apparatus for automatic reload of documents | |
| CN109325190A (zh) | 一种页面管理的方法以及相关装置 | |
| Netravali | Improving web applications with fine-grained data flows |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171031 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171031 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20180511 |
