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