(57)【要約】【課題】本発明の実施形態は、小さな形状因子のコンピューティング装置上でウェブページを閲覧するためのシステム、方法およびコンピュータ読み取り可能媒体を提供する。【解決手段】本発明は、システム内のウェブブラウジングを、ウェブページがまず、所定の倍率でオーバービューモードによって表示されるような層状にする。オーバービューモードで表示されたウェブページから、ユーザは、関係のあるコンテンツが追加のスクリーンスペースを使って表示されるようにする、適応的閲覧コマンドを発行することができる。【選択図】図１１
2006053926.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムとウェブブラウザを備えるコンピューティング装置において、
（ａ）ウェブページをセルの集合に分割するステップと、
（ｂ）セルのサブセットを表示させるための、ユーザにより生成されたコマンドを受信することに応答して、
（ｉ）前記ウェブページのうち表示されるセルを特定するステップと、
（ii）表示されないセルに割り当てられていた追加のスクリーンスペースを使って、前記セルのサブセットを表示するステップと、
を備えたことを特徴とするウェブページからのコンテンツを表示する方法。
【請求項２】
請求項１に記載の方法であって、表示されないセルをプレースホルダに置き換えるステップをさらに備えたことを特徴とする方法。
【請求項３】
請求項２に記載の方法であって、表示されないセルと置き換えられるプレースホルダ内にセルサマリを表示するステップをさらに備えたことを特徴とする方法。
【請求項４】
請求項３に記載の方法であって、前記セルサマリは、セルを分析し、目立つ方法で表示されるよう指定されたコンテンツを特定するステップをさらに備えたことを特徴とする方法。
【請求項５】
請求項３に記載の方法であって、
さらに、ユーザにより生成された第二のコマンドに応答して、すでにプレースホルダに置き換えられていたセルを表示するステップを含むことを特徴とする方法。
【請求項６】
請求項１に記載の方法であって、ポインタが移動させられる方向によって生成されるコマンドを特定する視覚的フィードバックを提供するステップをさらに備えたことを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、前記視覚的フィードバックは、生成されるコマンドを示す色の輪郭を持つ長方形の選択領域であることを特徴とする方法。
【請求項８】
請求項１に記載の方法であって、前記ウェブページをセルの集合に分割するステップは、
（ａ）前記ウェブページのドキュメントオブジェクトモデルツリーの表現を作成するステップと、
（ｂ）前記ウェブページ上の各コンテンツブロックによって占められる領域を判断するステップと、
（ｃ）前記ドキュメントオブジェクトモデルツリーのノードに格納されたコンテンツをそれぞれのコンテンツブロックに分類するステップと、
（ｄ）前記コンテンツブロックをマルチセルテーブルに挿入するステップと、
を含むことを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記マルチセルテーブルの中で、所定の閾値より小さい隣接するセルをマージするステップをさらに備えたことを特徴とする方法。
【請求項１０】
請求項８に記載の方法であって、前記ウェブページのドキュメントオブジェクトモデルツリーの表現を作成するステップは、パーサを使って、ハイパーテキストマークアップ言語の文書からコンテンツを抽出するステップを含むことを特徴とする方法。
【請求項１１】
請求項８に記載の方法であって、各コンテンツブロックによって占められる領域を判断するステップは、前記ウェブページ上の、コンテンツを分割する視覚的セパレータを特定するステップを含むことを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、１つまたは複数の視覚的セパレータがコンテンツブロック間の境界線であると特定された場合、コンテンツブロックを所定の形状にしたがって表示させる視覚的セパレータを選択するステップをさらに備えたことを特徴とする方法。
【請求項１３】
請求項１１に記載の方法であって、前記視覚的セパレータは、前記ウェブページ上の空白スペースを判断することによって特定される暗黙的視覚的セパレータであることを特徴とする方法。
【請求項１４】
請求項１１に記載の方法であって、前記視覚的セパレータは、前記ウェブページ内に埋め込まれたハイパーテキストマークアップ言語タグから特定される明示的視覚的セパレータであることを特徴とする方法。
【請求項１５】
請求項８に記載の方法であって、前記ドキュメントオブジェクトモデルツリーに格納されたコンテンツをコンテンツブロックに分類するステップは、
（ａ）前記ドキュメントオブジェクトモデルツリーをトラバースするステップと、
（ｂ）前記ツリーの前記ノードに格納されているコンテンツの位置を、各コンテンツブロックにより占められる領域と比較するステップと、
を含むことを特徴とする方法。
【請求項１６】
請求項８に記載の方法であって、前記コンテンツブロックをマルチセルテーブルに挿入するステップは、
（ａ）前記バイナリツリーの前記リーフノードに格納されたコンテンツブロックでバイナリツリーデータストラクチャを生成するステップと、
（ｂ）各コンテンツブロックの方向が水平か垂直かを判断するステップと、
（ｃ）コンテンツブロックが水平方向であれば、左側セルと右側セルを有する表を作成するステップと、
（ｄ）反対に、コンテンツブロックが垂直方向であれば、上側セルと下側セルを有する表を作成するステップと、
を含むことを特徴とする方法。
【請求項１７】
請求項１に記載の方法であって、前記受け入れられた、ユーザにより生成されたコマンドは、
（ａ）選択されたセルをプレースホルダに置き換え、選択されないセルを、選択されたセルに割り当てられていた追加のスクリーンスペースを使って表示するセル縮小コマンドと、
（ｂ）選択されたセルと同じ水平座標を占めるセルをプレースホルダに置き換え、選択されたセルと同じ水平座標を占めないセルを、表示されないセルに割り当てられていたスクリーンスペースを使って表示するコラム縮小コマンドと、
（ｃ）選択されないセルをプレースホルダに置き換え、選択されたセルを、選択されないセルに割り当てられていた追加のスクリーンスペースを使って表示するセル拡張コマンドと、
（ｄ）選択されないセルをプレースホルダに置き換え、選択されたセルを所定の倍率で表示するセル拡張およびズームコマンドと、
を含むことを特徴とする方法。
【請求項１８】
請求項１に記載の方法であって、前記ウェブページ上の、前記ユーザにより生成されたコマンドに応答して表示されるセルを特定するステップは、発行された前記コマンドと選択された前記セルを特定するステップよりなることを特徴とする方法。
【請求項１９】
請求項１８に記載の方法であって、前記ユーザにより生成されたコマンドを特定するステップは、前記コマンドが発行されたときの前記ポインタの移動方向を判断するステップよりなることを特徴とする方法。
【請求項２０】
オペレーティングシステムとウェブブラウザを備えるコンピューティング装置において、
（ａ）前記ウェブページのドキュメントオブジェクトモデルツリーの表現を作成する方法と、
（ｂ）前記ウェブページ上の各コンテンツブロックによって占められる領域を判断するステップと、
（ｃ）前記ドキュメントオブジェクトモデルツリーのノードに格納されたコンテンツを、それぞれに関係するコンテンツブロックに分類するステップと、
（ｄ）前記コンテンツブロックをマルチセルテーブルに挿入するステップと、
を備えたことを特徴とする前記ウェブページをセルの集合に分割する方法。
【請求項２１】
請求項２０に記載の方法であって、前記マルチセルテーブルにおいて、所定の閾値より小さい隣接するセルをマージするステップをさらに備えたことを特徴とする方法。
【請求項２２】
請求項２０に記載の方法であって、前記ウェブページのドキュメントオブジェクトモデルツリーの表現を作成するステップは、パーサを使ってハイパーテキストマークアップ言語の文書からコンテンツを抽出するステップを含むことを特徴とする方法。
【請求項２３】
請求項２０に記載の方法であって、各コンテンツブロックによって占められる領域を判断するステップは、前記ウェブページ上の、コンテンツを分割する視覚的セパレータを特定するステップを含むことを特徴とする方法。
【請求項２４】
請求項２３に記載の方法であって、１つまたは複数の視覚的セパレータがコンテンツブロック間の境界線であると特定された場合、コンテンツブロックが所定の形状にしたがって表示されるようにする前記視覚的セパレータを選択するステップをさらに備えたことを特徴とする方法。
【請求項２５】
請求項２３に記載の方法であって、前記視覚的セパレータは、前記ウェブページ上の前記空白スペースの位置を判断することによって特定される暗黙的視覚的セパレータであることを特徴とする方法。
【請求項２６】
請求項２３に記載の方法であって、前記視覚的セパレータは、前記ウェブページに埋め込まれたハイパーテキストマークアップ言語のタグから特定される明示的視覚的セパレータであることを特徴とする方法。
【請求項２７】
請求項２０に記載の方法であって、前記ドキュメントオブジェクトモデルツリーに格納されたコンテンツをコンテンツブロックに分類するステップは、
（ａ）前記ドキュメントオブジェクトモデルツリーをトラバースするステップと、
（ｂ）前記ツリーの前記ノードに格納された前記コンテンツの位置を、各コンテンツブロックによって占められる領域と比較するステップと、
を含むことを特徴とする方法。
【請求項２８】
請求項２０に記載の方法であって、前記コンテンツブロックをマルチセルテーブルに挿入するステップは、
（ａ）コンテンツブロックが前記バイナリツリーの前記リーフノードに格納されたバイナリツリーデータストラクチャを生成するステップと、
（ｂ）各コンテンツブロックの方向が水平か垂直かを判断するステップと、
（ｃ）コンテンツブロックが水平方向であれば、左側セルと右側セルを有する表を作成するステップと、
（ｄ）反対に、コンテンツブロックが垂直方向であれば、上側セルと下側セルを有する表を作成するステップと、
を含むことを特徴とする方法。
【請求項２９】
（ａ）イベントを特定し、イベントデータをグラフィカルユーザインタフェースに通信するよう動作するオペレーティングシステムと、
（ｂ）ウェブページをリモートコンピュータから要求し、前記ウェブページをユーザに表示することのできるウェブブラウザと、
（ｃ）前記オペレーティングシステムからイベントデータを受信し、前記イベントデータによって表される、ユーザにより生成されるコマンドを特定するグラフィカルユーザインタフェースと、
（ｄ）ユーザにより生成されたコマンドに応答して、表示されないセルに割り当てられていた追加のスクリーンスペースを使って、セルのサブセットを表示するよう動作するコンテンツディスプレイモジュールと、
を備えたことを特徴とするウェブページからコンテンツを表示するためのソフトウェアシステム。
【請求項３０】
請求項２９に記載のソフトウェアシステムであって、前記コンテンツディスプレイモジュールは、前記ウェブページ上で、コンテンツブロック間の境界線となる視覚的セパレータを特定することを特徴とするソフトウェアシステム。
【請求項３１】
請求項２９に記載のソフトウェアシステムであって、前記グラフィカルユーザインタフェースは、前記ポインタが作動させられるときの前記ポインタの移動方向に基づいてコマンドを差別化すること特徴とするソフトウェアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラムに関し、より詳しくは、小型スクリーンコンピューティング装置で実行するウェブブラウザに関する。
【背景技術】
【０００２】
最近２０年のコンピュータネットワークの爆発的な成長は、コンピュータの用途を劇的に変化させた。インターネットあるいはワールド・ワイド・ウェブ（ＷＷＷ）として一般に知られる最大のコンピュータネットワークは今や、世界中の何百万台ものコンピュータを接続し、電子メール、ファイル転送および異なるコンピュータネットワークを通じたハイパーメディア情報検索等のサービスを提供している。また、ハンドヘルドおよびパームタイプコンピュータをはじめとするパーソナルデスクトップアシスタントその他の小型携帯コンピューティング装置は、ビジネスマンその他、移動を余儀なくされ、そのため自分のデスクトップコンピュータやオフィスネットワークワークステーションに格納されている情報に容易にアクセスできない人々の間で、ますます需要が高まっている。ラップトップコンピュータはデスクトップマシン上で運用されるほとんどすべてのアプリケーションプログラムを実行させることができるが、ラップトップコンピュータは、多くの場合、大きさ、重量の点で持ち運びが困難である。
【０００３】
【特許文献１】米国特許出願公開第１０／３０６７２９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
次第に、小型携帯コンピュータ装置のユーザはインターネット等のコンピュータネットワークに接続することが可能となっている。しかしながら、デスクトップコンピュータのために設計されたアプリケーションは、必ずしも小型のコンピューティング装置に十分適していない。たとえば、ウェブブラウザはコンピュータネットワークから利用可能なリソースをダウンロード、アップロード、ディスプレイし、あるいはその他の方法でアクセスするよう設計されたアプリケーションである。一部のウェブブラウザはテキストベースであり、つまり、グラフィクスや画像を表示できない。しかしながら、最も人気の高いウェブブラウザは、ユーザがボタン、アイコン、メニューオプションをクリックしてウェブページを閲覧し、ナビゲートできるよう、グラフィクスによるインタフェースを提供する。デスクトップおよびラップトップコンピューティング装置用に設計されたグラフィクスに基づくウェブブラウザは小型スクリーンのコンピューティング装置用には作られていない。その理由の１つは、コンテンツを表示する際の倍率が、小型スクリーンには大きすぎるという点である。
【０００５】
現在では、小型携帯コンピューティング装置用に設計されたウェブブラウザが利用できる。しかしながら、ウェブページはデスクトップスクリーンの解像度を念頭において設計されていることが多い。たとえば、ウェブページは通常、所定のページ幅に合わせてフォーマットされ、またはマルチコラムレイアウトを含む。既存のウェブブラウザを備える小型スクリーンコンピューティング装置において、これらの種類のページではユーザはコンテンツを見るために何度もスクロールしなければならない。スクロールの必要性を減少させ、閲覧しやすい状況を提供するために、倍率を下げたウェブページの「ズームアウト」バージョンが提供されるかもしれない。しかしながら、低い倍率で表示されるウェブページは小さく、見にくい。
【０００６】
上記の問題を考慮すると、小型の携帯コンピューティング装置のユーザが、デスクトップスクリーンの解像度を念頭において設計されたウェブページを容易に見ることができるシステムがあれば有益である。本発明は、このようなシステムを提供することに関する。
【課題を解決するための手段】
【０００７】
本発明は一般に、小型携帯コンピューティング装置上で実行するウェブブラウザのグラフィクスユーザインタフェースを改善することに関する。より詳しくは、本発明により、小型ディスプレイを備えるコンピューティング装置（以下、小さい、または限定的な「形状因子」を有するコンピューティング装置という）のユーザは、より大型のコンピューティング装置のために設計されたウェブページを容易に見ることができる。小さな形状因子を有するコンピューティング装置上でコンテンツを表示することは、ウェブページが一般に、ウェブページが表示されるコンピューティング装置の形状因子より大きな所定のページレイアウトに合わせてフォーマットされているため問題が多かった。この場合、ユーザはウェブページのコンテンツを見るために、繰り返しスクロールしなければならない。本発明は、ウェブページがまず、ユーザが所定の倍率でコンテンツを見ることができるようなオーバービューモードで表示されるシステムを提供する。ウェブページがオーバービューモードで表示されると、ユーザは関係のあるコンテンツを特定するために設計されたコマンドを発行し、また、無関係なコンテンツを特定するよう設計されたコマンドを発行することによって、このコンテンツのよりよいビューを得ることができる。
【０００８】
本発明の一態様は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求等の要求を受け取り、その要求に応答してウェブページを表示する方法である。この方法は、ウェブページをセルの集団に分割し、所定の倍率でウェブページを表示するもので、この倍率はユーザが一方または両方向にスクロールする必要のない数値に設定される。ウェブページが表示されると、ユーザはそのウェブページ上のセルのサブセットを表示させるコマンドを発行することができる。ユーザにより発行されたセルのサブセットを表示させるコマンドを受け取ったことに応答し、この方法はウェブページから、表示するセルを特定し、表示されないセルに割り当てられていた追加のスクリーンスペースを使って、そのセルのサブセットを表示する。
【０００９】
本発明の別の態様は、ウェブページ上のコンテンツをセルの集団に分割する方法である。ウェブのコンテンツを異なるセルに分類するために、要求されたウェブページからドキュメントオブジェクトモデル（ＤＯＭ）ツリーが生成される。当業者その他にとって周知のごとく、ＤＯＭは、文書にアクセスし、操作する方法を定めたもので、ハイパーテキスト文書のナビゲーションを容易にし、それを可能にする。この方法は、ＤＯＭツリー上のノードを全探索し、コンテンツの位置を推定して、コンテンツを分割するセパレータを特定することによって、コンテンツを異なるセルに分類する。コンテンツが異なるセルに分類されると、ウェブページは、ユーザが追加のスクリーンスペースを使って閲覧するための１つまたは複数のセルを選択できるようにレンダリングされる。
【００１０】
本発明のさらに別の態様は、コンピューティング装置、オペレーティングシステム、ウェブブラウザ、コンテンツディスプレイモジュール、グラフィカルユーザインタフェースを備えるシステムである。このシステムは、コンピューティング装置上で表示するウェブページを特定するユーザからの入力を受信するよう構成される。その後、システムは、１つまたは複数のセルを選択し、閲覧することができるようにするコードをウェブページに付加する。
【００１１】
上記の態様と本発明の多くの付加な利点は、添付の図面を参照しながら、以下の詳細な説明を読むことによって本発明がより良く理解される。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態は、小さな形状因子のコンピューティング装置上でウェブページを閲覧するためのシステム、方法およびコンピュータ読み取り可能媒体を提供する。より詳しくは、本発明は、あるシステムにおけるウェブブラウジングを、最初にウェブページが所定の倍率のオーバービューモードで表示されるような層状にする。ウェブページがオーバービューモードで表示されると、ユーザは、関係のあるコンテンツを特定するために設計されたコマンドを発行し、追加のスクリーンスペースを使ってこのコンテンツを表示する。
【００１３】
本発明を、主にＨＴＭＬ文書の処理という状況に関連して説明するが、当業者その他は、本発明が他のハイパーテキスト言語のほか、マップ、ブループリント、画像、スプレッドシート等、他の種類の文書にも適用できることを推測できるであろう。また、本発明を、主に小さな形状因子のコンピューティング装置に関連して説明する。しかしながら、本発明の態様は、一例として次のような他の状況についても適用できる。たとえば、ウェブページのデザイナがウェブページ上に広告を掲載することがますます増えているが、これはユーザにとって鬱陶しい。本発明によりサポートされるコマンドは、無関係なコンテンツを特定し、関係のあるコンテンツを追加のスクリーンスペースを使って表示させるような、どのコンピュータでも使用できる。別の例として、視覚障害を持つユーザは、本発明によってサポートされるコマンドを発行し、関係のあるコンテンツをより詳細に表示することができる。
【００１４】
以下の説明ではまず、本発明が実現されるシステムの概要を紹介する。次に、ユーザが関係のあるコンテンツを特定し、追加のスクリーンスペースを使ってこれを表示することができるように、ウェブブラウジングを階層化する方法について説明する。本明細書で提案する例は、これに限定されるものでも、開示されたとおりの詳細な形態に限定しようとするものでもない。同様に、本明細書に記載するステップは、他のステップもしくはステップの組み合わせと替えることによって同じ結果を達成することもできる。
【００１５】
図１に関する以下の説明は、本発明が実現される１つの適当なコンピュータシステム１００の概要の例を提案しようとするものである。図のコンピュータシステム１００は、複数のクライアントコンピューティング装置１０２Ａ，１０２Ｂ，１０２Ｃおよびウェブサーバ１０４を備える。ウェブサーバ１０４は、インターネットを介してウェブコンテンツを提供する機構と関連するコンピュータであってよい。クライアントコンピューティング装置は、タブレットパーソナルコンピュータ１０２Ａ、携帯情報端末（ＰＤＡ）１０２Ｂ、電話１０２Ｃとして描かれている。クライアントコンピューティング装置は、コンピュータシステム１００のユーザ１０６と関連することができる。自明なことであるが、これらのクライアントコンピューティング装置は、一例にすぎず、これに限定するものと考えるべきではない。
【００１６】
図１のクライアントコンピューティング装置とサーバは、ネットワーク１０８を通じて電子的に交信するように構成されている。ネットワーク１０８は、ＬＡＮあるいは、広域ネットワーク（ＷＡＮ）またはインターネット等の、より規模の大きいネットワークであるかもしれない。当業者その他にとって周知のごとく、コンピュータシステム１００は、クライアントコンピューティング装置１０２Ａ，１０２Ｂ，１０２Ｃとウェブサーバ１０４との間で文書、コマンドおよびその他の種類のデータを交換するよう構成されているかもしれない。当業者その他であれば推測できるように、図１のコンピュータシステム１００は、本発明の実現のために適した１つのシステムの簡略化された例である。
【００１７】
本発明に従って作成されるソフトウェアが図１に示されるような種類のコンピュータシステム１００において実現されると、このソフトウェアによって、小さな形状因子のコンピューティング装置のユーザが、より大きなコンピューティング装置用として設計されたウェブページを容易に閲覧する方法が得られる。たとえば、本発明の１つの実施形態において、ユーザはウェブページが所定の倍率で表示するよう要求するかもしれない。この要求を受信したことに応答して、ウェブページはウェブサーバ１０４から、ネットワーク１０８を介して、１つまたは複数のクライアントコンピューティング装置１０２Ａ，１０２Ｂまたは１０２Ｃに伝送される。この伝送が完了すると、ウェブページ上のコンテンツが異なるセルに分類されて表示される。別の実施形態によれば、ユーザは表示されたウェブページ上の関係するコンテンツ（つまり、セル）を特定するコマンドを発行するかもしれない。コマンドが発行されると、ウェブページはもう一度レンダリングされ、関係するコンテンツが追加のスクリーンスペースを使って表示される。
【００１８】
本発明の実施形態を説明するための状況を提案するために、図２として、図１に示されるクライアントコンピューティング装置１０２Ａの機能ブロック図を示す。クライアントコンピューティング装置１２０Ａのコンポーネントは、オペレーティングシステム２００、コンテンツディスプレイモジュール２０４およびグラフィカルユーザインタフェース２０６を有するウェブブラウザ２０２備える。コンピューティング装置１０２Ａは、たとえば、タブレットパーソナルコンピュータ、ハンドヘルドコンピューティング装置、携帯情報端末、携帯電話、独立型メモリ装置、ある種のメモリを備える電子装置等、さまざまなコンピューティング装置のいずれでもよい。説明を容易にするために、また本発明を理解する上で重要ではないため、図２では、コンピューティング装置１０２Ａの一般的なコンポーネント、たとえば、ディスプレイ、中央処理装置等が描かれていない。また、図２には、コンピューティング装置１０２Ａに接続されているかもしれない他のコンピューティング装置も示されていない。
【００１９】
図２に見られるように、コンピューティング装置１０２Ａは、コンピューティング装置１０２Ａの一般的な動作を管理し、ウェブブラウザ２０２等のプログラムによって要求されたサービスとリソースを提供するオペレーティングシステム２００を格納する。オペレーティングシステム２００は、Ｍｉｃｒｏｓｏｆｔ（登録商標）オペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステムあるいはＬｉｎｕｘ（登録商標）オペレーティングシステムのような市販の汎用オペレーティングシステムでよい。また、オペレーティングシステム２００は、Ｐａｌｍ（登録商標）オペレーティングシステム等、小さな形状因子のコンピューティング装置用に特に設計されているかもしれない。当業者その他にとって周知のごとく、オペレーティングシステムは、コンピューティング装置のＩ／Ｏ（入力と出力）の管理、メモリに格納されたデータのトラッキング等の基本的タスクを実行する。本発明に関して、オペレーティングシステム２００は、ウェブブラウザ２０２がリモートコンピューティング装置と交信できるようなネットワーク接続をサポートする。
【００２０】
コンピューティング装置１０２Ａはまた、ウェブページを位置づけ、表示するために使用されるコンピュータプログラムであるウェブブラウザ２０２を格納する。より詳しくは、ウェブブラウザはＨＴＭＬおよびその他、テキストやグラフィクスをユーザに対して表示する方法を定義するマークアップ言語を解釈する。当業者等にとって周知のごとく、ＨＴＭＬは、インターネット等のコンピュータネットワークに公表するための基本的言語である。また、ＨＴＭＬは構造化されたマークアップ言語であり、つまり、限定されたタグのグループを使ってウェブページの構成に関する基本的情報を伝えることを意味する。
【００２１】
図２に示されるように、ウェブブラウザ２０２は、ＨＴＭＬコードをウェブページにレンダリングするためのコンテンツディスプレイモジュール２０４を格納する。端的にいえば、コンテンツディスプレイモジュール２０４は、ウェブページの要求を受信したときにウェブブラウザウィンドウを生成する。要求されたウェブページのＨＴＭＬタグが解釈され、ウェブページのレイアウトが判断される。ウェブページのレイアウトがわかっている場合、コンテンツディスプレイモジュール２０４は、ウェブブラウザウィンドウに要求されたウェブページを表示させる。本発明の状況において、コンテンツディスプレイモジュール２０４は、要求されたウェブページがまず所定の倍率のオーバービューモードで表示されるようにする。その後、コンテンツディスプレイモジュール２０４は、要求されたウェブページの中の、レンダリングしなおされ、追加のスクリーンスペースを使って表示されるセルを特定するコマンドをグラフィカルユーザインタフェース２０６から受け取ることができる。
【００２２】
ウェブブラウザ２０２はまた、ユーザと交信するためのグラフィカルユーザインタフェース（ＧＵＩ）２０６を格納する。当業者その他にとって周知のごとく、ＧＵＩはコンピュータのユーザと交信するための、コンピュータディスプレイ上のグラフィクスの使用を特徴とするＩ／Ｏシステムである。しばしば、ユーザは、入力ペン等の入力装置を使ってコンピュータディスプレイ上のポインタを操作し、移動させる。ポインタが指定の場所にあるときにユーザが入力装置を作動させると、情報がコンピューティング装置に入力される。したがって、ユーザは入力をコンピューティング装置に供給するのに、コマンドを格納し、あるいはキーボードタイピングの知識を持っている必要がない。図２に示すように、ＧＵＩ２０６はオペレーティングシステム２００と相互接続され、これと交信することができる。以下に詳しく説明するように、オペレーティングシステム２００は、ユーザが適応的閲覧コマンド（アダプティブ・ビューイング・コマンド: adaptive viewing command）を発生したことをＧＵＩ２０６に知らせる。これに応答し、ＧＵＩ２０６は適応的閲覧コマンドを解釈し、コンテンツディスプレイモジュール２０４にその適応的閲覧コマンドに従ってコンテンツを表示させる。
【００２３】
当業者にとって周知のごとく、図２は、ウェブページを表示し、ユーザコマンドにアクセスできる、１つのコンピューティング装置１０２Ａの簡略化された例である。コンピューティング装置１０２Ａとウェブブラウザ２０２の実際の実施形態には、図２に示されていない、あるいは図に関する説明文では述べられていない別のコンポーネントが設置される。また、図２は小さな形状因子のコンピューティング装置上でウェブページをレンダリングするための１つのコンポーネントアーキテクチャを示しているが、他のコンポーネントアーキテクチャも可能である。たとえば、ウェブページはリモートコンピューティング装置上でセルのグループに分割されてから、ユーザに関係するクライアントコンピューティング装置に伝送されるかもしれない。このような別の実施形態において、クライアントコンピューティング装置１０２Ａの、コンテンツディスプレイ２０４のようなコンポーネントは、ウェブサーバやプロキシサーバ等のリモートコンピュータ上に設置されているかもしれない。このように、図２は例にすぎず、限定するものではないと解釈すべきである。
【００２４】
ユーザは、さまざまな方法でコマンドを生成し、これをコンピューティング装置に入力することができる。たとえば、マウスを使ってポインタを動かし、「マウスのクリック」（つまり、マウスのボタンを押すこと）によってコマンドを発生することができる。マウスを使って生成されたコマンドの一例は、ユーザが「クリック・アンド・ドラッグ」を使ってコンピュータディスプレイ上に表示されたコンテンツを選択する場合の選択行動である。しかしながら、マウスは、基本的に常に持ち運ばれる小さな形状因子のコンピューティング装置についてはあまり使用されない。そこで、コンピューティング装置の中には、タッチセンシティブディスプレイに関して使用される入力ペンで入力を受けるよう設計されているものがある。本発明は、ポインタの移動方向を使ってユーザが利用できるコマンドを区別するタッチセンシティブディスプレイからのコマンドを受け入れる。本発明の１つの実施例において、コンピュータディスプレイ上で入力ペンが所定の量だけ回転させられると、ポインタが作動し、コマンドが特定される。本発明の別の実施例においては、入力ペンをコンピュータディスプレイから外すと、ポインタが作動し、コマンドが特定される。
【００２５】
本発明の１つの実施例において、タッチセンシティブディスプレイまたはその他の直接接触入力メカニズムもしくはマウス等の間接入力メカニズムから４つの適応的閲覧コマンドが受け入れられ、そのいずれによっても、ユーザは関係のあるコンテンツをより詳細に閲覧することができる。受け入れられる適応的閲覧コマンドは、（１）セル縮小、（２）コラム縮小、（３）セル拡張、（４）セル拡張およびズームである。これらのコマンドの各々とそれらがユーザに対して表示されたコンテンツに与える影響について、図３−１０を参照しながら以下に詳細に説明する。ここに示す例は、タッチセンシティブディスプレイ上で生成されたコマンドであるが、当業者であれば、他の入力装置を使って同様にコマンドを生成できることがわかるであろう。このように、以下に示す例は、例示のためにすぎず、限定するものではないと解釈すべきである。
【００２６】
説明のために、コンピュータディスプレイ３００の代表的な部分を図３に示す。より詳しくは、コンピュータディスプレイ３００の代表的な部分には、４つのセル３０６，３０８，３１０，３１２に分割されたウェブページ３０４を表示するウェブブラウザウィンドウ３０２が含まれる。コンピュータディスプレイ３００はまた、ポインタ３１４と、ポインタ３１４の動きを表す経路３１６を含む。ポインタ３１４の動きは、ポインタ３１４をセル３０６と３０８を通って動かし、長方形の選択領域３２０をユーザに対して表示させるための入力ペン３１８を使って発生させられる。図のように、ポインタ３１４の動きは、コンピュータディスプレイ３００の左下部分に向けられ、入力ペン３１８は、ポインタ３１４がセル３０８の中にあるときに回転させられる。
【００２７】
本発明は、ポインタ３１４の移動方向を使ってユーザが利用できる異なるコマンドを区別するタッチセンシティブディスプレイからコマンドを受け入れる。また、ユーザを支援するために、視覚的インディケータの形態でフィードバックが供給され、このインディケータから、選択されたセルと生成されるコマンドが容易に判断できる。たとえば、ポインタ３１４の移動により、コンピュータディスプレイ３００の一部を囲む長方形の選択領域３２０が表示される。選択されるセルは、入力ペン３１８が所定の量だけ回転させられたときに、一部分でも長方形の選択領域３２０の中に入るセルである。また、長方形の選択領域３２０は、生成されるコマンドをユーザが簡単に判断できるようにするためのフィードバックを供給する。たとえば、現在のポインタ３１４の移動方向が、コンピュータディスプレイ３００の左下部分に向かっているとすると、長方形の選択領域３２０は、１つの適応的閲覧コマンドに関連した特定の色の輪郭をもつ。反対に、ポインタ３１４を別の方向に動かすと、長方形の選択領域３２０は、別の適応的閲覧コマンドと関連する別の色の輪郭となる。
【００２８】
本発明の１つの実施例において、ユーザは、コンピュータディスプレイ３００の左下に向かうポインタ３１４の移動によってセル縮小のコマンドを特定する。ユーザがコンピュータティスプレイ３００上で入力ペン３１８を所定の量だけ回転させると、コンピューティング装置にコマンドが入力される。このように、図３に示すポインタ３１４の動きにより、セル縮小コマンドが生成され、セル３０６，３０８が選択セルとされる。以下にさらに詳しく説明するが、セル縮小コマンドにより、ウェブページ３０４は、選択されたセルを除いて表示される。そのかわりに、選択されたセルの場所に、スクリーンスペースの一部を占めるスペースホルダが設置され、追加のスクリーンスペースを使って関係のあるコンテンツを表示できるようになっている。たとえば、ウェブページは多くの場合、ポップアップ広告、派手なバナー広告、ユーザにとって目障りな不要な画像等のコンテンツを含む。この種の無関係なコンテンツを取り除くことにより、ユーザが関係のあるものとして特定するコンテンツにスクリーンスペースを使用することができる。
【００２９】
図４は、図３に示すコンピュータディスプレイ３００の中で、ユーザによって生成されたセル縮小コマンドのためにコンテンツが表示された後のサンプル部分を示す。図４に示されているように、セル縮小コマンドにより、選択されたセルの代わりに、置き換え対象のセル３０６，３０８に対応するスクリーンスペースの一部を占めるプレースホルダ４００，４０２が設置される。図４に示される例において、縮小されたセル３０６，３０８をプレースホルダ４００，４０２に置き換えることにより、選択されていないセル３１０，３１２がコンピュータディスプレイ３００上の追加領域を使って表示される。
【００３０】
以下に詳述するセル縮小コマンドとその他の適応的閲覧コマンドの詳細な影響は、特定のユーザ選好に依存しているかもしれない。たとえば、図３では、ウェブページ３０４がオーバービューモードで表示されており、ウェブページ３０４の幅全体を見ることができる。図４に示されるように、セル縮小コマンドによって、選択されるセルはプレースホルダに置き換えられる。その結果、選択されないセルのコンテンツは、コンピュータディスプレイ３００の追加領域を使って表示される。この例において、オーバービューモードの倍率レベルは、ウェブページ全体が表示されるように設定された。しかしながら、ユーザは倍率レベルを別の数値に設定し、一部のコンテンツがオーバービューで、あるいは適応的閲覧コマンドが発行された後には見ることができないようにしてもよい。
【００３１】
図５、図６に関して、コラム縮小コマンドとこのコマンドがユーザに対して表示されるコンテンツに与える影響について説明する。図５は、図３に示すコンピュータディスプレイ３００と同じ代表的部分を示しており、ウェブブラウザウィンドウ３０２、ウェブページ３０４、セル３０６，３０８，３１０，３１２およびポインタ３１４を含む。図５に示すように、入力ペン３１８は、経路５００に沿ってゾーン３１０内を移動し、これによって長方形の選択領域５０２がユーザに対して表示される。また、ポインタ３１４の動きは、コンピュータディスプレイ３００の右下に向かい、ポインタ３１４がセル３１０内にあるときに入力ペン３１８が回転させられる。本発明の実施例において、ユーザは、ポインタ３１４をコンピュータディスプレイ３００の右下に向かって移動させ、入力ペン３１８を所定の量だけ回転させることによって、コラム縮小の適応的閲覧コマンドを生成する。このように、図５に示す入力ペン３１８の動きにより、セル３１０と関連するコラムが選択された状態で、コラム縮小コマンドが生成される。
【００３２】
コラムは、コンピュータディスプレイ上の同じ水平軸を占める１つまたは複数のセルよりなる。このように、図５の選択されたコラムは、セル３１０，３１２よりなる。図６は、ユーザにより生成されたコラム縮小コマンドの結果としてコンテンツが表示された後の、図５に示されたコンピュータディスプレイ３００のサンプル部分を示す。図６に示されているように、コラム縮小コマンドにより、選択されたコラムの中のセルはプレースホルダ６００，６０２に置き換えられる。上記のセル縮小コマンドと同様に、コラム縮小コマンドにより、選択されないセル３０６，３０８がコンピュータディスプレイ３００上の追加領域を使って表示される。
【００３３】
図７、図８に関して、セル拡張コマンドについて説明する。図７は、図３、図５に示されているコンピュータディスプレイ３００と同じ代表的部分を示しており、ウェブブラウザウィンドウ３０２、ウェブページ３０４、セル３０６，３０８，３１０，３１２、ポインタ３１４を備える。図のように、入力ペン３１８は、経路７００に沿ってゾーン３１０内を移動し、これによって長方形の選択領域７０２がユーザに対して表示される。また、ポインタ３１４の移動がコンピュータディスプレイ３００の右上部分に向けられ、ポインタ３１４がセル３１０の中にあるときに入力ペン３１８が回転させられる。本発明の実施例において、ユーザは、コンピュータディスプレイ３００の右上部分に向かってポインタ３１４を動かし、入力ペン３１８を所定の量だけ回転させることにより、セル拡張の適応的閲覧コマンドを発生する。このように、図７に示す入力ペン３１８により、セル３１０を選択されたセルとして、セル拡張コマンドが生成される。
【００３４】
図８は、ユーザによって生成されたセル拡張コマンドの結果としてコンテンツが表示された後の、図７に示されたコンピュータディスプレイ３００のサンプル部分を示す。図８に示されるように、セル拡張コマンドは、上記のセル縮小コマンドの逆である。言い換えれば、セル拡張コマンドにより、選択されないセルは、プレースホルダ８００，８０２，８０４に置き換えられ、その結果、選択されたセル３１０はコンピュータディスプレイ３００上の追加領域を使って表示される。
【００３５】
図９、図１０に関して、セル拡張およびズームコマンドについて説明する。図９は、図３、図５、図７に示されるコンピュータディスプレイ３００と同じ代表的部分を示しており、ウェブブラウザウィンドウ３０２、ウェブページ３０４、セル３０６，３０８，３１０，３１２およびポインタ３１４を含む。図のように、入力ペン３１８は、経路９００に沿ってゾーン３１０内を移動し、これによって長方形の選択領域９０２が表示される。また、ポインタ３１４の動きは、コンピュータディスプレイ３００の左上に向かい、ポインタ３１４がセル３１０内にあるときに入力ペン３１８が回転させられる。本発明の実施例において、ユーザは、ポインタ３１４をコンピュータディスプレイ３００の左上に向かって移動させ、入力ペン３１８を所定の量だけ回転させることによって、セル拡張およびズームコマンドを生成する。このように、図９に示す入力ペン３１８の動きにより、セル３１０が選択された状態で、セル拡張およびズームコマンドが生成される。
【００３６】
図１０は、ユーザによって生成されたセル拡張およびズームコマンドの結果としてコンテンツが表示された後の、図９に示すコンピュータディスプレイ３００のサンプル部分を示す。上記のセル拡張コマンドと同様に、セル拡張およびズームコマンドにより、選択されないセルはプレースホルダ１０００，１００２，１００４に置き換えられ、その結果、選択されたセル３１０はコンピュータディスプレイ３００上の追加領域を使って表示される。しかしながら、セル拡張およびズームコマンドにより、ユーザは選択されたコンテンツを表示する倍率レベルを設定することもできる。本発明の実施例において、セル拡張およびズームコマンドが発生された後に選択されたセルを表示する倍率は、ＧＵＩ２０６（図２）からアクセスし、変更することのできるユーザ選好である。
【００３７】
上記のようなコマンド生成方法は例にすぎず、ユーザのニーズに合わせて変更可能であるとよく理解すべきである。たとえば、図３、図５、図７、図９は、右利きのユーザのため（つまり、入力ペンが時計回りの方向に回転される）のコマンドを生成する方法である。本発明の範囲から逸脱することなく、コマンドの生成方法を変更することができる。たとえば、左利きのユーザは、入力ペンが反時計回りに回転されるとポインタが作動するように、ユーザ選好を変更することができる。また、左利きのユーザは、コマンドの区別をつける方法（つまり、ポインタの移動方向）が右利きのユーザによって使用されるポインタの移動方向に対して「鏡」となるように、ユーザ選好を変更することができる。より一般的に言えば、ユーザによって生成される入力と本発明により実行されるコマンドとの間のマッピングを、ユーザのニーズを満たすように変更できる。
【００３８】
図３−図１０に示されたコマンド生成の実施例は、前述のもの、つまり（ａ）セル縮小、（２）コラム縮小、（３）セル拡張、（４）セル拡張およびズームの各コマンド、とは異なる一連のコマンドを生成するためにも使用できる。たとえば、本発明のこの態様は、スプレッドシートプログラムに関連して使用することができる。ユーザは、ポインタをコンピュータディスプレイ内で移動させ、ポインタを動作させることによって、スプレッドシートプログラムの中でコマンドを生成することができる。上述の実施形態と同様に、ポインタの移動方向が、発行されるコマンドを決定する。この例において、ユーザまたは開発者は、ポインタがコンピュータディスプレイの右上部分に向かって移動させられた後にポインタが作動されると、「削除」のコマンドが発行されるように決定できる。より一般的にいえば、本発明に関連して使用されるどのようなアプリケーションでも、ポインタの移動方向に基づいて、一組のコマンドが発行されるように指定することができる。
【００３９】
本発明の別の実施形態では、上記の適応的閲覧コマンドが別の入力メカニズムを使って生成される。たとえば、小さな形状因子のコンピューティング装置（つまり、スマートフォン）は、マウスや入力ペンのような装置での入力を取得しない。その代わりに、コンピューティング装置上のボタンを使ってコマンドが特定される。この実施形態において、上記のような適応的閲覧コマンド、つまり（１）セル縮小、（２）コラム縮小、（３）セル拡張、（４）セル拡張およびズームの各コマンド、は、スマートフォンのボタン等、埋め込まれたハードウェアシステムから発行できる。別の例として、ウェブページは、コマンドを表す視覚的インディケータで表示することができる。この例において、ユーザは入力ペンを使って視覚的インディケータを「タップ」し（軽くたたき）、その視覚的インディケータによって表されるコマンドを発行させることができる。より一般的にいえば、小さな形状因子のコンピューティング装置は、装置のサイズと目的に応じて、さまざまな入力メカニズムを採用して設計される。本発明によってサポートされる適応的閲覧コマンドは、これらの入力メカニズムのいずれからでも生成できる。
【００４０】
適応的閲覧コマンドにより、セルの代わりに１つまたは複数のプレースホルダが設置された状態でウェブページが表示されると、ユーザはウェブページをよりよく見られるように、追加のコマンドを実行させるかもしれない。言い換えれば、ユーザに対して表示されるセルは、適応的閲覧コマンドがすでに生成された後にさらに分割されるかもしれない。この例において、上記の適応的閲覧コマンド、つまり（１）セル縮小、（２）コラム縮小、（３）セル拡張、（４）セル拡張およびズームの各コマンドは、再分割されたセルでコンテンツを選択し、閲覧するのに使用することができる。また、プレースホルダはユーザにより生成される別のコマンドで復帰させられる。たとえば、本発明は、入力ペンの「タップ」を使ってハイパーリンクを追跡する周知のコマンドを含む、タッチセンシティブディスプレイからのコマンドを受け入れる。同じコマンドを、ユーザが復帰を望む縮小されたセルを特定するために受け入れることができる。言い換えれば、ユーザは縮小されたセルを表すプレースホルダを「タップ」することができる。これに応答し、特定されたセルを含むウェブページが表示される。
【００４１】
本発明は、ほとんどのウェブブラウザプログラムから利用できる、その他の機能に関連して使用してもよい。たとえば、多くのウェブブラウザにより、ユーザはウェブページに「ブックマーク」を付け、後にそのウェブページを容易に呼び戻すことができるようにすることができる。本発明に関して、ウェブページは、１つまたは複数のセルをプレースホルダと置き換えて表示される。このような変更されたウェブページにも「ブックマーク」が付けられ、後に呼び戻される。本発明のこの態様により、小さな形状因子のコンピューティング装置のユーザは、繰り返しコマンドを発行することなく、関係するコンテンツに直接アクセスできる。
【００４２】
図１１は、本発明にしたがって形成される適応的レンダリング方法１１００の一例を示すフロー図である。端的に言えば、適用的レンダリング方法１１００は、ＨＴＴＰプロトコルを利用するウェブページに関する要求等の要求を受け取る。この要求の受信に応答し、方法１１００は要求されたウェブページをセルに分割する。要求されたウェブページが表示されると、適応的レンダリング方法１１００は、そのウェブページの上で、追加のスクリーンスペースで表示されるセルのサブセットを特定する適応的閲覧コマンドを受け入れる。図１−図１０とこれに伴う説明を引き続き参照しながら、図１１に示す適応的レンダリング方法１１００について説明する。
【００４３】
決定ブロック１１０２において、適用的レンダリング方法１１００はアイドル状態のままで、ウェブページがサーバベースのコンピューティング装置から転送されるのを待つ。当業者その他にとって周知のごとく、ユーザは既存のウェブブラウザプログラム、電子メールプログラムまたはその他、ネットワーク上での交信が可能なクライアントベースのソフトウェアアプリケーションを使って、ウェブページ要求を発生することができる。本発明との関連において、要求は、クライアントコンピューティング装置１０２Ａ，１０２Ｂ，１０２Ｃ（図１）等のクライアントベースのソフトウェアアプリケーションを使って、クライアントコンピューティング装置から生成される。これに応答し、ウェブサーバ１０４等のサーバコンピューティング装置は、要求されたウェブページを、要求の発生源となったクライアントコンピューティング装置に送り返す。
【００４４】
ブロック１１０４において、本発明の１つの態様は、コンテンツをセルの集合に分割するプログラムコードを、要求されたウェブページに追加する。ウェブページをセルの集合に分割する方法の実施形態は、後に図１２を参照しながら説明する。ウェブページがユーザに対して表示されると、追加のプログラムコードにより、ユーザは適応的閲覧コマンドを発行し、ウェブページ上の一部のセルを追加のスクリーンスペースを使って表示させることができる。以下にさらに詳述するように、ブロック１１０４は、クライアントコンピューティング装置、またはウェブサーバやプロキシサーバ等のリモートコンピューティング装置上で実現できる。
【００４５】
ブロック１１０４、１１０６において、既存のシステム（つまり、すでに実現されているシステム）が要求されたウェブページを表示する。当業者その他にとって周知のごとく、ウェブページは、構成された文書交換のために作られた、マークアップ言語等の標準化された表記法で格納される。ＨＴＭＬは、「タグ」と称される特別に指定された構成を使ってコンテンツの境界を決める（つまり「マークアップ」する）マークアップ言語の一例である。より詳しくは、タグは通常、ウェブページのレイアウトに関する命令を与える、特別な文字で囲まれたストリングで構成される。たとえば、“＜ｔｉｔｌｅ＞”タグの中に挿入される単語は、ウェブページのタイトルバーに表示される。ブロック１１０６では、既存のシステムが要求されたウェブページのＨＴＭＬコードを解析し、そのページに埋め込まれたＨＴＭＬタグにしたがってコンテンツを表示する。また、既存のシステムが、ユーザ選好として格納された所定の倍率レベルでそのページを表示する。
【００４６】
ブロック１１０８において、適応的レンダリング方法１１００はアイドル状態のままで、適応的閲覧コマンドを待つ。図３−図１０に関して前述したとおり、本発明は、（１）セル縮小、（２）コラム縮小、（３）セル拡張、（４）セル拡張およびズームの各コマンドを受け入れる。１つの実施形態において、これら４つのコマンドは、タッチセンシティブディスプレイあるいはその他の直接接触入力メカニズムから受け入れられる。当業者その他にとって周知のごとく、ユーザは入力装置を作動させてポインタを操作し、移動させ、ポインタをコンピュータディスプレイ上の指定場所で作動させることができる。オペレーティングシステムは、ポインタのイベントをモニタし、これらのイベントに応答して動作を行う、ウェブブラウザ２０２等のコンピュータプログラムのためのメカニズムを提供する。
【００４７】
適応的レンダリング方法１１００は、ブロック１１１０において、ブロック１１０８で受け取ったユーザにより生成された適応的閲覧コマンドに応答して表示されるセルを特定する。オペレーティングシステムが、適応的閲覧コマンドを示すイベントを受け取ると、そのイベントとイベントデータが適応的レンダリング方法１１００に伝えられる。より詳しくは、ポインタの動作イベントが発生する（つまり、コンピュータディスプレイ上でポインタを所定の量だけ回転させる）と、ポインタの移動方向と長方形の選択領域が占める座標位置が伝えられる。ポインタの移動方向と長方形の選択領域が占める座標位置から、適応的レンダリング方法１１００は、表示されるセルを特定することができる。言い換えれば、ポインタの移動方向は、生成された適応的閲覧コマンドを示す。また、長方形の選択領域が占める座標から、ユーザが選択したセルを容易に特定できる。これら２つの入力、つまり、生成されたコマンドと選択されたセルから、適応的レンダリング方法１１００は、当業者に一般に知られている数学関数と方法を使って表示されるセルのサブセットを特定することができる。
【００４８】
ブロック１１１２において、置き換えられるセルのプレースホルダから見られるセルサマリ(cell summary)が生成される。セルサマリは、ユーザがセルを表示するか否かを判断するのを助けるためにセルのプレビューとなる。一般に、ウェブページは、重要なコンテンツが重要性の低いコンテンツより目立たせて表示されるように設計されている。ブロック１１１２において、適応的レンダリング方法１１００は、プレースホルダの中に表示されるセルサマリを特定する。要求されたウェブページの中のＨＴＭＬタグが解析され、ウェブページ上で、他のコンテンツより目立つように表示されるよう設計されたコンテンツが特定される。目立つように表示されるコンテンツを特定するために、個別に、あるいはまとめて使用することのできる要素としては、大きなフォントサイズ、太字または下線付きのテキスト、およびセル内のコンテンツの位置がある。目立つように表示されるよう設計されたコンテンツは、セルサマリとして抽出され、プレースホルダの内側に位置づけられる。
【００４９】
ブロック１１１４において、既存のシステムは、ブロック１１０８で受け取った適応的閲覧コマンドに従ってウェブページを表示する。ブロック１１０４に関して行った説明と同様に、既存のシステムがＨＴＭＬコードを解析し、そのＨＴＭＬコードにしたがってウェブページを生成する。ある例では、表示されるセルの倍率レベルはユーザによって設定される。たとえば、拡張およびズームのコマンドにより、ユーザは倍率レベルをどの数値にも設定できる。別の例では、要求されたセルはデフォルトの倍率で表示される。これにかかわらず、関係のあるコンテンツを表示するのに、追加のスクリーンスペースを利用することができる。これは、ブロック１１０８で受け取った適応的閲覧コマンドの結果として、少なくとも１つのセルが「縮小された」（つまり、プレースホルダに置き換えられた）からである。
【００５０】
決定ブロック１１１６において、適応的レンダリング方法１１００はアイドル状態のままで、コマンドを待つ。１つまたは複数のプレースホルダが含まれた状態でウェブページが表示されると、ユーザは、追加の適応的閲覧コマンドを生成するかもしれない。また、ユーザは、入力ペンを使って縮小されたセルを表すプレースホルダの上を「タップする」ことによって、以前に縮小されたセルとともにウェブページを表示させるかもしれない。いずれの場合も、オペレーティングシステムが本発明により扱われるコマンド（つまり、イベント）を受け取ると、適応的レンダリング方法１１００は、イベントデータとともにそのイベントの通知を取得する。コマンドを受け取ると、適応的レンダリング方法１１００は、上記のブロック１１１０に戻る。反対に、コマンドを受け取らないと、適応的レンダリング方法はブロック１１２０に進み、ここで終了する。本発明の実際の実施形態において、方法１１００は、ユーザによっていつでも終了できる。たとえば、方法１１００は、ウェブブラウザに関連して実現される。当業者その他にとって周知のごとく、ユーザは、ウェブブラウザウィンドウから利用できるグラフィカルユーザインタフェースのオブジェクトを使って、ウェブブラウザの実行を終了できる。
【００５１】
適応的レンダリング方法１１００のブロック１１１０から１１１４は、ウェブページからのセルのサブセットを表示するプロセスを示しているが、同じプロセスを使って、セルの再分割部分を表示することができる。しかしながら、ブロック１１０４においてウェブページをセルに分割する代わりに、セルはセルの再分割部分に分割される。次に、セルの再分割部分は、適応的レンダリング方法１１００を使って選択、表示される基本単位となる。以下に詳しく説明するように、セパレータを使ってセルとセルとの再分割部分の両方の境界線を特定する。したがって、適応的閲覧コマンドを受け入れ、これらのコマンドに応答してセルのサブセットまたはセルの再分割部分を表示するプロセスは同じである。
【００５２】
本発明の実現は、図１１に示される方法１１００に限られず、他の例による方法は、上記とは異なる順番でステップを実行できる。たとえば、本発明のある態様は、ユーザと関連するクライアントコンピューティング装置、またはウェブサーバやプロキシサーバ等のリモートコンピューティング装置上で実現される。図１１は、ウェブページがまずクライアントコンピューティング装置に伝送されてから（ブロック１１０２）、クライアントコンピューティング装置上でセルの集合に分割される（ブロック１１０４）。ウェブページがウェブブラウザ上でセルの集団に分割されると、ブロック１１０２，１１０４は、図１１に示されるものと逆の順番で実行される。
【００５３】
図１２は、本発明にしたがって形成される、つなぎ合わせ（スプライシング: splicing）方法の一例１２００を説明するフロー図である。（図１１のブロック１１０４について）すでに述べたように、本発明のこの態様は、ページをセルの集団に分割するコードを、要求されたウェブページに追加し、拡大縮小可能なページ構造を生成する。
【００５４】
図１２に示すように、つなぎ合わせ方法１２００は、ブロック１２０２で始まり、ここでは要求されたウェブページから、ＨＴＭＬパーサを使ってドキュメントオブジェクトモデル（ＤＯＭ）ツリーが生成される。ＤＯＭにおいて、ワールド・ワイド・ウェブ・コンソーシアムは、ＨＴＭＬ文書のようなマークアップ文書を処理するための完全なオブジェクトの集合を確定した。当業者その他にとって周知のごとく、ＨＴＭＬパーサはＨＴＭＬ文書からＤＯＭツリーを生成するのに使用される。ＨＴＭＬ文書をＤＯＭツリーで表すことにより、ＨＴＭＬ文書に関する情報を容易に抽出できる。また、ＤＯＭツリーは編集可能性が高く、変更を加えて完全なＨＴＭＬ文書を再構築するのに使用することができる。
【００５５】
ブロック１２０４において、ウェブページにおいてコンテンツブロックが占める位置と寸法に関する情報が特定される。一般に、ウェブページの作者は、空白スペースのような視覚的セパレータを使ってコンテンツを分割する。たとえば、ウェブページデザイナの間で一般的な方法は、ウェブページの左側に沿って、リンクを含むナビゲーションバーを設けることである。より一般的にいえば、ウェブページはしばしば、空白スペースによって一般にヘッダ、左サイドバー、右サイドバー、本体、フッタとして知られるコンテンツブロックに分割されるようなテンプレートを使って設計される。ブロック１２０４において、ウェブページのコンテンツの形状、大きさ、位置および関連する視覚的セパレータの位置を分析することによって、コンテンツブロックが占める座標が特定される。たとえば、ウェブページの最上部付近に位置し、水平の視覚的セパレータで他のコンテンツと分離されているコンテンツは、ヘッダコンテンツブロックとして特定されるかもしれない。しかしながら、ウェブページの最上部付近には複数の視覚的セパレータがあるかもしれない。簡単に言えば、ウェブページの最上部に近い位置にあり、平らで広い領域を囲む視覚的セパレータは、ヘッダのための境界線として特定される。フッタ、本体、左サイドバー、右サイドバーは、視覚的セパレータに関連したコンテンツブロックの形状、大きさ、位置に応じて同様の方法で特定できる。当業者その他にとって周知のごとく、ウェブページには必ずしも上記のコンテンツブロックのすべてが含まれるとは限らない。したがって、ブロック１２０４において、この方法は、１つまたは複数のハイレベルのコンテンツブロックが存在しないと判断する場合がある。コンテンツブロックが占める座標を特定するシステムと方法の詳細な説明は、本願と同じ譲受人に譲渡された、２００２年１１月２７日出願の「小さな形状因子のウェブブラウジング」と題する特許文献１に記載されている。
【００５６】
ブロック１２０６において、スプライシング方法１２００は、ブロック１２０２で生成されたＤＯＭツリー上のノードを選択する。前述のように、ウェブページ内のコンテンツは、ＤＯＭツリー上のノードとして格納される。選択された各ノードについて、スプライシング方法１２００は、選択されたノードに格納されたコンテンツを、そのコンテンツが表示されるコンテンツブロックと関連付ける。
【００５７】
ブロック１２０８において、選択されたノードに格納されたコンテンツの位置および寸法の情報が、コンテンツブロックの位置および寸法の情報と比較される。（ブロック１２０４で）すでに説明したように、コンテンツブロックの位置は、ウェブページ上のコンテンツの形状、大きさ、場所とコンテンツを区画分けする視覚的セパレータを分析することによって判断される。ブロック１２０８において、スプライシング方法は、ＤＯＭツリー内に格納されたコンテンツの位置を、異なるコンテンツブロックが占める位置および寸法の情報と比較する。この比較を通じて、この方法は、ＤＯＭツリー内の各ノードを、関係するコンテンツブロックに分類することができる。
【００５８】
決定ブロック１２１０において、ＤＯＭツリー内の追加ノードが選択されるか否かを判断するための試験が行われる。本発明の実施例において、ＤＯＭツリーの全体をトラバースし、すべてのノードが選択され、コンテンツブロックに分類されるようにする。ツリーのデータストラクチャをトラバースするためのアルゴリズムは当業界で周知であるため、ＤＯＭツリーをトラバースするのに使用されるアルゴリズムについては、ここでは詳細には説明しない。ＤＯＭツリー内のすくなくとも１つのノードが選択されていないと、スプライシング方法１２００はブロック１２０６に戻り、すべてのノードが選択されるまでブロック１２０６から１２１０を繰り返す。反対に、ＤＯＭツリー内のすべてのノードが選択されると、スプライシング方法１２００は、下記のブロック１２１２に進む。
【００５９】
前述のように、ＨＴＭＬコードは、ページが表示される前に、要求されたウェブページに追加される。そのウェブページ上のコンテンツは、本発明によって変更されない。しかしながら、ネストされた表(nested table)が生成され、コンテンツブロックはネストされた表のセルの中に設置される。ネストされた表の中のセルの境界は、コンテンツブロックを区画分けする視覚的セパレータに対応する。以下にさらに詳しく説明するように、コンテンツブロックを格納し、ネストされた表を生成するのにバイナリツリーが使用される。
【００６０】
ブロック１２１２において、スプライシング方法１２００は、コンテンツブロックがツリーのリーフノードに格納された状態のバイナリツリーデータストラクチャを生成する。ブロック１２０８に関してすでに説明したように、ＤＯＭツリーのノードに格納されたコンテンツは、コンテンツブロックにソートされる。ブロック１２１４において、スプライシング方法１２００は、ソートされたコンテンツブロックを、高速トラバース用に設計されたバイナリツリーに格納する。コンテンツブロックがこのようにバイナリツリーのリーフノードの中に格納されると、コンテンツブロックをセルの集合に区画分けするネストされた表が容易に生成される。当業者その他にとって周知のごとく、バイナリツリーは、コンテンツブロックを格納するのに適した１つのデータストラクチャであり、ここで述べる実施形態は一例にすぎず、限定するものとは解釈すべきではない。
【００６１】
ブロック１２１４において、適応的閲覧方法１１００（図１１について上述した）にしたがってウェブページ上で表示されるのに適したネストされた表が生成される。１つの実施例において、ブロック１２１２において生成されたバイナリツリーは、再帰的トラバーサルアルゴリズムを使ってトラバースされる。バイナリツリー内の各コンテンツブロックは、分析され、コンテンツブロックが水平、垂直のどちらの方向かを判断する。コンテンツブロックが水平方向であれば、左右のセルを持つ水平の表が作成される。これに対し、コンテンツブロックが垂直方向であれば、上下のセルを持つ垂直の表が作成される。いずれの場合も、バイナリツリーのリーフノードに格納されたコンテンツブロックを表すデータは、新たに作成された表の１つのセルの中に設置される。残りのセルは、コンテンツブロックを分割するプロセスを継続し、追加の（つまりネストされた）表を生成するのに使用される。バイナリツリー内のすべてのコンテンツブロックが分析されると、ネストされた表は、ユーザに対して表示されるのに適したウェブページの中に設置される。
【００６２】
別の実施形態において、コンテンツブロックは、ネストされていない標準的な表に挿入される。この実施形態において、バイナリツリーはブロック１２１２では作成されず、所定の数のリーフノードを使用しないツリーデータストラクチャを使ってコンテンツブロックが格納される。この実施形態は、上述の実施形態より速度が遅いが、ネストされていない標準的な表を作成するのに適しているという利点がある。当業者その他にとって周知のごとく、ネストされた表は、一部の、特に古いウェブブラウザにとって表示しにくいことがある。
【００６３】
いくつかの例において、コンテンツブロックは、これらがそのウェブページ上の別のコンテンツブロックと比較して小さくても、検出される。ブロック１２１６において、スプライシング方法１２００は、小さなコンテンツブロックを表示することが望ましくないため、いくつかのコンテンツブロックをマージする。より詳しくは、本発明は、コンテンツブロックの大きさおよび位置を分析し、２つ以上のブロックをマージすべきか否か判断する。２つのブロックが隣接し、その高さと幅の両方が所定の閾値より低い場合、スプライシング方法１２００は、これら２つのコンテンツブロックを単独のコンテンツブロックにマージする。次に、スプライシング方法はブロック１２１８に進み、ここで終了する。
【００６４】
本発明の実現は、図１２に示す方法の一例１２００に限定されない。方法１２００には、追加の新たな動作を含めたり、あるいは一部の動作を除いたりすることができる。たとえば、ウェブページのデザイナは、ウェブページ上のコンテンツを分割する際、暗黙的セパレータ（つまり、空白のスペース）に加え、明示的セパレータを特定してもよい。これらの明示的なセパレータは、ＨＴＭＬ文書に埋め込まれたタグから特定できる。当業者その他にとって周知のごとく、明示的セパレータは、ハイレベルのコンテンツブロックを分割するためには普通使用されない。その代わり、明示的セパレータは通常、セル内のコンテンツをセルの再分割の集合に分離するのに使用される。このように、ブロック１２０４において、スプライシング方法１２００は、ウェブページ内のタグとして埋め込まれた明示的セパレータを特定するよう構成できる。明示的セパレータは通常、コンテンツの小さな領域を分割するのに使用されるため、この実施形態は、セルをセルの再分割の集団に分割するときに使用される場合に、最も適している。したがって、図１２に示すスプライシング方法１２００は本発明の実施形態を実現する方法の一例を提案する。
【００６５】
また、図１２に示す方法の一例１２００は、図のものよりステップが多くても、または少なくても実行される。たとえば、本発明の１つの態様により、開発者は、セルをウェブページ上のどこに位置づけるかを特定できる。この例において、ブロック１２０２−１２１０を、方法１２００がセルの位置を開発者が定めたように特定するステップに置き換えることができる。
【００６６】
本発明の好ましい実施形態を図にし、説明したが、本発明の精神と範囲から逸脱することなく、各種の変更をこれらに加えることができると推測されるであろう。
【００６７】
排他的な特性と特権が請求される本発明の実施形態は、特許請求範囲で定義される。
【図面の簡単な説明】
【００６８】
【図１】クライアント−サーバソフトウェアアプリケーションを介した交信を可能にする多数のクライアントコンピューティング装置とサーバを備える、ネットワークに接続された多数のコンピューティング装置を示す図である。
【図２】図１に示すクライアントコンピューティング装置の一例の機能ブロック図である。
【図３】本発明にしたがって適応的閲覧コマンドを発行するウェブブラウザウィンドウの略図である。
【図４】図３のユーザによって生成された適応的閲覧コマンドに従ってコンテンツが表示されているウェブブラウザウィンドウの略図である。
【図５】ユーザが本発明にしたがって適応的閲覧コマンドを発行するウェブブラウザウィンドウの略図である。
【図６】図５のユーザによって生成された適応的閲覧コマンドに従ってコンテンツが表示されているウェブブラウザウィンドウの略図である。
【図７】ユーザが本発明にしたがって適応的閲覧コマンドを発行するウェブブラウザウィンドウの略図である。
【図８】図７のユーザによって生成された適応的閲覧コマンドに従ってコンテンツが表示されているウェブブラウザウィンドウの略図である。
【図９】ユーザが本発明にしたがって適応的閲覧コマンドを発行するウェブブラウザウィンドウの略図である。
【図１０】図９のユーザによって生成された適応的閲覧コマンドに従ってコンテンツが表示されているウェブブラウザウィンドウの略図である。
【図１１】適応的閲覧コマンドに応答してウェブページを表示するための方法の一例のフロー図である。
【図１２】図１１に示す方法に従ってセルの選択を可能にする、ネストされた表を発生するための方法の一例のフロー図である。
【符号の説明】
【００６９】
１００  コンピュータシステム，１０２  クライアントコンピューティング装置，１０４  ウェブサーバ，１０６  ユーザ，１０８  ネットワーク，２００  オペレーティングシステム、２０２  ウェブブラウザ、２０４  コンテンツディスプレイモジュール、２０６  グラフィカルユーザインタフェース、３００  コンピュータディスプレイ，３０２  ウェブブラウザウィンドウ，３０４  ウェブページ，３０６，３０８，３１０，３１２  セル，３１４  ポインタ，３１６，５００，７００，９００  経路，３１８  入力ペン，３２０，５０２，７０２，９０２，１０００，１００２，１００４  長方形の選択領域，４００，４０２，６００，６０２，８００，８０２，８０４  プレースホルダ
【図１】
2006053926.tif 000003
【図２】
2006053926.tif 000004
【図３】
2006053926.tif 000005
【図４】
2006053926.tif 000006
【図５】
2006053926.tif 000007
【図６】
2006053926.tif 000008
【図７】
2006053926.tif 000009
【図８】
2006053926.tif 000010
【図９】
2006053926.tif 000011
【図１０】
2006053926.tif 000012
【図１１】
2006053926.tif 000013
【図１２】
2006053926.tif 000014
【外国語明細書】
2006053926000001.pdf