(57)【要約】  様々な態様は、識別された部分を並行して処理することができるように、HTMLドキュメントの独立部分を識別するための方法、サーバ、およびシステムを提供する。独立部分は、seamless属性とsandbox属性の両方を有するiframeタグと関連付けることができる。実行時に、ブラウザは両方の属性の存在を検出し、iframeのコンテンツを並行して処理することができる。
2015518205.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザ内のコンテンツを処理するための方法であって、
ウェブドキュメントの独立部分を識別するステップと、
前記ウェブドキュメントを複数のファイルに区分化するステップであって、各独立部分が1つのファイルに含まれる、ステップと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けるステップと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入するステップと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送るステップと、
を含むことを特徴とする方法。
【請求項２】
前記コンピューティングデバイス内で実行されている前記ブラウザアプリケーションで前記ウェブドキュメントを受信するステップと、
前記ウェブドキュメント内の前記タグが、前記第1の属性と前記第2の属性の両方を含むかどうかを判定するステップと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理するステップと、
をさらに含む、請求項1に記載の方法。
【請求項３】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定するステップと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理するステップと、
をさらに含む、請求項2に記載の方法。
【請求項４】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定するステップと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理するステップと、
をさらに含む、請求項2に記載の方法。
【請求項５】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定するステップが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定するステップを含む、請求項2に記載の方法。
【請求項６】
ウェブドキュメントの独立部分を識別するステップが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別するステップを含む、請求項1に記載の方法。
【請求項７】
ウェブドキュメントの独立部分を識別するステップが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別するステップを含む、請求項1に記載の方法。
【請求項８】
ウェブドキュメントの独立部分を識別するステップが外部ツールによって遂行される、請求項1に記載の方法。
【請求項９】
ウェブドキュメントの独立部分を識別するステップがウェブサーバによって遂行される、請求項1に記載の方法。
【請求項１０】
ウェブドキュメントの独立部分を識別するステップが実行時の前に前記ブラウザアプリケーションによって遂行される、請求項1に記載の方法。
【請求項１１】
コンピューティングデバイスであって、
ウェブドキュメントの独立部分を識別するための手段と、
前記ウェブドキュメントを複数のファイルに区分化するための手段であって、各独立部分が1つのファイルに含まれる、手段と、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けるための手段と、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入するための手段と、
前記ウェブドキュメントを別のコンピューティングデバイス内で実行されているブラウザアプリケーションに送るための手段と、
を備えることを特徴とするコンピューティングデバイス。
【請求項１２】
ウェブドキュメントの独立部分を識別するための手段が、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１３】
ウェブドキュメントの独立部分を識別するための手段が、状態情報を共有しない前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１４】
ウェブドキュメントの独立部分を識別するための手段が、外部ツールを使用して前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１５】
ウェブドキュメントの独立部分を識別するための手段が、ウェブサーバ上の前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１６】
タグを前記複数のファイルと関連付けるための手段が、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けるための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１７】
コンピューティングデバイスであって、
前記コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信するための手段であって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含む、手段と、
前記ウェブドキュメント内の前記関連付けられたタグが、第1の属性と第2の属性の両方を含むかどうかを判定するための手段と、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理するための手段と、
を備えることを特徴とするコンピューティングデバイス。
【請求項１８】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定するための手段と、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理するための手段と
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定するための手段と、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理するための手段と、
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定するための手段が、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項２１】
実行時の前に前記ウェブドキュメントの独立部分を識別するための手段をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２２】
コンピューティングデバイスであって、
通信信号を送受信するように構成された送受信機と、
メモリと、
前記送受信機および前記メモリに結合されたプロセッサと、
を備え、前記プロセッサが、
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと
を含む動作を実行するように、プロセッサ実行可能命令で構成されたことを特徴とする
コンピューティングデバイス。
【請求項２３】
ウェブドキュメントの独立部分を識別することが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを備えるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２４】
ウェブドキュメントの独立部分を識別することが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを備えるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２５】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２６】
前記コンピューティングデバイスがウェブサーバである、請求項22に記載のコンピューティングデバイス。
【請求項２７】
タグを前記複数のファイルと関連付けることが、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けることを含むように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２８】
コンピューティングデバイスであって、
通信信号を送受信するように構成された送受信機と、
メモリと、
前記送受信機および前記メモリに結合されたプロセッサと、
を備え、前記プロセッサが、
前記コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することであって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含む、受信することと、
前記ウェブドキュメント内の前記タグが、第1の属性と第2の属性の両方を含むかどうかを判定することと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理することと
を含む動作を実行するように、プロセッサ実行可能命令で構成されたことを特徴とするコンピューティングデバイス。
【請求項２９】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
をさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３０】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
をさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３１】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３２】
実行時の前に前記ウェブドキュメントの独立部分を識別することをさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３３】
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと、
を含む動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶したことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項３４】
ウェブドキュメントの独立部分を識別することがハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３５】
ウェブドキュメントの独立部分を識別することが状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３６】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３７】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、ウェブサーバ上で実行されるように構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３８】
タグを前記複数のファイルと関連付けることが、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けることを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項11に記載の非一時的コンピュータ可読記憶媒体。
【請求項３９】
ブラウザアプリケーションでウェブドキュメントを受信することであって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含む、受信することと、
前記ウェブドキュメント内の前記タグが、第1の属性と第2の属性の両方を含むかどうかを判定することと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理することと、
を含む動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶したことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項４０】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
を含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４１】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
を含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４２】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４３】
実行時の前に前記ウェブドキュメントの独立部分を識別することをさらに含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４４】
通信信号を送受信するように構成されたサーバ送受信機、サーバメモリ、ならびに前記サーバ送受信機および前記サーバメモリに結合されたサーバプロセッサを備えるサーバと、
通信信号を送受信するように構成されたデバイス送受信機、デバイスメモリ、ならびに前記デバイス送受信機および前記デバイスメモリに結合されたデバイスプロセッサを備えるコンピューティングデバイスと、
を備え、
前記サーバプロセッサが、
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと、
を含む動作を実行するように、サーバ実行可能命令で構成されたことを特徴とするシステム。
【請求項４５】
ウェブドキュメントの独立部分を識別することが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを備えるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４６】
ウェブドキュメントの独立部分を識別することが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを備えるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４７】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４８】
前記コンピューティングデバイス内で実行されている前記ブラウザアプリケーションで前記ウェブドキュメントを受信することと、
前記ウェブドキュメント内の少なくとも1つのタグが、前記第1の属性と前記第2の属性の両方を含むかどうかを判定することと、
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記少なくとも1つのタグと関連付けられた前記複数のファイルを処理することと、
を含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４９】
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
をさらに含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５０】
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
をさらに含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５１】
前記ウェブドキュメント内の少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５２】
前記デバイスプロセッサが、実行時の前に前記ブラウザアプリケーション内で前記ウェブドキュメントの独立部分を識別することをさらに含むプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[関連出願]
本出願は、その内容全体が参照によって本明細書に組み込まれる、2012年3月30日に出願した「HTML5 I-Frame Extension」と題する米国仮特許出願第61/618,254号の優先権の利益を主張するものである。
【背景技術】
【０００２】
モバイル技術およびワイヤレス技術は、過去数年の間に爆発的な発展をとげてきた。この発展は、より優れた通信、ハードウェア、およびより信頼できるプロトコルによって促進されている。ワイヤレスサービスプロバイダは現在、向上し続ける多数の機能およびサービスを自分の顧客に提供し、かつ情報、リソースおよび通信に対するかつてないレベルのアクセスをユーザに提供することができる。これらの増強に遅れをとらないために、モバイルデバイス(たとえば、携帯電話、スマートフォン、タブレットコンピュータなど)は、かつてないほど機能が豊富になり、今やウェブブラウザおよび他のインターネットベースのソフトウェアアプリケーションを普通に含む。モバイルデバイスの人気が高まり続けるにつれて、モバイルウェブブラウザの速度および電力消費特性を向上させることが一層重要になっている。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様は、ウェブドキュメントの独立部分を識別することと、ドキュメントを複数のファイルに区分化する(各独立部分が1つのファイルに含まれる)ことと、タグを複数のファイルと関連付ける(タグは第1の属性および第2の属性を有する)ことと、複数のファイルへの参照および関連付けられたタグをウェブドキュメントに挿入することと、ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることとを含む場合がある、コンピューティングデバイスのウェブブラウザ内のコンテンツを処理する方法を含む。一態様では、方法は、コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することと、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することと、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、タグと関連付けられた複数のファイルを処理することとを含む場合がある。さらなる態様では、方法は、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第1の属性がタグ内で第2の属性の前に含まれるかどうかを判定することと、第1の属性が同じタグ内で第2の属性の前に含まれるとき、複数のファイルを並行して処理することとを含む場合がある。さらなる態様では、方法は、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第2の属性がタグ内で第1の属性の前に含まれるかどうかを判定することと、第2の属性が同じタグ内で第1の属性の前に含まれるとき、複数のファイルを順番に処理することとを含む場合がある。さらなる態様では、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することは、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含む場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別することは、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを含む場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別することは、状態情報を共有しないウェブドキュメントの独立部分を識別することを含む場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別することは、外部ツールによって遂行
される場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別することは、ウェブサーバによって遂行される場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別することは、ウェブドキュメントの実行時の前に、コンピューティングデバイス内で実行されているブラウザアプリケーションによって遂行される場合がある。
【０００４】
さらなる態様は、ウェブドキュメントの独立部分を識別することと、ドキュメントを複数のファイルに区分化する(各独立部分が1つのファイルに含まれる)ことと、タグを複数のファイルと関連付ける(タグは第1の属性および第2の属性を有する)ことと、複数のファイルへの参照および関連付けられたタグをウェブドキュメントに挿入することと、ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることとを含む動作を実行するように、プロセッサ実行可能命令で構成されたプロセッサを有するコンピューティングデバイスを含む。さらなる態様では、プロセッサは、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを含む、ウェブドキュメントの独立部分を識別することをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、プロセッサは、状態情報を共有しないウェブドキュメントの独立部分を識別することを含む、ウェブドキュメントの独立部分を識別することをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、プロセッサは、外部ツールによって遂行される、ウェブドキュメントの独立部分を識別することをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、コンピューティングデバイスはウェブサーバであり得る。さらなる態様では、プロセッサは、タグを複数のファイルと関連付けることが、sandbox属性とseamless属性の両方を含むiframeタグを複数のファイルと関連付けることを含むように、プロセッサ実行可能命令で構成される場合がある。
【０００５】
さらなる態様は、コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することと、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することと、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、タグと関連付けられた複数のファイルを処理することとを含む動作を実行するように、プロセッサ実行可能命令で構成されたプロセッサを有するコンピューティングデバイスを含む。さらなる態様では、プロセッサは、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第1の属性がタグ内で第2の属性の前に含まれるかどうかを判定することと、第1の属性が同じタグ内で第2の属性の前に含まれるとき、複数のファイルを並行して処理することとをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、プロセッサは、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第2の属性がタグ内で第1の属性の前に含まれるかどうかを判定することと、第2の属性が同じタグ内で第1の属性の前に含まれるとき、複数のファイルを順番に処理することとをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、プロセッサは、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含む、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。さらなる態様では、プロセッサは、実行時の前にブラウザアプリケーションによって遂行される、ウェブドキュメントの独立部分を識別することをさらに含む動作を実行するように、プロセッサ実行可能命令で構成される場合がある。
【０００６】
さらなる態様は、ウェブドキュメントの独立部分を識別するための手段と、ドキュメントを複数のファイルに区分化するための手段と、タグを複数のファイルと関連付けるための手段と、複数のファイルへの参照および関連付けられたタグをウェブドキュメントに挿入するための手段と、ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送るための手段とを有するコンピューティングデバイスを含む。一態様では、ウェブドキュメントの独立部分を識別するための手段は、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別するための手段を含む場合がある。一態様では、ウェブドキュメントの独立部分を識別するための手段は、状態情報を共有しないウェブドキュメントの独立部分を識別するための手段を含む場合がある。一態様では、ウェブドキュメントの独立部分を識別するための手段は、外部ツールを介してウェブドキュメントの独立部分を識別するための手段を含む場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別するための手段は、ウェブサーバであり得る。さらなる態様では、タグを複数のファイルと関連付けるための手段は、sandbox属性とseamless属性の両方を含むiframeタグを複数のファイルと関連付けるための手段を含む場合がある。
【０００７】
さらなる態様は、コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信するための手段と、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定するための手段と、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、タグと関連付けられた複数のファイルを処理するための手段とを有するコンピューティングデバイスを含む。一態様では、コンピューティングデバイスは、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第1の属性がタグ内で第2の属性の前に含まれるかどうかを判定するための手段と、第1の属性が同じタグ内で第2の属性の前に含まれるとき、複数のファイルを並行して処理するための手段とを含む場合がある。一態様では、コンピューティングデバイスは、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第2の属性がタグ内で第1の属性の前に含まれるかどうかを判定するための手段と、第2の属性が同じタグ内で第1の属性の前に含まれるとき、複数のファイルを順番に処理するための手段とを含む場合がある。一態様では、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定するための手段は、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定するための手段を含む場合がある。さらなる態様では、ウェブドキュメントの独立部分を識別するための手段は、実行時の前にブラウザアプリケーションを介して独立部分を識別するための手段を含む場合がある。
【０００８】
さらなる態様は、ウェブドキュメントの独立部分を識別することと、ドキュメントを複数のファイルに区分化することと、タグを複数のファイルと関連付けることと、複数のファイルへの参照および関連付けられたタグをウェブドキュメントに挿入することと、ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることとを含む動作をコンピューティングデバイスに実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的サーバ可読記憶媒体を含む。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブドキュメントの独立部分を識別することが状態情報を共有しないウェブドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるような動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブサーバで実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、タグを複数のファイルと関連付けることがsandbox属性とseamless属性の両方を含むiframeタグを複数のファイルと関連付けることを含むような動作をプロセッサに実行させるように構成される場合がある。
【０００９】
さらなる態様は、コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することと、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することと、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、タグと関連付けられた複数のファイルを処理することとを含む動作をコンピューティングデバイスに実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的サーバ可読記憶媒体を含む。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第1の属性がタグ内で第2の属性の前に含まれるかどうかを判定することと、第1の属性が同じタグ内で第2の属性の前に含まれるとき、複数のファイルを並行して処理することとのための動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することと、タグが第1の属性と第2の属性の両方を含むことの判定に応答して、第2の属性がタグ内で第1の属性の前に含まれるかどうかを判定することと、第2の属性が同じタグ内で第1の属性の前に含まれるとき、複数のファイルを順番に処理することとのための動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブドキュメント内のタグが第1の属性と第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むような動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブドキュメントの独立部分を識別することが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように構成される場合がある。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、ウェブドキュメントの独立部分を識別することが実行時の前に、すなわちウェブドキュメントのレンダリングの前にブラウザアプリケーションによって遂行されるような動作をプロセッサに実行させるように構成される場合がある。
【００１０】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な態様を示し、上記の全般的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１１】
【図１】様々な態様を実装するのに適した例示的なネットワークにおける論理構成要素およびフローを示す構成要素ブロック図である。
【図２】HTMLウェブドキュメントの独立部分を識別およびタグ付けするための一態様の方法のプロセスフロー図である。
【図３】HTMLウェブドキュメントの独立部分を並行して処理するための一態様の方法のプロセスフロー図である。
【図４】様々な態様とともに使用するのに適した例示的なHTMLタグの説明図である。
【図５】様々な態様とともに使用するのに適した例示的なモバイルデバイスの説明図である。
【図６】様々な態様とともに使用するのに適した例示的なパーソナルコンピュータの説明図である。
【図７】様々な態様とともに使用するのに適した例示的なサーバの説明図である。
【発明を実施するための形態】
【００１２】
様々な態様が添付の図面を参照して詳細に記載される。可能な場合はいつでも、同じ参照番号は、図面全体を通して同じまたは同様の部分を指すために使用される。特定の例および実装形態に行われる参照は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
【００１３】
「コード」および「スクリプト」という用語は、本明細書では総称的および互換的に使用され、アプリケーションによって使用またはレンダリングされ得るデータおよびコンテンツを包含する。本明細書に開示される様々な態様は、コードとコンテンツの両方を含むアプリケーション(たとえば、ブラウザ)の任意の部分に適用可能であり得ることも理解されよう。
【００１４】
「コンピューティングデバイス」という用語は、本明細書では、サーバ、パーソナルコンピュータ、モバイルデバイス、携帯電話、携帯情報端末(PDA)、スマートフォン、全地球測位システム(GPS)受信機、ワイヤレスゲームコントローラ、およびウェブブラウザタイプのアプリケーションで構成されるプログラマブルプロセッサを含む同様のパーソナル電子デバイスのうちの任意の1つまたはすべてを指すために総称的に使用される。様々な態様は、特に、処理電力が限られた携帯電話などのモバイルデバイスで有用であるが、それらの態様は、一般に、スクリプト言語で書かれたスクリプトおよびアプリケーションを実行する任意のコンピューティングデバイスで有用である。
【００１５】
「リソース」という用語は、コンピューティングデバイス上で実行されているプロセッサおよびクライアントをサポートするために使用される多種多様な回路(たとえば、ポート、クロック、バス、発振器など)、構成要素(たとえば、メモリ)、信号(たとえば、クロック信号)、および電圧(たとえば、電圧レール)のうちのいずれかを指すように本明細書で使用される。
【００１６】
「キュー」という用語は、本出願では、オブジェクトの順序付けられた集合を含んでいる線形データ構造を指すために総称的に使用される。キューに対する主な動作は、後端位置(rear terminal position)へのエンティティの追加、および前端位置(front terminal position)からのエンティティの除去である。キューは、一般に、キューに追加された最初の要素が除去されるべき最初の要素になる、ファーストインファーストアウト(FIFO)のデータ構造である。本明細書で使用するキューは、サーキュラバッファ、リンクリスト、および/またはポインタアレイを使用して実装することができる。リンクリストは、シーケンス内の次のレコードへの参照リンクを含んでいるオブジェクトのシーケンスを含むデータ構造である。リンクリストにより、1つまたは複数の個々のオブジェクトの参照リンクを修正することによって、オブジェクトがリスト内の任意の位置で挿入および/または除去されることが可能になる。したがって、リンクされた項目の順序は、メモリ内またはディスク上に記憶されたデータ項目の順序とは異なる場合がある。
【００１７】
ハイパーテキストマークアップ言語(HTML)は、ISO/IEC15445規格を実装する、ポピュラーな規格ベースのマークアップ言語である。HTMLは、ウェブブラウザなどのソフトウェアアプリケーションによって表示できるようにウェブページを記述するために使用される、一組のマークアップタグ(たとえば、注釈)として特徴づけることができる。HTMLにより、標記、段落、リスト、リンク、引用、および他の項目などのテキスト用の構造的意味を表記することによって、構造化されたドキュメントの作成が可能になる。HTMLは、コンテンツ(たとえば、テキスト、画像など)を解釈し、視覚的または音響式の(本明細書では時々「ウェブドキュメント」と呼ばれる)ウェブページの中に構成するために、多くのウェブブラウザによって使用される。
【００１８】
HTMLは、親のHTMLページの挙動および/または表示に影響を及ぼすことが可能なJavaScript(登録商標)コードを埋め込むことができる。埋め込まれたJavaScript(登録商標)コードはまた、親のHTMLページ(JavaScript(登録商標)が埋め込まれたHTMLコード)に挿入することができる、さらなるHTMLコードを生成することができる。JavaScript(登録商標)は、機能がHTMLページのドキュメントオブジェクトモデル(DOM)と対話し、それを操作するように、機能をHTMLコードに埋め込むために使用することができる。DOMは、HTML内のオブジェクトを表示し、それと対話するための言語に依存しない規約であり、JavaScript(登録商標)コードが親のHTMLページにアクセスし、それを操作することを可能にする。
【００１９】
本明細書では、様々な態様を実装するために使用され得るプログラミング/マークアップ言語の便宜的な例として、HTMLおよび関連する用語を使用して、様々な態様が記載される。しかしながら、HTMLに関係する例およびHTMLに対する他の言及は、単に例示が目的であり、いかなる特定のプログラミング言語にも説明または態様を限定するものではないことが理解されよう。したがって、特許請求の範囲は、そこで特に明記されない限り、HTMLを要求するものとして解釈されるべきではない。
【００２０】
上述されたように、モバイルデバイスは人気が高まっており、モバイルデバイスのユーザは、インターネットを介したメディアに夢中になって、消費する時間量が増加している。同じく上述されたように、モバイルウェブブラウザの速度および電力消費特性を向上させることは、モバイルデバイスの製造業者にとって重要な設計目標である。様々な態様は、コンピューティングデバイスの電力消費特性に著しい影響を与えずにレンダリング速度を向上させるために、並行してウェブページを処理するための改善されたブラウザの方法を提供する。
【００２１】
一般に、ソフトウェアアプリケーションを実行するために必要な時間量は、実行されねばならない命令の数に、各命令を実行するために必要な平均時間を掛けたものに比例する。プロセッサのクロック周波数(すなわち、クロックレート)を増加させると、各命令を実行するために必要な平均時間が削減され、実行時間全体を改善する。しかしながら、プロセッサのクロック周波数を増加させると、モバイルデバイスによって消費される電力量も増加し、バッテリ寿命が低下する可能性がある。バッテリ寿命および電力消費特性が重要な考慮事項であるモバイルデバイスで典型的な、リソースが制限された環境では、クロック周波数を増加させるだけでは、バッテリ寿命に対する悪影響が処理速度の向上より重い可能性があるので、ユーザ体験を改善することができない。
【００２２】
並列処理は、複数のプロセッサまたはプロセッサコアにより、大きいプロセスがより小さいタスクに分割され、同時に(すなわち、並行して)実行される処理技法である。効率的な並列処理方式は、電力消費またはバッテリ寿命に著しい影響を与えずに実行時間を改善する。モバイルデバイスのユーザがインターネットを介したメディアに夢中になって消費する時間量の増加に起因して、ウェブページを並行して効率的に処理することが可能なウェブブラウザを実装することが、モバイルデバイスの製造業者にとって重要な設計目標になっている。
【００２３】
ウェブページの並行処理は、ページ内のすべての要素について依存性分析(dependency analysis)を実行することを必要とする。この分析は、実行時にそのような動作を行うコストにより並列処理の恩恵がしばしば打ち消されるので、(たとえば、時間、エネルギー、リソースなどの点で)費用がかかりすぎて実行時に行うことができない。この制限を克服するために、依存性は、静的に(たとえば、実行時に先立って)指定され、ウェブページの中に符号化される場合がある。実行時に、ブラウザアプリケーションは、符号化された情報を使用して、ウェブページの独立部分を識別し、識別された部分を並行して処理することができる。
【００２４】
依存性を静的に指定するためには、ブラウザがページレンダリング動作の独立部分を検出および識別して時間およびエネルギーを消費すること、またはソフトウェア開発者がウェブページ内のそのような情報を手動で識別および符号化することのいずれかが必要になる。既存のソリューションを使用して、そのような情報を手動で符号化するためには、開発者がHTML規格によって定義されていないウェブページにプロプライエタリ(proprietary)なHTMLタグを追加することが必要になる。
【００２５】
様々な態様は、実行時に過剰な時間またはエネルギーを消費せずに、かつウェブページにプロプライエタリなHTMLタグを手動で符号化することを開発者に要求せずに、HTMLドキュメントの独立部分を識別するための改善された方法を提供することによって、HTMLウェブページドキュメントの並列処理用の他のソリューションの欠点を克服する。
【００２６】
上述されたように、HTMLは、コンテンツ(たとえば、テキスト、画像など)を解釈および構成するために多くのウェブブラウザによって使用される、人気がある規格ベースのマークアップ言語である。HTMLは、ウェブブラウザが同じブラウザウィンドウ内で1つまたは複数のウェブページまたはメディア要素を表示することを可能にする、フレーム(たとえば、<frame>、<iframe>など)の使用をサポートする。詳細には、HTMLフレームにより、ビジュアルブラウザウィンドウが2つ以上のセグメントに分割されることが可能になり、その結果、各セグメントは、異なるドキュメント(たとえば、ウェブページ、メディア要素など)を表示することができる。「インラインフレーム」または「iframe」は、2つ以上のドキュメント(本明細書では「埋込み型ドキュメント」)が、別のドキュメント(本明細書では「メインドキュメント」)に視覚的に埋め込まれ、同じページに表示されることが可能になる、特定のタイプのHTMLフレームである。
【００２７】
HTMLフレームおよびiframeの一般的な性質は、HTML仕様によって定義されるが、HTML仕様は、iframeの存在下で画像とデータの相互作用がメインドキュメントと埋込み型ドキュメントとの間でどのように遂行されるべきかについて、いかなる指導も提供しない。既存のブラウザソリューションは、プロプライエタリなHTMLタグを使用して、これらの相互作用を定義することができる。しかしながら、そのようなプロプライエタリなタグは、HTML規格によってサポートされず、ブラウザの実装形態の間で異なり、それにより、コードの移植性および下位互換性が低減される。
【００２８】
HTML5は、HTML規格の5番目の改訂であり、既存システム(たとえば、既存のウェブブラウザ、パーサなど)との下位互換性を維持しながら、マルチメディアアプリケーション向けのHTMLサポートを改善することを目的とする。HTML5規格は、iframe相互作用を明確化および標準化することを目的とする、iframe用の2つの新しい属性、「sandbox」属性および「seamless」属性を導入する。「sandbox」属性は、様々な機能を禁止/無効化することによって、iframeを「sandbox」するようにブラウザに命令する。「seamless」属性は、iframe要素のブラウジングコンテキストが、親ドキュメントの一部である(すなわち、メインドキュメントにシームレスに含まれる)ことを明白にする方式でレンダリングされるべきであるとブラウザに命令する。これら2つのiframe属性(すなわち、seamlessおよびsandbox)は、互換性がなく相互排他的であると一般的に理解され、HTML5仕様は、両方の属性が同じiframeタグ内で指定された場合実行されるべき挙動を定義しない。したがって、既存のブラウザソリューションは、一度に1つの属性に関連付けられた動作の実行しかサポートしない。たとえば、両方の属性が同じiframeに含まれる場合、既存のソリューションは、最初に遭遇したタグと関連付けられた動作しか実行することができない。
【００２９】
様々な態様は、「seamless」属性と「sandbox」属性の両方が同じiframeタグに含まれるとき並列処理をサポートする挙動を実施する方法を提供し、それにより、両方のタグが存在するとき実行される新しい(すなわち第3の)動作が定義される。様々な態様は、「sandbox」属性と「seamless」属性の組合せを使用して、(並列処理に必要な)状態情報を共有しないHTMLドキュメントの独立部分を定義することによって、HTMLページの負荷およびレンダリング回数の性能を改善する。様々な態様は、過剰な時間またはエネルギーを消費せずに、かつプロプライエタリなHTMLタグを手動で符号化することを要求せずに、HTMLドキュメントの独立部分を識別する。
【００３０】
上述されたように、HTMLページの並行処理では、ドキュメント内のすべての要素について依存性分析を実行することが必要になるが、これは、一般に、費用がかかりすぎて実行時に行うことができない。これらの依存性は、前もって静的に指定し、ウェブページの中に符号化することができ、その結果、ブラウザは、並行して実行され得る独立部分を識別することができる。しかしながら、HTML規格はこれらの独立部分を識別するためのタグを定義しないので、既存のブラウザソリューションでは、独立部分を識別する時間およびエネルギーをブラウザが消費することが要求される。様々な態様により、開発者、オフラインツール、および/またはサーバが、ブラウザの外部で(たとえば、実行時の前に)ドキュメントの独立部分をタグで識別することが可能になり、それにより、ブラウザが独立部分を識別するために必要な時間およびエネルギーが削減される。
【００３１】
HTMLドキュメントの独立部分は、いくつかの異なる方法でブラウザの外部で識別することができる。たとえば、アプリケーション開発者は手動で独立部分を識別することができ、オフライン静的ツールはページを分析して独立部分を識別することができ、または、ウェブサーバは分析を実行して独立部分を識別することができる。独立部分が識別されると、ドキュメントをいくつかのファイルに区分化することができる。これらのファイルは、2つのiframe属性(たとえば、seamlessおよびsandbox)でタグ付けし、元のHTMLドキュメントに組み込み直すことができる。たとえば、ファイルは、「seamless」属性と「sandbox」属性の両方を有する<iframe>タグ(たとえば、<iframe seamless sandbox src="..."/>など)を使用して、元のHTMLドキュメントに組み込み直すことができる。
【００３２】
一態様では、属性がiframeタグ内に存在する順序は、実行されるべき動作を識別することができる。たとえば、ブラウザは、sandbox属性がiframe内でseamless属性の前に含まれると、iframeのコンテンツがドキュメントの残りから独立し、任意の順序で(たとえば、他のプロセスと並行して)処理され得ることを意味すると解釈するように構成することができる。同様に、ブラウザは、iframe内でsandbox属性の前にseamless属性を含むことが、iframeのコンテンツが順序通り、かつ/または親ドキュメントのコンテキスト内で処理されるべきことを意味すると解釈するように構成することができる。このようにして、様々な態様により、既存のブラウザと下位互換のまま、HTMLページのより効率的な並列処理のために、独立部分がブラウザに容易に識別されることが可能になる。すなわち、HTML5仕様は、seamless属性とsandbox属性の両方が同じiframe内に存在するとき何が起こるべきかを定義せず、大部分の既存のブラウザソリューションはドキュメントを通常あるように処理する(たとえば、2番目の属性を無視する)だけなので、HTMLコードに両方の属性を含むことによってそれらは失敗しない。
【００３３】
図1は、様々な態様によりHTMLページの並列処理に使用され得る例示的なネットワーク100を示す。ネットワーク100は、インターネット104を介してクライアントマシン106にコンテンツを配信するウェブ/コンテンツサーバ102、および実行時に先立ってブラウザ動作を実行するように構成されたオフライン/外部ツール114を含む場合がある。クライアントマシン106は、ネットワークインターフェースモジュール108、ディスプレイモジュール116、メモリ118、およびウェブブラウザ110を含む場合がある。ブラウザ110は、HTMLコンテンツを処理、解釈、および/またはレンダリングするためのHTMLプロセッサ112を含む場合がある。外部/オフラインツール114は、ウェブサーバ(たとえば、ウェブサーバ102)上、別個のサーバ、プロキシとして、またはクライアントマシン106上などのネットワーク100内の任意の場所に実装される場合がある。外部/オフラインツール114は、独立したプロセスとして、またはブラウザ110の一部として実装される場合がある。
【００３４】
一態様では、ブラウザ110は、特定のブラウザ動作をオフライン/外部ツール114にオフロードするように構成することができ、その結果、オフロードされた動作は、時間および/または空間で(すなわち、先行して、異なるマシンによって実行される)他の動作と分離される。一態様では、ブラウザ110は、HTMLコードの分析およびタグ付けに関連する動作を外部/オフラインツール114にオフロードするように構成することができる。一態様では、外部/オフラインツール114は、ブラウザ110の一部であり、クライアントマシン106が電源に接続されている、かつ/またはアイドルであることをクライアントマシン106が検出したときに、HTMLコードを事前処理するプリプロセッサを含む。
【００３５】
外部ツール114および/またはウェブサーバ102は、HTMLコードを分析してHTMLドキュメントの独立部分を識別し、識別された部分をiframe属性(たとえば、seamlessおよびsandbox)でタグ付けするように構成することができる。たとえば、一態様では、ウェブ/コンテンツサーバ102は、HTMLコードをタグ付けし、レンダリング用にウェブブラウザ110に送ることができる。別の態様では、外部/オフラインツール114は、HTMLコードをタグ付けし、レンダリング用にウェブブラウザ110に送ることができる。一態様では、タグ付けされたHTMLコードは、後で使用するためにメモリに記憶することができる。
【００３６】
ブラウザ110は、単一のiframe内の「sandbox」属性と「seamless」属性の両方の存在を検出して、実行されるべき動作を識別するように構成することができる。一態様では、ブラウザ110は、属性がiframeタグ内に存在する順序を検出して、実行されるべき動作をさらに識別するように構成することができる。たとえば、sandbox属性がiframeタグ内でseamless属性の前に含まれることが検出された場合、ブラウザは、iframeのコンテンツを並行して、かつ/または他のコンテンツとともに処理することができる。同様に、seamless属性が最初に含まれることをブラウザが検出した場合、ブラウザは、iframeのコンテンツを順番に処理することができる。
【００３７】
一態様では、タグは、既存のブラウザアプリケーションに影響を与えないように、HTMLコードに埋め込むことができる。たとえば、タグは、両方の属性が同じタグ内に存在することの重要性を理解するように修正されたブラウザによって処理され、未修正のブラウザによって無視され得るように、埋め込むことができる。
【００３８】
図2は、HTMLドキュメントの独立部分を識別およびタグ付けする一態様の方法200を示す。ブロック202で、HTMLドキュメントの独立部分を識別することができる。これは、たとえば、ソフトウェア開発者によりHTMLドキュメントを分析して、コードセクションを独立としてマークすることによって、または(たとえば、ブラウザ、外部ツール、ウェブサーバなどにおいて)HTMLドキュメントを分析して、HTMLドキュメントの他の部分によって生成された処理結果に依存していない部分を識別することによって、遂行することができる。ブロック204で、HTMLドキュメントを複数のファイルに区分化することができる。たとえば、各独立部分は1つのファイルに含まれ得るし、すべての依存部分は別のファイルに含まれ得る。ブロック206で、ファイルをseamless属性とsandbox属性の両方を有するiframeタグと関連付けることができる。これは、たとえば、iframeタグのコンテンツ部分にファイルを含めることによって遂行することができる。一態様では、独立部分を含んでいるファイルは第1のiframeタグと関連付けることができ、依存部分を含んでいるファイルは第2のiframeタグと関連付けることができる。一態様では、独立部分と関連付けられたiframeタグは、sandbox属性の前にseamless属性を含むように生成することができ、依存部分と関連付けられたiframeタグは、seamless属性の前にsandbox属性を含むように生成することができる。ブロック208で、ファイルおよび関連付けられたタグをHTMLドキュメントに挿入し直すことができる。オプションのブロック210で、HTMLドキュメントをレンダリング用にブラウザアプリケーションに送ることができる。
【００３９】
図3は、HTMLドキュメントを並行して処理する一態様のブラウザの方法300を示す。ブロック302で、ブラウザは、レンダリング用のHTMLドキュメントを受信することができる。判定ブロック304で、ブラウザは、HTMLドキュメントがiframeタグを含むかどうかを判定することができる。HTMLドキュメントがiframeタグを含まないとブラウザが判定した場合(すなわち、判定ブロック304=「No」)、ブラウザは、ブロック310で従来の方法を使用して(たとえば、順番に)ウェブページのコンテンツを処理することができる。HTMLドキュメントがiframeタグを含むとブラウザが判定した場合(すなわち、判定ブロック304=「Yes」)、判定ブロック306で、ブラウザは、iframeタグがseamless属性とsandbox属性の両方を含むかどうかを判定することができる。iframeタグがseamless属性とsandbox属性の両方を含まないとブラウザが判定した場合(すなわち、判定ブロック306=「No」)、ブラウザは、ブロック310で従来の方法を使用してウェブページのコンテンツを処理することができる。iframeタグがseamless属性とsandbox属性の両方を含むとブラウザが判定した場合(すなわち、判定ブロック306=「Yes」)、ブラウザは、判定ブロック308で、属性がタグに含まれる順序がタグのコンテンツをHTMLドキュメントの独立部分であると識別するかどうかを判定することができる。たとえば、ブラウザは、sandbox属性がiframe内でseamless属性の前に含まれると、iframeのコンテンツがドキュメントの残りから独立し、任意の順序で(たとえば、他のプロセスと並行して)処理され得ることが識別されると解釈するように構成することができ、その逆も同様である。
【００４０】
属性の順序がタグのコンテンツをHTMLドキュメントの独立部分であると識別しないとブラウザが判定した場合(すなわち、判定ブロック308=「No」)、ブラウザは、ブロック310でiframeのコンテンツを順番に処理することができる。他方で、属性の順序がタグのコンテンツをHTMLドキュメントの独立部分であると識別するとブラウザが判定した場合(すなわち、判定ブロック308=「Yes」)、ブラウザは、ブロック312で独立部分を並行して処理することができる。
【００４１】
一態様では、たとえば、実行時に先立ってHTMLドキュメントの独立部分を識別およびタグ付けし、タグ付けされたコンテンツを後で処理するためにメモリに記憶するウェブブラウザにより、方法300の動作は方法200の動作と組み合わせることができる。
【００４２】
図4は、様々な態様が、実行時に過剰な時間またはエネルギーを消費せずに、かつウェブページにプロプライエタリなHTMLタグを手動で符号化することを開発者に要求せずに、HTMLドキュメントの独立部分を識別するために使用することができる、例示的なHTMLタグ400を示す。図4に示された例では、HTMLタグは、iframeタグ識別子402、seamless属性404、sandbox属性406、およびsrcdoc属性408を含む。srcdoc属性408は、ネストされたブラウズ中のコンテキストが含むべきコンテンツ(すなわち、iframe srcdocドキュメントのソース)を指定する。同じiframeタグ内に「seamless」属性と「sandbox」属性の両方が存在すると、HTML規格によって指定されず、かつ/またはHTMLページの独立部分がブラウザによって容易に識別され得るようにそれらを識別する、新しい(すなわち、第3の)動作が可能になる。
【００４３】
上述されたように、HTMLページの並行処理では、ドキュメント内のすべての要素について依存性分析を実行することが必要になるが、これは、一般に、費用がかかりすぎて実行時に行うことができない。これらの依存性は、前もって静的に指定し、ウェブページの中に符号化することができ、その結果、ブラウザは、並行して実行され得る独立部分を識別することができる。しかしながら、HTML規格は、これらの独立部分を識別するためのタグを定義しないので、既存のブラウザソリューションでは、独立部分を識別する時間およびエネルギーを消費することが要求される。
【００４４】
様々な態様によってもたらされる恩恵のうちの1つは、既存のブラウザとの下位互換性を維持しながら、HTMLページの独立部分がブラウザによって容易に識別され得るように(たとえば、より効率的な並列処理のために)それらにタグを埋め込むことである。すなわち、様々な態様はプロプライエタリなタグを要求せず、HTML5仕様は、seamless属性とsandbox属性の両方が同じiframeに存在するとき何が起こるべきかを定義しないので、既存のソリューションは(たとえば、2番目の属性を無視することによって)ドキュメントを従来通り処理するだけなので、HTMLコードに両方の属性を含むことは既存のソリューションと下位互換性がある。
【００４５】
様々な態様がHTML5規格を実装する。一般に、HTML5はHTML規格の5番目の改訂であり、人間が容易に読むことができ、コンピュータおよびデバイス(ウェブブラウザ、パーサなど)が矛盾なく理解することを保ちながら、最新のマルチメディアに対するサポートでHTML言語を改善することを目的とする。HTML5は、HTML4だけでなく、XHTML1およびDOM Level2 HTMLも包含するものである。HTML5規格は、ワールドワイドウェブで通常使用されているHTMLおよびXHTMLが、ウェブブラウザなどのソフトウェア製品によって導入された機能、通常の実践によって確立された機能、および既存のウェブドキュメント内の多くのシンタックスエラーとともに、様々な仕様によって導入された機能の混合物であるとの観察に応答して開発された。HTMLシンタックスまたはXHTMLシンタックスのいずれかで書くことができる単一のマークアップ言語を定義することも試みられている。それは、ドキュメントに利用可能なマークアップを拡張、改良および合理化し、複雑なウェブアプリケーション用のマークアップおよびアプリケーションプログラミングインターフェース(API)を導入するにつれて、より相互動作可能な実装形態を促進する詳細な処理モデルを含む。同じ理由で、HTML5はまた、クロスプラットフォームのモバイルアプリケーション用の潜在候補である。様々な態様は、HTML5の上記その他の機能を利用して、スマートフォンおよびタブレットなどの低電力デバイスで動作するウェブベースのソフトウェアアプリケーションを実装する。
【００４６】
様々な態様では、JavaScript(登録商標)コードはHTMLコードに埋め込むことができ、同時に、親のHTMLページに挿入されるさらなるHTMLコードを生成することができる。これを可能にするために、(JavaScript(登録商標)コードの実行によって生成されたHTMLコードを含む)HTMLコードは、同じ情報を繰り返し評価および/または処理することを回避するために、順番に(すなわち、連続して)構文解析することができる。正しい順序を保証するために、ブラウザは、通常、JavaScript(登録商標)コードおよび親のHTMLコードを解釈、構文解析、および実行する少なくとも2つの異なる機構またはプロセスを必要とする。たとえば、そこに埋め込まれたJavaScript(登録商標)コードを有するHTMLウェブページを解釈および表示するために、ウェブブラウザは、通常、実質的なコンテンツからHTMLマークアップタグを分離するHTMLパーサ、および埋込み型スクリプトを構文解析し実行するJavaScript(登録商標)実行エンジンを実行しなければならない。HTMLパーサは、通常、JavaScript(登録商標)タグに遭遇するまで実行され、その時点で、JavaScript(登録商標)タグが処理されるまでその動作をサスペンドする。HTMLパーサがサスペンドされている間、JavaScript(登録商標)エンジンは、遭遇したタグと関連付けられたスクリプトのコンテンツ(すなわち、スクリプトテキスト)を処理するために呼び出される。JavaScript(登録商標)エンジンがスクリプトテキストの実行を終了したとき、JavaScript(登録商標)エンジンは制御をHTMLパーサに返し、HTMLパーサはHTMLコードの構文解析を再開する。このプロセスは、規約(たとえば、ECMAScript、ISO/IEC16262)によって指定され、JavaScript(登録商標)テキストの実行によって生成されたHTMLコードが正しい(すなわち、連続する)順序で構文解析されることを保証する。
【００４７】
プロセッサ内でマークアップ言語コードを実行する際に、様々な態様は、ウェブページをロードする要求、ならびに要求されたウェブページと関連付けられた(埋込み型スクリプト言語コードを含む)マークアップ言語コードを受信することを提供する。受信されたマークアップ言語コードは、構文解析されてパースデータを生成することができる。埋込み型スクリプト言語コードのセグメントは、構文解析状態情報とともに実行状態パッケージの中にパッケージ化することができる。実行状態パッケージは、受信されたマークアップ言語コードの構文解析が再開されている間、スクリプト言語のスクリプトキューに記憶することができる。実行状態パッケージは、スクリプト言語コード、構文解析状態情報、実行コンテキスト、メモリ位置、およびマークアップ言語コード内の対象の位置またはポイントの識別子、ならびにスクリプトタグがHTMLパーサによって遭遇された時点での実行の状態を取り込み、記憶し、取り出すことに関する他の要素を含む場合がある。
【００４８】
様々な態様は、任意の様々なコンピューティングデバイスに実装することができる。モバイルコンピューティングデバイスの例が図5に示され、ノートブックコンピュータの例が図6に示される。典型的なモバイルコンピューティングデバイス500は、図5に示された構成要素を共通に有する。たとえば、モバイルコンピューティングデバイス500は、内部メモリ502に結合されたプロセッサ501およびタッチ面入力デバイス/ディスプレイ503を含む場合がある。タッチスクリーンディスプレイ503は、抵抗検知タッチスクリーン、容量検知タッチスクリーン、赤外線検知タッチスクリーン、音響/圧電検知タッチスクリーンなどである。様々な態様は、いかなる特定のタイプのタッチスクリーンディスプレイ503またはタッチパッド技術にも限定されない。加えて、コンピューティングデバイス500は、プロセッサ501に結合されたワイヤレスデータリンクおよび/または携帯電話送受信機505に接続された、電磁放射を送受信するためのアンテナ504を有する場合がある。コンピューティングデバイス500はまた、ユーザ入力を受け取るための物理ボタン508を含む場合がある。
【００４９】
様々な態様は、モバイルコンピューティングデバイスに著しい性能向上をもたらすことができるが、パーソナルコンピュータおよびラップトップコンピュータを含む他の形態のコンピューティングデバイスも、動的言語スクリプトの事前構文解析から恩恵を受けることができる。そのようなコンピューティングデバイスは、通常、例示的なパーソナルラップトップコンピュータ600を示す図6に示された構成要素を含む。そのようなパーソナルコンピュータ600は、一般に、揮発性メモリ602、およびディスクドライブ603などの大容量不揮発性メモリに結合されたプロセッサ601を含む。コンピュータ600はまた、プロセッサ601に結合されたコンパクトディスク(CD)および/またはDVDドライブ604を含む場合がある。コンピュータデバイス600はまた、プロセッサ601をネットワークに結合するためのネットワーク接続回路605などの、データ接続を確立し外部メモリデバイスを受け入れるための、プロセッサ601に結合されたいくつかのコネクタポートを含む場合がある。コンピュータの技術分野ではよく知られているように、コンピュータ600はさらに、キーボード608、マウスなどのポインティングデバイス610、およびディスプレイ609に結合される場合がある。
【００５０】
様々な態様はまた、図7に示されるサーバ700などの様々な市販のサーバデバイスのうちのいずれにも実装することができる。そのようなサーバ700は、通常、プロセッサ701を含み、複数のプロセッサシステム711、721、731を含む場合があり、プロセッサシステムのうちの1つまたは複数は、マルチコアプロセッサであるか、またはマルチコアプロセッサを含む場合がある。プロセッサ701は、揮発性メモリ702、およびディスクドライブ703などの大容量不揮発性メモリに結合される場合がある。サーバ700はまた、プロセッサ701に結合されたフロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ706を含む場合がある。サーバ700はまた、他のブロードキャストシステムのコンピュータおよびサーバに結合されたローカルエリアネットワークなどのネットワーク705とデータ接続を確立するため、プロセッサ701に結合されたネットワークアクセスポートまたは送受信機704を含む場合がある。
【００５１】
プロセッサ501、601、701は、本明細書に記載された様々な態様の機能を含む様々な機能を実行するためにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのモバイルデバイスでは、ワイヤレス通信機能に専用の1つのプロセッサ、および他のアプリケーションの実行に専用の1つのプロセッサなどの複数のプロセッサ501、601、701が提供される場合がある。通常、ソフトウェアアプリケーションは、アクセスされてプロセッサ501、601、701にロードされる前に、内部メモリ502、602、702に記憶される場合がある。いくつかのモバイルデバイスでは、プロセッサ501、601、701は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含む場合がある。いくつかのモバイルデバイスでは、セキュアなメモリが、プロセッサ501、601、701に結合された別個のメモリチップ内にあり得る。内部メモリ502、602、702は、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の混合物であり得る。本明細書では、メモリに対する一般的な言及は、内部メモリ502、602、702、モバイルデバイスに接続されたリムーバブルメモリ、およびプロセッサ501、601、701自体の中のメモリを含む、プロセッサ501、601、701によってアクセス可能なすべてのメモリを指す。
【００５２】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様のブロックが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の態様におけるステップの順序は、いかなる順序でも実行することができる。「その後」、「次いで」、「次に」などの単語は、ブロックの順序を限定するものではなく、これらの単語は、方法の説明を通して読者を案内するために使用されるにすぎない。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形での請求要素へのいかなる言及も、その要素を単数形に限定するものとして解釈されるべきではない。
【００５３】
本明細書で開示された態様に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して記載された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００５４】
本明細書で開示された態様に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せを用いて、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、そのプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装することができる。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行することができる。
【００５５】
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つもしくは複数の命令もしくはコードとして、非一時的コンピュータ可読記憶媒体もしくはプロセッサ可読記憶媒体上に記憶されるか、または非一時的コンピュータ可読記憶媒体もしくはプロセッサ可読記憶媒体を介して送信することができる。本明細書で開示された方法またはアルゴリズムのステップは、非一時的プロセッサ可読記憶媒体またはコンピュータ可読記憶媒体上に存在できる、プロセッサ実行可能ソフトウェアモジュール内で具現化することができる。非一時的プロセッサ可読媒体およびコンピュータ可読媒体は、コンピュータまたはコンピューティングデバイスのプロセッサによってアクセスできる任意の利用可能な記憶媒体であり得る。限定ではなく例として、そのような非一時的プロセッサ可読媒体またはコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用でき、コンピュータもしくはコンピューティングデバイスのプロセッサによってアクセスできる任意の他の媒体を備えることができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込むことができる、非一時的プロセッサ可読媒体および/または非一時的コンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せまたはセットとして存在することができる。
【００５６】
開示された態様の上記の説明は、任意の当業者が本発明を製作または使用できるように提供される。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本発明の趣旨または範囲を逸脱することなく、他の態様に適用することができる。したがって、本発明は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
【符号の説明】
【００５７】
100  ネットワーク
102  ウェブ/コンテンツサーバ
104  インターネット
106  クライアントマシン
108  ネットワークインターフェースモジュール
110  ウェブブラウザ
112  HTMLプロセッサ
114  オフライン/外部ツール
116  ディスプレイモジュール
118  メモリ
200  HTMLドキュメントの独立部分を識別およびタグ付けする一態様の方法
202  HTMLドキュメントの独立部分を識別する
204  HTMLドキュメントを複数のファイルに区分化する
206  ファイルをseamless属性とsandbox属性の両方を有するiframeタグと関連付ける
208  ファイルおよび関連付けられたタグをHTMLドキュメントに挿入し直す
210  HTMLドキュメントをレンダリング用にブラウザアプリケーションに送る
300  HTMLドキュメントを並行して処理する一態様のブラウザの方法
302  レンダリング用のHTMLドキュメントを受信する
304  HTMLドキュメントがiframeタグを含むかどうかを判定する
306  iframeタグがseamless属性とsandbox属性の両方を含むかどうかを判定する
308  属性がタグに含まれる順序がタグのコンテンツをHTMLドキュメントの独立部分であると識別するかどうかを判定する
310  iframeのコンテンツを順番に処理する
312  独立部分を並行して処理する
400  HTMLタグ
402  iframeタグ識別子
404  seamless属性
406  sandbox属性
408  srcdoc属性
500  モバイルコンピューティングデバイス
501  プロセッサ
502  内部メモリ
503  タッチ面入力デバイス/ディスプレイ
504  アンテナ
505  ワイヤレスデータリンクおよび/または携帯電話送受信機
508  物理ボタン
600  パーソナルラップトップコンピュータ
601  プロセッサ
602  揮発性メモリ
603  ディスクドライブ
604  コンパクトディスク(CD)および/またはDVDドライブ
605  ネットワーク接続回路
608  キーボード
609  ディスプレイ
610  ポインティングデバイス
700  サーバ
701  プロセッサ
702  揮発性メモリ
703  ディスクドライブ
704  ネットワークアクセスポートまたは送受信機
705  ネットワーク
706  フロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ
711  プロセッサシステム
721  プロセッサシステム
731  プロセッサシステム
【図１】
2015518205.tif 000003
【図２】
2015518205.tif 000004
【図３】
2015518205.tif 000005
【図４】
2015518205.tif 000006
【図５】
2015518205.tif 000007
【図６】
2015518205.tif 000008
【図７】
2015518205.tif 000009
【手続補正書】
【提出日】平成26年1月7日(2014.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブラウザ内のコンテンツを処理するための方法であって、
ウェブドキュメントの独立部分を識別するステップと、
前記ウェブドキュメントを複数のファイルに区分化するステップであって、各独立部分が1つのファイルに含まれ、前記ウェブドキュメントの各依存部分が別のファイルに含まれる、ステップと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けるステップと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入するステップと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送るステップと、
を含むことを特徴とする方法。
【請求項２】
前記コンピューティングデバイス内で実行されている前記ブラウザアプリケーションで前記ウェブドキュメントを受信するステップと、
前記ウェブドキュメント内の前記タグが、前記第1の属性と前記第2の属性の両方を含むかどうかを判定するステップと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理するステップと、
をさらに含む、請求項1に記載の方法。
【請求項３】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定するステップと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理するステップと、
をさらに含む、請求項2に記載の方法。
【請求項４】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定するステップと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理するステップと、
をさらに含む、請求項2に記載の方法。
【請求項５】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定するステップが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定するステップを含む、請求項2に記載の方法。
【請求項６】
ウェブドキュメントの独立部分を識別するステップが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別するステップを含む、請求項1に記載の方法。
【請求項７】
ウェブドキュメントの独立部分を識別するステップが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別するステップを含む、請求項1に記載の方法。
【請求項８】
ウェブドキュメントの独立部分を識別するステップが外部ツールによって遂行される、請求項1に記載の方法。
【請求項９】
ウェブドキュメントの独立部分を識別するステップがウェブサーバによって遂行される、請求項1に記載の方法。
【請求項１０】
ウェブドキュメントの独立部分を識別するステップが実行時の前に前記ブラウザアプリケーションによって遂行される、請求項1に記載の方法。
【請求項１１】
コンピューティングデバイスであって、
ウェブドキュメントの独立部分を識別するための手段と、
前記ウェブドキュメントを複数のファイルに区分化するための手段であって、各独立部分が1つのファイルに含まれ、前記ウェブドキュメントの依存部分が別のファイルに含まれる、手段と、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けるための手段と、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入するための手段と、
前記ウェブドキュメントを別のコンピューティングデバイス内で実行されているブラウザアプリケーションに送るための手段と、
を備えることを特徴とするコンピューティングデバイス。
【請求項１２】
ウェブドキュメントの独立部分を識別するための手段が、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１３】
ウェブドキュメントの独立部分を識別するための手段が、状態情報を共有しない前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１４】
ウェブドキュメントの独立部分を識別するための手段が、外部ツールを使用して前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１５】
ウェブドキュメントの独立部分を識別するための手段が、ウェブサーバ上の前記ウェブドキュメントの独立部分を識別するための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１６】
タグを前記複数のファイルと関連付けるための手段が、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けるための手段を備える、請求項11に記載のコンピューティングデバイス。
【請求項１７】
コンピューティングデバイスであって、
前記コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信するための手段であって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含み、前記複数のファイルのうちの1つのファイルが前記ウェブドキュメントの独立部分を含み、前記複数のファイルのうちの別のファイルが前記ウェブドキュメントの依存部分を含む、手段と、
前記ウェブドキュメント内の前記関連付けられたタグが、第1の属性と第2の属性の両方を含むかどうかを判定するための手段と、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理するための手段と、
を備えることを特徴とするコンピューティングデバイス。
【請求項１８】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定するための手段と、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理するための手段と、
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定するための手段と、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理するための手段と、
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定するための手段が、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項２１】
実行時の前に前記ウェブドキュメントの前記独立部分を識別するための手段をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２２】
コンピューティングデバイスであって、
通信信号を送受信するように構成された送受信機と、
メモリと、
前記送受信機および前記メモリに結合されたプロセッサと、
を備え、前記プロセッサが、
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれ、前記ウェブドキュメントの依存部分が別のファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと
を含む動作を実行するように、プロセッサ実行可能命令で構成されたことを特徴とするコンピューティングデバイス。
【請求項２３】
ウェブドキュメントの独立部分を識別することが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを備えるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２４】
ウェブドキュメントの独立部分を識別することが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを備えるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２５】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２６】
前記コンピューティングデバイスがウェブサーバである、請求項22に記載のコンピューティングデバイス。
【請求項２７】
タグを前記複数のファイルと関連付けることが、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けることを含むように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項22に記載のコンピューティングデバイス。
【請求項２８】
コンピューティングデバイスであって、
通信信号を送受信するように構成された送受信機と、
メモリと、
前記送受信機および前記メモリに結合されたプロセッサと、
を備え、前記プロセッサが、
前記コンピューティングデバイス内で実行されているブラウザアプリケーションでウェブドキュメントを受信することであって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含み、前記複数のファイルのうちの1つのファイルが前記ウェブドキュメントの独立部分を含み、前記複数のファイルのうちの別のファイルが前記ウェブドキュメントの依存部分を含む、受信することと、
前記ウェブドキュメント内の前記タグが、第1の属性と第2の属性の両方を含むかどうかを判定することと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理することと、
を含む動作を実行するように、プロセッサ実行可能命令で構成されたことを特徴とするコンピューティングデバイス。
【請求項２９】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
をさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３０】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
をさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３１】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３２】
実行時の前に前記ウェブドキュメントの前記独立部分を識別することをさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成された、請求項28に記載のコンピューティングデバイス。
【請求項３３】
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれ、前記ウェブドキュメントの依存部分が別のファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと、
を含む動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶したことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項３４】
ウェブドキュメントの独立部分を識別することがハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３５】
ウェブドキュメントの独立部分を識別することが状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３６】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３７】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、ウェブサーバ上で実行されるように構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３８】
タグを前記複数のファイルと関連付けることが、sandbox属性とseamless属性の両方を含むiframeタグを前記複数のファイルと関連付けることを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項３９】
ブラウザアプリケーションでウェブドキュメントを受信することであって、前記ウェブドキュメントがタグと関連付けられた複数のファイルへの参照を含み、前記複数のファイルのうちの1つのファイルが前記ウェブドキュメントの独立部分を含み、前記複数のファイルのうちの別のファイルが前記ウェブドキュメントの依存部分を含む、受信することと、
前記ウェブドキュメント内の前記タグが、第1の属性と第2の属性の両方を含むかどうかを判定することと、
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記タグと関連付けられた前記複数のファイルを処理することと、
を含む動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶したことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項４０】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
を含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４１】
前記タグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
を含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４２】
前記ウェブドキュメント内の前記タグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４３】
実行時の前に前記ウェブドキュメントの前記独立部分を識別することをさらに含む動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成された、請求項39に記載の非一時的コンピュータ可読記憶媒体。
【請求項４４】
通信信号を送受信するように構成されたサーバ送受信機、サーバメモリ、ならびに前記サーバ送受信機および前記サーバメモリに結合されたサーバプロセッサを備えるサーバと、
通信信号を送受信するように構成されたデバイス送受信機、デバイスメモリ、ならびに前記デバイス送受信機および前記デバイスメモリに結合されたデバイスプロセッサを備えるコンピューティングデバイスと、
を備え、
前記サーバプロセッサが、
ウェブドキュメントの独立部分を識別することと、
前記ウェブドキュメントを複数のファイルに区分化することであって、各独立部分が1つのファイルに含まれ、前記ウェブドキュメントの依存部分が別のファイルに含まれる、区分化することと、
第1の属性および第2の属性を有するタグを前記複数のファイルと関連付けることと、
前記複数のファイルへの参照および関連付けられたタグを前記ウェブドキュメントに挿入することと、
前記ウェブドキュメントをコンピューティングデバイス内で実行されているブラウザアプリケーションに送ることと、
を含む動作を実行するように、サーバ実行可能命令で構成されたことを特徴とするシステム。
【請求項４５】
ウェブドキュメントの独立部分を識別することが、ハイパーテキストマークアップ言語(HTML)ドキュメントの独立部分を識別することを備えるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４６】
ウェブドキュメントの独立部分を識別することが、状態情報を共有しない前記ウェブドキュメントの独立部分を識別することを備えるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４７】
ウェブドキュメントの独立部分を識別することが外部ツールによって遂行されるように、前記サーバプロセッサがサーバ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４８】
前記コンピューティングデバイス内で実行されている前記ブラウザアプリケーションで前記ウェブドキュメントを受信することと、
前記ウェブドキュメント内の少なくとも1つのタグが、前記第1の属性と前記第2の属性の両方を含むかどうかを判定することと、
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記少なくとも1つのタグと関連付けられた前記複数のファイルを処理することと、
を含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項44に記載のシステム。
【請求項４９】
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第1の属性が前記タグ内で前記第2の属性の前に含まれるかどうかを判定することと、
前記第1の属性が同じタグ内で前記第2の属性の前に含まれるとき、前記複数のファイルを並行して処理することと、
をさらに含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５０】
少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むことの判定に応答して、前記第2の属性が前記タグ内で前記第1の属性の前に含まれるかどうかを判定することと、
前記第2の属性が同じタグ内で前記第1の属性の前に含まれるとき、前記複数のファイルを順番に処理することと、
をさらに含む動作を実行するように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５１】
前記ウェブドキュメント内の少なくとも1つのタグが前記第1の属性と前記第2の属性の両方を含むかどうかを判定することが、iframeタグがsandbox属性とseamless属性の両方を含むかどうかを判定することを含むように、前記デバイスプロセッサがプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【請求項５２】
前記デバイスプロセッサが、実行時の前に前記ブラウザアプリケーション内で前記ウェブドキュメントの独立部分を識別することをさらに含むプロセッサ実行可能命令で構成された、請求項48に記載のシステム。
【国際調査報告】
2015518205.tif 000010
2015518205.tif 000011