説明

複数のストレージ装置タイプをサポートするネットワーク接続ストレージシステム、装置、および方法

【課題】データストレージシステム、より詳細には、複数のストレージ装置タイプを同時にサポートするネットワーク接続ストレージシステムを提供する。
【解決手段】ネットワーク接続システム、装置、および、方法は、ファイバーチャンネルストレージ装置、ATAストレージ装置、シリアル接続SCSIストレージ装置、シリアルATAストレージ装置、および、固体ストレージ装置のような複数のストレージ装置タイプを有するストレージ装置をサポートする。異なるストレージ装置タイプを有するそれぞれのストレージ装置は、一組の管理ルールに対応づけられる。管理ルールは、例えば、専用ストレージ装置を識別し、専用ストレージ装置を設定し、ディスクプロトコルメッセージを専用ストレージ装置に送信し、専用ストレージ装置から受信されたディスクプロトコルメッセージを処理し、そして、誤り条件および例外条件を処理するためのルールを含んでもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データストレージシステムに関し、より詳細には、複数のストレージ装置タイプを同時にサポートするネットワーク接続ストレージシステムに関する。
【背景技術】
【0002】
今日の情報化時代において、コンピュータおよび通信システムは、多くの場合、大量のデータストレージを必要とする。データストレージへのアクセスは、通信ネットワークを介して、益々頻繁に提供されている。とりわけ、これは、データストレージ資源を多くのデータストレージユーザが利用できるようにする。
【0003】
図1は、この分野で知られているイーサネット(登録商標)ローカルエリアネットワーク(LAN)のような通信ネットワーク104を介して多くのユーザ102によってアクセスされるストレージシステム106の概念図を示す。ユーザ102は、通信ネットワーク104を介してストレージシステム106によって提供されるストレージサービスにアクセスする様々なエンティティーを表現する。ユーザ102は、ストレージシステム106の内部または外部に存在してもよい(例えば、以下で説明するように、ストレージシステム106内のサーバーは、通信ネットワーク104を介して、ストレージサービスにアクセスするだけでなく、ストレージサービスを提供してもよい)。
【0004】
一般的には、ストレージシステム106において使用される2つの種類のネットワーク型データストレージ技術、すなわち、ストレージエリアネットワーク(SAN)およびネットワーク接続ストレージ(NAS)が、存在する。SANは、元来、ファイバーチャンネル(Fibre Channel:FC)ネットワークを用いて生ブロックデータを提供するものとして定義される。NASは、典型的には、LAN104を介してファイルサービスを提供する。
【0005】
図2は、この分野で知られているSAN型ストレージシステムを示す。SAN型ストレージシステムは、FCネットワーク208を介していくつかのサーバー206と通信できる状態にあるいくつかのストレージ装置210を含む。FCネットワーク208およびストレージ装置210は、SANを表現し、サーバー206は、基本的には、SANのユーザである。それぞれのサーバー206は、典型的には、特定のアプリケーションをサポートする。例えば、電子メールアプリケーションおよびワールドワイドウェブアプリケーションのための個々のサーバーが、存在してもよい。ストレージ装置210によって提供されるストレージ資源は、典型的には、分割され、ストレージ資源の個々の部分は、特定のアプリケーションのためのそれぞれのサーバー206に割り当てられる。それぞれのサーバー206は、それが割り当てられたストレージ資源の部分にしかアクセスすることができない。それぞれのサーバー206は、LAN104に接続される。とりわけ、LAN104は、サーバー間通信を可能にし(例えば、様々なアプリケーション間におけるファイル共有を可能にし、また、一方のアプリケーションから他方のアプリケーションへデータをコピーするのを可能にする)、また、ユーザ102がサーバー206にアクセスするのを可能にする。
【0006】
図3は、この分野で知られている典型的なNAS型ストレージシステムを示す。NAS型ストレージシステムは、例えばFCネットワーク308を介していくつかの専用ストレージ装置310と通信できる状態にあるNASサーバー306を含む。NASサーバー306は、SANの場合のように、ストレージ資源の一部分を特定のアプリケーションに専有させるのではなく、複数のアプリケーションがストレージ資源をファイルレベルで共有できるように、専用ストレージ装置310を管理および制御する。したがって、NASサーバー306は、ファイルレベルにおけるストレージ資源へのマルチユーザアクセスを提供し、また、必要であれば、あるいは、望ましいならば、すべてのストレージ資源をすべてのアプリケーションが利用できるようにすることによって、容量共有を提供する。NASサーバー306は、LAN104に接続される。とりわけ、LAN104は、ユーザ102がNASサーバー306にアクセスするのを可能にする。
【0007】
SANおよびNASは、お互いに排他的な技術ではない。例えば、図3に示されるように、FCネットワーク308および専用ストレージ装置310は、基本的には、NASサーバー306によって管理および制御されるSANである。また、図4に示されるように、ストレージシステム106は、SAN技術およびNAS技術の両方を含んでもよく、サーバー206およびNASサーバー306は、LAN104に接続される。
【0008】
SAN型ストレージシステムに関する1つの問題は、図2を参照して上述したように、サーバー間のデータ転送(様々なアプリケーション間におけるファイル共有および一方のアプリケーションから他方のアプリケーションへのデータのコピーのような)がLAN104を介してなされることである。これは、LAN104のトラフィック負荷を増大させることによって、かつ、サーバー206の処理負荷を増大させることによって、全体的なシステム性能に大きな影響を与えることがある。NAS型ストレージシステムにおいては、そのようなファイル共有およびデータコピーは、LAN104を使用せずに、NASサーバー306によって実行されてもよく、そのために、そのような処理は、全体的なシステム性能にほとんどまたはまったく影響を与えない。
【発明の概要】
【課題を解決するための手段】
【0009】
ネットワーク接続システム、装置、および、方法は、ファイバーチャンネルストレージ装置、ATAストレージ装置、シリアル接続SCSIストレージ装置、シリアルATAストレージ装置、および、固体ストレージ装置のような複数のストレージ装置タイプを有するストレージ装置をサポートする。異なるストレージ装置タイプを有するそれぞれのストレージ装置は、一組の管理ルールに対応づけられる。管理ルールは、例えば、専用ストレージ装置を識別し、専用ストレージ装置を設定し、ディスクプロトコルメッセージを専用ストレージ装置に送信し、専用ストレージ装置から受信されたディスクプロトコルメッセージを処理し、そして、誤り条件および例外条件を処理するためのルールを含んでもよい。
【0010】
本発明の一実施形態においては、通信ネットワークを介してストレージサービスを提供するネットワーク接続ストレージサーバーおよびディスク制御プロトコルを用いてネットワーク接続ストレージサーバーと通信できる状態にある複数の専用ストレージ装置を含むネットワーク接続ストレージシステムが、提供される。複数の専用ストレージ装置は、複数のストレージ装置タイプを有する。異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、異なる一組の管理ルールを有する。ネットワーク接続ストレージサーバーは、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理する。ネットワーク接続ストレージサーバーは、典型的には、異なるストレージ装置タイプを有する専用ストレージ装置間のデータ転送を可能にする。専用ストレージ装置は、RAID機能を含んでもよく、さもなければ、ネットワーク接続ストレージサーバーが、RAID機能を専用ストレージ装置に提供してもよい。また、ネットワーク接続ストレージシステムは、いずれかの専用ストレージ装置からのデータを記憶するために、ネットワーク接続ストレージサーバーと通信できる状態にある専用テープストレージ装置を含んでもよい。
【0011】
本発明の別の実施形態においては、通信ネットワークを介してストレージサービスを提供するためのネットワーク接続ストレージ装置が、提供される。ネットワーク接続ストレージサーバーは、ディスク制御プロトコルを用いて複数の専用ストレージ装置と通信するための少なくとも1つのストレージインタフェースを含み、複数の専用ストレージ装置は、複数のストレージ装置タイプを有し、異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、異なる一組の管理ルールを有する。また、ネットワーク接続ストレージサーバーは、複数の専用ストレージ装置上にデータを記憶するためのストレージロジックを含み、ストレージロジックは、少なくとも1つのストレージインタフェースを介して複数の専用ストレージ装置を管理するためのディスク制御ロジックを備え、ディスク制御ロジックは、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理する。ストレージロジックは、典型的には、異なるストレージ装置タイプを有する専用ストレージ装置間のデータ転送を実行するためのデータ転送ロジックを含む。データ転送ロジックは、典型的には、ネットワークデータ管理プロトコルを実施するハードウェアコンポーネントを備える。ストレージロジックは、RAID(Redundant Array of Independent Disk)機能を専用ストレージ装置に提供するRAIDロジックを含んでもよい。ストレージロジックは、テープ制御プロトコルを用いて少なくとも1つのストレージインタフェースを介してテープストレージ装置を管理するためのテープ制御ロジックを含んでもよい。ディスク制御ロジックは、典型的には、専用ストレージ装置と通信するためのファイバーチャンネル通信プロトコルを実施し、さらに、ディスク制御プロトコルメッセージをそれぞれの専用ストレージ装置と交換するためのディスク制御プロトコルを実施するハードウェアコンポーネントと、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するように適切にプログラムされたプログラマブルプロセッサーを含むソフトウェアコンポーネントとを含む。
【0012】
本発明のさらに別の実施形態においては、ネットワーク接続ストレージシステムにおいて、異なるストレージ装置タイプを有するストレージ装置をネットワークストレージサーバーによってサポートするための方法が、提供される。この方法は、ディスク制御プロトコルを用いてネットワークストレージサーバーと通信できる状態にある複数の専用ストレージ装置ごとに一組の管理ルールを保持するステップであり、複数の専用ストレージ装置が、複数のストレージ装置タイプを有し、異なるストレージ装置タイプを有する専用ストレージ装置のそれぞれが、異なる一組の管理ルールを有する、前記保持するステップと、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップとを含む。それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、新しい専用ストレージ装置が存在することを示す指示を受信するステップと、新しい専用ストレージ装置を識別するために、様々な専用ストレージ装置およびストレージ装置タイプのための管理ルールの組を使用するステップとを含んでもよい。異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、異なる形で設定されてもよく、その場合には、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールに基づいて、それぞれの異なる専用ストレージ装置を設定するステップを含んでもよい。それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、ディスク制御プロトコルメッセージを専用ストレージ装置に送信するステップであり、少なくともいくつかのディスク制御プロトコルメッセージは、専用ストレージ装置およびストレージ装置タイプごとの一組の管理ルールに基づいて異なる専用ストレージ装置ごとに異なる形でフォーマットされる、前記送信するステップを含んでもよい。異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、最大キューサイズを有してもよく、その場合には、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、専用ストレージ装置およびストレージ装置タイプごとの一組の管理ルールに基づいて、それぞれの専用ストレージ装置にキューイングすることのできるディスク制御プロトコルメッセージの数を決定するステップを含んでもよい。異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、好ましいストライプサイズを有してもよく、その場合には、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、専用ストレージ装置およびストレージ装置タイプごとの一組の管理ルールに基づいて、専用ストレージ装置のための好ましいストライプサイズを用いてデータをそれぞれの専用ストレージ装置に書き込むステップを含んでもよい。それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、ディスク制御プロトコルメッセージを専用ストレージ装置から受信するステップと、専用ストレージ装置およびストレージ装置タイプごとの一組の管理ルールに基づいて、様々な専用ストレージ装置からのディスク制御プロトコルメッセージを処理するステップとを含んでもよい。異なるストレージ装置タイプを有するそれぞれの専用ストレージ装置は、異なる誤り処理ルールおよび例外処理ルールを有してもよく、その場合には、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理するステップは、専用ストレージ装置およびストレージ装置タイプごとの一組の管理ルールに基づいて、異なる専用ストレージ装置ごとに誤りおよび例外を処理するステップを含んでもよい。
【0013】
本発明のさらに別の実施形態においては、ディスク制御プロトコルを用いて、ネットワーク接続ストレージサーバーと通信できる状態にある複数の専用ストレージ装置を同時にサポートするための手段であり、複数のストレージ装置は、複数のストレージ装置タイプを有する、前記サポートするための手段と、多くのユーザに通信ネットワークを介してストレージサービスを提供するために、複数のストレージ装置を管理するための手段とを備えたネットワーク接続ストレージサーバーが、提供される。
【0014】
添付の図面を参照して以下の詳細な説明を読むことによって、本発明の上述した特徴をより容易に理解することができる。
例えば、本発明は以下を提供する。
(項目1)
ネットワーク接続ストレージシステムであって、
通信ネットワークを介してストレージサービスを提供するネットワーク接続ストレージサーバーと、
ディスク制御プロトコルを用いて該ネットワーク接続ストレージサーバーと通信できる状態にある複数の専用ストレージ装置であって、該複数の専用ストレージ装置が、複数のストレージ装置タイプを有し、異なったストレージ装置タイプを有する該専用ストレージ装置のそれぞれが、異なった一組の管理ルールを有し、該ネットワーク接続ストレージサーバーが、それぞれの専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための該一組の管理ルールを用いて管理する、複数の専用ストレージ装置と
を備える、ネットワーク接続ストレージシステム。
(項目2)
前記複数のストレージ装置タイプが、
ファイバーチャンネルストレージ装置タイプ、
ATAストレージ装置タイプ、
シリアル接続SCSIストレージ装置タイプ、
シリアルATAストレージ装置タイプ、および、
固体ストレージ装置タイプ
の複数を含む、項目1に記載のネットワーク接続ストレージシステム。
(項目3)
前記複数の専用ストレージ装置が、
少なくとも1つのファイバーチャンネルストレージ装置と、
少なくとも1つのATAストレージ装置と
を含む、項目1に記載のネットワーク接続ストレージシステム。
(項目4)
前記ネットワーク接続ストレージサーバーが、異なったストレージ装置タイプを有する専用ストレージ装置間のデータ転送を可能にする、項目1に記載のネットワーク接続ストレージシステム。
(項目5)
前記専用ストレージ装置が、RAID(Redundant Array of Independent Disk)機能を含む、項目1に記載のネットワーク接続ストレージシステム。
(項目6)
前記ネットワーク接続ストレージサーバーが、RAID(Redundant Array of Independent Disk)機能を前記専用ストレージ装置に提供する、項目1に記載のネットワーク接続ストレージシステム。
(項目7)
前記専用ストレージ装置のいずれかからのデータを記憶するために、前記ネットワーク接続ストレージサーバーと通信できる状態にある専用テープストレージ装置をさらに備える、項目1に記載のネットワーク接続ストレージシステム。
(項目8)
特定の専用ストレージ装置およびストレージ装置タイプのための前記管理ルールが、
該専用ストレージ装置を識別するためのルール、
該専用ストレージ装置を設定するためのルール、
ディスクプロトコルメッセージを該専用ストレージ装置に送信するためのルール、
該専用ストレージ装置から受信されたディスクプロトコルメッセージを処理するためのルール、および、
誤り条件および例外条件を処理するためのルール
のうちの少なくとも1つを含む、項目1に記載のネットワーク接続ストレージシステム。
(項目9)
通信ネットワークを介してストレージサービスを提供するためのネットワーク接続ストレージ装置であって、該ネットワーク接続ストレージサーバーが、
ディスク制御プロトコルを用いて複数の専用ストレージ装置と通信するための少なくとも1つのストレージインタフェースであって、該複数の専用ストレージ装置が、複数のストレージ装置タイプを有し、異なったストレージ装置タイプを有する該専用ストレージ装置のそれぞれが、異なった一組の管理ルールを有する、少なくとも1つのストレージインタフェースと、
データを該複数の専用ストレージ装置上に記憶するためのストレージロジックであって、該ストレージロジックが、該少なくとも1つのストレージインタフェースを介して該複数の専用ストレージ装置を管理するためのディスク制御ロジックを備え、該ディスク制御ロジックが、それぞれの専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための該一組の管理ルールを用いて、管理する、ストレージロジックと
を備える、ネットワーク接続ストレージ装置。
(項目10)
前記複数のストレージ装置タイプが、
ファイバーチャンネルストレージ装置タイプ、
ATAストレージ装置タイプ、
シリアル接続SCSIストレージ装置タイプ、
シリアルATAストレージ装置タイプ、および、
固体ストレージ装置タイプ
の複数を含む、項目9に記載のネットワーク接続ストレージ装置。
(項目11)
前記複数の専用ストレージ装置が、
少なくとも1つのファイバーチャンネルストレージ装置と、
少なくとも1つのATAストレージ装置と
を含む、項目9に記載のネットワーク接続ストレージ装置。
(項目12)
前記ストレージロジックが、
異なったストレージ装置タイプを有する専用ストレージ装置間のデータ転送を実行するためのデータ転送ロジックをさらに備える、項目9に記載のネットワーク接続ストレージ装置。
(項目13)
前記データ転送ロジックが、ネットワークデータ管理プロトコルをインプリメントするハードウェアコンポーネントを備える、項目12に記載のネットワーク接続ストレージ装置。
(項目14)
前記ストレージロジックが、RAID(Redundant Array of Independent Disk)機能を専用ストレージ装置に提供するRAIDロジックをさらに備える、項目9に記載のネットワーク接続ストレージ装置。
(項目15)
前記ストレージロジックが、テープ制御プロトコルを用いて前記少なくとも1つのストレージインタフェースを介してテープストレージ装置を管理するためのテープ制御ロジックをさらに備える、項目9に記載のネットワーク接続ストレージ装置。
(項目16)
前記ディスク制御ロジックが、
前記専用ストレージ装置と通信するためのファイバーチャンネル通信プロトコルをインプリメントし、ディスク制御プロトコルメッセージを該専用ストレージ装置の各々と交換するための前記ディスク制御プロトコルをインプリメントするハードウェアコンポーネントと、
それぞれの専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理するように適切にプログラムされたプログラマブルプロセッサーと
を備える、項目9に記載のネットワーク接続ストレージ装置。
(項目17)
特定の専用ストレージ装置およびストレージ装置タイプのための前記管理ルールが、
該専用ストレージ装置を識別するためのルール、
該専用ストレージ装置を設定するためのルール、
ディスクプロトコルメッセージを該専用ストレージ装置に送信するためのルール、
該専用ストレージ装置から受信されたディスクプロトコルメッセージを処理するためのルール、および、
誤り条件および例外条件を処理するためのルール、
のうちの少なくとも1つを含む、項目9に記載のネットワーク接続ストレージシステム。
(項目18)
ネットワーク接続ストレージシステムにおけるネットワークストレージサーバーによって、異なったストレージ装置タイプを有するストレージ装置をサポートするための方法であって、
ディスク制御プロトコルを用いて、該ネットワークストレージサーバーと通信できる状態にある複数の専用ストレージ装置の各々に一組の管理ルールを保持することであって、該複数の専用ストレージ装置が、複数のストレージ装置タイプを有し、異なったストレージ装置タイプを有する該専用ストレージ装置のそれぞれが、異なった一組の管理ルールを有する、保持することと、
それぞれの専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための該一組の管理ルールを用いて、管理することと
を包含する、方法。
(項目19)
前記複数のストレージ装置タイプが、
ファイバーチャンネルストレージ装置タイプ、
ATAストレージ装置タイプ、
シリアル接続SCSIストレージ装置タイプ、
シリアルATAストレージ装置タイプ、および、
固体ストレージ装置タイプ
の複数を含む、項目18に記載の方法。
(項目20)
前記複数の専用ストレージ装置が、
少なくとも1つのファイバーチャンネルストレージ装置と、
少なくとも1つのATAストレージ装置と
を含む、項目18に記載の方法。
(項目21)
前記専用ストレージ装置の各々を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、
新たな専用ストレージ装置が存在することを示す指示を受信することと、
該新たな専用ストレージ装置を識別するために、該様々な専用ストレージ装置およびストレージ装置タイプのための前記管理ルールの組を使用することと
を備える、項目18に記載の方法。
(項目22)
異なったストレージ装置タイプを有する前記専用ストレージ装置の各々が、異なった態様で設定され、
各専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールに基づいて、該異なった専用ストレージ装置の各々を設定することを包含する、項目18に記載の方法。
(項目23)
前記専用ストレージ装置の各々を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、ディスク制御プロトコルメッセージを該専用ストレージ装置に送信することであって、該ディスク制御プロトコルメッセージのうちの少なくともいくつかが、該専用ストレージ装置およびストレージ装置タイプの各々の該一組の管理ルールに基づいて、異なった専用ストレージ装置ごとに異なった態様でフォーマットされる、送信することを包含する、項目18に記載の方法。
(項目24)
異なったストレージ装置タイプを有する前記専用ストレージ装置の各々が、最大キューサイズを有し、各専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、該専用ストレージ装置およびストレージ装置タイプの各々の該管理ルールに基づいて、各専用ストレージ装置にキューイングすることのできるディスク制御プロトコルメッセージの数を決定することを包含する、項目18に記載の方法。
(項目25)
異なったストレージ装置タイプを有する前記専用ストレージ装置の各々が、好ましいストライプサイズを有し、各専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、該専用ストレージ装置およびストレージ装置タイプの各々の該一組の管理ルールに基づいて、該専用ストレージ装置のための該好ましいストライプサイズを用いてデータを各専用ストレージ装置に書き込むことを包含する、項目18に記載の方法。
(項目26)
前記専用ストレージ装置の各々を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、
ディスク制御プロトコルメッセージを該専用ストレージ装置から受信することと、
該専用ストレージ装置およびストレージ装置タイプの各々の該一組の管理ルールに基づいて、異なった専用ストレージ装置からの該ディスク制御プロトコルメッセージを処理することと
を包含する、項目18に記載の方法。
(項目27)
異なったストレージ装置タイプを有する前記専用ストレージ装置の各々が、異なった誤り処理ルールおよび例外処理ルールを有し、各専用ストレージ装置を、該専用ストレージ装置およびストレージ装置タイプのための前記一組の管理ルールを用いて、管理することが、該専用ストレージ装置およびストレージ装置タイプの各々の該一組の管理ルールに基づいて、異なった専用ストレージ装置ごとに誤りおよび例外を処理することを包含する、項目18に記載の方法。
(項目28)
ネットワーク接続ストレージサーバーであって、
ディスク制御プロトコルを用いて、該ネットワーク接続ストレージサーバーと通信できる状態にある複数の専用ストレージ装置を同時にサポートするための手段であって、該複数のストレージ装置が、複数のストレージ装置タイプを有する、サポートするための手段と、
複数のユーザに通信ネットワークを介してストレージサービスを提供するために、該複数のストレージ装置を管理するための手段と
を備える、ネットワーク接続ストレージサーバー。
(項目29)
前記複数のストレージ装置タイプが、
ファイバーチャンネルストレージ装置タイプ、
ATAストレージ装置タイプ、
シリアル接続SCSIストレージ装置タイプ、
シリアルATAストレージ装置タイプ、および、
固体ストレージ装置タイプ
の複数を含む、項目28に記載のネットワーク接続ストレージ装置。
(項目30)
前記複数の専用ストレージ装置が、
少なくとも1つのファイバーチャンネルストレージ装置と、
少なくとも1つのATAストレージ装置と
を含む、項目28に記載のネットワーク接続ストレージ装置。
【図面の簡単な説明】
【0015】
【図1】この分野で知られているイーサネット(登録商標)ローカルエリアネットワーク(LAN)のような通信ネットワークを介して多くのユーザによってアクセスされるストレージシステムの概念図である。
【図2】この分野で知られているSAN型ストレージシステムを示す図である。
【図3】この分野で知られているNAS型ストレージシステムを示す図である。
【図4】SAN技術およびNAS技術の両方を含むストレージシステム106を示す図である。
【図5】この分野で知られているファイバーチャンネルストレージ装置を使用した典型的なNAS型ストレージシステムを示す図である。
【図6】この分野で知られているATAストレージ装置を使用した典型的なNAS型ストレージシステムを示す図である。
【図7】NASサーバーが複数のストレージ装置タイプを有するストレージ装置を同時にサポートする本発明の典型的な実施形態を示す図である。
【図8】様々なレベルまたは階層のストレージを提供するために、NASサーバーが、2つのクラスのFCストレージ装置、2つのクラスのATAストレージ装置、および、テープストレージ装置を同時にサポートする本発明の典型的な実施形態を示す図である。
【図9】本発明の特定の実施形態によるNASサーバーのアーキテクチャーを示す概略ブロック図である。
【図10】本発明の実施形態による異なるストレージ装置タイプを有するストレージ装置をサポートするための典型的なディスク制御ロジックを示すロジックフローチャートである。
【発明を実施するための形態】
【0016】
本発明は、NAS型ストレージシステムに関し、より詳細には、ディスク制御プロトコル(典型的には、SCSIディスク制御プロトコル)を用いて制御されかつ異なるストレージ装置タイプを有するストレージ装置を同時にサポートするNAS型ストレージシステムに関する。本明細書および添付の特許請求の範囲のために、「ストレージ装置タイプ」という用語は、ストレージ装置の基本的なストレージ技術を意味することを意図したものである。ストレージ装置タイプの例は、ファイバーチャンネル(FC)、ATA(以前は、IDEとして知られていた)、シリアル接続SCSI(SAS)、シリアルATA(SATA)、および、様々な種類の固体ストレージを含む。「ストレージ装置タイプ」という用語は、いくつかの例を挙げると、例えば、ストレージ装置のディスクの回転速度、ストレージ装置のストレージ容量、ストレージ装置に必要とされるアクセス時間、ストレージ装置への通信インタフェースの種類、および、ストレージ装置がRAIDコントローラを含むかどうかのようなその他のストレージ装置特徴を意味することを意図したものではない。したがって、例えば、15,000RPMおよび10,000RPMのディスク回転速度および異なるストレージ容量を有する異なるクラスのFCストレージ装置は、FCストレージ装置タイプであると考えられ、7,200RPMおよび5,400RPMのディスク回転速度および異なるストレージ容量を有する異なるクラスのATAストレージ装置は、ATAストレージ装置タイプであると考えられる。また、例えば、ファイバーチャンネル通信インタフェースおよびRAIDコントローラを有するATAストレージ装置は、ATAストレージ装置タイプであると考えられる。ストレージ装置は、ディスク制御プロトコルを用いて制御されるので、本発明は、テープストレージ装置(これは、SCSIテープ制御プロトコルであってもよいテープ制御プロトコルを用いて制御される)のような、ディスク制御プロトコルを用いて制御されないストレージ装置には適用されないが、ある種の固体ストレージ装置のような、ディスク制御プロトコルを用いて制御される非ディスクストレージ装置には適用される。
【0017】
典型的なNAS型ストレージシステムは、1つのストレージ装置タイプを有するストレージ装置だけを同時にサポートする。例えば、あるベンダーは、複数のFCストレージ装置を備えたNAS型ストレージシステムを提供し、また、あるベンダーは、複数のATAストレージ装置を備えたNAS型ストレージシステムを提供する。FCストレージ装置を使用するNAS型ストレージシステムは、典型的には、ATAストレージ装置を使用するNAS型ストレージシステムよりも高速でありかつ信頼性が高いが、ATAストレージ装置を使用するNAS型ストレージシステムは、典型的には、FCストレージ装置を使用するNAS型ストレージシステムほど高価ではなく、かつ、FCストレージ装置を使用するNAS型ストレージシステムよりも大きなストレージ容量を提供する。したがって、異なる種類のNAS型ストレージシステムは、典型的には、異なるアプリケーションを対象とする。例えば、FCストレージ装置を備えたNAS型ストレージシステムは、典型的には、速度および信頼性が重要な企業システムを対象とするのに対して、ATAストレージ装置を備えたNAS型ストレージシステムは、典型的には、大量の安価なストレージ(テープの代わりにアーカイブするような)から恩恵を受けるアプリケーションを対象とする。
【0018】
図5は、FCストレージ装置を使用する典型的なNAS型ストレージシステムを示す。具体的には、NASサーバー506は、FCスイッチ508を介して、FCストレージ装置510、510、および、510(以下、個々に、FCストレージ装置510と呼ばれ、また、集合的にも、FCストレージ装置510と呼ばれる)に接続される。FCストレージ装置510は、異なるクラスのFC装置を含んでもよい。FCストレージ装置510は、RAIDコントローラを含んでもよい。FCストレージ装置510が、RAIDコントローラを含まなければ、典型的には、NASサーバー506が、RAID機能をFCストレージ装置510に提供する。
【0019】
図6は、ATAストレージ装置を使用する典型的なNAS型ストレージシステムを示す。具体的には、NASサーバー606は、FCリンク608、608、および、608を介して、ATAストレージ装置610、610、および、610(以下、個々に、ATAストレージ装置610と呼ばれ、また、集合的にも、ATAストレージ装置610と呼ばれる)に接続される。ATAストレージ装置610は、異なるクラスのATA装置を含んでもよい。ATAストレージ装置610は、RAIDコントローラを含んでもよい。ATAストレージ装置610が、RAIDコントローラを含まなければ、典型的には、NASサーバー606が、RAID機能をATAストレージ装置610に提供する。
【0020】
本発明の様々な実施形態においては、NAS型ストレージシステムは、複数のストレージ装置タイプを有するストレージ装置を同時にサポートする。異なるストレージ装置タイプは、異なる特徴(例えば、性能、容量、コスト)を有するので、複数のストレージ装置タイプを有するストレージ装置を同時にサポートする能力は、NAS型ストレージシステムが異なるレベルまたは階層のストレージを提供するのを可能にする。異なる種類のストレージ装置は、例えば、ストレージソリューション全体のスケーラビリティ、フレキシビリティ、および、マネージャビリティを維持しながら、ストレージ要件を、性能、容量、および、予算(コスト)の要件に合致させるのを可能にするために、NAS型ストレージシステムに追加されてもよく、あるいは、NAS型ストレージシステムから除去されてもよい。したがって、とりわけ、多層ストレージは、スケーラビリティおよびフレキシビリティのあるストレージソリューションを可能にし、それは、単純化されかつ統合されたストレージ管理による高いレベルの性能を提供する。様々な階層のストレージを使用するので、テープにバックアップすることなく、データを長期間にわたりオンライン状態に維持することができ、データが必要とされるときに、データをテープから復元する必要性を軽減する。これは、また、必要とされるバックアップウィンドウを減少させることに貢献する。なぜなら、テープよりも大きな容量およびテープよりも高い性能を有するストレージ装置にデータをバックアップすることができるからである。したがって、多層ストレージによれば、データは、ストレージ装置により長く残存し、そのために、より容易にユーザアクセスに応じることができる。
【0021】
多層NAS型ストレージシステム内においては、データは、どのストレージ装置に記憶されてもよく、また、データは、スナップショット、バルクデータ移動/コピー、および、ポリシーに基づいた方法のような様々なデータ移送方法を用いて、ストレージのいずれかの階層からいずれかの階層へ移送されてもよい。例えば、スナップショットを用いて、ボリュームのスナップショットが、取り出され、そして、変更が、ストレージのより低い実行階層へ移送されてもよい。バルクデータ移動/コピーを用いて、データは、ひとまとめにして、一方の階層から他方の階層へ移動されてもよい。ポリシーに基づいた移送は、定義された時間期間よりも古いデータがストレージの階層から階層へ移送されるシステム上で実施されてもよい。データの移送は、より高い実行階層からより低い実行階層へとは限らない。むしろ、データの移動は、より高い実行階層からより低い実行階層への、あるいは、より低い実行階層からより高い実行階層への双方向の移動であってもよい。多層ストレージは、ストレージソリューション全体の統合管理および中央管理を維持しながら、より高価なストレージを解放するのを可能にし、かつ、頻繁にアクセスされないかまたは高い性能を必要としないアプリケーションのためにそれほど高価ではないストレージを使用するのを可能にする。
【0022】
データ移送は、イントラサーバー(すなわち、NASサーバーの専用ストレージ間の)またはインターサーバー(すなわち、2つのNASサーバー間の)であってもよい。したがって、データは、同じNASサーバー上の1つかまたはそれ以上のボリュームに移送されてもよく、あるいは、データは、バックアップおよび/または障害回復のために、同じデータセンターかまたは別の場所に配置された別のNASサーバーに移送されてもよい。上述したオプションのいずれかを使用すれば、移送されたデータは、読み込み/書き込みが可能である。
【0023】
本発明の典型的な実施形態においては、すべてのストレージ装置は、同じタイプの通信インタフェース(典型的には、ファイバーチャンネル)を有し、すべてのストレージ装置がRAIDコントローラを含むかまたはすべてのストレージ装置がRAIDコントローラを含まない。ストレージ装置がRAIDコントローラを含まずかつNASサーバーがRAID機能をストレージ装置に提供する本発明の実施形態においては、付加的なストレージ装置を接続することは、典型的には、NASサーバーの処理負荷を増大させる。したがって、ストレージ装置は、RAIDコントローラを含むことが好ましい。
【0024】
図7は、本発明の典型的な実施形態を示し、この実施形態においては、NASサーバー706は、FCストレージ装置710、ATAストレージ装置712、固体ストレージ装置714、および、将来的に、SASストレージ装置716およびSATAストレージ装置718(本明細書が作成された時点においては、SASストレージ装置およびSATAストレージ装置は、まだ市販されていないが、どのようにすればNASサーバー706によってそのような装置をサポートすることができかつ多層NAS型ストレージシステムに統合することができるかは、この分野に精通する者には本明細書の教示から明白なことである)を含む複数のストレージ装置タイプを有するストレージ装置を同時にサポートする。この例においては、すべてのストレージ装置は、ファイバーチャンネル通信インタフェースを有し、NASサーバー706は、FCスイッチ708を介して、ストレージ装置と通信する。
【0025】
本発明の特定の一実施形態においては、多層NAS型ストレージシステムは、様々なレベルまたは階層のストレージを提供するために、2つのクラスのFCストレージ装置、2つのクラスのATAストレージ装置、および、テープストレージ装置をサポートする。
【0026】
図8は、本発明の典型的な実施形態を示し、この実施形態においては、NASサーバー806は、様々なレベルまたは階層のストレージを提供するために、2つのクラスのFCストレージ装置、2つのクラスのATAストレージ装置、および、テープストレージ装置を同時にサポートする。具体的には、NASサーバー806は、15,000RPMで動作するFCストレージ装置810、10,000RPMで動作するFCストレージ装置812、7,200RPMで動作するATAストレージ装置814、5,400RPMで動作するATAストレージ装置816、および、テープストレージ装置818をサポートする。15,000RPMのFCストレージ装置810は、きわめて高い性能のストレージを提供する。10,000RPMのFCストレージ装置812は、高い性能のストレージを提供する。7,200RPMのATAストレージ装置814は、中程度の性能のストレージを提供する。5,400RPMのATAストレージ装置816は、低い性能のストレージを提供し、アーカイブアプリケーションに適している。テープストレージ装置818は、長期間のテープバックアップストレージに適している。この例においては、すべてのストレージ装置は、ファイバーチャンネル通信インタフェースを有し、NASサーバー806は、FCスイッチ808を介して、ストレージ装置と通信する。
【0027】
複数のストレージ装置タイプを有するストレージ装置をNAS型ストレージシステムに統合するためには、互換性のある通信インタフェース(典型的には、ファイバーチャンネル)を有するストレージ装置をただ単に接続し、特定のディスク制御プロトコル(典型的には、SCSI)を使用し、そして、それらのストレージ装置がNAS型ストレージシステム内において高い信頼性で動作すること(あるいは、まったく動作しないこと)を期待するだけでは不十分である。
【0028】
異なるストレージ装置タイプを有するストレージ装置がNAS型ストレージシステム内において高い信頼性で動作しない(あるいは、まったく動作しない)1つの理由は、ディスク制御メッセージのフォーマットが、一般的には、特定のディスク制御プロトコルのために明確に定義されていても、異なるストレージ装置は、典型的には、ディスク制御プロトコルを異なる形で実施することである。このことは、同じベンダーからの異なるストレージ装置の場合にさえも当てはまることがある(例えば、特定のベンダーからのFCストレージ装置は、そのベンダーからのATAストレージ装置と異なる形でディスク制御プロトコルを実施するかもしれない)。これらの異なる実施方法は、例えば、どのようにして、ストレージ装置が、識別され、設定され、そして、管理されるか、どのようにして、ストレージ装置が、誤り条件または例外条件、タイプ、および、ストレージ装置によってNASサーバーに送信されたメッセージの内容を処理するか、および、どのようにして、ストレージ装置が、NASサーバーによって送信されたメッセージに応答するかに影響を与えるかもしれない。例えば、一方のストレージ装置は、それ自身を識別するための一連番号を使用するかもしれないが、他方のストレージ装置は、それ自身を識別するために、ワールドワイド名を使用するかもしれない。また、ある種のディスク制御メッセージは、ベンダー固有情報を備えることができ、ある種の実施方法は、「標準的な」ディスク制御メッセージを非標準的な形で使用するかもしれない。さらにまた、様々なストレージ装置は、誤り条件または例外条件をまったく異なる形で処理する傾向を有する。
【0029】
異なるストレージ装置タイプを有するストレージ装置がNAS型ストレージシステム内において適切に動作しないもう1つの理由は、異なるストレージ装置タイプを有するストレージ装置は、典型的には、異なる動作パラメータを有することである。例えば、異なるストレージ装置タイプを有するストレージ装置は、いくつかの例を挙げれば、キューイングすることのできるコマンドの数(例えば、高性能のFCストレージ装置は、典型的には、例えば安価なATA装置よりも多くのコマンドをキューイングすることができる)、「ストライプ」サイズ(データを複数のディスクに同時に書き込むための複数ディスクストレージシステムの良く知られている概念)、好ましい書き込みサイズ(すなわち、それぞれの書き込み動作においてストレージ装置に書き込まれるべきデータブロックの好ましい数)、および、フロー制御を処理する方法などが異なることがある。
【0030】
したがって、複数のストレージ装置タイプを有するストレージ装置をNAS型ストレージシステムに統合するためには、NASサーバーが、異なるストレージ装置、具体的には、異なるストレージ装置タイプを有するストレージ装置と異なる形で対話することが必要である。したがって、NASサーバーは、典型的には、データを複数のストレージ装置に記憶するためのストレージロジックを含む。ストレージロジックは、ストレージ装置を管理するディスク制御ロジックを含む。ディスク制御ロジックは、それぞれの異なるストレージ装置およびストレージ装置タイプがどのように管理されるかを定義する管理ルールを含む。管理ルールは、一般的には、どのようにして、NASサーバーが、特定のストレージ装置を識別し、設定し、対話するかなどを定める。本発明の一実施形態においては、ディスク制御ロジックは、ハードウェアコンポーネントおよびソフトウェアコンポーネントの両方によって実施される。ハードウェアコンポーネントは、専用ストレージ装置と通信するためのファイバーチャンネル通信プロトコルを実施し、さらに、それぞれのストレージ装置とディスク制御プロトコルメッセージを交換するためのディスク制御プロトコルを実施し、それと同時に、ソフトウェアコンポーネントは、それぞれの専用ストレージ装置を、その専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールを用いて、管理する。実際には、ハードウェアコンポーネントは、キューイングすることのできるコマンドの数、「ストライプ」のサイズ、および、好ましい書き込みサイズのような、ソフトウェアコンポーネントによってプログラムされた設定可能なパラメータを介して、データ処理に関する様々な管理ルールを適用する。ソフトウェアコンポーネントは、ストレージ装置識別情報、設定、および、誤りルールおよび例外ルールを含む管理ルールのような、その他の管理ルール自身を適用する。
【0031】
図9は、本発明の特定の実施形態によるNASサーバーのアーキテクチャーを示す概略ブロック図である。アーキテクチャーは、図示されるように論理的に大まかに描写された3つの大きなブロック、すなわち、ネットワークサブシステム930、プロトコル/ファイルサブシステム920、および、ストレージサブシステム900に分割される。データパスにおける重要なコンポーネントのすべては、主に、ハードウェアによって(典型的には、フィールドプログラマブルゲートアレイによって)実施される。上述したストレージロジックは、実質的に、ストレージサブシステム900に存在する。ネットワークサブシステム930およびプロトコル/ファイルサブシステム920が、便宜上、示されるが、本質的には、本発明の範囲には含まれず、したがって、さらには説明しない。
【0032】
とりわけ、ストレージサブシステム900は、プロトコル/ファイルサブシステムからストレージサブシステムへ移動するデータのための第1のデータパイプライン902およびストレージサブシステムからプロトコル/ファイルサブシステムへ移動するデータのための第2のデータパイプライン906を含む。第1のデータパイプライン902と第2のデータパイプライン906との間に配置されたNDMPハードウェアブロック904は、異なるストレージ装置タイプを有するストレージ装置間でイントラサーバーデータ転送をとりわけ実行するためのネットワークデータ管理プロトコル(NDMP)を実施する。ディスク制御ロジックは、FCブロック910および912およびCPU914によって表現され、FCブロック910および912は、ハードウェアコンポーネント(典型的には、単一FPGAによって実施される)であり、CPU914は、ソフトウェアコンポーネントを表現する。FCブロック910および912を包含するハードウェアコンポーネントは、とりわけ、ファイバーチャンネル(ファイバー)ネットワークインタフェース916を介して様々なストレージ装置と通信するためのファイバーチャンネル通信プロトコルを実施し、ストレージ装置とディスク制御プロトコルメッセージを交換するためのディスク制御プロトコルを実施し、そして、セクターキャッシュ908を管理する。ソフトウェアコンポーネントは、異なるストレージ装置およびストレージ装置タイプごとに一組の管理ルールをメモリー915に保持する。ソフトウェアコンポーネントは、とりわけ、様々なデータ処理ルール(キューイングすることのできるコマンドの数、「ストライプ」サイズ、および、好ましい書き込みサイズのような)を適用するために、ハードウェアコンポーネントを設定し、かつ、その他のルール自身(ストレージ装置識別情報、設定、および、誤りルールおよび例外ルールを含む管理ルールのような)を適用する。
【0033】
新しいストレージ装置が、ファイバーチャンネルネットワークに取り付けられたとき、ソフトウェアコンポーネントは、一般的には、新しい装置が存在するハードウェアコンポーネントから割り込みまたはその他の通知を受信する。ソフトウェアコンポーネントは、様々なストレージ装置およびストレージ装置タイプのための管理ルールを用いて、新しいストレージ装置を識別することを試みる。ソフトウェアコンポーネントが、新しいストレージ装置を識別することができたと仮定すれば、ソフトウェアコンポーネントは、新しいストレージ装置を動作させかつ利用するのに必要な何らかのステップを実行する。これは、典型的には、新しいストレージ装置からある種の情報を得ること、新しいストレージ装置を設定すること、および、新しいストレージ装置をサポートするためのハードウェアコンポーネントを設定することをとりわけ必要とする。そして、ソフトウェアコンポーネントは、新しいストレージ装置を実装し、記憶するために、新しいストレージ装置を使用し始めることができる。
【0034】
一方のストレージ装置から他方のストレージ装置へのイントラサーバーデータ移送を実行するために、データが、ファイバーネットワークインタフェース916を介して一方のストレージ装置から読み込まれ、FCブロック912へ送られ、そして、第2のデータパイプライン906に送られる。NDMPハードウェア904は、第2のデータパイプライン906からデータを受け取り、そのデータを第1のデータパイプライン902に送出する。そして、データは、FCブロック910へ送られ、そして、ファイバーネットワークインタフェース916から他のストレージ装置へ送られる。この動作は、ハードウェアにおいて完全に処理され、データは、LANまたはプロトコル/ファイルサブシステム920にさえも送られることはない。
【0035】
図10は、本発明の実施形態による異なるストレージ装置タイプを有するストレージ装置をサポートするための典型的なディスク制御ロジックを示すロジックフローチャートである。ブロック1002において、ディスク制御ロジックは、複数のストレージ装置タイプを有する複数の専用ストレージ装置ごとに一組の管理ルールを保持する。ブロック1004において、新しい専用ストレージ装置が存在することを示す指示を受け取ると、ディスク制御ロジックは、ブロック1006において、新しい専用ストレージ装置を識別するために、管理ルールの組を使用し、そして、ブロック1008において、専用ストレージ装置およびストレージ装置タイプのための一組の管理ルールに基づいて新しい専用ストレージ装置を設定してもよい。その後、ブロック1010において、ディスク制御ロジックは、ディスク制御プロトコルメッセージを専用ストレージ装置へ送信してもよく、少なくともいくつかのディスク制御プロトコルメッセージは、適切な一組の管理ルールに基づいて異なる専用ストレージ装置ごとに異なる形でフォーマットされたものである。さらに、ブロック1012において、ディスク制御ロジックは、適切な一組の管理ルールに基づいてそれぞれの専用ストレージ装置にキューイングすることのできるディスク制御プロトコルメッセージの数を決定してもよい。また、ブロック1014において、ディスク制御ロジックは、適切な一組の管理ルールに基づいて、専用ストレージ装置のための好ましいストライプサイズを用いて、それぞれの専用ストレージ装置にデータを書き込んでもよい。ブロック1016において、ディスク制御ロジックは、異なる専用ストレージ装置から受信されたディスク制御プロトコルメッセージを適切な一組の管理ルールに基づいて処理してもよい。ブロック1018において、ディスク制御ロジックは、異なる専用ストレージ装置の誤りおよび例外を適切な一組の管理ルールに基づいて処理してもよい。ディスク制御ロジックは、特定のストレージ装置、ストレージ装置タイプ、または、ストレージアプリケーションに必要であれば、その他の管理目的のために、様々な管理ルールを使用してもよい。
【0036】
また、上述したロジックフローチャートは、ここで、本発明の様々な側面を説明するのに使用されたことに注意すべきであり、本発明を特定のロジックフローチャートまたはロジック実施方法に限定するものであると解釈すべきではない。説明されたロジックは、全体的な結果を変化させることなく、さもなければ、本発明の真の範囲から逸脱することなく、様々なロジックブロック(例えば、プログラム、モジュール、機能、または、サブルーチン)に分割されてもよい。多くの場合、ロジック構成要素は、全体的な結果を変化させることなく、さもなければ、本発明の真の範囲から逸脱することなく、追加され、変更され、省略され、異なる順序で実行され、あるいは、異なるロジック構成体(例えば、ロジックゲート、ループプリミティブ、条件付きロジック、および、その他のロジック構成体)を用いて実施されてもよい。
【0037】
本発明は、多くの異なる形態で実施されてもよく、プロセッサー(例えば、マイクロプロセッサー、マイクロコントローラー、ディジタル信号プロセッサー、または、汎用コンピュータ)とともに使用するためのコンピュータプログラムロジック、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ(FPGA)またはその他のPLD)とともに使用するためのプログラマブルロジック、個別部品、集積回路(例えば、特定用途向け集積回路(ASIC))、または、それらの組み合わせを含む何らかのその他の手段を含むが、決してそれらに限定されるものではない。
【0038】
上述した機能のすべてまたは一部を実施するコンピュータプログラムロジックは、様々な形態で実施されてもよく、ソースコードの形態、コンピュータが実行可能な形態、および、様々な中間の形態(例えば、アセンブラ、コンパイラ、リンカー、または、ロケーターによって生成された形態)を含むが、決してそれらに限定されるものではない。ソースコードは、様々なオペレーティングシステムまたはオペレーティング環境とともに使用するための様々なプログラミング言語(例えば、オブジェクトコード、アセンブリ言語、または、Fortran、C、C++、JAVA(登録商標)、または、HTMLのような高級言語)のいずれかによって実施された一連のコンピュータプログラム命令を含んでもよい。ソースコードは、様々なデータ構造および通信メッセージを定義し、そして、それらを使用してもよい。ソースコードは、コンピュータが実行可能な形態であってもよく(例えば、インタープリターを介して)、あるいは、ソースコードは、コンピュータが実行可能な形態に変換されてもよい(例えば、トランスレータ、アセンブラ、または、コンパイラを介して)。
【0039】
コンピュータプログラムは、半導体メモリーデバイス(例えば、RAM、ROM、PROM、EEPROM、または、フラッシュプログラマブルRAM)、磁気メモリーデバイス(例えば、ディスケットまたは固定ディスク)、光メモリーデバイス(例えば、CD−ROM)、PCカード(例えば、PCMCIAカード)、または、その他のメモリーデバイスのような有形のストレージ媒体として、永久的にかまたは一時的に、どのような形態(例えば、ソースコードの形態、コンピュータが実行可能な形態、または、中間の形態)ででも記録されてよい。コンピュータプログラムは、アナログ技術、ディジタル技術、光技術、無線技術(例えば、Bluetooth)、ネットワーク技術、および、インターネットワーク技術を含むが決してそれらに限定されない様々な通信技術のいずれかを用いて、コンピュータに送信可能な信号として、どのような形態ででも記録されてよい。コンピュータプログラムは、印刷文書または電子文書を添付された着脱可能なストレージ媒体(収縮包装された市販のソフトウェア)のような何らかの形態で分配されてもよく、コンピュータシステムによって予めロードされてもよく(例えば、システムROMまたは固定ディスク上に)、あるいは、通信システム(例えば、インターネットまたはワールドワイドウェブ)を介してサーバーまたは電子掲示板から分配されてもよい。
【0040】
上述した機能のすべてまたは一部を実施するハードウェアロジック(プログラマブルロジックデバイスとともに使用するためのプログラマブルロジックを含む)は、伝統的な人手による方法を用いて設計されてもよく、あるいは、コンピュータ援用設計(CAD)、ハードウェア記述言語(例えば、VHDLまたはAHDL)、または、PLDプログラミング言語(例えば、PALASM、ABEL、または、CUPL)のような様々なツールを用いて、設計され、入手され、シミュレーションされ、あるいは、電子文書化されてもよい。
【0041】
プログラマブルロジックは、半導体メモリーデバイス(例えば、RAM、ROM、PROM、EEPROM、または、フラッシュプログラマブルRAM)、磁気メモリーデバイス(例えば、ディスケットまたは固定ディスク)、光メモリーデバイス(例えば、CD−ROM)、または、その他のメモリーデバイスのような有形のストレージ媒体に永久的にかまたは一時的に記録されてもよい。プログラマブルロジックは、アナログ技術、ディジタル技術、光技術、無線技術(例えば、Bluetooth)、ネットワーク技術、および、インターネットワーク技術を含むが決してそれらに限定されない様々な通信技術のいずれかを用いて、コンピュータに送信可能な信号として記録されてよい。プログラマブルロジックは、印刷文書または電子文書を添付された着脱可能なストレージ媒体(収縮包装された市販のソフトウェア)として分配されてもよく、コンピュータシステムによって予めロードされてもよく(例えば、システムROMまたは固定ディスク上に)、あるいは、通信システム(例えば、インターネットまたはワールドワイドウェブ)を介してサーバーまたは電子掲示板から分配されてもよい。
【0042】
本発明は、本発明の真の範囲を逸脱することなく、その他の特定の形態で実施されてもよい。説明された実施形態は、すべての点において、ただ単に説明のためのものであり、限定するものではないと考えるべきである。

【特許請求の範囲】
【請求項1】
本願明細書に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−23016(P2011−23016A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2010−178907(P2010−178907)
【出願日】平成22年8月9日(2010.8.9)
【分割の表示】特願2006−508612(P2006−508612)の分割
【原出願日】平成16年1月20日(2004.1.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(505160898)ブルアーク ユーケー リミテッド (9)
【Fターム(参考)】