(57)【要約】【課題】サーバが適応文書レイアウトアプリケーションによって生成された文書のページを、固定レイアウト文書フォーマットで、クライアント−サーバベースのネットワークを介してクライアントコンピュータに提供するためのシステムおよびプロセスを提供する。【解決手段】クライアントからのページの要求に応答して、文書ページが提供される。この要求は、所望のウィンドウサイズおよび／または所望のフォーマット化を指定してもよい。一般に、適応文書レイアウト（ＡＤＬ）サーバと称されるサーバは、クライアントコンピュータからの要求を受け取り、前述の適応文書レイアウトアプリケーションを使用して、要求された文書ページを生成する。次いで、生成されたページは、所定の固定レイアウト文書フォーマットに変換される。最後に、ＡＤＬサーバは、クライアント−サーバベースのネットワークを介してクライアントコンピュータにページを送る。【選択図】図２
2006048706.tif 000002
【特許請求の範囲】
【請求項１】
適応文書レイアウトアプリケーションによって生成された文書のページを、所定の固定レイアウト文書フォーマットで、クライアント−サーバベースのネットワークを介してクライアントコンピュータに提供するためのコンピュータ実施プロセスであって、コンピュータを使用して、
前記クライアントコンピュータによって前記クライアント−サーバベースのネットワークを介して送られる文書のページについての要求を受け取るプロセス動作と、
前記適応文書レイアウトアプリケーションを使用して前記要求された文書ページを生成し、前記所定の固定レイアウト文書フォーマットに変換するプロセス動作と、
前記生成された文書ページを前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送るプロセス動作と
を実行することを備えたことを特徴とするプロセス。
【請求項２】
文書のページについての要求を受け取る前記プロセス動作は、前記ページが表示時に指定のウィンドウサイズに合うように生成される要求も受け取る動作を備え、前記要求された文書ページを生成する前記プロセス動作は、前記要求されたページを前記指定のウィンドウサイズに合う形で生成する動作を備えたことを特徴とする請求項１に記載のプロセス。
【請求項３】
前記文書ページについての受け取られた要求は、同じ文書の少なくとも１つの他のページが以前に同じクライアントコンピュータによって要求されたという点で後続の要求を表し、前記要求されたページを前記指定のウィンドウサイズに合う形で生成する前記プロセス動作は、
前記指定のウィンドウサイズが直前の要求で指定されたのと同じかどうかを判定する動作と、
前記指定のウィンドウサイズが前記直前の要求から変化していると判定された場合に、前記新たに受け取られたウィンドウサイズ指定に従って前記文書を再ページ編集するよう前記適応文書レイアウトアプリケーションに命令する動作と、
前記再ページ編集された文書のページを生成する動作と
を備えたことを特徴とする請求項２に記載のプロセス。
【請求項４】
前記再ページ編集された文書のページを生成する前記プロセス動作は、要求されたページ番号に対応する前記再ページ編集された文書のページを生成する動作を備えたことを特徴とする請求項３に記載のプロセス。
【請求項５】
前記再ページ編集された文書のページを生成する前記プロセス動作は、前記ウィンドウサイズが変化しなかったとすれば前記要求されたページに含まれたであろうテキストおよび／またはグラフィックスのすべてを備えるか、または最初の部分の少なくとも現在指定されているウィンドウサイズに合う分を備えたページを生成する動作を備えたことを特徴とする請求項３に記載のプロセス。
【請求項６】
前記文書ページについての受け取られた要求は、同じ文書の少なくとも１つの他のページが以前に同じクライアントコンピュータによって要求されたという点で後続の要求を表し、前記要求されたページを前記指定のウィンドウサイズに合う形で生成する前記プロセス動作は、
前記指定のウィンドウサイズが直前の要求で指定されたのと同じかどうかを判定する動作と、
前記指定のウィンドウサイズが前記直前の要求から変化していると判定されたときは常に、前記指定のウィンドウサイズについて前記文書の以前にキャッシュされたページ編集があるかどうかを判定する動作と、
以前にキャッシュされたページ編集がない場合に、前記新たに受け取られたウィンドウサイズ指定に従って前記文書を再ページ編集するよう前記適応文書レイアウトアプリケーションに命令し、前記ページ編集データをキャッシュする動作と、
以前にキャッシュされたページ編集がある場合は、前記キャッシュ済みページ編集を取り出す動作と、
前記キャッシュ済みページ編集、または再ページ編集された文書を適宜使用して、前記再ページ編集された文書のページを生成する動作と
を備えたことを特徴とする請求項２に記載のプロセス。
【請求項７】
前記文書のページについての要求を受け取る前記プロセス動作は、前記文書のページが前記適応文書レイアウトアプリケーションの能力内で達成する１つまたは複数の指定の方法でフォーマットされる要求も受け取る動作を備え、前記要求された文書ページを生成する前記プロセス動作は、前記文書ページ要求中で受け取られた前記１つまたは複数のフォーマット指定を表すように前記要求されたページを生成する動作を備えたことを特徴とする請求項１に記載のプロセス。
【請求項８】
前記所定の固定レイアウト文書フォーマットは、前記ページ中の各単語およびグラフィックスオブジェクトのフォントおよび位置を設定するために、ＣＳＳ絶対位置決めプロパティを用いたＨＴＭＬページを備えたことを特徴とする請求項１に記載のプロセス。
【請求項９】
前記所定の固定レイアウト文書フォーマットは、ＰＤＦであることを特徴とする請求項１に記載のプロセス。
【請求項１０】
前記所定の固定レイアウト文書フォーマットは、ＸＡＭＬフォーマットであることを特徴とする請求項１に記載のプロセス。
【請求項１１】
請求項１に記載のプロセス動作を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項１２】
適応文書レイアウトアプリケーションによって生成された文書のページを、所定の固定レイアウト文書フォーマットで、クライアント−サーバベースのネットワークを介してクライアントコンピュータに提供するためのシステムであって、
汎用コンピューティングデバイスと、
前記汎用コンピューティングデバイスによって実行可能なプログラムモジュールを備えたコンピュータプログラムとを備え、前記コンピューティングデバイスは、前記コンピュータプログラムの前記プログラムモジュールによって、
前記クライアントコンピュータによって前記クライアント−サーバベースのネットワークを介して送られた文書のページについての要求を受け取り、
前記要求された文書ページが前に前記適応文書レイアウトアプリケーションによって生成され、前記所定の固定レイアウト文書フォーマットに変換され、キャッシュされたかどうか判定し、
前記要求された文書ページがキャッシュされていないと判定された場合に、
前記適応文書レイアウトアプリケーションを使用して前記要求された文書ページを生成し、前記所定の固定レイアウト文書フォーマットに変換し、
前記変換された文書ページをキャッシュし、
前記変換された文書ページを前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送り、
前記要求された文書ページがキャッシュされていると判定された場合に、前記キャッシュ済み文書ページを前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送るよう指示されることを特徴とするシステム。
【請求項１３】
文書のページについての要求を受け取るための前記プログラムモジュールは、前記ページが表示時に指定のウィンドウサイズに合うように生成される要求も受け取るためのサブモジュールを備え、前記要求された文書ページが以前に前記適応文書レイアウトアプリケーションによって生成され、前記所定の固定レイアウト文書フォーマットに変換されキャッシュされたかどうかを判定するための前記プログラムモジュールは、前記キャッシュ済み文書ページも前記指定のウィンドウサイズに合うように生成されたかどうかを判定するためのサブモジュールをさらに備え、
前記要求された文書ページがキャッシュされておらず、そして／または前記指定のウィンドウサイズに合わないと判定されたとき常に、
前記要求された文書ページが前記適応文書レイアウトアプリケーションを使用して前記指定のウィンドウサイズに合う形で生成され、前記所定の固定レイアウト文書フォーマットに変換され、
前記変換された文書ページがキャッシュされ、
前記変換された文書ページが前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られ、
前記要求された文書ページがキャッシュされており、前記指定のウィンドウサイズに合うと判定されたときは常に、前記キャッシュ済み文書ページが前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られることを特徴とする請求項１２に記載のシステム。
【請求項１４】
キャッシュされる文書ページは、もたらされた文書と、そのページ番号と、そのウィンドウサイズとによってカテゴリ化されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
キャッシュ済み文書ページが前記指定のウィンドウサイズに合うように生成されたかどうか判定するための前記サブモジュールは、
前記要求されたウィンドウサイズの所定の公差内のウィンドウサイズを有するキャッシュ済み文書ページがあるかどうか判定するためのサブモジュールと、
キャッシュ済み文書ページが前記要求されたウィンドウサイズの所定の公差内のウィンドウサイズを有すると判定されたときは常に、前記キャッシュ済み文書ページを前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送るためのサブモジュールと
を備えたことを特徴とする請求項１４に記載のシステム。
【請求項１６】
キャッシュされる文書ページは、もたらされた文書と、そのページ番号と、前記ページのウィンドウサイズが一連の所定のウィンドウサイズ範囲のどれに入るかとによってカテゴリ化されることを特徴とする請求項１２に記載のシステム。
【請求項１７】
文書のページについての要求を受け取るための前記プログラムモジュールは、前記ページが表示時に指定のウィンドウサイズに合うように生成される要求も受け取るためのサブモジュールを備え、前記要求された文書ページが前記適応文書レイアウトアプリケーションによって以前に生成され、前記所定の固定レイアウト文書フォーマットに変換され、キャッシュされたかどうかを判定するための前記プログラムモジュールは、前記要求された文書ページのウィンドウサイズが前記キャッシュ済み文書ページのウィンドウサイズ範囲に入るかどうかを判定するためのサブモジュールを備え、
前記要求された文書ページがキャッシュされておらず、そして／またはその指定のウィンドウサイズが前記キャッシュ済み文書ページのウィンドウサイズ範囲内に入らないと判定されるときは常に、
前記要求された文書ページは、前記適応文書レイアウトアプリケーションを使用して前記指定のウィンドウサイズに合う形で生成され、前記所定の固定レイアウト文書フォーマットに変換され、
前記変換された文書ページはキャッシュおよびカテゴリ化され、
前記変換された文書ページは前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られ、
前記要求された文書ページがキャッシュされており、その指定のウィンドウサイズが前記キャッシュ済み文書ページのウィンドウサイズ範囲内に入ると判定されつときは常に、前記キャッシュ済み文書ページは前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られることを特徴とする請求項１６に記載のシステム。
【請求項１８】
文書のページについての要求を受け取るための前記プログラムモジュールを実行する前に、
様々な文書ページについて、前記適応文書レイアウトアプリケーションを使用して文書ページを生成し、前記所定の固定レイアウト文書フォーマットに変換するためのプログラムモジュールと、
前記変換された文書ページをキャッシュして文書ページのデータベースを作成するためのプログラムモジュールと
を実行することをさらに備えたことを特徴とする請求項１２に記載のシステム。
【請求項１９】
文書のページについての要求を受け取るための前記プログラムモジュールは、前記ページが表示時に指定のウィンドウサイズに合う要求も受け取るためのサブモジュールを備え、様々な文書ページについて前記適応文書レイアウトアプリケーションを使用して文書ページを生成し、前記所定の固定レイアウト文書フォーマットに変換するための前記プログラムモジュールは、様々なウィンドウサイズについて、前記適応文書レイアウトアプリケーションを使用して文書ページを生成し、前記所定の固定レイアウト文書フォーマットに変換するためのサブモジュールをさらに備えたことを特徴とする請求項１８に記載のシステム。
【請求項２０】
文書のページについての要求を受け取るための前記プログラムモジュールは、前記文書のページが前記適応文書レイアウトアプリケーションの能力内で達成する１つまたは複数の指定の方法でフォーマットされる要求も受け取るためのサブモジュールを備え、前記要求された文書ページが前に前記適応文書レイアウトアプリケーションによって生成され、前記所定の固定レイアウトフォーマットに変換され、キャッシュされたかどうかを判定するための前記プログラムモジュールは、前記キャッシュ済み文書ページも前記文書ページ要求で受け取られた前記１つまたは複数のフォーマット指定を表すように生成されたかどうかを判定するためのサブモジュールをさらに備え、
前記要求された文書ページがキャッシュされておらず、そして／または前記文書ページ要求中で受け取られた前記１つまたは複数のフォーマット指定を表さないと判定されるときは常に、
前記要求された文書ページが前記適応文書レイアウトアプリケーションを使用して、前記文書ページ要求中で受け取られた前記１つまたは複数のフォーマット指定を表すように生成され、前記所定の固定レイアウト文書フォーマットに変換され、
前記変換された文書ページがキャッシュされ、
前記変換された文書ページが前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られ、
前記要求された文書ページがキャッシュされており、前記文書ページ要求中で受け取られた前記１つまたは複数のフォーマット指定を表すと判定されるときは常に、前記キャッシュ済み文書ページは前記クライアント−サーバベースのネットワークを介して前記要求元クライアントコンピュータに送られることを特徴とする請求項１２に記載のシステム。
【請求項２１】
適応文書レイアウトアプリケーションによって生成された文書のページを、所定の固定レイアウト文書フォーマットで、クライアント−サーバベースのネットワークを介してサーバから得るためのコンピュータ実施プロセスであって、コンピュータを使用して、
前記クライアント−サーバベースのネットワークを介して前記サーバに送られる文書のページについての要求を送るプロセス動作と、
前記要求された文書ページは、前記適応文書レイアウトアプリケーションを使用して前記サーバによって生成され、前記所定の固定レイアウト文書フォーマットに変換された、前記要求された文書ページを前記クライアント−サーバベースのネットワークを介して受け取るプロセス動作と
を行うことを備えたことを特徴とするプロセス。
【請求項２２】
前記受け取られた文書ページを、コンピュータ表示デバイス上に表示されたウィンドウの表示エリアに表示するプロセス動作をさらに備えたことを特徴とする請求項２１に記載のプロセス。
【請求項２３】
文書のページについての要求を送る前記プロセス動作は、閲覧者が表示されている文書のページを変更するコマンドを入力したときに自動的に行われることを特徴とする請求項２２に記載のプロセス。
【請求項２４】
前記閲覧者は、ページアップコマンドまたはページダウンコマンドを入力することによって、表示されている文書の前記ページを変更するコマンドを入力することを特徴とする請求項２３に記載のプロセス。
【請求項２５】
文書のページについての要求を送る前記プロセス動作は、前記ページが表示時に指定のウィンドウサイズに合うように生成される要求も送る動作を備えたことを特徴とする請求項２２に記載のプロセス。
【請求項２６】
前記ページが指定のウィンドウサイズに合うように生成される要求を送る前記プロセス動作は、閲覧者が文書ページを表示するのに使用されているウィンドウの表示エリアのサイズを変更したときに自動的に行われることを特徴とする請求項２５に記載のプロセス。
【請求項２７】
文書のページについての要求を送る前記プロセス動作は、前記文書ページが前記適応文書レイアウトアプリケーションの能力内で達成する１つまたは複数の指定のプロセスでフォーマットされる要求も送る動作を備えたことを特徴とする請求項２１に記載のプロセス。
【請求項２８】
請求項２１に記載のプロセス動作を行うためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応文書レイアウトシステムおよびプロセスを提供することに関し、より詳細には、サーバ上にある適応文書レイアウトアプリケーションによって生成された文書ページを、クライアント−サーバベースのネットワークを介してクライアントに提供するシステムおよびプロセスに関する。
【背景技術】
【０００２】
書かれた文書およびテキストが、コンピュータネットワーク接続、特にイントラネットまたはインターネットを介してサーバからクライアントに送信されることは一般的である。これは通常、サーバに文書を要求する閲覧者に関連するクライアントコンピュータによって行われる。次いでサーバは、要求された文書を、ネットワークを介してクライアントに転送する。次いでクライアントコンピュータは、これを通常の仕方で閲覧者に表示する。
【０００３】
しかし、上述のオンライン閲覧体験には現在、望まれるものが多くある。ウェブページレイアウトは通常、紙の発行物の品質よりもはるかに劣る。加えて、閲覧者は文書を通してスクロールする必要があり、これは読みやすさを招くことにならない。さらにまた、閲覧者が自分のディスプレイ上でブラウザウィンドウのサイズを変更しても、その結果は文書のより大きいまたは小さいバージョンが得られるだけである。文書がより読みやすくなるように再フォーマットされることはない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
典型的なオンライン閲覧体験の欠点を改善する過去の試みは、適応文書レイアウト（ＡＤＬ：ａｄａｐｔｉｖｅ  ｄｏｃｕｍｅｎｔ  ｌａｙｏｕｔ）システムの使用を中心としていた。ＡＤＬシステムは、適応ページテンプレートを使用して、使用されているウィンドウのサイズに合うように適合された高品質の文書レイアウトを生成する。残念ながら、すべてのフォーマット化およびページ編集は閲覧者のコンピュータ上で行われ、このことは、うまくレイアウトされた文書を見たければ自分のコンピュータ上にクライアントアプリケーションを有する必要があることを意味する。ソフトウェアをインストールすることに関して一般の人が抱くもっともな懸念を考えると、クライアント上でのソフトウェアのインストールを要求することなく、ＡＤＬ文書を見るプロセスがあることは重要である。
【課題を解決するための手段】
【０００５】
本発明は、サーバが、適応文書レイアウトアプリケーションによって生成された文書のページを、固定レイアウト文書フォーマットで、クライアント−サーバベースのネットワークを介してクライアントに提供するためのシステムおよびプロセスを対象とする。したがって、レイアウトアプリケーションは、クライアントコンピュータ上ではなくサーバに位置する。一般に、サーバ（以下、適応文書レイアウト（ＡＤＬ）サーバと呼ぶ）は、サーバに格納されているか、またはサーバによって容易にアクセス可能な文書のページについてのクライアントコンピュータからの要求を受け取る。次いでＡＤＬサーバは、前述の適応文書レイアウトアプリケーションを使用して要求された文書ページを生成し、これを所定の固定レイアウト文書フォーマットに変換する。最後に、ＡＤＬサーバは、クライアント−サーバベースのネットワークを介してクライアントコンピュータにページを送る。
【０００６】
クライアントがＡＤＬサーバから文書の新しいページを要求することに関して、これは自動的に行われ得ることに留意されたい。例えば、閲覧者が、任意の従来型ユーザインターフェース（キーボードなど）を介してコマンド（ページアップコマンドやページダウンコマンドなど）をクライアントコンピュータに入力することができる。次いで、新しいページについての要求が自動的にＡＤＬサーバに送られる。
【０００７】
所定の固定レイアウトフォーマットに関して、これは、ページ中の各単語およびグラフィックスオブジェクトのフォントおよび位置を設定するために、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）絶対位置決めプロパティを用いたＨＴＭＬページとすることができる。しかし、本発明はこのフォーマットに限らず、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）やＸＡＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）フォーマットなど、任意の固定レイアウトフォーマットとすることができる。
【０００８】
新しいページが提供されるよう指定することに加えて、クライアントは、ページが指定のウィンドウサイズに合うように構成されるよう要求することもできる。例えば、閲覧者は、クライアントコンピュータ上で実行されているブラウザアプリケーション中の表示ウィンドウのサイズを変更することができる。次いで、新しいウィンドウサイズは自動的に、新しいページについての要求と共にＡＤＬサーバに送られる。ＡＤＬサーバは、これらの要求を受け取り、要求されたページを指定のウィンドウサイズに合うであろう形で生成する。このタスクを達成するために、ＡＤＬサーバはまず、指定されたウィンドウサイズがクライアントからの直前の要求で指定されたウィンドウサイズと同じかどうか判定する。ウィンドウサイズが変化している場合は、サーバはその適応文書レイアウトアプリケーションに、新たに受け取ったウィンドウサイズ指定に従って文書を再ページ編集するよう命令する。次いでレイアウトアプリケーションは、クライアントから要求されたページを生成することができる。このページは、現在のページ番号または新しいページ番号とすることができ、閲覧者が前に見ていたページ上のいずれかのコンテンツを含む場合もあれば含まない場合もある。しかし、再ページ編集手順の別の実施形態では、レイアウトアプリケーションは、ウィンドウサイズが変化しなかったとすれば要求のページ上に含まれていたであろうテキストおよび／またはグラフィックスのすべてを含むか、または最初の部分の少なくとも現在指定されているウィンドウサイズに合う分を含む、再ページ編集された文書のページを生成する。
【０００９】
クライアントは、適応文書レイアウトアプリケーションの能力内で実装する１つまたは複数の指定のプロセスでページをフォーマットするよう要求することもできる。例えば、クライアントは、ページをより読みやすくするためにフォントタイプまたはサイズを変更する要求をしてもよい。この特徴は、視覚的に障害のある者に特に有用となり得る。ＡＤＬサーバは、このような要求を受け取ると、クライアント要求で指定されたフォーマット化を表すように要求のページを生成することに、その適応文書レイアウトアプリケーションを使用する。
【００１０】
本システムおよびプロセスは、ＡＤＬサーバの処理負荷を軽減するためのキャッシュ機能を含むこともできる。基本的に、この機能は、ＡＤＬサーバによって生成された各文書ページを、同じページについての別の要求が受け取られた場合に将来の使用のためにキャッシュしておくことを伴う。より詳しくは、クライアント要求に応答して新しい文書ページを生成する前に、ＡＤＬサーバは、要求されたページがキャッシュされているかどうかを判定する。キャッシュされている場合は、キャッシュ済みページを取り出し、要求元クライアントコンピュータに送る。しかし、要求されたページがキャッシュされていない場合は、適応文書レイアウトアプリケーションを使用して前述のように生成される。ただし文書ページはクライアントに送られるだけでなく、キャッシュもされる。このようにして、以前に生成された文書ページのデータベースが構築される。
【００１１】
キャッシュ機能はまた、ウィンドウサイズおよび／またはフォーマット化の要求をクライアントによって指定され得るようにする本システムおよびプロセスの一実施形態に容易に拡張される。基本的に、これは、キャッシュされた各文書ページを格納時にカテゴリ化することによって達成される。カテゴリ化は、もたらされた文書およびそのページ番号だけでなく、そのウィンドウサイズ（適用可能なら）および任意の特別フォーマット化（適用可能なら）も含む。したがって、ＡＤＬサーバは、要求された文書ページが以前にキャッシュ済みかどうかを判定するとき、カテゴリを検索して、指定のウィンドウサイズおよび／または指定のフォーマット化を同じく有する要求ページを見つける。マッチが見つからない場合は、新しいページを生成し、前述のようにキャッシュする。
【００１２】
ＡＤＬサーバの処理負荷、ならびに記憶要件をさらに低減するために、前述のウィンドウサイズパラメータを量子化することができる。これを達成する１つのプロセスは、キャッシュされた文書を前のようにカテゴリ化するが、ページをその厳密なウィンドウサイズでカテゴリ化するのではなく、ページのウィンドウサイズが一連の所定のウィンドウサイズ範囲のうちのどのサイズ範囲に入るかに従ってカテゴリ化することであろう。次いで、ＡＤＬサーバが指定されたウィンドウサイズを有するキャッシュ済み文書ページがあるかどうかを判定するとき、ＡＤＬサーバは実際には、指定されたサイズと同じサイズ範囲にあるウィンドウサイズを有するキャッシュ済みページがあるかどうかを判定する。この場合、マッチが見つかれば、要求されたものと厳密に同じウィンドウサイズでなくても、このキャッシュ済みページがクライアントに送られる。このようにして、要求されたのと大体同じものを提供しつつ、生成し、キャッシュしなければならないページは少なくて済む。このウィンドウサイズ量子化機能の代替実施形態では、キャッシュされるページをサイズ範囲でカテゴリ化するのではなく、厳密なサイズを使用することができる。ただし、ＡＤＬサーバは、指定されたウィンドウサイズを有するキャッシュ済み文書ページがあるかどうかを判定するとき、要求されたウィンドウサイズの所定の公差内のウィンドウサイズを有するキャッシュ済みページがあるかどうかを判定する。ある場合は、このページがクライアントに送られる。
【００１３】
キャッシュ機能はさらに、文書ページを事前にキャッシュしておくことを含むように拡張することができる。これは、ある文書の文書ページを様々なウィンドウサイズで、また場合によっては様々なフォーマット選択で生成することを伴う。次いで、これらのページを、ページについての要求がある前にキャッシュする。このようにして、ＡＤＬサーバが新しいページを生成しなければならないのではなくキャッシュ済みページを提供できる可能性をより高めるデータベースが構築される。また、トラフィックパターンをウェブサイト上でモニタして、どのサイズが最も人気があるかを学習し、人気のあるサイズのページだけを事前にキャッシュしておくこともできることに留意されたい。
【００１４】
前述のように文書ページをキャッシュすることに加えて、前述のページ編集の結果をキャッシュすることもできる。これは、文書ページの生成と同様に文書を再ページ編集することもプロセッサ集約的なオペレーションなので、有利である。したがって、キャッシュ済み文書ページは利用できないが、対象の文書が以前に別のページを提供するために現在の要求ウィンドウサイズと同じウィンドウサイズで再ページ編集されており、キャッシュ済みのページ編集の結果を取り出して、現在指定されているページの生成に再び使用することができる。このようにして、文書を特定のウィンドウサイズにページ編集するのは１度だけ行えばよく、それによって本プロセスはより効率的になる。
【００１５】
今述べた利益に加えて、本発明のその他の利点も、添付の図面と共に後続の詳細な説明から明らかになるであろう。
【００１６】
本発明の具体的な特徴、態様、利点は、以下の説明、添付の特許請求の範囲、添付の図面を考慮すればよりよく理解されるであろう。
【発明を実施するための最良の形態】
【００１７】
本発明の好ましい実施形態に関する以下の説明では、本明細書の一部をなす添付の図面を参照するが、図面には例として、本発明を実施することのできる具体的な実施形態を示す。本発明の範囲を逸脱することなく、他の実施形態を利用することもでき、構造上の変更を加えることもできることを理解されたい。
【００１８】
１．０  コンピューティング環境
本発明の好ましい実施形態に関する説明を提供する前に、本発明を実施することのできる適切なコンピューティング環境に関する簡単で一般的な説明を提供する。図１に、適切なコンピューティングシステム環境の例１００を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな限定を示唆するものでもない。またコンピューティング環境１００は、この例示的な動作環境１００に示したコンポーネントのいずれか１つまたは組合せに関してどんな依存や要件を有するものとも解釈すべきではない。
【００１９】
本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成で機能する。本発明で使用するのに適するであろう周知のコンピューティングシステム、環境、および／または構成の例には、限定しないがパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【００２０】
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルおよびリモートの両方のコンピュータ記憶媒体に位置することができる。
【００２１】
図１を参照すると、本発明を実施するための例示的なシステムは、コンピュータ１１０の形の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントは、限定しないが処理ユニット１２０、システムメモリ１３０、システムメモリを含む様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１を含むことができる。システムバス１２１は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニンバスとも呼ばれる）が含まれる。
【００２２】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ１１０からアクセスできる任意の利用可能な媒体とすることができ、揮発性および不揮発性の媒体、リムーバブルおよび非リムーバブルの媒体の両方がこれに含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を格納するための任意のプロセスまたは技術で実現された揮発性および不揮発性、リムーバブルおよび非リムーバブルの両方の媒体が含まれる。コンピュータ記憶媒体には、限定しないがＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ１１０からアクセスできるその他の任意の媒体が含まれる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他のトランスポート機構などの変調データ信号に組み入れるものであり、任意の情報送達媒体がこれに含まれる。用語「変調データ信号」は、信号中の情報を符号化するようにその１つまたは複数の特性を設定または変更した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接配線接続などのワイヤ媒体と、音響、無線周波数、赤外線などのワイヤレス媒体およびその他のワイヤレス媒体とが含まれる。以上のいずれかの組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【００２３】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中などにコンピュータ１１０内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ１３３は、通常、ＲＯＭ１３１に記憶されている。ＲＡＭ１３２は通常、処理ユニット１２０によってすぐにアクセス可能で、そして／または現在操作しているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、プログラムデータ１３７を示す。
【００２４】
コンピュータ１１０は、その他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。例にすぎないが図１は、非リムーバブルな不揮発性の磁気媒体との間で読み書きをするハードディスクドライブ１４１と、リムーバブルな不揮発性の磁気ディスク１５２との間で読み書きをする磁気ディスクドライブ１５１と、ＣＤ  ＲＯＭやその他の光媒体などリムーバブルな不揮発性の光ディスク１５６との間で読み書きをする光ディスクドライブ１５５を示す。この例示的な動作環境で使用できるその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体には、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は通常、インターフェース１４０などの非リムーバブルメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェース１５０などのリムーバブルメモリインターフェースでシステムバス１２１に接続される。
【００２５】
以上に論じ図１に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１１０のコンピュータ可読命令、データ構造、プログラムモジュール、その他のデータのストレージを提供する。例えば図１には、ハードディスクドライブ１４１がオペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、プログラムデータ１４７を格納しているのが示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、プログラムデータ１３７と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、プログラムデータ１４７が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。ユーザは、キーボード１６２、マウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コンピュータ１１０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナなどを含めることができる。これらおよび他の入力デバイスは、システムバス１２１に結合されたユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など、その他のインターフェースおよびバス構造で接続されてもよい。モニタ１９１または他のタイプの表示デバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、スピーカ１９７やプリンタ１９６など、その他の周辺出力デバイスを備えることもでき、これらは出力周辺インターフェース１９５を介して接続することができる。オーディオ／ビデオ（Ａ／Ｖ）キャプチャデバイス１９２（前述のＤＭシステムの３６０度カメラなど）を、パーソナルコンピュータ１１０への入力デバイスとして含めることもできる。デバイス１９２からのＡ／Ｖ出力は、適切なＡ／Ｖインターフェース１９４を介してコンピュータ１１０に入力される。このインターフェース１９４はシステムバス１２１に接続され、それにより、画像がルーティングされてＲＡＭ１３２に格納されるか、またはコンピュータ１１０に関連する他のデータ記憶デバイスの１つに格納されるようにすることができる。
【００２６】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作する。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常はコンピュータ１１０に関して上述した要素の多くまたはすべてを備えるが、図１にはメモリ記憶デバイス１８１だけが示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよくみられる。
【００２７】
ＬＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は通常、インターネットなどのＷＡＮ１７３を介した通信を確立するためのモデム１７２またはその他の手段を備える。モデム１７２は内蔵でも外付けでもよく、ユーザ入力インターフェース１６０またはその他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに格納することができる。限定ではなく例として、図１には、リモートアプリケーションプログラム１８５がメモリデバイス１８１上にあるのが示されている。図示したネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段を使用してもよいことは理解されるであろう。
【００２８】
２．０  適応文書レイアウト（ＡＤＬ）サーバ／クライアントシステムおよびプロセス
例示的な動作環境について論じたが、この説明セクションの残りの部分は、本発明を具体化するプログラムモジュールの説明に充てることにする。一般に、本発明によるシステムおよびプロセスは、適応文書レイアウトプログラムのバージョンをサーバ（適応文書レイアウト（ＡＤＬ）サーバと呼ぶ）上で実行し、固定レイアウト文書フォーマットを有するページを、コンピュータネットワーク（イントラネットやインターネットなど）を介して、クライアントコンピュータ上で実行されているウェブブラウザに送ることを伴う。従来技術では、適応レイアウトシステムは、使用されているウィンドウのサイズに合うように適合された高品質の文書レイアウトを作成するように設計されていた。残念ながら、すべてのフォーマット化およびページ編集はクライアント上で行われていたが、このことは、文書を見たければクライアントアプリケーションを有する必要があることを意味する。本発明は、サーバ上で実行することができ、ページのレイアウトを正確に再現する固定レイアウト文書フォーマットのページを送ることができる、レイアウトシステムのバージョンを提供することによって、従来技術の欠点および短所を解決する。ブラウザでの閲覧体験は、クライアントベースの適応文書レイアウトプログラムを使用する体験に非常によく似ている。すなわち、高品質で読みやすいページが作成される。また、適応文書レイアウトアプリケーションはサーバ上にあり、複数のクライアントによって使用されるので、強力で機能豊富なレイアウトアプリケーションを利用することが可能であることにも留意されたい。これは、オンライン閲覧者にとって大きな利点を有する。というのは、レイアウトアプリケーションのこのような強力でリッチなバージョンを閲覧者のコンピュータにインストールすることは、経済的または実際的に可能でない場合があるからである。したがって、閲覧者は、適応文書レイアウトプログラムを自分のコンピュータにインストールするコストを被ることなく、最高級の適応文書レイアウトプログラムの利点を享受する。
【００２９】
加えて、閲覧者は、文書とインタラクトする能力を有する。例えば、基本レベルでは、閲覧者は現在ページを変更することができ、ブラウザウィンドウ（閲覧者のコンピュータディスプレイ上で文書閲覧ウィンドウとして働く）のサイズを変更することができる。新しいページが閲覧者によって要求されると、このページは、ＡＤＬサーバ上にあるＡＤＬプログラムによって提供される。同様に、現在のまたは新しいページがサイズ変更されるよう閲覧者が指示すると、所望の文書ページを新しいウィンドウサイズに合わせるように文書がＡＤＬプログラムによって再フォーマットされる。次いで、新しいページおよび／またはサイズ変更されたページは、閲覧者に対する表示のためにクライアントコンピュータに送られる。
【００３０】
固定レイアウト文書フォーマットに関して、これは所望の任意のフォーマットとすることができる。例えば、ごく最近のブラウザプログラムのほとんどで利用可能なＣＳＳ絶対位置決めプロパティを用いて各単語およびグラフィックスオブジェクトのフォントおよび位置を設定することによって、標準的なＨＴＭＬページを固定レイアウトフォーマットで作成することができる。これは、ブラウザがページを閲覧者に表示するときに、ＡＤＬプログラムによって作成されたフォーマットをブラウザが変更するのを防止する。あるいは、ページがポータブルドキュメントフォーマット（ＰＤＦ）や拡張可能アプリケーションマークアップ言語（ＸＡＭＬ）フォーマットなど、その他の固定レイアウト文書フォーマットでＡＤＬプログラムによって生成されてもよい。
【００３１】
次に、前述のシステム、およびそれを実現するのに使用されるプロセスに関する、より詳細な説明を提示する。
【００３２】
２．１  ＡＤＬサーバ／クライアントシステムアーキテクチャ
図２を参照すると、ＡＤＬサーバ／クライアントシステムは、以下のモジュールを含む。コンピュータネットワーク２０２のＡＤＬサーバ２００側には、ウェブアプリケーションモジュール２０４およびＡＤＬモジュール２０６がある。一般に、ウェブモジュール２０４は、クライアントモジュール２０８とＡＤＬモジュール２０６との仲介として働く。本システムの一実施形態では、ウェブアプリケーションモジュール２０４は、ウェブサーバ２００上で実行されるＡＳＰ．ＮＥＴプログラムを含む。これは、ネットワークを介してクライアントモジュール２０８によって送られた、ページ番号および／または表示サイズの要求を受け取る。これは、このページおよびサイズ情報をＡＤＬモジュール２０６に通信し、このモジュールから、所定の固定レイアウト文書フォーマットでの要求のページについてのデータを入力する。最後に、ウェブアプリケーションモジュール２０４は、作成するウェブページ内でページデータをパッケージし、ネットワークを介してこのウェブページをクライアントコンピュータ２１０に返送することを担う。
【００３３】
前述のＡＤＬモジュール２０６は、ＡＤＬクライアント／ビューアアプリケーションの修正バージョンである。使用されるＡＤＬクライアント／ビューアプログラムは、所望の任意のプログラムとすることができる。しかし、本発明のテストされた実施形態では、「System And Method For Facilitating Adaptive Grid-Based Document Layout」という名称の同時係属出願の主題であるＡＤＬクライアント／ビューアアプリケーションを利用した。同時係属出願は２００４年１月３０日に出願され、第１０／７６８９９３号と番号がつけられた。このＡＤＬプログラムを従来のプロセスを用いて修正して、文書を再フォーマットするウェブアプリケーションモジュール２０４からの要求に応答し、要求のページを所定の固定レイアウト文書フォーマットで作成する。
【００３４】
前述のクライアントモジュール２０８は、クライアントコンピュータ２１０上にある。このモジュール２０８は、クライアントのブラウザプログラム（これもやはりクライアントコンピュータ２１０上にある）内で実行される小さいアプリケーション（例えばＪａｖａ（登録商標）Ｓｃｒｉｐｔのコードの形態）を含む。基本的に、このアプリケーションが行うことは、ページ変更コマンドおよびブラウザウィンドウサイズ変更イベントに応答することだけである。これらのイベントの１つが起こると、文書の所望のページを所望のサイズで反映する新しいウェブページがＡＤＬサーバ２００から要求される。新しいウェブページがＡＤＬサーバ２００から受け取られると、これは通常の仕方でクライアントのブラウザプログラムによって処理され、閲覧者に表示される。ページ変更コマンドおよびサイズ変更コマンドは、通常のユーザインターフェースを介して任意の適切な仕方で入力することができる。例えば、ページ変更コマンドは、クライアントコンピュータ２１０に接続されたキーボード上のページアップキーおよびページダウンキーを使用して閲覧者が入力することができる。サイズ変更コマンドは、ディスプレイ上のウィンドウをサイズ変更するのに通常使用される従来のクリックおよびドラッグ方法を用いて閲覧者が入力することができる。このタスクはコンピュータマウスを使用して達成することができる。
【００３５】
ウェブアプリケーションモジュール２０４はオプションで、ＡＤＬモジュール２０６によって生成された各ページを、もたらされた文書と、そのページ番号と、ページのウィンドウサイズとを識別する情報と共にキャッシュするであろうキャッシュ機能を含むこともできることに留意されたい。したがって、この機能は、任意の複数のクライアントによって要求されたどんなページもキャッシュされるであろうという点で、グローバルである。このオプション機能は、ＡＤＬサーバ２００でより大きな記憶能力を必要とするが、各ページが生成されるのは１度だけなので、処理負荷を低減するであろう。さらに、このキャッシュ機能は、ウィンドウサイズ量子化を用いて、キャッシュする必要のあるページの数を削減することもできる。基本的に、一連のウィンドウサイズ範囲が生成される。例えば、テストされた実施形態では、伴う範囲は幅１０ピクセルで高さ１０ピクセルのインクリメントであったが、これにより、すべての可能なサイズをキャッシュするのに必要なサイズは、キャッシュなしの場合の１００分の１に削減された。ページが生成されたとき、このページは、その実際のウィンドウサイズによってではなく、それが入るサイズ範囲によってキャッシュされ識別される。次いで、同じページがキャッシュ済みページに関連するサイズ幅に入るウィンドウサイズ幅で要求されるときはいつも、要求されたウィンドウサイズが厳密にキャッシュ済みページのサイズとマッチしなくても、そのページが提供される。あるいは、ページはその実際のサイズの識別と共にキャッシュすることもできるが、特定サイズのページの要求をクライアントから受け取ったとき、ウェブアプリケーションモジュール２０４は、要求されたサイズの所定の公差内のウィンドウサイズを有する、要求ページのキャッシュ済みバージョンがあるかどうかを判定する。ある場合は、ＡＤＬモジュール２０６に実際の要求ウィンドウサイズの新しいページを生成させるのではなく、そのページを提供する。また、大量のストレージが利用可能な場合は、ページを事前にキャッシュしておくことも可能であろう。これは、文書のページを様々なウィンドウサイズで事前に生成し、こうしたページについてのクライアント要求を見越して格納しておくことを含む。
【００３６】
さらに、ウェブアプリケーションモジュール２０４はオプションで、ページ編集結果キャッシュ機能を含むことができることにも留意されたい。新しいウィンドウサイズが要求されたとき、ＡＤＬモジュール２０６は、各ページを指定の閲覧エリアに合わせるために、対象の文書を再ページ編集する。しかし、文書ページの生成と同様、文書を再ページ編集することはプロセッサ集約的なオペレーションである。したがって、キャッシュ済み文書ページが利用できないが、対象の文書が以前に別のページを提供するために現在要求されたのと同じウィンドウサイズに再ページ編集されている場合は、キャッシュ済みのページ編集結果を取り出して、これを現在指定されているページを生成するのに再び使用することができる。このようにして、文書を特定のウィンドウサイズにページ編集するのは１度だけでよく、それによってこのプロセスはより効率的になる。
【００３７】
また、その他の文書レイアウトフォーマットコマンドを本システムに導入することができることにも留意されたい。例えば、要求されたページを生成する際に使用されるフォントタイプやサイズ、あるいはネットワーク上の限られた帯域幅に対応するために要求のページ中の任意の画像を縮小する際に使用されるフォントタイプやサイズなど、追加の文書レイアウト要件を閲覧者が指定できるように、クライアントモジュールを修正することができる。その他の追加のフォーマット化機能については、前述の同時継続出願に記載されている。ウェブアプリケーションモジュール２０４は、これらの追加の要求パラメータを受け取り、ＡＤＬモジュール２０６に提供する。これにより、要求されたページを生成するときにこれらが適用されることになるであろう。これらの追加のパラメータはまた、オプションのキャッシュ機能で使用される識別情報に追加してキャッシュ済みページを分類することもできる。したがって、キャッシュ済みページは、そのフォーマットが要求に含まれるすべてのパラメータ（またはこれらの量子化）とマッチした場合にのみ、クライアントに提供されることになろう。
【００３８】
２．２  ＡＤＬサーバ／クライアントプロセス
次に、図３Ａ〜Ｂを参照して、ＡＤＬサーバ／クライアントシステムを実現するための例示的なプロセスについて述べる。このプロセスは、閲覧者が入力したコマンドに応答して、クライアントが新しいページについての要求を、コンピュータネットワークを介して送ることで開始する（プロセス動作３００）。前述の例では、この要求は、望まれた文書のページと、それがどのサイズのウィンドウに表示されるかを指定するであろう。この２つの項目は、閲覧者がページを変更したいのではなく単にそのサイズを変更したい場合であっても、あるいは閲覧者が新しいページを欲しているがウィンドウサイズを変更したくない場合であっても含められることに留意されたい。
【００３９】
ＡＤＬサーバは要求を受け取り（プロセス動作３０２）、まず、要求されたページの要求されたサイズのキャッシュ済みバージョンがあるかどうかを判定する（プロセス動作３０４）。ある場合は、要求されたページのキャッシュ済みバージョンを取り出す（プロセス動作３０６）。ない場合は、次に、指定されたウィンドウサイズが、前回の要求が処理されてから変化しているかどうかを確認する（プロセス動作３０８）。サイズが変化している場合は、要求されたウィンドウサイズについて対象の文書のページ編集のキャッシュ済みバージョンがあるかどうか判定する（プロセス動作３１０）。ない場合は、対象の文書を新しいサイズに再ページ編集する（プロセス動作３１２）。しかし、指定されたウィンドウサイズのキャッシュ済みページ編集データが見つかった場合は、代わりにこれを取り出す（プロセス動作３１４）。一方、サイズが変化していない場合は、図３Ａに示すようにページ編集動作をスキップする。次いで、適応文書レイアウトアプリケーションを使用して要求のページを生成し、これを所定の固定レイアウト文書フォーマットに変換する（プロセス動作３１６）。キャッシュ済みのページ編集、または再ページ編集された文書を使用して要求のページを生成する場合、一実施形態では、クライアントによって要求されたページ番号に対応するページを生成することによって達成することに留意されたい。しかし、代替実施形態では、レイアウトアプリケーションは、ウィンドウサイズが変化しなかったとすれば要求のページ上に含まれたであろうテキストおよび／またはグラフィックスのすべてを含むか、または最初の部分の少なくとも現在指定されているウィンドウサイズに合う分を含むページを生成する。新たにフォーマットされたページ、または取り出されたキャッシュ済みページのどちらの場合でも、次いでこれはコンピュータネットワークを介して要求元クライアントに送られる（プロセス動作３１８）。次いでクライアントは、この新しいページを受け取り、閲覧者に表示する（プロセス動作３２０）。新たにフォーマットされたページの場合、クライアントに送るのに加えて、同じページについて同じウィンドウサイズで要求があった場合に将来の使用のためにサーバによってキャッシュもされる（プロセス動作３２２）。さらに、対象の文書の新しいページ編集があれば、これも将来の使用のためにキャッシュされる（プロセス動作３２４）。次いでこのプロセスは、閲覧者が別のコマンドを入力するまで終了する。
【００４０】
前述の例示的なプロセスでは、新しいページおよび／またはウィンドウサイズだけが要求されることに留意されたい。しかし、前述のように、追加のフォーマット化コマンドを含めることもできる。基本的に、これらの追加のフォーマット化コマンドは前述のように処理され、クライアント要求の指定パラメータ（またはこれらの何らかの量子化）のすべてを満たす場合にのみキャッシュ済みページを提供し、指定パラメータを有するキャッシュ済みページが利用できない場合は、これらのパラメータを反映するページを生成する。
【図面の簡単な説明】
【００４１】
【図１】本発明を実施するための例示的なシステムを構成する汎用コンピューティングデバイスを示す図である。
【図２】本発明による適応文書レイアウト（ＡＤＬ）サーバ／クライアントシステムの一実施形態の一般的なコンピュータプログラムモジュールアーキテクチャを示すブロック図である。
【図３Ａ】本発明によるＡＤＬサーバ／クライアントプロセスの一実施形態を図示するフローチャートである。
【図３Ｂ】本発明によるＡＤＬサーバ／クライアントプロセスの一実施形態を図示するフローチャートである。
【符号の説明】
【００４２】
１００  コンピューティングシステム環境
１１０  コンピュータ
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  その他のプログラムモジュール
１３７  プログラムデータ
１４０  非リムーバブル不揮発性メモリインターフェース
１４１  ハードディスクドライブ
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  その他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバブル不揮発性メモリインターフェース
１５１  磁気ディスクドライブ
１５２  磁気ディスク
１５５  光ディスクドライブ
１５６  光ディスク
１６０  ユーザ入力インターフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８１  メモリ記憶デバイス
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェース
１９１  モニタ
１９２  カメラ
１９４  カメラインターフェース
１９５  出力周辺インターフェース
１９６  プリンタ
１９７  スピーカ
２００  ＡＤＬサーバ
２０２  イントラネット／インターネット
２０４  ウェブアプリケーションモジュール
２０６  ＡＤＬモジュール
２０８  クライアントモジュール
２１０  クライアント
【図１】
2006048706.tif 000003
【図２】
2006048706.tif 000004
【図３Ａ】
2006048706.tif 000005
【図３Ｂ】
2006048706.tif 000006
【外国語明細書】
2006048706000001.pdf