(57)【要約】【課題】ストレージシステムにおいて操作要求を処理するための方法及び装置を提供する。【解決手段】本発明の諸実施形態によれば、ストレージシステムにおいて、スイッチが、操作要求を受信し、操作要求は、要求識別を搬送し、スイッチは、要求識別に従って、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得し、スイッチは、マッチするフローテーブルエントリの転送ルールに従ってストレージデバイスの中からターゲットストレージデバイスに操作要求を転送する。ソフトウェア定義ネットワークの特性を使用することによって、操作要求は、スイッチのフローテーブルエントリの転送ルールに従って処理され、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。【選択図】図１
2018026184.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステムにおいて操作要求を処理するための方法であって、前記ストレージシステムが、コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記方法が、
前記スイッチによって操作要求を受信するステップであって、前記操作要求が要求識別を搬送し、前記要求識別がユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む、ステップと、
前記スイッチによって前記要求識別に従って、前記スイッチの前記フローテーブルに問合せして、前記操作要求にマッチするフローテーブルエントリを取得するステップと、
前記スイッチによって、前記マッチするフローテーブルエントリの転送ルールに従って、前記ストレージデバイスの中からターゲットストレージデバイスに前記操作要求を転送するステップと
を含む、方法。
【請求項２】
前記要求識別が前記ユーザグループ情報であるとき、前記操作要求の仮想ローカルエリアネットワーク識別ビットが、前記ユーザグループ情報を搬送し、前記マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、前記ユーザグループ情報を搬送する、又は
前記要求識別が前記ストレージ方針情報であるとき、前記操作要求のインターネットプロトコルサービス種別ビットが、前記ストレージ方針情報を搬送し、前記マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、前記ストレージ方針情報を搬送する、又は
前記要求識別が前記ユーザグループ情報及び前記ストレージ方針情報であるとき、前記操作要求の仮想ローカルエリアネットワーク識別ビットが、前記ユーザグループ情報を搬送し、前記操作要求のインターネットプロトコルサービス種別ビットが、前記ストレージ方針情報を搬送し、前記マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、前記ユーザグループ情報を搬送し、前記マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、前記ストレージ方針情報を搬送する、
請求項１に記載の方法。
【請求項３】
前記操作要求が読取要求であるとき、前記マッチするフローテーブルエントリの前記転送ルールが、要求されるデータを記憶するストレージデバイスのフロー負荷に従って前記コントローラによって策定される、請求項１又は２に記載の方法。
【請求項４】
前記読取要求が前記ターゲットストレージデバイスに転送される回数を、前記スイッチによって更新するステップであって、前記回数が、前記マッチするフローテーブルエントリに記録される、ステップ
をさらに含む、請求項３に記載の方法。
【請求項５】
前記操作要求が書込要求であるとき、前記マッチするフローテーブルエントリの前記転送ルールが、前記ストレージデバイスの残存記憶容量に従って前記コントローラによって策定される、請求項１又は２に記載の方法。
【請求項６】
前記書込要求が前記ターゲットストレージデバイスに転送される回数を、前記スイッチによって更新するステップであって、前記回数が、前記マッチするフローテーブルエントリに記録される、ステップ
をさらに含む、請求項５に記載の方法。
【請求項７】
フローテーブルエントリ転送ルールを生成するための方法であって、前記方法が、ストレージシステムに適用され、前記ストレージシステムが、コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記方法が、
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を前記コントローラによって取得するステップと、
前記ストレージデバイスの前記残存記憶容量情報に従って前記コントローラによって、書込要求にマッチする転送ルールを生成するステップであって、前記書込要求が、前記スイッチと通信する前記ストレージデバイスにデータを書き込むために使用される、ステップと
を含む、方法。
【請求項８】
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を前記コントローラによって取得する前記ステップが、具体的には、
前記ストレージデバイスによって報告される前記残存記憶容量情報を前記コントローラによって受信するステップ
を含む、請求項７に記載の方法。
【請求項９】
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を前記コントローラによって取得する前記ステップが、具体的には、
前記書込要求が前記ストレージデバイスに転送される回数及び書き込まれたデータのサイズを前記コントローラによって取得するステップであって、前記回数及び前記サイズが、前記スイッチの前記フローテーブルのフローテーブルエントリに記録される、ステップと、
前記ストレージデバイスの記憶容量、前記書込要求の前記回数、及び前記書き込まれたデータの前記サイズに従って、前記ストレージデバイスの残存記憶容量を前記コントローラによって計算するステップと
を含む、請求項７に記載の方法。
【請求項１０】
フローテーブルエントリ転送ルールを生成するための方法であって、前記方法が、ストレージシステムに適用され、前記ストレージシステムが、コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記方法が、
要求されるデータを記憶するストレージデバイスのフロー負荷情報を前記コントローラによって取得するステップと、
前記要求されるデータを記憶する前記ストレージデバイスの前記フロー負荷情報に従って、読取要求にマッチする転送ルールを前記コントローラによって生成するステップと
を含む、方法。
【請求項１１】
要求されるデータを記憶するストレージデバイスのフロー負荷情報を前記コントローラによって取得する前記ステップが、具体的には、
前記要求されるデータを記憶する前記ストレージデバイスによって報告される前記フロー負荷情報を、前記コントローラによって受信するステップ
を含む、請求項１０に記載の方法。
【請求項１２】
要求されるデータを記憶するストレージデバイスのフロー負荷情報を前記コントローラによって取得する前記ステップが、具体的には、
要求されるデータを記憶する前記ストレージデバイスに操作要求が転送される回数を前記コントローラによって取得するステップであって、前記回数が、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、前記操作要求が、書込要求と、読取要求とを含む、ステップ
を含む、請求項１０に記載の方法。
【請求項１３】
スイッチであって、前記スイッチが、ストレージシステムに適用され、前記ストレージシステムが、コントローラと、前記スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記スイッチが、
操作要求を受信するように構成された受信ユニットであって、前記操作要求が要求識別を搬送し、前記要求識別がユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む、受信ユニットと、
前記要求識別に従って、前記スイッチの前記フローテーブルに問合せして、前記操作要求にマッチするフローテーブルエントリを取得するように構成された、問合せユニットと、
前記マッチするフローテーブルエントリの転送ルールに従って、前記ストレージデバイスの中からターゲットストレージデバイスに前記操作要求を転送するように構成された、転送ユニットと
を含む、スイッチ。
【請求項１４】
前記操作要求が読取要求であるとき、前記マッチするフローテーブルエントリの前記転送ルールが、要求されるデータを記憶するストレージデバイスのフロー負荷に従って前記コントローラによって策定される、請求項１３に記載のスイッチ。
【請求項１５】
前記操作要求が書込要求であるとき、前記マッチするフローテーブルエントリの前記転送ルールが、前記ストレージデバイスの残存記憶容量に従って前記コントローラによって策定される、請求項１３に記載のスイッチ。
【請求項１６】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を取得するように構成された、取得ユニットと、
前記ストレージデバイスの前記残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成するように構成された、生成ユニットであって、前記書込要求が、前記スイッチと通信する前記ストレージデバイスにデータを書き込むために使用される、生成ユニットと
を含む、コントローラ。
【請求項１７】
前記取得ユニットが、具体的には、前記ストレージデバイスによって報告される前記残存記憶容量情報を受信するように構成される、請求項１６に記載のコントローラ。
【請求項１８】
前記取得ユニットが、具体的には、前記書込要求が前記ストレージデバイスに転送される回数及び書き込まれたデータのサイズを取得し、前記回数及び前記サイズが、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、
前記ストレージデバイスの記憶容量、前記書込要求の前記回数、及び前記書き込まれたデータの前記サイズに従って、前記ストレージデバイスの残存記憶容量を計算する
ように構成された、請求項１６に記載のコントローラ。
【請求項１９】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、
要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得するように構成された、取得ユニットと、
前記要求されるデータを記憶する前記ストレージデバイスの前記フロー負荷情報に従って、読取要求にマッチする転送ルールを生成するように構成された、生成ユニットと
を含む、コントローラ。
【請求項２０】
前記取得ユニットが、具体的には、前記要求されるデータを記憶する前記ストレージデバイスによって報告される前記フロー負荷情報を受信するように構成される、請求項１９に記載のコントローラ。
【請求項２１】
前記取得ユニットが、具体的には、要求されるデータを記憶する前記ストレージデバイスに操作要求が転送される回数を取得するように構成され、前記回数が、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、前記操作要求が、書込要求と、読取要求とを含む、請求項１９に記載のコントローラ。
【請求項２２】
スイッチであって、前記スイッチが、ストレージシステムに適用され、前記ストレージシステムが、コントローラと、前記スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラがスイッチと通信し、前記コントローラが、前記スイッチのフローテーブルを策定し、配信するように構成され、前記スイッチが、中央処理装置と、メモリとを含み、前記中央処理装置及び前記メモリが、バスを使用することによって接続され、前記メモリが、コンピュータ命令を記憶するように構成され、前記中央処理装置が、請求項１から６のいずれか一項に記載の方法を実施するために、前記メモリに記憶された前記コンピュータ命令を実行する、スイッチ。
【請求項２３】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラがスイッチと通信し、前記コントローラが、前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、中央処理装置と、メモリとを含み、前記中央処理装置及び前記メモリが、バスを使用することによって接続され、前記メモリが、コンピュータ命令を記憶するように構成され、前記中央処理装置が、請求項７から９のいずれか一項に記載の方法を実施するために、前記メモリに記憶された前記コンピュータ命令を実行する、コントローラ。
【請求項２４】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラがスイッチと通信し、前記コントローラが、前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、中央処理装置と、メモリとを含み、前記中央処理装置及び前記メモリが、バスを使用することによって接続され、前記メモリが、コンピュータ命令を記憶するように構成され、前記中央処理装置が、請求項１０から１２のいずれか一項に記載の方法を実施するために、前記メモリに記憶された前記コンピュータ命令を実行する、コントローラ。
【請求項２５】
コンピュータ命令を記憶し、コンピュータが前記コンピュータ命令を実行するとき、請求項１から６のいずれか一項に記載の方法を実施するように構成された、不揮発性コンピュータ可読記憶媒体。
【請求項２６】
コンピュータ命令を記憶し、コンピュータが前記コンピュータ命令を実行するとき、請求項７から９のいずれか一項に記載の方法を実施するように構成された、不揮発性コンピュータ可読記憶媒体。
【請求項２７】
コンピュータ命令を記憶し、コンピュータが前記コンピュータ命令を実行するとき、請求項１０から１２のいずれか一項に記載の方法を実施するように構成された、不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術の分野に関し、特に、ストレージシステムにおいて操作要求を処理するための方法及び装置に関する。
【背景技術】
【０００２】
ストレージシステムでは、ストレージシステムの操作要求を管理し、ストレージシステムのメタデータを記録するために、メタデータサーバが使用される。ストレージシステムにアクセスするとき、ユーザはまず、メタデータサーバと通信して、操作要求によって要求されるメタデータを取得する必要がある。
【０００３】
ストレージシステムの負荷均衡化を確保するために、ストレージシステムは、従来技術のグローバル分散型負荷均衡化方式（ｇｌｏｂａｌ  ｄｉｓｔｒｉｂｕｔｅｄ  ｌｏａｄ  ｂａｌａｎｃｉｎｇ  ｓｃｈｅｍｅ）に基づいており、ストレージシステムの負荷均衡化は、ストレージデバイス間の情報相互作用を行うことによって実現される。しかしながら、ストレージデバイス間で情報相互作用を行うことは不便である。
【発明の概要】
【０００４】
従来技術における前述の問題を解決するために、本発明の実施形態は、ストレージシステムにおいて操作要求を処理するための方法及び装置、及び不揮発性コンピュータ可読記憶媒体、並びにフローテーブルエントリ転送ルールを生成するための方法及び装置、及び不揮発性コンピュータ可読記憶媒体を提供する。
【０００５】
第１の態様によれば、本発明の実施形態が、ストレージシステムにおいて操作要求を処理するための方法を提供し、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、この方法は、
スイッチによって操作要求を受信するステップであって、操作要求は要求識別を搬送し、要求識別はユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む、ステップと、
要求識別に従ってスイッチによって、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得するステップと、
マッチするフローテーブルエントリの転送ルールに従って、ストレージデバイスの中からターゲットストレージデバイスに操作要求を、スイッチによって転送するステップと
を含む。
【０００６】
第１の態様の実施形態によれば、第１の可能な実施方法において、要求識別がユーザグループ情報であるとき、操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送する、又は
要求識別がストレージ方針情報であるとき、操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する、又は、
要求識別がユーザグループ情報及びストレージ方針情報であるとき、操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する。
【０００７】
第１の態様の実施形態によれば、第２の可能な実施方法において、操作要求が読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるデータを記憶するストレージデバイスのフロー負荷に従ってコントローラによって策定される。
【０００８】
第２の可能な実施方法によれば、第３の可能な実施方法において、方法は、
読取要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップであって、回数は、マッチするフローテーブルエントリに記録される、ステップ
をさらに含む。
【０００９】
第１の態様の実施形態又は第１の態様の実施形態の第１の可能な実施方法によれば、第４の可能な実施方法において、操作要求が書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、ストレージデバイスの残存記憶容量に従ってコントローラによって策定される。
【００１０】
第４の可能な実施方法によれば、第５の可能な実施方法において、方法は、
書込要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップであって、回数は、マッチするフローテーブルエントリに記録される、ステップ
をさらに含む。
【００１１】
第２の態様によれば、本発明の実施形態が、以下を含む、フローテーブルエントリ転送ルールを生成するための方法を提供し、この方法は、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラはスイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、この方法は、
スイッチと通信するストレージデバイスの残存記憶容量情報をコントローラによって取得するステップと、
ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールをコントローラによって生成するステップであって、書込要求はスイッチと通信するストレージデバイスにデータを書き込むために使用される、ステップと
を含む。
【００１２】
第２の態様によれば、第１の可能な実施方法において、スイッチと通信するストレージデバイスの残存記憶容量情報をコントローラによって取得するステップは、具体的には、
ストレージデバイスによって報告される残存記憶容量情報をコントローラによって受信するステップ
を含む。
【００１３】
第２の態様によれば、第２の可能な実施方法において、スイッチと通信するストレージデバイスの残存記憶容量情報をコントローラによって取得するステップは、具体的には、
書込要求がストレージデバイスに転送される回数及び書き込まれたデータのサイズをコントローラによって取得するステップであって、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録される、ステップと、
ストレージデバイスの記憶容量、書込要求の回数、及び書き込まれたデータのサイズに従って、ストレージデバイスの残存記憶容量をコントローラによって計算するステップと
を含む。
【００１４】
第３の態様によれば、本発明の一実施形態が、以下を含む、フローテーブルエントリ転送ルールを生成するための方法を提供し、この方法は、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、この方法は、
要求されるデータを記憶するストレージデバイスのフロー負荷情報をコントローラによって取得するステップと、
要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールをコントローラによって生成するステップと
を含む。
【００１５】
第３の態様によれば、第１の可能な実施方法において、要求されるデータを記憶するストレージデバイスのフロー負荷情報をコントローラによって取得するステップは、具体的には、
要求されるデータを記憶するストレージデバイスによって報告されるフロー負荷情報をコントローラによって受信するステップ
を含む。
【００１６】
第３の態様によれば、第２の可能な実施方法において、要求されるデータを記憶するストレージデバイスのフロー負荷情報をコントローラによって取得するステップは、具体的には、
要求されるデータを記憶するストレージデバイスに操作要求が転送される回数をコントローラによって取得するステップであって、回数が、スイッチのフローテーブルのフローテーブルエントリに記録され、操作要求が、書込要求と、読取要求とを含む、ステップ
を含む。
【００１７】
第４の態様によれば、本発明の一実施形態が、以下を含む、スイッチを提供し、スイッチは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、スイッチは、
操作要求を受信するように構成された受信ユニットであって、操作要求は要求識別を搬送し、要求識別はユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む、受信ユニットと、
要求識別に従って、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得するように構成された、問合せユニットと、
マッチするフローテーブルエントリの転送ルールに従って、ストレージデバイスの中からターゲットストレージデバイスに操作要求を転送するように構成された、転送ユニットと
を含む。
【００１８】
第４の態様によれば、第１の可能な実施方法において、操作要求が読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるデータを記憶するストレージデバイスのフロー負荷に従ってコントローラによって策定される。
【００１９】
第４の態様によれば、第２の可能な実施方法において、操作要求が書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、ストレージデバイスの残存記憶容量に従ってコントローラによって策定される。
【００２０】
第５の態様によれば、本発明の一実施形態が、以下を含む、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、
スイッチと通信するストレージデバイスの残存記憶容量情報を取得するように構成された、取得ユニットと、
ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成するように構成された、生成ユニットであって、書込要求は、スイッチと通信するストレージデバイスにデータを書き込むために使用される、生成ユニットと
を含む。
【００２１】
第５の態様によれば、第１の可能な実施方法において、取得ユニットは、具体的には、ストレージデバイスによって報告される残存記憶容量情報を受信するように構成される。
【００２２】
第５の態様によれば、第２の可能な実施方法において、取得ユニットは、具体的には、書込要求がストレージデバイスに転送される回数及び書き込まれたデータのサイズを取得するように構成され、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録され、
コントローラは、ストレージデバイスの記憶容量、書込要求の回数、及び書き込まれたデータのサイズに従って、ストレージデバイスの残存記憶容量を計算する。
【００２３】
第６の態様によれば、本発明の一実施形態が、以下を含む、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、
要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得するように構成された、取得ユニットと、
要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールを生成するように構成された、生成ユニットと
を含む。
【００２４】
第６の態様によれば、第１の可能な実施方法において、取得ユニットは、具体的には、要求されるデータを記憶するストレージデバイスによって報告されるフロー負荷情報を受信するように構成される。
【００２５】
第６の態様によれば、第２の可能な実施方法において、取得ユニットは、具体的には、要求されるデータを記憶するストレージデバイスに操作要求が転送される回数を取得するように構成され、回数は、スイッチのフローテーブルのフローテーブルエントリに記録され、操作要求は、書込要求と、読取要求とを含む。
【００２６】
第７の態様によれば、本発明の一実施形態が、スイッチを提供し、スイッチは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、スイッチは、中央処理装置と、メモリとを含み、中央処理装置及びメモリは、バスを使用することによって接続され、メモリは、コンピュータ命令を記憶するように構成され、中央処理装置は、本発明における第１の態様又は第１の態様の第１から第４の可能な実施方法のいずれか１つを実施するために、メモリに記憶されたコンピュータ命令を実行する。
【００２７】
第８の態様によれば、本発明の一実施形態が、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、中央処理装置と、メモリとを含み、中央処理装置及びメモリは、バスを使用することによって接続され、メモリは、コンピュータ命令を記憶するように構成され、中央処理装置は、本発明における第２の態様又は第２の態様の第１若しくは第２の可能な実施方法を実施するために、メモリに記憶されたコンピュータ命令を実行する。
【００２８】
第９の態様によれば、本発明の一実施形態が、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、中央処理装置と、メモリとを含み、中央処理装置及びメモリは、バスを使用することによって接続され、メモリは、コンピュータ命令を記憶するように構成され、中央処理装置は、本発明における第３の態様又は第３の態様の第１若しくは第２の可能な実施方法を実施するために、メモリに記憶されたコンピュータ命令を実行する。
【００２９】
第１０の態様によれば、本発明の一実施形態が、不揮発性コンピュータ可読記憶媒体を提供し、コンピュータ記憶媒体は、コンピュータ命令を記憶し、コンピュータがコンピュータ命令を実行するとき、本発明における第１の態様又は第１の態様の第１から第４の可能な実施方法のいずれか１つを実施するように構成される。
【００３０】
第１１の態様によれば、本発明の一実施形態が、不揮発性コンピュータ可読記憶媒体を提供し、コンピュータ記憶媒体は、コンピュータ命令を記憶し、コンピュータがコンピュータ命令を実行するとき、本発明における第２の態様又は第２の態様の第１若しくは第２の可能な実施方法を実施するように構成される。
【００３１】
第１２の態様によれば、本発明の一実施形態が、不揮発性コンピュータ可読記憶媒体を提供し、コンピュータ記憶媒体は、コンピュータ命令を記憶し、コンピュータがコンピュータ命令を実行するとき、本発明における第３の態様又は第３の態様の第１若しくは第２の可能な実施方法を実施するように構成される。
【００３２】
本発明の諸実施形態によれば、ストレージシステムにおいて、スイッチが、操作要求を受信し、操作要求は、要求識別を搬送し、スイッチは、要求識別に従って、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得し、スイッチは、マッチするフローテーブルエントリの転送ルールに従ってストレージデバイスの中からターゲットストレージデバイスに操作要求を転送する。ソフトウェア定義ネットワーク（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）の特性を使用することによって、操作要求は、スイッチのフローテーブルエントリの転送ルールに従って処理され、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。
【図面の簡単な説明】
【００３３】
本発明の諸実施形態における技術的解決法をより明瞭に説明するために、以下に、諸実施形態を説明するために必要である添付の図面について概説する。次の説明中の添付の図面は、本発明の単に一部の実施形態を示しており、当業者は創造的な努力なしにこれらの添付の図面から他の図面を依然として導き出すことができるのは明らかである。
【００３４】
【図１】本発明の一実施形態による方法の概略図である。
【図２】本発明の一実施形態による、オブジェクトストレージシステムの概略図である。
【図３】オープンフロー（Ｏｐｅｎｆｌｏｗ）プロトコルに基づくソフトウェア定義ネットワークのシステムの図である。
【図４】ソフトウェア定義ネットワークにおけるスイッチのフローテーブルである。
【図５】フローテーブル中のフローテーブルエントリの概略構造図である。
【図６】フローテーブルエントリのパケットヘッダフィールドの概略構造図である。
【図７】本発明の一実施形態による、オブジェクトストレージシステムにおいてオブジェクト操作要求を処理するための方法の概略図である。
【図８】本発明の一実施形態による、コントローラによってフローテーブルエントリ転送ルールを生成するための方法の概略図である。
【図９】本発明の一実施形態による、コントローラによってフローテーブルエントリ転送ルールを生成するための方法の概略図である。
【図１０】スイッチの概略図である。
【図１１】コントローラの概略図である。
【発明を実施するための形態】
【００３５】
本発明の諸実施形態における技術的解決法について、本発明の諸実施形態における添付の図面を参照して以下に明確に説明する。記載する実施形態は、本発明の実施形態の全部ではなく一部であることは明らかである。創造的な努力なしに本発明の諸実施形態に基づいて当業者によって得られる他のすべての実施形態は、本発明の保護範囲内に含まれるものとする。
【００３６】
本発明の諸実施形態が、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成される。ストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、又はオブジェクトストレージシステムでもよい。ストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、及びオブジェクトストレージシステムのうちの少なくとも２つも含んでもよい。
【００３７】
図１に示すように、本発明の一実施形態で提供されるストレージシステムにおいて操作要求を処理するための方法は、次の通りである：
【００３８】
１０１：スイッチが、操作要求を受信し、操作要求は要求識別を搬送し、要求識別はユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む。
【００３９】
１０２：スイッチが、要求識別に従って、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得する。
【００４０】
１０３：スイッチは、マッチするフローテーブルエントリの転送ルールに従って、ストレージデバイスの中からターゲットストレージデバイスに操作要求を転送する。
【００４１】
一実施方法では、要求識別がユーザグループ情報であるとき、操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送する、又は
要求識別がストレージ方針情報であるとき、操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する、又は
要求識別がユーザグループ情報及びストレージ方針情報であるとき、操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する。
【００４２】
一実施方法では、操作要求が読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるデータを記憶するストレージデバイスのフロー負荷に従ってコントローラによって策定される。
【００４３】
さらに、方法は、読取要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。
【００４４】
一実施方法では、操作要求が書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、ストレージデバイスの残存記憶容量に従ってコントローラによって策定される。
【００４５】
さらに、方法は、書込要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。
【００４６】
本発明の実施形態によれば、要求識別は、ユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを含み、ユーザグループ情報は、クライアントのＩＰアドレス情報、又はクライアントのアドレス情報などでもよく、ストレージ方針情報は、ストレージデバイス中の要求されるデータのコピー数、又はストレージデバイスに書き込まれることになる要求されるデータのコピー数でもよい。
【００４７】
本発明の実施形態において提供されるストレージシステムで操作要求を処理するための方法によれば、ソフトウェア定義ネットワークの特性を使用することによって、操作要求は、スイッチのフローテーブルの転送ルールに従って処理され、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。
【００４８】
オブジェクトストレージシステムを例として使用すると、オブジェクトストレージシステムでは、オブジェクトがデータストレージの基本単位として使用される。１つのオブジェクトは、ファイルデータと、ファイルメタデータとを含み、操作要求は、オブジェクト読取要求及びオブジェクト書込要求を含むオブジェクト操作要求であり、読取要求によって要求される、すなわちオブジェクト読取要求によって要求されるデータがオブジェクトであり、オブジェクト書込要求によって書き込まれるデータがオブジェクトであり、オブジェクトストレージシステム中のストレージデバイスが、オブジェクトストレージデバイスである。本発明の実施形態では、図２に示すように、オブジェクトストレージシステムが、メタデータサーバ１０３と、コントローラ１０４と、スイッチ１０５１〜１０５ｍと、ストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌ、すなわち、オブジェクトストレージシステム中のオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌとを含む。ここでＬは整数であり、オブジェクトストレージデバイスの数を示し、特定の値は限定されない。メタデータサーバ１０３は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌに記憶されたデータの要求識別を記憶するように構成される、すなわち、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌに記憶されたオブジェクトの要求識別を記憶するように構成される。要求識別について、以下に詳細を述べる。オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌは、データを記憶するように構成される、すなわち、オブジェクトストレージシステムにオブジェクトを記憶するように構成される。スイッチ１０５１〜１０５ｍ及びコントローラ１０４は、ソフトウェア定義ネットワークを形成する。スイッチ１０５１〜１０５ｍは、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌと通信する。スイッチ１０５１〜１０５ｍは、操作要求、すなわちオブジェクトストレージシステム中のオブジェクト操作要求を、フローテーブル中のフローテーブルエントリの転送ルールに従ってオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌに転送するように構成される。コントローラ１０４は、スイッチ１０５１〜１０５ｍのフローテーブル中のフローテーブルエントリを策定し、更新するように構成される。本発明の実施形態では、コントローラ１０４のみが説明される。本発明の実施形態のオブジェクトストレージシステムでは、コントローラの数は１に限定されず、負荷均衡化及び冗長化を実施するために複数のコントローラが存在してもよい。図２に示すクライアント１０１１〜１０１ｎについては、一実施方法では、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌにアクセスするためにオブジェクトストレージシステムプロキシ１０２を使用することによって、オブジェクト操作要求が送信される。ここでｎは整数であり、クライアントの数を示し、特定の値は限定されない。本発明の実施形態では、オブジェクトストレージシステムプロキシ１０２は、独立した物理サーバでもよく、又はクライアント１０１１〜１０１ｎに統合されてもよく、これは本発明では限定されない。
【００４９】
コントローラ１０４及びスイッチ１０５１〜１０５ｍによって形成されるソフトウェア定義ネットワークでは、コントローラ１０４は、セキュアチャネルを使用することによってスイッチ１０５１〜１０５ｍと通信する。たとえば、コントローラ１０４は、Ｏｐｅｎｆｌｏｗプロトコルを使用することによってスイッチ１０５１〜１０５ｍと通信してもよく、コントローラ１０４は、スイッチ１０５１〜１０５ｍに記憶されたフローテーブルのフローテーブルエントリを策定し、更新する。本発明の実施形態では、コントローラ１０４とスイッチ１０５１との間でＯｐｅｎｆｌｏｗプロトコルが使用されることは、例示的な説明にすぎない。本発明は、ソフトウェア定義ネットワークでの実施に別のプロトコルが使用される方法にも適用可能である。図３に示すように、例としてスイッチ１０５１及びコントローラ１０４を使用すると、コントローラ１０４は、スイッチ１０５１におけるフローテーブルのフローテーブルエントリを策定し、更新し、スイッチ１０５１がオブジェクト操作要求を受信するとき、オブジェクト操作要求を解析し、スイッチ１０５１のフローテーブル中のオブジェクト操作要求にマッチするフローテーブルエントリに問合せし、マッチするフローテーブルエントリの転送ルールに従ってオブジェクト操作要求を処理する。具体的には、一実施方法では、スイッチ１０５１中のフローテーブルは、フローテーブルエントリ１及びフローテーブルエントリ２〜Ｒによって形成される。ここでＲは自然数である。図４に示すように、スイッチ１０５１は、オブジェクト操作要求を受信し、フローテーブルのフローテーブルエントリに問合せし、一般にフローテーブルのフローテーブルエントリは、ストリームラインの形で（ｉｎ  ａ  ｓｔｒｅａｍ  ｌｉｎｅ  ｍａｎｎｅｒ）問合せされ、問合せすることによってオブジェクト操作要求にマッチするフローテーブルエントリが取得される場合、マッチするフローテーブルエントリの転送ルールに従って処理を行う。図４に示すフローテーブルのフローテーブルエントリについては、特定の構造が、図５に示され、３つの部分すなわちパケットヘッダフィールド、カウンタ、及び転送ルールを含む。パケットヘッダフィールドは、オブジェクト操作要求にマッチさせるために使用され、カウンタは、フローテーブルエントリに対してオブジェクト操作要求が処理される回数をカウントするために使用され、転送ルールは、たとえば、オブジェクト操作要求をどのように転送するかを判断するため、操作要求がどのポートに転送されるかを判断するためなど、オブジェクト操作要求の転送方法を決定するために使用される。図６に示すように、パケットヘッダフィールドは、入力ポートと、ソース媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ，  ＭＡＣ）アドレスと、宛先ＭＡＣアドレスと、イーサネットタイプと、仮想ローカルエリアネットワーク識別（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ，  ＶＬＡＮ  ＩＤ）と、ソースインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ，  ＩＰ）アドレスと、宛先ＩＰアドレスと、ＩＰポートと、ＩＰサービス種別（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖ��ｃｅ，  ＴｏＳ）ビットと、ソース伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ，  ＴＣＰ）ポートと、宛先ＴＣＰポートとを含む。本発明の実施形態では、オブジェクト操作要求が、要求識別をカプセル化してもよく、要求識別は、ユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む。たとえば、ユーザグループ情報は、オブジェクト操作要求にカプセル化される。具体的には、ユーザグループ情報は、オブジェクト操作要求のＶＬＡＮ  ＩＤビットにカプセル化されてもよく、ストレージ方針情報は、オブジェクト操作要求のＩＰ  ＴｏＳビットにカプセル化されてもよい。要求識別のカプセル化は、オブジェクトストレージシステムプロキシ１０２によって実施されてもよい。オブジェクト操作要求を受信した後、スイッチ１０５１は、スイッチ１０５１のフローテーブルにおいて、オブジェクト操作要求にマッチするフローテーブルエントリに問合せする。オブジェクト操作要求は、問合せによって取得されたマッチするフローテーブルエントリの転送ルールに従って処理される。転送ルールに従ってオブジェクト操作要求が転送された後、カウンタは、フローテーブルエントリのオブジェクト操作要求を転送するための回数を更新する。オブジェクト操作要求にマッチするフローテーブルエントリが存在しないとき、オブジェクト操作要求は、コントローラ１０４に転送され、コントローラ１０４は、オブジェクト操作要求に対して転送ルールを策定し、フローテーブルエントリを生成し、スイッチ１０５１中のフローテーブルを更新する。
【００５０】
前述の説明に基づいて、図７に示すように、本発明の一実施形態は、以下のステップを含む、図２に示すシステムアーキテクチャの下でオブジェクトストレージシステムにおいてオブジェクト操作要求を処理するための方法を提供する：
【００５１】
ステップ７０１：スイッチが、オブジェクト操作要求を受信し、オブジェクト操作要求は要求識別を搬送し、要求識別はユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む。
【００５２】
７０２：スイッチは、要求識別に従って、スイッチのフローテーブルに問合せして、オブジェクト操作要求にマッチするフローテーブルエントリを取得する。
【００５３】
７０３：スイッチは、マッチするフローテーブルエントリの転送ルールに従って、オブジェクトストレージデバイスの中からターゲットオブジェクトストレージデバイスにオブジェクト操作要求を転送する。
【００５４】
オブジェクトストレージシステムにおいてオブジェクト操作要求を処理するための前述の方法では、要求識別がユーザグループ情報であるとき、オブジェクト操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送する、又は
要求識別がストレージ方針情報であるとき、オブジェクト操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する、又は
要求識別がユーザグループ情報及びストレージ方針情報であるとき、オブジェクト操作要求の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、オブジェクト操作要求のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中の仮想ローカルエリアネットワーク識別ビットが、ユーザグループ情報を搬送し、マッチするフローテーブルエントリのパケットヘッダフィールド中のインターネットプロトコルサービス種別ビットが、ストレージ方針情報を搬送する。
【００５５】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、要求識別を搬送するオブジェクト操作要求が、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するオブジェクトストレージデバイスに転送され、コントローラが、スイッチのフローテーブルエントリ中の転送ルールを策定し、スイッチが、フローテーブルエントリ中の転送ルールに従ってオブジェクト読取要求を転送し、それによってオブジェクトストレージデバイスの負荷均衡化を実施し、オブジェクトストレージデバイス間の情報相互作用を減少させる。
【００５６】
図２を参照して、具体的には図７に示すオブジェクト操作要求を処理するための方法において、オブジェクト操作要求がオブジェクト読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従ってコントローラによって策定される。スイッチが、マッチするフローテーブルエントリの転送ルールに従ってオブジェクトストレージデバイスの中からターゲットオブジェクトストレージデバイスにオブジェクト操作要求を転送した後、方法は、オブジェクト読取要求がターゲットオブジェクトストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。以下に詳細を説明する。
【００５７】
クライアント１０１が読取要求をオブジェクトストレージシステムに送信する例を使用すると、クライアント１０１は、読取要求を送信し、オブジェクトストレージシステムプロキシ１０２は、クライアント１０１によって送信された読取要求を受信し、読取要求に従ってメタデータサーバ１０３にアクセスし、要求されるオブジェクトの要求識別を取得し、要求識別は、ユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを含み、要求識別は、メタデータサーバ１０３において、オブジェクトがオブジェクトストレージデバイスに書き込まれた後、オブジェクト書込要求で搬送されるユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを記憶するために使用され、メタデータサーバ１０３に記憶される要求識別は、書き込まれたオブジェクトを記憶するオブジェクトストレージデバイスによってメタデータサーバ１０３に登録されるオブジェクトの要求識別の内容によって決定される。クライアントが、オブジェクトストレージシステムに対してオブジェクトの読取要求を開始するとき、メタデータサーバ１０３は、オブジェクトの要求識別を取得するために問合せされ、ユーザグループ情報は、オブジェクトをオブジェクトストレージシステムに書き込むクライアントのＩＰアドレス情報、又はオブジェクトをオブジェクトストレージシステムに書き込むクライアントを識別することができる他の情報でもよく、ストレージ方針情報は、オブジェクトストレージデバイス中の要求されるオブジェクトのコピー数でもよい。オブジェクト読取要求については、要求されるオブジェクトがオブジェクトストレージデバイスにすでに記憶されているので、要求されるオブジェクトがオブジェクトストレージデバイスに書き込まれるとき、オブジェクトの要求識別は、メタデータサーバ１０３に送信される。本発明の実施形態では、ユーザグループ情報及びストレージ方針を含んだ要求識別が、例として使用され、ユーザグループ情報は、オブジェクトをオブジェクトストレージシステムに書き込むクライアントのＩＰアドレス情報であり、ストレージ方針情報は、要求されるオブジェクトのコピー数であり、ここでは３である。オブジェクトストレージシステムプロキシ１０２は、メタデータサーバ１０３から取得された要求識別をカプセル化して、オブジェクト読取要求を生成し、オブジェクト読取要求の特定のフォーマットが、図６に示されている。本発明の実施形態では、ユーザグループ情報は、オブジェクト読取操作要求のＶＬＡＮ  ＩＤビットにカプセル化され、ストレージ方針情報は、オブジェクト読取操作要求のＩＰ  ＴｏＳビットにカプセル化される。
【００５８】
オブジェクトストレージシステムプロキシ１０２は、オブジェクト読取要求をスイッチ１０５１に送信する。
【００５９】
スイッチ１０５１は、ストレージシステムプロキシ１０２によって送信されたオブジェクト読取要求を受信し、オブジェクト読取要求のＶＬＡＮ  ＩＤビット及びＴｏＳビット情報を解析して、それぞれユーザグループ情報及びストレージ方針情報を取得する。解析することによって取得されるユーザグループ情報及びストレージ方針情報に従って、フローテーブルのフローテーブルエントリが問合せされる。オブジェクト読取要求のＶＬＡＮ  ＩＤビットから解析されるユーザグループ情報及びオブジェクト読取要求のＩＰ  ＴｏＳビットから解析されるストレージ方針情報は、フローテーブルエントリのパケットヘッダフィールドにマッチさせるために使用されて、それぞれマッチするフローテーブルエントリを見つけ、その後、オブジェクト読取要求は、マッチするフローテーブルエントリの転送ルールに従って転送される。具体的には、オブジェクト読取要求に対して、フローテーブルエントリの転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従って、コントローラ１０４によって策定される、すなわち、要求されるオブジェクトが位置しているオブジェクトストレージデバイスのフロー負荷に従って、ターゲットオブジェクトストレージデバイスが選択される。たとえば、図４に示すフローテーブルでは、フローテーブルエントリ３は、オブジェクト読取要求にマッチするフローテーブルエントリであって、フローテーブルエントリ３の構造が、図５に示され、パケットヘッダフィールドのＶＬＡＮ  ＩＤ中の情報が、オブジェクト読取要求のＶＬＡＮ  ＩＤ中の情報にマッチし、パケットヘッダフィールドのＩＰ  ＴｏＳビット中の情報が、オブジェクト読取要求のＩＰ  ＴｏＳビット中の情報にマッチする。フローテーブルエントリ３の転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従ってコントローラ１０４によって策定され、たとえば、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３は、要求されるオブジェクトの３つのコピーを記憶するオブジェクトストレージデバイスである。コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従って、オブジェクトストレージデバイス１０６１は、最も軽いフロー負荷のオブジェクトストレージデバイスであると決定し、転送ルールは、オブジェクトストレージデバイス１０６１にオブジェクト読取要求を転送することである。コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従って転送ルールを策定し、具体的には、スイッチ１０５１は、オブジェクト操作要求を転送した回数を、コントローラ１０４に定期的に報告し、回数は、フローテーブルの各フローテーブルエントリに記録される、又はコントローラ１０４は、オブジェクト操作要求を転送した回数を、スイッチ１０５１から定期的に取得し、回数は、フローテーブルの各フローテーブルエントリに記録される、又はオブジェクトストレージデバイス１０６１、１０６２、及び１０６３は、フローテーブルエントリの転送ルールを更新するために、フロー負荷をコントロー���１０４に報告する。ここではオブジェクト操作要求は、オブジェクト読取要求と、オブジェクト書込要求とを含む。一方法では、コントローラ１０４は、オブジェクト操作要求がオブジェクトストレージデバイス１０６１、１０６２、及び１０６３に転送される回数に従ってフローテーブルエントリの転送ルールを策定し、又は更新し、回数は、フローテーブルエントリのカウンタに記録される。たとえば、オブジェクト操作要求をオブジェクトストレージデバイス１０６１に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについて、オブジェクト操作要求を転送した総回数は５０００であり、回数は、各フローテーブルエントリのカウンタによって記録され、オブジェクト操作要求をオブジェクトストレージデバイス１０６２に転送することである転送ルールを有する４５個のフローテーブルエントリがあって、前述の期間に、この４５個のフローテーブルについて、オブジェクト操作要求を転送した総回数は５５００であり、回数は、オブジェクト操作要求を転送した各フローテーブルエントリ回数のカウンタによって記録され、オブジェクト操作要求をオブジェクトストレージデバイス１０６３に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについては、オブジェクト操作要求を転送した総回数は６０００であり、回数は、オブジェクト操作要求を転送した各フローテーブルエントリ回数のカウンタによって記録される。前述の期間において、オブジェクトストレージデバイス１０６１は、最も軽い負荷を有する。したがって、本発明の実施形態では、オブジェクト読取要求によって要求されるオブジェクトについて、コントローラ１０４がオブジェクトを記憶するオブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従ってオブジェクト読取要求に対して策定する転送ルールは、オブジェクト読取要求をオブジェクトストレージデバイス１０６１に転送することである。マッチするフローテーブルエントリが、スイッチ１０５１によって問合せすることによって取得されないとき、スイッチ１０５１は、Ｏｐｅｎｆｌｏｗプロトコルを使用することによって、図２に示すセキュアチャネルを通じてオブジェクト読取要求をコントローラ１０４に転送し、コントローラ１０４は、オブジェクト読取要求で搬送される要求識別に従って要求されるオブジェクトを決定し、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従ってオブジェクト読取要求に対してフローテーブルエントリを策定し、スイッチ１０５１中のフローテーブルを更新するために、フローテーブルエントリをスイッチ１０５１に配信し、スイッチ１０５１は、コントローラ１０４によって配信されたフローテーブルエントリに従ってオブジェクト読取要求を転送する。
【００６０】
本発明の実施形態では、オブジェクトストレージデバイス１０６１は、最も軽いフロー負荷を有するオブジェクトストレージデバイスであると仮定し、スイッチは、フローテーブルエントリ３中のマッチする転送ルールに従って、オブジェクトストレージデバイス１０６１及びスイッチ１０５１が通信するポートにオブジェクト操作要求を転送する。フローテーブルエントリ３中のカウンタは、オブジェクト読取要求をオブジェクトストレージデバイス１０６１に転送した回数を更新する。
【００６１】
スイッチ１０５１は、オブジェクト読取要求の宛先ＩＰアドレスを、オブジェクトストレージデバイス１０６２のＩＰアドレスに変え、オブジェクト読取要求の宛先ＭＡＣアドレスを、オブジェクトストレージデバイス１０６２のＭＡＣアドレスに変え、変更されたオブジェクト読取要求をオブジェクトストレージデバイス１０６２に転送する。
【００６２】
変更されたオブジェクト読取要求を受信した後、オブジェクトストレージデバイス１０６２は、要求されるオブジェクトの内容をオブジェクトストレージシステムプロキシ１０２に返す。
【００６３】
オブジェクトストレージシステムプロキシ１０２は、要求されるオブジェクトの内容をクライアント１０１に返す。
【００６４】
本発明の実施形態によれば、オブジェクト読取要求のための別の実施方法は、２つより多くのコピーを有するオブジェクト、たとえば、オブジェクトストレージデバイスに３つのコピーを有する、本発明の実施形態における要求されるオブジェクトについて、オブジェクト読取要求にマッチするフローテーブルエントリの転送ルールは、オブジェクト読取要求を２つのオブジェクトストレージデバイスに転送することであってもよい、というものである。前述の実施形態に記載するように、たとえば、オブジェクト操作要求をオブジェクトストレージデバイス１０６１に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについて、オブジェクト操作要求を転送した総回数は５０００であり、オブジェクト操作要求は、各フローテーブルエントリのカウンタによって記録され、オブジェクト操作要求をオブジェクトストレージデバイス１０６２に転送することである転送ルールを有する４５個のフローテーブルエントリがあって、前述の期間に、この４５個のフローテーブルについて、各フローテーブルエントリのカウンタによって記録されるオブジェクト操作要求を転送した総回数は５５００であり、オブジェクト操作要求をオブジェクトストレージデバイス１０６３に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについて、各フローテーブルエントリのカウンタによって記録されるオブジェクト操作要求を転送した総回数は６０００である。前述の期間において、オブジェクトストレージデバイス１０６１及び１０６２は、比較的軽いフロー負荷を有するターゲットオブジェクトストレージデバイスであり、オブジェクト読取要求が、２つのターゲットデバイスに転送されることになる場合、コントローラ１０４がオブジェクト読取要求に対して策定するフローテーブルエントリ転送ルールは、オブジェクト読取要求をオブジェクトストレージデバイス１０６１及び１０６２に転送することであり、それによってオブジェクト読取同時実行（ｏｂｊｅｃｔ  ｒｅａｄ  ｃｏｎｃｕｒｒｅｎｃｙ）を実施し、オブジェクト読取要求の効率を向上させる。
【００６５】
本発明の実施形態では、オブジェクト読取要求において搬送される要求識別は、ユーザグループ情報又はストレージ方針情報のうちの１つのみを含んでもよく、これは本発明では限定されない。
【００６６】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するオブジェクトストレージデバイスに要求識別を搬送するオブジェクト読取要求を転送するための処理方法に従って、コントローラが、ターゲットオブジェクトストレージデバイスのフロー負荷に従って、オブジェクト読取要求の転送ルールのフローテーブルエントリを配信し、スイッチが、フローテーブルエントリ中の転送ルールに従ってオブジェクト読取要求を転送し、それによってオブジェクトストレージデバイスの負荷均衡化を実施し、オブジェクトストレージデバイス間の情報相互作用を減少させる。
【００６７】
図２を参照して、具体的には図７に示すオブジェクト操作要求を処理するための方法において、オブジェクト操作要求がオブジェクト書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、オブジェクトストレージデバイスの残存記憶容量に従ってコントローラによって策定される。スイッチが、マッチするフローテーブルエントリの転送ルールに従ってオブジェクトストレージデバイスの中からターゲットオブジェクトストレージデバイスにオブジェクト操作要求を転送した後、方法は、書込要求がターゲットオブジェクトストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。以下に詳細を説明する。
【００６８】
クライアント１０１がオブジェクトストレージシステムに書込要求を送信する例を使用すると、クライアント１０１は、書込要求を送信し、オブジェクトストレージシステムプロキシ１０２は、クライアント１０１によって送信された書込要求を受信する。オブジェクトが、オブジェクトストレージシステムに書き込まれることになるので、メタデータサーバ１０３には、書き込まれることになるオブジェクトの要求識別を有さず、オブジェクトストレージシステムプロキシ１０２は、書き込まれることになるオブジェクトの要求識別を書込要求から取得する。要求識別は、ユーザグループ情報及びストレージ方針のうちの少なくとも１つを含み、ユーザグループ情報は、オブジェクトストレージシステムにオブジェクトを書き込むクライアントのＩＰアドレス情報、又はオブジェクトストレージシステムにオブジェクトを書き込むクライアントを識別することができる他の情報でもよく、ストレージ方針は、オブジェクトストレージデバイス中の書き込まれたオブジェクトのコピー数でもよい。本発明の実施形態では、ユーザグループ情報及びストレージ方針を含んだ要求識別が例として使用され、ユーザグループ情報はクライアントのＩＰアドレス情報であり、ストレージ方針情報は、具体的には、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌ中のユーザによって要求されるオブジェクトのコピー数であり、ここではオブジェクトのコピー数は３である。
【００６９】
オブジェクトストレージシステムプロキシ１０２は、要求識別をカプセル化して、オブジェクト書込要求を生成する。オブジェクト書込要求の特定のフォーマットを図６に示す。オブジェクトストレージシステムプロキシ１０２は、オブジェクト書込要求の特定の識別ビットに、取得された要求識別をカプセル化する。本発明の実施形態では、ユーザグループ情報は、オブジェクト書込要求のＶＬＡＮ  ＩＤビットにカプセル化され、ストレージ方針情報は、オブジェクト書込要求のＩＰ  ＴｏＳビットにカプセル化される。
【００７０】
オブジェクトストレージシステムプロキシ１０２は、オブジェクト書込要求をスイッチ１０５１に送信する。
【００７１】
スイッチ１０５１は、オブジェクトストレージシステムプロキシ１０２によって送信されたオブジェクト書込要求を受信し、オブジェクト書込要求のＶＬＡＮ  ＩＤビット及びＴｏＳビット情報を解析して、それぞれユーザグループ情報及びストレージ方針情報を取得する。解析することによって取得されるユーザグループ情報及びストレージ方針情報に従って、フローテーブルのフローテーブルエントリが問合せされる。オブジェクト書込要求のＶＬＡＮ  ＩＤから解析されるユーザグループ情報及びオブジェクト書込要求のＩＰ  ＴｏＳビットから解析されるストレージ方針情報は、それぞれフローテーブルエントリのパケットヘッダフィールドにマッチさせるために使用されて、マッチするフローテーブルエントリを見つけ、その後オブジェクト書込要求は、マッチするフローテーブルエントリの転送ルールに従って転送される。
【００７２】
具体的には、オブジェクト書込要求に対して、フローテーブルエントリの転送ルールは、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、コントローラ１０４によって策定される、すなわち、オブジェクトストレージデバイスの残存記憶容量に従って、オブジェクト書込要求に対して、ターゲットオブジェクトストレージデバイスが選択される。たとえば、図４に示すフローテーブルでは、フローテーブルエントリ３は、オブジェクト書込要求にマッチするフローテーブルエントリであって、フローテーブルエントリ３の構造が、図５に示され、パケットヘッダフィールドのＶＬＡＮ  ＩＤ中の情報が、オブジェクト書込要求のＶＬＡＮ  ＩＤ中の情報にマッチし、パケットヘッダフィールドのＩＰ  ＴｏＳビット中の情報が、オブジェクト書込要求のＩＰ  ＴｏＳビット中の情報にマッチする。フローテーブルエントリ３の操作ルールが、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、コントローラ１０４によって決定される、すなわち、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量のサイズに従って、ターゲットオブジェクトストレージデバイスが決定される。一実施方法は、スイッチ１０５１が、オブジェクト書込要求を転送した回数をコントローラ１０４に定期的に報告し、回数は、フローテーブル中の各フローテーブルエントリに記録されること、又は、コントローラ１０４が、オブジェクト書込要求を転送した回数をスイッチ１０５１から定期的に取得し、回数は、フローテーブル中の各フローテーブルエントリに記録されること、又はオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌが、残存記憶容量をコントローラ１０４に報告することである。各オブジェクトストレージデバイスの残存記憶容量は、オブジェクト書込要求が各オブジェクトストレージデバイスに転送される回数、及び書き込まれることになるオブジェクトのサイズに従って計算され、回数は、スイッチ１０５１のフローテーブル中の各フローテーブルエントリによってカウントされる。具体的には、一実施手法は、例としてオブジェクトストレージデバイス１０６１を使用すると、コントローラ１０４は、オブジェクトストレージデバイス１０６１にオブジェクト書込要求を転送した回数、及びオブジェクト書込要求各回の書き込まれたオブジェクトのサイズに従って、記憶のためにオブジェクトストレージデバイス１０６１に書き込まれたオブジェクトの総サイズを計算し、回数は、各フローテーブルエントリに記録され、オブジェクトストレージデバイス１０６１の総記憶容量から占有されたオブジェクト記憶容量を引くことによって、オブジェクトストレージデバイス１０６１の残存記憶容量を取得する、というものである。同様に、一期間におけるオブジェクトストレージデバイス１０６２〜１０６Ｌの残存記憶容量を取得することができる。本発明の実施形態では、オブジェクト書込要求が、最初のオブジェクト書込要求であり、スイッチ１０５１のフローテーブルにはマッチするフローテーブルエントリがないとき、スイッチ１０５１は���Ｏｐｅｎｆｌｏｗプロトコルを使用することによって図３に示すセキュアチャネルを通じてオブジェクト書込要求をコントローラ１０４に転送する。コントローラ１０４は、現在のオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、オブジェクト書込要求に対して転送ルールを策定し、本発明の実施形態でフローテーブルエントリ３を生成し、フローテーブルエントリ３をスイッチ１０５１に配信する。スイッチ１０５１は、フローテーブルエントリ３に従ってフローテーブルを更新し、フローテーブルエントリ３の転送ルールに従って、オブジェクト書込要求を転送する。たとえば、スイッチ１０５１がオブジェクト書込要求を解析することによって取得するストレージ方針情報に従って、書き込まれるオブジェクトのコピー数は３であり、コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌから、最大の残存記憶容量を有する３つのオブジェクトストレージデバイスをターゲットオブジェクトストレージデバイスとして選択する。たとえば、オブジェクトストレージデバイス１０６３、１０６７、及び１０６８は、最大残存記憶容量を有する３つのオブジェクトストレージデバイスであり、その残存記憶容量は、すべて１０００Ｇであり、他のオブジェクトストレージデバイスの残存記憶容量は１０００Ｇ未満である、又はオブジェクトストレージデバイス１０６３、１０６７、及び１０６８は、最大残存記憶容量を有する３つのオブジェクトストレージデバイスであり、その残存記憶容量は、順番に１０００Ｇ、９５０Ｇ、及び９００Ｇであり、他のオブジェクトストレージデバイスの残存記憶容量は、９００Ｇ未満である。したがって、コントローラ１０４がオブジェクト書込要求に対して策定する操作ルールは、オブジェクト書込要求をオブジェクトストレージデバイス１０６４、１０６７、及び１０６８に転送することである。オブジェクト書込要求は、フローテーブルエントリ３の転送ルールに従ってスイッチ１０５１の宛先ポートに転送され、スイッチ１０５１の宛先ポートは、それを通じてスイッチ１０５１がオブジェクトストレージデバイス１０６４、１０６７、及び１０６８と個々に通信するポートである。コントローラ１０４は、オブジェクト書込要求で搬送される要求識別に従って、オブジェクトを記憶するオブジェクトストレージデバイスの情報を記録し、オブジェクトを記憶するオブジェクトストレージデバイスの記録された情報を使用することによって、オブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷を取得してもよく、オブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従って、オブジェクトを読み取るオブジェクト読取要求に対する転送ルールを策定し、オブジェクトを読み取るオブジェクト読取要求にマッチするフローテーブルエントリを生成し、フローテーブルエントリは、オブジェクトの要求識別を搬送し、オブジェクト読取要求で搬送される要求識別は、マッチするフローテーブルエントリを決定するために、フローテーブルエントリで搬送される要求識別にマッチする。特定の手順については、実施形態のオブジェクト読取要���部分の説明を参照してもよく、ここでは詳細を繰り返して説明しない。
【００７３】
スイッチ１０５１は、オブジェクト書込要求の宛先ＩＰアドレスを、オブジェクトストレージデバイス１０６２のＩＰアドレスに変え、オブジェクト書込要求の宛先ＭＡＣアドレスを、オブジェクトストレージデバイス１０６２のＭＡＣアドレスに変える。本発明の実施形態では、オブジェクト書込要求は、マッチするフローテーブルエントリの転送ルールに従って、オブジェクトストレージデバイス１０６４、１０６７、及び１０６８に個々に転送される。それに応じて、オブジェクト書込要求の宛先ＩＰアドレスは、オブジェクトストレージデバイス１０６４のＩＰアドレスに変えられ、オブジェクト書込要求の宛先ＭＡＣアドレスは、オブジェクトストレージデバイス１０６４のＭＡＣアドレスに変えられ、変更されたオブジェクト書込要求は、オブジェクトストレージデバイス１０６４に転送される。同様に、オブジェクトストレージデバイス１０６７及び１０６８に転送されるオブジェクト書込要求は変更され、変更されたオブジェクト書込要求が、オブジェクトストレージデバイス１０６７及び１０６８に個々に転送される。
【００７４】
フローテーブルエントリ３中のカウンタは、オブジェクト書込要求をオブジェクトストレージデバイス１０６４、１０６７、及び１０６８に転送した回数を個々に更新する。
【００７５】
オブジェクトストレージデバイス１０６４、１０６７、及び１０６８は、書き込まれたオブジェクトを記憶し、書き込まれたオブジェクトの要求識別をメタデータサーバ１０３に登録し、メタデータサーバ１０３は、オブジェクトの特定のストレージ位置情報を記憶しなくてもよいが、オブジェクトの要求識別だけは含む必要がある。
【００７６】
本発明の実施形態では、オブジェクト書込要求で搬送される要求識別は、ユーザグループ情報及びストレージ方針情報のうちの１つのみを含むんでもよく、これは本発明では限定されない。要求識別は少なくともユーザグループ情報を含むことが好ましい。
【００７７】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するオブジェクトストレージデバイスに要求識別を搬送するオブジェクト書込要求を転送するための処理方法に従って、コントローラが、オブジェクトストレージデバイスの残存記憶容量に従って、オブジェクト書込要求の転送ルールを配信してスイッチのフローテーブルエントリを生成し、スイッチは、マッチするフローテーブルエントリの転送ルールに従ってオブジェクト書込要求を転送し、それによってオブジェクトストレージデバイスの記憶容量の負荷均衡化を実施し、オブジェクトストレージデバイス間の情報相互作用を減少させる。さらに、オブジェクトストレージシステムに書き込まれたオブジェクトに対して、メタデータサーバは、オブジェクトの要求識別を記録するだけでよく、それによってメタデータサーバの作業負荷を軽減させる。
【００７８】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、オブジェクトストレージデバイスが追加されるとき、たとえば、オブジェクトストレージデバイス１０６１（Ｌ＋１）が追加されるとき、オブジェクトストレージデバイス１０６１（Ｌ＋１）はコントローラ１０４に登録され、コントローラ１０４に登録される情報は、オブジェクトストレージデバイス１０６１（Ｌ＋１）のＭＡＣアドレスと、スイッチ１０５１と通信するためのポート数と、記憶容量とを含む。オブジェクトストレージデバイス１０６１（Ｌ＋１）の登録情報を受信した後、コントローラ１０４は、オブジェクトストレージデバイス１０６１（Ｌ＋１）の登録情報を記録し、転送ルールを策定し、新しいフローテーブルエントリを生成し、フローテーブルエントリをスイッチ１０５１に配信する。
【００７９】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、オブジェクトストレージシステム中のオブジェクトストレージデバイスが、障害又は別の理由のために終了するとき、たとえば、オブジェクトストレージデバイス１０６１Ｌが終了するとき、コントローラ１０４は、オブジェクトストレージデバイス１０６１Ｌの状態変化メッセージを受信し、メッセージは、オブジェクトストレージデバイス１０６１ＬのＭＡＣアドレス、スイッチ１０５１と通信するためのポート番号、及び記憶容量情報を搬送し、コントローラ１０４は、状態変化メッセージに従って、オブジェクトストレージデバイス１０６１Ｌに転送することである転送ルールを有するフローテーブルエントリを削除する。オブジェクト読取要求をオブジェクトストレージデバイス１０６１Ｌに転送することである転送ルールを有するフローテーブルエントリに対して、コントローラ１０４は、オブジェクトストレージデバイス１０６１Ｌの冗長オブジェクトストレージデバイスに転送することである転送ルールを有するフローテーブルエントリを生成する。冗長オブジェクトストレージデバイスは、オブジェクトストレージデバイス１０６１Ｌのオブジェクトを記憶するオブジェクトストレージデバイスである。
【００８０】
したがって、オブジェクトストレージシステムにおけるソフトウェア定義ネットワークの使用は、オブジェクトストレージシステムのオブジェクトストレージデバイスの増加又は減少を実施し、オブジェクトストレージシステムの柔軟性を向上させる。
【００８１】
ストレージシステムにおいて操作要求を処理するための方法の実施形態の説明に従って、コントローラ１０４は、図８に示すように、以下のステップを含む、フローテーブルエントリ転送ルールを生成するための方法を提供する：
【００８２】
ステップ８０１：コントローラは、スイッチと通信するストレージデバイスの残存記憶容量情報を取得する。
【００８３】
ステップ８０２：コントローラは、ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成し、書込要求は、スイッチと通信するストレージデバイスにデータを書き込むために使用される。
【００８４】
一実施方法では、コントローラがスイッチと通信するストレージデバイスの残存記憶容量情報を取得することは、具体的には、ストレージデバイスによって報告される残存記憶容量情報をコントローラによって受信することを含む。
【００８５】
一実施方法では、コントローラがスイッチと通信するストレージデバイスの残存記憶容量情報を取得することは、具体的には、ストレージデバイスに書込要求を転送した回数及び書き込まれたデータのサイズをコントローラによって取得し、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録されることと、ストレージデバイスの記憶容量、書込要求の回数、及び書き込まれたデータのサイズに従ってストレージデバイスの残存記憶容量をコントローラによって計算することとを含む。
【００８６】
具体的には、オブジェクトストレージシステムでは、本発明の実施形態のコントローラ１０４が、フローテーブルエントリ転送ルールを生成するための方法を提供する方法に従って、ストレージデバイスが、具体的にはオブジェクトストレージデバイスであり、書込要求が、具体的にはオブジェクト書込要求であり、オブジェクト書込要求に従ってオブジェクトストレージデバイスに書き込まれるデータがオブジェクトである。
【００８７】
本発明の実施形態で提供されるストレージシステムでは、ソフトウェア定義ネットワークに基づくコントローラが、ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチするフローテーブルエントリの転送ルールを生成し、スイッチが、コントローラによって生成された転送ルールに従って書込要求を処理するようにし、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。本発明の実施形態に適用可能なストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、若しくはオブジェクトストレージシステムでもよく、又は、ファイルレベルストレージシステム、データブロックレベルストレージシステム、及びオブジェクトストレージシステムのうちの少なくとも２つのストレージシステムも含んでもよい。具体的には、オブジェクトストレージシステムへの適用可能性については、オブジェクト操作システムにおいてオブジェクト操作要求を処理する前述の実施形態を参照してもよく、ここでは詳細を繰り返して説明しない。
【００８８】
ストレージシステムにおいて操作要求を処理するための方法の実施形態の説明に従って、コントローラ１０４は、図９に示すように、以下のステップを含む、フローテーブルエントリ転送ルールを生成するための方法を提供する：
【００８９】
９０１：コントローラは、要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得する。
【００９０】
９０２：コントローラは、要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールを生成する。
【００９１】
一実施方法では、コントローラが要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得することは、具体的には、要求されるデータを記憶するストレージデバイスによって報告されるフロー負荷情報をコントローラによって受信することを含む。
【００９２】
一実施方法では、コントローラが要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得することは、具体的には、要求されるデータを記憶するストレージデバイスに操作要求を転送した回数をコントローラによって取得することを含み、回数は、スイッチのフローテーブル中のフローテーブルエントリに記録され、操作要求は、書込要求と、読取要求とを含む。
【００９３】
具体的には、オブジェクトストレージシステムでは、コントローラ１０４が本発明の実施形態においてフローテーブルエントリ転送ルールを生成するための方法を提供する方法により、ストレージデバイスは、具体的にはオブジェクトストレージデバイスであり、読取要求は、具体的にはオブジェクト読取要求であり、オブジェクト読取要求によって要求され、オブジェクトストレージデバイスに記憶されるデータはオブジェクトである。
【００９４】
本発明の実施形態で提供されるストレージシステムでは、ソフトウェア定義ネットワークに基づくコントローラが、要求されるデータを記憶するストレージデバイスのフロー負荷に従って、読取要求にマッチするフローテーブルエントリの転送ルールを生成し、スイッチが、コントローラによって生成された転送ルールに従って読取要求を処理するようにし、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。本発明の実施形態に適用可能なストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、若しくはオブジェクトストレージシステムでもよく、又は、ファイルレベルストレージシステム、データブロックレベルストレージシステム、及びオブジェクトストレージシステムのうちの少なくとも２つのハイブリッドストレージシステムも含んでもよい。具体的には、オブジェクトストレージシステムへの適用可能性については、オブジェクト操作システムにおいてオブジェクト操作要求を処理する前述の実施形態を参照してもよく、ここでは詳細を繰り返して説明しない。
【００９５】
本発明の前述の実施形態によれば、ストレージシステムにおいてソフトウェア定義ネットワークが使用され、ソフトウェア定義ネットワークでは、コントローラの特定の実施は、データ転送プレーン上のスイッチを通じた制御を実施するために、コントローラソフトウェアを実行するユニバーサルサーバでもよい。ユニバーサルサーバの構造は、中央処理装置、及びメモリなどを含み、中央処理装置及びメモリは、バスを使用することによって接続され、コントローラ及びスイッチは、前述の実施形態で説明した通信を実施する。データ転送プレーンに設置されるスイッチは、中央処理装置、及びメモリなどを含む、ユニバーサルスイッチ又はＯｐｅｎｆｌｏｗスイッチでもよく、中央処理装置及びメモリは、バスを使用することによって接続され、中央処理装置及びコントローラは、前述の実施形態で説明した通信を実施し、同時にオブジェクト操作要求の転送を実施する。本発明の実施形態では、コントローラ及びスイッチは、例示的に説明されるにすぎず、ソフトウェア定義ネットワークを実施することができる他のスイッチ及びコントローラも、本発明を実施するために使用されてもよい。
【００９６】
本発明の前述の方法の実施形態の説明によれば、本発明の一実施形態は、図１０に示すように、受信ユニット１００１と、問合せユニット１００２と、転送ユニット１００３とを含んだスイッチを提供する。受信ユニット１００１は、操作要求を受信するように構成され、操作要求は要求識別を搬送し、要求識別は、ユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含み、問合せユニット１００２は、要求識別に従って、操作要求にマッチするフローテーブルエントリを取得するためにスイッチのフローテーブルに問合せするように構成され、転送ユニット１００３は、マッチするフローテーブルエントリの転送ルールに従ってストレージデバイスの中からターゲットストレージデバイスに操作要求を転送するように構成される。
【００９７】
図１０に示すスイッチによれば、操作要求が読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるデータを記憶するストレージデバイスのフロー負荷に従って、コントローラによって策定され、操作要求が書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、ストレージデバイスの残存記憶容量に従って、コントローラによって策定される。
【００９８】
具体的には、オブジェクトストレージシステムでは、受信ユニット１００１は、オブジェクト操作要求を受信するように構成され、オブジェクト操作要求は、要求識別を搬送し、要求識別は、ユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを含み、問合せユニット１００２は、オブジェクト操作要求にマッチするフローテーブルエントリを取得するためにスイッチのフローテーブルを、要求識別に従って問合せするように構成され、転送ユニット１００３は、マッチするフローテーブルエントリの転送ルールに従って、オブジェクトストレージデバイスの中からターゲットオブジェクトストレージデバイスにオブジェクト操作要求を転送するように構成され、オブジェクト操作要求が、オブジェクト読取要求であるとき、マッチするフローテーブルエントリの転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従って、コントローラによって策定され、オブジェクト操作要求がオブジェクト書込要求であるとき、マッチするフローテーブルエントリの転送ルールは、オブジェクトストレージデバイスの残存記憶容量に従って、コントローラによって策定される。
【００９９】
本発明の実施形態で提供されるストレージシステムでは、要求識別を搬送する操作要求を、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するストレージデバイスに転送するための処理方法に従って、コントローラが、スイッチのフローテーブルエントリ中の転送ルールを策定し、スイッチが、フローテーブルエントリ中の転送ルールに従って操作要求を転送し、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。
【０１００】
本発明の前述の方法の実施形態の説明によれば、本発明の一実施形態は、図１１に示すように、取得ユニット１１０１と、生成ユニット１１０２とを含んだコントローラを提供し、取得ユニット１１０１は、スイッチと通信するストレージデバイスの残存記憶容量情報を取得するように構成され、生成ユニット１１０２は、ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成するように構成され、書込要求は、スイッチと通信するストレージデバイスにデータを書き込むために使用される。一実施方法では、取得ユニット１１０１は、具体的には、ストレージデバイスによって報告される残存記憶容量情報を受信するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、ストレージデバイスに書込要求を転送した回数及び書き込まれたデータのサイズを取得し、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録され、ストレージデバイスの記憶容量、書込要求の回数、及び書き込まれたデータのサイズに従ってストレージデバイスの残存記憶容量を計算するように構成される。
【０１０１】
具体的には、オブジェクトストレージシステムでは、取得ユニット１１０１は、スイッチと通信するオブジェクトストレージデバイスの残存記憶容量情報を取得するように構成され、生成ユニット１１０２は、オブジェクトストレージデバイスの残存記憶容量情報に従って、オブジェクト書込要求にマッチする転送ルールを生成するように構成され、オブジェクト書込要求は、スイッチと通信するオブジェクトストレージデバイスにオブジェクトを書き込むために使用される。一実施方法では、取得ユニット１１０１は、具体的には、オブジェクトストレージデバイスによって報告される残存記憶容量情報を受信するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、オブジェクトストレージデバイスにオブジェクト書込要求を転送した回数及び書き込まれたデータのサイズを取得し、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録され、オブジェクトストレージデバイスの記憶容量、オブジェクト書込要求の回数、及び書き込まれたオブジェクトのサイズに従ってオブジェクトストレージデバイスの残存記憶容量を計算するように構成される。
【０１０２】
本発明の実施形態で提供されるコントローラによれば、ソフトウェア定義ネットワークを使用することによって、コントローラは、ストレージシステム中の各ストレージデバイスの残存記憶容量に従って、スイッチのフローテーブルエントリ及び書込要求にマッチする転送ルールを策定し、それによって各ストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。
【０１０３】
本発明の前述の方法の実施形態の説明によれば、本発明の一実施形態は、コントローラを提供する。図１１に示すように、コントローラは、取得ユニット１１０１と、生成ユニット１１０２とを含む。本発明の実施形態では、取得ユニット１１０１は、要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得するように構成され、生成ユニット１１０２は、要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールを生成するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、要求されるデータを記憶するストレージデバイスによって報告されるフロー負荷情報を受信するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、要求されるデータを記憶するストレージデバイスに操作要求を転送する回数を取得するように構成され、回数は、スイッチのフローテーブルのフローテーブルエントリに記録され、操作要求は、書込要求と、読取要求とを含む。
【０１０４】
具体的には、オブジェクトストレージシステムでは、取得ユニット１１０１は、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷情報を取得するように構成され、生成ユニット１１０２は、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷情報に従って、オブジェクト読取要求にマッチする転送ルールを生成するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、要求されるオブジェクトを記憶するオブジェクトストレージデバイスによって報告されるフロー負荷情報を受信するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、要求されるオブジェクトを記憶するオブジェクトストレージデバイスにオブジェクト操作要求を転送する回数を取得するように構成され、回数は、スイッチのフローテーブルのフローテーブルエントリに記録され、オブジェクト操作要求は、オブジェクト書込要求と、オブジェクト読取要求とを含む。
【０１０５】
本発明の実施形態で提供されるコントローラによれば、ソフトウェア定義ネットワークを使用することによって、コントローラは、ストレージシステム中に要求されるデータを記憶するストレージデバイスのフロー負荷に従って、スイッチのフローテーブルエントリ及び読取要求にマッチする転送ルールを策定し、それによって各ストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。
【０１０６】
本発明の前述の装置実施形態で記載するスイッチ及びコントローラの特定の機能的説明については、方法の実施形態をさらに参照してもよく、加えて、適用シナリオについては、図２に示すアーキテクチャ図及び説明を参照してもよく、ここでは詳細を繰り返して説明しない。
【０１０７】
この明細書で開示される実施形態で記載される例と組み合わせて、ユニット及びアルゴリズムステップが、電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアの組合せによって実施されてもよいことを、当業者は認識し得る。機能がハードウェアによって行われるか、ソフトウェアによって行われるかは、技術的解決法の特定の用途及び設計制約条件に依存する。当業者は、様々な方法を使用して、各特定の用途に対して説明した機能を実施することができるが、実施は、本発明の範囲を逸脱すると考えられるべきではない。
【０１０８】
簡便な及び簡単な説明にするために、前述のシステム、装置、及びユニットの具体的な作業プロセスについては、前述の方法の実施形態における対応するプロセスを参照してもよく、ここでは詳細を再び説明しないことは、当業者には明確に理解され得る。
【０１０９】
本出願で提供されるいくつかの実施形態では、開示される装置及び方法は、他の方法で実施され得ることを理解されたい。たとえば、記載する装置実施形態は、例示にすぎない。たとえば、ユニット分割は、単に論理的機能分割であり、実際の実施においては他の分割であってもよい。たとえば、複数のユニット若しくは構成要素は、別のシステムに結合されてもよく、若しくは一体化されてもよく、又は、いくつかの機能は無視されてもよく、若しくは行われなくてもよい。さらに、表示される又は論じられる相互結合、又は直接結合、又は通信接続は、いくつかのインターフェースを通じて実施されてもよい。装置又はユニット間の間接結合又は通信接続は、電子的形式、機械的形式、又は他の形式で実施されてもよい。
【０１１０】
分かれた部分として記載するユニットは、物理的に分かれていてもよく、又は物理的に分かれていなくてもよく、ユニットとして表示する部分が、物理的ユニットでもよく、又は物理的ユニットでなくてもよく、１つの場所に設置されてもよく、又は複数のネットワークユニット上に分散されてもよい。ユニットの一部又は全部が、実際の必要に従って選択されて、諸実施形態の解決法の目的を実現してもよい。
【０１１１】
さらに、本発明の実施形態における機能ユニットが、１つの処理ユニットに統合されてもよく、又は、ユニットのそれぞれが、物理的に単体で存在してもよく、又は、２つ以上のユニットが、１つのユニットに統合される。
【０１１２】
機能が、ソフトウェア機能ユニットの形式で実装され、独立した製品として販売される又は使用されるとき、機能は、コンピュータ可読記憶媒体に記憶されもよい。このような理解に基づいて、本質的に本発明の技術的解決法、又は従来技術に寄与する部分、又は技術的解決法の一部は、ソフトウェア製品の形式で実施されてもよい。ソフトウェア製品は、記憶媒体に記憶され、本発明の実施形態で記載される方法のステップの全部又は一部を行うように、コンピュータデバイス（パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい）に命令するためのいくつかの命令を含む。前述の不揮発性記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ，  ＲＯＭ）、磁気ディスク、又は光ディスクなど、プログラムコードを記憶することができるいずれかの媒体を含む。
【０１１３】
前述の説明は、単に本発明の特定の実施方法であり、本発明の保護範囲を限定することを意図されていない。本発明において開示した技術範囲内で当業者に容易に考え出されるいかなる変形又は置換も、本発明の保護範囲内に入るものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１】
2018026184.tif 000003
【図２】
2018026184.tif 000004
【図３】
2018026184.tif 000005
【図４】
2018026184.tif 000006
【図５】
2018026184.tif 000007
【図６】
2018026184.tif 000008
【図７】
2018026184.tif 000009
【図８】
2018026184.tif 000010
【図９】
2018026184.tif 000011
【図１０】
2018026184.tif 000012
【図１１】
2018026184.tif 000013
【手続補正書】
【提出日】平成29年11月17日(2017.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を取得するように構成された、取得ユニットと、
前記スイッチと通信する前記ストレージデバイスの前記残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成するように構成された、生成ユニットであって、前記書込要求が、前記スイッチと通信する前記ストレージデバイスにデータを書き込むために使用される、生成ユニットと
を含み、
前記取得ユニットが、要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得するようにさらに構成され、
前記生成ユニットが、前記要求されるデータを記憶する前記ストレージデバイスの前記フロー負荷情報に従って、読取要求にマッチする転送ルールを生成するようにさらに構成される、コントローラ。
【請求項２】
前記取得ユニットが、前記スイッチと通信する前記ストレージデバイスによって報告される前記残存記憶容量情報を受信するように構成される、請求項１に記載のコントローラ。
【請求項３】
前記取得ユニットが、前記書込要求が前記スイッチと通信する前記ストレージデバイスに転送される回数及び書き込まれたデータのサイズを取得し、前記回数及び前記サイズが、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、
前記スイッチと通信する前記ストレージデバイスの記憶容量、前記書込要求の前記回数、及び前記書き込まれたデータの前記サイズに従って、前記スイッチと通信する前記ストレージデバイスの前記残存記憶容量を計算する
ように構成された、請求項１に記載のコントローラ。
【請求項４】
前記取得ユニットが、前記要求されるデータを記憶する前記ストレージデバイスによって報告される前記フロー負荷情報を受信するように構成される、請求項１に記載のコントローラ。
【請求項５】
前記取得ユニットが、要求されるデータを記憶する前記ストレージデバイスに操作要求が転送される回数を取得するように構成され、前記回数が、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、前記操作要求が、書込要求と、読取要求とを含む、請求項１に記載のコントローラ。
【請求項６】
フローテーブルエントリ転送ルールを生成するための方法であって、前記方法が、ストレージシステムに適用され、前記ストレージシステムが、コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラが前記スイッチと通信し、前記コントローラが前記スイッチのフローテーブルを策定し、配信するように構成され、前記方法が、
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を、前記コントローラによって取得するステップと、
前記スイッチと通信する前記ストレージデバイスの前記残存記憶容量情報に従って前記コントローラによって、書込要求にマッチする転送ルールを生成するステップであって、前記書込要求が、前記スイッチと通信する前記ストレージデバイスにデータを書き込むために使用される、ステップと
を含み、
前記方法が、
要求されるデータを記憶するストレージデバイスのフロー負荷情報を、前記コントローラによって取得するステップと、
前記要求されるデータを記憶する前記ストレージデバイスの前記フロー負荷情報に従って、読取要求にマッチする転送ルールを、前記コントローラによって生成するステップと
をさらに含む、方法。
【請求項７】
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を、前記コントローラによって取得する前記ステップが、
前記スイッチと通信する前記ストレージデバイスによって報告される前記残存記憶容量情報を、前記コントローラによって受信するステップ
を含む、請求項６に記載の方法。
【請求項８】
前記スイッチと通信する前記ストレージデバイスの残存記憶容量情報を、前記コントローラによって取得する前記ステップが、
前記書込要求が前記スイッチと通信する前記ストレージデバイスに転送される回数及び書き込まれたデータのサイズを、前記コントローラによって取得するステップであって、前記回数及び前記サイズが、前記スイッチの前記フローテーブルのフローテーブルエントリに記録される、ステップと、
前記スイッチと通信する前記ストレージデバイスの記憶容量、前記書込要求の前記回数、及び前記書き込まれたデータの前記サイズに従って、前記スイッチと通信する前記ストレージデバイスの前記残存記憶容量を、前記コントローラによって計算するステップと
を含む、請求項６に記載の方法。
【請求項９】
要求されるデータを記憶するストレージデバイスのフロー負荷情報を、前記コントローラによって取得する前記ステップが、
前記要求されるデータを記憶する前記ストレージデバイスによって報告される前記フロー負荷情報を、前記コントローラによって受信するステップ
を含む、請求項６に記載の方法。
【請求項１０】
要求されるデータを記憶するストレージデバイスのフロー負荷情報を、前記コントローラによって取得する前記ステップが、
要求されるデータを記憶する前記ストレージデバイスに操作要求が転送される回数を、前記コントローラによって取得するステップであって、前記回数が、前記スイッチの前記フローテーブルのフローテーブルエントリに記録され、前記操作要求が、書込要求と、読取要求とを含む、ステップ
を含む、請求項６に記載の方法。
【請求項１１】
コントローラであって、前記コントローラが、ストレージシステムに適用され、前記ストレージシステムが、前記コントローラと、スイッチと、前記スイッチと通信するストレージデバイスとを含み、前記コントローラがスイッチと通信し、前記コントローラが、前記スイッチのフローテーブルを策定し、配信するように構成され、前記コントローラが、中央処理装置と、メモリとを含み、前記中央処理装置及び前記メモリが、バスを使用することによって接続され、前記メモリが、コンピュータ命令を記憶するように構成され、前記中央処理装置が、請求項６から１０のいずれか一項に記載の方法を実施するために、前記メモリに記憶された前記コンピュータ命令を実行する、コントローラ。
【請求項１２】
コンピュータ命令を記憶し、コンピュータが前記コンピュータ命令を実行するとき、請求項６から１０のいずれか一項に記載の方法を実施するように構成された、コンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
第２の態様によれば、本発明の実施形態が、フローテーブルエントリ転送ルールを生成するための方法を提供し、この方法は、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラはスイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、この方法は、
スイッチと通信するストレージデバイスの残存記憶容量情報をコントローラによって取得するステップと、
ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールをコントローラによって生成するステップであって、書込要求はスイッチと通信するストレージデバイスにデータを書き込むために使用される、ステップと
を含む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
第３の態様によれば、本発明の一実施形態が、フローテーブルエントリ転送ルールを生成するための方法を提供し、この方法は、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、この方法は、
要求されるデータを記憶するストレージデバイスのフロー負荷情報をコントローラによって取得するステップと、
要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールをコントローラによって生成するステップと
を含む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
第４の態様によれば、本発明の一実施形態が、スイッチを提供し、スイッチは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、スイッチは、
操作要求を受信するように構成された受信ユニットであって、操作要求は要求識別を搬送し、要求識別はユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む、受信ユニットと、
要求識別に従って、スイッチのフローテーブルに問合せして、操作要求にマッチするフローテーブルエントリを取得するように構成された、問合せユニットと、
マッチするフローテーブルエントリの転送ルールに従って、ストレージデバイスの中からターゲットストレージデバイスに操作要求を転送するように構成された、転送ユニットと
を含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
第５の態様によれば、本発明の一実施形態が、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、
スイッチと通信するストレージデバイスの残存記憶容量情報を取得するように構成された、取得ユニットと、
ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチする転送ルールを生成するように構成された、生成ユニットであって、書込要求は、スイッチと通信するストレージデバイスにデータを書き込むために使用される、生成ユニットと
を含む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
第６の態様によれば、本発明の一実施形態が、コントローラを提供し、コントローラは、ストレージシステムに適用され、ストレージシステムは、コントローラと、スイッチと、スイッチと通信するストレージデバイスとを含み、コントローラは、スイッチと通信し、コントローラは、スイッチのフローテーブルを策定し、配信するように構成され、コントローラは、
要求されるデータを記憶するストレージデバイスのフロー負荷情報を取得するように構成された、取得ユニットと、
要求されるデータを記憶するストレージデバイスのフロー負荷情報に従って、読取要求にマッチする転送ルールを生成するように構成された、生成ユニットと
を含む。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
方法は、読取要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
方法は、書込要求がターゲットストレージデバイスに転送される回数を、スイッチによって更新するステップをさらに含み、回数は、マッチするフローテーブルエントリに記録される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
コントローラ１０４及びスイッチ１０５１〜１０５ｍによって形成されるソフトウェア定義ネットワークでは、コントローラ１０４は、セキュアチャネルを使用することによってスイッチ１０５１〜１０５ｍと通信する。たとえば、コントローラ１０４は、Ｏｐｅｎｆｌｏｗプロトコルを使用することによってスイッチ１０５１〜１０５ｍと通信してもよく、コントローラ１０４は、スイッチ１０５１〜１０５ｍに記憶されたフローテーブルのフローテーブルエントリを策定し、更新する。本発明の実施形態では、コントローラ１０４とスイッチ１０５１との間でＯｐｅｎｆｌｏｗプロトコルが使用されることは、例示的な説明にすぎない。本発明は、ソフトウェア定義ネットワークでの実施に別のプロトコルが使用される方法にも適用可能である。図３に示すように、例としてスイッチ１０５１及びコントローラ１０４を使用すると、コントローラ１０４は、スイッチ１０５１におけるフローテーブルのフローテーブルエントリを策定し、更新し、スイッチ１０５１がオブジェクト操作要求を受信するとき、オブジェクト操作要求を解析し、スイッチ１０５１のフローテーブル中のオブジェクト操作要求にマッチするフローテーブルエントリに問合せし、マッチするフローテーブルエントリの転送ルールに従ってオブジェクト操作要求を処理する。具体的には、一実施方法では、スイッチ１０５１中のフローテーブルは、フローテーブルエントリ１及びフローテーブルエントリ２〜Ｒによって形成される。ここでＲは自然数である。図４に示すように、スイッチ１０５１は、オブジェクト操作要求を受信し、フローテーブルのフローテーブルエントリに問合せし、一般にフローテーブルのフローテーブルエントリは、ストリームラインの形で（ｉｎ  ａ  ｓｔｒｅａｍ  ｌｉｎｅ  ｍａｎｎｅｒ）問合せされ、問合せすることによってオブジェクト操作要求にマッチするフローテーブルエントリが取得される場合、マッチするフローテーブルエントリの転送ルールに従って処理を行う。図４に示すフローテーブルのフローテーブルエントリについては、特定の構造が、図５に示され、３つの部分すなわちパケットヘッダフィールド、カウンタ、及び転送ルールを含む。パケットヘッダフィールドは、オブジェクト操作要求にマッチさせるために使用され、カウンタは、フローテーブルエントリにマッチするオブジェクト操作要求が処理される回数をカウントするために使用され、転送ルールは、たとえば、オブジェクト操作要求をどのように転送するかを判断するため、操作要求がどのポートに転送されるかを判断するためなど、オブジェクト操作要求の転送方法を決定するために使用される。図６に示すように、パケットヘッダフィールドは、入力ポートと、ソース媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ，  ＭＡＣ）アドレスと、宛先ＭＡＣアドレスと、イーサネットタイプと、仮想ローカルエリアネットワーク識別（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ，  ＶＬＡＮ  ＩＤ）と、ソースインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ，  ＩＰ）アドレスと、宛先ＩＰアドレスと、ＩＰポートと、ＩＰサービス種別（Ｔｙｐｅ  ｏｆ  Ｓｅ��ｖｉｃｅ，  ＴｏＳ）ビットと、ソース伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ，  ＴＣＰ）ポートと、宛先ＴＣＰポートとを含む。本発明の実施形態では、オブジェクト操作要求が、要求識別をカプセル化してもよく、要求識別は、ユーザグループ情報、及びストレージ方針情報のうちの少なくとも１つを含む。たとえば、ユーザグループ情報は、オブジェクト操作要求にカプセル化される。具体的には、ユーザグループ情報は、オブジェクト操作要求のＶＬＡＮ  ＩＤビットにカプセル化されてもよく、ストレージ方針情報は、オブジェクト操作要求のＩＰ  ＴｏＳビットにカプセル化されてもよい。要求識別のカプセル化は、オブジェクトストレージシステムプロキシ１０２によって実施されてもよい。オブジェクト操作要求を受信した後、スイッチ１０５１は、スイッチ１０５１のフローテーブルにおいて、オブジェクト操作要求にマッチするフローテーブルエントリに問合せする。オブジェクト操作要求は、問合せによって取得されたマッチするフローテーブルエントリの転送ルールに従って処理される。転送ルールに従ってオブジェクト操作要求が転送された後、カウンタは、フローテーブルエントリに従ってオブジェクト操作要求を転送するための回数を更新する。オブジェクト操作要求にマッチするフローテーブルエントリが存在しないとき、オブジェクト操作要求は、コントローラ１０４に転送され、コントローラ１０４は、オブジェクト操作要求に対して転送ルールを策定し、フローテーブルエントリを生成し、スイッチ１０５１中のフローテーブルを更新する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、要求識別を搬送するオブジェクト操作要求が、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するオブジェクトストレージデバイスに転送され、コントローラが、スイッチのフローテーブルエントリ中の転送ルールを策定し、スイッチが、フローテーブルエントリ中の転送ルールに従ってオブジェクト操作要求を転送し、それによってオブジェクトストレージデバイスの負荷均衡化を実施し、オブジェクトストレージデバイス間の情報相互作用を減少させる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
クライアント１０１が読取要求をオブジェクトストレージシステムに送信する例を使用すると、クライアント１０１は、読取要求を送信し、オブジェクトストレージシステムプロキシ１０２は、クライアント１０１によって送信された読取要求を受信し、読取要求に従ってメタデータサーバ１０３にアクセスし、要求されるオブジェクトの要求識別を取得し、要求識別は、ユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを含み、要求識別は、メタデータサーバ１０３において、オブジェクトがオブジェクトストレージデバイスに書き込まれた後、オブジェクト書込要求で搬送されるユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを記憶するために使用され、メタデータサーバ１０３に記憶される要求識別は、書き込まれたオブジェクトを記憶するオブジェクトストレージデバイスによってメタデータサーバ１０３に登録されるオブジェクトの要求識別の内容によって決定される。クライアントが、オブジェクトストレージシステムに対してオブジェクトの読取要求を開始するとき、メタデータサーバ１０３は、オブジェクトの要求識別を取得するために問合せされ、ユーザグループ情報は、オブジェクトをオブジェクトストレージシステムに書き込むクライアントのＩＰアドレス情報、又はオブジェクトをオブジェクトストレージシステムに書き込むクライアントを識別することができる他の情報でもよく、ストレージ方針情報は、オブジェクトストレージデバイス中の要求されるオブジェクトのコピー数でもよい。オブジェクト読取要求については、要求されるオブジェクトがオブジェクトストレージデバイスにすでに記憶されているので、要求されるオブジェクトがオブジェクトストレージデバイスに書き込まれるとき、オブジェクトの要求識別は、メタデータサーバ１０３に送信される。本発明の実施形態では、ユーザグループ情報及びストレージ方針情報を含んだ要求識別が、例として使用され、ユーザグループ情報は、オブジェクトをオブジェクトストレージシステムに書き込むクライアントのＩＰアドレス情報であり、ストレージ方針情報は、要求されるオブジェクトのコピー数であり、ここでは３である。オブジェクトストレージシステムプロキシ１０２は、メタデータサーバ１０３から取得された要求識別をカプセル化して、オブジェクト読取要求を生成し、オブジェクト読取要求の特定のフォーマットが、図６に示されている。本発明の実施形態では、ユーザグループ情報は、オブジェクト読取操作要求のＶＬＡＮ  ＩＤビットにカプセル化され、ストレージ方針情報は、オブジェクト読取操作要求のＩＰ  ＴｏＳビットにカプセル化される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
スイッチ１０５１は、ストレージシステムプロキシ１０２によって送信されたオブジェクト読取要求を受信し、オブジェクト読取要求のＶＬＡＮ  ＩＤビット及びＩＰ  ＴｏＳビット情報を解析して、それぞれユーザグループ情報及びストレージ方針情報を取得する。解析することによって取得されるユーザグループ情報及びストレージ方針情報に従って、フローテーブルのフローテーブルエントリが問合せされる。オブジェクト読取要求のＶＬＡＮ  ＩＤビットから解析されるユーザグループ情報及びオブジェクト読取要求のＩＰ  ＴｏＳビットから解析されるストレージ方針情報は、フローテーブルエントリのパケットヘッダフィールドにマッチさせるために使用されて、それぞれマッチするフローテーブルエントリを見つけ、その後、オブジェクト読取要求は、マッチするフローテーブルエントリの転送ルールに従って転送される。具体的には、オブジェクト読取要求に対して、フローテーブルエントリの転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従って、コントローラ１０４によって策定される、すなわち、要求されるオブジェクトが位置しているオブジェクトストレージデバイスのフロー負荷に従って、ターゲットオブジェクトストレージデバイスが選択される。たとえば、図４に示すフローテーブルでは、フローテーブルエントリ３は、オブジェクト読取要求にマッチするフローテーブルエントリであって、フローテーブルエントリ３の構造が、図５に示され、パケットヘッダフィールドのＶＬＡＮ  ＩＤ中の情報が、オブジェクト読取要求のＶＬＡＮ  ＩＤ中の情報にマッチし、パケットヘッダフィールドのＩＰ  ＴｏＳビット中の情報が、オブジェクト読取要求のＩＰ  ＴｏＳビット中の情報にマッチする。フローテーブルエントリ３の転送ルールは、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従ってコントローラ１０４によって策定され、たとえば、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３は、要求されるオブジェクトの３つのコピーを記憶するオブジェクトストレージデバイスである。コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従って、オブジェクトストレージデバイス１０６１は、最も軽いフロー負荷のオブジェクトストレージデバイスであると決定し、転送ルールは、オブジェクトストレージデバイス１０６１にオブジェクト読取要求を転送することである。コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従って転送ルールを策定し、具体的には、スイッチ１０５１は、オブジェクト操作要求を転送した回数を、コントローラ１０４に定期的に報告し、回数は、フローテーブルの各フローテーブルエントリに記録される、又はコントローラ１０４は、オブジェクト操作要求を転送した回数を、スイッチ１０５１から定期的に取得し、回数は、フローテーブルの各フローテーブルエントリに記録される、又はオブジェクトストレージデバイス１０６１、１０６２、及び１０６３は、フローテーブルエントリの転送ルールを更新するために、フロー負荷をコン��ローラ１０４に報告する。ここではオブジェクト操作要求は、オブジェクト読取要求と、オブジェクト書込要求とを含む。一方法では、コントローラ１０４は、オブジェクト操作要求がオブジェクトストレージデバイス１０６１、１０６２、及び１０６３に転送される回数に従ってフローテーブルエントリの転送ルールを策定し、又は更新し、回数は、フローテーブルエントリのカウンタに記録される。たとえば、オブジェクト操作要求をオブジェクトストレージデバイス１０６１に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについて、オブジェクト操作要求を転送した総回数は５０００であり、回数は、各フローテーブルエントリのカウンタによって記録され、オブジェクト操作要求をオブジェクトストレージデバイス１０６２に転送することである転送ルールを有する４５個のフローテーブルエントリがあって、前述の期間に、この４５個のフローテーブルについて、オブジェクト操作要求を転送した総回数は５５００であり、回数は、オブジェクト操作要求を転送した各フローテーブルエントリ回数のカウンタによって記録され、オブジェクト操作要求をオブジェクトストレージデバイス１０６３に転送することである転送ルールを有する５０個のフローテーブルエントリがあって、前述の期間に、この５０個のフローテーブルについては、オブジェクト操作要求を転送した総回数は６０００であり、回数は、オブジェクト操作要求を転送した各フローテーブルエントリ回数のカウンタによって記録される。前述の期間において、オブジェクトストレージデバイス１０６１は、最も軽い負荷を有する。したがって、本発明の実施形態では、オブジェクト読取要求によって要求されるオブジェクトについて、コントローラ１０４がオブジェクトを記憶するオブジェクトストレージデバイス１０６１、１０６２、及び１０６３のフロー負荷に従ってオブジェクト読取要求に対して策定する転送ルールは、オブジェクト読取要求をオブジェクトストレージデバイス１０６１に転送することである。マッチするフローテーブルエントリが、スイッチ１０５１によって問合せすることによって取得されないとき、スイッチ１０５１は、Ｏｐｅｎｆｌｏｗプロトコルを使用することによって、図２に示すセキュアチャネルを通じてオブジェクト読取要求をコントローラ１０４に転送し、コントローラ１０４は、オブジェクト読取要求で搬送される要求識別に従って要求されるオブジェクトを決定し、要求されるオブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従ってオブジェクト読取要求に対してフローテーブルエントリを策定し、スイッチ１０５１中のフローテーブルを更新するために、フローテーブルエントリをスイッチ１０５１に配信し、スイッチ１０５１は、コントローラ１０４によって配信されたフローテーブルエントリに従ってオブジェクト読取要求を転送する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
本発明の実施形態で提供されるオブジェクトストレージシステムでは、ソフトウェア定義ネットワークにおいてスイッチを使用することによって対応するオブジェクトストレージデバイスに要求識別を搬送するオブジェクト読取要求を転送するための処理方法に従って、コントローラが、ターゲットオブジェクトストレージデバイスのフロー負荷に従って、オブジェクト読取要求の転送ルールに対応するフローテーブルエントリを配信し、スイッチが、フローテーブルエントリ中の転送ルールに従ってオブジェクト読取要求を転送し、それによってオブジェクトストレージデバイスの負荷均衡化を実施し、オブジェクトストレージデバイス間の情報相互作用を減少させる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
クライアント１０１がオブジェクトストレージシステムに書込要求を送信する例を使用すると、クライアント１０１は、書込要求を送信し、オブジェクトストレージシステムプロキシ１０２は、クライアント１０１によって送信された書込要求を受信する。オブジェクトが、オブジェクトストレージシステムに書き込まれることになるので、メタデータサーバ１０３には、書き込まれることになるオブジェクトの要求識別を有さず、オブジェクトストレージシステムプロキシ１０２は、書き込まれることになるオブジェクトの要求識別を書込要求から取得する。要求識別は、ユーザグループ情報及びストレージ方針情報のうちの少なくとも１つを含み、ユーザグループ情報は、オブジェクトストレージシステムにオブジェクトを書き込むクライアントのＩＰアドレス情報、又はオブジェクトストレージシステムにオブジェクトを書き込むクライアントを識別することができる他の情報でもよく、ストレージ方針は、オブジェクトストレージデバイス中の書き込まれたオブジェクトのコピー数でもよい。本発明の実施形態では、ユーザグループ情報及びストレージ方針情報を含んだ要求識別が例として使用され、ユーザグループ情報はクライアントのＩＰアドレス情報であり、ストレージ方針情報は、具体的には、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌ中のユーザによって要求されるオブジェクトのコピー数であり、ここではオブジェクトのコピー数は３である。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
スイッチ１０５１は、オブジェクトストレージシステムプロキシ１０２によって送信されたオブジェクト書込要求を受信し、オブジェクト書込要求のＶＬＡＮ  ＩＤビット及びＩＰ  ＴｏＳビット情報を解析して、それぞれユーザグループ情報及びストレージ方針情報を取得する。解析することによって取得されるユーザグループ情報及びストレージ方針情報に従って、フローテーブルのフローテーブルエントリが問合せされる。オブジェクト書込要求のＶＬＡＮ  ＩＤから解析されるユーザグループ情報及びオブジェクト書込要求のＩＰ  ＴｏＳビットから解析されるストレージ方針情報は、それぞれフローテーブルエントリのパケットヘッダフィールドにマッチさせるために使用されて、マッチするフローテーブルエントリを見つけ、その後オブジェクト書込要求は、マッチするフローテーブルエントリの転送ルールに従って転送される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
具体的には、オブジェクト書込要求に対して、フローテーブルエントリの転送ルールは、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、コントローラ１０４によって策定される、すなわち、オブジェクトストレージデバイスの残存記憶容量に従って、オブジェクト書込要求に対して、ターゲットオブジェクトストレージデバイスが選択される。たとえば、図４に示すフローテーブルでは、フローテーブルエントリ３は、オブジェクト書込要求にマッチするフローテーブルエントリであって、フローテーブルエントリ３の構造が、図５に示され、パケットヘッダフィールドのＶＬＡＮ  ＩＤ中の情報が、オブジェクト書込要求のＶＬＡＮ  ＩＤ中の情報にマッチし、パケットヘッダフィールドのＩＰ  ＴｏＳビット中の情報が、オブジェクト書込要求のＩＰ  ＴｏＳビット中の情報にマッチする。フローテーブルエントリ３の操作ルールが、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、コントローラ１０４によって決定される、すなわち、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量のサイズに従って、ターゲットオブジェクトストレージデバイスが決定される。一実施方法は、スイッチ１０５１が、オブジェクト書込要求を転送した回数をコントローラ１０４に定期的に報告し、回数は、フローテーブル中の各フローテーブルエントリに記録されること、又は、コントローラ１０４が、オブジェクト書込要求を転送した回数をスイッチ１０５１から定期的に取得し、回数は、フローテーブル中の各フローテーブルエントリに記録されること、又はオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌが、残存記憶容量をコントローラ１０４に報告することである。各オブジェクトストレージデバイスの残存記憶容量は、オブジェクト書込要求が各オブジェクトストレージデバイスに転送される回数、及び書き込まれることになるオブジェクトのサイズに従って計算され、回数は、スイッチ１０５１のフローテーブル中の各フローテーブルエントリによってカウントされる。具体的には、一実施手法は、例としてオブジェクトストレージデバイス１０６１を使用すると、コントローラ１０４は、オブジェクトストレージデバイス１０６１にオブジェクト書込要求を転送した回数、及びオブジェクト書込要求各回の書き込まれたオブジェクトのサイズに従って、記憶のためにオブジェクトストレージデバイス１０６１に書き込まれたオブジェクトの総サイズを計算し、回数は、各フローテーブルエントリに記録され、オブジェクトストレージデバイス１０６１の総記憶容量から占有されたオブジェクト記憶容量を引くことによって、オブジェクトストレージデバイス１０６１の残存記憶容量を取得する、というものである。同様に、一期間におけるオブジェクトストレージデバイス１０６２〜１０６Ｌの残存記憶容量を取得することができる。本発明の実施形態では、オブジェクト書込要求が、最初のオブジェクト書込要求であり、スイッチ１０５１のフローテーブルにはマッチするフローテーブルエントリがないとき、スイッチ１０５１は���Ｏｐｅｎｆｌｏｗプロトコルを使用することによって図３に示すセキュアチャネルを通じてオブジェクト書込要求をコントローラ１０４に転送する。コントローラ１０４は、現在のオブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌの残存記憶容量に従って、オブジェクト書込要求に対して転送ルールを策定し、本発明の実施形態でフローテーブルエントリ３を生成し、フローテーブルエントリ３をスイッチ１０５１に配信する。スイッチ１０５１は、フローテーブルエントリ３に従ってフローテーブルを更新し、フローテーブルエントリ３の転送ルールに従って、オブジェクト書込要求を転送する。たとえば、スイッチ１０５１がオブジェクト書込要求を解析することによって取得するストレージ方針情報に従って、書き込まれるオブジェクトのコピー数は３であり、コントローラ１０４は、オブジェクトストレージデバイス１０６１、１０６２、及び１０６３〜１０６Ｌから、最大の残存記憶容量を有する３つのオブジェクトストレージデバイスをターゲットオブジェクトストレージデバイスとして選択する。たとえば、オブジェクトストレージデバイス１０６３、１０６７、及び１０６８は、最大残存記憶容量を有する３つのオブジェクトストレージデバイスであり、その残存記憶容量は、すべて１０００Ｇｂであり、他のオブジェクトストレージデバイスの残存記憶容量は１０００Ｇｂ未満である、又はオブジェクトストレージデバイス１０６３、１０６７、及び１０６８は、最大残存記憶容量を有する３つのオブジェクトストレージデバイスであり、その残存記憶容量は、順番に１０００Ｇｂ、９５０Ｇｂ、及び９００Ｇｂであり、他のオブジェクトストレージデバイスの残存記憶容量は、９００Ｇｂ未満である。したがって、コントローラ１０４がオブジェクト書込要求に対して策定する操作ルールは、オブジェクト書込要求をオブジェクトストレージデバイス１０６４、１０６７、及び１０６８に転送することである。オブジェクト書込要求は、フローテーブルエントリ３の転送ルールに従ってスイッチ１０５１の宛先ポートに転送され、スイッチ１０５１の宛先ポートは、それを通じてスイッチ１０５１がオブジェクトストレージデバイス１０６４、１０６７、及び１０６８と個々に通信するポートである。コントローラ１０４は、オブジェクト書込要求で搬送される要求識別に従って、オブジェクトを記憶するオブジェクトストレージデバイスの情報を記録し、オブジェクトを記憶するオブジェクトストレージデバイスの記録された情報を使用することによって、オブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷を取得してもよく、オブジェクトを記憶するオブジェクトストレージデバイスのフロー負荷に従って、オブジェクトを読み取るオブジェクト読取要求に対する転送ルールを策定し、オブジェクトを読み取るオブジェクト読取要求にマッチするフローテーブルエントリを生成し、フローテーブルエントリは、オブジェクトの要求識別を搬送し、マッチするフローテーブルエントリを決定するために、オブジェクト読取要求で搬送される要求識別を、フローテーブルエントリで搬送される要求識別とマッチさせる。特定の手順については、実施形態のオブ���ェクト読取要求部分の説明を参照してもよく、ここでは詳細を繰り返して説明しない。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
本発明の実施形態で提供されるストレージシステムでは、ソフトウェア定義ネットワークに基づくコントローラが、ストレージデバイスの残存記憶容量情報に従って、書込要求にマッチするフローテーブルエントリの転送ルールを生成し、スイッチが、コントローラによって生成された転送ルールに従って書込要求を処理するようにし、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。本発明の実施形態に適用可能なストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、若しくはオブジェクトストレージシステムでもよく、又は、ファイルレベルストレージシステム、データブロックレベルストレージシステム、及びオブジェクトストレージシステムのうちの少なくとも２つを含むストレージシステムでもよい。具体的には、オブジェクトストレージシステムへの適用可能性については、オブジェクト操作システムにおいてオブジェクト操作要求を処理する前述の実施形態を参照してもよく、ここでは詳細を繰り返して説明しない。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
本発明の実施形態で提供されるストレージシステムでは、ソフトウェア定義ネットワークに基づくコントローラが、要求されるデータを記憶するストレージデバイスのフロー負荷に従って、読取要求にマッチするフローテーブルエントリの転送ルールを生成し、スイッチが、コントローラによって生成された転送ルールに従って読取要求を処理するようにし、それによってストレージデバイスの負荷均衡化を実施し、ストレージデバイス間の情報相互作用を減少させる。本発明の実施形態に適用可能なストレージシステムは、ファイルレベルストレージシステム、データブロックレベルストレージシステム、若しくはオブジェクトストレージシステムでもよく、又は、ファイルレベルストレージシステム、データブロックレベルストレージシステム、及びオブジェクトストレージシステムのうちの少なくとも２つを含むハイブリッドストレージシステムでもよい。具体的には、オブジェクトストレージシステムへの適用可能性については、オブジェクト操作システムにおいてオブジェクト操作要求を処理する前述の実施形態を参照してもよく、ここでは詳細を繰り返して説明しない。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
具体的には、オブジェクトストレージシステムでは、取得ユニット１１０１は、スイッチと通信するオブジェクトストレージデバイスの残存記憶容量情報を取得するように構成され、生成ユニット１１０２は、オブジェクトストレージデバイスの残存記憶容量情報に従って、オブジェクト書込要求にマッチする転送ルールを生成するように構成され、オブジェクト書込要求は、スイッチと通信するオブジェクトストレージデバイスにオブジェクトを書き込むために使用される。一実施方法では、取得ユニット１１０１は、具体的には、オブジェクトストレージデバイスによって報告される残存記憶容量情報を受信するように構成される。一実施方法では、取得ユニット１１０１は、具体的には、オブジェクトストレージデバイスにオブジェクト書込要求を転送した回数及び書き込まれたデータのサイズを取得し、回数及びサイズは、スイッチのフローテーブルのフローテーブルエントリに記録され、オブジェクトストレージデバイスの記憶容量、オブジェクト書込要求を転送する回数、及び書き込まれたオブジェクトのサイズに従ってオブジェクトストレージデバイスの残存記憶容量を計算するように構成される。
【外国語明細書】
2018026184000001.pdf