(58)【調査した分野】(Int.Cl.,DB名)
請求項2に記載のマルチノードシステムであって、前記未使用合計電力が、前記電源の電力消費値から、前記複数のノードに結合されるセンサによって決定される当該システムの合計電力を減じることによって決定される、マルチノードシステム。
請求項2に記載のマルチノードシステムであって、前記複数のノードの各々の前記追加調和電力が、そのノードの前記実際の電力の係数によって決定される、マルチノードシステム。
請求項1に記載のマルチノードシステムであって、前記管理コントローラがさらに、前記複数のノードの各々の前記設定電力用に前記複数のノードの各々の前記次の設定電力を用いることによって、前記複数のノードの各々に供給される前記電力の調和を反復するように動作し得る、マルチノードシステム。
【発明を実施するための形態】
【0013】
本発明は多くの異なる形態で実施されてよい。代表的実施形態が図中に示され、かつ、以降で詳述される。以降での説明では、本開示は、その原則の例示又は図示とみなされ、かつ、本開示の広範な態様を図示された実施形態に限定することを意図していないことに留意して欲しい。その限りで、たとえば「要約」、「発明の概要」、及び「発明を実施するための形態」に開示されている要素並びに限定は、請求項中に明記されていないのであれば、示唆や推定等によって、個々であってもまとめてであっても、その請求項に加えられてはならない。
本願の詳細な説明の目的では、具体的に排除されていなければ、単数形は複数形を含み、かつ逆も真なりである。「含む/有する(including)」という用語は、「制限なく含む」ことを意味する。しかも「約」、「およそ」、「実質的に」、「だいたい」等の近似を表す語句は本願では、たとえば「ほぼ」、「3〜5%の範囲内」若しくは「許容可能な製造公差」又はこれらの論理的結合の意味で用いられてよい。
【0014】
図1は、マルチノードをサポートする、つまりはマルチノードシステムである典型的なシステム100のブロック図を表している。
システム100は、マザーボード100上の構成要素へ電力を供給する電源ユニット(PSU)102を含む。電源ユニット102と同一のバックアップ用電源ユニット108がバックアップ電源用に供されてよい。
【0015】
システム100は、複数のノード−たとえばノード130,132,134、及び136−を含む。複数のノードはこの例では、マルチノードシステム140を構成する。ノード130,132,134、及び136の各々は、マザーボードであるため、プロセッサ、メモリ、及びベースボード管理コントローラを有する。本願で説明される原則は、1つ以上の電源ユニットによって電力供給される任意の数のノードを有するマルチノードシステムの電力分配に適用され得ることに留意して欲しい。ノード130,132,134、及び136の電力消費は、これらのノードにそれぞれ対応する電流センサ150,152,154、及び156を介して決定されてよい。電流センサ150,152,154、及び156の出力は、シャーシ管理コントローラ142に結合され、かつ、シャーシ管理コントローラ142がノード130,132,134、及び136へ電力を割り当てるための電力消費データを提供してよい。
【0016】
図1のシステム100は、マルチノードマザーボード及び他の機能を実行する他のボード−たとえばメモリデバイス又はインターフェースデバイス−を含む情報処理システムの一部であってよい。この例では、マルチノードシステム140のノード130,132,134、及び136は、電源ユニット102によって電力供給される。よってシャーシ管理コントローラ142は、システム100上のノード130,132,134、及び136並びに任意で他の構成要素へ供給される電力を制御してよい。
【0017】
この例では、シャーシ管理コントローラ142は、管理コントローラとして動作し、かつ、アプリケーションソフトウエア用に各独立した再書き込み可能メモリ及び永久メモリを有してよい。シャーシ管理コントローラ142はまた、シャーシ管理コントローラと電力データバス−PSUの電力コントローラに結合され得るパワーマネジメントバス(PMbus)−との間での通信を可能にする通信インターフェースをも有して良い。他の通信インターフェースは、シャーシマネージャとデータバス−たとえばMBのBMCに結合され得るSMBus−との間での通信を可能にする。シャーシ管理コントローラ142は、目的−たとえばネットワーク動作、管理、又はトラブルシューティング−のためにデータバスから複数のプロセッサの性能データを受信してよい。当然のこととして、任意の適切な制御装置が、シャーシ管理コントローラ142用に用いられてよいことに留意して欲しい。たとえば電力を監視及び制御するシャーシ管理コントローラ142の機能は、複数のノードのうちの1つ−たとえばノード130−によって、又は、複数のノードのうちの一上のベースボード管理コントローラ若しくはPSU102の一部となり得る電力コントローラの一部として実行されてよい。
【0018】
シャーシ管理コントローラ142によるシステム−たとえばシステム100−内の複数のノード間での電力の分配方法は、この例では、複数のノード間での電力を動的に調和させることを可能にする。電力を動的に調和させるように動作可能なマルチノードシステムは、合計数がnのノードを含む。各ノードは、1〜nのノード番号xを有する。たとえば
図1のシステム100の4つのコア130,132,134、及び136はそれぞれ、ノード1、ノード2、ノード3、及びノード4と指定されてよい。システム−たとえばシステム100−の設定電力(SP)が設定される。設定電力とは、システムの電力消費を制限するためにある電力値に設定される電力値である。この例では、プロセッサ−たとえばマルチノードシステム100−のコアは、電力消費が設定電力よりも大きい場合に、ノードの設定電力値に到達しようとして動作速度を減少させる。各ノードの設定電力はSPxで表される。よってこの例では、ノード1の設定電力(SP1)は450Wとなり得る。
【0019】
システムの実際の電力はRPで表される。各ノードの実際の電力はRP
xで表される。実際の電力とは、システムの電流センサ−たとえばシステム100の電流センサ150,152,154、及び156−から読み取られる電力値である。よってノード1の実際の電力(RP1)は、設定電力未満の電力がそのノードによって消費されていることを示唆する380Wであり得る。システムの実際の電力はTPで表される。システムの合計電力(TP)は、nノードシステムによって消費される実際の合計電力(各ノードの実際の電力の合計)に他のボード及びデバイスの電力を加えた電力によって決定される。nノードシステムによって消費される実際の合計電力は次式で表されてよい。
【数1】
【0020】
他のボード及びデバイスの電力はOPで表されてよい。システムの合計電力(TP)は、電源ユニットの電流センサによって測定されてよい。よって他のボード及びデバイスの電力(OP)は、実際の合計電力からシステムの合計電力を減じることによって決定されてよい。実際の合計電力は、ノード130,132,134、及び136にそれぞれ対応する電流センサ150,152,154、及び156から読み取られる電力データ値に基づいて制御装置−たとえばシャーシ管理コントローラ142−によって決定される。
【0021】
マルチノードシステムの未使用合計電力はUTPで表される。未使用合計電力は、MOPで表される、電源ユニット−たとえば電源ユニット102−によって供給され得る合計電力消費(PSUの最大出力電力又はシステムが長時間動作しても安全だと判断される電力値)を決定し、かつ、システム合計電力(TP)を減じることによって決定される。よって未使用合計電力UTPは、最大出力電力からシステムの合計電力を減じることによって決定される(たとえばUTP=MOP−TP)。
【0022】
続いて追加調和電力が供給されてよい。各ノードの追加調和電力はSBP
xで表される。SBP
xは、ノードの実際の電力に係数yを乗じた値に等しい。よって各ノードでは、SBP
x=yRP
xである。係数yは、0より大きくかつ1未満の値で、かつ、一定値であっても良いしあるいは変動する値であってもよい。たとえば係数yは、ノード間でのすべての利用可能な電力を調和させるために相対的に高い値に設定されてよいが、需要の低いノードへの電力を減らしながらある需要の高いノードへの電力を最適化するために相対的に低い値で設定されてもよい。この例では、yが一定値0.1であると仮定するとノード1からの追加調和電力(SBP1)は、0.1×380W=38Wと決定され得る。
【0023】
追加調和電力は、電力割り当てプロセス前でのノード電力のy係数として表される比率分を取り出すことで、調和させるための予定消費電力を構成する。電力を調和させるための追加合計予定消費電力は、システム内の各ノードの調和電力を加えることによって決定される。これは次式で表される。
【数2】
【0024】
すべてのノードにとって必要な電力が、電源ユニット102から利用可能な電力を超える場合、電源ユニット102は、ノードにさらなる電力を供給できない。この場合、ノードの各設定電力の値は、調和させる目的で未使用合計電力を供給するように減少する。各ノードの減少する電力は、各ノードの負荷に比例する。たとえば負荷が重いノードは、より多くの追加調和電力を供給する。場合によっては、負荷の軽いノードは100%の電力を必要としないので、予定消費電力は、負荷の軽いノードから利用可能な電力を反映したより多くの電力を必要とするノードへ、より多くの電力を供給するように構成されてよい。
【0025】
よって合計追加予定消費電力(TBP)は、未使用合計電力UTPを取得し、かつ、各ノードからの追加調和電力を加えることによって決定される。合計調和予定消費電力は次式によって計算される。
【数3】
【0026】
各ノードの電力使用の大きさはPU
xで表される。電力使用の大きさは、ノードの実際の電力(RPx)をそのノードの設定電力(SP
x)で除した値である。よってノード1の電力使用の大きさは、380/450=0.844となり得る。電力使用の大きさは、各ノードがどの程度の電力を必要としているのかを示し得る。あるノードについて電力使用の大きさが1以上である場合、そのノードが全設定電力又はそのノードの設定電力の値よりも大きな電力を必要とすることが示唆されている。この例では、ノード1の電力使用は1未満であるので、ノード1は設定電力未満の電力しか要求していない。
【0027】
システム内のノードxの電力使用の比率は、%(PU
x)で表され、かつ、そのノードの電力使用をすべてのノードの合計電力使用で除した値によって決定されてよい。よって電力使用の比率が最も高いノードは、マルチノードシステム内の他のノードと比較して最も電力を必要とするノードであることを示唆している。あるノードの電力使用の比率は、システム電力調和用にとっておいた予定消費電力を割り当てるのに用いられる。よってあるノードについて、電力使用の比率が大きければ大きいほど、シャーシ管理コントローラ142によってより多くの電力が割り当てられる。
【0028】
各ノードの調和予定消費電力(ABP)はABP
xで表される。調和予定消費電力は、合計調和予定消費電力TBPにノードの電力使用比率を乗じることによって決定される。これは次式で表され得る。
【数4】
【0029】
システムはまた、各ノードの次の設定電力をも決定する。次の設定電力は、ノードの実際の電力(RP
x)からそのノードの追加調和電力(SBP
x)を減じ、かつ、そのノードの調和予定消費電力(APB
x)を加えることに基づいて決定される。これは次式で表され得る。
【数5】
【0030】
次の設定電力は、コントローラ−たとえばシャーシ管理コントローラ142−のメモリ内に格納され、かつ、ノード間での電力再割り当てを決定するのに用いられる。よってシャーシ管理コントローラ142は、ベースボード管理コントローラに、次の設定電力に従って、ノード130,132,134、及び136の各々へ電力を割り当てさせる。ノード130,132,134、及び136の各々の電力の変化によって、そのノードの電力需要に基づいて電力を動的に調和させることが可能となる。
【0031】
図2Aと
図2Bは、
図1の典型的なマザーボード100内のノード130,132,134、及び136の各々の設定電力、実際の電力、追加調和電力、電力使用の大きさ、電力使用割合、追加調和予定消費電力、及び次の設定電力を示す表である。
図2Aと
図2Bの値は、
図1のノード130,132,134、及び136の各々が多量の電力を取り込む場合での高電力使用のシナリオを仮定している。
図2Aと
図2Bの値は、電力モニタ150,152,154、及び156によって測定される各ノーによって消費される電力に基づいて、シャーシ管理コントローラ142によって決定される。
【0032】
この例では、未使用合計電力UTPはゼロである。各ノードでは、係数yはこの例では0.3であるため、各ノードの追加調和電力は、そのノードの実際の電力の0.3である。各ノードの電力使用割合は、実際の電力が設定電力に等しいことを示す1である。
図2Aに示されるプロセス開始時点では、ノード1の電力は500Wで、ノード2の電力は400Wで、ノード3の電力は300Wで、かつ、ノード4の電力は200Wである。合計調和予定消費電力(TBP)は420である。よって、合計ノード電力消費は1400Wで、かつ、他のボードとデバイスの電力(OP)は200Wである。従って合計電力消費は1600Wであり、この値は利用可能電力である1600Wと同一であるので、未使用合計電力UTPはゼロである。
【0033】
図2Bは、上述の電力調和プロセスがシャーシ管理コントローラ142によって実行された後のノード130,132,134、及び136の調節値を示す表である。
図2Bから見てとれるように、最も負荷の重いノード(ノード1とノード2)の設定電力が減少し、かつ、負荷の軽いノード(ノード3とノード4)の設定電力が増大した。たとえば、455である
図2Aの表中のノード1の次の設定電力は、500であるノード1の実際の電力を取得し、150である追加調和電力値(SBP
x)を減じ、かつ、105である調和予定消費電力(ABP
x)を加える結果455である次の設定電力を得ることによって決定される。上で説明したように、ノード1の実際の電力−この例では500−と、係数y−この例では0.3−とを乗じた結果得られた150である追加調和電力値によって、150である追加調和電力値(SBP
x)が得られる。上で説明したように、105である調和予定消費電力値は、420である合計調和予定消費電力と0.25であるノード1の電力使用割合を乗じることによって得られる。
【0034】
続いて
図2Aで得られた次の設定電力値は、
図2Bで示されているように電力調和プロセスの次の反復における設定電力値として用いられる。
図2Bに示されているように、プロセスを2回実行した後、負荷の重いノード1の次の設定電力はさらに減少して423.5となる一方、負荷の軽いノード4の次の設定電力はさらに増大して276.5となる。
【0035】
続いてシャーシ管理コントローラ142は、
図2Bの次の設定電力値を用いることによって同一の電力調和プロセスを実行してよい。このプロセスを反復実行することによって、
図1のノード130,132,134、及び136へ動的に電力を割り当てることが可能となる。
【0036】
図3は、上述の電力調和プロセスを10度実行した後のノード130,132,134、及び136の各々の実際の電力値を示すグラフである。ノード130,132,134、及び136の実際の電力値はそれぞれ、線300,302,304、及び306によって表される。
図3から見て取れるように、各ノードについての実際の電力値が350Wへ収束することで、システムの負荷は調和する。
【0037】
負荷を調和させる他の例は、あるノードの電力要求が低いときである。
図4A、
図4B、及び
図4Cは、上述の電力調和プロセスの実行中での
図1の典型的システム100中のノード130,132,134、及び136の各々の設定電力、実際の電力、追加調和電力、電力使用の大きさ、電力使用割合、追加調和予定消費電力、及び次の設定電力を示す表である。この例では、第1ノード130と第3ノード134の電力要求が高い一方で、第2ノード132と第4ノード136の電力要求は低い。
【0038】
この例では、各ノードの係数yは0.1であるため、各ノードの追加調和電力は実際の電力の0.1である。ノード1とノード3の各々の電力使用割合は、実際の電力が設定電力に等しいことを示す1であり、かつ、ノード1とノード3の電力要求は高い。ノード2とノード4の電力使用割合は、ノード2とノード4の電力要求がノード1とノード3の電力要求よりも低いことを示す0.9である。
図4Aに示されているように、プロセスの開始時点では、ノード1の設定電力は500で、ノード2の設定電力は500で、ノード3の設定電力は300で、かつ、ノード4の設定電力は300である。対照的に、実際の電力は、ノード1では500で、ノード2では450で、ノード3では300で、かつ、ノード4では270である。合計調和予定消費電力(TBP)は232である。合計ノード電力消費は1600Wで、かつ、他のボード及びデバイスの電力(OP)は200Wである。よって合計電力消費は利用可能な電力である1800に等しく、かつ、未使用合計電力UTPはゼロである。
【0039】
図4Bは、
図4Aでの値から上述の電力調和プロセスが実行された後の調節値を示す表である。
図4Aと比較した
図4Bから見て取れるように、最も負荷の重いノード(ノード1とノード3)の設定電力は増大し、かつ、負荷の軽いノード(ノード2とノード4)の設定電力は減少した。たとえば、511である
図4Aの表中でのノード1の次の設定電力は、500であるノード1の実際の電力を取得し、50である追加調和電力値(SBP
x)を減じ、かつ、61.1である調和予定消費電力(ABP
x)を加える結果得られる511であるノード1の次の設定電力によって決定される。上述したように、50である追加調和電力値(SBP
x)は、ノード1の実際の電力−この例では500−と、係数y−この例では0.1−とを乗じた結果得られた50である追加調和電力値によって、50である追加調和電力値(SBP
x)が得られる。上で説明したように、61.1である調和予定消費電力値は、420である合計調和予定消費電力と0.25であるノード1の電力使用割合を乗じることによって得られる。
【0040】
続いて
図4Aで得られた次の設定電力値は、
図4Bで示されているように電力調和プロセスの次の反復における設定電力値として用いられる。
図4Bに示されているように、負荷の重いノード1の次の設定電力はさらに増大して520.8となる。
【0041】
逆に、電力要求の低いノードでは、次の設定電力値が減少する。たとえば、
図4B中の表のノード2の設定値は459.9である。459.9というノード2の設定値は、450である
図4Aに示されているノード2の実際の電力を取得し、45である追加調和電力値(SBP
x)を減じ、かつ、54.9である調和予定消費電力(ABP
x)を加える結果得られる459.9である
図4Bの次の設定電力によって決定される。上で説明したように、ノード2の実際の電力−この例では450−と、係数y−この例では0.1−とを乗じた結果得られた45である追加調和電力値によって、45である追加調和電力値(SBP
x)が得られる。上で説明したように、54.9である調和予定消費電力値は、232である合計調和予定消費電力と0.24であるノード2の電力使用割合を乗じることによって得られる。
図4Bで示されているように、負荷の軽いノード2の次の設定電力はさらに減少して433.5となる。
【0042】
図4Cは、3回目の電力調和アプリケーションが実行された後のノードの電力値を示している。電力要求の高いノード1とノード3の設定電力は
図4Bでの値から増大した一方で、電力要求の低いノード2とノード4の設定電力は
図4Bでの値から減少した。
【0043】
図5は、
図4Aの表中の初期値から電力調和プロセスを10回実行した後のノード130,132,134、及び136の各々の設定電力値を示すグラフである。ノード130,132,134、及び136の設定電力値はそれぞれ、線500,502,504、及び50によって表される。
図5から見て取れるように、システム負荷は、ノード間での電力を調和させることで、電力要求の高いノード−たとえば線500によって表されるノード1及び線504によって表されるノード3−の設定電力を増大させることを可能にする。電力要求の低いノード−たとえば線502によって表されるノード2及び線506によって表されるノード4−では設定電力は減少する。
【0044】
上で説明したように、係数yは、システムの要求に依存して電力調和を最適化するように調節されてよい。
図2A−
図2Bと
図3に関連させて上述した例では、すべてのノードがより多くの電力を必要とする際に同一の平均電力を実現させることを可能にするため、係数yは0.3に設定される。
図6は、
図2Aの開始値で上述の電力調和プロセスを10回実行した後のノード130,132,134、及び136の各々の設定電力値を示すグラフである。ノード130,132,134、及び136の設定電力値は、係数yが0.1に設定されるときには、それぞれ線600,602,604、及び606によって表される。
図3と比較した
図6から見て取れるように、システム負荷は低速で調和させるため、すべてのノードがさらなる電力を必要とするときには、大きなyの値が電力を調和させる上では望ましい。
【0045】
図4A−
図4Cと
図5に関連させて上述した例では、電力要求の高いノードが受ける電力割り当てを多くし、かつ、電力要求の低いノードの受ける電力割り当てを少なくすることを可能にするため、係数yは0.1に設定される。
図7は、
図4Aの開始値で上述の電力調和プロセスを10回実行した後のノード130,132,134、及び136の各々の設定電力値を示すグラフである。係数yが0.3に設定されるときのノード130,132,134、及び136の設定電力値はそれぞれ、線700,702,704、及び706によって表される。
図5と比較して
図7から見て取れるように、システムは、多くの電力を必要とするノードに割り当てる電力を少なくするので、一部のノードしかさらなる電力を必要としないときには、小さなyの値が、電力を調和させるのには望ましい。
【0046】
図8は、マルチノードシステムのノードに電力を動的に分配する管理コントローラ−たとえば
図1のシャーシ管理コントローラ142−によって実行されるアルゴリズムの流れ図を示す。
図8の流れ図は、マルチノードシステム−たとえば
図1のシステム100−典型的な機械可読命令を表す。この例では、機械可読命令は、(a)プロセッサ、(b)コントローラ、及び/又は(c)1つ以上の他の適切な処理装置によって実行されるアルゴリズムを含む。アルゴリズムは、有形媒体−たとえばフラッシュメモリ、CD−ROM、フロッピーディスク、ハードドライブ、ディジタルビデオ(多目的)ディスク(DVD)、又は他のメモリデバイス−上に格納されるソフトウエアによって実施されてよい。しかし当業者は、アルゴリズムの全部又は一部は、プロセッサ以外の装置によって実行され、かつ/あるいは、ファームウエア若しくは専用ハードウエアによって周知の方法で実施され得る(たとえば用途特定集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルロジックデバイス(FPLD)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理素子等によって実装されてよい)ことを容易に理解する。たとえばインターフェースの構成要素のいずれも、ソフトウエア、ハードウエア、及び/又はファームウエアによって実装されてよい。また
図8のフローチャートによって表される機械可読命令の一部又は全部は、手動で実施されてもよい。さらに
図8に表されているフローチャートを参照しながら典型的なアルゴリズムが説明されているが、当業者は、典型的な機械可読命令を実施する他の多くの方法が用いられ得ることを容易に理解する。たとえばブロックの実効順序は変更されてよく、かつ/あるいは、記載されているブロックの一部は変更、削除、又は結合されてよい。
【0047】
シャーシ管理コントローラ142は最初、電力調和処理を初期化する(800)。電力調和処理は、マルチノードシステム用に規則的に実行されるか、あるいは、1つ以上のノードの動作の変更に応じて開始されてよい。シャーシ管理コントローラ142は、電源ユニット102(MOP)の全電力の出力を取得し、かつ、TPを減じることによって未使用合計電力を決定する(802)。続いてシャーシ管理コントローラ142は、各ノードの実際の電力に係数を乗じた値を加えることによって追加調和電力を決定する(804)。続いてシャーシ管理コントローラ142は、各ノードの電力使用割合を決定する(806)。あるノードの電力使用割合は、あるノードの電力使用の大きさPU
xをすべてのノードの電力使用の大きさの合計PUで除することによって決定される。電力使用の大きさは、ノードの実際の電力(RP
x)をそのノードの設定電力(SP
x)で除すことによって決定される。
【0048】
続いてシャーシ管理コントローラ142は、ノード間で合計調和予定消費電力を割り当てることによって、一旦取り除いた合計調和予定消費電力を各ノードに再度加える(808)。あるノードの再度加えられた合計調和電力(ABP
x)は、合計調和予定消費電力(TBP)を取得し、かつ、そのノードの電力使用の大きさ(%(PU
x))をTBPに乗じることによって決定される。合計調和予定消費電力は、未使用合計電力(UTP)を取得し、かつ、各ノードの実際の電力使用から決定される追加調和電力に係数yを乗じた値(yRP
x)を加えることによって決定される。
【0049】
続いてシャーシ管理コントローラ142は、各ノードの次の設定電力(NSP
x)を決定する(810)。次の設定電力は、ノードの実際の電力(RP
x)からそのノードの追加調和電力(SBP
x)を減じ、かつ、そのノードの合計調和電力(ABP
x)を加えることによって決定される。続いてシャーシ管理コントローラ142は、システム内の各ノードへ供給される電力を最大でも次の設定電力となるように電源回路106を制御する。プロセスは続いて、最初に戻り、かつ、各ノードの次の設定電力に従って再度電力割り当てを調和させる。
【0050】
本願で用いられているように、「構成要素」、「モジュール」、「システム」等の用語は概して、コンピュータに関連するもの−ハードウエア(たとえば回路)、ハードウエアとソフトウエアの結合、ソフトウエア、又は、1つ以上の具体的機能を備える操作機械に関連するもの−を指称することが意図されている。たとえば構成要素は、プロセッサ(ディジタル信号プロセッサ)上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又はコンピュータであってよいが、これらに限定されない。例として、コントローラ上で動作するアプリケーションとコントローラのいずれも構成要素であってよい。1つ以上の構成要素は、プロセス及び/又は実行スレッドの内部に存在してよい。構成要素は、一のコンピュータ上に局在するか、かつ/あるいいは、2つ以上のコンピュータ間で分配されてよい。さらに「デバイス」は、特別に設計されたハードウエア、ソフトウエアの実行によって特定の機能を実行することが可能となる特化する汎用ハードウエア、コンピュータ可読媒体上に格納されるソフトウエア、又は、これらの結合であってよい。
【0051】
情報処理デバイスは一般的に様々な媒体を含む。様々な媒体は、コンピュータ可読媒体及び/又は通信媒体を含んでよい。コンピュータ可読媒体と通信媒体は、本願では、以下の通りそれぞれ異なる意味で用いられている。コンピュータ可読媒体は、コンピュータによってアクセス可能な任意の利用可能な記憶媒体であってよく、一般的には非一時的な性質を有し、かつ、揮発性媒体と不揮発性媒体の両方、取り外し可能媒体と非取り外し可能媒体の両方を含んでよい。限定ではない例として、コンピュータ可読媒体は、情報−たとえばコンピュータ可読命令、プログラムモジュール、構造化データ、又は未構造化データ−を記憶する任意の方法又は技術に関連して実装されてよい。コンピュータ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、ディジタル多目的ディスク(DVD)若しくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク、若しくは他の磁気記憶装置、又は、所望の情報の記憶に用いられ得る他の有形及び/又は非一時的媒体を含んでよいが、これらに限定されない。コンピュータ可読媒体は、媒体に格納されている情報に関して様々な操作を行うため、たとえばアクセス要求、クエリー、又は他のデータ検索プロトコルを介して1つ以上の局所又は遠隔情報処理デバイスによってアクセスされてよい。
【0052】
本願で用いられているように、複数形であると明記されていない名詞はその複数形を含む。さらに明細書又は特許請求の範囲のいずれかで用いられる限りにおいて、「有する」、「備える」等の用語は、「含む」と同様に包括的であると意図される。
【0053】
定義されない場合、本願で用いられるすべての用語(科学技術の専門用語を含む)は、当業者が一般的に理解するのと同じ意味を有する。さらに広く用いられている辞書で定義されている用語は、当技術分野における意味と整合する意味を有するもの解釈され、かつ、本願で明示的に定義されなければ、理想化された、あるいは、過度に形式的な意味で解釈されてはならないことに留意して欲しい。
【0054】
本発明の様々な実施形態が上で説明されてきたが、これらの実施形態は単なる例示として与えられたのであって限定ではないことに留意して欲しい。開示された実施形態の様々な変化型が、本発明の技術的思想又は技術的範囲から逸脱することなく本願の開示に従って実現され得る。よって本発明の技術的範囲は、上述の実施形態によって限定されてはならない。むしろ本発明の技術的範囲は、特許請求の範囲の請求項及びその均等物に従って定められなければならない。
【0055】
本発明は1つ以上の実施形態について図示及び説明されてきたが、本願明細書及び添付図面を読んで理解すれば、当業者には、均等な代替型及び修正型が思い浮かぶ。それに加えて、本発明のある特定の特徴が、複数の実施形態のうちの1つのみについて開示されてきたが、そのような特徴は、任意の所与の又は特定の用途にとって望ましく、かつ、有利になり得るものとして、他の実施形態の1つ以上の他の特徴と組み合わせられてよい。