(57)【要約】【課題】  動的にアドレスを追跡するための装置、システム及び方法を提供する。【解決手段】  動的アドレス追跡システムにおいて、トークン・モジュールは、複数のストレージ・デバイスを含むストレージ・システム内のデータにアクセスするジョブのためのトークンを作成する。トークンは、ジョブ名を含む。ジョブは、バッチ・ジョブである。ストレージ・モジュールは、ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納する。場所情報は、トークンによってインデックス付けされる。さらに、場所情報は、入力／出力デバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。通信モジュールは、ジョブ名を含む診断コマンドを受信する。トークン・モジュールは、ジョブ名を用いてトークンを再構成する。ストレージ・モジュールは、診断コマンドに応答して、トークンによってインデックス付けされた場所情報を取得する。【選択図】      図６
2010539770.tif 000002
【特許請求の範囲】
【請求項１】
動的アドレス追跡のための方法であって、
複数のストレージ・デバイスを含むストレージ・システム内のデータにアクセスするジョブのためのトークンを作成することであって、前記トークンはジョブ名を含み、前記ジョブはバッチ・ジョブである、前記作成することと、
前記ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納することであって、前記場所情報は、前記トークンによってインデックス付けされ、入力／出力（Ｉ／Ｏ）デバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む、前記格納することと、
前記ジョブ名を含む診断コマンドを受信することと、
前記ジョブ名を用いて前記トークンを再構成することと、
前記診断コマンドに応答して、前記トークンによってインデックス付けされた前記場所情報を取得することと
を含む、方法。
【請求項２】
前記取得された場所情報を用いて前記データを取得することをさらに含む、請求項１に記載の方法。
【請求項３】
前記ジョブが終了するときに、前記トークンによってインデックス付けされた前記トークン・テーブルの場所情報を削除することをさらに含む、請求項１に記載の方法。
【請求項４】
前記ジョブが付加的なアドレス空間にアクセスするときに、前記トークンによってインデックス付けされた場所情報を前記トークン・テーブルに付加することをさらに含む、請求項１に記載の方法。
【請求項５】
アドレス空間がアクセスされた後で、前記トークンによってインデックス付けされた場所情報を前記トークン・テーブルから除去することをさらに含む、請求項１に記載の方法。
【請求項６】
前記取得された場所情報を診断データ・ダンプとしてリストアップすることをさらに含む、請求項１に記載の方法。
【請求項７】
前記取得された場所情報と共に前記データをリストアップすることをさらに含む、請求項６に記載の方法。
【請求項８】
前記取得された場所情報をジョブ追跡記録としてリストアップすることをさらに含む、請求項１に記載の方法。
【請求項９】
前記トークンはシステム名をさらに含む、請求項１に記載の方法。
【請求項１０】
データ・セットにアクセスするホストを記述するアクセス情報を前記トークン・テーブルに格納することをさらに含む、請求項１に記載の方法。
【請求項１１】
動的アドレス追跡のための装置であって、プロセッサによって実行されたときに、請求項１から請求項１０までのいずれかに記載のステップを行うコンピュータ可読プログラム・コードを含む、装置。
【請求項１２】
コンピュータ可読プログラム・コードをコンピュータ・システムに組み込むことを含む、コンピュータ・インフラストラクチャを配置するための方法であって、前記プログラムは、前記コンピュータ・システムによって実行されたときに、請求項１から請求項１０までのいずれかに記載のステップを行う、方法。
【請求項１３】
動的アドレス空間追跡のためのシステムであって、
ホストと、
複数のストレージ・デバイスを含み、前記ホストのためのデータ・セットを格納するように構成された、ストレージ・システムと、
請求項１から請求項１０までのいずれかに記載のステップを行うようにプロセッサによって実行されるコンピュータ可読プログラム・コードを有するサーバと
を含む、システム。
【請求項１４】
コンピュータ上で実行されたときに、前記コンピュータに請求項１から請求項１０までのいずれかに記載のステップを行わせるコンピュータ可読プログラム・コードを含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス追跡に関し、より具体的には、動的アドレス追跡に関する。
【背景技術】
【０００２】
エンタープライズ・データ処理システムは、ストレージ・システムを含むことが多い。ストレージ・システムは、１つ又は複数のサイトにわたって分散する複数のストレージ・デバイス及び多数の入力／出力（Ｉ／Ｏ）デバイスを含むことがある。
【０００３】
ホストは、ストレージ・システムにおけるストレージ・デバイスのデータにアクセスすることができる。多くの場合、ホストは、バッチ・ジョブの一部としてデータにアクセスすることができる。複数のホストが、ストレージ・システムに同時にアクセスすることがある。
【０００４】
ストレージ・システムについてのデータ内にエラー・アクセス・データがあるときに、管理者が、データに対する入力アクセス及び出力アクセスを追跡することを望む場合がある。あいにく、ストレージ・システムに含まれるストレージ・デバイス及びＩ／Ｏデバイスの数は多いので、どのアドレス空間、Ｉ／Ｏデバイス及びストレージ・デバイスが用いられているのかが予め分からないと、バッチ・ジョブのためのジョブ追跡記録及び/又はデータ・ダンプを行うことは不可能な場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の説明から、動的にアドレスを追跡する装置、システム及び方法に対する必要性が存在する。有益なことに、こうした装置、システム及び方法は、データ・ダンプ及びＩ／Ｏ追跡をサポートすることが好ましい。
【課題を解決するための手段】
【０００６】
本発明は、当該技術分野の現状に応じて、特に、現在利用可能なアドレス追跡方法によっては未だ完全に解決されていない当該技術分野における問題及び必要性に応じて、開発された。従って、本発明は、上述した当該技術分野の欠点の多く又は全てを克服する、動的にアドレスを追跡するための装置、システム及び方法を提供するために開発された。
【０００７】
動的にアドレスを追跡するための装置には、トークンを作成するステップと、場所情報を格納するステップと、診断コマンドを受信するステップと、トークンを再構成するステップと、場所情報を取得するステップとを機能的に実行するように構成された複数のモジュールが設けられる。説明される実施形態におけるこれらのモジュールは、トークン・モジュール、ストレージ・モジュール及び通信モジュールを含む。一実施形態においては、装置は提示モジュールを含む。
【０００８】
トークン・モジュールは、ストレージ・システム内のデータにアクセスするジョブのためのトークンを作成する。ストレージ・システムは、複数のストレージ・デバイスを含む。トークンは、ジョブ名を含む。ジョブは、バッチ・ジョブである。
【０００９】
ストレージ・モジュールは、ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納する。場所情報は、トークンによってインデックス付けされる。さらに、場所情報は、Ｉ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。
【００１０】
通信モジュールは、ジョブ名を含む診断コマンドを受信する。トークン・モジュールは、ジョブ名を用いてトークンを再構成する。ストレージ・モジュールは、診断コマンドに応答して、トークンによってインデックス付けされた場所情報を取得する。
【００１１】
動的にアドレスを追跡するための本発明のシステムも提示される。システムは、データ処理システムにおいて具体化することができる。特に、システムは、一実施形態においては、ホスト、ストレージ・システム及びサーバを含む。
【００１２】
ストレージ・システムは、複数のストレージ・デバイスを含む。ストレージ・デバイスは、ホストのためのデータ・セットを格納する。サーバは、有形のストレージ・デバイスに格納されプロセッサによって実行される、計算可能なコンピュータ可読プログラムを含む。コンピュータ可読プログラムは、トークン・モジュール、ストレージ・モジュール及び通信モジュールを含む。
【００１３】
トークン・モジュールは、ストレージ・システム内のデータにアクセスするジョブのためのトークンを作成する。トークンは、ジョブ名を含む。ジョブは、バッチ・ジョブである。
【００１４】
ストレージ・モジュールは、ジョブによってアクセスされたデータについての場所情報をトークン・テーブル内に格納する。場所情報は、トークンによってインデックス付けされる。さらに、場所情報は、Ｉ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。
【００１５】
通信モジュールは、ジョブ名を含む診断コマンドを受信する。トークン・モジュールは、ジョブ名を用いてトークンを再構成する。ストレージ・モジュールは、診断コマンドに応答して、トークンによってインデックス付けされた場所情報を取得する。一実施形態においては、提示モジュールは、取得された場所情報を診断データ・ダンプとしてリストアップする。
【００１６】
動的にアドレスを追跡するための本発明の方法も提示される。開示される実施形態における方法は、説明される装置及びシステムの動作に関して上述の機能を実現するためのステップを実質的に含む。一実施形態においては、方法は、トークンを作成することと、場所情報を格納することと、診断コマンドを受信することと、トークンを再構成することと、場所情報を取得することとを含む。
【００１７】
トークン・モジュールは、複数のストレージ・デバイスを含むストレージ・システム内のデータにアクセスするジョブのためのトークンを作成する。トークンは、ジョブ名を含む。ジョブは、バッチ・ジョブである。
【００１８】
ストレージ・モジュールは、ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納する。場所情報は、トークンによってインデックス付けされる。さらに、場所情報は、Ｉ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。
【００１９】
通信モジュールは、ジョブ名を含む診断コマンドを受信する。トークン・モジュールは、ジョブ名を用いてトークンを再構成する。ストレージ・モジュールは、診断コマンドに応答して、トークンによってインデックス付けされた場所情報を取得する。
【００２０】
本発明は、トークン・テーブルを使用して動的にアドレス空間を追跡する。さらに、本発明は、トークン・テーブルを用いて、データ・ダンプ及びジョブ追跡記録をサポートすることができる。本発明のこれらの特徴及び利点は、以下の説明及び特許請求の範囲からより完全に明らかになるか、又は、以下に説明されるような本発明の実施によって学ぶことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明によるデータ処理システムの一実施形態を示す概略的なブロック図である。
【図２】本発明のストレージ・デバイスの一実施形態を示す概略的なブロック図である。
【図３】本発明の動的アドレス追跡装置の一実施形態を示す概略的なブロック図である。
【図４】本発明のトークンの一実施形態を示す概略的なブロック図である。
【図５】本発明のトークンの代替的な一実施形態を示す概略的なブロック図である。
【図６】本発明のアドレス追跡方法の一実施形態を示す概略的なフロー・チャート図である。
【図７】本発明のアドレス取得方法の一実施形態を示す概略的なフロー・チャート図である。
【図８】本発明のトークン・テーブルの一実施形態を示す概略的なブロック図である。
【図９】本発明のトークン・テーブル・データの一実施形態を示す概略的なブロック図である。
【発明を実施するための形態】
【００２２】
ここで、本発明の実施形態が、例示のみの目的で、図面を参照しながら説明される。
【００２３】
本明細書で説明される機能的ユニットの多くは、それらが独立に実装されていることをより具体的に強調するために、モジュールと表記される。モジュールは、メモリ、超大規模集積（ＶＬＳＩ）回路、ゲート・アレイ、プログラマブル論理、及び／又はディスクリート・コンポーネントを備えた１つ又は複数のプロセッサといったハードウェア回路を含むことができる。ハードウェア回路は、配線論理機能を果たし、有形のストレージ・デバイス上に格納されたコンピュータ可読プログラムを実行し、及び／又は、プログラムされた機能を実行することができる。
【００２４】
本明細書全体を通して、「一実施形態」、「実施形態」、又は同様の用語に言及することは、実施形態に関連して説明される具体的な特徴、構造又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。従って、本明細書全体を通して、「一実施形態においては」、「実施形態においては」、又は同様の用語の語句が現れたときには、必ずというわけではないが、全て同じ実施形態を指す。
【００２５】
さらに、本発明の説明される特徴、構造又は特性は、１つ又は複数の実施形態において、任意の適切な方法で組み合わせることができる。以下の説明においては、本発明の実施形態が完全に理解されるように、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース・クエリ、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどの例のような、多くの具体的な細部が提供される。しかしながら、当業者であれば、本発明は、具体的な細部のうちの１つ又は複数がなくても、又は、他の方法、コンポーネント、材料などを用いて、実現できることが分かるであろう。他の例においては、周知の構造、材料又は動作は、本発明の態様が不明瞭になることを避けるために、詳細には表示又は説明しない。
【００２６】
図１は、本発明によるデータ処理システム（ＤＰＳ）１００の一実施形態を示す概略的なブロック図である。ＤＰＳ１００は、１つ又は複数のホスト・コンピュータ１１０、ネットワーク１１５、ルータ１２０、内部ネットワーク１２５、サーバ１３０、ストレージ通信チャネル１５０、１つ又は複数のストレージ・サブシステム１４０、及び１つ又は複数のテープ・ドライブ１８０を含む。サーバ１３０、ストレージ通信チャネル１５０、ストレージ・サブシステム１４０及びテープ・ドライブ１８０は、ストレージ・システム１７５を具体化したものである。
【００２７】
本明細書で用いられる場合には、ホスト・コンピュータ１１０は、ホスト１１０と呼ばれる。また、サーバ１３０は、メインフレーム・コンピュータ、多数のブレード・サーバを含むブレード・センターなどとして構成することもできる。簡略化のために、４つのホスト１１０、１つのネットワーク１１５、１つのルータ１２０、１つの内部ネットワーク１２５、１つのサーバ１３０、１つのストレージ通信チャネル１５０及び２つのストレージ・サブシステム１４０が示されるが、任意の数のホスト１１０、ネットワーク１１５、ルータ１２０、内部ネットワーク１２５、サーバ１３０、ストレージ通信チャネル１５０及びストレージ・サブシステム１４０を配置することができる。当業者であれば、ＤＰＳ１００は、ブリッジ、スキャナ、プリンタなどといった他のデータ処理装置を含むことができることも容易に認識できるであろう。
【００２８】
各々のストレージ・サブシステム１４０は、１つ又は複数のストレージ・コントローラ１６０及び１つ又は複数のストレージ・デバイス１７０を含む。ストレージ・デバイス１７０は、ハード・ディスク・ドライブ、光ストレージ・デバイス、マイクロメカニカル・ストレージ・デバイス、ホログラフィック・ストレージ・デバイス及び半導体ストレージ・デバイスとすることができる。テープ・ドライブ１８０は、一般的にストレージ・デバイス１７０と呼ばれることもある。代替的には、ストレージ・デバイス１７０は、単純ディスク束（ＪＢＯＤ）、独立ディスクの冗長アレイ（ＲＡＩＤ）、テープ・ライブラリ、ストレージ・サブシステム、テープ・バックアップ、コンパクト・ディスク読み取り専用メモリ（ＣＤ  ＲＯＭ）ライブラリなどとして構成することもできる。
【００２９】
一実施形態においては、ＤＰＳ１００は、ホスト１１０のためにデータ・ストレージ及びデータ操作サービスを提供する。例えば、ホスト１１０は、ネットワーク１１５、ルータ１２０、内部ネットワーク１２５、サーバ１３０及びストレージ通信チャネル１５０を通して、ストレージ・デバイス１７０のためのストレージ・コントローラ１６０に要求を送ることによって、ストレージ・サブシステム１４０のストレージ・デバイス１７０に格納されたデータにアクセスすることができる。ストレージ・コントローラ１６０は、ストレージ・デバイス１７０からデータを取得し、そのデータをホスト１１０に送ることができる。一実施形態においては、サーバ１３０は、ホスト１１０によって用いられるデータベース・アプリケーションを実行して、データにアクセスすることができる。
【００３０】
ホスト１１０とサーバ１３０とを接続するネットワーク１１５は、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、イーサネット・ネットワーク、トークンリング・ネットワークなどから選択することができる。ネットワーク１１５は、データを転送するための１つ又は複数の物理パス及び／又は論理パスを提供することができる、１つ又は複数のノードを含むことができる。内部ネットワーク１２５及びストレージ通信チャネル１５０は、例えば、ＬＡＮ、ＷＡＮなどとすることができる。
【００３１】
図２は、本発明のデータ・ストレージ・デバイス２００の一実施形態を示す概略的なブロック図である。デバイス２００は、１つ又は複数のストレージ・デバイス１７０、１つ又は複数のテープ・ドライブ１８０及びＩ／Ｏデバイス２０５を含む。デバイス２００の説明は図１の要素を参照し、同じ番号は同じ要素を指す。
【００３２】
ストレージ・デバイス１７０及びテープ・ドライブ１８０の各々には、固有のストレージ・デバイス名を用いてアクセスすることができる。例えば、第１のストレージ・デバイス１７０ａには、ストレージ・デバイス名「ＤＤ９７２」を用いてアクセスすることができる。
【００３３】
図１のコントローラ１６０及び／又はサーバ１３０は、Ｉ／Ｏデバイス２０５を通してストレージ・デバイス１７０及びテープ・ドライブ１８０と通信することができる。Ｉ／Ｏデバイス２０５は、１つ又は複数のスイッチを含むことができる。スイッチは、デバイス間のポイント・ツー・ポイント接続を提供することができる。一実施形態においては、スイッチは、非ブロッキング・スイッチとして構成される。ＤＰＳデバイスは、Ｉ／Ｏデバイス名を用いてＩ／Ｏデバイス２０５をアドレス指定することができる。
【００３４】
例えば、サーバ１３０は、Ｉ／Ｏデバイス２０５を通して第１のテープ・ドライブ１８０ａと通信することができる。サーバ１３０は、Ｉ／Ｏデバイス名、データのためのアドレス空間、データを格納するデータ・セットのためのデータ・セット名、及びストレージ・デバイス名を用いて、データにアクセスすることができる。ストレージ・デバイス１７０へのアクセスを追跡することは、Ｉ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名の保有を必要とする場合がある。
【００３５】
残念ながら、こうした情報は、データ・アクセスを追跡することを望む管理者が入手できないことが多い。以下に説明されるように、本発明は、動的にアドレスを追跡し、診断リスト作成をサポートすることができる。
【００３６】
図３は、本発明の動的アドレス追跡装置３００の一実施形態を示す概略的なブロック図である。装置３００は、図１のサーバ１３０によって具体化することができる。代替的には、装置３００は、図１のコントローラ１６０によって具体化することができる。装置３００は、トークン・モジュール３０５、トークン・テーブル３１０、ストレージ・モジュール３１５、通信モジュール３２０及び提示モジュール３２５を含む。装置３００の説明は、図１及び図２の要素を参照し、同じ番号は同じ要素を指す。
【００３７】
トークン・モジュール３０５、ストレージ・モジュール３１５、通信モジュール３２０及び提示モジュール３２５は、それぞれ、１つ又は複数のコンピュータ可読プログラムとして構成することができる。各々のコンピュータ可読プログラムは、サーバ・ハード・ディスク・ドライブ又はストレージ・デバイス１７０といった有形のストレージ・デバイスに格納することができる。サーバ・プロセッサなどのプロセッサは、各々のコンピュータ可読プログラムを実行することができる。当業者には周知のように、通信モジュール３２０は、データ・バス、バッファ及び状態レジスタとのインターフェースなどの電子コンポーネントも含むことができる。
【００３８】
トークン・モジュール３０５は、ストレージ・システム１７５内のデータにアクセスするジョブのためのトークンを作成する。トークンは、ジョブ名を含む。ジョブは、バッチ・ジョブである。ストレージ・モジュール３１５は、ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納する。場所情報は、トークンによってインデックス付けされる。さらに、場所情報は、アクセスされるデータについてのＩ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。
【００３９】
通信モジュール３２０は、ジョブ名を含む診断コマンドを受信する。トークン・モジュール３０５は、ジョブ名を用いてトークンを再構成する。ストレージ・モジュール３１５は、診断コマンドに応答して、トークンによってインデックス付けされた場所情報を取得する。一実施形態においては、提示モジュール３２５は、取得された場所情報を診断データ・ダンプとしてリストアップする。装置３００は、動的にアドレスを追跡し、管理者がバッチ・ジョブから場所情報及びデータにアクセスすることを可能にする。管理者は、障害及び／又はエラーの原因を判断するといった診断目的のために、場所情報及びデータを利用することができる。
【００４０】
図４は、本発明のトークン４００ａの一実施形態を示す概略的なブロック図である。以下に説明されるように、トークン４００ａは、トークン・テーブルの場所情報へのインデックスとして用いられる。示される実施形態においては、トークン４００ａは、バッチ・ジョブのためのジョブ名４０５を含む。一実施形態においては、ジョブ名４０５は、元のジョブ名のハッシュとして構成される。
【００４１】
図５は、本発明のトークン４００ｂの代替的な一実施形態を示す概略的なブロック図である。図５に示されるように、トークン４００ｂは、ジョブ名４０５を含む。さらに、示されるトークン４００ｂは、システム名４１０を含む。システム名４１０は、ストレージ・サブシステム１４０、ストレージ・システム１７５などを識別することができる。一実施形態においては、トークン４００ｂは、ジョブ名４０５及びシステム名４１０のハッシュである。
【００４２】
以下に続く概略的なフロー・チャート図は、一般に、論理フロー・チャート図として説明される。従って、示された順序及び名前を付けられたステップは、提示される方法の一実施形態を示すものである。他のステップ及び方法は、示される方法の機能、論理、若しくは１つ又は複数のステップに対する効果、又はそれらの一部について、同等であると考えることができる。さらに、用いられる形式及び記号は、方法の論理的ステップを説明するために与えられ、方法の範囲を限定するものではないと理解される。フロー・チャート図では様々な矢印の種類及び線の種類が使用されることがあるが、これらは、対応する方法の範囲を限定するものではないと理解される。実際に、いくつかの矢印又は他の連結線を用いて、方法の論理的な流れのみを示すことができる。例えば、矢印は、示される方法における列挙されたステップ間の不特定の長さの待ち時間又は監視時間を示すことができる。さらに、特定の方法が行われる順序は、対応するステップの示される順序に厳密に従う場合も従わない場合もある。
【００４３】
図６は、本発明のアドレス空間追跡方法５００の一実施形態を示す概略的なフロー・チャート図である。方法の説明は、図１から図５の要素を参照し、同じ番号は同じ要素を指す。方法５００は、説明された図１から図５の装置及びシステムの動作に関して上述された機能を実現するためのステップを実質的に含む。一実施形態においては、方法５００は、コンピュータ可読プログラムを有する有形のストレージ・デバイスを含むコンピュータ・プログラム製品で実装される。コンピュータ可読プログラムは、サーバ１３０及び／又はコントローラ１６０などのコンピュータ・システムに組み込むことができ、コンピュータ・システムと組み合わされたプログラムは、方法５００を行うことができる。
【００４４】
トークン・モジュール３０５は、ストレージ・システム１７５内のデータにアクセスするジョブのためのトークン４００を作成する（５０５）。ジョブは、バッチ・ジョブである。一実施形態においては、ホスト１００は、バッチ・ジョブを実行し、ストレージ・デバイス１７０に格納されたデータにアクセスする。代替的には、ホスト１００は、サーバ１３０がバッチ・ジョブを実行することを要求することができる。
【００４５】
トークン４００は、ジョブ名４０５を含む。当業者には周知のように、トークン・モジュール３０５は、ジョブ名４０５をハッシュすることができる。代替的な実施形態においては、トークン４００は、ジョブ名４０５及びシステム名４１０を含む。
【００４６】
ストレージ・モジュール３１５は、ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納する（５１０）。トークン・テーブルは、以下で詳細に説明される。場所情報は、トークン４００によってインデックス付けされる。一実施形態においては、場所情報は、アクセスされるデータについてのＩ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む。
【００４７】
一実施形態においては、ストレージ・モジュール３１５は、ＳＱＬコマンドを用いて場所情報を格納する（５１０）。例えば、ストレージ・モジュール３１５は、表１に示されるようなＳＱＬコマンドを発行して、場所情報を格納することができる（５１０）。表においては、「Ｔｏｋｅｎ＿Ｔａｂｌｅ」はトークン・テーブルを指し、「Ｔｏｋｅｎ」はトークン・テーブル内のトークンの列を指し、「Ｄｅｖｉｃｅ＿ｎａｍｅ」はストレージ・デバイス名の列を指し、「Ａｄｄｒｅｓｓ＿ｓｐａｃｅ」はアドレス空間の列を指し、「Ｄａｔａ＿ｓｅｔ」はデータ・セットの列を指し、「Ｓｔｏｒａｇｅ＿ｎａｍｅ」はストレージ・システム名の列を指し、「Ｔｏｋｅｎ＿ｖａｌｕｅ」はトークン４００を指し、「Ｄｅｖｉｃｅ＿ｎａｍｅ＿ｖａｌｕｅ」はストレージ・デバイス名を指し、「Ａｄｄｒｅｓｓ＿ｓｐａｃｅ＿ｖａｌｕｅ」はアドレス空間を指し、「Ｄａｔａ＿ｓｅｔ＿ｖａｌｕｅ」はデータ・セットを指し、「Ｓｔｏｒａｇｅ＿ｎａｍｅ＿ｖａｌｕｅ」はストレージ・システム名を指す。
【表１】
2010539770.tif 000003
【００４８】
一実施形態において、ジョブが付加的なアドレス空間にアクセスするときは、ストレージ・モジュール３１５は、トークン４００によってインデックス付けされた付加的な場所情報をトークン・テーブルに付加する（５１５）。例えば、ホスト１０５は、１つ又は複数の付加的なストレージ・デバイス１７０内の付加的なアドレス空間にアクセスすることができる。ストレージ・モジュール３１５は、付加的にアクセスされるアドレス空間についてのＩ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名をトークン・テーブルに付加することができる（５１５）。付加的な場所情報は、トークン４００によってアクセスされる。
【００４９】
一実施形態においては、アドレス空間がアクセスされた後で、ストレージ・モジュール３１５は、トークン４００によってインデックス付けされた場所情報をトークン・テーブルから除去する（５２０）。例えば、付加的な場所情報によって参照されたデータがアクセスされた後で、ストレージ・モジュール３１５は、付加的な場所情報をトークン・テーブルから除去することができる。第１のアドレス空間がアクセスされた後で、ストレージ・モジュール３１５は、表２に示されるようなＳＱＬコマンドを使用して、第１のアドレス空間についての場所情報を除去することができる。
【表２】
2010539770.tif 000004
【００５０】
一実施形態においては、ストレージ・モジュール３１５は、データ・セットにアクセスするホスト１１０を記述するアクセス情報をトークン・テーブル内に格納する（５２５）。アクセス情報は、ホスト識別子、ホスト１１０へのパスなどを含むことができる。一実施形態においては、ストレージ・モジュール３１５は、ＳＱＬコマンドを使用してアクセス情報を格納する。表３は、アクセス情報を格納するためのＳＱＬコマンドの一例を示す。表においては、「Ｈｏｓｔ＿ｎａｍｅ」はトークン・テーブル内のホスト名の列を指し、「Ｈｏｓｔ＿ｎａｍｅ＿ｖａｌｕｅ」はホスト名を指す。
【表３】
2010539770.tif 000005
【００５１】
特定の実施形態においては、ストレージ・モジュール３１５は、ジョブが終了するときにトークン４００によってインデックス付けされたトークン・テーブルの場所情報を削除し（５３０）、方法５００は終了する。ストレージ・モジュール３１５は、表４に示されるようなＳＱＬコマンドを使用してトークン・テーブルを削除することができる（５３０）。
【表４】
2010539770.tif 000006
【００５２】
アドレス空間追跡方法５００は、ストレージ・システム１７５内のデータにアクセスするバッチ・ジョブのための場所情報を格納する。以下に説明されるように、場所情報は、診断目的のために取得することができる。従って、場所情報は、バッチ・ジョブによって用いられるＩ／Ｏデバイス２０５、ストレージ・デバイス１７０及びアドレス空間が予め分かっていなくても利用可能である。
【００５３】
図７は、本発明のアドレス取得方法６００の一実施形態を示す概略的な略フロー・チャート図である。方法６００の説明は、図１から図６の要素を参照し、同じ番号は同じ要素を指す。方法６００は、説明された図１から図６の装置及びシステムの動作に関して上述された機能を実現するためのステップを実質的に含む。一実施形態においては、方法６００は、コンピュータ可読プログラムを有する有形のストレージ・デバイスを含むコンピュータ・プログラム製品で実装される。コンピュータ可読プログラムは、サーバ１３０及び／又はコントローラ１６０などのコンピュータ・システム内に組み込むことができ、コンピュータ・システムと組み合わされたプログラムは、方法６００を行うことができる。
【００５４】
方法６００が開始され、通信モジュール３２０は、ジョブ名４０５を含む診断コマンドを受信する（６０５）。管理者は、診断コマンドをワークステーションからサーバ１３０に送ることができる。特定の実施形態においては、サーバ１３０は、診断コマンドをコントローラ１６０に送る。
【００５５】
トークン・モジュール３０５は、ジョブ名４０５を用いてトークンを再構成する（６１０）。一実施形態においては、トークン・モジュール３０５は、ジョブ名４０５をハッシュする。特定の実施形態においては、トークン・モジュール３０５はまた、システム名４１０をハッシュし、システム名４１０のハッシュをトークン４００に加える。代替的な実施形態においては、トークン・モジュール３０５は、ジョブ名４０５とシステム名４１０とを連結し、連結された名前をハッシュする。
【００５６】
ストレージ・モジュール３１５は、診断コマンドに応答して、トークン４００によってインデックス付けされた場所情報をトークン・テーブルから取得する（６１５）。一実施形態においては、ストレージ・モジュール３１５は、ＳＱＬコマンドを使用して場所情報を取得する。表５は、場所情報を取得するためのＳＱＬの一実施形態を示す。
【表５】
2010539770.tif 000007
【００５７】
一実施形態においては、提示モジュール３２５は、取得された場所情報及びデータを診断データ・ダンプとしてリストアップする（６２０）。データ・ダンプは、ジョブ名４０５によって識別される、各々のストレージ・システムがアクセスするためのＩ／Ｏデバイス２０５、ストレージ・デバイス１７０、アドレス空間及びデータを、リストアップすることができる。提示モジュール３２５は、取得された場所情報及びデータをファイルにリストアップすることができる（６２０）。ファイルは、フラット・ファイル、リンク・アレイのうちの１つのアレイなどとすることができる。代替的には、提示モジュール３２５は、取得された場所情報及びデータのリストをモニタ上に表示することができる。
【００５８】
一実施形態においては、提示モジュール３２５は、取得された場所情報をジョブ追跡記録としてリストアップし（６２５）、方法６００は終了する。ジョブ追跡記録は、ジョブ名４０５によって識別される、各々のストレージ・システムがアクセスするためのＩ／Ｏデバイス２０５、ストレージ・デバイス１７０、アドレス空間を示すことができる。提示モジュール３２５は、ジョブ追跡記録をモニタ上に提示することができる。代替的には、提示モジュール３２５は、ジョブ追跡記録をファイルに格納することができる。
【００５９】
アドレス空間取得方法６００は、診断コマンドに応答して、ストレージ・システム１７５へのデータ・アクセスのための場所情報及びデータを取得する。さらに、方法６００は、場所情報をデータ・ダンプとして及び／又はジョブ追跡記録としてリストアップし、ジョブが開始される前にジョブによって用いられるＩ／Ｏデバイス２０５、ストレージ・デバイス１７０及びアドレス空間が知られていなくても、管理者が場所情報及びデータを検討することを可能にする。
【００６０】
図８は、本発明のトークン・テーブル７００の一実施形態を示す概略的なブロック図である。トークン・テーブル７００は、データ・アクセスのための場所情報を格納する（５１０）ストレージ・モジュール３１５によって作成することができる。トークン・テーブル７００の説明は、図１から図７の要素を参照し、同じ番号は同じ要素を指す。
【００６１】
トークン・テーブル７００は、複数のエントリ７０５を含む。各々のエントリ７０５は、トークン７１０、Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０を含む。Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０は、それぞれ、複数のＩ／Ｏデバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名についての値を含むことができる。Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０の内容は、ジョブが実行されるときにジョブによってその時点で用いられているリソースを反映するように、動的に変化する。
【００６２】
トークン・テーブル７００は、各々のエントリ７０５を復帰改行文字、改行文字などによって区切った状態で、フラット・ファイル内に格納することができる。さらに、トークン７１０、Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０は、それぞれ、カンマ、セミコロン、タブなどといった区切り文字によって分離することができる。
【００６３】
トークン・テーブル７００は、当業者に周知データベース・テーブルとして編成することもできる。一実施形態においては、各々のエントリ７０５は、データ・フィールドのアレイとして編成される。トークン７１０、Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０は、それぞれ、別個のデータ・フィールドに格納することができる。各々のエントリ７０５は、エントリ７０５を次に続くエントリ及び後続のエントリ７０５にリンクするポインタを含むことができる。
【００６４】
図９は、本発明のトークン・テーブル・データ８００の一実施形態を示す概略的なブロック図である。図９のトークン・テーブル８００は、トークン７１０、Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５及びストレージ・デバイス名７３０についてのデータ値を入れた状態で示される。さらに、各々のエントリ７０５は、ホストのデータ値８０５を含む。
【００６５】
一例においては、ストレージ・モジュール３１５は、表６に示されるようなＳＱＬコマンドを発行することによって、第１のエントリ７０５ａを格納することができる（５１０）。Ｉ／Ｏデバイス名７１５、アドレス空間７２０、データ・セット名７２５は、それぞれ、番号によって区別される複数の列を含むことができる。
【表６】
2010539770.tif 000008
【００６６】
トークンＢ２７３４９  ７１０ａによって表されるジョブのデータ・アクセスが完了した後で、ストレージ・モジュール３１５は、表７に示されるようなＳＱＬコマンドを用いて、トークンＢ２７３４９についてのトークン・テーブル・エントリ７０５を削除することができる（５３０）。
【表７】
2010539770.tif 000009
【００６７】
本発明は、トークン・テーブル７００を使用して動的にアドレスを追跡する。さらに、本発明は、トークン・テーブルを用いて、データ・ダンプ及びジョブ追跡記録をサポートすることができる。本発明は、その本質的な特性から逸脱することなく、他の特定の形態で具体化することができる。説明された実施形態は、あらゆる点で、単なる例示に過ぎず、限定的なものではないと考えられる。従って、本発明の範囲は、前述の説明ではなく特許請求の範囲によって表される。特許請求の範囲と同等なものの意味及び範囲内で行われる全ての変更は、本発明の範囲内に含まれる。
【図１】
2010539770.tif 000010
【図２】
2010539770.tif 000011
【図３】
2010539770.tif 000012
【図４】
2010539770.tif 000013
【図５】
2010539770.tif 000014
【図６】
2010539770.tif 000015
【図７】
2010539770.tif 000016
【図８】
2010539770.tif 000017
【図９】
2010539770.tif 000018
【手続補正書】
【提出日】平成22年6月16日(2010.6.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動的アドレス追跡のための方法であって、
複数のストレージ・デバイスを含むストレージ・システム内のデータにアクセスするジョブのためのトークンを作成することであって、前記トークンはジョブ名を含み、前記ジョブはバッチ・ジョブである、前記作成することと、
前記ジョブによってアクセスされるデータについての場所情報をトークン・テーブルに格納することであって、前記場所情報は、前記トークンによってインデックス付けされ、入力／出力（Ｉ／Ｏ）デバイス名、アドレス空間、データ・セット名及びストレージ・デバイス名を含む、前記格納することと、
前記ジョブ名を含む診断コマンドを受信することと、
前記ジョブ名を用いて前記トークンを再構成することと、
前記診断コマンドに応答して、前記トークンによってインデックス付けされた前記場所情報を取得することと
を含む、方法。
【請求項２】
前記取得された場所情報を用いて前記データを取得することをさらに含む、請求項１に記載の方法。
【請求項３】
前記ジョブが終了するときに、前記トークンによってインデックス付けされた前記トークン・テーブルの場所情報を削除することをさらに含む、請求項１に記載の方法。
【請求項４】
前記ジョブが付加的なアドレス空間にアクセスするときに、前記トークンによってインデックス付けされた場所情報を前記トークン・テーブルに付加することをさらに含む、請求項１に記載の方法。
【請求項５】
アドレス空間がアクセスされた後で、前記トークンによってインデックス付けされた場所情報を前記トークン・テーブルから除去することをさらに含む、請求項１に記載の方法。
【請求項６】
前記取得された場所情報を診断データ・ダンプとしてリストアップすることをさらに含む、請求項１に記載の方法。
【請求項７】
前記取得された場所情報と共に前記データをリストアップすることをさらに含む、請求項６に記載の方法。
【請求項８】
前記取得された場所情報をジョブ追跡記録としてリストアップすることをさらに含む、請求項１に記載の方法。
【請求項９】
前記トークンはシステム名をさらに含む、請求項１に記載の方法。
【請求項１０】
データ・セットにアクセスするホストを記述するアクセス情報を前記トークン・テーブルに格納することをさらに含む、請求項１に記載の方法。
【請求項１１】
動的アドレス追跡のための装置であって、プロセッサによって実行されたときに、請求項１から請求項１０までのいずれかの請求項に記載の方法で処理することを行う、装置。
【請求項１２】
コンピュータ可読プログラム・コードをコンピュータ・システムに組み込むことを含む、コンピュータ・インフラストラクチャを配置するための方法であって、前記プログラム・コードは、前記コンピュータ・システムによって実行されたときに、請求項１から請求項１０までのいずれかの請求項に記載の方法で処理することを行う、方法。
【請求項１３】
動的アドレス空間追跡のためのシステムであって、
ホストと、
複数のストレージ・デバイスを含み、前記ホストのためのデータ・セットを格納するように構成された、ストレージ・システムと、
請求項１から請求項１０までのいずれかの請求項に記載の方法で処理することがプロセッサによって実行される、サーバと
を含む、システム。
【請求項１４】
コンピュータに請求項１から請求項１０までのいずれかの請求項に記載の方法で処理することを実行させるコンピュータ可読プログラム・コードを含む、コンピュータ・プログラム。
【国際調査報告】
2010539770.tif 000019
2010539770.tif 000020
2010539770.tif 000021