(57)【要約】  データソース１２０ａからのデータを受け取り、スプレッドシート１４０内のロケーションが、データソース１２０ａのロケーション情報に基づいて、データソース１２０ａからのデータのうち少なくとも一部を配置するロケーションとして決定される。ビューフィールド
2007512591.tif 000002
【特許請求の範囲】
【請求項１】
データソース（１２０ａ）からデータを受け取ること、及び
前記データソース（１２０ａ）のロケーション情報に基づいて、前記データの少なくとも一部を配置するスプレッドシート（１４０）内のロケーションを決定すること
を含むことを特徴とする方法。
【請求項２】
時間の関数として、前記データソース（１２０ａ）からの前記データの少なくとも一部に関連する値を計算すること、及び
前記値をスプレッドシートプログラム（２４０）に送って、それを前記スプレッドシート（１４０）に表示すること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記データソース（１２０ａ）からの前記データの少なくとも一部を使用して装置（１６０ａ）を制御することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記データソース（１２０ａ）の前記ロケーション情報を求めることをさらに含み、このロケーション情報は前記データソース（１２０ａ）の物理的なロケーションに関連することを特徴とする請求項１に記載の方法。
【請求項５】
前記データの少なくとも一部及び前記スプレッドシート（１４０）内の前記ロケーションをスプレッドシートプログラム（２４０）に送ることをさらに含み、前記スプレッドシートプログラム（２４０）は、前記データの少なくとも一部を前記ロケーションに表示するように動作可能であることを特徴とする請求項１に記載の方法。
【請求項６】
前記データソース（１２０ａ）からの前記データの少なくとも一部と、前記データソース（１２０ａ）の近傍に物理的に配置された少なくとも１つの他のデータソース（１２０ｂ）からのデータの少なくとも一部とから合計を計算すること、及び
前記データソース（１２０ａ）の前記ロケーション情報及び前記少なくとも１つの他のデータソース（１２０ｂ）のロケーション情報のうちの１つ又は複数に基づいて、前記合計を配置する前記スプレッドシート（１４０）内のロケーションを決定すること、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記データソース（１２０ａ）の前記ロケーション情報に基づいてスプレッドシート（１４０）内のロケーションを決定することは、前記データソース（１２０）のロケーション情報を前記スプレッドシート（１４０）内の所定のロケーションにマッピングすることを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記スプレッドシート（１４０）に表示するビューを特定すること、
前記データソース（１２０ａ）からの前記データの少なくとも一部が前記ビュー内にあるか否かを判断すること、及び
前記データの少なくとも一部が前記ビュー内にあることに応答して、前記データの少なくとも一部及び前記スプレッドシート（１４０）内の前記ロケーションをスプレッドシートプログラム（２４０）に送り、このスプレッドシートプログラム（２４０）は、前記データの少なくとも一部を前記ロケーションに表示するように動作可能であること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
複数のデータソース（１２０ａ、…、１２０ｎ）と、
この複数のデータソース（１２０ａ、…、１２０ｎ）のロケーションに関連するスプレッドシート（１４０）内のロケーションを決定し、前記スプレッドシート（１４０）内の決定されたロケーションに前記複数のセンサ（１２０ａ、…、１２０ｎ）からの前記データのうちの少なくとも１つ及び複数のセンサ（１２０ａ、…、１２０ｎ）のうちの１つ又は複数からのデータから計算された値を表示するように動作可能な計算プラットフォーム（８００）と、
を備えることを特徴とするシステム。
【請求項１０】
前記計算プラットフォーム（８００）は前記値を時間の関数として計算するように動作可能であることを特徴とする請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはスプレッドシートに関する。特に、本発明はスプレッドシート内のデータ配置ロケーションを決定することに関する。
【背景技術】
【０００２】
ＬＯＴＵＳ、ＱＵＡＴＲＯ、及びＥＸＣＥＬ等のスプレッドシートプログラムは、データの収集、解析、及び管理を、効率的且つ都合よく行うため、一般的に使用される強力なツールである。記録管理、最適化解析、計算、チャート化及びグラフ解析等の数学的アプリケーションが、スプレッドシートの代表的な用途例である。
【０００３】
スプレッドシートプログラムは、データの表示及び管理にスプレッドシートを使用する。スプレッドシートは通常、行及び列に配置されたセルを含む。たとえば、スプレッドシートの列は、列Ａ、列Ｂ、列Ｃ等の文字で編成することができ、行は行１、行２、行３等の番号で編成することができる。各セルは、列の文字及び行の番号の組み合わせによって特定される。数値データ及びテキストデータを、エンドユーザが組み付けた編成に従ってスプレッドシートのセルに入力することができる。また、セルは、所望の外観で数及びテキストを表すようにフォーマットすることができる。
【０００４】
データを個々のセルに入力することに加えて、従来のスプレッドプログラムでは、エンドユーザが数学関数を個々のセル内に定義することもできる。或るセルに入力された数学関数が他のセルに含まれているデータを使用することがよくある。関数自体はセルに表示されない。関数に代えて、セルは関数の結果を表示する。
【０００５】
通常、いくつかのよく使用される関数がスプレッドシートプログラムによって定義されている。たとえば、列中のセルの合算は「＝ＳＵＭ（Ａ３：Ａ５）」で表すことができる。エンドユーザはこの関数をセルＡ６にタイプすることができ、その結果、セルＡ６にセルＡ３〜Ａ５に含まれているデータの和が表示されることになる。予め定義された関数を使用することに代えて、エンドユーザはセルＡ６に「＝Ａ３＋Ａ４＋Ａ５」とタイプして同じ結果を実現することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、スプレッドシートプログラムはセルに依存木を作成し、各セルの数学関数（すなわち、式）を線形順に解く。たとえば、セルＡ６がセルＡ３〜Ａ５の和であると仮定すると、セルＡ３〜Ａ５のいずれかの値が変わる場合、スプレッドシートプログラムは和を再計算し、セルＡ６内の値が変わる。セルの再計算は、セルＡ３〜Ａ５等、その従属セルの中の１つのセルが変わった場合にのみ行われる。スプレッドシートに変更がない場合、再計算は行われない。しかし、この従来の再計算技法は、スプレッドシートの一定間隔の再計算を妨げる。また、センサデータ及び時間依存変数を集約した後に作動するセンサ駆動制御システム等、時間依存循環参照が望ましい環境では、システムの管理及び制御にスプレッドシートを使用することは一般に、循環時間依存参照がサポートされていないことにより実現することができない。
【０００７】
さらに、スプレッドシートはデータの解析及び管理を行うツールを提供する。しかし、スプレッドシートが、スプレッドシートにデータを供給するデータソースについて提供する情報は、その情報がスプレッドシートに入力されない限り、制限されている。大量のデータを管理している場合、データソースについての情報をスプレッドシートに入力することには費用がかかり、時間が浪費される。
【課題を解決するための手段】
【０００８】
一実施形態によれば、方法は、データソースからデータを受け取ること、及びデータソースのロケーション情報に基づいて、データの少なくとも一部を配置するスプレッドシート内のロケーションを決定することを含む。
【０００９】
別の実施形態によれば、スプレッドシートを使用して、情報源に関連するスプレッドシート内のロケーションに情報を表示する方法は、複数のセンサからデータを受け取ることを含む。この方法は、さらに複数のセンサのロケーションに関連するスプレッドシート内のロケーションを決定することを含む。複数のセンサのそれぞれからのデータ及び値の少なくとも一部の１つ又は複数は、スプレッドシート内のロケーションの１つ又は複数に表示するように動作可能であり、値は複数のセンサからのデータの少なくともいくつかから計算される。
【００１０】
さらに別の実施形態によれば、システムは、複数のデータソースと、複数のデータソースのロケーションに関連するスプレッドシート内のロケーションを決定するように動作可能な計算プラットフォームとを備える。複数のセンサからのデータ及び複数のセンサのうちの１つ又は複数からのデータから計算される値のうちの少なくとも一つは、スプレッドシート内のロケーションに表示することができる。
【００１１】
さらに別の実施形態によれば、装置は、複数のセンサからデータを受け取る手段、及び複数のセンサのロケーションに関連するスプレッドシート内のロケーションを決定する手段を備える。複数のセンサのそれぞれからのデータの少なくとも一部を、スプレッドシート内のロケーションに表示することができる。また、複数のセンサのうちの１つ又は複数からのデータから計算された値を、スプレッドシート内の決定されたロケーションの１つに表示することができる。
【００１２】
さらに別の実施形態によれば、プログラムを埋め込んだコンピュータ可読媒体が提供される。プログラムは方法を実行し、方法は、データソースからデータを受け取ること、及び、データソースのロケーション情報に基づいてデータの少なくとも一部を配置するスプレッドシート内のロケーションを決定することを含む。
【発明を実施するための最良の形態】
【００１３】
本発明を、同様の参照番号が同様の要素を指す添付図面に、限定ではなく例として示す。
【００１４】
本発明の実施形態によれば、スプレッドシートプログラムと対話して１つ又は複数のデータソースからのデータを管理するスプレッドシートマネージャが提供される。スプレッドシートマネージャは、データソースからデータを受け取り、データをスプレッドシート内のセルに送り、スプレッドシートを使用してデータの空間的表現を提供する。データソースのロケーション情報を使用して、データソースからのデータを配置するスプレッドシート内の、セルのロケーション等のロケーションを決定する。このように、スプレッドシートマネージャは、スプレッドシートを見ているユーザが大体スプレッドシート内のデータの出所が特定できるようにデータソースのロケーションとスプレッドシート内のデータのレイアウトとを相関付ける。
【００１５】
本発明の実施形態によれば、スプレッドシートマネージャは、データソースからのデータを使用して時間に関連した数学的関数を実行するように動作可能である。従来のスプレッドシートは、合算等、時間に関連しない数学的関数を実行することができる。たとえば、スプレッドシートマネージャはセルを使用してタイマ又はクロックをシミュレートすることができる。また、数学的関数をこのクロックに基づいて実行することができる。
【００１６】
本発明の別の実施形態によれば、スプレッドシートをプログラミングプラットフォームとして使用して、１つ又は複数の装置を制御する。たとえば、スプレッドシート内の１つ又は複数のセル内のデータに基づいて、動作するように装置に指示することができる。従来のスプレッドシートは、セルの数学的関数を線形順に解き、計算は、従属セルの値の変更に対応して行われる。スプレッドシートマネージャは、数学的関数を線形ではなく、又は線形に加えて時間の関数として解く能力を提供する。したがって、計算を一定間隔で行うことができる。これは、スプレッドシートを、センサデータ及び時間依存変数の集約後に動作するセンサ駆動制御システムのプログラミングプラットフォームとして使用することの実現可能性を高める。
【００１７】
図１は本発明の実施形態によるシステム１００を示す。システム１００はスプレッドシートマネージャ１１０を備える。スプレッドシートマネージャ１１０はデータソース１２０ａ〜１２０ｎ、構成リポジトリ１３０、及びスプレッドシート１４０を生成するスプレッドシートプログラムに接続される。スプレッドシートマネージャ１１０は、データソース１２０ａ、…、１２０ｎからデータを受け取る。一実施形態では、データソース１２０ａ、…、１２０ｎはセンサ及び他のスプレッドシートから受け取ったデータを含むことができるが、データソース１２０ａ、…、１２０ｎは、ほぼあらゆるデータソースを含むことができる。
【００１８】
スプレッドシートマネージャ１１０は、地理的エリア内の各データソース１２０ａ、…、１２０ｎのロケーションに関連するロケーション情報を求める。データソース１２０ａ、…、１２０ｎのロケーション情報に基づいて、スプレッドシートマネージャ１１０は、データソース１２０ａ、…、１２０ｎからのデータを表示するスプレッドシート内のロケーションを決定する。たとえば、スプレッドシート１４０内のデータ１４２ａ〜１４２ｅは、データソース１２０ａ〜１２０ｅから受け取ったデータ又はデータソース１２０ａ〜１２０ｅから計算されるデータを表す。セルＢ６、Ｄ６、及びＥ３〜Ｅ５等、スプレッドシート１４０内のデータ１４２ａ〜１４２ｅのロケーションに、データソース１２０ａ〜１２０ｅのロケーション情報が関連付けられる。このように、スプレッドシート１４０を見ているユーザは、スプレッドシート１４０に表示されるデータ及びスプレッドシート１４０に表示されるデータのロケーションに基づいて、特定のエリアに関連するデータを素早く特定することができ、場合によっては、そのエリアに関連した問題があるか否かを素早く判断することができる。たとえば、地理的エリアはデータセンタを含むことができ、データソースはデータセンタ内のセンサを含むことができる。スプレッドシートマネージャ１１０は、センサからのデータ及びスプレッドシート内でデータを配置するためのセルロケーションをスプレッドシートプログラムに送り、データ表示を生成する。スプレッドシートプログラムに送られるデータソース１２０ａ、…、１２０ｅからのデータは、データソース１２０ａ、…、１２０ｅから受け取るデータの少なくとも一部を含むことができる。たとえば、データソース１２０ａ、…、１２０ｅが温度測定センサである場合、測定された温度、センサＩＤ、ロケーション情報等をセンサから送ることができる。測定された温度等、センサから受け取るデータの一部をスプレッドシートプログラムに送り、スプレッドシートの所定のセルロケーションに表示することができる。セルのロケーションは、センサのロケーション情報に関連付けられる。したがって、スプレッドシート内のデータを見ているユーザは大まかに、データを提供しているセンサがデータセンタ内のどこにあるかを判断することができる。したがって、センサデータが問題を示す場合、その問題及びデータセンタ内の問題の大まかな場所をスプレッドシート１４０から素早く特定することができる。
【００１９】
データソース１２０ａ、…、１２０ｎのロケーション情報は、地理的エリア内の物理的なロケーションに関連付けることができる。地理的エリアはほぼあらゆるサイズであることができる。たとえば、地理的エリアは、データセンタを含む部屋であっても、又は国の地域であってもよい。データソース１２０ａのロケーション情報は、データセンタ等の地理的エリアを含むデカルト座標空間内のロケーションであることができる。また、ロケーション情報は所定のポイントまでのおおよその距離に基づいて計算することができる。たとえば、データソース１２０ｂ、…、１２０ｎのロケーションは、データソース１２０ａまでのそれぞれの距離に基づくことができる。これら及び他の技法を使用して、データソース１２０ａ、…、１２０ｎのロケーション情報を生成することができる。ロケーション情報は、データソース１２０ａ、…、１２０ｎに関連するロケーションセンサ（図示せず）により自動的に求め、スプレッドシートマネージャ１１０に送ることができ、そこでロケーション情報を構成リポジトリ１３０に記憶することができる。ロケーションセンサは、ＧＰＳセンサ又はロケーションを求める他の既知の装置を含むことができる。また、ロケーション情報は手動で求めて構成リポジトリ１３０に記憶することができる。
【００２０】
スプレッドシートマネージャ１１０は、データソース１２０ａ、…、１２０ｎのロケーション情報をスプレッドシート１４０内のロケーションにマッピングする。一実施形態では、データソース１２０ａ、…、１２０ｎからのデータを配置するスプレッドシート１４０内のロケーションは、構成リポジトリ１３０に記憶される。各データソース１２０ａ、…、１２０ｎは、データを送っているデータソースを識別するデータソースＩＤを含むデータを送るように動作可能である。スプレッドシートマネージャ１１０は、構成リポジトリ１３０から、データソースからのデータを配置するためスプレッドシート１４０内のロケーションを検索する。たとえば、スプレッドシートマネージャ１１０は、データをデータソース１２０ａから受け取り、スプレッドシート１４０内のデータを配置するロケーションを検索する。データソース１２０ａのＩＤを使用して、データソース１２０ａからのデータ１４２ａのスプレッドシートロケーションを決定することができる。データソース１２０ａのロケーション情報に基づく、検索されるロケーション（たとえば、セルＥ３）は、データ１４２ａがスプレッドシート１４０に配置されるロケーションである。
【００２１】
本発明の別の実施形態によれば、スプレッドシートマネージャ１１０は、データソース１２０ａ、…、１２０ｎから受け取ったデータの異なるビューの生成に役立つことができる。たとえば、図１に示すスプレッドシート１４０は、データソース１２０ａ、…、１２０ｎから受け取ったすべてのデータを表現したものであることができる。データソース１２０ａ、…、１２０ｎからのデータをすべて見るのではなく、ユーザは特定のエリア内のデータソースのデータを見たい場合がある。スプレッドシートマネージャ１１０は、それぞれがビューフィールドと呼ばれるデータの複数のビューの生成に役立つことができる。各ビューフィールドは、データソース１２０ａ、…、１２０ｎの部分集合を含む特定のエリアと関連付けることができる。異なるビューフィールドの生成について図５及び図６に関連して以下さらに詳述する。
【００２２】
本発明の別の実施形態によれば、スプレッドシート１４０を、装置を制御するプログラミングプラットフォームとして使用することができる。たとえば、装置１６０ａ及び１６０ｂは、スプレッドシート１４０内のデータ１４２ｃ及び１４２ｄの値に基づいて制御される。データ１４２ｃ及び１４２ｄを含むセルＥ５及びＤ６は事実上センサになる。センサの出力、すなわちデータ１４２ｃ及び１４２ｄの値に基づいて、スプレッドシートマネージャ１１０は、装置１６０ａ及び１６０ｂに動作するように指示することができる。データセンタの例を参照すると、データ１４２ｃ及び１４２ｄの値が、データセンタ内で温度センサによって測定される高い温度を示す場合、スプレッドシートマネージャ１１０は装置１６０ａ及び１６０ｂ、たとえば冷却ファン又は送風機に、データソース１２０ｄ及び１２０ｅが配置されているエリアの空気流を増大させるように指示することができる。
【００２３】
スプレッドシートマネージャ１１０はまた、複数のスプレッドシートをリンクさせることにも役立つ。スプレッドシート１４０内のセルを、他のスプレッドシートにデータを提供するデータソースとして使用することができる。たとえば、セルＥ３〜Ｅ４はスプレッドシート１５０のデータソースである。セルＥ３〜Ｅ４内のデータ１４２ａ及び１４２ｂはスプレッドシート１５０に配置することができ、且つ／又はスプレッドシート１５０に配置された他のデータを計算するために使用することができる。また、スプレッドシート１５０内のセルは、スプレッドシートマネージャ１１０に接続されたセンサとして機能することができる。たとえば、スプレッドシートマネージャ１１０は、スプレッドシート１４０のセルＤ６内のデータ１４２ｄ及びスプレッドシート１５０のセル内のデータに基づいて装置１６０ａを制御することができる。
【００２４】
別の実施形態によれば、スプレッドシートマネージャ１１０は、データソース１２０ａ、…、１２０ｎからのデータに対して時間に関連した数学的関数を実行することができる。従来から、スプレッドシートプログラムはスプレッドシート内のデータに対して数学的関数を実行することができる。しかし、この数学的関数は時間に関連した関数を含まない。たとえば、従来のスプレッドシートはタイマ又はカウンタをエミュレートすることができない。スプレッドシートマネージャ１１０は、装置１６０ａ及び１６０ｂの制御に使用することができる時間に関連した関数を実行するように動作可能である。たとえば、スプレッドシートマネージャ１１０は、スプレッドシート１４０内のセルの１つにカウンタをエミュレートすることができる。カウンタは、数学的関数を実行すべきとき、又は装置１６０ａ若しくは１６０ｂのうちの一方を制御すべきときを判断するために、所定の時間量が経過したときを判定するため等、種々の機能に使用することができる。
【００２５】
図２は、スプレッドシートマネージャ１１０の一般化されたソフトウェア構造を示す。ソフトウェア構造は、マッピングモジュール２１０、計算モジュール２２０、及びビュー生成モジュール２３０を含む。本発明の実施形態によれば、マッピングモジュール２１０は、図１に示すデータソース１２０ａ、…、１２０ｎ等のデータソースからデータソースデータ２１２を受け取る。一実施形態では、データソースデータ２１２は、データを送っている各データソース１２０ａ、…、１２０ｎのＩＤ及び／又はロケーション情報を含むことができる。ユーザが閲覧を望むデータに基づいて、マッピングモジュール２１０は、スプレッドシート１４０内でデータソースデータ２１２を配置するセルのロケーション等のロケーションを検索する。スプレッドシート１４０内のロケーションにデータソース１２０ａ、…、１２０ｎのロケーション情報を関連付けて、データの空間表現を提供し、これを使用してデータの大まかな出所を素早く判断することができる。別の実施形態では、データソースデータ２１２はロケーション情報を含むこともできる。データソースのロケーション情報は、構成リポジトリ１３０から、スプレッドシート１４０内の、そのデータソースからのデータを配置するロケーションを検索するために使用される。
【００２６】
マッピングモジュール２１０は、データソースデータ２２２に対して時間に関連した及び／又は時間に関連しない数学的関数を実行した結果のデータをスプレッドシート１４０に配置する計算モジュール２２０に接続される。計算モジュール２２０は、データソース１２０ａ、…、１２０ｎから受け取ったデータソースデータ２２２に対して数学的関数を実行することができる。データソースデータ２２２は、センサが生成した測定データ等、ＩＤ又はロケーション情報なしのデータソース１２０ａ、…、１２０ｎから受け取ったデータソースデータ２１２を含むことができる。
【００２７】
計算モジュール２２０は、時間に関連した及び／又は時間に関連しない数学的関数を実行することができる。たとえば、計算モジュール２２０は、特定のソースからのデータの値を閾値と比較することができる。所定の期間にわたって閾値を超えると、動作が行われる。動作は、装置制御モジュール２２４が生成する装置制御データ２２６によって表される等、装置制御モジュール２２４が行うことができる。たとえば、装置制御モジュール２２４は、データを閾値よりも下げさせる動作をとるように図１に示す装置１６０に指示することができる。別の例としては、データが所定の期間にわたって閾値を超えると、それに応答してアラームを作動させることを挙げることができる。図３Ａに示すデータセンタ実施形態では、装置制御モジュールは、過度の温度を所定の期間にわたって感知したことに応答して、送風機又はポンプ等の冷却システム構成要素３６０ａに、コンピュータシステムを冷却するために供給される冷却流体量を増やすように指示することができる。
【００２８】
マッピングモジュール２１０は、スプレッドシート１４０に表示されるデータソースデータ２１２のビューを決定するビュー生成モジュール２３０にも接続される。ビュー生成モジュール２３０は、ビューデータ２３２を受け取る。ビューデータ２３２は、スプレッドシート１４０に表示されるビューのタイプの選択肢を含むことができる。スプレッドシートマネージャ１１０は、データソースデータ２１２の少なくとも２つのタイプのビューを生成することができる。ビューロックと呼ばれる第１のタイプは、ほぼすべてのデータソース１２０ａ、…、１２０ｎから受け取ったデータソースデータ２１２の表示を含む。図５は、図３Ａに示すデータセンタ３００内の温度センサ３２０等、ほぼすべてのデータソースのデータを含むビューロックビューの例を示す。
【００２９】
ビューフィールドと呼ばれる第２のタイプのビューは、データソース１２０ａ、…、１２０ｎの少なくとも一つの部分集合から受け取ったデータソースデータ２１２の表示を含む。ビューフィールドは、データソース１２０ａ、…、１２０ｎが配置されている地理的エリア内の或るポイントからデータソース１２０ａ、…、１２０ｎを見ているユーザの視点からのものであることができる。これについては図３Ａ及び図６に関連してさらに示す。図３Ａはデータセンタ３００を含む地理的エリアを示す。図３Ａはデータセンタ３００の上面図である。データセンタ３００は、複数のラック３１０及び複数のデータソースを含み、この例では、データソースはラック３１０の温度を監視する温度センサ３２０を含む。ラック３１０は、相当量の熱を発するコンピュータシステム及び他の構成要素を収容する。温度センサ３２０は、コンピュータシステムが放散した熱を除去して、コンピュータシステム付近の温度を、コンピュータシステムのパフォーマンスを最適化する許容可能なレベルに維持する冷却システム内に含められる。冷却システムは、空気等の冷却流体をセクション３５０及び／又はデータセンタ３００の他のセクション内のラック３１０に供給する送風機３６０ａ及び３６０ｂを含むことができる。ラック及び冷却システムについて、ラックを示す図３Ｂ及び冷却システムを含むシステムを示す図４に関連して以下さらに詳述する。
【００３０】
データセンタ３００である地理的エリアはセクション３５０〜３５３に分割することができる。この例では、セクション３５０〜３５３はｘ軸及びｙ軸に沿って分割される。しかし、セクションはｚ軸に沿って分割することもできる。たとえば、セクション３５０〜３５３のすぐ下にｚ軸に沿っていくつかのセクションを提供することができ、これらは図３Ａに示すデータセンタ３００の上面図からは隠れている。ラック３１０のうちの１つ又は複数が、ラック３１０の垂直軸すなわちｚ軸に沿って配置されたいくつかのセンサを備える場合、スプレッドシートマネージャ１１０が、データセンタ３００の特定のｘ−ｙ平面に設けられた温度センサ３２０からのデータを含むビューフィールドをスプレッドシート１４０に生成することができるように、データセンタをｚ軸に沿って分割することができる。一実施形態では、スプレッドシート１４０は、ｚ軸に沿って分割されたセクションのビューを表す複数のワークシートを含むことができる。したがって、ビューデータ２３２は、ユーザ選択の所望のビュータイプを含むことができる。選択されたビュータイプがビューフィールドを含む場合、地理的エリアのセクションが選択される。次いで、選択されたセクション内のデータソースからのデータを含むビューフィールドが、スプレッドシート１４０に生成される。
【００３１】
一実施形態では、ユーザはグラフィカルユーザインタフェースを使用してビュータイプを選択することができる。たとえば、データセンタの表現をユーザのコンピュータ画面上に表示することができ、ユーザはビデオゲームと同様に、ジョイスティック等の入力装置を使用してデータセンタ内を自由に移動する。ユーザは、関心のあるデータセンタのセクションに移動したときにスプレッドシート１４０に表示するビューを選択することができる。他の実施形態では、ユーザは、ビュータイプの選択及び必要であればビュータイプに関連する他の情報をインタフェースに入力することにより、ビュータイプを選択することができる。インタフェースは、従来のタイプのインタフェースであることができる。
【００３２】
図６は、図３Ａに示すデータセンタ３００のセクション３５０のスプレッドシート１４０でのビューフィールド表示の例を示す。ビューフィールドは、セクション３５０内の温度センサ３２０ａ〜３２０ｆからのデータを含む。
【００３３】
上述したように、マッピングモジュール２２０は、データソースからのデータをスプレッドシート内のロケーションにマッピングする。一実施形態では、以下の表１を使用して、データソースのロケーション情報及び選択されたビューに基づいてデータをスプレッドシート１４０内のセルにマッピングすることができる。
【００３４】
【表１】
2007512591.tif 000003
【００３５】
表１は、図１に示す構成リポジトリに記憶することができるルックアップテーブルの例である。図２に示すマッピングモジュール２１０には、データソース３２０から受け取ったデータを入れることができる。データ列（すなわち、表１００の最後の列）は、図３Ａに示すデータセンタ３００内の温度センサ３２０から送ることができるデータの例を含む。特に、行１〜６は温度センサ３２０ａ〜３２０ｆからの温度データを含む。図示していないが、表１は温度センサ３２０からのすべてのデータを含むことができる。スプレッドシートマネージャ１１０は、図２に示すように、温度センサ３２０からデータソースデータ及びＩＤ２１２を受け取る。マッピングモジュール２１０は、たとえばＩＤを使用して受け取ったデータを表１に記憶する。マッピングモジュール２１０は、ユーザ選択のビューに基づいて表１からデータを検索する。
【００３６】
温度センサ３２０からのデータに加えて、表１は、温度センサ３２０のＩＤ及びスプレッドシート１４０にデータを配置するためのスプレッドシートロケーションを記憶することもできる。スプレッドシートロケーションは、温度センサ３２０のロケーション情報に対応する。スプレッドシートロケーションは、ユーザ選択のビューに基づいて予め決定することができる。行１〜６は、図５のビューロックビューに示すような、ビューロックビューの場合に温度センサ３２０ａ〜３２０ｆからのデータを配置するスプレッドシート１４０のロケーションを含む。たとえば、温度センサ３２０ａから受け取ったデータは、ユーザがビューロックビューを選択した場合にはセルＢ２に配置され、温度センサ３２０ｂから受け取ったデータは、ビューロックビューの場合にＣ２に配置される等である。
【００３７】
表１の行７〜１２は、ユーザがデータセンタ３００のセクション３５０についてビューフィールドを選択している場合にスプレッドシート１４０にデータを配置するロケーションを含む。図６はセクション３５０のビューフィールドを示す。マッピングモジュール２１０は、ビューフィールドが選択されている場合、行７〜１２からスプレッドシート１４０内に配置するためのロケーション及びデータを検索する。
【００３８】
マッピングモジュール２１０は、表１から検索されたデータ及びロケーション、すなわち図２に示される表示データ２４２をスプレッドシートプログラム２４０に送り、図５及び図６に示すようにスプレッドシート１４０にデータを表示する。
【００３９】
表１は、センサから受け取ったデータを配置する例を示す。表１が他の情報を含み得ることが当業者に理解されよう。たとえば、図２の計算モジュール２２０は、センサから受け取ったデータに対して数学的関数を実行した結果等のデータをスプレッドシート１４０に配置することができる。表１は、センサから受け取ったロケーション情報又はセンサの所定のロケーション情報を含むこともできる。
【００４０】
図３Ｂは、コンピュータシステムを収容するためにデータセンタ３００内で使用することができる、本発明の実施形態によるラック３１０を示す。図３Ｂはラック３１０の断面図である。ラック３１０はコンピュータシステム３７２を収容する。ラック３１０は、５つのコンピュータシステム３７２を収容しているものとして示される。ラック３１０がはるかに多数のコンピュータシステムを収容するように設計可能なことが当業者に理解されよう。従来のラックは４０以上のコンピュータシステムを収容することが可能である。
【００４１】
コンピュータシステム３７２は構成要素３７４を含むことができる。コンピュータシステム３７２は、当分野において既知のようなサーバ、記憶装置等を含むことができ、構成要素３７４のタイプはコンピュータシステムのタイプに応じて可変である。コンピュータシステム３７２を調整し給電する電源システム３７６を示す。
【００４２】
コンピュータシステム３７２は、構成要素３７４の動作に影響を及ぼし得る相当量の熱を放散する傾向がある。構成要素３７４は、所定の温度未満に維持された環境で動作するように設計されている場合がある。したがって、冷却構成要素を使用して、コンピュータシステム３７２に冷却流体を供給し、最適な動作温度を維持することができる。
【００４３】
この実施形態では、ラック３１０は、冷却流体（たとえば、空気）をラック３１０の外部から引き込み、冷却流体をラック３１０内のスペースに送るように動作可能な複数の送風機３８０を備える。送風機３８０は、コンピュータシステム３７２内の構成要素３７４の測定された熱放散に基づいて、ラック３１０内の構成要素に送られる冷却流体量を変化させるように動作可能な可変速度送風機を含むことができる。送風機３８０は、スペースに送られる流体量を変えることができる、相応に適したあらゆる送風機を含むことができる。送風機３８０の選択は、複数の要因、たとえば冷却要件、コスト、動作費用等に依存し得る。また、実装される送風機の数は、システムの冷却ニーズに従って可変である。一実施形態によれば、少なくとも２つの送風機３８０が実装されて、片方の送風機が誤作動した場合でも余剰の流体供給を可能にする。さらに、少なくとも２つの送風機を設けて、流体をラック３１０の両側に送ることができる。この場合、冷却流体をラック３１０の両側にほぼ同時に送ることができる。
【００４４】
送風機３８０の出口はプレナム３８２と流通する。プレナム３８２は複数のノズル３８４と流通する。ノズル３８４は第１の端及び第２の端を有し、第１の端はプレナム３８２に接続される。ノズル３８４の第２の端は、流体を送風機３８０からコンピュータシステム３７２の１つ又は複数の発熱構成要素３７４に送り出すように構成される。発熱構成要素３７４により相対的に加熱された送風機３８０が供給する冷却流体は、ラック３１０外に排出することができる。ラック３１０に含められる冷却構成要素は、コンピュータシステム３７２を冷却するシステムの一例である。他の既知の冷却システムをラック３１０に実装して、コンピュータシステム３７２を冷却することができる。たとえば、ポンプを使用した液体冷却システムを使用して、冷却流体をコンピュータシステム３７２に供給して、コンピュータシステム３７２が放散する熱を除去することができる。
【００４５】
ラック３１０は、複数の温度センサ３２０を備えることもできる。一実施形態では、複数のセンサ３２０はラック３１０のｚ軸に沿って配置することができる。温度センサ３２０は、測定された温度を図２に示すスプレッドシートマネージャ１１０に送ることができる。温度センサ３２０からの温度センサデータは、ビューにおいてスプレッドシート１４０に表示することができる。一実施形態によれば、図３Ｂに示す温度センサ３２０からの温度センサデータは、スプレッドシート１４０の単一のセルに表示することができる。測定された温度は、総計して単一のセルに表示することができる。たとえば、図５に示すビューフィールドを参照すると、セルＤ４内のデータは、図３Ｂに示すラック３１０の温度センサ３２０によって検知された温度の総計であることができる。別法として、各温度を別個のセルに含むことができる。また、スプレッドシート１４０の複数のワークシートを使用して、ｚ軸に沿って分割されたセクションのビューを表すことができる。たとえば、図６は、図３Ａに示すデータセンタ３００のセクション３５０内の温度センサ３２０からのデータのビューフィールドを含む。これら温度センサ３２０は、図４に示すラック３１０の最上部付近の温度センサ３２０とほぼ同じｘ−ｙ平面にある温度センサ３２０を含むことができる。このビューフィールドは、スプレッドシート１４０の第１のワークシートに生成することができる。他のワークシートを使用して、異なるｘ−ｙ平面にあるセクション３５０のセンサ３２０のビューフィールドを提供することができる。
【００４６】
図４は、本発明の実施形態によるシステム４００を示す。システム４００は図１に示すシステム１００と類似している。システム４００は、スプレッドシートマネージャ１１０及び構成リポジトリ１３０を含むスプレッドシートサーバ４２０を含む。構成リポジトリ１３０は、スプレッドシートサーバ４２０から離れて配置することもできる。スプレッドシートマネージャ１１０は、上述したように、スプレッドシート１４０でのデータビューの生成に役立つ。
【００４７】
システム４００は、図３に示すデータセンタ３００に使用することができる冷却システム４１０を備えることができる。冷却システム４１０は、コンピュータシステム３１０付近の温度を測定する図３Ａ及び図３Ｂに示す温度センサ等、温度センサ３２０を備える。コンピュータシステム３１０は、図３Ｂに示すように、ラック内に収容することができる。温度センサ３２０は、測定された温度を、たとえばネットワーク４５０を介してスプレッドシートマネージャ１１０に送る。スプレッドシートマネージャ１１０は、スプレッドシート１４０での温度センサデータのビューの生成に役立つ。
【００４８】
スプレッドシートマネージャ１１０はまた、温度センサ３２０から受け取った温度センサデータに基づいて装置１６０ａ及び１６０ｂを制御することができる。たとえば、１つのコンピュータシステム３１０付近の温度が閾値を所定の期間にわたって超えている場合、スプレッドシートマネージャ１１０は、コンピュータシステムに供給されている冷却流体量を増大させるように冷却システム４１０内のコントローラ４１２に指示することができる。たとえば、装置１６０ａ、１６０ｂは、冷却流体をデータセンタ３００の１つ又は複数のセクションに供給する図３Ａに示す送風機３６０ａ及び３６０ｂ等の送風機、又はラックへの局所冷却を提供する図３Ｂに示す送風機３８０を備えることができる。コントローラ４１２は送風機（たとえば、装置１６０ａ）に指示することができ、送風機は、過度の量の熱を放散しているコンピュータシステムに冷却流体を供給して、コンピュータシステム付近の温度を低下させるようにその速度を上げるように動作可能である。
【００４９】
図７は、本発明の実施形態によるデータソースから受け取ったデータのビューを生成する方法７００を示す。方法７００については、限定ではなく例として図３Ａに関連して説明する。さらに、方法７００のステップは、ソフトウェア、ハードウェア、又はこれらの組み合わせで実行することができる。
【００５０】
ステップ７１０において、スプレッドシートマネージャ１１０は温度センサ３２０からデータを受け取る。データは、温度センサ３２０が測定した温度等の温度センサデータを含む。またこのデータは、データを送っているセンサを識別するＩＤを含むこともできる。一実施形態では、このデータは、データセンタ内の温度センサのロケーションを識別するロケーション情報を含むこともできる。たとえば、各温度センサ３２０はそのロケーションを識別するロケーション情報を記憶することができ、ロケーション情報は、温度センサデータと共にスプレッドシートマネージャ１１０に送られる。ロケーション情報を予め決定して温度センサ３２０に記憶して、スプレッドシートマネージャ１１０に送ることができる。別法として、別個のロケーションセンサ（図示せず）を温度センサ３２０と共に使用して、各温度センサ３２０のロケーション情報を求めることができる。別の実施形態では、温度センサ３２０のロケーション情報は予め決定され、たとえば図１に示す構成リポジトリ１３０に記憶される。
【００５１】
ステップ７２０において、スプレッドシートマネージャ１１０は、温度センサ３２０から受け取ったデータを構成リポジトリ１３０に記憶する。一実施形態では、表１等の表に温度センサデータが入れられる。温度センサＩＤ及び／又はロケーション情報を使用して、温度センサデータを表１のどこに記憶すべきかを決定することができる。
【００５２】
ステップ７３０において、スプレッドシートマネージャ１１０は、温度センサデータに対して数学的関数を実行する。たとえば、図２に示す計算モジュール２２０は、近くにある温度センサの温度センサデータを集約することができる。計算モジュール２２０は、温度センサデータを閾値と比較することができる。また計算モジュールは、閾値を所定の期間にわたって超えたか否かを判断する等、時間に関連した数学的関数を実行することができる。一実施形態では、数学的関数は予めプログラムされている。たとえば、計算モジュール２２０は数学的関数を実行するコードを含むことができる。また、数学的関数の結果をスプレッドシート１４０に表示することができる。
【００５３】
ステップ７４０において、スプレッドシートマネージャ１１０は、温度センサ３２０から受け取ったデータのビューの生成に関連するユーザの選択を識別する。ユーザの選択は、ビューロック又はビューフィールド等、ビューのタイプの選択を含むことができる。ビューフィールドが選択さる場合、データセンタ３００内のセクション３５０〜３５３のうちの１つ等のセクションが、そのビューフィールドに含めるべき温度センサデータを識別するために選択される。他のユーザ選択としては、ビューに含まれる温度センサデータが、近くにあるセンサ（たとえば、１つのラック上にある温度センサ）の温度センサの集約であるか、それとも各温度センサのデータであるかを含むことができる。
【００５４】
ステップ７５０において、スプレッドシートマネージャ１１０は、温度センサ３２０のロケーション情報及びユーザ選択に基づいて、スプレッドシート１４０内の温度センサデータを配置するロケーションを決定する。たとえば、表１を参照すると、セルのロケーションが各ビュータイプに提供される。セルのロケーションは、温度センサ３２０のロケーション情報に基づいて決定される。ステップ７３０において、スプレッドシートマネージャ１１０は温度センサデータに対して数学的関数を実行する。数学的関数の結果を表示することもでき、その結果を配置するスプレッドシート１４０内のロケーションは所定であっても、或いは１つ又は複数の温度センサのロケーション情報に基づいてもよい。
【００５５】
ステップ７６０において、スプレッドシートマネージャ１１０は、温度センサデータ、温度センサデータに対して実行されたあらゆる計算の結果、及びスプレッドシート１４０内のデータを配置するロケーションを含み得るデータをスプレッドシートプログラム２４０に送る。スプレッドシートプログラム２４０は、ステップ７５０において決定されたロケーションにデータを配置し、ビューが生成される。
【００５６】
ステップ７７０において、スプレッドシートマネージャ１１０は、スプレッドシート１４０内のデータに基づいて動作を行う。たとえば、スプレッドシートマネージャは、たとえばステップ７６０においてスプレッドシートマネージャ１１０から送られたデータを含むスプレッドシート１４０内のセルをセンサとして使用する。セル内のデータが、閾値を所定の期間にわたって超える等、所定の条件を満たす場合、スプレッドシートマネージャ１１０は動作を行う。この動作は、装置を制御することを含む。たとえば、スプレッドシートマネージャ１１０は、送風機の速度を上げてコンピュータシステムに提供される冷却流体量を増やすように冷却システムに指示することができる。
【００５７】
方法７００のステップのうちの１つ又は複数は、ほぼ常時、定期的に、又は必要があったときに繰り返すことができる。方法７００に対するこれら及び他のバリエーションが当業者に明らかになろう。
【００５８】
図８は、スプレッドシートマネージャ１０の例示的なプラットフォーム８００を示す。スプレッドシートマネージャ１１０のソフトウェアをプラットフォーム８００で実行することができる。プラットフォーム８００は、たとえば、プロセッサ８０２等の１つ又は複数のプロセッサを備える。プロセッサ８０２からのコマンド及びデータは、通信バス８０４を介して通信される。プラットフォーム８００は、スプレッドシートマネージャ１１０のプログラムコードをランタイム中に実行することができるランダムアクセスメモリ（ＲＡＭ）等のメインメモリ８０６及び補助メモリ８０８も備える。補助メモリ８０８は、たとえば、１つ又は複数のハードディスクドライブ８１０及び／又はフロッピーディスク（登録商標）ドライブ、磁気テープドライブ、コンパクトディスクドライブ等からなるリムーバブルストレージドライブ８１２を含み、スプレッドシートマネージャ１１０のプログラムコードのコピーを記憶することができる。リムーバブルストレージドライブ８１２は、周知の様式でリムーバブルストレージユニット８１４に対して読み出し及び／又は書き込みを行う。ユーザ入力装置及び出力装置は、キーボード８１６、マウス又はジョイスティック８１８、及びディスプレイ８２０を含むことができる。ディスプレイアダプタ８２２は通信バス８０４及びディスプレイ８２０とインタフェースし、プロセッサ８０２から表示データを受け取り、表示データをディスプレイ８２０の表示コマンドに変換する。他の既知の電気構成要素をプラットフォーム８００において追加又は置換できることが当業者に理解されよう。また、図８中の構成要素の１つ又は複数（たとえば、ユーザ入力装置、補助メモリ等）は取捨選択可能である。他のコンピュータシステムと通信するためにネットワークインタフェース８２４を含めることもできる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態によるシステムのブロック図を示す。
【図２】本発明の実施形態によるスプレッドシートマネージャのソフトウェア構造を示す。
【図３Ａ】本発明の実施形態によるデータセンタを示す。
【図３Ｂ】本発明の実施形態による、データセンタにおいて使用することができるラックを示す。
【図４】本発明の実施形態による別のシステムのブロック図を示す。
【図５】本発明の実施形態によるスプレッドシートのビューロックビューを示す。
【図６】本発明の実施形態によるスプレッドシートのビューフィールドを示す。
【図７】本発明の実施形態によるスプレッドシートのデータのビューを生成する方法のフローチャートを示す。
【図８】本発明の実施形態によるスプレッドシートマネージャの計算プラットフォームを示す。
【図１】
2007512591.tif 000004
【図２】
2007512591.tif 000005
【図３Ａ】
2007512591.tif 000006
【図３Ｂ】
2007512591.tif 000007
【図４】
2007512591.tif 000008
【図５】
2007512591.tif 000009
【図６】
2007512591.tif 000010
【図７】
2007512591.tif 000011
【図８】
2007512591.tif 000012
【国際調査報告】
2007512591.tif 000013
2007512591.tif 000014
2007512591.tif 000015