(57)【特許請求の範囲】
【請求項１】
電子スプレッドシートワークブックを管理する方法であって、
コンピュータ上の１つまたは複数の処理ユニットが、一組のデータフィールドを有する電子スプレッドシートワークブックを提供するステップと、
前記処理ユニットが、前記電子スプレッドシートワークブックから論理的に分離している第１のワークブックパーツを、前記電子スプレッドシートワークブックから新しいスプレッドシートにインポートするステップであって、前記第１のワークブックパーツは、前記電子スプレッドシートワークブックを定義する一組のデータフィールドの第１のサブセットを含む、インポートするステップと、
前記第１のワークブックパーツが、前記新しいスプレッドシートにはインポートされていない、前記電子スプレッドシートワークブックの第２のワークブックパーツとの依存関係を有する場合、前記処理ユニットが、ユーザーに対し、前記依存関係を中断するか保持するかの選択を提示するステップと
を含むことを特徴とする方法。
【請求項２】
前記依存関係は、計算依存関係であり、前記計算依存関係が前記第１のワークブックパーツと共にカプセル化されることを特徴とする請求項１に記載の方法。
【請求項３】
前記計算依存関係が、前記第２のワークブックパーツに依存することを特徴とする請求項２に記載の方法。
【請求項４】
前記第２のワークブックパーツが前記電子スプレッドシートワークブックから論理的に分離され、前記第２のワークブックパーツが前記データフィールドのただ１つの第２のサブセットを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記依存関係は、前記第１のワークブックパーツと、前記第２のワークブックパーツとの計算依存関係であり、
前記処理ユニットが、前記電子スプレッドシートワークブックのマスタコピーを保持するステップと、
前記処理ユニットが、前記マスタコピー内において、前記第１のワークブックパーツへの参照を含むテーブルを作成するステップと、
前記処理ユニットが、前記計算依存関係を前記テーブルにおいて保持するステップと、
前記処理ユニットが、前記第１のワークブックパーツへの変更を前記テーブル内において表示するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記処理ユニットが、前記電子スプレッドシートワークブックの前記マスタコピーを、前記第１のワークブックパーツへの変更に基づき再計算するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
クライアントマシン上の１つまたは複数の処理ユニットが、前記電子スプレッドシートワークブックのマスタコピーを前記コンピュータからダウンロードするステップと、
前記クライアントマシン上の前記処理ユニットが、前記第１のワークブックパーツへの変更に基づき、前記マスタコピーを再計算するステップと、
前記クライアントマシン上の前記処理ユニットが、前記電子スプレッドシートワークブックの前記再計算されたマスタコピーを前記コンピュータにアップロードするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ユーザーが前記依存関係を保持するという前記選択を行うと、クライアントマシン上の前記処理ユニットが、変更されたバージョンの前記第１のワークブックパーツを前記コンピュータにアップロードするステップと、
前記コンピュータ上の前記処理ユニットが、前記第１のワークブックパーツへの変更に基づき、前記電子スプレッドシートワークブックを再計算するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ユーザーが前記依存関係を中断するという前記選択を行うと、前記処理ユニットが、キャッシュされた値を他のワークブックパーツからフェッチするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１のワークブックパーツが、論理的に異なるスプレッドシートオブジェクトを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記論理的に異なるスプレッドシートオブジェクトが、シート、名前付き範囲、チャート、テーブル、またはピボットテーブルのうちの１つであることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記オブジェクトをレンダリングまたは操作するのに必要とされるデータが、前記第１のワークブックパーツの一部として前記オブジェクトと共に移動することを特徴とする請求項１０に記載の方法。
【請求項１３】
電子スプレッドシートワークブックを管理する方法を実行するシステムであって、前記方法は、
コンピュータ上の１つまたは複数の処理ユニットが、一組のデータフィールドを有する電子スプレッドシートワークブックを提供するステップと、
前記処理ユニットが、前記電子スプレッドシートワークブックから論理的に分離している第１のワークブックパーツを、前記電子スプレッドシートワークブックから新しいスプレッドシートにインポートするステップであって、前記第１のワークブックパーツは、前記電子スプレッドシートワークブックを定義する一組のデータフィールドの第１のサブセットを含む、インポートするステップと、
前記処理ユニットが、前記第１のワークブックパーツが、前記新しいスプレッドシートにはインポートされていない、前記電子スプレッドシートワークブックの第２のワークブックパーツとの依存関係を有する場合、ユーザーに対し、前記依存関係を中断するか保持するかの選択を提示するステップと
を含むことを特徴とするシステム。
【請求項１４】
前記第１のワークブックパーツが、スプレッドシートアプリケーションにおいて開かれたことに応答して、前記第１のワークブックパーツを定義するデータフィールドの最新の値が、マスタワークブックから取りだされ、リアルタイムで再計算されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記コンピュータからのダウンロード時に、前記ワークブックパーツにおける最新の値が更新されることを特徴とする請求項１４に記載のシステム。
【請求項１６】
編集されたワークブックパーツを前記コンピュータにアップロードするときに、前記マスタワークブックにおける値が更新されることを特徴とする請求項１４に記載のシステム。
【請求項１７】
前記方法は、前記処理ユニットが、ユーザーインターフェースを介してユーザーにより選択された１つまたは複数の前記第１のワークブックパーツを新しいスプレッドシートにエクスポートするステップをさらに含むことを特徴とする請求項１３に記載のシステム。
【請求項１８】
前記方法は、前記処理ユニットが、ユーザーインターフェースを介してユーザーにより選択された１つまたは複数の前記第１のワークブックパーツをダッシュボードにエクスポートするステップをさらに含むことを特徴とする請求項１３に記載のシステム。
【請求項１９】
電子スプレッドシートワークブックを管理する方法であって、前記方法は、
コンピュータ上の１つまたは複数の処理ユニットが、第１のワークブックパーツを提供するステップであって、前記第１のワークブックパーツは、前記電子スプレッドシートワークブックを定義する一組のデータフィールドの第１のサブセットを含む、提供するステップと、
前記処理ユニットが、第２のワークブックパーツを提供するステップであって、前記第２のワークブックパーツは、前記データフィールドのただ１つの第２のサブセットを含む、提供するステップと、
前記処理ユニットが、前記第１のワークブックパーツを前記電子スプレッドシートワークブックから新しいスプレッドシートにインポートするステップと、
前記第１のワークブックパーツが、前記第２のワークブックパーツとの依存関係を有する場合、前記処理ユニットが、ユーザーに対し、前記依存関係を中断するか保持するかの選択を提示するステップと
を含む方法。
【請求項２０】
前記ユーザーが前記依存関係を保持するという前記選択を行うと、前記処理ユニットが、前記第１のワークブックパーツと前記第２のワークブックパーツとの間の依存関係を保持するステップと、
前記処理ユニットが、前記依存関係に基づき前記電子スプレッドシートワークブックを定義するデータフィールドの値を計算するステップと
をさらに含むことを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの場合、スプレッドシートにおける計算は、例えば、その計算が特定のユーザーのみによりアクセス可能または閲覧可能であるように、保護されることが望ましい。例えば、企業遵守の理由により、組織は、スプレッドシートを誰が更新したのか、何を行ったのか、および、いつ行ったのか、を知ることを望むことがある。したがって、そのような組織は、スプレッドシートが組織の「文書管理ソリューション」のパーツであり、組織がそのスプレッドシートへのアクセスを制御可能であるようにすることを望むであろう。
【０００２】
ある顧客は、スプレッドシートの一部分が再利用可能であること、すなわち、スプレッドシートの、全体ではなくその一部分のみから計算および結果を共有することを望むことがある。これは、単に閲覧する以上のことであり、実際にデータおよび計算を保護されていない状態にさせてしまう。これにより、別のスプレッドシートの作者が、その結果を自分のスプレッドシートにコピーまたは再利用することが可能になる。現在、顧客は、スプレッドシート全体へのアクセスを許可してこれを行うことを必要とするが、これは管理および制御の視点からは望ましくはないであろう。
【０００３】
ある顧客は、多数のユーザーが単一のスプレッドシートを編集することが可能になることを望むことがある。あるユーザーは、編集時にはオフラインにし、ほかのあるユーザーはオンラインにし得る。そのようなユーザーは、その時に他の誰かがファイルを編集しているかもしれないことは関係なく、スプレッドシートの自分の部分を編集できることを望むことがある。現在、ユーザーは、交代して共同で１スプレッドシートを制作することを強いられているが、それは、ほとんどの文書管理システムにおいて、ただ一人の人しか、ファイルを「チェックアウト」および「編集」できないからである。他のユーザーは、そのファイルが「チェックイン」されるまで待ち、編集しなければならない。
【０００４】
また、スプレッドシートを厳重に管理することが望ましいが、スプレッドシートの結果は広く組織全体で閲覧されることも望ましい。例えば、ある組織は、特定の従業員がスプレッドシートからチャートおよびテーブルを見ることが可能であることを望むが、スレッドシートを編集すること、または、スプレッドシートを開いて、そのデータの閲覧を発生させるのに使用された計算を見ることさえ、可能にしないことを望むことがある。これは、現在いくつかのシステムにおいて可能であるが、ファイルレベルにおいてのみで可能である。異なるユーザーが同一のワークブックの異なる部分にアクセスすることを可能にするという概念はない。
【０００５】
顧客がよく行う別のことには、「ダッシュボード」の作成がある。ダッシュボードは、多くのオブジェクト（例えば、チャート、テーブル、グラフ等）が、一緒にアセンブルされて視覚的および全体的に、プロジェクト、ビジネス、または、他の組織のステイタスを表示する、ページとして定義され得る。現在、ユーザーは、スプレッドシートを開き、ダッシュボードに組み込みたい全てのアイテムを選ぶ必要がある。これは、面倒な作業であり、例えば大きなスプレッドシートでは、困難な仕事であり得る。
【発明の概要】
【０００６】
ワークブックの作者が、本明細書において「ワークブックパーツ」と称される、一組の論理的に異なった部分に、ワークブックを分割することを可能にする、システムおよび方法を開示する。ワークブックパーツ間の計算依存関係が保持され、全ての計算がスプレッドシート全体に渡って正確であるようにする。このようなワークブックパーツは、特定のディレクトリ（または、文書管理サーバー上の文書ライブラリー）に別々に記憶され得る。各ワークブックパーツは、文書管理サーバーの全文書管理ポリシーに別々に制約され得る。
【課題を解決するための手段】
【０００７】
顧客は、各ワークブックパーツを別々に管理することを可能にする。これにより、特定のワークブックパーツを閲覧するためでさえもユーザーのアクセスを拒否する方法が、顧客に提供される。また、それにより、顧客が編集可能であるべきスプレッドシート（すなわち、個々のワークブックパーツ）の一部のみを特定のユーザーが編集することが、顧客は可能になる。従って、多数の作者が、厳しく制御されるワークブックに寄与する場合、スプレッドシート管理の責任者は、それらの作者それぞれのアクセスを許可し、作者が関与する必要がある部分のみを、それをワークブックパーツとして保護されていない状態にさせることにより編集させることが、可能になる。
【０００８】
スプレッドシートの一部分のみへのユーザーのアクセスを許可することにより、そのユーザーは、その部分を開き、データおよびロジックを自分の所有するスプレッドシートにコピーすることができる。あるいは、彼らがアクセスを有する一組のワークブックパーツを選択し、全く新しいスプレッドシートに全て移植することができる。これにより、スプレッドシート全体を保護されていない状態にする必要なしに、データおよび計算の再利用が可能になる。
【０００９】
スプレッドシートを一組のワークブックパーツに分割し、文書管理システムの一部として記憶するので、ユーザーは、もはや交代してスプレッドシートファイル全体を「チェックアウト」する必要がない。ユーザーは、チェックアウトおよび編集する必要があるスプレッドシートの個々の部分のみを、チェックアウトおよび編集することができる。各ユーザーが、スプレッドシートの編集中の「自分たちの」部分を「所有する」ことが普通となるため、ほとんどの共同制作のシナリオが効果的に解決される。各ワークブックパーツのチェックアウトが可能であるため、そのワークブックパーツをオフラインで取り込み、編集することも可能である。オンラインに戻るとき、スプレッドシートの残りの部分、および、他のユーザーが、更新された結果を得るであろう。これにより、オンラインおよびオフラインのユーザー間の共同制作が可能になり、一方で、典型的には結果が統合されることが必要な問題およびロジックを回避する。
【００１０】
各ワークブックパーツが、文書管理サーバー内に別々に記憶され得るため、各ワークブックパーツには、異なる承認が適用され得る。従って、全てのワークブックパーツが同一のスプレッドシートに属しているとしても、あるユーザーには、あるワークブックパーツを閲覧するための承認が与えられ得るが、他のワークブックパーツの承認は与えられない。これにより、同一のワークブック内に包含されるオブジェクトに対する異なる承認を、多数のユーザーに与えることの問題が効果的に解決される。
【００１１】
ワークブックがワークブックパーツに分割できるようになると、ダッシュボードは、ワークブックパーツを選別してダッシュボードに含ませ、「ダッシュボード作成」の単一のコマンドをクリックすることにより、組み立てられ得る。
【図面の簡単な説明】
【００１２】
【図１】スプレッドシートのワークブックパーツライブラリーを提供するためのシステムの第１の実施形態のブロック図である。
【図２】スプレッドシートのワークブックパーツライブラリーを提供するためのシステムの第２の実施形態のブロック図である。
【図３】スプレッドシートのワークブックパーツライブラリーを提供するためのシステムの第３の実施形態のブロック図である。
【図４】スプレッドシートのワークブックパーツライブラリーを提供するためのシステムの第４の実施形態のブロック図である。
【図５】例示の実施形態および態様が実装され得る、例示のコンピューター環境のブロック図である。
【発明を実施するための形態】
【００１３】
図１は、スプレッドシートのワークブックパーツライブラリーを提供するためのシステム２００のブロック図である。本明細書において、用語「ワークブックパーツ」は、スプレッドシートと関連して使用されるとき、スプレッドシートからの任意の個々のオブジェクトを参照し得る。このようなオブジェクトの例には、名前付き範囲（連続した単一セルまたは多数セルの範囲であり得る）、チャート、テーブル（別名リスト）、ピボットテーブル、単一シート、または任意の他の論理的に異なるスプレッドシートオブジェクトが含まれる。
【００１４】
図示するように、ワークブックライブラリー２１０が、１つまたは複数のワークブックパーツ２１４Ａ−Ｃを管理する目的のため作成され得る。ライブラリー２１０は、例えば、文書管理サーバー上のディレクトリまたは特別な文書ライブラリーであり得る。ライブラリー２１０は、各ワークブックパーツ２１４Ａ−Ｃ、およびマスタスプレッドシート２１２を、別々のエントリとして記憶し得る。各マスタスプレッドシート２１２およびそれに従属するワークブックパーツ２１４Ａ−Ｃは同一のディレクトリに記憶され得るが、ライブラリー２１０は別個のディレクトリに記憶されるように体系化される。ライブラリー２１０はまた、各ワークブックパーツ２１４Ａ−Ｃ上に別々に承認を施行でき、同様に、各ワークブックパーツ２１４Ａ−Ｃを別々に編集するため（例えば、チェックイン／チェックアウト）にロックできる。ライブラリー２１０はまた、ワークブックパーツ２１４Ａ−Ｃを編集および開くためのユーザーインターフェース（「ＵＩ」）およびロジックを、ワークブックパーツ２１４Ａ−Ｃを組み合わせて新しいスプレッドシートを作成するため、および／または、１つまたは複数のワークブックパーツ２１４Ａ−Ｃからダッシュボードを作成するために、クライアントまたはサーバープリケーション内に含むことができる。
【００１５】
ライブラリー２１０は、１つまたは複数のユーザー２０４Ａ−Ｂが、クライアントアプリケーションまたはスプレッドシートサーバープリケーションを使用して、単一のワークブックパーツ２１４Ａ−Ｃを閲覧または編集するために選択することを可能にする、ＵＩを提供できる。ユーザー２０４Ａ−Ｂが、ワークブックパーツ２１４Ａ−Ｃをスプレッドシートアプリケーションで開くとき、最新の値が、そのワークブックパーツ２１４Ａ−Ｃのマスタワークブック２１２から取り出される。すなわち、ワークブックパーツ２１４Ａ−Ｃが開かれるとき、それは最新の更新された値を含むことができる。これは、計算依存関係をどのように実装するかに依存し、編集されたワークブックパーツ２１４Ａ−Ｃをサーバー２０２にアップロードするときに、値がマスタスプレッドシート２１２において更新されることを意味し得る。ワークブックパーツ２１４Ａ−Ｃの値は、サーバー２０２からのダウンロード時に常に更新され得る。この更新コードはクライアントまたはサーバー上で実行される。
【００１６】
オブジェクトをレンダリングまたは操作するために必要とされるデータは、ワークブックパーツの一部としてオブジェクトと共に移動し得る。従って、チャートまたはピボットの場合、任意の関連するデータのキャッシュが、ワークブックパーツの一部になり得る。多数のチャートまたはピボットが同一データのキャッシュに基づいていない場合、それぞれがその所有するコピーを入手し得る。テーブル、名前付き範囲またはシートの場合、スプレッドシートグリッドが、全ての必要なデータを含むことができる。なお、外部データのキャッシュが存在し得る、クエリテーブルまたはＯＬＡＰ（ｏｎ−ｌｉｎｅ  ａｎａｌｙｔｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ）式のような特別な場合があることに留意されたい。これらの場合、キャッシュは、さらにワークブックパーツと共にカプセル化され得る。
【００１７】
ロジックが提供され、ワークブックパーツの計算依存関係をカプセル化できるようになる。いくつかのワークブックパーツは、スプレッドシートの他の部分、または他のワークブックパーツの計算（例えば、式）依存関係を含有し得る。元のスプレッドシートのマスタコピーが保持され得る。全てのワークブックパーツのテーブルがマスタコピーにおいて作成され得る。このテーブルには、ワークブックパーツ間の依存関係が保持され、かつ、ワークブックパーツへの変更（例えば、更新）が示される。ワークブックパーツが作成されると、その依存関係が検出され、このワークブックパーツが依存するマスタテーブルおよび各ワークブックパーツへのリンクを表す内部フォーマットに変換され得る。ワークブックパーツは、更新されると、その依存する計算値をスプレッドシートのマスタコピーから取り出し得る。このマスタコピーは、サーバー上で再計算され、ワークブックパーツからの最新の更新および変更が、サーバーによりマスタコピーに戻され得る。
【００１８】
ライブラリー２１０はまた、ユーザー２０４Ａ−Ｂによりワークブックパーツ２１４Ａ−Ｃの群を選択し、それらを新しいスプレッドシートにエクスポートできるＵＩを有し得る。この場合、ワークブックパーツ２１４Ａ−Ｃ、および、全てのそれらのデータが、新しいスプレッドシートアプリケーション内に置かれ得る。なお、ワークブックパーツ２１４Ａ−Ｃは、それ自体の各シート、または共有のシート上に置かれ得ることに留意されたい。ワークブックパーツ２１４Ａ−Ｃは、シート（チャートのようなオブジェクトではなく）である場合は、新しいスプレッドシートに新しいシートとしてインポートされることができ、他のワークブックパーツはそのシートの一部である必要はない。新しいスプレッドシートにインポートされるワークブックパーツ２１４Ａ−Ｃが、同様に新しいスプレッドシートにインポートされる他のワークブックパーツ２１４Ａ−Ｃへの依存関係を有する場合、依存関係が調整され得、依存関係が新しいスプレッドシートを指し示すようにする。依存関係が、インポートされていない他のワークブックパーツ２１４Ａ−Ｃを指し示す場合、ユーザー２０４Ａ−Ｂには、依存関係を中断して現在のキャッシュの値をインポートするか、または、依存リンクを保持するか、の選択が提示され得る。
【００１９】
ライブラリー２１０は、ユーザー２０４Ａ−Ｂによりワークブックパーツ２１４Ａ−Ｃの群を選択し、それらをダッシュボードにエクスポートできるＵＩを有し得る。この場合、新しいウェブページが作成され得、各ワークブックパーツ２１４Ａ−Ｃが、別のウェブパーツのウェブページ上にレンダリングされ得る。ダッシュボードの更新、再計算、およびレンダリングは、例えば、エクセルサービス等のスプレッドシートサーバーアプリケーションにより操作され得る。各ワークブックパーツ２１４Ａ−Ｃの全てのウェブパーツは、デフォルトの設定で作成され得るか、または、各ワークブックパーツ２１４Ａ−Ｃのダッシュボードの構成を介してユーザー２０４Ａ−ＢをガイドするウィザードのようなＵＩであり得る。最も簡単な場合、各ワークブックパーツ２１４Ａ−Ｃが自身の所有するウェブパーツを入手し得、各ウェブパーツがデフォルトの設定を有し得、各ウェブパーツがダッシュボードページ上にランダムに配置され得る。なお、何らかのウィザードＵＩを作成して、ダッシュボードレイアウトの構成全体、および各ウェブパーツのウェブパーツプロパティを許可することが可能である。
【００２０】
代替実施形態において、マスタコピー全体をクライアントアプリケーションにダウンロードし、そこで再計算を実行し得る。図２は、システム３００といったそのような実施形態のブロック図である。図示するように、ユーザー３０４は、クライアントアプリケーションを使用してワークブックパーツ２１４Ａを編集し得る。ユーザーに対して透過的に、マスタスプレッドシート２１２のコピーがクライアントにダウンロードされ得る。ダウンロードされたマスタスプレッドシート２１２を使用して、クライアント上で再計算が実行され得る。ワークブックパーツ２１４Ａは、再計算に作用され、サーバー３０２に返送され得る。もちろん、再計算をサーバー上で維持することには、マスタコピーをローカルクライアントマシンへダウンロードする必要性をなくすという利点があり、従って、全てのＩＰを保護し、一方で、ワークブックパーツにより計算され、結果をリアルタイムで入手することがさらに可能になる、ということを理解されたい。
【００２１】
図３は、別のワークブックパーツ２１４Ｂ−Ｃに依存関係を有する１ワークブックパーツ２１４Ａ上において再計算を実行するためのシステム４００の別の実施形態を示す。再計算するために、クライアント３０４上のワークブックパーツ２１４Ａは、マスタスプレッドシート２１２から（または、代替えとして、ワークブックパーツ２１４Ａが依存するワークブックパーツから直接）、キャッシュされた値を取り出し得る。すなわち、ワークブックパーツは、サーバー４０２上に記憶されるファイルからデータ値を取り出し得る。ファイルは、マスタスプレッドシート２１２の「コピー」であり得る。従って、再計算用のマスタスプレッドシート２１２を使用するよりもむしろ、当該データ値が、キャッシュされたファイルから読み出され、再計算に使用され得る。従って、マスタスプレッドシート２１２を、クライアントにダウンロードする必要がない。マスタスプレッドシートまたは他のワークブックパーツの、全体の更新および再計算が必要とされ得ないため、そのようなアプローチは、より簡素なロジックを含み得る。ユーザーが、別のワークブックパーツにアクセスするのに必要な承認を有しない場合、ユーザーがアクセスを有しないワークブックパーツから計算結果のみの返送が可能な、スプレッドシートサーバーアプリケーションを使用して、従属する計算がなされ得る。
【００２２】
あるいは、再計算は、クライアントアプリケーションにより実行され得ない。むしろ、キャッシュされた値は、常に示され得る。すなわち、依存関係は更新される必要がないが、キャッシュされた依存関係は、常にワークブックパーツと共に使用され得る。例えば、ワークブックパーツは、クライアントにダウンロードされ開かれるときに、依存関係を評価し得る。ワークブックパーツは、全ての依存関係に対してキャッシュされた値を入手し得る。そのような実施形態において、別のシート上のデータが変更される、または、そのような別のシートが依存するセルが変更されても、ワークブックパーツがダウンロードされるときのキャッシュ値が使用されるであろうことを理解されたい。
【００２３】
図４は、スプレッドシートのワークブックパーツライブラリーを提供するためのシステム５００の第４の実施形態のブロック図である。そのような実施形態において、ワークブックパーツ５１４Ａは、ワークブックパーツ５１４Ａが１つまたは複数の依存関係を有する、１つまたは複数の他のワークブックパーツ５１４Ｂ−Ｃへの、１つまたは複数のリンクを含み得る。再計算するために、ワークブックパーツ５１４Ａは、他のワークブックパーツ５１４Ｂ−Ｃと直接通信して、最新のデータをそれらのワークブックパーツ５１４Ｂ−Ｃから取り出し得る。
【００２４】
＜典型的なコンピューター配置＞
図５は、典型的な実施形態および態様が実装され得る典型的なコンピューター環境を示す。コンピューターシステム環境１００は、適切なコンピューター環境の単なる一例に過ぎず、使用または機能性の範囲についていかなる限定を示唆することは意図していない。コンピューター環境１００は、例示の動作環境１００に説明される構成要素のうちの任意の１つまたは組み合わせに関する、いかなる依存関係も要件も有するものとして解釈されるべきではない。
【００２５】
多数の他の汎用目的または専用目的のコンピューターシステム環境または構成が使用され得る。使用に適した周知のコンピューターシステム、環境、および／または、構成の例には、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、組み込みシステム、任意の上記のシステムまたはデバイスを含む分散コンピューター環境等が含まれるが、これに限定されない。
【００２６】
コンピューターにより実行される、プログラムモジュール等のコンピューター実行可能命令が、使用され得る。一般に、プログラムモジュールには、特定のタスクを実行するか、または、特定に抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。分散コンピューター環境は、タスクが、通信ネットワークまたは他のデータ転送媒体を介してリンクされるリモート処理装置により実行される場合使用され得る。分散コンピューター環境において、プログラムモジュールおよび他のデータが、メモリー記憶装置を含むローカルおよびリモートの両コンピューター記憶媒体に置かれ得る。
【００２７】
図５を参照すると、典型的なシステムには、汎用コンピューターデバイスがコンピューター１１０の形式で含まれる。コンピューター１１０の構成要素には、処理ユニット１２０、システムメモリー１３０、および、システムメモリーを含む種々のシステムコンポーネントを処理ユニット１２０に連結するシステムバス１２１が含まれ得るが、これに限定されない。処理ユニット１２０は、マルチスレッドプロセッサ上でサポートされるような多数の論理処理ユニットを表し得る。システムバス１２１は、メモリーバスまたはメモリーコントローラ、周辺機器用バス、および、任意の様々なバスアーキテクチャを使用するローカルバスを含む、任意の数タイプのバス構造であり得る。限定ではなく例として、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、および、（メザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られる）ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスが含まれる。システムバス１２１はまた、通信デバイス間で、二地点間接続、スイッチング構造等として実装され得る。
【００２８】
コンピューター１１０には典型的には、様々なコンピューター可読媒体が含まれる。コンピューター可読媒体は、コンピューター１１０によりアクセス可能であり、揮発性および不揮発性の媒体、着脱可能および着脱不可能の媒体の両方を含む、任意の利用可能な媒体であり得る。限定ではなく例として、コンピューター可読媒体は、コンピューター記憶媒体および通信媒体を備え得る。コンピューター記憶媒体には、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報の記憶のための任意の方法または技術で実装され得る、揮発性および不揮発性、着脱可能および着脱不可能の両媒体が含まれる。コンピューター記憶媒体には、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：電気的消去可能ＰＲＯＭ）、フラッシュメモリーもしくは他のメモリー技術、ＣＤＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ：デジタル多用途ディスク）もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用可能な、かつ、コンピューター１１０によりアクセス可能な任意の他の媒体が含まれるが、これに限定されない。通信媒体は典型的には、コンピューター可読命令、データ構造、プログラムモジュール、または、搬送波もしくは他の輸送機構等の変調されたデータ信号における他のデータ、を具現化し、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、信号内の情報を符号化するような様式で設定または変更される、１つまたは複数の特徴を有する信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接有線接続等の有線媒体、ならびに、音響、ＲＦ、赤外線および他の無線媒体等の無線媒体が含まれる。任意の上記のものの組合せもまた、コンピューター可読媒体の範囲に含まれるべきである。
【００２９】
システムメモリー１３０は、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３１およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３２等の、揮発性および／または不揮発性メモリーの形式のコンピューター記憶媒体を含む。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、起動中等にコンピューター１１０内の要素間の情報の転送を補助する基本ルーチンを含み、典型的にはＲＯＭ１３１内に記憶される。ＲＡＭ１３２は典型的には、処理ユニット１２０によりすぐにアクセス可能な、および／または現在処理ユニット１２０により操作されている、データおよび／またはプログラムモジュールを含有する。限定ではなく例として、図５は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を例示する。
【００３０】
コンピューター１１０はまた、他の着脱可能／着脱不可能・揮発性／不揮発性コンピューター記憶媒体を含み得る。単なる例として、図５は、着脱不可能・不揮発性の磁気媒体に読み書きするハードディスクドライブ１４０、着脱可能・不揮発性の磁気ディスク１５２に読み書きする磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたは他の光媒体等の着脱可能・不揮発性の光ディスク１５６に読み書きする光ディスクドライブ１５５を例示する。例示の動作環境で使用可能な他の着脱可能／着脱不可能・揮発性／不揮発性コンピューター記憶媒体には、磁気テープカセット、フラッシュメモリーカード、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ：デジタル多用途ディスク）、デジタルビデオテープ、固体ＲＯＭ等が含まれるが、これに限定されない。ハードディスクドライブ１４１は典型的には、インターフェース１４０等の着脱不可能なメモリーンターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は典型的には、インターフェース１５０等の着脱可能なメモリーンターフェースによりシステムバス１２１に接続される。
【００３１】
上記で検討し図５に例示する、ドライブおよびそれに関連するコンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、およびコンピューター１１０の他のデータの記憶域を提供する。図５において、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして例示される。これらのコンポーネントが、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と、同じでもあることも異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、ここでは異なる番号が与えられて、それらが、最小限の異なる複製品であることを例示する。ユーザーは、キーボード１６２および一般にはマウスと称されるポインティングデバイス１６１、トラックボール、またはタッチパッド等の入力デバイスを介して、コマンドおよび情報をコンピューター２０に入力し得る。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれ得る。これらのおよび他の入力デバイスは、処理ユニット１２０へ、システムバスに連結されるユーザー入力インターフェース１６０を介して接続されることが多いが、他のインターフェース、および、パラレルポート、ゲームポートまたはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）等のバス構造により接続されても良い。モニタ１９１または他のタイプの表示デバイスがまた、ビデオインターフェース１９０等のインターフェースを介して、システムバス１２１へ接続される。モニタに加えて、コンピューターにはまた、出力周辺インターフェース１９５を介して接続され得るスピーカ１９７およびプリンタ１９６等の他の周辺出力デバイスが含まれる。
【００３２】
コンピューター１１０は、ネットワーク化された環境において、リモートコンピューター１８０等の１つまたは複数のリモートコンピューターへの論理接続を使用して、動作し得る。リモートコンピューター１８０は、パーソナルコンピューター、サーバー、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通のネットワークノードであり得、図５ではメモリー記憶デバイス１８１のみ例示したが、典型的にはコンピューター１１０に関して上記で記載した多くのまたは全ての要素を含む。図５に示した論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ：ローカルエリアネットワーク）１７１およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ：ワイドエリアネットワーク）１７３を含むが、他のネットワークも含み得る。そのようなネットワーク環境は、事務所、企業規模のコンピューターネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００３３】
ＬＡＮネットワーク環境で使用されるとき、コンピューター１１０はＬＡＮ１７１にネットワークインターフェースまたはアダプタ１７０を介して接続される。ＷＡＮネットワーク環境で使用されるとき、コンピューター１１０は典型的には、モデム１７２、またはインターネット等のＷＡＮ１７３上に通信を確立するための他の手段を含む。モデム１７２は、内蔵でも外付けでも良いが、ユーザー入力インターフェース１６０または他の適切な機構を介して、システムバス１２１に接続され得る。ネットワーク環境において、コンピューター１１０に関して示されるプログラムモジュールまたはその一部は、リモートメモリー記憶デバイスに記憶され得る。限定ではなく例として、図５は、リモートアプリケーションプログラム１８５をメモリーデバイス１８１に備わるものとして例示する。示したネットワーク接続は例であり、コンピューター間の通信リンクを確立するための他の手段を使用し得ることは理解されよう。
【００３４】
主題が、構造的特徴および／または方法論的作用に特有の言語で記載されたが、添付の請求項に定義される主題が必ずしも上記に記載される特有の特徴または作用に限定されないことは理解されるべきである。むしろ、上記に記載される特有の特徴および作用は、請求項を実装する例示の形式として開示される。
【図１】
0005415424.tif 000002
【図２】
0005415424.tif 000003
【図３】
0005415424.tif 000004
【図４】
0005415424.tif 000005
【図５】
0005415424.tif 000006