(57)【要約】クライアント・コンピューター上でドキュメントの第１の部分を開く要求をサーバー・コンピューターに送信する。ドキュメントはサーバー・コンピューターに格納される。ドキュメントの第１の部分はドキュメント全体よりも小さい。要求は、ドキュメントの第１の部分のサイズを判定するのにサーバー・コンピューターが使用する情報を含む。ドキュメントの第１の部分をサーバー・コンピューターから受信する。ドキュメントの第２の部分を、クライアント・コンピューターのディスプレイ・スクリーン上でレンダリングする。ドキュメントの第２の部分は、ドキュメントの第１の部分のサブセットである。クライアント・コンピューターが、ユーザーがドキュメントの第３の部分をスクロールしたと判定するときに、および、ドキュメントのさらなる部分がサーバー・コンピューターにおいて利用可能であると判定したときは、ドキュメントの追加部分を開く第２の要求をサーバー・コンピューターに送信する。
2013544400.tif 000002
【特許請求の範囲】
【請求項１】
クライアント・コンピューターにおいてドキュメントにアクセスする方法であって、
前記クライアント・コンピューターにおいて、ドキュメントの第１の部分を開く第１の要求をサーバー・コンピューターに送信するステップであって、前記ドキュメントは前記サーバー・コンピューターに格納され、前記ドキュメントの前記第１の部分は前記ドキュメント全体より小さく、前記要求は、前記ドキュメントの前記第１の部分のサイズを判定するのに前記サーバー・コンピューターが使用する情報を含むことと、
前記クライアント・コンピューターにおいて、前記ドキュメントの前記第１の部分を前記サーバー・コンピューターから受信するステップと、
前記クライアント・コンピューターにおいて、前記ドキュメントの前記第１の部分を前記サーバー・コンピューターから受信した後に、前記ドキュメントの第２の部分を前記クライアント・コンピューターのディスプレイ・スクリーン上でレンダリングするステップであって、前記ドキュメントの前記第２の部分は前記ドキュメントの前記第１の部分のサブセットであることと、
前記クライアント・コンピューターにおいて、前記ドキュメントのさらなる部分が前記サーバー・コンピューターにおいて利用可能であると判定するステップと、
前記クライアント・コンピューターにおいて、ユーザーが前記ドキュメントの第３の部分を前記クライアント・コンピューターにおけるディスプレイ・スクリーン上でスクロールしたと判定するステップと、
前記クライアント・コンピューターが、前記ユーザーが前記ドキュメントの前記第３の部分をスクロールしたと判定したとき、および、前記クライアント・コンピューターが、前記ドキュメントの前記さらなる部分が前記サーバー・コンピューターにおいて利用可能であると判定したときに、前記ドキュメントの追加部分を開く第２の要求を前記サーバー・コンピューターに送信するステップと
を備えることを特徴とする方法。
【請求項２】
前記クライアント・コンピューターにおいて、前記ドキュメントの少なくとももう１つの追加部分が前記サーバー・コンピューターにおいて利用可能であると判定するステップは、前記ドキュメントのさらなる部分が利用可能であることを示すメッセージをサーバー・コンピューターから受信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ユーザーが前記ドキュメントの前記第３の部分を前記ディスプレイ・スクリーン上でスクロールしたと判定するステップは、前記ユーザーが前記ディスプレイ・スクリーン上で所定数のオブジェクトをスクロールしたと判定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記所定数のオブジェクトにおける各オブジェクトは最上位オブジェクトであり、前記最上位オブジェクトの各々は、段落、テーブル、リストまたは画像のうちの１つであることを特徴とする請求項３に記載の方法。
【請求項５】
前記クライアント・コンピューターが前記ドキュメントの前記追加部分を前記サーバー・コンピューターに要求するときに、前記クライアント・コンピューターは前記ドキュメントと類似するサイズの部分を前記クライアント・コンピューターからアンロードすることを特徴とする請求項１に記載の方法。
【請求項６】
前記ドキュメントの前記追加部分を前記サーバー・コンピューターから受信するステップと、前記ドキュメントの前記追加部分を前記サーバー・コンピューターから受信したときに、前記ドキュメントの一部を前記クライアント・コンピューターからアンロードするステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記第１の要求に含まれる前記情報は、前記クライアント・コンピューター上の前記ディスプレイ・スクリーンのサイズ、前記ディスプレイ・スクリーン上で使用されるフォントのサイズ、および前記ディスプレイ・スクリーンの画素解像度のうちの１つまたは複数を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記第１の要求に含まれる前記情報は、前記ドキュメントの前記第１の部分に含まれるべきオブジェクトの数に関するヒントを含むことを特徴とする請求項１に記載の方法。
【請求項９】
サーバー・コンピューター上で実行される、前記サーバー・コンピューターに格納されたドキュメントを部分的に開く方法であって、
前記サーバー・コンピューター上で、第１のメッセージをクライアント・コンピューターから受信するステップであって、前記第１のメッセージは前記ドキュメントの第１の部分を開く要求であり、前記ドキュメントの前記第１の部分は１つまたは複数のオブジェクトを含み、前記要求は前記ドキュメントの前記第１の部分のサイズを判定する情報を含むことと、
前記サーバー・コンピューター上で、前記ドキュメントの前記第１の部分のサイズを判定するステップであって、前記ドキュメントの前記第１の部分のサイズを判定することは、前記ドキュメントの前記第１の部分に対するオブジェクト閾値を判定するステップを含み、前記オブジェクト閾値は、前記ドキュメントの前記第１の部分に含めるべきオブジェクトの最小数に対応することと、
前記サーバー・コンピューター上で、前記ドキュメントの１つまたは複数のオブジェクトを前記クライアント・コンピューターに送信するステップであって、前記１つまたは複数のオブジェクトは、前記ドキュメントの先頭から開始し、前記クライアント・コンピューターに送信されているオブジェクトの数が前記オブジェクト閾値に等しくなるまでのオブジェクトを含むことと
を備えることを特徴とする方法。
【請求項１０】
コンピューター可読記憶媒体であって、コンピューティングデバイスにより実行されると、前記コンピューティングデバイスに、
ドキュメントの第１の部分を開く第１の要求をサーバー・コンピューターに送信することであって、前記ドキュメントは前記サーバー・コンピューターに格納され、前記ドキュメントの前記第１の部分は前記ドキュメント全体より小さく、前記要求は、前記ドキュメントの前記第１の部分のサイズを判定するのに前記サーバー・コンピューターが使用する情報を含む、ことと、
前記ドキュメントの前記第１の部分を前記サーバー・コンピューターから受信することと、
前記ドキュメントの前記第１の部分を前記サーバー・コンピューターから受信した後に、前記ドキュメントの第２の部分を前記クライアント・コンピューターにおけるディスプレイ・スクリーン上でレンダリングすることであって、前記ドキュメントの前記第２の部分は前記ドキュメントの前記第１の部分のサブセットである、ことと、
前記ドキュメントのさらなる部分が前記サーバー・コンピューターにおいて利用可能であると判定することと、
ユーザーが前記クライアント・コンピューターにおけるディスプレイ・スクリーン上で前記ドキュメントの第３の部分をスクロールしたと判定することであって、前記ドキュメントの前記第３の部分は所定数のオブジェクトを含み、前記オブジェクトの各々は段落、テーブル、リストまたは画像のうちの１つである、ことと、
前記ユーザーが前記ドキュメントの前記第３の部分をスクロールしたと判定したとき、および前記ドキュメントのさらなる部分が前記サーバー・コンピューターにおいて利用可能であると判定したときは、前記ドキュメントの追加部分を開く第２の要求を前記サーバー・コンピューターに送信することであって、前記ドキュメントの前記追加部分のサイズは、スクロールした前記ドキュメントの前記第３の部分のサイズと類似する、ことと
を含む方法を実行させる命令を備えることを特徴とするコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバー・コンピューターに格納されたドキュメントの部分的なロードおよび編集のためのシステムおよび方法に関する。
【背景技術】
【０００２】
クライアント・コンピューターによりアクセスされるドキュメントは一般に、ネットワークを通じてサーバー・コンピューターまたはデータベースに格納される。典型的なドキュメントへのアクセスは、サーバー・コンピューターに格納されたドキュメントをクライアント・コンピューター上のウェブ・ブラウザーを介して閲覧すること、および、サーバー・コンピューターに格納されたドキュメントをクライアント・コンピューター上のアプリケーションプログラムを介して編集することを含む。
【０００３】
ネットワークを通じてクライアント・コンピューター上のドキュメントにアクセスするときは、送信距離、ドキュメント長および他の要因に起因して、時間遅延が生ずる場合がある。
【発明の概要】
【０００４】
本概要は、選択した概念を、以下の発明を実施するための形態でさらに詳細に説明される、簡易な形式で導入するために提供される。本概要は、特許請求する主題の主要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求する主題の範囲を決定する際の支援として意図したものでもない。
【０００５】
本開示の実施形態は、クライアント・コンピューターにおいてドキュメントにアクセスする方法に関する。クライアント・コンピューターにおいて、ドキュメントの第１の部分を開く第１の要求をサーバー・コンピューターに送信する。当該ドキュメントはサーバー・コンピューターに格納される。ドキュメントの第１の部分はドキュメント全体よりも小さい。当該要求は、ドキュメントの第１の部分のサイズを判定するのにサーバー・コンピューターが使用する情報を含む。クライアント・コンピューターにおいて、ドキュメントの第１の部分をサーバー・コンピューターから受信する。ドキュメントの第１の部分をサーバー・コンピューターから受信した後、ドキュメントの第２の部分をクライアント・コンピューター上のディスプレイ・スクリーン上にレンダリングする。ドキュメントの第２の部分は、ドキュメントの第１の部分のサブセットである。クライアント・コンピューターにおいて、ドキュメントのさらなる部分がサーバー・コンピューターにおいて利用可能であるという判定がされる。クライアント・コンピューターにおいて、ユーザーがクライアント・コンピューター上のディスプレイ・スクリーン上でドキュメントの第３の部分をスクロールしたという判定がされる。クライアント・コンピューターが、ユーザーがドキュメントの第３の部分をスクロールしたと判定したとき、および、クライアント・コンピューターが、ドキュメントのさらなる部分がサーバー・コンピューターにおいて利用可能であるという判定したときは、ドキュメントの追加部分を開く第２の要求をサーバー・コンピューターに送信する。
【０００６】
これらの特徴およびその他の特徴ならびに利点は、下記の詳細な説明を読み、および添付図面を検討することで明らかになるであろう。上記の一般的な説明および下記の詳細な説明はともに例示にすぎず、特許請求する態様を限定するものではないことは理解されよう。
【図面の簡単な説明】
【０００７】
【図１】ネットワーク上でドキュメントにアクセスする際に使用される例示的なシステムを示す図である。
【図２】図１のサーバー・コンピューターに格納された例示的なドキュメントのページを示す図である。
【図３】図１のクライアント・コンピューター上の例示的なメモリ領域における例示的なドキュメントの格納状態を示す図である。
【図４】図１のクライアント・コンピューター上の例示的なメモリ領域におけるドキュメントの格納状態の別の例を示す図である。
【図５】図１のクライアント・コンピューター上の例示的なメモリ領域におけるドキュメントの格納のさらに別の例を示す図である。
【図６】ドキュメントの一部をクライアント・コンピューターにおいて開く例示的な方法を示す図である。
【図７】ドキュメントの一部をサーバー・コンピューターにおいて開く例示的な方法を示す図である。
【図８】図７において開くべきドキュメントの部分に関するオブジェクトの閾値を判定する例示的な方法を示す図である。
【図９】図１のクライアント・コンピューターおよびサーバー・コンピューターの例示的なコンポーネントを示す図である。
【発明を実施するための形態】
【０００８】
本出願は、サーバー・コンピューターに格納されたドキュメントの部分的なロードおよび編集を行うシステムおよび方法に関する。
【０００９】
例示的な実施形態では、サーバー・コンピューターに格納されたドキュメントにクライアント・コンピューター上でアクセスするときに、サーバー・コンピューターはドキュメントの一部のみを開き、ドキュメントの開いた部分をクライアント・コンピューターに送信する。開かれたドキュメントの部分のサイズは、一般に、クライアント・コンピューター上のディスプレイ・スクリーンに適合することができるドキュメントのサイズに、スクロールを可能とするドキュメントをやや多くの部分を加えたものに対応する。開かれたドキュメントの部分を、クライアント・コンピューター上のメモリにロードする。ドキュメント全体ではなくキュメントの一部のみを開き、ドキュメントのこの部分をクライアント・コンピューターにロードすることによって、ドキュメントをクライアント・コンピューター上で、ドキュメント全体を開いた場合よりも高速にレンダリングすることができる。
【００１０】
本開示では、ドキュメントの一部を開くことは、ドキュメントに対するハンドルをサーバー・コンピューターにおいて取得し、およびドキュメントの一部をクライアント・コンピューターに送信することを指す。
【００１１】
図１は、ネットワーク上でドキュメントにアクセスする際に使用される例示的なシステム１００を示す。例示的なシステム１００は、クライアント・コンピューター１０２、１０４、ネットワーク１１０、およびサーバー・コンピューター１１２を含む。より多くまたはより少ないクライアント・コンピューターおよびサーバー・コンピューターを使用することができる。
【００１２】
サーバー・コンピューター１１２は、ネットワーク１１０を介してクライアント・コンピューター１０２および１０４にアクセス可能である。ネットワーク１１０の例は、インターネットおよび企業のイントラネットである。ネットワーク１１０のその他の例が可能である。
【００１３】
例示的なクライアント・コンピューター１０２は、ウェブ・ブラウザー１０６を含み、および例示的なクライアント・コンピューター１０４は、クライアント・ソフトウェア・アプリケーション１０８を含む。例示的なクライアント・ソフトウェア・アプリケーションは、本件特許出願人提供のＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）２０１０文書処理プログラムである。
【００１４】
サーバー・コンピューター１１２に格納されたドキュメントにクライアント・コンピューター１０２上のウェブ・ブラウザー１０６がアクセスするとき、クライアント・コンピューター１０２はドキュメントを開く要求をサーバー・コンピューター１１２に送信する。当該要求は一般に、クライアント・コンピューター１０２上の情報の表示に関する１つまたは複数のパラメータを含む。例えば、あるパラメータが、ドキュメントがレンダリングされるクライアント・コンピューター１０２上のディスプレイ・スクリーンのサイズを指定してもよい。別のパラメータが、ドキュメントがレンダリングされるフォント・サイズを指定してもよい。第３のパラメータが、ディスプレイ・スクリーンの画素解像度を指定してもよい。他の例示的なパラメータを使用してもよい。
【００１５】
例示的なサーバー・コンピューター１１２がドキュメントを開く要求を受信するときに、サーバー・コンピューター１１２は、ドキュメントを部分的に開くべきであると判定する。一部の例では、サーバー・コンピューター１１２は、ドキュメントを部分的に開くべきであると判定し、当該判定はクライアント・コンピューター１０２上の情報の表示に関する１つまたは複数のパラメータの存在によって行われる。他の例では、ドキュメントを開く要求が、ドキュメントを部分的に開くべきであると指定する関数コードを含んでもよい。サーバー・コンピューター１１２がドキュメントを部分的に開くべきであると判定する他の手段が可能である。
【００１６】
サーバー・コンピューター１１２は、１つまたは複数のパラメータに含まれる情報を使用して、ドキュメントのどれだけ多くの部分をクライアント・コンピューター１０２に送信すべきかを判定する。サーバー・コンピューター１１２は、ドキュメントのどれだけ多くの部分がクライアント・コンピューター１０２上のディスプレイ・スクリーンのサイズに適合するかを判定する。サーバー・コンピューター１１２が、ドキュメントのどれだけ多くの部分がクライアント・コンピューター１０２上のディスプレイ・スクリーンのサイズに適合するかを判定するときに、サーバー・コンピューター１１２は、判定したサイズに追加のサイズを加えた分のドキュメントを開く。追加のサイズは、クライアント・コンピューター１０２にロードすべきであるが現在は表示されない、ドキュメントの一部を表す。例えば、ドキュメントを開くとき、追加のサイズは、あるディスプレイ・スクリーンに対応してもよく、当該ディスプレイ・スクリーンはあるディスプレイ・スクリーンに適合するドキュメントの初期部分の下に位置する。クライアント・コンピューター１０２におけるユーザーがドキュメントの第１の表示されたスクリーンを越えてスクロールするときに、ドキュメントの第２のスクリーンは既にロードされ、および表示の準備ができている。
【００１７】
サーバー・コンピューター１１２がドキュメントのどれだけ多くの部分を開くかを判定するときに、サーバー・コンピューター１１２は、サーバー・コンピューター１１２が開いたドキュメントの部分をクライアント・コンピューター１０２に送信する。クライアント・コンピューター１０２がドキュメントの当該部分をサーバー・コンピューター１１２から受信するときに、クライアント・コンピューター１０２は受信したドキュメントの当該部分をクライアント・コンピューター１０２上のメモリにロードする。そして、クライアント・コンピューター１０２は、ドキュメントの第１のページをクライアント・コンピューター１０２上のディスプレイ・スクリーンにレンダリングする。
【００１８】
図２は、サーバー・コンピューター１１２に格納された例示的なドキュメント２００のページを示す。例示的なドキュメント２００のページは、５つの最上位オブジェクト−４つのパラグラフおよび１つのテーブルを含む。本開示で使用する際、オブジェクトとはドキュメントの特定のコンポーネントである。例示的なオブジェクトは、段落、テーブル、画像、文、ワード、テーブルのセル、およびハイパーリンクを含む。その他の例示的なオブジェクトが可能である。段落、テーブル、および画像などのオブジェクトは、追加的な組込みオブジェクトを含むことができるので、それらは最上位オブジェクトとして指定される。例えば、段落オブジェクトが１つまたは複数の文オブジェクトを含んでもよい。その他の最上位オブジェクトが可能である。各最上位オブジェクトは、一意な識別子を有する。したがって、ドキュメント内の各段落、文、ワード、画像、テーブル、およびテーブルのセル等は一意に識別される。
【００１９】
例示的なドキュメント２００における第１の最上位オブジェクトは段落２０２である。例示的な段落２０２は、ＩＤ＃１００によって識別される。ドキュメント２００における他の最上位オブジェクトは、段落２０４（ＩＤ＃２００）、段落２０６（ＩＤ＃３００）、テーブル２０８（ＩＤ＃４００）、および段落２１０（ＩＤ＃５００）を含む。種々の例において、段落における文または文におけるワードなどの、別のオブジェクトに組み込まれたオブジェクトが、高位オブジェクトに関連付けられたＩＤを有してもよい。例えば、段落２０２における第１の文を１１０によって識別してもよく、第１の文における第１のワードを１０１によって識別してもよい。種々の例において、ＩＤ番号が別のフォーマットであってもよい。本明細書でさらに詳細に論ずるように、一意なＩＤを伴うドキュメント内の各オブジェクトを識別することで、当該ドキュメントの編集が容易になる。
【００２０】
ドキュメントは一般に、当該ドキュメントに特有なフォーマットでサーバー・コンピューター１１２に格納される。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書処理のドキュメントは一般に、Ｗｏｒｄ（登録商標）文書処理のドキュメントと一貫した形式で格納される。Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書処理アプリケーションの幾つかのバージョンについては、フォーマットはＸＭＬであってもよい。Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書処理アプリケーションのその他のバージョンについては、フォーマットは独自のものであってもよい。しかし、Ｗｏｒｄ（登録商標）文書処理のドキュメントがクライアント・コンピューター１０２のウェブ・ブラウザー上にレンダリングされるときに、Ｗｏｒｄ（登録商標）文書処理のドキュメントは、ウェブ・ブラウザーと一貫したフォーマット、例えばＨＴＭＬフォーマットでレンダリングされる。サーバー・コンピューター１１２はドキュメントの開いた部分をクライアント・コンピューター１０２に送信する。当該部分はクライアント・コンピューター１０２がＨＴＭＬに変換できるフォーマットである。種々の例において、サーバー・コンピューター１１２がクライアント・コンピューター１０２上でレンダリングすべきドキュメントの一部を開くときに、サーバー・コンピューター１１２はドキュメントをＷｏｒｄ（登録商標）文書処理フォーマットからＸＭＬフォーマットに変換してもよい。そして、サーバー・コンピューター１１２はドキュメントの開いた部分をクライアント・コンピューター１０２にＸＭＬフォーマットで送信する。
【００２１】
サーバー・コンピューター１１２がドキュメントの当該部分を開くことを判定するときに、サーバー・コンピューター１１２はドキュメントの開いた部分に含めるべきオブジェクトの数に関する閾値を判定する。サーバー・コンピューター１１２は、オブジェクト閾値を幾つかの方法のうち１つを介して判定してもよい。１つの方法では、サーバー・コンピューター１１２はクライアント・コンピューター１０２のディスプレイ・スクリーンに関する情報を取得する。当該情報は、当該ドキュメントを開く要求においてクライアント・コンピューター１０２からサーバー１１２に送信される１つまたは複数のパラメータで提供される。
【００２２】
当該１つまたは複数のパラメータに含まれるディスプレイ・スクリーン情報は、ディスプレイ・スクリーンのサイズ、ディスプレイ・スクリーンで使用されるフォントのサイズ、およびディスプレイ・スクリーンの画素解像度を含んでもよい。ディスプレイ・スクリーン情報を使用して、サーバー・コンピューター１１２はディスプレイ・スクリーンに適合するオブジェクトの数を判定する。別の方法では、ディスプレイ・スクリーンに適合するオブジェクトの数を、ドキュメントの部分を開くクライアント・コンピューター１０２からの要求メッセージに含まれるヒントから判定する。
【００２３】
そして、サーバー・コンピューター１１２は、追加のオブジェクトの数を判定する。個の数は、一般には１つまたは２つの追加のディスプレイ・スクリーンのサイズに対応する。オブジェクト閾値は、ディスプレイ・スクリーンに適合するオブジェクトの数に追加のオブジェクトの数を加えた総数に対応する。１つまたは２つの追加のディスプレイ・スクリーンのサイズに対応するドキュメントの部分は、クライアント・コンピューター１０２におけるユーザーがページをスクロールし、および隣接するページをクライアント・コンピューター１０２上のメモリからレンダリングさせることを可能とする。オブジェクト閾値を計算するその他の方法が可能である。
【００２４】
サーバー・コンピューター１１２は、オブジェクト閾値のサイズに対応するドキュメントの一部を開き、およびドキュメントのオブジェクトをクライアント・コンピューター１０２に送信し始める。オブジェクト閾値に達したときに、サーバー・コンピューター１１２は、オブジェクトのクライアントコンピューター１０２への送信を、最上位オブジェクトの最後に達するまで継続する。最上位オブジェクトの最後に達するまで送信することで、例えば、ドキュメントの開いた部分が、段落またはテーブルの真ん中で途切れるのではなく、最上位オブジェクト上で途切れることが保証される。オブジェクト閾値に達したときに、および最上位オブジェクトの最後に達したときに、サーバー・コンピューター１１２はオブジェクトのクライアント・コンピューター１０２への送信を停止する。
【００２５】
図３は、クライアント・コンピューター１０２上のメモリ領域３０８を使用して、サーバー・コンピューター１１２からクライアント・コンピューター１０２に送信されるドキュメントの開いた部分をロードしおよび格納する例を示す。メモリ領域３０８は、様々な最上位オブジェクトのサイズに対応するためにサイズが可変である。例示的なメモリ領域３０８は、ドキュメントの開いた部分の３つのページの部分からのデータを格納する。その他の例では、ページの部分のより多くのページもしくはより少ないページを含む様々なメモリ・サイズを格納してもよい。
【００２６】
図３では、ページ３０４は、黒の太線枠で示され、クライアント・コンピューター１０２上でレンダリングされたドキュメント・データのページに対応する。ページ３０４は、３つの例示的な最上位オブジェクト−オブジェクト３１６、３１８、および３２０を含む。ページ３０２は、ページ３０４に先行するドキュメントのページに対応し、およびページ３０６は、ページ３０４に続くドキュメントのページに対応する。図３では、ページ３０２および３０６の一部のみを実際にクライアント・コンピューター１０２上のメモリ領域３０８にロードする。例えば、ページ３０２のオブジェクト３１２および３１４をメモリ領域３０８にロードするが、オブジェクト３１０はロードしない。同様に、オブジェクト３２０、３２２、および３２４をメモリ領域３０８にロードするが、オブジェクト３２６はロードしない。
【００２７】
先に論じたように、サーバー・コンピューター１１２は一般に、開いたドキュメントのデータをクライアント・コンピューター１０２に送信する。当該開いたドキュメントのデータは、レンダリングされたデータの１つのページにドキュメントの追加のセクションを加えたものに対応する。図３では、ページ３０４は、レンダリングされるページに対応する。ページ３０２のオブジェクト３１２および３１４、ならびにページ３０６のオブジェクト３２０、３２２および３２４は、ドキュメントの追加のセクションに対応する。ドキュメントの追加のセクションをロードしおよび格納する理由は、ユーザーがドキュメントのスムーズなスクロールを可能とすることである。
【００２８】
例えば、ユーザーがページ３０４の最下部を越えてスクロールダウンした場合、オブジェクト３２０は、クライアント・コンピューター１０２上のメモリに既に格納されており、いかなる追加のダウンロードすることなく参照することができる。同様に、ユーザーがページ３０４の上端を越えて上にスクロールした場合、オブジェクト３１４も既にクライアント・コンピューター１０２のメモリに格納されており、何らさらにダウンロードすることなく閲覧することができる。
【００２９】
図３に示すように、メモリ領域３０８にロードされ、および格納された最初のオブジェクトはオブジェクト３１２であり、メモリ領域３０８にロードされ、および格納された最後のオブジェクトはオブジェクト３２４である。メモリ領域３０８は全部の最上位オブジェクトを格納する。メモリ領域３０８の最上部は、項目３２８により指定され、最上位オブジェクト３１２の最初の線に対応する。同様に、メモリ領域３０８の最下部は、項目３３０により指定され、最上位オブジェクト３２４の最後の線に対応する。ユーザーが、ページ３０４の最下部へスクロールダウンして、ページ３０６の一部がクライアント・コンピューター１０２のディスプレイ・スクリーン上でレンダリングされるときに、オブジェクト３１２がメモリ領域３０８の外に移動することができ、およびオブジェクト３２６がメモリ領域３０８の中に移動することができる。
【００３０】
このように、メモリ領域３０８のサイズを調節して、新たな最上位オブジェクトを含み、および古い最上位オブジェクトを削除する。さらに、下記で論ずるように、メモリ領域３０８から削除した最上位オブジェクトをクライアント・コンピューター１０２からアンロードし、追加のオブジェクトをサーバー・コンピューター１１２から受信し、およびメモリ領域３０８に格納してもよい。
【００３１】
図４はクライアント・コンピューター１０２のメモリ領域４０２の例を示し、図２におけるドキュメントの一部が最初にクライアント・コンピューター１０２において開かれ、およびサーバー・コンピューター１１２から受信されるときに対応する。メモリ領域４０２にロードしおよび格納するドキュメントの例示的な部分は、ドキュメント２００の第１のページ、およびドキュメントの第２のページ４０４の一部を含む。種々の例において、ドキュメントの第２のページ４０４全体をメモリ領域４０２にロードしおよび格納してもよい。
【００３２】
ドキュメント２００の第１のページが、クライアント・コンピューター１０２のディスプレイ・スクリーン上でレンダリングされる。一般に、レンダリングされたページに先行するドキュメントのページもしくはページの一部もメモリ領域４０２にロードしおよび格納する。しかし、この例では、レンダリングされたページがドキュメントの第１のページであるので、第１のページに先行するロードすべきコンテンツはない。この例では、これを、ドキュメント２００の第１のページに先行する空白ページ４０１により示す。この例では、ユーザーがページ２００の最下部およびページ４０２にスクロールしたときに、メモリ空間がページ２００を格納できるようにするために、ページ２００をロードした場所より上のメモリ領域４０２の部分は使用されない。メモリ領域４０２におけるスクロールの実装については、本明細書においてよりさらに詳細に論ずる。
【００３３】
図４に示すように、ドキュメントの第１のページ２００は、オブジェクト２０２、２０４、２０６、および２０８、ならびにオブジェクト２１０の一部を含む。ドキュメントの第２のページ４０４は、オブジェクト２１０の残りの部分を含み、４０８、４１０、および４１２も含む。しかし、この例では、ドキュメントの第２のページ４０４の一部のみをロードするので、オブジェクト４１２はメモリ領域４０２からはずれ、かつこの時点では実際にクライアント・コンピューター１０２にロードおよび格納がされていない。図４において、オブジェクト４１２は、オブジェクト４１２がページ４０４の一部であることを示すように示されている。
【００３４】
オブジェクト２０２、２０４、２０６、２０８、２１０、４０８、４１０、および４１２は全て最上位オブジェクトであり、例えば、これらが段落、テーブル、リスト、または画像などのオブジェクトを含むことを意味する。サーバー・コンピューター１１２が、開くドキュメントの部分のサイズを、サーバー・コンピューター１１２が計算したオブジェクト閾値に基づいて判定するときに、サーバー・コンピューターは、オブジェクト閾値に対応するオブジェクトを、当該オブジェクト閾値に対応するオブジェクトを含む最上位オブジェクトの最後まで渡し続ける。図４に示すように、メモリ領域４０２にロードされおよび格納された最後の最上位オブジェクトはオブジェクト４１０である。オブジェクト４１０の最後の線４０６は、メモリ領域４０２の最後に対応する。
【００３５】
サーバー・コンピューター１１２がドキュメントの部分をクライアント・コンピューター１０２に送信するときに、サーバー・コンピューター１１２はまた、ドキュメントのさらなる部分がサーバー・コンピューター１１２において利用可能であるということのインジケーションを提供する。サーバー・コンピューター１１２は、ドキュメントのさらなる部分が利用可能であるということのインジケーションを、ドキュメントの部分をクライアント・コンピューター１０２に送信するのに使用するメッセージ内にフラグを設定することにより提供してもよい。当該フラグは一般に、ドキュメントのさらなる部分が利用可能であるときに設定される。フラグを使用する代わりに、サーバー・コンピューター１１２は、送信されるドキュメントの部分における最後のオブジェクトのＩＤ、およびドキュメントにおける最後のオブジェクトのＩＤを当該メッセージに含めてもよい。当該ＩＤを評価することによって、クライアント・コンピューター１０２はドキュメントのさらなる部分が利用可能であるかを、サーバー・コンピューター１１２から判定してもよい。クライアント・コンピューター１０２とサーバー・コンピューター１１２との間で送信されるメッセージは、ＨＴＴＰ通信プロトコルを使用した標準的なウェブ・ベースのメッセージである。
【００３６】
ユーザーがレンダリングされたドキュメントのスクロールを開始し、およびドキュメント全体がまだクライアント・コンピューター１０２にロードされていないとき、クライアント・コンピューター１０２はドキュメントのさらなる部分を開いて、およびクライアント・コンピューター１０２にロードする必要があると判定する。クライアント・コンピューター１０２は、ドキュメントのさらなる部分を、スクロール度合いに基づいて取得する必要があると判定する。種々の例において、クライアントはスクロールされた最上位オブジェクトの数を計算し、およびスクロールされた最上位オブジェクトの数が閾値、例えばレンダリングされたデータのページ半分に対応する閾値より大きいときは、クライアント・コンピューター１０２はドキュメントの追加部分をサーバー・コンピューター１１２に要求する。種々の例において、閾値はページ半分より大きくても小さくてもよい。例えば、閾値が１ページまたは１ページの４分の３であってもよい。
【００３７】
図５は、ユーザーがドキュメントを１ページ分スクロールダウンしたときの例示的なメモリ領域４０２を示す。図５に示すように、ユーザーに対してレンダリングされたドキュメントの部分は、オブジェクト４０８、４１０および４１２、ならびにオブジェクト２１０の一部を含むページ４０４である。メモリ領域４０２の最上部は、オブジェクト２０６の最上部の線５０４に対して調整される。オブジェクト２０２および２０４はこの時点でメモリ領域４０２の外部にある。種々の例において、オブジェクトがスクロールの結果としてメモリ領域４０２の外部に移動したとき、当該オブジェクトをクライアント・コンピューター１０２からアンロードして、クライアント・コンピューター１０２上のメモリ・リソースを節約してもよい。例えば、メモリ・オブジェクト２０２および２０４をクライアント・コンピューター１０２によってアンロードしてもよい。メモリ・オブジェクト２０２および２０４がクライアント・コンピューター１０２によってアンロードされるときに、ユーザーがドキュメントの最上部にスクロールしたときにこれらのメモリ・オブジェクトを再度サーバー・コンピューター１１２から取得する必要がある。
【００３８】
図５はまた、ドキュメントにおいて１ページ分スクロールダウンした結果として、サーバー・コンピューター１１２が、ページ５０２により表されるドキュメントにおける次のページをメモリ領域４０２にロードすることを示す。この例では、ドキュメントにおける次のページは画像であり、オブジェクト５１０に対応する。サーバー・コンピューター１１２が最上位オブジェクトをクライアント・コンピューター１０２に送信するので、メモリ領域４０２の最下部がオブジェクト５１０の最後の線５０６に対して調整される。
【００３９】
種々の例において、サーバー・コンピューター１１２はドキュメントの次のページ（オブジェクト５０６に対応）を、クライアント・コンピューター１０２からの要求メッセージの結果として送信する。クライアント・コンピューターは、ユーザーが１ページ分スクロールダウンしたことを検出すると、要求メッセージをクライアント・コンピューター１０２に送信する。要求メッセージは、ドキュメントの追加部分を開き、およびドキュメントの追加部分をクライアント・コンピューター１０２に送信するようにサーバー・コンピューター１１２に命令する。ドキュメントの追加部分はこのケースでは１ページに対応する。種々の例において、クライアント・コンピューター１０２は、ユーザーが１ページより多くまたは少なくスクロールした結果として、要求をサーバー・コンピューター１１２に発行してもよい。
【００４０】
ドキュメントの部分をクライアント・コンピューター１０２上でスクロールしおよび参照することに加えて、ユーザーはドキュメントの１つまたは複数の部分を編集し、またはコンテンツをドキュメントに追加してもよい。論じたように、ドキュメント内の各オブジェクトは一意なＩＤ番号により識別される。ユーザーがドキュメントの一部を編集するときに、サーバー・コンピューター１１２において、編集されたオブジェクトが識別され、およびドキュメントの開いた部分に対して更新される。新たなオブジェクト、例えば新たなワード、文、または段落が追加された場合、当該ワード、文、または段落に対してＩＤ番号が生成される。種々の例において、既存のオブジェクトのＩＤ番号を調節して、追加されたワード、文、または段落の位置を示してもよい。さらに、当該ドキュメントの一部のみが開かれ、および編集されたオブジェクトのＩＤが既知であるので、ドキュメント全体を開く必要がなく、ドキュメントを編集し、および変更をサーバー・コンピューター１１２に保存することができる。
【００４１】
図６は、ドキュメントの一部をクライアント・コンピューターにおいて開く方法６００の例示的なフローチャートを示す。例えば、ドキュメントの部分をクライアント・コンピューター１０２におけるウェブ・ブラウザー１０６で開いてもよい。あるいは、ドキュメントの部分をクライアント・コンピューター１０４におけるクライアント・アプリケーション、例えばＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書処理アプリケーション１０８で開いてもよい。開くべきドキュメントはサーバー・コンピューター、例えばサーバー・コンピューター１１２に格納される。
【００４２】
オペレーション６０２において、ドキュメントの一部を開く要求メッセージをクライアント・コンピューター１０２からサーバー・コンピューター１１２に送信する。要求メッセージは、開くべきドキュメントの部分のサイズを示す情報を含む。例えば、要求メッセージ、ドキュメントの部分に含めるべきオブジェクトの数を示すヒントを含んでもよい。あるいは、要求メッセージは、クライアント・コンピューター１０２における情報の表示に関する情報を提供する１つまたは複数のパラメータを含んでもよい。当該情報は、ディスプレイ・スクリーンのサイズ、フォント・サイズ、およびディスプレイの画素解像度などの項目を含んでもよい。
【００４３】
オペレーション６０４において、ドキュメントの第１の部分をサーバー・コンピューター１１２から受信する。ドキュメントの第１の部分は一般に、ドキュメントの第１のページに、ドキュメントの追加分、一般にはページもしくはページの一部を加えたものを含む。種々の例において、ドキュメントの第１の部分のサイズは、このサイズより大きいかまたは小さいサイズを含んでもよい。ドキュメントのページより大きいものを含める理由は、クライアント・コンピューター１０２のユーザーが第１のページを越えてスクロールし、および第２のページもしくは第２のページの一部をクライアント・コンピューター１０２上のメモリから迅速に表示できるようにすることである。
【００４４】
ドキュメントの第１の部分を送信することに加えて、サーバー・コンピューター１１２はまた、クライアント・コンピューターに対し、ドキュメントのさらなる部分が利用可能であるかを示す。サーバー・コンピューター１１２は、ドキュメントのさらなる部分が利用可能であることを、サーバー・コンピューター１１２からクライアント・コンピューター１０２に送信されるメッセージ内にフラグを設定することで示してもよい。ドキュメントのさらなる部分が利用可能であることを示す他の方法が可能である。例えば、サーバー・コンピューター１１２は、ドキュメントにおける最後のオブジェクトのＩＤ、および送信された部分における最後のオブジェクトのＩＤを含めてもよい。そして、クライアント・コンピューター１０２はＩＤを比較して、ドキュメントのさらなる部分が利用可能であると判定してもよい。
【００４５】
オペレーション６０６において、サーバー・コンピューター１１２から受信したドキュメントの第１の部分をクライアント・コンピューター１０２上の第１のメモリ領域にロードする。第１のメモリ領域は、ドキュメントの一部を格納することに専用されたクライアント・コンピューター１０２のメモリ領域である。一般に、当該メモリ領域は、ドキュメントの２つまたは３つのページを格納するのに十分な大きさであるが、種々の例において、当該メモリ領域が当該ドキュメントの２つまたは３つより多いかまたは少ないページを格納してもよい。ドキュメントの２つのページを格納するのに十分な大きさのメモリ領域により、現在のページに前ページの半分および次ページの半分を加えたものを格納することができる。３つのページを格納するのに十分な大きさのメモリ領域により、現在のページに前ページ全体および次ページ全体を加えたものを格納することができる。種々の例において、ドキュメントの部分がメモリ領域からレンダリングされるので、メモリ領域はビューポートとして知られている。
【００４６】
サーバー・コンピューター１１２から取得し、およびメモリ領域に格納したドキュメントの部分は、１つまたは複数のオブジェクトを備える。各オブジェクトは単語、ワード、段落、テーブル、テーブルのセルなどのドキュメントの特定の部分を表す。各オブジェクトは一意なＩＤを有する。さらに、オブジェクトの１つまたは複数が最上位オブジェクトとして指定される。最上位オブジェクトは、１つまたは複数の他のオブジェクトを備える、ドキュメント内のオブジェクトである。例えば、段落は、１つまたは複数の文オブジェクトおよびワードオブジェクトを備える最上位オブジェクトである。
【００４７】
当該メモリ領域に格納したドキュメントの部分におけるオブジェクトは、最上位オブジェクトの境界上に配置される。したがって、メモリ領域は最上位オブジェクトの最初の線により始まり、最上位オブジェクトの最後の線により終わる。最上位オブジェクトは一般に、ＸＭＬコードの１つまたは複数の行から構成される。メモリ領域における最後の最上位オブジェクトのサイズについて調整するために、当該メモリ領域のサイズが調整可能である。
【００４８】
オペレーション６０８において、ドキュメントの第２の部分をクライアント・コンピューター１０２のディスプレイ・スクリーン上でレンダリングする。一般に、当該第２の部分はドキュメント・データのページを含む。ドキュメントの第２の部分は、クライアント・コンピューター１０２上のメモリ領域からレンダリングされ、ドキュメントの第１の部分の一部を備える。図４のページ２００および図５のページ４０４は、クライアント・コンピューター１０２のメモリ領域からレンダリングしたドキュメントのページの例である。
【００４９】
オペレーション６１０において、ユーザーがドキュメントをスクロールする。オペレーション６１２において、ドキュメントのさらなる部分がサーバー・コンピューター１１２で利用可能であるかを判定する。種々の例において、当該判定は、オペレーション６０４において、サーバー・コンピューター１１２からクライアント・コンピューター１０２へ送信されたドキュメントの第１の部分を有するメッセージ内のフラグの状態をチェックすることを含んでもよい。他の例では、クライアント・コンピューター１０２は、サーバー・コンピューター１１２から送信されたドキュメントの部分における最後のＩＤを、ドキュメントにおける最後のＩＤと比較してもよい。
【００５０】
オペレーション６１４において、ドキュメントのさらなる部分がサーバー・コンピューター１１２において利用可能であると判定するときに、クライアント・コンピューター１０２は、ドキュメントのさらなる部分をいつサーバー・コンピューター１１２から取得するかを判定する。種々の例において、クライアント・コンピューターは、ドキュメントのページがユーザーによりスクロールされた後に、ドキュメントのさらなる部分をサーバー・コンピューター１１２から取得すると判定する。他の例では、クライアント・コンピューターは、ユーザーがクライアント・コンピューター１０２においてドキュメントのどの部分をスクロールしても常に、ドキュメントのさらなる部分をサーバー・コンピューター１１２から取得すると判定する。他の例が可能である。
【００５１】
オペレーション６１６において、ドキュメントのさらなる部分をサーバー・コンピューター１１２から取得するとクライアント・コンピューター１０２において判定されるときに、クライアント・コンピューター１０２はドキュメントの第３の部分に対する要求メッセージをサーバー・コンピューター１１２に送信する。要求メッセージは、ドキュメントの第３の部分のサイズに関する情報を含む。種々の例において、ドキュメントのサイズに関する情報は、ドキュメントの第３の部分に含めるべきオブジェクトの数に関するヒントを含んでもよい。種々の例において、ドキュメントのサイズに関する情報は、クライアント・コンピューター１０２上でレンダリングされたドキュメントに対するスクロール量を示す１つまたは複数のパラメータを含んでもよい。サーバー・コンピューター１１２は、ドキュメントのサイズに関する情報を使用してドキュメントの第３の部分のサイズを判定する。
【００５２】
オペレーション６１８において、ドキュメントの第３の部分をサーバー・コンピューター１１２から受信する。オペレーション６２０において、ドキュメントの第３の部分を第１のメモリ領域にロードする。ドキュメントの第３の部分を第１のメモリ領域にロードするときに、ユーザーがドキュメントをスクロールダウンしたので、ドキュメントの第３の部分を第１のメモリ領域の最後に追加する。第１のメモリ領域のサイズを拡張して、ドキュメントの第３の部分のサイズを収容する。ドキュメントの第３の部分の最後は、最上位オブジェクトであり、および最上位オブジェクトの最後は第１のメモリ領域の最後に対応する。
【００５３】
種々の例において、ドキュメントの第３の部分を第１のメモリ領域に追加するときに、一般に、サイズがドキュメントの第３の部分と類似するドキュメントの一部を、第１のメモリ領域からアンロードする。ドキュメントの一部を第１のメモリ領域からアンロードすることで、クライアント・コンピューター１０２上のメモリ消費が削減される。
【００５４】
オペレーション６２２において、ドキュメントの第４の部分を第１のメモリ領域からアンロードする。ドキュメントの第４の部分は、ドキュメントの第１の部分のサブセットである。先に論じたように、ドキュメントの第４の部分のサイズは、一般にドキュメントの第３の部分と類似する。ドキュメントの第４の部分のサイズは、ドキュメントの第３の部分と類似するが、ドキュメントの第３の部分と同一ではない。なぜならば、第１のメモリ領域が最上位オブジェクトで終了し、ドキュメントの第１および第３の部分における最上位オブジェクトのサイズが異なる場合があるからである。ドキュメントの第３の部分を第１のメモリ領域に追加するときに、ドキュメントの第４の部分を第１のメモリ領域からアンロードすることで、クライアント・コンピューター１０２のメモリ消費を制限する。
【００５５】
オペレーション６２４において、ユーザーが、クライアント・コンピューター１０２上でレンダリングされたドキュメントの部分を編集する。種々の例において、ドキュメントがクライアント・コンピューター１０２上に表示されている任意の時点で、ドキュメントを編集してもよい。これには、ドキュメントが最初に表示された時点またはドキュメントがスクロールされた後の時点が含まれる。図６はドキュメントのさらなる部分がサーバー・コンピューター１１２において利用可能でないときに、ドキュメントを編集していることを示すが、これはドキュメントを編集することができる時点の１例にすぎない。
【００５６】
オペレーション６２６において、ユーザーはドキュメントの編集された部分をクライアント・コンピューター１０２において保存する。ユーザーは一般に、クライアント・コンピューター１０２上で保存ボタンを押下またはクリックすることで、ドキュメントの編集された部分を保存する。オペレーション６２８において、クライアント・コンピューター１０２は、サーバー・コンピューター１１２がドキュメントの編集された部分を保存することを要求する要求メッセージをサーバー・コンピューター１１２に送信する。サーバー・コンピューター１１２は、ドキュメント全体を開き、もしくは保存する必要もなく、ドキュメントの編集された部分を保存する。開かれたドキュメントの部分のみが保存される。
【００５７】
図７は、ドキュメントの一部をサーバー・コンピューター、例えばサーバー・コンピューター１１２において開く方法７００の例示的なフローチャートを示す。オペレーション７０２において、サーバー・コンピューター１１２は、サーバー・コンピューター１１２に格納されたドキュメントの部分を開く要求メッセージをクライアント・コンピューター１０２から受信する。要求メッセージは、開くべきドキュメントの部分のサイズに関する情報を含む。種々の例において、当該情報は、開くべきドキュメントにおけるオブジェクトの数に関するヒントを含んでもよい。他の例では、当該情報が、クライアント・コンピューター１０２のディスプレイ・スクリーンのサイズ、クライアント・コンピューター１０２で使用されるフォント・サイズ、ディスプレイ・スクリーンの解像度などの情報を指定する１つまたは複数のパラメータを含んでもよい。
【００５８】
オペレーション７０４において、サーバー・コンピューター１１２は、開くべきドキュメントの部分に対するオブジェクト閾値を判定する。オブジェクト閾値は、開くべきドキュメントの部分に含めるべきオブジェクトの数を識別する。オブジェクト閾値に関するヒントがクライアント・コンピューター１０２によって提供されないときは、当該オブジェクト閾値は一般に、クライアント・コンピューター１０２上の１つのディスプレイ・スクリーンのサイズに適合するドキュメントにおけるオブジェクトの数に、追加のオブジェクトの数を加えたものを判定することにより計算される。追加のオブジェクトの数は一般に、１つのディスプレイ・スクリーンのサイズに適合するオブジェクトの数の倍数である。
【００５９】
オペレーション７０６において、サーバー・コンピューター１１２は、要求されたドキュメントを開き、およびオブジェクト閾値に達するまで、ドキュメントにおける１つまたは複数のオブジェクトをクライアント・コンピューター１０２に送信する。オブジェクトをクライアント・コンピューター１０２に送信する前に、各オブジェクトをクライアント・コンピューター１０２において必要とされるフォーマットに変換する。例えば、Ｗｏｒｄ（登録商標）フォーマットの各オブジェクトをＸＭＬフォーマットに変換してもよい。
【００６０】
オブジェクト閾値に達するときに、オペレーション７０８において、サーバー・コンピューター１１２は、オブジェクト閾値に対応するオブジェクトに対応する最上位オブジェクトを判定する。オブジェクト閾値に対応するオブジェクトにおいてさらなるオブジェクトが存在するときに、オペレーション７１０において、サーバー・コンピューター１１２は、最上位オブジェクトにおける最後のオブジェクトに達するまでオブジェクトをクライアント・コンピューター１０２に送信し続ける。
【００６１】
オペレーション７１２において、ドキュメントの最後に達したか否かの判定を行う。オペレーション７１２において、ドキュメントの最後に達したと判定したときは、オペレーション７１４において、サーバー・コンピューター１１２はクライアント・コンピューター１０２からのさらなる動作を待つ。当該さらなる動作は、ドキュメントの編集された部分を保存すること、ドキュメントを閉じること等でもよい。
【００６２】
オペレーション７１２において、ドキュメントの最後に達していないと判定したときは、オペレーション７１６において、サーバー・コンピューター１１２は、追加のコンテンツがドキュメントに存在することをクライアント・コンピューター１０２に通知する。サーバー・コンピューター１１２は一般に、メッセージを介して当該通知をクライアント・コンピューター１０２に送信する。種々の例において、通知を新たなメッセージで送信するのではなく、当該通知を、ドキュメント・コンテンツを含むメッセージ、例えばオペレーション７０６もしくは７１０からのメッセージに含めてもよい。他の例では、クライアント・コンピューターが、ドキュメントにおける追加のコンテンツが利用可能であるかを問い合わせるメッセージをサーバー・コンピューター１１２に送信してもよく、サーバー・コンピューター１１２が当該問合せメッセージに応答して当該通知をクライアント・コンピューター１０２に送信してもよい。
【００６３】
オペレーション７１８において、サーバー・コンピューター１１２は、ドキュメントの追加部分に対する要求メッセージをクライアント・コンピューター１０２から受信する。要求メッセージは一般に、ドキュメントの追加部分のサイズに関する情報を含む。種々の例において、当該情報は、ドキュメントの追加部分に含めるべきオブジェクトの数に関するヒントであってもよい。他の例では、当該情報が、開くべきページまたはページの部分の数を含んでもよい。他の例が可能である。
【００６４】
オペレーション７２０において、サーバー・コンピューター１１２は、ドキュメントの追加部分のサイズを判定する。サーバー・コンピューター１１２は一般に、要求メッセージに含まれる情報を使用して、ドキュメントの追加部分のサイズを判定する。種々の例において、ドキュメントの追加部分のサイズをサーバー・コンピューター１１２上で構成し、またはハード・コーディングしてもよい。
【００６５】
オペレーション７２２において、オブジェクト閾値をドキュメントの追加部分に対して判定する。オブジェクト閾値は、ドキュメントの追加部分に含めるべきオブジェクトの数に対応する。ドキュメントの追加部分に含めるべきオブジェクトの数に達するときに、オペレーション７２４において、サーバー・コンピューター１１２は、オブジェクト閾値におけるオブジェクトを含む最上位オブジェクトを判定する。オペレーション７２６において、サーバー・コンピューター１１２は、ドキュメントの追加部分から１つまたは複数のオブジェクトをクライアント・コンピューター１０２に送信する。サーバー・コンピューター１１２は、オブジェクト閾値に達するまで、１つまたは複数のオブジェクトをクライアント・コンピューター１０２に送信する。オブジェクト閾値に達するときに、サーバー・コンピューター１０２は、オブジェクト閾値におけるオブジェクトに対応する最上位オブジェクトにおける最後のオブジェクトに達するまで、オブジェクトをクライアント・コンピューター１０２に送信し続ける。
【００６６】
オペレーション７２８において、サーバー・コンピューター１１２はドキュメントの編集された部分をクライアント・コンピューター１０２から受信する。ドキュメントの編集された部分は、１つもしくは複数の編集されたオブジェクト、または１つもしくは複数の新たに追加されたもしくは削除されたオブジェクトを含んでもよい。各オブジェクトは一意なオブジェクトＩＤを有するので、１つまたは複数のオブジェクトが新たに追加または削除されるときに、ドキュメントにおけるオブジェクトＩＤが、新たに追加または削除されたオブジェクトの位置に応じて調整される。
【００６７】
オペレーション７３０において、当該ドキュメントの編集された部分をサーバー・コンピューター１１２において保存する。ドキュメントの編集された部分は、ドキュメント全体を開く必要なしに保存される。
【００６８】
図８は、開くべきドキュメントの部分に対するオブジェクト閾値を判定する方法７０４の例示的なフローチャートを示す。オペレーション８０２において、開くべきドキュメントの部分のサイズに関する情報を、クライアント・コンピューター１０２からサーバー・コンピューター１１２に送信される要求メッセージにおいて識別する。開くべきドキュメントの部分のサイズを、当該要求メッセージに含まれる１つまたは複数のパラメータに含めてもよい。
【００６９】
オペレーション８０４において、オブジェクト閾値のサイズに関するヒントが要求メッセージに含まれているかを判定する。当該ヒントを１つまたは複数のパラメータに含めてもよく、または当該ヒントを要求メッセージにおける他の場所に含めてもよい。当該ヒントは、要求メッセージに含まれている場合は、サーバー・コンピューター１１２が開き、およびクライアント・コンピューター１０２に送信すべきメッセージの部分に対するオブジェクト閾値に対応するオブジェクトの数を提供する。
【００７０】
ヒントが要求メッセージに含まれていると判定するときは、オペレーション８０６において、当該ヒントにおいて識別されたオブジェクトの数を要求メッセージから抽出する。ヒントが要求メッセージに含まれていないと判定するときは、オペレーション８０８において、オブジェクト閾値に関するその他の情報を要求メッセージから抽出する。当該その他の情報は、一般に、要求メッセージにおける１つまたは複数のパラメータに含まれ、クライアント・コンピューター１０２上のディスプレイ・スクリーンのサイズ、使用されているフォントのサイズ、およびディスプレイ・スクリーンに対するスクリーンの画素解像度などの項目を含んでもよい。その他の種類の情報も可能である。
【００７１】
オペレーション８１０において、オペレーション８０８から取得した情報を使用して、ディスプレイ・スクリーンのサイズに適合するオブジェクトの数を判定する。例えば、ディスプレイ・スクリーンのサイズが既知であり、ディスプレイ・スクリーン上で使用されるフォントのサイズが既知であり、およびオブジェクトの平均サイズが既知である場合は、ディスプレイ・スクリーンのサイズ内のサイズに適合することができるオブジェクトの数の推定値を取得することができる。
【００７２】
オペレーション８１２において、オペレーション８１０における計算で取得したオブジェクトの数またはオペレーション８０６において要求メッセージに含まれるヒントの結果として取得したオブジェクトの数に、乗算因子を乗ずる。乗算因子を使用して、オブジェクト閾値を判定する。乗算因子は一般に、ページ・サイズの倍数である。例えば、２という乗算因子は２つのページに対応するサイズを示し、および１．５という乗算因子は半ページに対応するサイズを示す。種々の例において、その他の乗算因子を使用することができる。
【００７３】
オペレーション８１４において、オペレーション８１２における乗算の結果をオブジェクト閾値として指定する。例えば、乗算因子が１．５である場合、オブジェクト閾値におけるオブジェクトの数は、ディスプレイ・スクリーンのサイズ内に適合するオブジェクトの数にディスプレイ・スクリーンの半分のサイズ内に適合するオブジェクトの数を加えたものに対応する。
【００７４】
図９を参照すると、クライアント・コンピューター１０２、１０４およびサーバー・コンピューター１１２の例示的なコンポーネントが示される。例示的な実施形態では、クライアント・コンピューター１０２、１０４、およびサーバー・コンピューター１１２はコンピューティングデバイスである。クライアント・コンピューター１０２、１０４、およびサーバー・コンピューター１１２は、入力／出力デバイス、中央処理装置（「ＣＰＵ」）、データ記憶デバイス、およびネットワークデバイスを含むことができる。
【００７５】
基本的な構成では、クライアント・コンピューター１０２、１０４およびサーバー・コンピューター１１２は一般に、少なくとも１つのプロセシングユニット９０２およびシステム・メモリ９０４を含む。コンピューティングデバイスの厳密な構成および種類に応じて、システム・メモリ９０４は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュ・メモリなど）、またはこれら２つの何らかの組合せであってもよい。システム・メモリ９０４は一般に、本件特許出願人提供のＷｉｎｄｏｗｓ（登録商標）オペレーティング・システムなどのネットワーク・パーソナル・コンピューター、または、やはり本件特許出願人提供のＭｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒ２００７などのサーバーの動作を制御するのに適切なオペレーティング・システム９０６を含む。システム・メモリ９０４はまた、１つまたは複数のソフトウェア・アプリケーション９０８を含んでもよく、およびプログラム・データを含んでもよい。
【００７６】
クライアント・コンピューター１０２、１０４、およびサーバー・コンピューター１１２は、追加の特徴または機能を有してもよい。例えば、クライアント・コンピューター１０２、１０４、およびサーバー・コンピューター１１２は、コンピューター可読媒体を含んでもよい。コンピューター可読媒体は、コンピューター可読記憶媒体および通信媒体の両方を含むことができる。
【００７７】
コンピューター可読記憶媒体は、磁気ディスク、光学ディスク、またはテープを含むデータ記憶デバイス（着脱可能および／または着脱不能）などの物理媒体である。かかる追加の記憶装置を、図９において着脱可能記憶装置９１０および着脱不能記憶装置９１２により示す。コンピューター可読記憶媒体は、コンピューター可読命令、データ構造、プログラム・モジュール、またはその他のデータなどの、情報を記憶する任意の方法または技術で実装された揮発性および不揮発性の媒体、着脱可能および着脱不能の媒体を含んでもよい。コンピューター可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリもしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、およびクライアント・コンピューター１０２、１０４によりアクセスすることができるその他の任意の媒体を含むことができるが、これらに限定されない。かかる任意のコンピューター可読記憶媒体は、クライアント・コンピューター１０２、１０４の一部であってもよい。クライアント・コンピューター１０２、１０４は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス９１４を有してもよい。ディスプレイ、スピーカ、プリンタなどの出力デバイス９１６を含めてもよい。
【００７８】
クライアント・コンピューター１０２、１０４、およびサーバー・コンピューター１１２はまた、分散コンピューティング環境、例えば、イントラネットまたはインターネットにおけるネットワークを介してなど、デバイスをその他のコンピューティングデバイス９２０と通信することを可能にする通信接続９１８を含んでもよい。通信接続９１８は、通信媒体の１例である。通信媒体は一般に、コンピューター可読命令、データ構造、プログラム・モジュール、または、搬送波もしくはその他の伝送機構などの変調データ信号内のその他のデータによって具現化してもよく、ならびに任意の情報伝達媒体を含む。用語「変調データ信号」は、１つまたは複数のその特性集合を有する信号、または信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、ならびに、音声、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。
【００７９】
上述した様々な実施形態は例示としてのみ提供したものであり、かつ限定と解釈すべきではない。本開示の真の趣旨および範囲を逸脱せずに、様々な修正および変更を、上述した諸実施形態に加えてもよい。
【図１】
2013544400.tif 000003
【図２】
2013544400.tif 000004
【図３】
2013544400.tif 000005
【図４】
2013544400.tif 000006
【図５】
2013544400.tif 000007
【図６】
2013544400.tif 000008
【図７】
2013544400.tif 000009
【図８】
2013544400.tif 000010
【図９】
2013544400.tif 000011
【国際調査報告】
2013544400.tif 000012
2013544400.tif 000013