説明

スプレッドシート内でデータを表示するためのシステムと方法

【課題】データソースのロケーション情報の入力やデータ表示を容易にしてスプレッドシートを使用したデータソースやデータの監視を容易にする。
【解決手段】データソース120aからのロケーション情報を含むデータを受け取る。スプレッドシート140内のロケーションが、データソース120aのロケーション情報に基づいて決定され、データソース120aからのデータのうち少なくとも一部を配置するロケーションとして対応して決定される。該ロケーションがデータソースのロケーションと対応する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的にはスプレッドシートに関する。特に、本発明はスプレッドシート内のデータ配置ロケーションを決定することに関する。また、本発明は、ハードウェアとソフトウェアの協働により実施される。
【背景技術】
【0002】
LOTUS、QUATRO、及びEXCEL等のスプレッドシートプログラムは、データの収集、解析、及び管理を、効率的且つ都合よく行うため、一般的に使用される強力なツールである。記録管理、最適化解析、計算、チャート化及びグラフ解析等の数学的アプリケーションが、スプレッドシートの代表的な用途例である。
【0003】
スプレッドシートプログラムは、データの表示及び管理にスプレッドシートを使用する。スプレッドシートは通常、行及び列に配置されたセルを含む。たとえば、スプレッドシートの列は、列A、列B、列C等の文字で編成するようにしてもよく、行は行1、行2、行3等の番号で編成するようにしてもよい。各セルは、列の文字及び行の番号の組み合わせによって特定される。数値データ及びテキストデータを、エンドユーザが組み付けた編成に従ってスプレッドシートのセルに入力することができる。また、セルは、所望の外観で数及びテキストを表すようにフォーマットすることができる。
【0004】
データを個々のセルに入力することに加えて、従来のスプレッドプログラムでは、エンドユーザが数学関数を個々のセル内に定義することもできる。或るセルに入力された数学関数が他のセルに含まれているデータを使用することがよくある。関数自体はセルに表示されない。関数に代えて、セルは関数の結果を表示する。
【0005】
通常、いくつかのよく使用される関数がスプレッドシートプログラムによって定義されている。たとえば、列中のセルの合算は「=SUM(A3:A5)」で表すことができる。エンドユーザはこの関数をセルA6にタイプするようにしてもよく、その結果、セルA6にセルA3〜A5に含まれているデータの和が表示されることになる。予め定義された関数を使用することに代えて、エンドユーザはセルA6に「=A3+A4+A5」とタイプして同じ結果を実現するようにしてもよい。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、スプレッドシートプログラムはセルに依存木を作成し、各セルの数学関数(すなわち、式)を線形順に解いていた。たとえば、セルA6がセルA3〜A5の和であると仮定すると、セルA3〜A5のいずれかの値が変わる場合、スプレッドシートプログラムは和を再計算し、セルA6内の値が変わる。セルA6の値の再計算は、セルA3〜A5等、その従属セルの中の1つのセルの値が変わった場合にのみ行われる。スプレッドシート内のこれらセルの値に変更がない場合、再計算は行われない。しかし、この従来の再計算技法は、スプレッドシートの一定間隔の再計算を妨げている。そのため、循環時間依存参照がサポートされておらず、センサデータ及び時間依存変数を集計した後に作動するセンサ駆動制御システム等、一定時間間隔で再計算された値が順次参照する循環時間依存参照が望ましい環境では、システムの管理及び制御にスプレッドシートを使用することは実現することができない。
【0007】
さらに、スプレッドシートはデータの解析及び管理を行うためのツールを提供していた。しかし、スプレッドシートにデータを供給するデータソースについての情報は、その情報がスプレッドシートに入力されない限り、スプレッドシートから提供できなかった。大量のデータを管理している場合、データソースについての情報をスプレッドシートに入力することには費用がかかり、時間が浪費されていた。
【課題を解決するための手段】
【0008】
一実施形態によれば、後述の実施例からも明らかなようにハードウェアとソフトウェアが協働して実施する方法は、データソースからデータを受信すること、及びデータソースのロケーション情報に基づいて、データの少なくとも一部を配置するスプレッドシート内のロケーションを決定することを含む。
【0009】
別の実施形態によれば、スプレッドシートを使用して、情報源に関連するスプレッドシート内のロケーションに情報を表示する方法は、複数のセンサからデータを受信することを含む。この方法は、さらに複数のセンサのロケーションで指定されるスプレッドシート内のロケーションを決定することを含む。複数のセンサのそれぞれからのデータ及び値の少なくとも一部の1つ又は複数は、スプレッドシート内のロケーションの1つ又は複数に表示するように動作可能であり、値は複数のセンサからのデータの少なくともいくつかから計算される。
【0010】
さらに別の実施形態によれば、ハードウェアとソフトウェアが協働するシステムは、複数のデータソースと、複数のデータソースのロケーションで指定されるスプレッドシート内のロケーションを決定するように動作する計算プラットフォームとを備える。複数のセンサからのデータ及び複数のセンサのうちの1つ又は複数からのデータから計算される値のうちの少なくとも一つは、スプレッドシート内のロケーションに表示するようにしてもよい。
【0011】
さらに別の実施形態によれば、ソフトウェアが実装された装置は、複数のセンサからデータを受信する手段、及び複数のセンサのロケーションで指定されるスプレッドシート内のロケーションを決定する手段を備える。複数のセンサのそれぞれからのデータの少なくとも一部を、スプレッドシート内のロケーションに表示するようにしてもよい。また、複数のセンサのうちの1つ又は複数からのデータから計算された値を、スプレッドシート内の決定されたロケーションの1つに表示するようにしてもよい。
【0012】
さらに別の実施形態によれば、プログラムを埋め込んだコンピュータ可読媒体が提供される。プログラムはコンピュータ等で方法を実行し、方法は、データソースからデータを受信すること、及び、データソースのロケーション情報に基づいてデータの少なくとも一部を配置するスプレッドシート内のロケーションを決定することを含む。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態によるシステムのブロック図を示す。
【図2】本発明の実施形態によるスプレッドシートマネージャのソフトウェア構造を示す。
【図3A】本発明の実施形態によるデータセンタを示す。
【図3B】本発明の実施形態による、データセンタにおいて使用してもよいラックを示す。
【図4】本発明の実施形態による別のシステムのブロック図を示す。
【図5】本発明の実施形態によるスプレッドシートのビューロックビューを示す。
【図6】本発明の実施形態によるスプレッドシートのビューフィールドを示す。
【図7】本発明の実施形態によるスプレッドシートのデータのビューを生成する方法のフローチャートを示す。
【図8】本発明の実施形態によるスプレッドシートマネージャの計算プラットフォームを示す。
【発明を実施するための形態】
【0014】
本発明を、同様の参照番号が同様の要素を指す添付図面に、限定ではなく例として示す。
【0015】
本発明の実施形態によれば、スプレッドシートプログラムと対話して1つ又は複数のデータソースからのデータを管理するスプレッドシートマネージャが提供される。スプレッドシートマネージャは、データソースからデータを受け取り、データをスプレッドシート内のセルに送り、スプレッドシートを使用してデータの空間的表現を提供し表示させる。データソースの物理的なロケーションを使用して、データソースからのデータを配置するスプレッドシート内のセルのロケーション等のスプレッドシートロケーションを決定する。このように、スプレッドシートマネージャは、表示されたスプレッドシートを見ているユーザが大体スプレッドシート内のデータの出所が特定できるようにデータソースのロケーションとスプレッドシート内のデータのレイアウトとを対応させる。
【0016】
本発明の実施形態によれば、スプレッドシートマネージャは、データソースからのデータを使用して時間に関連した(時間を変数とした)数学的関数を実行する(値を求める)ように動作する。従来のスプレッドシートは、合算等、時間に関連しない(時間を変数としない)数学的関数を実行していた。本発明の実施形態によれば、たとえば、スプレッドシートマネージャはセルを使用してタイマ又はクロックをシミュレートするようにしてもよい。また、数学的関数をこのクロックに基づいて(時間を変数として)実行するようにしてもよい。
【0017】
本発明の別の実施形態によれば、スプレッドシートをプログラミングプラットフォームとして使用して、1つ又は複数の装置を制御するようにしてもよい。たとえば、スプレッドシート内の1つ又は複数のセル内のデータに基づいて、動作するように装置に指示するようにしてもよい。従来のスプレッドシートでは、前述のように、セルの数学的関数の値を線形順に(順次に)解き、計算は、従属セルの値の変更に対応して行われていた。当該実施形態によれば、スプレッドシートマネージャは、数学的関数を線形ではなく、又は線形に加えて時間の関数として解く能力を提供する。したがって、計算を一定間隔で行うようにしてもよい。これにより、スプレッドシートを、センサデータ及び時間依存変数の集計後に動作するセンサ駆動制御システムのプログラミングプラットフォームとして使用することが実現できる。
【0018】
図1は本発明の実施形態によるシステム100を示す。システム100はスプレッドシートマネージャ110を備える。スプレッドシートマネージャ110はデータソース120a〜120n、構成リポジトリ130、及びスプレッドシート140を生成するスプレッドシートプログラムに結合される。スプレッドシートマネージャ110は、データソース120a、…、120nからデータを受信する。一実施形態では、データソース120a、…、120nはセンサ及び他のスプレッドシートであってよいが、データソース120a、…、120nは、その他のデータソースであってもよい。
【0019】
スプレッドシートマネージャ110は、地理的エリア内の各データソース120a、…、120nの物理的なロケーションを示すロケーション情報を求める。データソース120a、…、120nの前記ロケーション情報に基づいて、スプレッドシートマネージャ110は、データソース120a、…、120nからのデータを表示するスプレッドシート内のセルのロケーション(スプレッドシートロケーション)を決定(指定)する。たとえば、スプレッドシート140内のデータ142a〜142eは、データソース120a〜120eから受信したデータ又はデータソース120a〜120eから受信したデータから計算されるデータを表す。セルB6、D6、及びE3〜E5等、スプレッドシート140内のデータ142a〜142eのスプレッドシートロケーションが、データソース120a〜120eのロケーションで指定される。このように、スプレッドシート140を見ているユーザは、スプレッドシート140に表示されるデータ及びスプレッドシート140に表示されるデータのロケーションに基づいて、特定のエリア内の位置にあるデータソースのデータを素早く特定することができ、場合によっては、そのエリアに関連した問題があるか否かを素早く判断することができる。たとえば、地理的エリアはデータセンタであってもよく、データソースはデータセンタ内のセンサであってもよい。スプレッドシートマネージャ110は、センサからのデータ及びスプレッドシート内でデータを配置するためのセルロケーション(スプレッドシートロケーション)をスプレッドシートプログラムに送り(送信し)、データ表示を生成させる。スプレッドシートプログラムに送られるデータソース120a、…、120eからのデータは、データソース120a、…、120eから受信するデータの少なくとも一部であってもよい。たとえば、データソース120a、…、120eが温度測定センサである場合、測定された温度、センサID、物理的なロケーション等をセンサから送信することでもよい。測定された温度等、センサから受信するデータの一部をスプレッドシートプログラムに送り、スプレッドシートの所定のセルロケーションに表示するようにしてもよい。セルのロケーションは、センサのロケーション情報に関連付けられる。したがって、スプレッドシート内のデータを見ているユーザは大まかに、データを提供しているセンサがデータセンタ内のどこにあるかを判断することができる。したがって、センサデータが問題を示す場合、その問題及びデータセンタ内の問題の大まかな場所をスプレッドシート140から素早く特定することができる。
【0020】
データソース120a、…、120nのロケーション情報は、地理的エリア内の物理的なロケーションとなるようにしてもよい。地理的エリアはほぼあらゆるサイズとしてもよい。たとえば、地理的エリアは、データセンタを含む部屋であっても、又は国の地域であってもよい。データソース120aのロケーション情報は、データセンタ等の地理的エリアを含むデカルト座標空間内のロケーション(位置)であってもよい。また、ロケーション情報は所定のポイントまでのおおよその距離に基づいて計算してもよい。たとえば、データソース120b、…、120nのロケーションは、データソース120aからそれぞれデータソースまでの距離に基づいて決めてもよい。これら及び他の技法を使用して、データソース120a、…、120nのロケーション情報を生成することでもよい。ロケーション情報は、データソース120a、…、120nに関連するロケーションセンサ(図示せず)により自動的に求め、スプレッドシートマネージャ110に送信ししてもよく、そこでロケーション情報を構成リポジトリ130に記憶することでもよい。ロケーションセンサは、GPSセンサ又はロケーションを求める他の既知の装置でもよい。また、ロケーション情報は手動で求めて構成リポジトリ130に記憶してもよい。
【0021】
スプレッドシートマネージャ110は、データソース120a、…、120nのロケーション情報をスプレッドシート140内のロケーションにマッピング(写像)する。一実施形態では、データソース120a、…、120nからのデータを配置するスプレッドシート140内のロケーションは、構成リポジトリ130に記憶される。各データソース120a、…、120nは、データを送信しているデータソースを識別するデータソースIDを含むデータを送信するように動作するものでよい。スプレッドシートマネージャ110は、構成リポジトリ130から、データソースからのデータを配置するためスプレッドシート140内のロケーションを検索する。たとえば、スプレッドシートマネージャ110は、データをデータソース120aから受信して、スプレッドシート140内のデータを配置するロケーションを検索する。データソース120aのIDを使用して、データソース120aからのデータ142aのスプレッドシートロケーションを決定するようにしてもよい。データソース120aのロケーション情報に基づく、検索されるセルのロケーション(たとえば、セルE3)は、データ142aがスプレッドシート140に配置されるロケーションである。
【0022】
本発明の別の実施形態によれば、スプレッドシートマネージャ110は、データソース120a、…、120nから受け取ったデータの異なるビューの生成をおこなわせるようにしてもよい。たとえば、図1に示すスプレッドシート140は、データソース120a、…、120nから受け取ったすべてのデータを表現したものであってもよい。データソース120a、…、120nからのデータをすべて見るのではなく、ユーザは特定のエリア内のデータソースのデータを見たい場合がある。スプレッドシートマネージャ110は、それぞれがビューフィールドと呼ばれるデータの複数のビューの生成をおこなわせるようにしてもよい。各ビューフィールドを、データソース120a、…、120nの部分集合を含む特定のエリアと関連付けるようにしてもよい。異なるビューフィールドの生成について図5及び図6に関連して以下さらに詳述する。
【0023】
本発明の別の実施形態によれば、スプレッドシート140を、装置を制御するプログラミングプラットフォームとして使用してもよい。たとえば、装置160a及び160bは、スプレッドシート140内のデータ142c及び142dの値に基づいて制御される。データ142c及び142dを含むセルE5及びD6は事実上センサとして機能する。センサの出力、すなわちデータ142c及び142dの値に基づいて、スプレッドシートマネージャ110は、装置160a及び160bに動作するように指示することができる。データセンタの例を参照すると、データ142c及び142dの値が、データセンタ内で温度センサによって測定される高い温度を示す場合、スプレッドシートマネージャ110は装置160a及び160b、たとえば冷却ファン又は送風機に、データソース120d及び120eが配置されているエリアの空気流を増大させるように指示するようにしてもよい。
【0024】
スプレッドシートマネージャ110はまた、複数のスプレッドシートをリンクさせることができるようにしてもよい。スプレッドシート140内のセルを、他のスプレッドシートにデータを提供するデータソースとして使用するようにしてもよい。たとえば、セルE3〜E4はスプレッドシート150のデータソースである。セルE3〜E4内のデータ142a及び142bをスプレッドシート150に配置してもよく、且つ/又はスプレッドシート150に配置された他のデータを計算するために使用してもよい。また、スプレッドシート150内のセルは、スプレッドシートマネージャ110に接続されたセンサとして機能するようにしてもよい。たとえば、スプレッドシートマネージャ110は、スプレッドシート140のセルD6内のデータ142d及びスプレッドシート150のセル内のデータに基づいて装置160aを制御するようにしてもよい。
【0025】
別の実施形態によれば、スプレッドシートマネージャ110は、データソース120a、…、120nからのデータに対して時間に関連した数学的関数を実行するようにしてもよい。従来から、スプレッドシートプログラムはスプレッドシート内のデータに対して数学的関数を実行することができる。しかし、この数学的関数は時間を変数とする関数を含まない。たとえば、従来のスプレッドシートはタイマ又はカウンタをエミュレートすることができない。スプレッドシートマネージャ110は、装置160a及び160bの制御に使用することができる時間を変数とする関数を実行する(関数の値を求める)ように動作する。たとえば、スプレッドシートマネージャ110は、スプレッドシート140内のセルの1つにカウンタをエミュレートするようにしてもよい。カウンタは、数学的関数を実行すべきとき、又は装置160a若しくは160bのうちの一方を制御すべきときを判断するために、所定の時間量が経過したときを判定するため等、種々の機能を発揮するように使用してもよい。
【0026】
図2は、スプレッドシートマネージャ110の一般化されたソフトウェア構造を示す。ソフトウェア構造は、マッピングモジュール210、計算モジュール220、及びビュー生成モジュール230を含む。本発明の実施形態によれば、マッピングモジュール210は、図1に示すデータソース120a、…、120n等のデータソースからデータソースデータ212を受信する。一実施形態では、データソースデータ212は、データを送っている各データソース120a、…、120nのID及び/又はロケーション情報を含むようにしてもよい。ユーザが閲覧を望むデータに基づいて、マッピングモジュール210は、スプレッドシート140内でデータソースデータ212を配置するセルのロケーション等のセルのロケーションを検索する。スプレッドシート140内のセルのロケーションにデータソース120a、…、120nのロケーション情報を対応させて、データの空間表現を提供し、これを使用してデータの大まかな出所を素早く判断することができる。別の実施形態では、データソースデータ212はロケーション情報を含むこともできる。データソースのロケーション情報は、構成リポジトリ130から、スプレッドシート140内の、そのデータソースからのデータを配置するロケーションを検索するために使用される。
【0027】
マッピングモジュール210は、データソースデータ222に対して時間に関連した及び/又は時間に関連しない数学的関数を実行した結果のデータをスプレッドシート140に配置する計算モジュール220に結合される。計算モジュール220は、データソース120a、…、120nから受け取ったデータソースデータ222に対して数学的関数を実行することができる。データソースデータ222は、センサが生成した測定データ等、ID又はロケーション情報なしのデータソース120a、…、120nから受信したデータソースデータ212を含むようにしてもよい。
【0028】
計算モジュール220は、時間に関連した及び/又は時間に関連しない数学的関数を実行するようにしてもよい。たとえば、計算モジュール220は、特定のソースからのデータの値を閾値と比較するようにしてもよい。所定の期間にわたって閾値を超えると、動作が行われる。動作は、装置制御モジュール224が生成する装置制御データ226によって表される等、装置制御モジュール224が行うようにしてもよい。たとえば、装置制御モジュール224は、データを閾値よりも下げさせる動作をとるように図1に示す装置160に指示するようにしてもよい。別の例としては、データが所定の期間にわたって閾値を超えると、それに応答してアラームを作動させることを挙げるようにしてもよい。図3Aに示すデータセンタ実施形態では、装置制御モジュールは、過度の温度を所定の期間にわたって感知したことに応答して、送風機又はポンプ等の冷却システム構成要素360aに、コンピュータシステムを冷却するために供給される冷却流体量を増やすように指示するようにしてもよい。
【0029】
マッピングモジュール210は、スプレッドシート140に表示されるデータソースデータ212のビューを決定するビュー生成モジュール230にも結合される。ビュー生成モジュール230は、ビューデータ232を受信する。ビューデータ232は、スプレッドシート140に表示されるビューのタイプの選択肢を含むようにしてもよい。スプレッドシートマネージャ110は、データソースデータ212の少なくとも2つのタイプのビューを生成するようにしてもよい。ビューロックと呼ばれる第1のタイプは、ほぼすべてのデータソース120a、…、120nから受け取ったデータソースデータ212の表示を含む。図5は、図3Aに示すデータセンタ300内の温度センサ320等、ほぼすべてのデータソースのデータを含むビューロックビューの例を示す。
【0030】
ビューフィールドと呼ばれる第2のタイプのビューは、データソース120a、…、120nの少なくとも一つの部分集合から受け取ったデータソースデータ212の表示を含む。ビューフィールドは、データソース120a、…、120nが配置されている地理的エリア内の或るポイントからデータソース120a、…、120nを見ているユーザの視点からのものであるようにしてもよい。これについては図3A及び図6に関連してさらに示す。図3Aはデータセンタ300を含む地理的エリアを示す。図3Aはデータセンタ300の上面図である。データセンタ300は、複数のラック310及び複数のデータソースを含み、この例では、データソースはラック310の温度を監視する温度センサ320を含む。ラック310は、相当量の熱を発するコンピュータシステム及び他の構成要素を収容する。温度センサ320は、コンピュータシステムが放散した熱を除去して、コンピュータシステム付近の温度を、コンピュータシステムのパフォーマンスを最適化する許容可能なレベルに維持する冷却システム内に含められる。冷却システムは、空気等の冷却流体をセクション350及び/又はデータセンタ300の他のセクション内のラック310に供給する送風機360a及び360bを含むようにしてもよい。ラック及び冷却システムについて、ラックを示す図3B及び冷却システムを含むシステムを示す図4に関連して以下さらに詳述する。
【0031】
データセンタ300である地理的エリアはセクション350〜353に分割するようにしてもよい。この例では、セクション350〜353はx軸及びy軸に沿って分割される。しかし、セクションはz軸に沿って分割するようにしてもよい。たとえば、セクション350〜353のすぐ下にz軸に沿っていくつかのセクションを提供するようにしてもよく、これらは図3Aに示すデータセンタ300の上面図からは隠れている。ラック310のうちの1つ又は複数が、ラック310の垂直軸すなわちz軸に沿って配置されたいくつかのセンサを備える場合、スプレッドシートマネージャ110が、データセンタ300の特定のx−y平面に設けられた温度センサ320からのデータを含むビューフィールドをスプレッドシート140に生成することができるように、データセンタをz軸に沿って分割するようにしてもよい。一実施形態では、スプレッドシート140は、z軸に沿って分割されたセクションのビューを表す複数のワークシートを含むようにしてもよい。したがって、ビューデータ232は、ユーザ選択の所望のビュータイプを含むようにしてもよい。選択されたビュータイプがビューフィールドを含む場合、地理的エリアのセクションが選択される。次いで、選択されたセクション内のデータソースからのデータを含むビューフィールドが、スプレッドシート140に生成される。
【0032】
一実施形態では、ユーザはグラフィカルユーザインタフェースを使用してビュータイプを選択するようにしてもよい。たとえば、データセンタの表現をユーザのコンピュータ画面上に表示することができ、ユーザはビデオゲームと同様に、ジョイスティック等の入力装置を使用してデータセンタ内を自由に移動する。ユーザは、関心のあるデータセンタのセクションに移動したときにスプレッドシート140に表示するビューを選択することができる。他の実施形態では、ユーザは、ビュータイプの選択及び必要であればビュータイプに関連する他の情報をインタフェースに入力することにより、ビュータイプを選択するようにしてもよい。インタフェースは、従来のタイプのインタフェースであってもよい。
【0033】
図6は、図3Aに示すデータセンタ300のセクション350のスプレッドシート140でのビューフィールド表示の例を示す。ビューフィールドは、セクション350内の温度センサ320a〜320fからのデータを含む。
【0034】
上述したように、マッピングモジュール220は、データソースからのデータをスプレッドシート内のロケーションにマッピング(写像)する。一実施形態では、以下の表1を使用して、データソースのロケーション情報及び選択されたビューに基づいてデータをスプレッドシート140内のセルに写像してもよい。
【0035】
【表1】

【0036】
表1は、図1に示す構成リポジトリに記憶することができるルックアップテーブルの例である。図2に示すマッピングモジュール210には、データソース320から受け取ったデータを入れることができる。データ列(すなわち、表100の最後の列)は、図3Aに示すデータセンタ300内の温度センサ320から送信することができるデータの例を含む。特に、行1〜6は温度センサ320a〜320fからの温度データを含む。図示していないが、表1は温度センサ320からのすべてのデータを含むようにしてもよい。スプレッドシートマネージャ110は、図2に示すように、温度センサ320からデータソースデータ及びID212を受信する。マッピングモジュール210は、たとえばIDを使用して受け取ったデータを表1に記憶する。マッピングモジュール210は、ユーザ選択のビューに基づいて表1からデータを検索する。
【0037】
温度センサ320からのデータに加えて、表1は、温度センサ320のID及びスプレッドシート140にデータを配置するためのスプレッドシートロケーションを記憶するようにしてもよい。スプレッドシートロケーションは、温度センサ320のロケーション情報に対応する。スプレッドシートロケーションは、ユーザ選択のビューに基づいて予め指定するようにしてもよい。行1〜6は、図5のビューロックビューに示すような、ビューロックビューの場合に温度センサ320a〜320fからのデータを配置するスプレッドシート140のロケーションを含む。たとえば、温度センサ320aから受け取ったデータは、ユーザがビューロックビューを選択した場合にはセルB2に配置され、温度センサ320bから受け取ったデータは、ビューロックビューの場合にC2に配置される等である。
【0038】
表1の行7〜12は、ユーザがデータセンタ300のセクション350についてビューフィールドを選択している場合にスプレッドシート140にデータを配置するロケーションを含む。図6はセクション350のビューフィールドを示す。マッピングモジュール210は、ビューフィールドが選択されている場合、行7〜12からスプレッドシート140内に配置するためのロケーション及びデータを検索する。
【0039】
マッピングモジュール210は、表1から検索されたデータ及びロケーション、すなわち図2に示される表示データ242をスプレッドシートプログラム240に送信し、図5及び図6に示すようにスプレッドシート140にデータを表示させる。
【0040】
表1は、センサから受け取ったデータを配置する例を示す。表1が他の情報を含み得ることが当業者に理解されよう。たとえば、図2の計算モジュール220は、センサから受信したデータに対して数学的関数を実行した結果等のデータをスプレッドシート140に配置してもよい。表1は、センサから受け取ったロケーション情報又はセンサの所定のロケーション情報を含むようにしてもよい。
【0041】
図3Bは、コンピュータシステムを収容するためにデータセンタ300内で使用するようにしてもよい、本発明の実施形態によるラック310を示す。図3Bはラック310の断面図である。ラック310はコンピュータシステム372を収容する。ラック310は、5つのコンピュータシステム372を収容しているものとして示される。ラック310がはるかに多数のコンピュータシステムを収容するように設計可能なことが当業者に理解されよう。従来のラックは40以上のコンピュータシステムを収容することが可能である。
【0042】
コンピュータシステム372は構成要素374を含むようにしてもよい。コンピュータシステム372は、当分野において既知のようなサーバ、記憶装置等を含むようにしてもよく、構成要素374のタイプはコンピュータシステムのタイプに応じて可変である。コンピュータシステム372を調整し給電する電源システム376を示す。
【0043】
コンピュータシステム372は、構成要素374の動作に影響を及ぼし得る相当量の熱を放散する傾向がある。構成要素374は、所定の温度未満に維持された環境で動作するように設計されている場合がある。したがって、冷却構成要素を使用して、コンピュータシステム372に冷却流体を供給し、最適な動作温度を維持するようにしてもよい。
【0044】
この実施形態では、ラック310は、冷却流体(たとえば、空気)をラック310の外部から引き込み、冷却流体をラック310内のスペースに送るように動作する複数の送風機380を備える。送風機380は、コンピュータシステム372内の構成要素374の測定された熱放散に基づいて、ラック310内の構成要素に送られる冷却流体量を変化させるように動作する可変速度送風機にしてもよい。送風機380は、スペースに送られる流体量を変えることができる、相応に適した他の送風機としてもよい。送風機380の選択は、複数の要因、たとえば冷却要件、コスト、動作費用等に依存し得る。また、実装される送風機の数は、システムの冷却ニーズに従って可変である。一実施形態によれば、少なくとも2つの送風機380が実装されて、片方の送風機が誤作動した場合でも余剰の流体供給を可能にする。さらに、少なくとも2つの送風機を設けて、流体をラック310の両側に送るようにしてもよい。この場合、冷却流体をラック310の両側にほぼ同時に送ることができる。
【0045】
送風機380の出口はプレナム382と流通する。プレナム382は複数のノズル384と流通する。ノズル384は第1の端及び第2の端を有し、第1の端はプレナム382に接続される。ノズル384の第2の端は、流体を送風機380からコンピュータシステム372の1つ又は複数の発熱構成要素374に送り出すように構成される。発熱構成要素374により相対的に加熱された送風機380が供給する冷却流体は、ラック310外に排出するようにしてもよい。ラック310に含められる冷却構成要素は、コンピュータシステム372を冷却するシステムの一例である。他の既知の冷却システムをラック310に実装して、コンピュータシステム372を冷却するようにしてもよい。たとえば、ポンプを使用した液体冷却システムを使用して、冷却流体をコンピュータシステム372に供給して、コンピュータシステム372が放散する熱を除去するようにしてもよい。
【0046】
ラック310は、複数の温度センサ320を備えるようにしてもよい。一実施形態では、複数のセンサ320はラック310のz軸に沿って配置するようにしてもよい。温度センサ320は、測定された温度を図2に示すスプレッドシートマネージャ110に送信するようにしてもよい。温度センサ320からの温度センサデータは、ビューにおいてスプレッドシート140に表示するようにしてもよい。一実施形態によれば、図3Bに示す温度センサ320からの温度センサデータは、スプレッドシート140の単一のセルに表示するようにしてもよい。測定された温度は、集計して単一のセルに表示するようにしてもよい。たとえば、図5に示すビューフィールドを参照すると、セルD4内のデータは、図3Bに示すラック310の温度センサ320によって検知された温度の総計であるようにしてもよい。別法として、各温度を別個のセルに含むようにしてもよい。また、スプレッドシート140の複数のワークシートを使用して、z軸に沿って分割されたセクションのビューを表すようにしてもよい。たとえば、図6は、図3Aに示すデータセンタ300のセクション350内の温度センサ320からのデータのビューフィールドを含む。これら温度センサ320は、図4に示すラック310の最上部付近の温度センサ320とほぼ同じx−y平面にある温度センサ320にしてもよい。このビューフィールドは、スプレッドシート140の第1のワークシートに生成するようにしてもよい。他のワークシートを使用して、異なるx−y平面にあるセクション350のセンサ320のビューフィールドを提供するようにしてもよい。
【0047】
図4は、本発明の実施形態によるシステム400を示す。システム400は図1に示すシステム100と類似している。システム400は、スプレッドシートマネージャ110及び構成リポジトリ130を含むスプレッドシートサーバ420を含む。構成リポジトリ130は、スプレッドシートサーバ420から離れて配置するようにしてもよい。スプレッドシートマネージャ110は、上述したように、スプレッドシート140でのデータビューを生成させる。
【0048】
システム400は、図3に示すデータセンタ300に使用することができる冷却システム410を備えるようにしてもよい。冷却システム410は、コンピュータシステム310付近の温度を測定する図3A及び図3Bに示す温度センサ等、温度センサ320を備える。コンピュータシステム310は、図3Bに示すように、ラック内に収容するようにしてもよい。温度センサ320は、測定された温度を、たとえばネットワーク450を介してスプレッドシートマネージャ110に送信する。スプレッドシートマネージャ110は、スプレッドシート140での温度センサデータのビューを生成させる。
【0049】
スプレッドシートマネージャ110はまた、温度センサ320から受け取った温度センサデータに基づいて装置160a及び160bを制御するようにしてもよい。たとえば、1つのコンピュータシステム310付近の温度が閾値を所定の期間にわたって超えている場合、スプレッドシートマネージャ110は、コンピュータシステムに供給されている冷却流体量を増大させるように冷却システム410内のコントローラ412に指示するようにしてもよい。たとえば、装置160a、160bは、冷却流体をデータセンタ300の1つ又は複数のセクションに供給する図3Aに示す送風機360a及び360b等の送風機、又はラックへの局所冷却を提供する図3Bに示す送風機380を備えるようにしてもよい。コントローラ412は送風機(たとえば、装置160a)に指示することができ、送風機は、過度の量の熱を放散しているコンピュータシステムに冷却流体を供給して、コンピュータシステム付近の温度を低下させるようにその速度を上げるように動作するようにしてもよい。
【0050】
図7は、本発明の実施形態によるデータソースから受け取ったデータのビューを生成する方法700を示す。方法700については、限定ではなく例として図3Aに関連して説明する。さらに、方法700のステップは、ソフトウェア、ハードウェア、又はこれらの組み合わせで実行するようにしてもよい。
【0051】
ステップ710において、スプレッドシートマネージャ110は温度センサ320からデータを受信する。データは、温度センサ320が測定した温度等の温度センサデータを含む。またこのデータは、データを送っているセンサを識別するIDを含むようにしてもよい。一実施形態では、このデータは、データセンタ内の温度センサのロケーションを識別するロケーション情報を含むようにしてもよい。たとえば、各温度センサ320はその(物理的な)ロケーションを識別するロケーション情報を記憶するようにしてもよく、ロケーション情報は、温度センサデータと共にスプレッドシートマネージャ110に送られる。ロケーション情報を予め決定して温度センサ320に記憶して、スプレッドシートマネージャ110に送信するようにしてもよい。別法として、別個のロケーションセンサ(図示せず)を温度センサ320と共に使用して、各温度センサ320のロケーション情報を求めるようにしてもよい。別の実施形態では、温度センサ320のロケーション情報は予め決定され、たとえば図1に示す構成リポジトリ130に記憶される。
【0052】
ステップ720において、スプレッドシートマネージャ110は、温度センサ320から受け取ったデータを構成リポジトリ130に記憶する。一実施形態では、表1等の表に温度センサデータが入れられる。温度センサID及び/又はロケーション情報を使用して、温度センサデータを表1のどこに記憶すべきかを決定してもよい。
【0053】
ステップ730において、スプレッドシートマネージャ110は、温度センサデータに対して数学的関数を実行する。たとえば、図2に示す計算モジュール220は、近くにある温度センサの温度センサデータを集計するようにしてもよい。計算モジュール220は、温度センサデータを閾値と比較するようにしてもよい。また計算モジュールは、閾値を所定の期間にわたって超えたか否かを判断する等、時間に関連した数学的関数を実行するようにしてもよい。一実施形態では、数学的関数は予めプログラムされている。たとえば、計算モジュール220は数学的関数を実行するコードを含むようにしてもよい。また、数学的関数の結果をスプレッドシート140に表示するようにしてもよい。
【0054】
ステップ740において、スプレッドシートマネージャ110は、温度センサ320から受け取ったデータのビューの生成に関連するユーザの選択を識別する。ユーザの選択は、ビューロック又はビューフィールド等、ビューのタイプの選択を含むようにしてもよい。ビューフィールドが選択さる場合、データセンタ300内のセクション350〜353のうちの1つ等のセクションが、そのビューフィールドに含めるべき温度センサデータを識別するために選択される。他のユーザ選択としては、ビューに含まれる温度センサデータが、近くにあるセンサ(たとえば、1つのラック上にある温度センサ)の温度センサのデータの合計や、各温度センサのデータであってもよい。
【0055】
ステップ750において、スプレッドシートマネージャ110は、温度センサ320のロケーション情報及びユーザ選択に基づいて、スプレッドシート140内の温度センサデータを配置するロケーションを指定する。たとえば、表1を参照すると、セルのロケーションが各ビュータイプに提供される。セルのロケーションは、温度センサ320のロケーション情報に基づいて決定される。ステップ730において、スプレッドシートマネージャ110は温度センサデータに対して数学的関数を実行する。数学的関数の実行の結果を表示するようにしてもよく、その結果を配置するスプレッドシート140内のロケーションは所定であっても、或いは1つ又は複数の温度センサのロケーション情報に基づくようにしてもよい。
【0056】
ステップ760において、スプレッドシートマネージャ110は、温度センサデータ、温度センサデータに対して実行されたあらゆる計算の結果、及びスプレッドシート140内のデータを配置するロケーションを含み得るデータをスプレッドシートプログラム240に送信する。スプレッドシートプログラム240は、ステップ750において決定されたロケーションにデータを配置し、ビューを生成する。
【0057】
ステップ770において、スプレッドシートマネージャ110は、スプレッドシート140内のデータに基づいて動作を行う。たとえば、スプレッドシートマネージャは、たとえばステップ760においてスプレッドシートマネージャ110から送信されたデータを含むスプレッドシート140内のセルをセンサとして機能するものとして使用する。セル内のデータが、閾値を所定の期間にわたって超える等、所定の条件を満たす場合、スプレッドシートマネージャ110は動作を行う。この動作は、装置を制御することを含む。たとえば、スプレッドシートマネージャ110は、送風機の速度を上げてコンピュータシステムに提供される冷却流体量を増やすように冷却システムに指示するようにしてもよい。
【0058】
方法700のステップのうちの1つ又は複数は、ほぼ常時、定期的に、又は必要があったときに繰り返すようにしてもよい。方法700に対するこれら及び他のバリエーションが当業者に明らかになろう。
【0059】
図8は、スプレッドシートマネージャ110の例示的なプラットフォーム800を示す。スプレッドシートマネージャ110のソフトウェアをプラットフォーム800で実行するようにしてもよい。プラットフォーム800は、たとえば、プロセッサ802等の1つ又は複数のプロセッサを備える。プロセッサ802からのコマンド及びデータは、通信バス804を介して通信される。プラットフォーム800は、スプレッドシートマネージャ110のプログラムコードをランタイム中に実行するためのランダムアクセスメモリ(RAM)等のメインメモリ806及び補助メモリ808も備える。補助メモリ808は、たとえば、1つ又は複数のハードディスクドライブ810及び/又はフロッピー(登録商標)ディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ等からなるリムーバブルストレージドライブ812を含み、スプレッドシートマネージャ110のプログラムコードのコピーを記憶するようにしてもよい。リムーバブルストレージドライブ812は、周知の様式でリムーバブルストレージユニット814に対して読み出し及び/又は書き込みを行う。ユーザ入力装置及び出力装置は、キーボード816、マウス又はジョイスティック818、及びディスプレイ820を含むようにしてもよい。ディスプレイアダプタ822は通信バス804及びディスプレイ820とインタフェースし、プロセッサ802から表示データを受け取り、表示データをディスプレイ820の表示コマンドに変換する。他の既知の電気構成要素をプラットフォーム800において追加又は置換できることが当業者に理解されよう。また、図8中の構成要素の1つ又は複数(たとえば、ユーザ入力装置、補助メモリ等)は取捨選択可能である。他のコンピュータシステムと通信するためにネットワークインタフェース824を含めるようにしてもよい。

【特許請求の範囲】
【請求項1】
スプレッドシート内でデータを表示するためのシステムであって、
地理的エリア内で決定される物理的なロケーションに配置され、それぞれの当該物理 的なロケーションを含むそれぞれのデータを送信する複数のデータソースと計算プラッ トフォームとを備え、
当該計算プラットフォームは、
前記データソースから前記データを受信し、
前記受信したデータに基づいて、それぞれの前記データソースの前記物理的なロケーションを決定し、
前記データソースの前記決定された物理的なロケーションに基づいて、前記データの少なくとも一部を配置するスプレッドシート内のスプレッドシートロケーションを決定し、
前記データの前記少なくとも一部を前記スプレッドシート内の前記決定されたスプレッドシートロケーションに挿入し、
前記スプレッドシートをユーザに対してディスプレイ上に表示し、該表示されたスプレッドシートは、前記決定されたスプレッドシートロケーションに挿入された前記データの前記少なくとも一部の表示と前記データソースの前記地理的エリア内の前記物理的なロケーションを対応づけることを特徴とするシステム。
【請求項2】
前記地理的エリアは、少なくとも該地理的エリアの垂直軸に沿って複数のセクションに分割され、当該垂直軸に沿って異なる位置にある該セクションに配置された前記データソースからの前記データの前記少なくとも一部を前記スプレッドシートの異なるワークシートに表示することを特徴とする請求項1に記載のシステム。
【請求項3】
前記地理的エリアはデータセンタであって、1つ以上の前記データソースは1つ以上の温度センサを有することを特徴とする請求項1あるいは請求項2に記載のシステム。
【請求項4】
少なくとも一つの前記データソースのロケーション情報を求めて送信するロケーションセンサをさらに備え、当該ロケーション情報が上記計算プラットフォームに受信されて前記少なくとも一つの前記データソースの前記地理的エリア内の前記物理的ロケーションを決定できるようにすることを特徴とする請求項1〜3のいずれか一項に記載のシステム。
【請求項5】
前記ロケーションセンサがGPSセンサであることを特徴とする請求項4に記載のシステム。
【請求項6】
前記計算プラットフォームが、時間の関数として、前記データソースからの前記データの少なくとも一部に関連する値を計算すること、及び前記値をスプレッドシートプログラムに送って、該値を前記スプレッドシートに表示することをさらに含むことを特徴とする特徴とする請求項1〜5のいずれか一項に記載のシステム。
【請求項7】
請求項1〜6のいずれか一項に記載のシステム用いてスプレッドシート内でデータを 表示するための方法であって、
少なくとも一つのデータソースから前記データを送信すること、
前記データソースから前記データを受信すること、
前記受信したデータに基づいて、それぞれの前記データソースの前記物理的なロケーションを決定すること、
前記データソースの前記決定された物理的なロケーションに基づいて、前記データの少なくとも一部を配置するスプレッドシート内のスプレッドシートロケーションを決定すること、
前記データの前記少なくとも一部を前記スプレッドシート内の前記決定されたスプレッドシートロケーションに挿入すること、
前記スプレッドシートをユーザに対してディスプレイ上に表示し、該表示されたスプレッドシートは、前記決定されたスプレッドシートロケーションに挿入された前記データの前記少なくとも一部の表示と前記データソースの前記地理的エリア内の前記物理的なロケーションを対応づけること、とを含むことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−205282(P2010−205282A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2010−97495(P2010−97495)
【出願日】平成22年4月21日(2010.4.21)
【分割の表示】特願2006−538147(P2006−538147)の分割
【原出願日】平成16年10月21日(2004.10.21)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)