(57)【要約】【課題】  コンピュータシステムを停止することなく、また、定義変更を行うことも無く、コンピュータシステムで使用するＮＡＳに有するファイルを切り替えるコンピュータ等を提供する。【解決手段】  複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、出力許可状態操作部１１は、そのデータの出力先となる第１のディレクトリの状態が、出力許可か否かを判別可能にし、通番生成部１２は、出力順序を示す通番を含む名称のディレクトリを前記複数のコンピュータに作成し、前記第１のディレクトリへのシンボリックリンクを作成した第２のディレクトリに格納する。ファイルパス生成部１３は、第２のディレクトリへのアクセスに用いるファイルパスを生成し、ファイルアクセス部１４は、前記ファイルパスを用いて、前記ＮＡＳにアクセスする。【選択図】      図１
2014142764.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、そのデータの出力先となる第１のディレクトリの状態が、出力許可か否かを判別可能にする出力許可状態操作手段と、
出力順序を示す通番を含む名称を有する第２のディレクトリを前記複数のコンピュータに作成し、前記第１のディレクトリへのシンボリックリンクを、該第２のディレクトリに格納する通番生成手段と、
前記第２のディレクトリへのアクセスに用いるファイルパスを生成するファイルパス生成手段と、
前記ファイルパスを用いて、前記ＮＡＳにアクセスするファイルアクセス手段と、
前記ファイルアクセス手段を用いてアクセスする前記ＮＡＳを対象として入出力するデータを処理する処理手段と
を備えることを特徴とするコンピュータ。
【請求項２】
前記第２のディレクトリへの前記ファイルパスを用いて、前記ＮＡＳに出力されたデータを検索するファイル検索手段
を、更に備えることを特徴とする請求項１に記載のコンピュータ。
【請求項３】
前記ＮＡＳの置換や新たなＮＡＳの追加が必要になった場合に、前記データの出力先を切り替えることを特徴とする請求項１または請求項２に記載のコンピュータ。
【請求項４】
前記データの出力先を障害復旧前と障害復旧後で切り替えることを特徴とする請求項１または請求項２に記載のコンピュータ。
【請求項５】
請求項１乃至請求項４の何れかに記載のコンピュータを、前記ＮＡＳを介して通信可能に複数台備えることを特徴とするコンピュータシステム。
【請求項６】
複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、そのデータの出力先となる、出力許可か否かが判別可能な第１のディレクトリを作成し、
出力順序を示す通番を含む名称を有する第２のディレクトリを前記複数のコンピュータに作成して、前記第１のディレクトリへのシンボリックリンクを、該第２のディレクトリに格納し、
前記第２のディレクトリへのアクセスに用いるファイルパスを生成して、前記ファイルパスを用いて、前記ＮＡＳにアクセスし、
前記ＮＡＳを対象として、入出力するデータを処理する
ことを特徴とするＮＡＳアクセス方法。
【請求項７】
前記第２のディレクトリへの前記ファイルパスを用いて、前記ＮＡＳに出力されたデータを検索することを特徴とする請求項６に記載のＮＡＳアクセス方法。
【請求項８】
前記ＮＡＳの置換や新たなＮＡＳの追加が必要になった場合に、前記データの出力先を切り替えることを特徴とする請求項６または請求項７に記載のＮＡＳアクセス方法。
【請求項９】
前記データの出力先を障害復旧前と障害復旧後で切り替えることを特徴とする請求項６または請求項７に記載のＮＡＳアクセス方法。
【請求項１０】
ＮＡＳにアクセス可能に接続されたコンピュータの制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、そのデータの出力先となる第１のディレクトリの状態が、出力許可か否かを判別可能にする出力許可状態操作機能と、
出力順序を示す通番を含む名称を有する第２のディレクトリを前記複数のコンピュータに作成し、前記第１のディレクトリへのシンボリックリンクを、該第２のディレクトリに格納する通番生成機能と、
前記第２のディレクトリへのアクセスに用いるファイルパスを生成するファイルパス生成機能と、
前記ファイルパスを用いて、前記ＮＡＳにアクセスするファイルアクセス機能と、
前記ファイルアクセス機能によってアクセスする前記ＮＡＳを対象として、入出力するデータを処理する機能とをコンピュータに実現させる
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ＮＡＳを使用するトランザクションシステムなどのコンピュータシステムに関する。
【背景技術】
【０００２】
一般的に、複数のコンピュータによって構成されるトランザクションシステムは、それぞれのコンピュータで実行される各業務処理においてアクセス可能なＮＡＳ（「Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ」の略称。「ネットワーク接続ストレージ」とも言う。）を備えている。
【０００３】
このＮＡＳは、例えば、業務処理間でデータの受け渡しを行うために使用されている。すなわち、ある業務処理は、他の業務処理に渡したいデータをＮＡＳが有するファイルに出力し、他の業務処理は、当該ファイルから当該データを取得することができる。
【０００４】
ＮＡＳは、通常のファイルサーバと同様に、複数のコンピュータで共有する共有ディスクとして使用することができる。
【０００５】
このようなトランザクションシステムでは、トランザクションの原子性および永続性を保障するため、ＮＡＳ内のディレクトリの構成に以下に述べるような規則がある。
【０００６】
すなわち、ＮＡＳにデータを出力するトランザクションが動作する業務プロセスと、当該データを出力するトランザクションと、当該データをＮＡＳから取り出して処理するトランザクションが動作する業務プロセスとで一意に決定できるディレクトリをＮＡＳの中に作成し、そのディレクトリに、１つのトランザクションから出力されるデータを少なくとも１つのデータファイルとして出力しなければならない。
【０００７】
また、１つのトランザクションから出力されるすべてのデータは、１つのＮＡＳに出力されなければならず、複数のＮＡＳにまたがって出力されることは許されない。
【０００８】
ここで、本トランザクションシステムは、１つの業務プロセスにおいて複数の業務を並行して実行し、各業務にてトランザクションが実行される。
【０００９】
このような規則を満たすディレクトリ構成について、図１４を参照して説明する。図１４は、ＮＡＳに、ディレクトリを階層化して作成したディレクトリ構造を示す図である。
【００１０】
図１４のＮＡＳ１において、Ｐｒｏｃｅｓｓ−Ａと、Ｐｒｏｃｅｓｓ−Ｂと、Ｐｒｏｃｅｓｓ−Ｎは、ＮＡＳに出力されているデータを処理する業務プロセスの業務プロセス識別名を示す。Ｐｒｏｃｅｓｓ−１と、Ｐｒｏｃｅｓｓ−２と、Ｐｒｏｃｅｓｓ−ｎは、ＮＡＳにデータを出力するトランザクションが動作する業務プロセスの業務プロセス識別名を示す。さらに、ＴＸ１と、ＴＸ２と、ＴＸｍは、ＮＡＳにデータを出力するトランザクションのトランザクション識別名を示している。
【００１１】
すなわち、運用者またはシステムは、データをＮＡＳから入力して処理する業務プロセスごとに、入力処理するトランザクションが動作する業務プロセスの業務プロセス識別名を用いて、ＮＡＳ１の直下にディレクトリを作成している。
【００１２】
運用者またはシステムは、このような構成を用いてディレクトリを作成することにより、ある業務プロセスにおいて動作するトランザクションがＮＡＳから入力して処理するデータを、他の複数の業務プロセスにおいて動作するトランザクションが同時にＮＡＳに出力する場合にも、各トランザクションが競合せずに並行してＮＡＳに出力できる。
【００１３】
さらに、各トランザクションは、各トランザクションに対応する各々のディレクトリにデータを出力するため、同時に複数のトランザクションが同じディレクトリに出力することを防ぎ、各トランザクションは、並行してファイルアクセスすることが可能になる。
【００１４】
図１５は、ＮＡＳに、ディレクトリを階層化しないで、区切り文字を使用した名称を用いてディレクトリを作成したディレクトリ構造を示す図である。
【００１５】
ここで、図１４および図１５は、ＮＡＳ１を例に記述しているが、複数のＮＡＳを使用する場合も同様に各々のＮＡＳにディレクトリを作成する必要がある。
【００１６】
また、トランザクションが実行中であり、トランザクションにおいて出力するデータすべてについて出力を完了していない状態を示すために、運用者またはシステムは、データを出力途中であるディレクトリを、出力途中であることを示す名称(例えば、図１４のＴＸｍ＿ｔｅｍｐ)を用いて作成する。
【００１７】
これにより、ＮＡＳからデータを入力する側が、出力途中であるデータファイルからデータを入力しようとして参照することを防ぐことができる。
【００１８】
データファイルをＮＡＳに出力するトランザクションは、出力途中であることを示す名称のディレクトリにデータファイルを出力する。トランザクションの実行完了時に、運用者またはシステムは、出力途中を示す名称から通常の名称に、ディレクトリを変更する。
【００１９】
図１４では、システムは、トランザクション実行中に、ＴＸｍ＿ｔｅｍｐへデータを出力し、トランザクション完了時にディレクトリの名前をＴＸｍ＿ｔｅｍｐからＴＸｍに変更する。
【００２０】
ディレクトリの名称を、出力途中と出力完了で変更することにより、データファイルをＮＡＳに出力するトランザクションが動作する業務プロセスと、ＮＡＳから入力するトランザクションが動作する業務プロセスとが、各々の該当データファイルにアクセスすることが可能になる。
【００２１】
業務や処理量の増加に伴い、同時に稼動するプロセス数を追加したり、データ量が増える場合には、出力するデータファイルの数やサイズが大きくなるため、運用者は、データが格納されるＮＡＳの容量やネットワークの接続速度を拡張しなければならない。
【００２２】
このため、ＮＡＳを新規に追加、あるいは、既存ＮＡＳをより大容量のＮＡＳに置き換えることが考えられる。
【００２３】
ところで、特許文献１には、稼動系システムから共有ディスクに書き込みを行うシステムにおいて、稼動系システムにおける障害発生を認識した待機系システムが、稼動系システムから共有ディスクをアクセスするファイルパスを遮断することにより、二重書き込みを防ぐ方法が開示されている。
【００２４】
また、特許文献２には、データベース管理システムの先読み機能使用時におけるメモリ削減に関する方法が記載されている。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開２００６−１８９９６３号公報
【特許文献２】特開２０１２−０１４７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００２６】
ミッションクリティカルな業務を遂行するコンピュータシステムは、２４時間３６５日、システムが止まらないことを要求される。
【００２７】
ＮＡＳを新規に追加して、出力先を新規のＮＡＳに変更する場合に、既存のＮＡＳには、ＮＡＳに出力されているが、まだＮＡＳから入力して処理を行っていないデータが残っていることがある。
【００２８】
ここで、システムの定義情報に出力先のＮＡＳを複数個指定していない場合に、トランザクションは、既存の出力先であるＮＡＳと新規の出力先のＮＡＳとの両方を同時に認識したり、アクセスしたりすることができない。
【００２９】
そのため、まだ処理していないデータを失わずに処理するには、運用者が、ＮＡＳにデータを出力する側を止めて、ＮＡＳに出力されたすべてのデータについて入力する側が処理をするまで待つか、あるいは、システム全体をいったん停止後、その間に出力済みで入力処理が行われていないファイルを新規のＮＡＳに移動させなければならない。
【００３０】
もしくは、追加したＮＡＳと既存のＮＡＳとをファイルシステムの仮想化により一つのファイル装置としてみえるように運用者が設計する方法もある。しかし、この方法では、実際のファイルの格納先はファイルシステムが決定してしまうため、前述の、同一トランザクションにおいて出力されるデータは一つのＮＡＳ内に格納しなければならないという規則を守ることができない。
【００３１】
また、トランザクションが複数個のディレクトリを同時に認識してアクセスすることができるように、データ格納先ディレクトリとして複数のディレクトリを指定した定義情報に変更することが考えられる。この場合、定義変更の実施タイミングは、コンピュータ間やプロセス間において、ずれが生じないように配慮が必要になる。
【００３２】
ここで、定義変更の実施タイミングがずれたために不都合が発生する場合について、図１６を参照して説明する。図１６は、定義変更時の課題を説明する図である。
【００３３】
図１６（ａ）に示すシステムは、コンピュータ１と、コンピュータ２と、コンピュータ１およびコンピュータ２からアクセスされるＮＡＳ−１とから構成される。
【００３４】
図１６（ａ）において、コンピュータ１のプロセス１およびコンピュータ２のプロセス２は、ＮＡＳ−１を使用するように定義されていると仮定する。このとき、コンピュータ１のプロセス１によってＮＡＳ−１に出力されたデータは、コンピュータ２のプロセス２によって処理することができる。
【００３５】
次に、図１６（ａ）に、ＮＡＳ−２を定義に追加した場合について、図１６（ｂ）を参照して説明する。
【００３６】
図１６（ｂ）に示すように、コンピュータ１だけ先にＮＡＳ−２が追加された定義に変更したとする。この状態では、コンピュータ１のプロセス１においてＮＡＳ−２に出力したデータは、コンピュータ２のプロセス２は、ＮＡＳ−２を認識できないため、ＮＡＳ−２のデータを入力して処理することはできない。
【００３７】
このように、データの出力側が入力側よりも先に新しい定義によりデータを出力した場合、新しい定義が反映されていない入力側がエラーになってしまう。
【００３８】
一つの出力先に関する変更だけであれば、定義変更タイミングの制御も難しくはない。しかし、複数の出力先を一度に変更しようとする、定義変更タイミングのプロセス間の制御が複雑になる。
【００３９】
さらに、変更対象のプロセスが複数のコンピュータに存在する場合に、システム停止を伴わずに変更しようとすれば、変更を複数回に分けなければならず、定義情報の管理においても煩雑さが増してしまう。
【００４０】
このような状況から、ＮＡＳの追加や交換を行うことが必要になった場合にも、トランザクションシステムを停止することなく、また、定義変更を行うことも無く、ＮＡＳの追加または交換を行うことを可能とする方法が提供されることが期待されている。
【００４１】
さらに、第２の課題として、障害時に発生する課題について、以下に説明する。
【００４２】
トランザクションシステムに部分的な障害が発生し、ＮＡＳからデータを入力して処理することができなくなった場合を考える。この場合、障害発生から復旧までの間も外部からの入力を止めずに運用すると、ＮＡＳに大量にデータが滞留することが考えられる。
【００４３】
また、障害復旧時は、この滞留したデータを処理中にも、さらに新たなデータが追加出力される。
【００４４】
滞留したデータをなくすためには、ＮＡＳからデータを入力する処理が、新たなデータのＮＡＳへの出力よりも速く行われなければならない。
【００４５】
正常に動作しているときには、ＮＡＳに出力したデータのファイル情報は、業務プロセス間の通信により通知される。
【００４６】
しかし、障害発生中は、障害の内容によっては、通知が受け取れなかったり、また、業務プロセスの再起動によりファイル情報を格納したテーブルが失われ、ＮＡＳに出力したデータのファイル情報が失われる可能性がある。
【００４７】
この情報が失われた場合、復旧後に、業務プロセスは、データの格納先であるＮＡＳの中をファイル検索することで、ファイルの一覧を取得し、得られたファイル一覧をファイル情報として、データを処理する。
【００４８】
復旧後の検索中に追加してファイルが出力された場合、ファイル検索処理は、復旧後に出力されたファイルが検索結果に含まれる。また、ファイル検索処理は、検索対象が増えることにより余計な時間がかかる。
【００４９】
二重処理を防ぐためには、得られた検索結果から、業務プロセス間の通知により認識済みの障害復旧後に出力されたデータのファイル情報を除外する処理が必要になる。
【００５０】
特許文献１には、稼動系システム障害発生時の共有ディスクへの二重書き込みを防ぐ方法を開示するにとどまり、本課題を解決する方法については何ら開示されていない。
【００５１】
特許文献２は、データベース管理システムの先読み機能使用時の使用メモリ削減方法を開示するにとどまり、本課題に関しては特に開示されていない。
【００５２】
そこで、本発明は、コンピュータシステムを停止することなく、また、定義変更を行うことも無く、コンピュータシステムで使用するＮＡＳに有するファイルを切り替えるコンピュータ等を提供することを主たる目的とする。
【課題を解決するための手段】
【００５３】
上記の目的を達成すべく、本発明に係るコンピュータは、以下の構成を備えることを特徴とする。
【００５４】
即ち、本発明に係るコンピュータは、
複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、そのデータの出力先となる第１のディレクトリの状態が、出力許可か否かを判別可能にする出力許可状態操作手段と、出力順序を示す通番を含む名称のディレクトリを前記複数のコンピュータに作成し、前記ＮＡＳのデータ出力先第１のディレクトリへのシンボリックリンクを作成した第２のディレクトリに格納する通番生成手段と、前記コンピュータに作成したディレクトリへのアクセスに用いるファイルパスを生成するファイルパス生成手段と、前記ファイルパスを用いて、前記ＮＡＳにアクセスするファイルアクセス手段と、前記ファイルアクセス手段により、前記ＮＡＳに入出力するデータを処理する処理手段を備える
ことを特徴とする。
【００５５】
尚、同目的は、上記構成を有するコンピュータにおけるＮＡＳアクセス方法によっても達成される。
【発明の効果】
【００５６】
上記の本発明によれば、コンピュータシステムを停止することなく、また、定義変更を行うことも無く、コンピュータシステムで使用するＮＡＳに有するファイルを切り替えることができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態に係るコンピュータの構成を示すブロック図である。
【図２】本発明の第１の実施形態のハードウェア構成図である。
【図３】本発明の第２の実施形態に係るコンピュータの構成を示すブロック図である。
【図４】本発明の第２の実施形態におけるＮＡＳを追加するシステムのシステム構成図である。
【図５Ａ】本発明の第２の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【図５Ｂ】本発明の第２の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【図５Ｃ】本発明の第２の実施形態における各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）における通番管理テーブル１９２１を示す図である。
【図６】本発明の第２の実施形態における通番管理部の処理を説明する図である。
【図７】本発明の第２の実施形態にＮＡＳを追加後のシステム構成図である。
【図８】本発明の第２の実施形態におけるファイル出力部の処理を示すフローチャートである。
【図９】本発明の第２の実施形態におけるファイル入力部の処理を示すフローチャートである。
【図１０】本発明の第３の実施形態に係るコンピュータの構成を示すブロック図である。
【図１１Ａ】本発明の第３の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【図１１Ｂ】本発明の第３の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【図１１Ｃ】本発明の第３の実施形態における各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）における通番管理テーブル１９２１を示す図である。
【図１２】本発明の第３の実施形態におけるファイル検索部の処理を示すフローチャートである。
【図１３】本発明の第１、第２、および、第３の実施形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。
【図１４】ＮＡＳに、ディレクトリを階層化して作成したディレクトリ構造を示す図である。
【図１５】ＮＡＳに、ディレクトリを階層化しないで、区切り文字を使用した名称を用いてディレクトリを作成したディレクトリ構造を示す図である。
【図１６】定義変更時の課題を説明する図である。
【発明を実施するための形態】
【００５８】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００５９】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るコンピュータの構成を示すブロック図である。
【００６０】
本実施形態のコンピュータ１は、出力許可状態操作部１１と、通番生成部１２と、ファイルパス作成部１３と、ファイルアクセス部１４と、処理部１５とからなる。
【００６１】
出力許可状態操作部１１は、複数のコンピュータによって共有されるＮＡＳへのデータの出力に際して、そのデータの出力先となる第１のディレクトリの状態が、出力許可か否かを判別可能にする。
【００６２】
通番生成部１２は、出力順序を示す通番を含む名称を有する第２のディレクトリを該複数のコンピュータに作成し、該第１のディレクトリへのシンボリックリンクを、該第２のディレクトリに格納する。
【００６３】
ファイルパス作成部１３は、該第２のディレクトリへのアクセスに用いるファイルパスを生成する。
【００６４】
ファイルアクセス部１４は、該ファイルパスを用いて、該ＮＡＳにアクセスする。
【００６５】
処理部１５は、該ファイルアクセス手段を用いてアクセスする該ＮＡＳを対象として入出力するデータを処理する。
【００６６】
図２は、本発明の第１の実施形態のハードウェア構成図である。少なくとも２つのコンピュータと、少なくとも１つのＮＡＳによって構成される。
【００６７】
図２は、コンピュータ８００１、コンピュータ８００２、コンピュータ８００３およびＮＡＳ８００４が備わっている。
【００６８】
図１における、出力許可状態操作部１１と、通番生成部１２と、ファイルパス作成部１３と、ファイルアクセス部１４と、処理部１５とは、コンピュータ８００１、コンピュータ８００２およびコンピュータ８００３により実現されている。
【００６９】
以上、説明したように、第１の実施形態には、コンピュータシステムを停止することなく、また、定義変更を行うことも無く、コンピュータシステムで使用するＮＡＳに有するファイルを切り替えることが可能となるという効果がある。
【００７０】
その理由は、本実施形態に係るコンピュータシステムは、通番および出力許可状態を示すディレクトリに作成したシンボリックリンクを用いて、ＮＡＳに有するファイルをアクセスするためである。
【００７１】
＜第２の実施形態＞
次に、上述した第１の実施形態に係るコンピュータ１を基本とする第２の実施形態について説明する。
【００７２】
図３は、本発明の第２の実施形態に係るコンピュータの構成を示すブロック図である。
【００７３】
図３において、本実施形態に係るトランザクションシステム７０００は、少なくとも１つのＮＡＳ３０００と、複数の業務プロセス１０００と、１つのＮＡＳ制御プロセス１９５０と、外部システム５０００と、定義情報２０１０とから構成される。
【００７４】
ＮＡＳ３０００は、業務プロセス間におけるデータの受け渡しを行う。
【００７５】
定義情報２０１０は、業務プロセスと業務の関連付けや、業務プロセスにおいて使用するファイルがあるＮＡＳの情報等の利用者が指定するシステム全体の様々な情報である。
【００７６】
定義情報２０１０は、トランザクション制御部１０１０によって業務プロセス１０００に取り込まれ、業務プロセス１０００内の各部によって参照される。
【００７７】
業務プロセス１０００は、トランザクション制御部１０１０と、業務１０２０と、外部入力部１０３０と、プロセス通信部１０４０と、ファイル情報テーブル１０４１と、ファイル入力部１０５０と、入力バッファ１０５１と、ファイル出力部１０６０と、出力バッファ１０６１と、入力ファイルパス生成部１９００と、出力ファイルパス生成部１９１０と、通番管理部１９２０と、通番管理テーブル１９２１とから構成される。
【００７８】
業務プロセス１０００では、複数の業務１０２０を並行して実行することが可能である。
また、業務１０２０では、トランザクションは１つずつ実行され、並行して実行されることはない。
【００７９】
トランザクション制御部１０１０は、業務１０２０の実行や再実行、および、データベースのコミットやロールバックなどの業務プロセス１０００全体の制御を行う。
【００８０】
外部システム５０００からのデータ入力を契機として、外部入力部１０３０は、トランザクション制御部１０１０に通知をする。
【００８１】
通知を受け取ったトランザクション制御部１０１０は、業務１０２０にトランザクションの開始を通知する。
【００８２】
ここで、トランザクションは、コンピュータにおける一連の不可分な処理を表すものとする。
【００８３】
業務１０２０は、外部入力部１０３０が入力したデータを元に、データベース等を参照、更新する等の処理を行う。
【００８４】
また、業務１０２０は、他の業務１０２０に渡したいデータがある場合に、他の業務１０２０に該当するデータを、出力バッファ１０６１に出力する。
【００８５】
ファイル出力部１０６０は、出力バッファ１０６１に出力されたデータを、ＮＡＳ３０００が有するファイル（以下、データファイルと称する。）に出力する。データファイルをアクセスするためのファイルパスは、出力ファイルパス生成部１９１０が生成する。
【００８６】
ここでデータファイルに出力されたデータは、トランザクションの実行結果がまだ確定していないため、未確定の状態である。トランザクション制御部１０１０は、業務１０２０の処理完了時に、処理において実施したデータベース等（図示せず）の更新を確定させるために、コミットを行う。コミットが行われたことにより、データファイルに出力されたトランザクションの実行結果が確定される。
【００８７】
トランザクション制御部１０１０は、コミットに成功すると、プロセス通信部１０４０によって、出力したデータファイルの情報を他の業務プロセスに通知する。通知するデータファイルの情報は、例えば、データを出力したトランザクションの識別子やデータファイルのファイルパス等のデータファイルがどこにあるかを示す情報である。
【００８８】
一方、データファイル情報を受信したプロセス通信部１０４０は、受信したファイル情報をファイル情報テーブル１０４１に格納したこと、および、トランザクション制御部１０１０にファイル情報を受信したことを通知する。
【００８９】
トランザクション制御部１０１０は、ファイル情報の受信通知を受けて、ファイル入力部１０５０にデータの読み込みを要求する。
【００９０】
データの読み込みを要求されたファイル入力部１０５０は、ファイル情報テーブル１０４１に格納されているファイル情報を元に、ＮＡＳ３０００内の該当ファイルから、入力バッファ１０５１にデータを読み込む。データファイルをアクセスするためのファイルパスは、入力ファイルパス生成部１９００が生成する。
【００９１】
入力バッファ１０５１にデータを読み込んだ後に、トランザクション制御部１０１０は、業務１０２０にトランザクションの開始を通知する。
【００９２】
ＮＡＳ制御プロセス１９５０は、出力許可状態操作部１９６０と、通番生成部１９７０とからなる。
【００９３】
出力許可状態操作部１９６０は、ＮＡＳ３０００に、出力許可状態をディレクトリ名によって判別できるディレクトリを作成し、作成したディレクトリを使用して、出力許可状態が出力許可と出力禁止のどちらであるかを制御する。
【００９４】
さらに、本実施の形態に係るトランザクションシステム７０００は、トランザクションシステム７０００が動作するコンピュータ内のローカルディスクにＮＡＳへのシンボリックリンクを格納する通番ディレクトリを含んでいる。本システムは、通番ディレクトリの名称の一部として使用する通番を生成する通番生成部１９７０と、最新の通番を管理する通番管理部１９２０および通番管理テーブル１９２１とを、業務プロセス１０００に追加することにより、「背景技術」欄において説明した課題の解決を図る。
【００９５】
通番生成部１９７０および出力許可状態操作部１９６０は、定義情報を変更することなく、追加されたＮＡＳをコンピュータに認識させる。また、通番生成部１９７０および出力許可状態操作部１９６０は、業務プロセスのファイル出力部１０６０とファイル入力部１０５０に対して、追加されたＮＡＳへの出力先の切り替えを行う契機を与える。
【００９６】
業務プロセスのファイル出力部１０６０は、出力パス生成部１９００と通番管理部１９２０および通番管理テーブル１９２１によって、定義情報に依存せず、追加されたＮＡＳへのパスを認識および生成して、出力先を切り替えることができる。
【００９７】
業務プロセスのファイル入力部１０５０は、入力パス生成部１９１０と通番管理部１９２０および通番管理テーブル１９２１によって、システムを停止することなく、既存のＮＡＳに出力された未処理のデータと新規のＮＡＳに出力されたデータとの両方を入力することができる
図４は、本発明の第２の実施形態におけるＮＡＳを追加するシステムのシステム構成図である。
【００９８】
図４に示すトランザクションシステム９００は、外部システム１００と、コンピュータ２００と、コンピュータ３００と、ＮＡＳ６００と、ＮＡＳ制御プロセス９９９とからなる。
【００９９】
図４では、２台のコンピュータと、１台のＮＡＳで示しているが、各々の台数を限定するものではない。
【０１００】
コンピュータ２００は、業務２１１を制御する業務プロセス２１０を実行する。
【０１０１】
コンピュータ３００は、業務３１１を制御する業務プロセス３１０と、業務３２１を制御する業務プロセス３２０とを実行する。
【０１０２】
ＮＡＳ６００は、コンピュータ２００とコンピュータ３００とから、参照および更新が可能である。
【０１０３】
本トランザクションシステム９００は、外部システム１００からデータを入力し、入力されたデータをコンピュータ２００において動作する業務２１１に渡す。
【０１０４】
業務２１１は、入力されたデータの内容を元に、業務３１１と業務３２１のどちらの業務において処理するか判定する。
【０１０５】
業務２１１は、判定した結果に基づき、処理する業務が業務３１１であれば、ＮＡＳ６００内の業務３１１に対応するディレクトリにファイルを作成し、当該ファイルにデータを出力する。また、処理する業務が業務３２１であれば、業務２１１は、ＮＡＳ６００内の業務３２１に対応するディレクトリにファイルを作成し、当該ファイルにデータを出力する。
【０１０６】
図５Ａおよび図５Ｂは、本発明の第２の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【０１０７】
図５Ｃは、本発明の第２の実施形態における各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）における通番管理テーブル１９２１を示す図である。
【０１０８】
運用者は、ＮＡＳ６００に、公開ディレクトリとして「／ｅｘｐｏｒｔ」を作成する。
【０１０９】
運用者は、作成した、「／ｅｘｐｏｒｔ」ディレクトリに、ＮＡＳからデータを取り出す業務プロセスに対応したディレクトリを作成する。すなわち、図５Ａの（ａ）行では、業務プロセス３１０と業務プロセス３２０に相当するディレクトリとして、それぞれ、「Ａ３１０」と「Ａ３２０」の名称を用いて、ディレクトリを作成している。
【０１１０】
さらに、運用者は、それら２つのディレクトリに、出力許可状態が出力許可であることを示すディレクトリ「ｖｖ」を作成する。
【０１１１】
出力許可状態は、ディレクトリに対するファイル出力を許可するかを示し、ファイル出力を許可する状態と禁止する状態との２つの状態からなる。
【０１１２】
出力許可状態がどちらの状態となっているかは、ディレクトリの名前によって区別できる。
【０１１３】
つまり、ファイル出力を許可する状態からファイル出力を禁止する状態への変更は、ファイル出力時に出力先ディレクトリのパスを出力許可状態操作部１９６０が変えることにより行われる。
【０１１４】
ここでは、例として、ディレクトリの名称は、出力許可の場合に「ｖｖ」、出力禁止の場合に「ｉｉ」とする。
【０１１５】
アクセス対象ディレクトリの出力許可状態が出力許可の場合は、業務プロセスは、ファイル出力に成功する。
【０１１６】
一方、アクセス対象ディレクトリの出力許可状態が禁止状態の場合に、業務プロセスは、ファイル出力に失敗する。
【０１１７】
業務プロセスのファイル出力部１０６０は、このアクセス失敗によるエラー検出により、以降のファイル出力時において出力先を変更しなければならないことを認識する。
【０１１８】
ディレクトリ「ｖｖ」に、データをＮＡＳに出力する業務プロセスに対応したディレクトリを作成する。ここでは、業務プロセス２１０に相当するディレクトリとして、「Ａ２１０」の名称を用いてディレクトリを作成する。
【０１１９】
ここまでの一連の作業で、運用者は、「／ｅｘｐｏｒｔ／Ａ３１０／ｖｖ／Ａ２１０」ディレクトリを作成する。そのディレクトリに、業務プロセス２１０において動作するトランザクションは、トランザクションごとのディレクトリを作成して、作成したディレクトリに、業務プロセス３１０に渡したいデータを出力する。
【０１２０】
同様に、業務プロセス２１０において動作するトランザクションは、「／ｅｘｐｏｒｔ／Ａ３２０／ｖｖ／Ａ２１０」ディレクトリに、トランザクションごとのディレクトリを作成して、業務プロセス３２０に渡したいデータを、作成したディレクトリに出力する。
【０１２１】
運用者は、コンピュータ２００において、ＮＡＳ６００内の公開ディレクトリ「／ｅｘｐｏｒｔ」を「／ｎａｓ１」にマウントコマンドを用いてマウントすることにより、ＮＡＳ６００内のファイルをアクセスすることができるようになる。
【０１２２】
コンピュータ２００は、ローカルディスクの「／ｄａｔａ」ディレクトリに、通番ディレクトリ「Ｘ１」が存在し、その通番ディレクトリに「／ｄａｔａ／Ｘ１／Ａ３１０」、および、「／ｄａｔａ／Ｘ１／Ａ３２０」が存在する。それらのディレクトリには、ＮＡＳ６００中のディレクトリ「／ｅｘｐｏｒｔ／Ａ３１０」、および、「／ｅｘｐｏｒｔ／Ａ３２０」へのシンボリックリンクを格納する。
【０１２３】
例えば、図５Ａの（ａ）行に示す「／ｄａｔａ／Ｘ１／Ａ３１０−＞／ｎａｓ１／Ａ３１０」によると、「／ｄａｔａ／Ｘ１／Ａ３１０」は、シンボリックリンクであり、「／ｎａｓ１／Ａ３１０」を指していることがわかる。
【０１２４】
シンボリックリンクを使用することにより、コンピュータ２００において実行される業務プロセス２１０で動作するトランザクションは、業務プロセス３１０に渡したいデータを、「／ｄａｔａ／Ｘ１／Ａ３１０」ディレクトリ内のファイルを指定して出力すると、実際には、ＮＡＳ６００にある「／ｅｘｐｏｒｔ／Ａ３１０」ディレクトリ内のファイルに出力することになる。
【０１２５】
通番ディレクトリの名称は、固定名と通番である数字とからなる。
【０１２６】
通番は、１つの業務プロセスが処理するデータを格納するディレクトリを複数個同時に識別して、アクセスすることができるようにするために使用される。
【０１２７】
通番は、現在の値から次の値が一意に決定され、システムの稼動開始から使用を中止するまでの間に重複することのない規則性を持つ。
【０１２８】
通番は、ファイルの格納先変更を業務プロセスごとに行えるようにするために、業務プロセスごとに存在する。通番管理部１９２０は、通番管理テーブル１９２１によって、最新の通番を業務プロセスと結びつけて管理する。
【０１２９】
また、通番管理テーブル１９２１は、業務プロセスごとに存在する。これは、一つのトランザクションから出力する複数のファイルのパスを構成する通番はすべて同一である必要があることから、他の業務プロセスによる通番管理テーブル１９２１に対する更新の影響を受けてはならないためである。
【０１３０】
図６は、本発明の第２の実施形態における通番管理部の処理を説明する図である。
【０１３１】
通番管理テーブル１９２１を参照および更新する通番管理部１９２０の動作について、図６を参照して説明する。
【０１３２】
通番管理部１９２０は、通番取得処理と通番カウント処理とを行う。
【０１３３】
通番取得処理は、ＮＡＳ内のデータを入出力する業務プロセスの名前などの一意となる識別子に対する通番を通番管理テーブル１９２１から取得する（Ｓ１４）。
【０１３４】
通番カウント処理は、通番取得処理により取得した（Ｓ１１）通番の番号部分を加算し（Ｓ１２）、通番管理テーブル１９２１を加算後の通番を用いて更新する（Ｓ１３）。
【０１３５】
通番ディレクトリＸ１は、通番のカウントアップ時には、数字部分が繰り上げられ、Ｘ２、Ｘ３の名前を用いて、作成される。
【０１３６】
この通番ディレクトリは、運用者によって新規のＮＡＳが追加されたとき、ＮＡＳ制御プロセス１９５０の通番生成部１９７０が各コンピュータ（コンピュータ２００およびコンピュータ３００）において作成し、その通番ディレクトリの中にＮＡＳへのシンボリックリンクを生成する。
【０１３７】
通番ディレクトリにより、異なるディレクトリに、同一の業務プロセスが処理するデータの格納先へのシンボリックリンクがあるため、各コンピュータにおいて複数のデータ格納先が同時に認識できる。これにより、業務プロセスは、ＮＡＳ追加前に出力先であったＮＡＳに出力されている未処理のデータの入力と、追加されたＮＡＳへの出力を同時又はほぼ同時に行うことが可能である。
【０１３８】
また、通番は、通し番号であることから、現在の通番から次の通番を類推することができ、業務システムは、定義情報がなくとも業務プロセスに追加された格納先を認識することができる。
【０１３９】
そして、業務プロセスは、出力許可状態の変更によるファイルアクセスのエラー検出を契機として、業務プロセスが通番管理テーブル１９２１により現在認識している通番をカウントアップし、カウントアップ後の通番を、ファイルパスの生成に利用することで、追加されたＮＡＳあるいはディレクトリにアクセスすることができる。
【０１４０】
さらに、シンボリックリンクの生成は、出力許可状態の変更前に事前に行っておくため、課題で挙げた、定義情報を用いた場合に生じていた反映ずれの問題は起きなくなる。
【０１４１】
コンピュータ２００における業務プロセス２１０は、外部システム１００からのデータ入力により、業務２１１に関するトランザクションを開始する。その後、業務２１１は、業務３１１もしくは業務３２１にデータを振り分けて出力する。
【０１４２】
業務プロセス２１０は、出力されたデータをファイルとしてＮＡＳ６００に格納する。
【０１４３】
そのファイルの情報は、業務プロセス２１０から、業務３１１を制御する業務プロセス３１０および業務３２１を制御する３２０に送られる。
【０１４４】
業務プロセスは、データをファイルに出力するとき、１回のトランザクションごとにディレクトリを作成する。たとえば、トランザクションの識別子を「ｔｒｎｓ１」とすると、「／ｄａｔａ／Ｘ１／Ａ３１０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」および「／ｄａｔａ／Ｘ１／Ａ３２０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」というディレクトリを作成する。
【０１４５】
これらは、実際には、ＮＡＳ６００内の「／ｅｘｐｏｒｔ／Ａ３１０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」および「／ｅｘｐｏｒｔ／Ａ３２０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」なるディレクトリである。データを格納するファイルは、これらのディレクトリの中に作成される。
【０１４６】
末尾の「＿ｔｅｍｐ」は、出力途中であることを意味し、トランザクションの実行完了が確定する前に業務プロセス３１０や３２０が誤ってファイルを読み込んでしまうことを防いでいる。
【０１４７】
トランザクション識別子「ｔｒｎｓ１」のすべてのファイルが出力されると、途中出力ディレクトリ「ｔｒｎｓ１＿ｔｅｍｐ」は、確定ディレクトリにするために、「ｔｒｎｓ１」に変更される。
【０１４８】
すなわち、「／ｄａｔａ／Ｘ１／Ａ３１０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」は、「／ｄａｔａ／Ｘ１／Ａ３１０／ｖｖ／Ａ２１０／ｔｒｎｓ１」に変更される。同様に、「／ｄａｔａ／Ｘ１／Ａ３２０／ｖｖ／Ａ２１０／ｔｒｎｓ１＿ｔｅｍｐ」は、「／ｅｘｐｏｒｔ／Ａ３２０／ｖｖ／Ａ２１０／ｔｒｎｓ１」に変更される。
【０１４９】
次に、業務プロセス３１０は、業務プロセス２１０から通知された情報によりＮＡＳ６００に格納されたファイルを読み込む。このときのパスは、通知された情報に含まれるファイル格納時の通番ディレクトリ「Ｘ１」とトランザクション識別子「ｔｒｎｓ１」とファイル名とから生成され、「／ｄａｔａ／Ｘ１／Ａ３１０／ｖｖ／Ａ２１０／ｔｒｎｓ１／ファイル名」となる。
【０１５０】
業務３１１は、業務プロセス３１０が読み込んだデータを元に処理を行う。
【０１５１】
また、業務プロセス３２０および業務３２１は、業務プロセス３１０と業務３１１と同様に動作する。
【０１５２】
ここで、サービスの改変により、業務３１１および業務３２１における処理量が増え、システム全体の中でＮＡＳ６００の容量がボトルネックになることが想定された場合を考える。この場合、運用者は、新たにＮＡＳ６０１を追加して全体のＮＡＳの容量を拡大し、拡大した記憶領域を用いて、業務３２１が処理するデータの格納先をＮＡＳ６００からＮＡＳ６０１に変更することにより、分散を図る。
【０１５３】
図７は、本発明の第２の実施形態にＮＡＳを追加後のシステム構成図である。
【０１５４】
図７を参照して、ＮＡＳ６０１を追加する処理について説明する。
【０１５５】
まず、変更を行うにあたり、運用者は、ＮＡＳ６０１にディレクトリの作成と、各コンピュータへのＮＡＳ６０１のマウントを行う。
【０１５６】
これにより、各ＮＡＳと各コンピュータのディレクトリとシンボリックリンクは、図５Ａの（ｂ）行に示すようになる。また、各業務プロセスが管理する通番管理テーブル１９２１は、図５Ｃの（ｂ）行に示すようになる。
【０１５７】
作成するディレクトリは、変更対象である業務プロセス３２０のためのディレクトリに相当し、ＮＡＳ６００と同様に、「／ｅｘｐｏｒｔ／Ａ３２０／ｖｖ／Ａ２１０」である。
【０１５８】
コンピュータ２００およびコンピュータ３００において、運用者は、ＮＡＳ６０１の公開ディレクトリ「／ｅｘｐｏｒｔ」を「／ｎａｓ２」にマウントコマンドを使用し、マウントする。
【０１５９】
この時点では、各業務プロセスがファイルの入出力に用いるパスは、変更されない。
【０１６０】
次に、ＮＡＳ制御プロセス９９９は、業務プロセス３２０における出力先を変更する処理を開始する。
【０１６１】
ＮＡＳ制御プロセス９９９の通番生成部１９７０は、図５Ａの（ｃ）行に示すように、業務プロセス３２０が処理するデータが格納されるディレクトリ「／ｄａｔａ／Ｘ１／Ａ３２０」の通番ディレクトリの名称が「Ｘ１」であるため、この名称の数字部分をカウントアップして「Ｘ２」の名称を用いてディレクトリを作成する。
【０１６２】
さらに、ＮＡＳ制御プロセス９９９の通番生成部１９７０は、図５Ａの（ｃ）行に示すように、「Ｘ２」ディレクトリの中に、ＮＡＳ６０１内の同ディレクトリ「／ｅｘｐｏｒｔ／Ａ３２０」へのシンボリックリンクを生成する。これを各コンピュータ(コンピュータ２００およびコンピュータ３００)において行う。
【０１６３】
次に、ＮＡＳ制御プロセス９９９の出力許可状態操作部１９６０は、図５Ａの（ｄ）行に示すように、ＮＡＳ６００内の業務プロセス３２０が処理するデータが格納されるディレクトリ「／ｅｘｐｏｒｔ／Ａ３２０」の中にある出力許可状態のディレクトリの名前を許可状態「ｖｖ」から禁止状態「ｉｉ」へ変更する。
【０１６４】
ここで、ＮＡＳへのファイル出力時の動作について図８を参照して、説明する。
【０１６５】
図８は、本発明の第２の実施形態におけるファイル出力部の処理を示すフローチャートである。
【０１６６】
業務プロセス２１０が業務プロセス３２０へデータをファイル出力する場合、ファイル出力部１０６０は、まず、通番管理部１９２０の通番取得処理を行い、出力先である業務プロセスに対応する最新通番を取得する（Ｓ２１）。
【０１６７】
次に、ファイル出力部１０６０は、取得した最新通番と出力許可状態とを指定して、出力ファイルパス生成部１９１０により、出力ファイルパス「／ｄａｔａ／Ｘ１／Ａ３２０／ｖｖ／Ａ２１０／」を生成する（Ｓ２２）。
【０１６８】
ファイル出力部１０６０は、生成された出力ファイルパスを使用して、ファイルのオープンを行い（Ｓ２３）、ファイルのオープンが成功したか判定する（Ｓ２４）。
【０１６９】
図５Ａの（ｄ）行のＮＡＳ６００にあるように、ＮＡＳ６００内の業務プロセス３２０が処理するデータが格納されるディレクトリのパスは、「／ｅｘｐｏｒｔ／Ａ３２０／ｉｉ／Ａ２１０／」となっており、ファイルのオープンに使用したパスと異なるため、ファイルのオープンに失敗する。
【０１７０】
ファイルのオープンに失敗し（Ｓ２４で「ＮＯ」の場合）、ディレクトリ内の１つ目のファイルである（すなわち、データを出力しようとしているトランザクションで初回のデータ出力）（Ｓ２７で「ＹＥＳ」の場合）場合に、ファイル出力部１０６０は、通番管理部１９２０の通番カウント処理を行なう（Ｓ２９）。
【０１７１】
ここでは、通番管理部１９２０が、通番を加算して、通番ディレクトリを「Ｘ１」から「Ｘ２」とし、業務プロセス２１０の通番管理テーブル１９２１内の業務プロセス３２０に対応する箇所を「Ｘ２」に更新する。これにより、通番管理テーブル１９２１は、図５Ｃの（ｅ）行に示すようになる。
【０１７２】
それから、ファイル出力部１０６０は、通番カウント処理後の最新通番と出力許可状態を指定して、出力ファイルパスを生成し（Ｓ２２）、Ｓ２３以降の処理を行う。
【０１７３】
再生成されたファイルパスは、通番管理テーブル１９２１から業務プロセス３２０に相当する通番として得た「Ｘ２」と出力許可状態の「ｖｖ」から、「／ｄａｔａ／Ｘ２／Ａ３２０／ｖｖ／Ａ２１０／」であるため、ファイル出力部１０６０は、ファイルオープンに成功する。
【０１７４】
ファイル出力部１０６０は、ファイルのオープンに成功した場合には、出力ファイルにデータを書き込み（Ｓ２５）、ファイルをクローズする（Ｓ２６）。
【０１７５】
ファイルのオープンに失敗し（Ｓ２４で「ＮＯ」の場合）、ディレクトリ内の１つ目のファイルでない場合に、ファイル出力部１０６０は、データを出力しようとしているトランザクションにおいて既に出力済みのデータがあることを認識する。そのため、ファイル出力部１０６０は、最新通番と出力禁止状態を指定して、出力ファイルパス生成部１９１０により、出力ファイルパスを生成後（Ｓ２８）、Ｓ２３以降の処理を行う。
【０１７６】
このようにして、ファイル出力部１０６０は、定義情報の変更を行うことなく、追加された出力先を検出する。また、同一トランザクションにおいて出力されるファイルは、一つのＮＡＳ内に限定して格納されることができ、ディレクトリの構成の規則を守ることができる。
【０１７７】
次に、ＮＡＳからのファイル入力について図９を参照して、説明する。
【０１７８】
図９は、本発明の第２の実施形態におけるファイル入力部の処理を示すフローチャートである。
【０１７９】
業務プロセス３２０は、業務プロセス２１０より通知を受けた出力データのファイル情報に従って、ファイルを読み込もうとする。
【０１８０】
初めに、ファイル入力部１０５０は、通知されたファイル情報内の通番が、図５Ｃの（ｅ）行の業務プロセス３２０の通番管理テーブル１９２１に格納された業務プロセス３２０に相当する最新通番と同じであるか判定する（Ｓ３１）。
【０１８１】
ＮＡＳ制御プロセス９９９が出力許可状態を変更する前に出力されたデータの場合に、通知を受けた出力データのファイル情報に含まれる出力時の通番は、「Ｘ１」であり、最新通番と同じである（Ｓ３１で「ＹＥＳ」の場合）。このため、ファイル入力部１０５０は、最新通番と出力許可状態で入力ファイルパス生成部１９００により入力ファイルパスを生成する（Ｓ３２）。生成されるファイルパスは、「／ｄａｔａ／Ｘ１／Ａ３２０／ｖｖ／Ａ２１０／」となる。
【０１８２】
次に、ファイル入力部１０５０は、生成された入力ファイルパスを使用して、ファイルのオープンを行い（Ｓ３４）、ファイルのオープンが成功したか判定する（Ｓ３５）。
【０１８３】
図５Ｂの（ｅ）行のＮＡＳ６００にあるように、ＮＡＳ６００内の業務プロセス３２０が処理するデータが格納されるディレクトリをアクセスするパスは、「／ｅｘｐｏｒｔ／Ａ３２０／ｉｉ／Ａ２１０／」となっており、ファイルのオープンに使用したパスと異なるため、ファイルのオープンに失敗する。
【０１８４】
ファイルのオープンに失敗したので（Ｓ３５で「ＮＯ」の場合）、ファイル入力部１０５０は、通番管理部１９２０の通番カウント処理を行なう（Ｓ３８）。
【０１８５】
ここでは、通番管理部１９２０は、通番「Ｘ１」を「Ｘ２」に繰り上げ、業務プロセス３２０の通番管理テーブル１９２１における業務プロセス３２０に対応する箇所を「Ｘ２」に更新する。これにより、通番管理テーブル１９２１は、図５Ｃの（ｆ）行に示すようになる。
【０１８６】
ここで、通番管理テーブル１９２１の当該通番をカウントアップすることにより、ファイル入力部１０５０は、次回以降のファイル入力時には、ファイルアクセスを失敗することはない。ファイル入力部１０５０は、はじめから正しいファイルパスを生成し、生成したファイルパスを用いてファイルアクセスに成功することができる。
【０１８７】
それから、ファイル入力部１０５０は、通番カウント処理前の通番と出力禁止状態を指定して、入力ファイルパスを生成し（Ｓ３３）、Ｓ３４以降の処理を行う。
【０１８８】
再生成されたファイルパスは、通番カウント処理前の通番「Ｘ１」と、出力禁止状態の「ｉｉ」から、「／ｄａｔａ／Ｘ１／Ａ３２０／ｉｉ／Ａ２１０／」であるため、ファイル入力部１０５０は、ファイルオープンに成功する。
【０１８９】
ファイル入力部１０５０は、ファイルのオープンに成功した場合には、当該ファイルからデータを読み込み（Ｓ３６）、ファイルをクローズする（Ｓ３７）。
【０１９０】
また、ＮＡＳ制御プロセス９９９が出力許可状態を変更した後に出力されたデータについては、通知を受けた出力データのファイル情報に含まれる出力時の通番は、「Ｘ２」であり、最新通番と一致していない（Ｓ３１で「ＮＯ」の場合）。このため、ファイル入力部１０５０は、通知された通番「Ｘ２」と出力許可状態を用いて入力ファイルパス生成部１９００により入力ファイルパスを生成後（Ｓ３２）、Ｓ３４以降の処理を行う。
【０１９１】
このようにして、本トランザクションシステムは、データの格納先であるＮＡＳが追加された場合も、システムを停止することなく、格納先が追加される前に出力された未処理のデータを処理し、また同時に、追加された格納先に格納されたデータも処理することができる。
【０１９２】
さらに、他の業務プロセスにおいても、通常のファイルアクセスがエラーになったことを契機に、同様にファイルアクセスの再実行と、各業務プロセスにおける通番管理テーブル１９２１に対し更新を行う。
【０１９３】
これにより、各業務プロセスが管理する通番管理テーブル１９２１は、図５Ｃの（ｇ）行に示すようになる。
【０１９４】
以上により、ＮＡＳ６０１を追加し、その後、業務プロセス３２０が処理するデータの格納先を、ＮＡＳ６００からＮＡＳ６０１へ変更する処理が完了する。
【０１９５】
なお、ＮＡＳ６００内の業務プロセス３２０が処理するデータに対する処理が終わった後に、運用者は、ＮＡＳ６００内の業務プロセス３２０が処理するデータが格納されていたディレクトリ「／ｅｘｐｏｒｔ／Ａ３２０／ｉｉ／」と、各コンピュータ（コンピュータ２００およびコンピュータ３００）における使用されなくなった通番Ｘ１の業務プロセス３２０が処理するデータの格納先へのシンボリックリンクは削除することが可能である。
【０１９６】
それらの削除を行った場合に、ＮＡＳ６００と各コンピュータ（コンピュータ２００およびコンピュータ３００）におけるディレクトリとシンボリックリンクは、図５Ｂの（ｈ）行に示すようになる。また、各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）の通番管理テーブル１９２１は、図５Ｃの（ｈ）行に示すようになる。
【０１９７】
以上、説明したように、第２の実施形態には、業務間でのデータの受け渡しにＮＡＳを使用するトランザクションシステムにおいて、業務や処理量の増加などによるＮＡＳの必要容量増加に対応するため、ＮＡＳの追加や交換を行うことが必要になった場合にも、トランザクションシステムを停止することなく、また、定義変更を行うことも無く、ＮＡＳの追加または交換を行うことが可能となるという効果がある。
【０１９８】
その理由は、本実施形態に係るコンピュータシステムは、通番および出力許可状態を示すディレクトリに作成したシンボリックリンクを用いて、ＮＡＳに有するファイルをアクセスするためである。
【０１９９】
＜第３の実施形態＞
次に、上述した第２の実施形態に係るトランザクションシステムを基本とする第３の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【０２００】
図１０は、本発明の第３の実施形態に係るコンピュータの構成を示すブロック図である。
【０２０１】
図１０において、トランザクションシステム７０００Ａは、ファイル検索部１０５２と検索ファイルパス生成部１９３０を備える。
【０２０２】
ファイル検索部１０５２は、トランザクション制御部１０１０Ａより、ファイル情報取得の要求を受けて、ファイルを検索する。
【０２０３】
ファイル検索部１０５２は、検索ファイルパス生成部１９３０によってファイルの格納ディレクトリパスを生成後、生成したパスを用いてファイルを検索し、検索により取得したファイル情報をファイル情報テーブル１０４１に格納する。
【０２０４】
ＮＡＳ６００と各コンピュータ（コンピュータ２００およびコンピュータ３００）におけるディレクトリとシンボリックリンク、また、各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）の通番管理テーブル１９２１は、図５Ｂの（ｈ）行と図５Ｃの（ｈ）行とに示す状態を初期状態として、第３の実施形態について説明する。
【０２０５】
図７に示すトランザクションシステム９００Ａにおいて、コンピュータ３００に、障害が発生したとする。
【０２０６】
障害が復旧するまでの間も外部システムからの入力は止まらないため、業務プロセス２１０は、業務プロセス３１０および３２０に渡したいデータをＮＡＳ６００およびＮＡＳ６０１に出力し続ける。
【０２０７】
コンピュータ３００の障害発生中は、業務プロセス３１０および３２０がＮＡＳ６００およびＮＡＳ６０１のデータを読み込む処理を行わないため、ＮＡＳ６００およびＮＡＳ６０１に、データのファイルが大量に滞留する可能性がある。
【０２０８】
ここで、コンピュータ３００の障害原因が取り除かれたとする。
【０２０９】
コンピュータ３００の業務を再開する前に、運用者は、障害復旧後にＮＡＳに出力するデータの格納先として、ＮＡＳ６００と６０１に、業務プロセス３１０と３２０が処理するデータの格納先となるディレクトリを新たに作成する。
【０２１０】
図１１Ａおよび図１１Ｂは、本発明の第３の実施形態における各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と、各コンピュータ（コンピュータ２００およびコンピュータ３００）とのディレクトリとシンボリックリンクとを示す図である。
【０２１１】
また、図１１Ｃは、本発明の第３の実施形態における各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）における通番管理テーブル１９２１を示す図である。
【０２１２】
図１１Ａの（ａ）行に示すように、ここで作成するディレクトリは、例として、障害発生前に作成してあったディレクトリの名前の末尾に「＃」を付加した名前を用いて作成される。
【０２１３】
次に、ＮＡＳ制御プロセス９９９の通番生成部１９７０は、各コンピュータ（コンピュータ２００およびコンピュータ３００）において、図１１Ａの（ｂ）行に示すように、ＮＡＳ６００と６０１に作成したディレクトリへのシンボリックリンクを生成する。
【０２１４】
すなわち、通番生成部１９７０は、業務プロセス２１０の通番管理テーブルにより、業務プロセス３１０に相当する通番が「Ｘ１」であるため、これを「Ｘ２」に繰り上げ、シンボリックリンクを生成する。
【０２１５】
また、通番生成部１９７０は、業務プロセス２１０の通番管理テーブルにより、業務プロセス３２０に相当する通番が「Ｘ２」であるため、これを「Ｘ３」に繰り上げ、シンボリックリンクを生成する。
【０２１６】
さらに、ＮＡＳ制御プロセス９９９は、業務プロセス３１０と３２０が処理するデータを格納するディレクトリを切り替える必要がある。そのため、出力許可状態操作部１９６０は、業務プロセス３１０と３２０において処理するデータが格納されるディレクトリの内、障害発生前に出力先であったディレクトリの出力許可状態を変更する。すなわち、ＮＡＳ６００の「／ｅｘｐｏｒｔ／Ａ３１０」と、ＮＡＳ６０１の「／ｅｘｐｏｒｔ／Ａ３２０」とのディレクトリ配下の出力許可状態を許可状態「ｖｖ」から禁止状態「ｉｉ」に、図１１Ａの（ｃ）行のように変更する。
【０２１７】
これにより、第２の実施形態と同様に、業務プロセス２１０は、業務プロセス３１０へのデータ出力のためのファイルアクセスが失敗し、エラーになる。本実施形態によるファイル出力部１０６０は、ファイルアクセスのエラーを契機として、通番をカウントアップする。カウントアップ後の通番を用いて、出力ファイルパス生成部１９１０は、ファイルパスを再生成し、再作成したファイルパスを基に、再度ファイルアクセスを行う。
【０２１８】
通番のカウントアップ処理として、通番管理部１９２０は、通番「Ｘ１」を「Ｘ２」に繰り上げ、業務プロセス２１０の通番管理テーブル１９２１内の業務プロセス３１０に対応する箇所を「Ｘ２」に更新する。
【０２１９】
再生成されたファイルパスは、通番管理テーブル１９２１から業務プロセス３１０の通番として得た「Ｘ２」と出力許可状態の「ｖｖ」から、「／ｄａｔａ／Ｘ２／Ａ３２０／ｖｖ／Ａ２１０／」であるため、ファイルアクセスが成功する。
【０２２０】
業務プロセス２１０による業務プロセス３２０へのデータ出力についても同様で、通番が「Ｘ３」に繰り上げられ、出力先の切り替えがなされる。
【０２２１】
結果として、各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と各コンピュータ（コンピュータ２００およびコンピュータ３００）のディレクトリとシンボリックリンクは、図１１Ａの（ｄ）行に示すようになる。また、各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）の通番管理テーブル１９２１は、図１１Ｃの（ｄ）行に示すようになる。
【０２２２】
さらに、他の業務プロセスにおいても、通常のファイルアクセスがエラーになったことを契機に、同様にファイルアクセスの再実行と、各業務プロセスの通番管理テーブル１９２１の更新を行う。
【０２２３】
これにより、各ＮＡＳと各コンピュータのディレクトリとシンボリックリンクは、図１１Ｂの（ｅ）行に示すようになる。また、各業務プロセスが管理する通番管理テーブル１９２１は、図１１Ｃの（ｅ）行に示すようになる。
【０２２４】
一方、業務プロセス３１０および３２０において、コンピュータ３００に障害が発生している間は、業務プロセス２１０が業務プロセス３１０と３２０とに出力したデータのファイル情報は、業務プロセス３１０と３２０が受信できないために破棄されてしまっている。
【０２２５】
また、コンピュータ３００の障害や再起動実行のため、コンピュータ３００において保持していたテーブル(ファイル情報テーブル１０４１および通番管理テーブル１９２１)は、内容が失われている可能性がある。
【０２２６】
そこで、通番管理部１９２０は、障害復旧後に、通番管理テーブル１９２１を作成する。
【０２２７】
まず、通番管理部１９２０は、「／ｄａｔａ」ディレクトリにあるディレクトリの一覧を作成する。
【０２２８】
通番管理部１９２０は、得られたディレクトリ一覧のディレクトリのうち、最も小さい通番のディレクトリから一つずつ順に以下の処理を行う。
【０２２９】
当該通番のディレクトリのすべてのファイルについて、そのファイル名から求めた業務プロセスの名前が通番管理テーブル１９２１内に登録されていない場合に、通番管理部１９２０は、業務プロセスの名前と、通番とを対にして、通番管理テーブル１９２１に追加登録する。
【０２３０】
業務プロセスの名前が通番管理テーブル１９２１内にすでに登録されている場合、通番管理部１９２０は、特に何も行わない。
【０２３１】
図１１Ａの（ｃ）行のコンピュータ３００の場合、通番管理部１９２０は、ディレクトリ一覧として、「Ｘ１」、「Ｘ２」および「Ｘ３」を得る。次に、通番が最小は、「Ｘ１」であるため、通番管理部１９２０は、ディレクトリ「／ｄａｔａ／Ｘ１」のディレクトリ一覧を作成する。例では、「／ｄａｔａ／Ｘ１」ディレクトリを参照した結果、ディレクトリ一覧として、「Ａ３１０」を得る。
【０２３２】
通番管理テーブル１９２１に業務プロセス３１０が登録されていない場合には、通番管理部１９２０は、業務プロセス３１０を通番「Ｘ１」として、通番管理テーブル１９２１に登録する。
【０２３３】
このような処理を「Ｘ２」および「Ｘ３」ディレクトリについても繰り返すことにより、通番管理部１９２０は、図１１Ｃの（ｃ）行の業務プロセス３１０における通番管理テーブルを作成する。
【０２３４】
次に、通番管理部１９２０は、ファイル情報テーブル１０４１を作成する。
【０２３５】
業務プロセス３１０と３２０は、処理するデータが格納されているディレクトリを探索し、ファイル情報を集める。
【０２３６】
図１２は、本発明の第３の実施形態におけるファイル検索部の処理を示すフローチャートである。
【０２３７】
ファイル検索部１０５２は、検索ファイルパス生成部１９３０により最新の通番と許可状態からパスを生成する（Ｓ４１）。
【０２３８】
業務プロセス３１０は、通番が「Ｘ１」であるため、検索ファイルパス生成部１９３０が生成するパスは、「／ｄａｔａ／Ｘ１／Ａ３１０／ｖｖ」になる。
【０２３９】
次に、ファイル検索部１０５２は、生成したパスを使用して、ファイル検索を行う（Ｓ４２）。
【０２４０】
しかし、これらのパスは存在しないため、ファイル検索部１０５２は、ファイル検索に失敗する（Ｓ４３で「ＮＯ」の場合）と、禁止状態のパス「／ｄａｔａ／Ｘ１／Ａ３１０／ｉｉ」を生成し（Ｓ４４）、生成したパスを基に、再度ファイル検索を行う（Ｓ４２）。
【０２４１】
ファイル検索部１０５２は、今度は、ファイルアクセスに成功（Ｓ４３で「ＹＥＳ」の場合）し、出力済みのファイルにアクセスすることができる。
【０２４２】
このファイル検索部１０５２の処理により、障害時などにデータの格納先ディレクトリを追加することで、ファイル出力部１０６０と出力パス生成部１９００と通番管理部１９２０とは、定義情報を変更することなく、障害復旧後のデータ出力先の切り替えを行うことができる。
【０２４３】
また、データ出力先の切り替えを行うため、障害復旧前と障害復旧後のデータが別ファイルに出力され、ファイル内から復旧後に出力されたデータを除外する処理は、行う必要がなくなる。
【０２４４】
業務プロセス３１０と３２０が出力済みの未処理データを処理している間に、他の業務プロセスは、新規に作られた出力先ディレクトリにファイルを出力し、データのファイル情報を業務プロセス３１０と３２０に通知する。このため、業務プロセス３１０および３２０は、ファイル検索１回の実行により、すべての未処理データのファイル情報を取得することができる。
【０２４５】
業務プロセス３１０および３２０は、ファイル検索によりファイルを検出すると、通常他の業務プロセスからデータのファイル情報を受け取った場合と同様に、ファイル入力を行う。これは、第２の実施形態と同様で、業務プロセス３１０および３２０は、ファイル入力部１０５０と入力ファイルパス生成部１９００と通番管理部１９２０とにより、出力許可状態が許可状態「ｖｖ」から禁止状態「ｉｉ」に変更されているファイルから、データを入力することができる。
【０２４６】
業務プロセス３１０および３２０が障害復旧前に出力されたすべてのデータについて処理を完了した後、運用者は、ＮＡＳ６００および６０１内の出力禁止状態の出力先である「／ｅｘｐｏｒｔ／Ａ３１０／ｉｉ」および「／ｅｘｐｏｒｔ／Ａ３２０／ｉｉ」を、削除することができる。また、各コンピュータにおける業務プロセス３１０および３２０が処理するデータが格納される古い通番のディレクトリ内のシンボリックリンクについても、運用者は、削除することができる。
【０２４７】
削除を行った場合に、各ＮＡＳ（ＮＡＳ６００およびＮＡＳ６０１）と各コンピュータ（コンピュータ２００およびコンピュータ３００）のディレクトリとシンボリックリンクは、図１１Ｂの（ｆ）行に示すようになる。また、各業務プロセス（業務プロセス２１０、業務プロセス３１０、および、業務プロセス３２０）の通番管理テーブル１９２１は、図１１Ｃの（ｆ）行に示すようになる。
【０２４８】
以上、説明したように、第３の実施形態には、障害復旧前に出力されたデータの入力が、障害復旧後のデータ出力に影響されずに行えるという効果がある。
【０２４９】
その理由は、本実施形態に係るコンピュータシステムは、障害復旧前と障害復旧後のデータを異なるディレクトリに保存するように前述の通番ディレクトリを使用した制御を行うためである。
【０２５０】
（ハードウェア構成）
上述した実施形態において図１、図３、および図１０に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図１３を参照して説明する。
【０２５１】
図１３は、本発明の第１、第２、および、第３の実施形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。即ち、図１３は、図１に示したシステム、或いは、図３に示したトランザクションシステム７０００、図４に示したトランザクションシステム９００及び図７に示したトランザクションシステム９００Ａ、の全体または一部のトランザクションシステムを実現可能なサーバ等のコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０２５２】
図１３に示した情報処理装置９０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９００１、ディスプレイ９００２、通信インタフェース（Ｉ／Ｆ）９００３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９００４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９００５、ハードディスク装置（ＨＤ）９００６を備え、これらがバス９００７を介して接続された構成を有する。ハードディスク装置（ＨＤ）９００６には、プログラム群９００６Ａと、各種の記憶情報９００６Ｂとが格納されている。プログラム群９００６Ａは、例えば、上述した図１、図３および図１０に示した各ブロック（各部）に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報９００６Ｂは、例えば、図３に示したファイル情報テーブル１０４１、通番管理テーブル１９２１等である。通信インタフェース９００３は、ネットワーク９１００を介して外部装置と通信を実現する一般的な通信手段である。
【０２５３】
そして、上述した実施形態を例に説明した本発明は、その実施形態の説明において参照したブロック構成図（図１、図３、および図１０）或いはフローチャート（図８、図９、および図１２）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ９００１に読み出して、図１３に示す情報処理装置９０００のハードウェア資源を用いて実行することによって達成される。また、情報処理装置９０００内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ（９００５）またはハードディスク装置９００６等の不揮発性の記憶デバイス（記憶媒体）に格納すれば良い。
【０２５４】
また、前記の場合において、当該装置内へのコンピュータ・プログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体を介して当該装置内にインストールする方法や、インターネット等の通信回線９１００を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
【符号の説明】
【０２５５】
１    コンピュータ
１１    出力許可状態操作部
１２    通番生成部
１３    ファイルパス作成部
１４    ファイルアクセス部
１５    処理部
１００    外部システム
２００    コンピュータ
２１０    業務プロセス
２１１    業務
３００    コンピュータ
３１０    業務プロセス
３１１    業務
３２０    業務プロセス
３２１    業務
６００    ＮＡＳ
６０１    ＮＡＳ
９００    トランザクションシステム
９００Ａ    トランザクションシステム
９９９    ＮＡＳ制御プロセス
１０００    業務プロセス
１０１０    トランザクション制御部
１０２０    業務
１０３０    外部入力部
１０４０    プロセス通信部
１０４１    ファイル情報テーブル
１０５０    ファイル入力部
１０５１    入力バッファ
１０５２    ファイル検索部
１０６０    ファイル出力部
１９００    入力ファイルパス生成部
１９１０    出力ファイルパス生成部
１９２０    通番管理部
１９２１    通番管理テーブル
１９３０    検索ファイルパス生成部
１９５０    ＮＡＳ制御プロセス
１９６０    出力許可状態操作部
１９７０    通番生成部
２０１０    定義情報
３０００    ＮＡＳ
５０００    外部システム
７０００    トランザクションシステム
７０００Ａ    トランザクションシステム
８００１    コンピュータ
８００２    コンピュータ
８００３    コンピュータ
８００４    ＮＡＳ
９０００    情報処理装置（コンピュータ）
９００１    ＣＰＵ
９００２    ディスプレイ
９００３    通信インタフェース（Ｉ／Ｆ）
９００４    ＲＯＭ
９００５    ＲＡＭ
９００６    ハードディスク装置（ＨＤ）
９００６Ａ    プログラム群
９００６Ｂ    各種の記憶情報
９００７    バス
９１００    ネットワーク
【図１】
2014142764.tif 000003
【図２】
2014142764.tif 000004
【図３】
2014142764.tif 000005
【図４】
2014142764.tif 000006
【図５Ａ】
2014142764.tif 000007
【図５Ｂ】
2014142764.tif 000008
【図５Ｃ】
2014142764.tif 000009
【図６】
2014142764.tif 000010
【図７】
2014142764.tif 000011
【図８】
2014142764.tif 000012
【図９】
2014142764.tif 000013
【図１０】
2014142764.tif 000014
【図１１Ａ】
2014142764.tif 000015
【図１１Ｂ】
2014142764.tif 000016
【図１１Ｃ】
2014142764.tif 000017
【図１２】
2014142764.tif 000018
【図１３】
2014142764.tif 000019
【図１４】
2014142764.tif 000020
【図１５】
2014142764.tif 000021
【図１６】
2014142764.tif 000022