(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
本発明の各種実施形態は、新鮮な空気を、システムのダウンストリームコンポーネントに供給するシステム、および、方法を提供する。システムは、第一端および第二端を有するハウジング、ハウジング中に設置される第一の複数のパーティション、および、ハウジング中に設置される第二の複数のパーティションを有する。ハウジングは、ベース部分、および、第一端から第二端に延伸し、互いに対向する第一および第二側壁を有する。第一の複数のパーティションは、複数のコンパートメントとそれぞれ関連する少なくとも一つの第一換気孔をそれぞれ有する。第二の複数のパーティションは、少なくとも一つのパーティションダクトと少なくとも一つの第二換気孔を有する。パーティションダクトは複数のパーティションロウ(partition rows)を通過している。第二換気孔は、少なくとも一つのパーティションダクトを、複数のコンパートメントの関連する一つに接続する。少なくとも一つの第二換気孔は第二端(ハウジングの後部)に接近する。
【0015】
図1Aは、本発明の実施形態によるストレージサブシステム102およびサーバシステム101を含むシステム100Aのブロック図である。この実施形態において、サーバシステム101は、キャッシュ172に接続される少なくとも一つのマイクロプロセッサまたはプロセッサ
173、一つ以上の冷却素子162、メインメモリ(MEM)180、電源140からAC電力を受けるとともに、電力をサーバシステム101に供給する少なくとも一つの電源ユニット(PSU)141を有する。ストレージサブシステム102は、電源140からAC電力を受けるとともに、電力をストレージサブシステム102に供給する一つ以上のPSU142、少なくとも一つの拡張器(拡張器191、192)、一つ以上の冷却素子163、および、複数のストレージデバイス(たとえば、1911、1912、1921、および、1922)を有する。ストレージデバイスは、少なくとも一つのSCSI(SAS)ディスク、シリアルATA(SATA)ディスクまたは半導体ドライブ(SSD)を有する。ストレージデバイスは、独立したストレージデバイスであるか、または、RAID(Redundant Array of Independent Disks)で配置される。少なくとも一つの拡張器は、それぞれ、ストレージサブシステム102の一つ以上のストレージデバイスを管理する(たとえば、コマンドを受信するとともに、それらを対応するストレージデバイスに設定する(routing))とともに、ネットワークにより、リモート装置、管理モジュールおよびストレージサブシステム102のその他の拡張器と通信する。コマンドは、読み書きコマンド、情報要求や制御コマンド(たとえば、ゾーン分けコマンド)を有する。コマンドはテキスト、スモールコンピュータシステムインターフェース(SCSI)、ATアタッチメント(ATA)またはシリアルATA(SATA)のフォーマットである。この実施形態において、拡張器191は、ストレージデバイス1911および1912を管理し、拡張器192は、ストレージデバイス1921および1922を管理する。
【0016】
この実施形態において、少なくとも一つの拡張器(たとえば、拡張器191と192)は、さらに、一つ以上のアダプタカード190とストレージサブシステム102間にコマンドラインインターフェース(CLI)を提供する。一つ以上のアダプタカード190またはリモートユーザーは、CLIによりコマンドを入力する。CLIは、これに限定されないが、デジタルコマンドランゲージ(DCL)、各種 Unix シェル、マイクロコンピュータ(CP/M)の制御プログラム、command.com, cmd.exeおよびリソースタイムシェアリングシステム(RSTS)CLIを有する。
【0017】
いくつかの実施形態において、ストレージサブシステム102の拡張器は、接続冗長によって、ストレージサブシステム102中の複数のストレージデバイスと接続されて、失効した通信リンク(たとえば、失効したケーブルやポート、あるいは、アクシデント的に抜かれる接続)を保護する。いくつかの実施形態において、ストレージサブシステム102、および、サーバシステム101は、単一ラック、または、異なるサーバラックに設置される。
【0018】
少なくとも一つのPSU141が設置されて、サーバシステム101の各種部品、たとえば、プロセッサ
173、キャッシュ172、NBロジック176、PCIeスロット160、メモリ180、SBロジック146、ストレージデバイス148、ISAスロット150、PCIスロット170、コントローラ110、および、一つ以上の冷却素子162に電力を供給する。 電源がオンになった後、サーバシステム101は、メモリ、コンピュータストレージデバイスまたは外部ストレージデバイスから、ソフトウェアアプリケーションをロードして、各種操作を実行する。ハードドライブ148が論理ブロックに構造化され、論理ブロックは、サーバシステム101のオペレーティングシステムとアプリケーションに用いることができ、且つ、サーバシステム101がオフになっても、サーバデータを保留するように設定される。
【0019】
いくつかの実施形態において、一つ以上の冷却素子162は、空冷素子、液冷素子またはそれらの組み合わせである。いくつかの実施形態において、一つ以上の冷却素子162は、サーバシステム101の前側、および/または後ろ側に位置する複数のファンを有する。
【0020】
メインメモリ180は、ノースブリッジ(NB)ロジック176によりプロセッサ17
3に結合される。メモリコントロールモジュール(図示しない)は、メモリ操作期間中に、必要な制御信号をアサートすることにより、メモリ180の操作を制御するのに用いられる。メインメモリ180は、これに限定されないが、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレートDRAM(DDR DRAM)、スタティックRAM(SRAM)または適切なその他のタイプのメモリを有する。
【0021】
いくつかの実施形態において、プロセッサ17
3はマルチコアプロセッサであり、それぞれ、NBロジック176に接続されるCPUバスにより互いに結合される。いくつかの実施形態において、NBロジック176はプロセッサ17
3に統合される。NBロジック176は、さらに、複数の周辺機器相互接続エクスプレス(PCIe)スロット160およびサウスブリッジ(SB)ロジック146に接続される。複数のPCIe スロット160は、接続とバス、たとえば、PCIエクスプレス x1、USB2.0、SMBus、SIMカード、別のPCIeレーンの未来の拡張、1.5Vと3.3Vの電力、および、サーバのシャーシ上の診断的LEDのワイヤに用いられる。
【0022】
この実施形態において、NBロジック176、および、SBロジック146は、周辺機器相互接続(PCI)バス154により接続される。PCIバス154は、CPU110上の機能をサポートするが、任意のCPUのネイティブバスから独立した標準化フォーマットである。PCIバス154は、さらに、複数のPCIスロット170(たとえば、PCIスロット171)に接続される。PCIバス154に接続される装置は、CPUバスに直接接続され、プロセッサ17
3のアドレス空間中のアドレスを割り当てるとともに、単一バスクロックに同期化されるバスコントローラ(図示しない)に現れる。PCIカードは、複数のPCIスロット170中で用いられ、これに限定されないが、ネットワークインターフェースカード(NICs)、音声カード、TVチューナーカード、ディスクコントローラ、ビデオカード、スモールコンピュータシステムインターフェース(SCSI)アダプタおよびパーソナルコンピュータメモリカード国際協会(PCMCIA)カードを有する。
【0023】
SBロジック146は、拡張バスにより、PCIバス154を、複数の拡張カードまたはスロット150(たとえば、ISAスロット152)に結合する。拡張バスは、SBロジック146と周辺装置間の通信に用いられるバスであり、これに限定されないが、業界標準アーキテクチャ(ISA)バス、PC/104バス、低ピンカウントバス、拡張ISA(EISA)バス、ユニバーサルシリアルバス(USB)、IDE(integrated drive electronics)バスまたは周辺装置のデータ通信に用いるその他の任意の適切なバスを有する。
【0024】
この実施形態において、SBロジック146は、さらに、少なくとも一つのPSU141に接続されるコントローラ110に結合される。いくつかの実施形態において、コントローラ110は、基板管理コントローラ(BMC)、ラック管理コントローラ(RMC)、あるいは、その他の任意の適切なシステムコントローラである。コントローラ110は、少なくとも一つのPSU141の操作および/またはその他の適切な操作を制御する。いくつかの実施形態において、コントローラ110は、処理要求およびサーバシステム101の素子および/または接続状態を監視するように設定される。
【0025】
この実施形態において、コントローラ110は、ケーブル、あるいは、無線接続(たとえば、I2C、SMBUsまたはPCIe)により、ストレージサブシステム102の少なくとも一つの拡張器(たとえば、拡張器191と192)に接続される。いくつかの実施形態において、コントローラ110が、ストレージサブシステム102の一つ以上の冷却素子163に結合されるとともに、一つ以上の冷却素子163の操作を管理する。いくつかの実施形態において、ストレージサブシステム102は、分離コントローラ(図示しない)を有して、一つ以上の冷却素子163の操作を管理する。
【0026】
図1Bは、本発明の実施形態による新鮮な空気をシステム100Bのダウンストリームコンポーネントに提供するシステム100Bのブロック図である。この実施形態において、システム100Bは、前部および後部を有するハウジング103、ハウジング103中に設置される第一の複数のパーティション188、および、ハウジング103中に設置される第二の複数のパーティション185を有する。ハウジング103は、ベース部分181、前部から後部から延伸し、互いに対向する第一および第二側壁187と189を有する。第一の複数のパーティション188は、それぞれ、第一側壁189から第二側壁187に延伸するとともに、互いに隔てられて、複数のパーティションロウを定義する。第二の複数のパーティション185は、それぞれ、互いに隔てられるとともに、第一の複数のパーティション188とそれぞれ交差するように設置されて、複数のコンパートメント184を、複数のパーティションロウのそれぞれ中で定義する。第一の複数のパーティション188はそれぞれ、複数のコンパートメント184のそれぞれと関連する少なくとも一つの第一換気孔186を有する。
図1Cに示されるように、少なくとも一つの第二の複数のパーティション185は、少なくとも一つのパーティションダクト1851、および、少なくとも一つの第二換気孔1852を有し、パーティションダクト1851は、複数のパーティションロウから延伸し、
図1Cと
図1Dに示されるように、第二換気孔1852は、少なくとも一つのパーティションダクト1851を、複数のコンパートメント184の関連する1つに接続する。いくつかの実施形態において、少なくとも一つの第二換気孔1852は、第二端(ハウジング103の後部)に接近する。
【0027】
いくつかの実施形態において、システム100Bは、第一側壁189に沿って、ハウジング103中に設置される少なくとも一つの第一側壁ダクト(たとえば、1891)を有する。少なくとも一つの第一側壁ダクト1891は、ハウジング103の一部分の前部から、複数のロウを越えて、複数のロウの内部を接続する。
図1Gに示されるように、いくつかの実施形態において、システムは、さらに、第二側壁187に沿って、ハウジング103中に設置される少なくとも一つの第二側壁ダクト1871を有する。少なくとも一つの第二側壁ダクト1871は、ハウジング103の一部分から、複数のロウを越えて後部、そして、複数のロウの内部を接続する。
【0028】
いくつかの実施形態において、複数の第二換気孔1852の少なくとも一つが開閉する。複数のコンパートメント184は、それぞれ、温度センサー(図示しない)を有する。複数のコンパートメント184の一つの測定温度が限界温度を超えると判断したのに対応して、システム100Bは、少なくとも一つのパーティションダクト1851の対応する第二換気孔1852を開放して、対応するコンパートメント184中に位置する部品を冷却する。
【0029】
図1Eは、本発明の実施形態による新鮮な空気を、システム100Eのダウンストリームコンポーネントに提供するシステム100Eのブロック図である。この実施形態において、システム100Eのベース部分181は、複数のインターフェース182を含む回路板183を有する。複数のインターフェース182は、少なくとも複数のストレージデバイス(図示しない)をサポートする。第二の複数のパーティション185は、それぞれ、ハウジング103の前部から、ハウジング103の後部に延伸する。第二の複数のパーティション185の少なくとも一つは、少なくとも一つのパーティションダクト1851と少なくとも一つの第二換気孔1852とを有する。少なくとも一つのパーティションダクト1851は複数のパーティションロウから延伸し、少なくとも一つの第二換気孔1852は、少なくとも一つのパーティションダクト1851を、複数のコンパートメントの関連する一つに接続する。
【0030】
いくつかの実施形態において、複数のインターフェース182は、SASインターフェース、SATAインターフェース、あるいは、PCIeインターフェースを有する少なくとも一種のインターフェースを有する。SAS インターフェースまたはSATAインターフェースはHDDをサポートする。PCIeインターフェースはSSDをサポートする。システム100Eは、さらに、少なくともSAS HDD、SATA HDDまたはSSDを含む複数のストレージデバイスを有する。
【0031】
いくつかの実施形態において、複数の第二換気孔1852の少なくとも一つが開閉する。複数のコンパートメント184は、それぞれ、温度センサーを有する。複数のコンパートメント184の一つの測定温度が限界温度を超えたと判断したのに対応して、システム100Eは、少なくとも一つのパーティションダクト1851の対応する第二換気孔1852を開放して、対応するコンパートメント184中に位置する部品を冷却する。
【0032】
図1A〜
図1G中のシステム100A〜100Gの例において、ある素子だけが示されているが、ぞれぞれ、データを処理、あるいは、保存、信号を送受信、あるいは、新鮮な空気をダウンストリームコンポーネントに提供することができる各種電子またはコンピューティング部品も、システム100A〜100G中に含まれる。さらに、システム100A〜100G中の電子またはコンピューティング部品は、各種タイプのアプリケーションを実行するおよび/または各種タイプのオペレーティングシステムを用いることができる。 これらのオペレーティングシステムは、これに限定されないが、Android、BSD(Berkeley Software Distribution)、iPhone(登録商標) OS (iOS)、Linux(登録商標)、OS X、ユニックス系リアルタイムオペレーティングシステム (たとえば、QNX)、Microsoft Windows、Window PhoneおよびIBM z/OSを有する。
【0033】
システム100A〜100Gの所望の実施に基づいて、各種ネットワーキングおよびメッセーシングプロトコルが用いられ、これに限定されないが、TCP/IP、開放型システム間相互接続(OSI)、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、コモンインターネットファイルシステム(CIFS)、AppleTalk 等を有する。当業者なら理解できるように、
図1A〜
図1Gに示されるシステム100A〜100Gは説明のために用いられる。よって、ネットワークシステムは、適当な時に、多くの変化によって実現されるが、本発明の各種実施形態に基づいて、ネットワークプラットフォームの配置を提供する。
【0034】
図1A〜
図1Gの配置において、システム100A〜100Gは、さらに、一つ以上のワイヤレス素子を有し、操作可能な方式で、特定のワイヤレスチャネルの計算範囲内の一つ以上の電子デバイスと通信する。ワイヤレスチャネルは、装置を無線で通信させることができる任意の適切なチャネル、たとえば、ブルートゥース(登録商標)、セルラー、NFCまたはWi-Fiチャネルである。理解できることは、装置は、当技術分野でさらに周知の一つ以上の従来の有線通信接続を有することである。各種その他の素子および/または組み合わせは、各種実施形態の範囲内にあることが可能である。
【0035】
図2は、本発明の実施形態による新鮮な空気をダウンストリームコンポーネントに提供する方法200を示す図である。理解できることは、方法200は説明目的として表され、且つ、本発明のその他の方法に基づいて、類似または代替の順序、あるいは、並行時に、実行される追加の、いくつかのまたは代替の工程を有してもよい。工程202において、方法200は、システムのハウジングを配置することから開始される。ハウジングは、ベース部分、および、ハウジングの第一端からハウジングの第二端に延伸し、互いに対向する第一および第二側壁を有する(たとえば、
図1B〜
図1Gに示される)。いくつかの実施形態において、ベース部分は、複数のインターフェースを有する回路板を有する。複数のインターフェースは、少なくともSAS HDD、SATA HDDまたはSSDをサポートする。
【0036】
工程204において、第一の複数のパーティションが、ハウジング中に設置される。第一の複数のパーティションは、それぞれ、第一側壁から第二側壁に延伸するとともに、互いに隔てられて、複数のパーティションロウを定義する。ハウジングのいくつかの実施形態が、
図1B〜
図1Gに示される。
【0037】
工程206において、第二の複数のパーティションがハウジング中に設置される。
図1B〜
図1Gに示されるように、第二の複数のパーティションは、それぞれ、互いに隔てられるとともに、第一の複数のパーティションのそれぞれと交差するように設置されて、複数のロウのそれぞれで、複数のコンパートメントを定義する。
【0038】
工程208において、
図1B〜
図1Gに示されるように、システムは、各第一の複数のパーティションに、複数のコンパートメントのそれぞれに関連する少なくとも一つの換気孔を有させる。
【0039】
工程210において、
図1B〜
図1Gに示されるように、システムは、各第二の複数のパーティションに、少なくとも一つのパーティションダクトと少なくとも一つの第二換気孔とを有するように構成される。少なくとも一つのパーティションダクトは複数のパーティションロウを通過する。少なくとも一つの第二換気孔は、少なくとも一つのパーティションダクトを、複数のコンパートメントの関連する一つに接続する。
【0040】
コンピュータネットワークは、地理的に分布するノードの集合であり、これらのノードは、通信リンクとセグメントにより相互接続されて、エンドポイント、たとえば、パーソナルコンピュータとワークステーション間でデータを伝送する。ローカルエリアネットワーク(LANs)と広域ネットワーク(WANs)からオーバーレイとソフトウェア-定義ネットワーク、たとえば、仮想拡張 ローカルエリアネットワーク(VXLANs)の範囲内の各種タイプのネットワーが可用である。
【0041】
LANsは、通常、同じ地理位置にある専用のプライベート通信リンク、たとえば、ビルやキャンパス等により、ノードに接続する。一方、WANsは、通常、長距離の通信リンク、たとえば、コモンキャリア電話線、光学光路、同期型光ネットワーク(SONET)や同期デジタル階層 (SDH)リンクにより、地理的に分散したノードを接続する。LANsとWANsは、第2層(L2)および/または第3層(L3)ネットワークと装置を有する。
【0042】
インターネットは、世界中の異種のネットワークを接続するWANの例であり、各種ネットワークのノード間のグローバル通信を提供する。ノードは、通常、所定プロトコル、たとえば、通信制御プロトコル/インターネットプロトコル(TCP/IP)にしたがって、データの離散フレームやパケットを交換することにより、ネットワークを通じて通信する。ここで、プロトコルは、どのように、ノードを互いに作用させるかを定義する一組のルールを参照する。コンピュータネットワークは、さらに、中間ネットワークノード、たとえば、ルーターにより相互接続されて、各ネットワークの有効 "サイズ" を拡張する。
【0043】
オーバーレイネットワークは、通常、仮想ネットワークが、物理ネットワークインフラにより、創造および分層できるようにする。オーバレイネットワークプロトコル、たとえば、仮想拡張LAN(VXLAN)、一般ルーティングのカプセル化 (NVGRE)を用いたネットワーク仮想化、ネットワーク仮想化 オーバーレイ(NV03)およびステートレストランスポートトンネリング(STT)は、ネットワークトラフィックに、論理トンネルにより、L2とL3ネットワークを跨いで搭載できるようにするトラフィックカプセル化スキームを提供する。このような論理トンネルは、仮想トンネルエンドポイント (VTEPs)により起源および終了する。
【0044】
さらに、オーバーレイネットワークは、仮想セグメント、たとえば、VXLANオーバーレイネットワーク中のVXLANセグメントを有し、仮想セグメントは、仮想L2および/またはL3オーバーレイネットワークを有し、VMは、仮想L2および/またはL3オーバーレイネットワークにより通信する。仮想セグメントは、仮想ネットワーク識別子(VNI)、たとえば、VXLANネットワーク識別子により識別され、ネットワーク識別子は、明確に、関連する仮想セグメントやドメインを識別する。
【0045】
ネットワーク仮想化は、ハードウェアとソフトウェアリソースが、仮想ネットワークで結合できるようにする。たとえば、ネットワーク仮想化は、各自仮想LANs(VLANs)により、複数のVMが物理ネットワークに取り付けられるようにする。VMsは、それらの各自VLANにしたがってグループ化されるとともに、別のVMsまたは内部または外部ネットワーク上のその他の装置と通信することができる。
【0046】
ネットワークセグメント、たとえば、物理または仮想セグメント、ネットワーク、デバイス、ポート、物理または論理リンクおよび/またはトラフィックは、通常、ブリッジ、あるいは、フラッドドメインにグループ化される。ブリッジドメイン、あるいは、フラッドドメインは、ブロードキャストドメイン、たとえば、L2ブロードキャストドメインを表す。ブリッジドメイン、あるいは、フラッドドメインは、単一サブネットを有しても、複数のサブネットを有してもよい。さらに、ブリッジドメインは、ネットワーク装置上のブリッジドメインインターフェース、たとえば、スイッチに関連する。ブリッジドメインインターフェースは、L2ブリッジネットワークとL3ルートネットワーク間のトラフィックをサポートする論理インターフェースである。このほか、ブリッジドメインインターフェースは、インターネットプロトコル(IP)終端、VPN終端、アドレス解像処理、MACアドレッシング等をサポートすることができる。ブリッジドメイン、および、ブリッジドメインインターフェースは、ともに、同じインデックスか識別子により識別される。
【0047】
さらに、エンドポイント群 (EPGs)がネットワークに用いられて、アプリケーションをネットワークにマッピングする。特に、EPGsは、ネットワーク中のアプリケーションエンドポイントのグルーピングを用いて、接続とポリシーをアプリケーションの群に供給する。EPGsは、アプリケーションのバケットや集合の一コンテナ、または、アプリケーションコンポーネントとして作用し、且つ、発送とポリシーロジックを実行する層に用いる。EPGsは、論理アプリケーション境界を使用しないことにより、同様に、ネットワークポリシー、セキュリティおよびアドレッシングからの発送の分離使用を可能にする。
【0048】
クラウドコンピューティングが、一つ以上のネットワーク中に提供されて、共有リソースを用いてコンピューティングサービスを提供する。クラウドコンピューティングは、通常、コンピューティングリソースを、動的にプロビジョニングするとともに、ネットワーク(たとえば、クラウド)を介して、利用可能なリソースの集合からオンデマンドでクライアントコンピュータまたはユーザーコンピュータまたはその他の装置に割り当てられるインターネットベースのコンピューティングを含む。を介して、クラウドコンピューティングリソースは、たとえば、コンピューティング、ストレージ、および、ネットワーク装置、仮想マシン(VM)等の任意のタイプのリソースを有することができる。たとえば、リソースは、サービス装置(ファイヤウオール、ディープパケットインスペクタ、トラフィックモニター、ロードバランサ−等)、計算/処理装置(サーバ、CPU、メモリ、ブルートフォース処理機能)、ストレージデバイス(たとえば、ネットワーク付加ストレージ、ストレージ領域ネットワーク装置)等を有することができる。このほか、このようなリソースが用いられて、仮想ネットワーク、仮想マシン(VM)、データベース、アプリケーション(Apps)等をサポートする。
【0049】
クラウドコンピューティングリソースは、「プライベートクラウド」、 「パブリッククラウド」、および/あるいは、「ハイブリッドクラウド」を有する。「ハイブリッドクラウド」は、技術を介して相互運用(inter-operate)、あるいは、連携(federate)する二個以上のクラウドから構成されるクラウドインフラストラクチャーである。本質的に、ハイブリッドクラウドは、プライベートとパブリッククラウド間の相互作用であり、プライベートクラウドは、安全、且つ、スケーラブル方式で、パブリッククラウドに加入するとともに、パブリッククラウドリソースを利用する。クラウドコンピューティングリソースは、さらに、VXLAN等のオーバーレイネットワーク中の仮想ネットワークを介して、プロビジョニングすることができる。
【0050】
ネットワークスイッチシステムにおいて、ルックアップデータベースは、スイッチシステムに取り付けられる複数のエンドポイント間のルートのトラックの保持が維持される。しかし、エンドポイントは、各種配置を有するとともに、いくつかのテナントと関連する。これらのエンドポイントは、各種タイプの識別子、たとえば、IPv4、IPv6または第二2層(Layer-2)を有する。ルックアップデータベースは、異なるモードで設定されて、異なるタイプのエンドポイント識別子を処理しなければならない。ルックアップデータベースのある能力が開拓されて、異なるアドレスタイプの着信パケットを処理する。さらに、ネットワークスイッチシステム上のルックアップデータベースは、通常、1K仮想ルーティングおよび発送 (VRFs)により制限される。これにより、各種タイプのエンドポイント識別子を処理する改善されたルックアップアルゴリズムが必要である。開示される技術は、この領域の電気通信ネットワーク中のルックアップに対する要求を満たす。開示されるシステム、方法およびコンピュータ-可読ストレージ媒体は、エンドポイント識別子を均一な空間にマッピングする、および、異なる形式のルックアップが均一に処理されるようにすることにより、各種タイプのエンドポイント識別子を統一する。
図3と
図4に示されるように、例のシステムとネットワークの簡単な説明が記述される。これらの変化は、ここでは、各種例として記述される。まずは
図3を参照する。
【0051】
図3は、本発明を実行するのに適するコンピューティングデバイス300を示す図である。コンピューティングデバイス300は、マスター中央処理装置(CPU)362、インターフェース368、および、バス315(たとえば、PCIバス)を有する。適するソフトウェア、あるいは、ファームウェアの制御下で起動するとき、CPU362は、パケット管理、エラー検出、および/あるいは、ルーティング機能、たとえば、配線ミス検出機能の実行を担う。CPU362は、好ましくは、オペレーティングシステム、および、任意の適当なアプリケーションソフトウェアを有するソフトウェアの制御下で、これらの全機能を完成する。CPU362は、一つ以上のプロセッサ363を有し、たとえば、マイクロプロセッサのMotorola family、あるいは、マイクロプロセッサのMIPS familyである。その他の実施形態において、プロセッサ363は、コンピューティングデバイス300の操作を制御するために特別に設計されたハードウェアである。特定の実施形態において、メモリ361(たとえば、不揮発性RAM、および/あるいは、ROM)は、さらに、CPU362の一部を形成する。しかし、メモリは多くの異なる方式によりシステムに結合することができる。
【0052】
インターフェース368は、一般に、インターフェースカード(ときに、「ラインカード」とも称される)として提供される。一般に、それらは、ネットワークにより、データパケットの送受信を制御するとともに、時に、コンピューティングデバイス300とともに用いられるその他の周辺装置をサポートする。インターフェース間で、イーサネット(登録商標)インターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェース等を使用することができる。このほか、各種超高速インターフェースは、高速トークンリングインターフェース、ワイヤレスインターフェース、イーサネットインターフェース、ギガビットイーサネットインターフェース、ATMインターフェース、HSSIインターフェース、POSインターフェース、FDDIインターフェース等を使用することができる。一般に、これらのインターフェースは、適切な媒体と通信する適切なポートを有する。いくつかの実施形態において、インターフェースは、さらに、独立したプロセッサ、および、揮発性RAMを有する。独立したプロセッサは、パケット切り換え、媒体制御と管理として、このような通信集中タスクを制御することができる。通信集中タスク用に別々のプロセッサを提供することにより、これらのインターフェースは、マスターマイクロプロセッサ362が、ルーティング計算、ネットワーク診断、セキュリティ機能等を効率的に実行できるようにする。
【0053】
図3に示されるシステムは、本発明の一つの特定コンピューティングデバイスであるが、それが、本発明の唯一のネットワーク装置構造であることを意味するのではない。たとえば、通信やルーティング計算等を処理する単一プロセッサを有する機構が頻繁に用いられる。さらに、別のタイプのインターフェースと媒体も、ルーターと一緒に用いることができる。
【0054】
ネットワークデバイスの構成にかかわらず、一つ以上のメモリ、あるいは、メモリモジュール(メモリ361を有する)を採用し、ローミング、ルート最適化、および、ルーティング機能を実行する汎用目的ネットワーク操作とメカニズムのプログラム命令を保存するように構成される。プログラム命令は、オペレーティングシステム、および/あるいは、一つ以上のアプリケーションの操作を制御することができる。一つのメモリ、あるいは、複数のメモリは、モビリティバインディング、登録、および、関連表等の表を保存するように構成することができる。
【0055】
図4と
図5は例のシステムの実施形態を示す。本発明を実施するとき、当業者なら、さらに適切な実施形態が理解できる。当業者は、その他のシステムの実施形態も可能であることも理解できる。
【0056】
図4は、システムバスコンピューティングシステム機構400を示す図で、システムの部品は、バス402を用いて互いに電気通信する。システム400は、処理ユニット(CPUまたはプロセッサ)430、および、システムメモリ404、たとえば、リードオンリメモリ(ROM)406、および、ランダムアクセスメモリ(RAM)408を含む各種システムコンポーネントを、プロセッサ430に結合するシステムバス402を有する。システム400は、直接接続、近接して接続、または、プロセッサ430の一部として統合される高速メモリのキャッシュを有する。システム400は、メモリ404、および/または、ストレージデバイス412から、キャッシュ428に データを複製して、プロセッサ430により素早くアクセスされる。このような方式で、キャッシュは、パフォーマンスブーストを提供し、データを待つ間のプロセッサ430の遅延を防止する。これら、およびその他のモジュールは、プロセッサ430を制御する、あるいは、制御するように設定されて各種動作を実行する。別のシステムメモリ404も同様に使用することができる。メモリ404は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを有する。プロセッサ430は、任意の汎用目的プロセッサ、および、ハードウェアモジュール、あるいは、ソフトウェアモジュール、たとえば、ストレージデバイス412中に保存される第一モジュール414、第二モジュール416、および、第三モジュール418を有し、プロセッサ430、および、特殊用途プロセッサを制御し、ソフトウェア指令は、実際のプロセッサ設計に組み込まれる。プロセッサ430は、実質上、完全に独立したコンピューティングシステムであり、複数のコア、またはプロセッサ、バス、メモリコントローラ、キャッシュ等を含む。マルチコアプロセッサは対称または非対称である。
【0057】
ユーザーがコンピューティングデバイス400と相互作用できるようにするため、入力デバイス420は、たとえば、スピーチのマイクロフォン、ジェスチャーやグラフィカル入力のタッチスクリーン、キーボード、マウス、動き入力、スピーチ等を表す。出力デバイス422は、従来の技術で知られる一つ、または、それ以上の数量の出力メカニズムである。ある状況下で、マルチモーダルシステムは、ユーザーが、システム400と通信する複数のタイプの入力を提供できるようにする。通信インターフェース424は、通常、ユーザー入力とシステム出力を統治、および、管理することができる。任意の特定のハードウェア配置における制限がなく、よって、ハードウェアやファームウェアが開発されるとき、ここでの基本的特徴は、容易に置換されて、ハードウェア、または、ファームウェア配置を改善することができる。
【0058】
ストレージデバイス412は不揮発性メモリであり、且つ、ハードディスク、または、その他のタイプのコンピュータ読み取り可能媒体であり、コンピュータ読み取り可能媒体は、コンピュータ、たとえば、磁気カセット、フラッシュメモリカード、固体メモリ装置、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)408、読み取り専用メモリ(ROM)406、および、それらの混合によりアクセス可能なデータデータを保存する。
【0059】
ストレージデバイス412は、ソフトウェアモジュール414、416、418を有して、プロセッサ430を制御する。その他のハードウェア、または、ソフトウェアモジュールも含まれる。ストレージデバイス412は、システムバス402に接続される。一態様において、特定の機能を実行するハードウェアモジュールは、必要なハードウェアコンポーネント、たとえば、プロセッサ430、バス402、ディスプレイ436等と接続するコンピュータ読み取り可能媒体中に保存されるソフトウェアコンポーネントを有して、機能を実行する。
【0060】
コントローラ410は、システム400上の専門のマイクロコントローラ、または、プロセッサ、たとえば、BMC(基板管理コントローラ)である。一部の例では、コントローラ410は、インテリジェントプラットフォーム管理インターフェイス(IPMI)の一部である。さらに、一部の例では、コントローラ410は、システム400のマザーボード、または、メイン回路板に組み込まれる。コントローラ410は、システム管理ソフトウェアとプラットフォームハードウェア間のインターフェースを管理することができる。コントローラ410は、また、各種システムデバイス、および、部品(内部、および/または、外部)、たとえば、コントローラ、または、周辺装置と通信し、以下で更に記述する。
【0061】
コントローラ410は、通知、警告、および/または、事象に特定の対応を生成するとともに、遠隔装置、または、部品と通信(たとえば、電子メールメッセージ、ネットワークメッセージ等)して、自動ハードウェア障害回復工程等の指令や命令を生成する。システム管理者は、コントローラ410と遠隔通信して、特定のハードウェア障害回復工程、または、操作を初期化、または、実行し、以下で更に記述する。
【0062】
システム400上の異なるタイプのセンサー(たとえば、センサー426)は、コントローラ410に、パラメータ、たとえば、冷却ファン速度、電力状態、操作システム(OS)状態、ハードウェア状態等を報告することができる。コントローラ410は、さらに、システムイベントログコントローラ、および/または、ストレージを有して、コントローラ410により受信される事象、警告、および、通知を管理、および、保存する。たとえば、コントローラ410、または、システムイベントログコントローラは、一つ以上の装置、および、部品から、警告、または、通知を保存するとともに、警告、または、通知をシステムイベントログストレージコンポーにネント中に保存する。
【0063】
フラッシュメモリ432は、ストレージ、および/または、データ転送に用いられるシステム400により用いられる電子不揮発性コンピュータストレージ媒体、または、チップである。フラッシュメモリ432は、電気的に消去、および/または、再プログラム化される。フラッシュメモリ432は、たとえば、消去可能PROM(EPROM)、電気的に消去可能PROM(EEPROM)、ROM、NVRAM、または、相補型MOS(CMOS)を有する。フラッシュメモリ432は、システム400が起動するとき、システム400により実行されるファームウェア434、および、ファームウェア434に指定される一組の設定を保存する。フラッシュメモリ432は、さらに、ファームウェア434により用いられる配置を保存することができる。
【0064】
ファームウェア434は、ベーシックインプット/アウトプットシステム(BIOS)、または、その後継、または、等価な部品、たとえば、エクステンシブルファームウェアインターフェース(EFI)、または、ユニファイドエクステンシブルファームウェアインタフェース(UEFI)を有する。システム400が起動されるたびに、ファームウェア434は、シーケンスプログラムとしてロード、および、実行される。ファームウェア134は、一組の配置に基づいて、システム400中に存在するハードウェアを識別、初期化、並びに、テストする。ファームウェア434は、システム400上で、セルフテスト、たとえば、パワーオンセルフテスト(POST)を実行する。このセルフテストは、各種ハードウェアコンポーネント(たとえば、ハードディスクドライブ、光学読み取り装置、冷却装置、メモリモジュール、拡張カード等)の機能性をテストする。ファームウェア434は、メモリ404、ROM406、RAM408、および/または、ストレージデバイス412中の一領域をアドレス、および、割り当てて、操作システム(OS)を保存する。ファームウェア434は、ブートローダー、および/または、OSをロードするとともに、システム400の制御権をOSに与える。
【0065】
システム400のファームウェア134は、どのように、ファームウェア434が、システム400中で、各種ハードウェアコンポーネントを制御するかを定義するファームウェア配置を有する。ファームウェア配置は、システム内の各種ハードウェアコンポーネントが起動される順番を判断する。ファームウェア434は、各種異なるパラメータの設定を許可するインターフェース(たとえば、UEFI)を提供し、これは、ファームウェアデフォルト設定のパラメータと異なる。たとえば、ユーザー(たとえば、システム管理者)は、ファームウェア434を用いて、クロック、および、バス速度を指定し、どの周辺設備をシステム400に取り付けるか指定し、監視の状態(たとえば、ファン速度、および、CPU温度制限)を指定し、システム400のパフォーマンス全体、および、電力使用量に影響する多種のその他のパラメータを指定する。
【0066】
ファームウェア434は、フラッシュメモリ432中に保存されるように説明されているが、当業者なら理解できるように、ファームウェア434は、その他のメモリ、部品、たとえば、メモリ404、または、ROM406中に保存することができる。しかし、示されるフラッシュメモリ432中に保存されるファームウェア434は説明の目的であり、これに限定しない。
【0067】
システム400は一つ以上のセンサー426を有する。一つ以上のセンサー426は、たとえば、一つ以上の温度センサー、サーマルセンサー、酸素センサー、化学センサー、ノイズセンサー、ヒートセンサー、電流センサー、電圧検出器、気流センサー、流量センサー、赤外線放射温度計、熱流束センサー、温度計、高温計等を有する。一つ以上のセンサー426は、たとえば、バス402により、プロセッサ、キャッシュ428、フラッシュメモリ432、通信インターフェース424、メモリ404、ROM406、RAM408、コントローラ410、および、ストレージデバイス412と通信する。一つ以上のセンサー426は、また、一つ以上の異なる手段、たとえば、アイスクエアドシー(I2C)、汎用並列出力(GPO)等により、システム内のその他の部品と通信する。
【0068】
図5は、記述方法、または、操作を実行するチップセット機構を有し、グラフィカルユーザーインターフェース(GUI)を生成、ならびに、表示するのに用いられるコンピュータシステム500を示す図である。コンピュータシステム500は、コンピュータハードウェア、ソフトウェア、および、ファームウェアを有し、本発明の技術を実行する。システム500は、プロセッサ510を有し、任意の数量の物理的、および/または、論理的に異なるリソースを表し、ソフトウェア、ファームウェア、および、識別された計算を実行するハードウェアを実行することができる。プロセッサ510は、プロセッサ510からの入出力を制御することができるチップセット502と通信する。この例において、チップセット502は、情報を出力デバイス514、たとえば、ディスプレイに出力するとともに、ストレージデバイス516(磁気媒体、固体媒体を有する)と情報を読み書きする。チップセット502も、RAM518とデータをやり取りする。各種ユーザーインターフェース装置506と相互作用するブリッジ504が提供されて、チップセット502と相互作用する。このようなユーザーインターフェース装置506は、キーボード、マイクロフォン、タッチ検出、および、処理回路、ポインティングデバイス(マウス等)を有する。一般に、システム500への入力は、任意の各種ソース、機器生成、および/または、使用者の生成による入力である。
【0069】
チップセット502も、異なる物理インターフェースを有する一つ以上の通信インターフェース508と相互作用する。このような通信インターフェースは、有線、および、無線のローカルエリアネットワーク、広域帯域幅ネットワーク、および、パーソナルエリアネットワークのインターフェースを有する。本発明におけるGUIを生成、表示、および、使用する方法のいくつかの応用は、物理インターフェースにより、または、ストレージデバイス516、または、518中に保存されるデータを分析するプロセッサ510によって、機器自身により生成された順序付けられたデータセットを受信する工程を有する。さらに、機器は、ユーザーインターフェース装置506により、ユーザーからの入力を受信するとともに、適当な機能を実行し、たとえば、プロセッサ510を用いて、これらの入力を解釈することによりブラウズ機能を実行する。
【0070】
さらに、チップセット502は、電源が起動するとき、コンピュータシステム500により実行されるファームウェア512と通信することができる。ファームウェア512は、一組のファームウェア配置に基づいて、コンピュータシステム500中に存在するハードウェアを認識、初期化、および、テストすることができる。ファームウェア512は、システム500で、セルフテスト、たとえば、POSTを実行する。セルフテストは、各種ハードウェアコンポーネント502〜510の機能をテストすることができる。ファームウェア512は、メモリ518中の一領域をアドレス、および、割り当てて、OSを保存する。ファームウェア512は、ブートローダー、および/または、OSをロードするともに、システム500の制御権をOSに与える。一部の例では、ファームウェア512は、ハードウェアコンポーネント502〜510、および、514〜518と通信する。ここで、ファームウェア512は、チップセット502、および/または、一つ以上のその他の部品により、ハードウェアコンポーネント502〜510、および、514〜518と通信する。一部の例では、ファームウェア512は、ハードウェアコンポーネント502〜510、および、514〜518と直接通信することができる。
【0071】
理解できることは、例示的システム300、400、および、500は、二個以上のプロセッサ(たとえば、363、430、510)を有する、または、ネットワークにより接続されるコンピューティング装置の一群、または、クラスタであり、良い処理能力を提供する。
【0072】
説明をわかりやすくするため、ある実施形態において、本発明の技術は、独立した機能ブロックを含み、機能ブロックは、装置、装置の部品、ソフトウェア、または、ハードウェアとソフトウェアの組み合わせで具体化される方法中の工程やルーティンを有する。
【0073】
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体、および、メモリは、ビットストリーム等を含むケーブルや無線信号を有する。しかし、言及されるとき、持続性コンピュータ読み取り可能ストレージ媒体は、エネルギー、キャリア信号、電磁波、および、信号自身等の媒体を明確に排除する。
【0074】
上記の例における方法は、コンピュータ実行可能命令を用いて実施され、コンピュータ実行可能命令は、コンピュータ読み取り可能媒体から保存される、または、利用可能である。このような指令は、たとえば、指令、および、データは、汎用目的コンピュータ、特殊用途コンピュータ、または、特殊用途処理装置を配置して、ある機能、または、機能の群を実行する。用いられるコンピュータリソースの一部は、ネットワークによりアクセス可能である。コンピュータ実行可能命令は、たとえば、バイナリー、中間フォーマット指令、たとえば、アセンブリ言語、ファームウェア、または、ソースコードである。コンピュータ読み取り可能媒体の例は、指令、使用した情報、および/または、方法の期間中に生成された情報の保存に用いられ、コンピュータ読み取り可能媒体は、記述される例に従って、磁気、または、光学ディスク、フラッシュメモリ、USBデバイスを有し、磁気、または、光学ディスク、フラッシュメモリ、USBデバイスは、不揮発性メモリ、ネットワークストレージデバイス等に提供される。
【0075】
これらの開示における方法を実施する装置は、ハードウェア、ファームウェア、および/または、ソフトウェアを有し、任意の各種フォームファクタを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA、ラックマウント型装置、スタンドアロン装置等を有する。ここで記述される機能性は、さらに、周辺装置、または、アドインカードで具体化される。さらなる例として、このような機能性は、単一装置で実行される異なるチップ、または、異なるプロセス間において、回路基板上で実行されてもよい。
【0076】
このような指令を伝達する指令、媒体、それらを実行するコンピューティングリソース、および、このようなコンピューティングリソースをサポートするその他の構造は、ここで記述される機能を提供する手段である。
【0077】
本発明の各種実施形態は、新鮮な空気を、システムのダウンストリームコンポーネントに提供するシステム、および、方法を提供する。特定の実施形態は、どのように、任意の操作を異なる指令で実現するかを示しているが、その他の実施形態は、任意の操作を異なる指令に組み込んでいる。説明をはっきりとさせるため、本発明のいくつかの実施形態において、デバイス、デバイスコンポーネント、ソフトウェア、あるいは、ハードウェアとソフトウェアの組み合わせで具体化される方法中の工程、あるいは、ルーティンを有する機能ブロックを有するものとして示される。
【0078】
各種実施形態は、さらに、多様な操作環境中で実現され、いくつかの実施形態において、一つ以上のサーバコンピュータ、ユーザーコンピュータ、あるいは、任意の数量のアプリケーションを操作するのに用いられるコンピューティングデバイスを有する。ユーザー、あるいは、クライアントデバイスは、任意の数量の汎用目的のパソコン、たとえば、標準のオペレーティングシステムを実行するデスクトップ、あるいは、ラップトップコンピュータ、および、モバイルソフトウェアを実行するとともに、いくつかのネットワーク、および、メッセージプロトコルをサポートすることができるセルラー、ワイヤレス、および、ハンドヘルド装置を含むことができる。このようなシステムは、さらに、任意の各種商用のオペレーティングシステムおよびその他の既知のアプリケーション(開発、および、データベース管理)を実行する、いくつかのワークステーションを有する。これらの装置は、その他の電子装置、たとえば、ダミー端子、シンクライアント、ゲームシステム、および、ネットワークにより通信できるその他の装置を有する。
【0079】
本発明のいくつかの実施態様、あるいは、一部は、ハードウェア中で実現され、本発明で記述される方法は、以下の技術の任意の一つ、あるいは、その結合により実現される。 ロジック機能をデータ信号に実行するロジックゲートを有する離散ロジック回路、適当な組み合わせのロジックゲート、プログラム可能ハードウェア、たとえば、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)等を有する特定用途向け集積回路(ASIC)
【0080】
大多数の実施形態は、当業者が熟知する少なくとも一つのネットワークを利用して、任意の各種商用のプロトコル、たとえば、TCP/IP, OSI, FTP, UPnP, NFS, CIFS, AppleTalk 等通信を用いて、サポートする。ネットワークは、たとえば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、および、それらの任意の組み合わせである。
【0081】
上記の例における方法は、コンピュータ実行可能命令を用いて実施され、コンピュータ実行可能命令は、コンピュータ読み取り可能媒体に保存され、または、利用可能である。このような命令は、たとえば、汎用目的コンピュータ、特殊用途コンピュータ、または、特殊用途処理装置を構成して、ある機能、または、機能の群を実行する命令およびデータを有することができる。用いられるコンピュータリソースの一部は、ネットワークによりアクセス可能である。コンピュータ実行可能命令は、たとえば、バイナリー、中間フォーマット命令、たとえば、アセンブリ言語、ファームウェア、または、ソースコードである。命令、使用した情報、および/または、記述例に従った方法中に生成された情報の保存に用いることができるコンピュータ読み取り可能媒体の例は、磁気、または、光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイス等を含む。コンピュータ読み取り可能媒体の例は、指令、使用した情報、および/または、方法の期間中に生成された情報の保存に用いられ、コンピュータ読み取り可能媒体は、記述される例に従って、磁気、または、光学ディスク、フラッシュメモリ、USBデバイスを有し、磁気、または、光学ディスク、フラッシュメモリ、USBデバイスは、不揮発性メモリ、ネットワークストレージデバイス等に提供される。
【0082】
これらの開示における方法を実施する装置は、ハードウェア、ファームウェア、および/または、ソフトウェアを有し、任意の各種フォームファクタを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA、ラックマウント型装置、スタンドアロン装置等を有する。ここで記述される機能性は、さらに、周辺装置、または、アドインカードで具体化される。さらなる例として、このような機能性は、異なるチップ間の回路基板上、または、単一の装置で実行される異なるプロセス間で実行することができる。
【0083】
ウェブサーバを用いた実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、および、ビジネスアプリケーションサーバを有する任意の種類のサーバ、あるいは、中層アプリケーションを実行する。サーバは、たとえば、任意のプログラミング言語、たとえば、Java(登録商標)、C,C#、または、C++、あるいは、任意のスクリプト言語、たとえば、Perl、Python、あるいは、TCL、および、それらの組み合わせで書き込まれる一つ以上のスクリプト、あるいは、プログラムとして実行される一つ以上のウェブアプリケーションを実行することにより、ユーザー装置からの要求に応答して、プログラムやスクリプトを実行することができる。サーバは、さらに、データベースサーバを有し、開放市場による商用のソフトウェアに限定されない。
【0084】
サーバシステムは、前述の様々なデータ保存、および、その他のメモリ、および、ストレージ媒体を有する。これらは、様々な位置に存在し、たとえば、ストレージ媒体が一つ以上のコンピュータにローカル接続される(および/あるいは、存在する)、あるいは、ネットワークにより、任意の、あるいは、全てのコンピュータから遠隔で連結される。一組の特定の実施形態において、情報は、当業者により熟知されるストレージエリアネットワーク(SAN)中に存在する。同様に、コンピュータに起因する機能を実行するのに必要とされる任意のファイル、サーバ、あるいは、その他のネットワーク装置は、必要に応じて、局部的、および/あるいは、遠隔で保存される。システムは、コンピュータ制御の装置を有し、このような装置は、それぞれ、一つのバスにより電気的に結合されるハードウェアコンポーネントを有し、コンポーネントは、たとえば、少なくとも一つの中央処理ユニット(CPU)、少なくとも一つの入力装置(たとえば、マウス、キーボード、コントローラ、タッチセンサーディスプレイコンポーネント、あるいは、キーパッド)、および、少なくとも一つの出力装置(たとえば、ディスプレイ装置、プリンター、あるいは、スピーカー)を有する。このようなシステムは、さらに、一つ以上のストレージデバイス、たとえば、ディスクドライブ、光学ストレージデバイス、および、ソリッドステートストレージデバイス(たとえば、ランダムアクセスメモリ(RAM)、あるいは、リードオンリメモリ(ROM))、および、除去可能な媒体装置、メモリカード、フラッシュカード等を有する。
【0085】
このような装置は、さらに、上述のように、コンピュータ可読ストレージ媒体読み取り機、通信装置(たとえば、モデム、ネットワークカード(有線、あるいは、無線)、赤外線コンピューティングデバイス)、および、ワーキングメモリを有する。コンピュータ可読ストレージ媒体読み取り機は、コンピュータ可読ストレージ媒体に接続される、あるいは、コンピュータ可読ストレージ媒体を受け入れ、コンピュータ可読ストレージ媒体は、遠隔、局部、固定、および/あるいは、取り外し可能なストレージデバイス、および、一時的、および/あるいは、更に永久的に、コンピュータ可読情報を含有、保存、送信、および、回収するストレージ媒体を表す。システム、および、各種デバイスは、さらに、一般に、少なくとも一つのワーキングメモリ装置中に位置する複数のソフトウェアアプリケーション、モジュール、サービス、あるいは、その他の素子を有し、その他の素子は、オペレーティングシステム、および、アプリケーションプログラム(たとえば、クライアントアプリケーション、あるいは、ウェブブラウザ)を有する。注意すべきことは、前述の例に基づいて、様々に変化させることができることである。たとえば、カスタマイズされたハードウェアを使用することもできる、および/あるいは、特定素子をハードウェア/ソフトウェア(ポータブルソフトウェア、たとえば、アプレットを含む)、あるいは、両方で実施することができる。さらに、その他のコンピューティングデバイス、たとえば、ネットワーク入/出力装置への接続も使用される。
【0086】
コード、あるいは、コードの一部を含むストレージ媒体、および、コンピュータ可読媒体は、従来の記述で用いられる任意の適当な媒体、たとえば、ストレージ媒体、および、コンピューティング媒体を有し、揮発性、および、不揮発性、取り外し可能、および、非取り外し可能媒体に限定されず、任意の方法や技術で実現され、情報(たとえば、コンピュータ可読指令、データ構造、プログラムモジュール、あるいは、その他のデータ)を保存、および/あるいは、送信し、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、あるいは、その他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、あるいは、その他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、あるいは、その他の磁気ストレージデバイス、あるいは、その他の任意の媒体を有して、必要な情報を保存するのに用いられる、および、システムデバイスによりアクセスされる。ここで提供される技術と教示に基づいて、当業者なら、本発明の各種態様を実施するその他の方法、および/あるいは、方法を理解することができる。
【0087】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の思想を脱しない範囲内で各種の変形を加えることができる。