"複数の業務処理で構成される特定の業務フローの業務処理毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報を記憶する縮退フロー情報記憶部と、前記特定の業務フローを実行する業務フロー実行部と、前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を前記縮退フロー情報記憶部から取得する縮退フロー情報取得部とを備え、前記業務フロー実行部は、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行することを特徴とする縮退処理装置。前記特定の業務フローを構成する複数の業務処理は所定の処理順を有し、前記業務フロー実行部は、特定の業務処理で処理した業務データを次の業務処理で処理し、前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フロー情報を記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応する縮退フロー情報を業務データの縮退フロー情報として前記縮退フロー情報記憶部から取得し、前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に業務データの縮退フロー情報によって特定される縮退フローに従って業務データを処理することを特徴とする請求項1記載の縮退処理装置。前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に業務データの変換方法を特定するデータ変換情報を記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するデータ変換情報を業務データのデータ変換情報として前記縮退フロー情報記憶部から取得し、前記縮退処理装置は、前記障害の発生時に処理されていた業務データ毎に業務データのデータ変換情報によって特定される変換方法に従って業務データを変換する業務データ変換部を備え、前記業務フロー実行部は、前記業務データ変換部によって変換された業務データを処理することを特徴とする請求項2記載の縮退処理装置。前記縮退処理装置は、前記特定の業務フローを構成する複数の業務処理のうちチェックポイントとして予め定められる業務処理の実行が終了したときに前記チェックポイントで処理された業務データを所定のチェックポイント保存装置に保存するチェックポイント保存部を備え、前記業務フロー実行部は、前記チェックポイント保存部に保存された業務データを処理することを特徴とする請求項2記載の縮退処理装置。前記縮退処理装置は、縮退フロー毎に縮退フローを構成する複数の業務処理を特定する縮退フロー定義を記憶する縮退フロー定義記憶部を備え、前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フローを構成する複数の業務処理のうち実行不要な業務処理をスキップ処理として特定するスキップ処理情報を記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するスキップ処理情報を業務データのスキップ処理情報として前記縮退フロー情報記憶部から取得し、前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に業務データの縮退フローを構成する複数の業務処理のうち業務データのスキップ処理情報によって特定されるスキップ処理を除いた残りの業務処理で業務データを処理することを特徴とする請求項2から請求項4いずれかに記載の縮退処理装置。前記縮退処理装置は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部を備え、前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎にフローラベルを記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するフローラベルを業務データのフローラベルとして前記縮退フロー情報記憶部から取得し、前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理することを特徴とする請求項2から請求項5いずれかに記載の縮退処理装置。業務データは、複数の個別データを含み、前記縮退処理装置は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部と、特定の業務データに設定されるデータ値と特定のフローラベルとを対応付けたルックアップテーブルを記憶するルックアップテーブル記憶部と、特定のデータ値に対応するフローラベルを前記ルックアップテーブルから取得するフローラベル取得部とを備え、前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名を記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として前記縮退フロー情報記憶部から取得し、前記フローラベル取得部は、前記障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定し、判定したデータ値に対応するフローラベルを業務データのフローラベルとして前記ルックアップテーブルから取得し、前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理することを特徴とする請求項2から請求項5いずれかに記載の縮退処理装置。業務データは、複数の個別データを含み、前記縮退処理装置は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部と、特定の業務データに設定されるデータ値を入力して入力したデータ値に予め対応付けられたフローラベルを出力するフローラベル出力プログラムを記憶するプログラム記憶部と、前記フローラベル出力プログラムを実行して特定のデータ値に対応するフローラベルを取得するフローラベル取得部とを備え、前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名を記憶し、前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として前記縮退フロー情報記憶部から取得し、前記フローラベル出力部は、前記障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定し、判定したデータ値に対応するフローラベルを業務データのフローラベルとして前記フローラベル出力プログラムを実行して取得し、前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理することを特徴とする請求項2から請求項5いずれかに記載の縮退処理装置。請求項1から請求項8いずれかに記載の複数の縮退処理装置を有し、第一の縮退処理装置は、前記特定の業務フローを構成する少なくともいずれかの業務処理を実行し、第二の縮退処理装置は、前記特定の業務フローを構成する複数の業務処理のうち前記第一の縮退処理装置によって実行される業務処理以外の残りの業務処理を実行することを特徴とする縮退処理システム。複数の業務処理で構成される特定の業務フローの業務処理毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報を記憶する縮退フロー情報記憶部を備える縮退処理装置の縮退処理方法であって、縮退フロー情報取得部は、前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を前記縮退フロー情報記憶部から取得し、業務フロー実行部は、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行することを特徴とする縮退処理装置の縮退処理方法。複数の業務処理で構成される特定の業務フローの業務処理毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報を記憶する縮退フロー情報記憶部を備える縮退処理装置を機能させる縮退処理プログラムであって、前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を前記縮退フロー情報記憶部から取得する縮退フロー情報取得部と、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行する業務フロー実行部として縮退処理装置を機能させることを特徴とする縮退処理プログラム。本発明は、例えば、障害が発生した場合、複数の業務処理で構成される業務フローを少なくとも一部の業務処理が異なる縮退フローに変更できるようにすることを目的とする。本発明の縮退処理装置は、複数の業務処理で構成される特定の業務フローの業務処理毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報を記憶する縮退フロー情報記憶部と、前記特定の業務フローを実行する業務フロー実行部と、前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を前記縮退フロー情報記憶部から取得する縮退フロー情報取得部とを備え、前記業務フロー実行部は、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行する。本発明によれば、例えば、障害が発生した場合、複数の業務処理で構成される業務フローを少なくとも一部の業務処理が異なる縮退フローに変更することができる。これにより、業務フローの処理を縮退フローに従って継続することができる。実施の形態1.特定の業務フローを構成する業務処理で障害が発生した場合に、特定の業務フローの代わりに特定の業務フローと異なる業務処理を含んだ縮退フローを実行して業務データを処理する形態について説明する。図1は、実施の形態1における分散システム100の概要図である。実施の形態1における分散システム100の概要について、図1に基づいて説明する。分散システム100縮退処理システムの一例は、計算機200Aと計算機200Bそれぞれ、縮退処理装置の一例と通信サーバ110とを備える。計算機200Aと計算機200Bと通信サーバ110とは、インターネットやローカルエリアネットワークLANなどのネットワークを介して通信を行う。計算機200Aと計算機200Bとは、業務フロー定義ファイル292に定義された業務フローに従って業務データを連携して処理する。業務フロー定義ファイル292の内容は計算機200Aと計算機200Bとで同じである。業務フローは、処理順が決められた複数の業務処理から構成される。業務フローを構成するいずれかの業務処理で障害が発生した場合、計算機200Aと計算機200Bとは、後述する障害ルール対応表291に基づいて障害に対応する縮退フローを選択し、選択した縮退フローに従って業務データを処理する。障害ルール対応表291の内容は計算機200Aと計算機200Bとで同じである。縮退フローは、障害が発生した場合に障害が発生していない正常時の業務フローの代わりに実行する障害時の業務フローである。例えば、計算機200Bと通信サーバ110との間で通信障害が発生した場合、正常時の業務フローを構成する複数の業務処理のうち計算機200Bと通信サーバ110との間で通信を行う必要がある業務処理が障害となる。以下、障害が発生した業務処理を障害処理という。この場合、計算機200Bは障害処理を示す障害イベントを計算機200Aに通知し、計算機200Aと計算機200Bとは障害処理の代替となる業務処理代替処理を含んだ縮退フローを選択し、選択した縮退フローに従って業務データを処理する。但し、分散システム100は、3台以上の計算機200が連携したシステムであっても構わないし、計算機200の台数が1台であるシステムであっても構わない。また、分散システム100は、計算機200および通信サーバ110以外の装置を備えても構わないし、通信サーバ110を備えなくても構わない。図2は、実施の形態1における計算機200の機能構成図である。実施の形態1における計算機200の機能構成について、図2に基づいて説明する。計算機200縮退処理装置の一例は、複数の業務アプリ実行部210と、障害監視部220、障害ルール解釈部230と、トークン切替部240と、データマッピング部241とサービス制御部250と、計算機間連携部260と、計算機記憶部290とを備える。計算機記憶部290縮退フロー情報記憶部の一例は、計算機200で使用するデータやプログラムを記憶する。障害ルール対応表291、業務フロー定義ファイル292、マップアプリ293、業務アプリ298、トークン299は、計算機記憶部290に記憶されるデータまたはプログラムの一例である。障害ルール対応表291縮退フロー情報の一例は、複数の業務処理で構成される特定の業務フロー正常時の業務フローの業務処理毎に縮退フロー情報を示すデータである。縮退フロー情報は、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フロー異常時の業務フローを縮退フローとして特定する情報である。例えば、障害ルール対応表291は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フロー情報を示す。障害ルール対応表291は、さらに、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に業務データの変換方法を特定するデータ変換情報マップアプリ293を特定する情報を示す。業務フロー定義ファイル292は、複数の業務フロー縮退フローを含むを定義したデータであって、業務フロー毎に業務フローを構成する複数の業務処理を特定する業務フロー定義縮退フロー定義の一例を含んだデータである。マップアプリ293は、業務データのデータ形式やデータ値を変換する変換方法のアルゴリズムを表すプログラムである。マップアプリ293は、特定の業務データを入力し、入力した業務データを所定の変換方法で変換し、変換した業務データを出力する。業務アプリ298は、業務処理のアルゴリズムを表すプログラムである。業務アプリ298は、業務データを入力し、入力した業務データを所定の処理方法業務処理に従って処理し、処理した業務データを出力する。但し、障害が発生した場合、業務アプリ298は、発生した障害の情報を出力する。トークン299は、業務データを含んだデータである。業務データは1つ又は複数のデータを含んだデータである。以下、業務データに含まれるデータを個別データという。例えば、トークン299は、業務データの他に、業務データを処理する業務フローを識別する情報や、業務データを処理するまたは直前に処理した業務処理を識別する情報、実行するまたは直前に実行した処理ステップのステップ番号などの処理情報を含む。業務アプリ実行部210は、所定の業務アプリ298を実行して所定の業務処理で業務データを処理する。サービス制御部250業務フロー実行部の一例は、複数の業務アプリ実行部210を制御して特定の業務フロー正常時の業務フローを実行する。つまり、サービス制御部250は、特定の業務フローを構成する複数の業務処理に対応する複数の業務アプリ実行部210業務アプリ298を実行する。障害ルール解釈部230縮退フロー情報取得部の一例は、特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を障害ルール対応表291から取得する。障害ルール解釈部230は、さらに、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理障害処理との組み合わせに対応する縮退フロー情報を業務データの縮退フロー情報として障害ルール対応表291から取得する。障害ルール解釈部230は、さらに、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ変換情報を業務データのデータ変換情報として障害ルール対応表291から取得する。データマッピング部241業務データ変換部の一例は、前記障害の発生時に処理されていた業務データ毎に業務データのデータ変換情報によって特定される変換方法に従って業務データを変換する。つまり、データマッピング部241は、業務データのデータ変換情報によって特定されるマップアプリ293を実行して業務データを変換する。サービス制御部250は、特定の業務フローのいずれかの業務処理で障害が発生した場合、障害ルール解釈部230によって取得された縮退フロー情報によって特定される縮退フローを特定の業務フローの代わりに実行する。つまり、サービス制御部250は、縮退フローを構成する複数の業務処理に対応する複数の業務アプリ実行部210業務アプリ298を実行する。例えば、サービス制御部250は、以下のように縮退フローに従って業務データを処理する。サービス制御部250は、障害の発生時に処理されていた業務データ毎に業務データの縮退フロー情報によって特定される縮退フローに従って業務データを処理する。サービス制御部250は、データマッピング部241によって変換された業務データを処理する。障害監視部220は、業務処理の障害が発生したか否かを監視する。例えば、障害監視部220は、業務アプリ298の出力が障害情報である場合に業務処理の障害が発生したことを検出する。また、障害監視部220は、他の計算機200から障害イベントが通知された場合に他の計算機200の業務処理で障害が発生したことを検出する。トークン切替部240は、業務処理の障害が発生した場合に縮退フローに合わせてトークン299の処理情報を更新する。計算機間連携部260は、他の計算機200と通信を行う。例えば、計算機間連携部260は、業務データや障害イベントを他の計算機200と通信する。以下、特定の業務フロー正常時の業務フローを単に業務フローといい、Pnで記す。また、縮退フロー異常時の業務フローをPxxは整数で記す。業務フローPnまたは縮退フローPxを構成する業務処理または業務処理に対応する業務アプリ298を小文字のアルファベットa,b,c,で記す。業務アプリは小文字のアルファベットを実行する業務アプリ実行部210をで記す。図3は、実施の形態1における業務フローPnの一例を示す図である。実施の形態1における業務フローPnの一例について、図3に基づいて説明する。但し、実施の形態1における業務フローPnは図3に示す業務フローに限られるものではない。業務フローPnは5つの業務アプリa,b,c,d,eで構成され、業務アプリ298の処理順はa→b→c→d→eである。また、業務アプリa,e,dは計算機200Aで実行され、業務アプリb,cは計算機200Bで実行される。業務フローPnを定義した業務フロー定義は、業務フロー定義ファイル292に予め設定する。また、業務フローPnを定義した業務フロー定義は、各計算機200ABの所定の記憶領域に予め記憶する。以下、業務フローPnの業務フロー定義が予め記憶される記憶領域をフロー定義領域という。1つまたは複数のトークン299業務データが発生した場合、計算機200Aのサービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。サービス制御部250は、最初の業務アプリaを実行するために業務アプリ実行部aタスク、プロセスともいうを起動し、起動した業務アプリ実行部aにトークン299を入力する。業務アプリ実行部aは、業務アプリaを実行してトークン299に含まれる業務データを処理し、処理した業務データを含めたトークン299を出力する。サービス制御部250は、業務アプリ実行部aを停止し、業務アプリ実行部aから出力されたトークン299を計算機間連携部260を介して計算機200Bへ送信する。計算機200Bのサービス制御部250は、計算機間連携部260を介してトークン299を受信する。サービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。サービス制御部250は、次の業務アプリbを実行するために業務アプリ実行部bを起動し、受信したトークン299を業務アプリ実行部bに入力する。業務アプリ実行部bは、業務アプリbを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。サービス制御部250は、業務アプリ実行部bを停止し、次の業務アプリcを実行するために業務アプリ実行部cを起動し、業務アプリ実行部bから出力されたトークン299を業務アプリ実行部cに入力する。業務アプリ実行部cは、業務アプリcを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。サービス制御部250は、業務アプリ実行部cを停止し、業務アプリ実行部cから出力されたトークン299を計算機間連携部260を介して計算機200Aへ送信する。計算機200Aのサービス制御部250は、計算機間連携部260を介してトークン299を受信する。サービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。サービス制御部250は、次の業務アプリdを実行するために業務アプリ実行部dを起動し、受信したトークン299を業務アプリ実行部dに入力する。業務アプリ実行部dは、業務アプリdを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。サービス制御部250は、業務アプリ実行部dを停止し、最後の業務アプリeを実行するために業務アプリ実行部eを起動し、業務アプリ実行部dから出力されたトークン299を業務アプリ実行部eに入力する。業務アプリ実行部eは、業務アプリeを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。サービス制御部250は、業務アプリ実行部eを停止する。図4は、実施の形態1における障害ルール対応表291の一例を示す図である。実施の形態1における障害ルール対応表291の一例について、図4に基づいて説明する。但し、実施の形態1における障害ルール対応表291は図4に示す障害ルール対応表291に限られるものではない。障害ルール対応表291は、データ項目として切替前位置障害切替後フロー切替後位置収集対象マップアプリを有する。切替前位置は、新規または業務アプリのアプリ名a,b,c,を示す。障害は、障害内容を識別する障害名を示す。以下、業務アプリは小文字のアルファベットで発生した障害の障害名をEで記す。例えば、障害名Ebは業務アプリbで発生した障害を識別する。切替後フロー縮退フロー情報の一例は、縮退フローを識別するフロー名Pxを示す。切替後位置は、縮退フローを構成する業務アプリ298のうち最初に実行する業務アプリを識別するアプリ名処理名を示す。収集対象は、マップアプリ293に入力する業務データを示す。以下、業務アプリで処理した業務データをDで記す。マップアプリデータ変換情報の一例は、マップアプリ293を識別するアプリ名を示す。以下、マップアプリ293をMは小文字のアルファベットで記す。例えば、マップアプリMcは、業務データDbと業務データDcとを入力し、入力した業務データDb,Dcを所定の変換処理で変換し、変換して得られた業務データを縮退フローP2の業務アプリb’で処理する業務データとして出力する。図5は、実施の形態1における縮退フローPxの一例を示す図である。実施の形態1における縮退フローPxの一例について、図5に基づいて説明する。但し、実施の形態1における縮退フローPxは図5に示す縮退フローPxに限られるものではない。各縮退フローPxを定義した業務フロー定義縮退フロー定義は、業務フロー定義ファイル292に予め設定する。ここで、業務フローPnの業務アプリbで障害が発生したものとする。この場合、新たな業務データまたは業務アプリaで実行されていた業務データを処理するための縮退フローとして図4の障害ルール対応表291に基づいて縮退フローP1が選択される。切替前位置新規aと障害Ebとに対応する切替後フローがP1だからである。同様に、業務アプリb,cで実行されていた業務データを処理するための縮退フローとして縮退フローP2が選択される。また、業務アプリdで実行されていた業務データを処理するための縮退フローとして縮退フローP3が選択され、業務アプリeで実行されていた業務データを処理するための縮退フローとして縮退フローP4が選択される。例えば、障害が発生した業務アプリbは業務データを通信サーバ110へ送信する処理であり、業務アプリbの次に実行される業務アプリcは業務データを送信したことを示すフラグを所定のデータベースに設定する処理である。縮退フローP1は、業務処理bを含まず、業務アプリcの代わりに業務アプリc’を含む。業務アプリc’は、処理した業務データを送信できなかったことを示すフラグをデータベースに設定する処理である。いずれの業務処理も計算機Aで実行される。縮退フローP2は、業務アプリaを含まず、業務アプリb,cの代わりに業務アプリb’を含む。業務アプリb’は、業務データ自体に障害が発生しているかもしれないため、処理する業務データを復元するリカバリ処理と処理した業務データを送信できなかったことを示すフラグをデータベースに設定する処理とを含んだ処理である。業務アプリb’は計算機Bで実行され、業務アプリd,eは計算機Aで実行される。縮退フローP3は業務アプリa-cを含まずに業務アプリd’を含み、縮退フローP4は業務アプリa-dを含まずに業務アプリd’を含む。業務アプリd’は、処理する業務データが障害の影響を受けていない業務データであることを示すフラグをデータベースに設定する処理である。いずれの業務処理も計算機Aで実行される。但し、各業務処理は、上記の処理以外の処理であっても構わない。図6は、実施の形態1における分散システム100のサービス構成変更方法を示すフローチャートである。実施の形態1における分散システム100のサービス構成変更方法縮退処理方法の一例について、図6に基づいて説明する。各計算機200ABは、以下に説明する処理をCPUCentralProcessingUnitや通信機器などのハードウェア資源を用いて実行する。S110において、計算機200Aの障害監視部220は、計算機200Aを監視し、計算機200Aで実行されている業務アプリ298の障害の発生を検出する。計算機200Bの障害監視部220は、計算機200Bを監視し、計算機200Bで実行されている業務アプリ298の障害の発生を検出する。例えば、業務アプリ298の障害が発生した場合、障害が発生した業務アプリ298を実行していた業務アプリ実行部210は、障害が発生した業務アプリ298を特定する障害名を含んだ障害情報を出力する。障害監視部220は、業務アプリ実行部210から障害情報が出力されるか否かを監視し、障害の発生を示す情報として障害情報を検出する。ここで、計算機200Bの業務アプリ298例えば、図5の業務処理bで障害が発生し、計算機200Bの障害監視部220が障害の発生を検出したものとする。S110の後、S120に進む。S120において、計算機200Bの障害監視部220は、障害が発生した業務アプリ298を特定する障害名などの障害情報を含んだデータを障害の発生を示す障害イベントとして生成する。計算機200Bの計算機間連携部260は、障害監視部220によって生成された障害イベントを計算機200Aへ送信する。計算機200Aの計算機間連携部260は、計算機200Bから送信された障害イベントを受信する。S120の後、S130に進む。S130において、業務アプリ298を実行中の各業務アプリ実行部210が処理中のトークン299に対する業務処理を終了した場合、各計算機200ABのサービス制御部250は、各業務アプリ実行部210を停止する。但し、サービス制御部250は、次の業務アプリ298を実行するための業務アプリ実行部210を実行しない。つまり、サービス制御部250は、各トークン299に対して業務フローPnの実行を停止する。S130の後、S140に進む。S140において、計算機200Bの障害ルール解釈部230は、障害監視部220によって検出された障害情報に含まれる障害名S110参照に対応する縮退情報を障害ルール対応表291から取得する。計算機200Aの障害ルール解釈部230は、障害イベントS120参照に含まれる障害名に対応する縮退情報を障害ルール対応表291から取得する。例えば、障害名がEbである場合、各計算機200ABの障害ルール解釈部230は、図4に示した障害ルール対応表291から切替前位置新規の縮退情報として切替後フローP1、切替後位置aを取得する。さらに、各障害ルール解釈部230は、切替前位置aの縮退情報として切替後フローP1、切替後位置c’、収集対象Da、マップアプリMaを取得する。同様に、各障害ルール解釈部230は、切替前位置bcdeの縮退情報を取得する。S140の後、S150に進む。S150において、各計算機200ABのトークン切替部240は、業務フローPnを構成する各業務アプリ298で処理されていたトークン299を収集する。例えば、各計算機200ABのトークン切替部240は、他方の計算機200の業務アプリ298で処理されていたトークン299を計算機間連携部260を介して収集する。S150の後、S160に進む。S160において、各計算機200ABの障害ルール解釈部230は、収集されたトークン299毎にトークン299の縮退情報を障害ルール対応表291から取得する。トークン299の縮退情報は、障害発生時にトークン299を処理していた業務アプリ298と障害が発生した業務アプリ298とに対応する障害ルール対応表291のデータである。例えば、障害発生時にトークン299を処理していた業務アプリ298がaであり、障害が発生した業務アプリ298がbである場合、切替前位置aと障害Ebとに対応するデータP1,c’,Da,Maがトークン299の縮退情報である図4参照。各計算機200ABのトークン切替部240は、収集したトークン299毎にトークン299の処理情報を縮退情報に基づいて更新する。例えば、各計算機200ABのトークン切替部240は、業務アプリaで処理されていたトークン299の処理情報フロー名、アプリ名などをトークン299の縮退情報に基づいて以下のように更新する。トークン切替部240は、トークン299のフロー名Pnをトークン299の縮退情報に含まれる切替後フローP1に更新する。トークン切替部240は、トークン299のアプリ名aをトークン299の縮退情報に含まれる切替後位置c’に更新する。各計算機200ABのデータマッピング部241は、収集されたトークン299毎にトークン299の業務データをトークン299の縮退情報に基づいて変換する。例えば、各計算機200のトークン切替部240は、業務アプリaで処理されていたトークン299の業務データDaをトークン299の縮退情報で特定されるマップアプリMaを実行して変換する。S160の後、S170に進む。S170において、各計算機200ABのサービス制御部250は、フロー定義領域に記憶されている業務フローPnの業務フロー定義をS140で取得された縮退情報に基づいて縮退フローの業務フロー定義に更新する。以下、縮退フローの業務フロー定義を縮退フロー定義という。例えば、切替前位置新規aの縮退フローのフロー名がP1であり、切替前位置bcの縮退フローのフロー名がP2であり、切替前位置dの縮退フローのフロー名がP3であり、切替前位置eの縮退フローのフロー名がP4であるものとする。この場合、各計算機200ABのサービス制御部250は、縮退フローP1P2P3P4それぞれの縮退フロー定義を業務フロー定義ファイル292から取得する。サービス制御部250は、フロー定義領域に記憶されている業務フローPnの業務フロー定義を4つの縮退フロー定義P1、P2、P3、P4に更新する。S170の後、S180に進む。S180において、各計算機200ABのサービス制御部250は、フロー定義領域に記憶されている各縮退フロー定義に従って各業務アプリ実行部210を起動し、縮退フローの実行を開始する。例えば、サービス制御部250は、以下のように動作する。サービス制御部250は、S160で更新されたトークン299毎に、トークン299に含まれるフロー名を参照し、参照したフロー名で識別される縮退フローをトークン299を処理する縮退フローとして判定する。サービス制御部250は、トークン299に含まれるアプリ名を参照し、参照したアプリ名で識別される業務アプリ298を実行するために業務アプリ実行部210を起動し、起動した業務アプリ実行部210にトークン299を入力する。以後、サービス制御部250は、判定した縮退フローの処理順に従って業務アプリ実行部210を起動してトークン299を縮退フローで処理する。ここで、トークン299は、障害発生時に同じ業務アプリ実行部210によって処理されていた複数のトークン299に置き換えてもよい。縮退フローの実行方法は、業務フローの実行方法図3の説明を参照と同様である。S180により、サービス構成変更方法の処理は終了する。以上により、業務フローの業務処理で障害が発生した場合、分散システム100は、業務フローで実行していたトークン299および新たな業務フローを縮退フローによって処理することができる。図7は、実施の形態1における計算機200のハードウェア資源の一例を示す図である。図7において、計算機200コンピュータの一例は、CPU901CentralProcessingUnitを備えている。CPU901は、バス902を介してROM903、RAM904、通信装置905、ディスプレイ911表示装置、キーボード912、マウス913、ドライブ装置914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ装置914は、FDFlexibleDiskDrive、CDCompactDisc、DVDDigitalVersatileDiscなどの記憶媒体を読み書きする装置である。ROM903、RAM904、磁気ディスク装置920およびドライブ装置914は記憶装置の一例である。キーボード912およびマウス913は入力装置の一例である。ディスプレイ装置911は出力装置の一例である。通信装置905は、有線または無線で、LANLocalAreaNetwork、インターネット、電話回線などの通信網に接続している。通信装置905は、入力装置または出力装置の一例である。磁気ディスク装置920には、OS921オペレーティングシステム、プログラム群922、ファイル群923が記憶されている。プログラム群922には、実施の形態において~部として説明する機能を実行するプログラムが含まれる。プログラム例えば、縮退処理プログラムは、CPU901により読み出され実行される。すなわち、プログラムは、~部としてコンピュータを機能させるものであり、また~部の手順や方法をコンピュータに実行させるものである。ファイル群923には、実施の形態において説明する~部で使用される各種データ入力、出力、判定結果、計算結果、処理結果などが含まれる。実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。フローチャートなどに基づいて説明する実施の形態の処理はCPU901や記憶装置や通信装置などのハードウェアを用いて実行される。実施の形態において~部として説明するものは~回路、~装置、~機器であってもよく、また~ステップ、~手順、~処理であってもよい。すなわち、~部として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。実施の形態1において、例えば、以下のような効果を奏する分散システム100について説明した。分散システム100は、正常時の業務フローを縮退時の業務フローに置き換えることにより、業務フローから一部の業務処理サービスを削除したり、業務フローを構成する業務処理を変更したりすることができる。分散システム100は、障害発生時に実行していた業務処理に応じて縮退時の業務フローを選択し、業務データを縮退時の業務フロー用のデータに変換する。これにより、分散システム100は、正常時の業務フローで処理されていた処理中の業務データを縮退時の業務フローで引き続き処理することができる。実施の形態1において、分散システム100は、ESBEnterpriseServiceBusミドルウェアやBPMBusinessProcessManagementミドルウェアなどのサービス実行基盤を用いて業務縮退を実現するシステムとして構成することができる。サービス実行基盤は、SOAServiceOrientedArchitectureにおける基本ミドルウェアである。計算機200の業務アプリ298やその他の機能はサービス実行基盤上で実行される。サービス実行基盤に処理要求があると、業務フロー定義に従った処理順で業務アプリ298が起動され、最後に要求元へ結果が返される。実施の形態2.業務フローの所定の業務処理が終了したときに業務データを保存し、その後の業務処理で障害が発生した場合に保存した業務データを用いた縮退フローを実行する形態について説明する。以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。図8は、実施の形態2における計算機200の機能構成図である。実施の形態2における計算機200の機能構成について、図8に基づいて説明する。計算機200は、実施の形態1で説明したデータマッピング部241の代わりに、チェックポイント保存部242とチェックポイント回復部243とを備える。チェックポイント保存部242は、特定の業務フローを構成する複数の業務処理のうちチェックポイントとして予め定められる業務処理の実行が終了したときにチェックポイントで処理された業務データをチェックポイントDB120DB:データベースに保存する。以下、チェックポイントで処理された業務データを含んだデータをチェックポイントデータ129という。チェックポイント回復部243は、特定の業務フローを構成するいずれかの業務処理で障害が発生した場合、チェックポイントDB120からチェックポイントデータ129を取得する。サービス制御部250は、チェックポイント回復部243によって取得されたチェックポイントデータ129に含まれる業務データを業務アプリ実行部210によって処理する。チェックポイントDB120所定のチェックポイント保存装置の一例は、チェックポイントデータ129を保存する記憶装置である。チェックポイントDB120は、各計算機200ABからアクセスされる。以下、業務データを設定する変数をタスク変数という。トークン299には業務データの代わりにタスク変数の変数名が含まれ、チェックポイントデータ129にはタスク変数名に対応付けてタスク変数に設定された変数値業務データが含まれる。計算機200は、タスク変数APIアプリケーションインタフェースを備える図示省略。トークン299が発生した場合、タスク変数APIは、タスク変数定義に基づいてトークン毎にタスク変数を生成する。つまり、タスク変数はトークン毎に管理される。タスク変数定義はタスク変数の変数名やデータ型を設定したデータであり、計算機記憶部290に予め記憶する図示省略。図9は、実施の形態2における障害ルール対応表291の一例を示す図である。図8、図9に示すように、実施の形態2ではマップアプリ293は不要である。但し、実施の形態1と同様にマップアプリ293を用いても構わない。図10は、実施の形態2における業務フローPnの一例を示す図である。図10に示すように、業務フローPnを構成する業務アプリa-eのうち業務アプリbがチェックポイントである。したがって、業務アプリbの実行終了時に業務アプリbで処理されたトークン299がチェックポイントデータ129としてチェックポイントDB120に記憶される。業務アプリbがチェックポイントであることは、業務フローPnの業務フロー定義に予め設定する。また、業務アプリcで障害が発生したときに業務アプリcで処理していたトークン299の処理を継続するための縮退フローをP3とする。縮退フローP3は、計算機200Aで業務アプリ298をb’→d→eの順で実行する処理手順である。図11は、実施の形態2におけるチェックポイントデータ129による業務データタスク変数の回復の流れを示す図である。実施の形態2におけるチェックポイントデータ129による業務データタスク変数の回復の流れについて、図11に基づいて説明する。図10に示した業務フローPnに従って、まず、計算機200Aの業務アプリ実行部210が業務アプリaを実行する。業務アプリaを実行後のタスク変数Var1文字列の値はaaaであり、タスク変数Var2整数の値は20である。各タスク変数の値はトークン299毎に設けるメモリ内の記憶領域に設定される。以下、トークン299毎に設ける記憶領域をタスク領域201という。計算機200Aと計算機200Bとは、トークン299の他にタスク領域201の各タスク変数を通信し、互いにタスク領域201の同期をとる。つまり、計算機200Bは計算機200Aによって処理されたタスク変数に対して処理を行い、計算機200Aは計算機200Bによって処理されたタスク変数に対して処理を行う。次に、計算機200Bの業務アプリ実行部210が業務アプリbを実行する。業務アプリbを実行後のタスク変数Var1の値はbbであり、タスク変数Var2の値は10である。計算機200Bのチェックポイント保存部242は、業務アプリbを実行後のタスク変数Varbbとタスク変数Var210をチェックポイントDB120にチェックポイントデータ129として記憶する。次に、計算機200Bの業務アプリ実行部210が業務アプリcを実行する。ここで、業務アプリcに障害が発生したものとする。各計算機ABのチェックポイント回復部243は、チェックポイントDB120からチェックポイントデータ129を取得し、取得したチェックポイントデータ129に含まれるタスク変数Var1bbとタスク変数Var210とをタスク領域201に設定する。これにより、タスク領域201は、業務アプリbを実行後の状態に回復する。以後、縮退フローP3に従って、計算機200Aの各業務アプリ実行部210が業務アプリb’,d,eを実行して回復後のタスク領域201のタスク変数を処理する。図12は、実施の形態2における分散システム100のサービス構成変更方法を示すフローチャートである。実施の形態2における分散システム100のサービス構成変更方法について、図12に基づいて説明する。ここで、チェックポイントである業務アプリ298の実行が終了した場合、当該業務アプリ298を実行した計算機200のチェックポイント保存部242は、チェックポイントDB120にチェックポイントデータ129を保存しているものとする。つまり、チェックポイント保存部242は、当該業務アプリ298で処理されたトークン299の各タスク変数をチェックポイントデータ129としてタスク領域201からチェックポイントDB120に退避する。サービス構成変更方法の処理は、実施の形態1図6参照で説明したS160の代わりに、S161を含む。その他の処理S110-S150、S170、S180は実施の形態1と同様である。S161において、各計算機200ABのトークン切替部240は、収集したトークン299毎にトークン299の処理情報を縮退情報S140参照に基づいて更新する。更新方法は、実施の形態1のS160と同様である。さらに、各計算機200ABのチェックポイント回復部243は、チェックポイントDB120からチェックポイントデータ129を取得する。チェックポイント回復部243は、収集されたトークン299毎にチェックポイントデータ129でタスク領域201のタスク変数を回復する図11参照。これにより、分散システム100は、回復後のタスク変数に対して縮退フローに従って業務処理を継続することができる。必要に応じて、各業務アプリ298に実施の形態1で説明したマップアプリ293の機能を設けてもよい。この場合、各業務アプリ298はタスク変数を変換し、変換後のタスク変数を処理する。実施の形態2において、例えば、以下のような効果を奏する分散システム100について説明した。分散システム100は、チェックポイント回復機能によって業務データタスク変数を自動的に回復することにより、障害発生時に各計算機200からトークン299を収集する必要が無い。また、縮退フローを回復後の業務データに対応したものにすれば、分散システム100は業務データを回復するため、マップアプリ293によって業務データを変換する必要が無い。つまり、マップアプリ293を開発が不要になる。実施の形態3.1つの縮退フロー定義で複数の縮退フローを表す形態について説明する。以下、実施の形態1、2と異なる事項について主に説明する。説明を省略する事項については実施の形態1、2と同様である。<実施例1>計算機200の機能構成は、実施の形態1図2参照と同様である。但し、障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フローを構成する複数の業務処理のうち実行不要な業務処理をスキップ処理として特定するスキップ処理情報後述する切替後スキップを含む。障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するスキップ処理情報を業務データのスキップ処理情報として障害ルール対応表291から取得する。サービス制御部250は、障害の発生時に処理されていた業務データ毎に業務データの縮退フローに基づいて業務データを処理する。例えば、サービス制御部250は、業務データの縮退フローを構成する複数の業務処理のうち業務データのスキップ処理情報によって特定されるスキップ処理を除いた残りの業務処理で業務データを処理する。図13は、実施の形態3実施例1における障害ルール対応表291と縮退フローP0とを示す図である。実施の形態3実施例1における障害ルール対応表291と縮退フローP0とについて、図13に基づいて説明する。障害ルール対応表291は、実施の形態1図4参照で説明した項目に加えて、切替後スキップを有する。切替後スキップは、縮退フローP0を構成する業務アプリ298のうち実行しない業務アプリ298のアプリ名を示す。例えば、縮退フローP0がa→b→c’→d→eであり、切替後スキップがb,dである場合、サービス制御部250は、縮退フローP0から業務アプリb,dを除外して縮退フローP0’a→c’→eを生成し、生成した縮退フローP0’を実行する。<実施例2>計算機200の機能構成は、実施の形態1図2参照と同様である。但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎にフローラベル後述する切替後ラベルを含む。障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するフローラベルを業務データのフローラベルとして障害ルール対応表291から取得する。サービス制御部250は、障害の発生時に処理されていた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。図14は、実施の形態3実施例2における障害ルール対応表291と縮退フローP0とを示す図である。実施の形態3実施例2における障害ルール対応表291と縮退フローP0とについて、図14に基づいて説明する。縮退フローP0は、ラベルLaで識別される個別処理a→bと、ラベルLbで識別される個別処理a→fと、ラベルLcで識別される個別処理a→gと、全てのラベルで共通する共通処理c’→d→eとで構成される。つまり、縮退フローP0の縮退フロー定義は個別処理と共通処理とを組み合わせた3つの縮退フローを表す。3つの縮退フローは、ラベルLaで識別される縮退フローa→b→c’→d→e、ラベルLbで識別される縮退フローa→f→c’→d→e、ラベルLcで識別される縮退フローa→g→c’→d→eである。障害ルール対応表291は、実施の形態1図4参照で説明した項目に加えて、切替後ラベルを有する。切替後ラベルは、縮退フローP0の縮退フロー定義に含まれる3つの縮退フローから選択する縮退フローを識別するラベル名を示す。例えば、切替後ラベルがLaである場合、サービス制御部250は、縮退フローP0からラベルLaで識別される縮退フローを選択して縮退フローP0’a→b→c’→d→eを生成し、生成した縮退フローP0’を実行する。<実施例3>計算機200の機能構成は、実施の形態1図2参照と同様である。但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。計算機記憶部290ルックアップテーブル記憶部の一例は、特定の業務データに設定されるデータ値と特定のフローラベルとを対応付けたルックアップテーブル294を記憶する。障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名後述する切替後タスク変数を含む。障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として障害ルール対応表291から取得する。サービス制御部250フローラベル取得部の一例は、障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定する。サービス制御部250は、判定したデータ値に対応するフローラベルを業務データのフローラベルとしてルックアップテーブル294から取得する。サービス制御部250は、障害の発生時に処理していた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。図15は、実施の形態3実施例3における障害ルール対応表291とルックアップテーブル294と縮退フローP0’とを示す図である。実施の形態3実施例3における障害ルール対応表291とルックアップテーブル294と縮退フローP0’とについて、図15に基づいて説明する。縮退フローP0図示省略の縮退フロー定義は、実施例2と同じく、複数3つの縮退フローを含む図14参照。障害ルール対応表291は、実施の形態1図4参照で説明した項目に加えて、切替後タスク変数を有する。切替後タスク変数は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。ルックアップテーブル294は、タスク変数変数値ラベルを対応付けたデータである。タスク変数は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。変数値は、タスク変数の値を示す。ラベルは、縮退フローP0の縮退フロー定義に含まれる3つの縮退フローから選択する縮退フローを識別するラベル名を示す。例えば、切替後タスク変数がDaであり、タスク変数Daの変数値がxである場合、サービス制御部250は、タスク変数Daと変数値xとに対応するラベル名Laをマップアプリ293から取得する。サービス制御部250は、縮退フローP0図14参照からラベル名Laで識別される縮退フローを選択して縮退フローP0’a→b→c’→d→eを生成し、生成した縮退フローP0’を実行する。<実施例4>計算機200の機能構成は、実施の形態1図2参照と同様である。但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。計算機記憶部290は、特定の業務データに設定されるデータ値を入力して入力したデータ値に予め対応付けられたフローラベルを出力するラベル決定スクリプト295フローラベル出力プログラムの一例を記憶する。障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名後述する切替後タスク変数を含む。障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として障害ルール対応表291から取得する。サービス制御部250フローラベル出力部の一例は、障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定する。サービス制御部250は、判定したデータ値に対応するフローラベルを業務データのフローラベルとしてラベル決定スクリプト295を実行して取得する。サービス制御部250は、障害の発生時に処理していた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。図16は、実施の形態3実施例4のおける障害ルール対応表291と縮退フローP0’とを示す図である。実施の形態3実施例4のおける障害ルール対応表291と縮退フローP0’とについて、図16に基づいて説明する。縮退フローP0図示省略の縮退フロー定義は、実施例2と同じく、複数3つの縮退フローを含む図14参照。障害ルール対応表291は、実施の形態1図4参照で説明した項目に加えて、切替後タスク変数を有する。切替後タスク変数は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。ラベル決定スクリプト295は、タスク変数の変数名と変数値とを入力し、入力したタスク変数の変数名と変数値とに対応する所定のラベル名を出力するプログラムである。例えば、切替後タスク変数がDaであり、タスク変数Daの変数値がxである場合、サービス制御部250は、タスク変数Daと変数値xとをラベル決定スクリプト295の入力としてラベル決定スクリプト295を実行する。ラベル決定スクリプト295からラベル名Laが出力された場合、サービス制御部250は、縮退フローP0図14参照からラベル名Laで識別される縮退フローを選択して縮退フローP0’a→b→c’→d→eを生成し、生成した縮退フローP0’を実行する。実施例1から実施例4を組み合わせても構わない。例えば、障害ルール対応表291の切替前位置や障害に応じて適用する実施例が異なってもよい。つまり、縮退前位置新規の縮退フローは実施例1と同様に切替後スキップに従って決定し、縮退前位置aの縮退フローは実施例2と同様に切替後ラベルに従って決定してもよい。縮退前位置bの縮退フローは実施例3と同様に切替後タスク変数とマップアプリ293とに従って決定し、縮退前位置cの縮退フローは実施例4と同様に切替後タスク変数とラベル決定スクリプト295とに従って決定してもよい。実施例1と実施例2-4を組み合わせても構わない。つまり、実施例2-4のいずれかと同様にラベル名を判定し、実施例1と同様に切替後スキップを判定し、ラベル名で識別される縮退フローから切替後スキップで識別される業務アプリ298を削除してもよい。実施の形態3におけるサービス構成変更方法の処理は、実施の形態1と同様である図6参照。但し、S170において、サービス制御部250は、トークン299毎に実施例1-4または組み合わせの実施例の処理を実行してトークン299の縮退フローを決定する。サービス制御部250は、決定した各縮退フローの縮退フロー定義をフロー定義領域に設定する。S180において、サービス制御部250は、トークン299毎にトークン299の縮退フローに従ってトークン299を処理する。但し、実施の形態2図12参照と同様にサービス構成方法の処理を実行しても構わない。つまり、実施の形態2と同様にチェックポイントの保存回復を行っても構わない。実施の形態3において、例えば、以下のような効果を奏する分散システム100について説明した。分散システム100は、1つの縮退フロー定義で複数の縮退フローを表す。これにより、縮退フロー毎に縮退フロー定義を生成する必要がなくなる。つまり、縮退フロー定義の数を減らし、縮退フロー定義を生成するための作業量を減らすことができる。"