(57)【要約】【課題】実行条件を満たしてユーザが要求するサービスを提供することを保証する分散処理システム、コントロール・ユニット、及びクライアントを提供する。【解決手段】ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、クライアント及びプロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、クライアントは、プロセッシング・エレメントを制御するための、計算資源及び処理経路に関する実行遷移情報を記憶しており、プロセッシング・エレメントは、実行遷移情報にしたがって、サービスを構成するタスクを実行することによって、サービスを実行する。【選択図】図１１
2010205037.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、前記クライアント及び前記プロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、
前記クライアントは、前記プロセッシング・エレメントを制御するための、計算資源及び処理経路に関する実行遷移情報を記憶しており、
前記プロセッシング・エレメントは、前記実行遷移情報にしたがって、前記サービスを構成するタスクを実行することによって、前記サービスを実行することを特徴とする分散処理システム。
【請求項２】
前記クライアントは、その記憶領域に前記実行遷移情報をあらかじめ記憶している請求項１に記載の分散処理システム。
【請求項３】
前記コントロール・ユニットは、前記クライアントからサービス実行要求があったときに、前記クライアントに記憶されている前記実行遷移情報のうち、前記サービスに対応する前記実行遷移情報を前記クライアントから受け取って、有効性を判断する判断部を備え、前記判断部による有効性の判断結果を前記クライアントに通知する請求項１又は請求項２に記載の分散処理システム。
【請求項４】
前記コントロール・ユニットは、前記実行遷移情報を用いて前記プロセッシング・エレメントを制御する請求項３に記載の分散処理システム。
【請求項５】
前記クライアントは、前記ユーザから要求されたサービスに応じて、前記実行遷移情報を前記コントロール・ユニットに提供するか否かを判断し、前記判断結果に応じて前記コントロール・ユニットに前記実行遷移情報を送る請求項２から請求項４のいずれか１項に記載の分散処理システム。
【請求項６】
前記クライアントは、前記ユーザからサービス要求を受けたときに、記憶している前記実行遷移情報の中に、前記サービスに対応する実行遷移情報が存在するか否かを検索する請求項１から請求項５のいずれか１項に記載の分散処理システム。
【請求項７】
前記クライアントは、前記検索の結果、前記サービスに対応する実行遷移情報が存在したときは、前記コントロール・ユニットに対して存在した実行遷移情報を提供する請求項６に記載の分散処理システム。
【請求項８】
前記クライアントは、前記検索の結果、前記サービスに対応する実行遷移情報が存在しなかったときは、前記検索の結果を前記ユーザに通知する請求項６に記載の分散処理システム。
【請求項９】
前記判断部による有効性の判断において、前記サービスに対応する前記実行遷移情報が、無効であったときは、有効性の判断結果を前記ユーザに通知する請求項２から請求項７のいずれか一項に記載の分散処理システム。
【請求項１０】
サービスの実行を要求するクライアントと、プロセッシング・エレメントと、が接続されたコントロール・ユニットであって、
前記クライアントからサービス実行要求があったときに、前記クライアントに記憶されている前記実行遷移情報のうち、前記サービスに対応する前記実行遷移情報を前記クライアントから受け取って、有効性を判断する判断部を備え、前記判断部による有効性の判断結果を前記クライアントに通知することを特徴とするコントロール・ユニット。
【請求項１１】
前記コントロール・ユニットは、前記実行遷移情報を用いて前記プロセッシング・エレメントを制御する請求項１０に記載のコントロール・ユニット。
【請求項１２】
分散処理システムのコントロール・ユニットに接続され、ユーザから要求されたサービスの実行を要求するクライアントであって、
前記プロセッシング・エレメントを制御するための、計算資源及び処理経路に関する実行遷移情報を記憶することを特徴とするクライアント。
【請求項１３】
記憶領域に前記実行遷移情報をあらかじめ記憶している請求項１２に記載のクライアント。
【請求項１４】
前記クライアントは、前記ユーザから要求されたサービスに応じて、前記実行遷移情報を前記コントロール・ユニットに提供するか否かを判断し、前記コントロール・ユニットに前記実行遷移情報を送る請求項１２又は請求項１３に記載のクライアント。
【請求項１５】
前記クライアントは、前記ユーザからサービス要求を受けたときに、記憶している前記実行遷移情報の中に、前記サービスに対応する実行遷移情報が存在するか否かを検索する請求項１２から請求項１４のいずれか１項に記載のクライアント。
【請求項１６】
前記クライアントは、前記検索の結果、前記サービスに対応する実行遷移情報が存在したときは、前記コントロール・ユニットに対して存在した実行遷移情報を提供する請求項１５に記載のクライアント。
【請求項１７】
前記クライアントは、前記検索の結果、前記サービスに対応する実行遷移情報が存在しなかったときは、前記検索の結果を前記ユーザに通知する請求項１５に記載のクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理システム、コントロール・ユニット、及びクライアントに関するものである。
【背景技術】
【０００２】
分散処理システムとして、コントロール・ユニットと、コントロール・ユニットに接続された少なくとも一つのプロセッシング・エレメントと、を備えたものがある。この分散処理システムでは、クライアントから要求されたサービスに応じて、計算資源及び処理経路に関する実行遷移情報を生成し、実行遷移情報にしたがって、計算資源として確保されたプロセッシング・エレメントにおいてサービスを構成するタスクを実行する。さらに、実行遷移情報を使ってシステムを再構成するステップを省略するために、情報をキャッシュし、有効性を判断することも提案されている。このような並列処理システムとしては、例えば、特許文献１に提案されたシステムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３１８４５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の分散処理システムでは、コントロール・ユニットがネットワークの状態などの実行環境に最適な実行遷移情報を提供し、処理経路を構築する。すなわち、実行時の実行環境によって最適とされるネットワークが変化し、サービス実行時に保証したいセキュリティやプライバシーなどの実行条件をサービスごとに制約できなかった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ユーザが使用できる実行遷移情報をセキュリティやプライバシーなどの実行条件を満たすことが分かっている実行遷移情報に制約し、予めクライアントの記憶領域に組み込んでおき、それらの実行遷移情報に従ってサービスの提供が可能かどうか判断することで、実行条件を満たしてユーザが要求するサービスを提供することを保証する分散処理システム、コントロール・ユニット、及びクライアントを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る分散処理システムは、ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、クライアント及びプロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、クライアントは、プロセッシング・エレメントを制御するための、計算資源及び処理経路に関する実行遷移情報を記憶しており、プロセッシング・エレメントは、実行遷移情報にしたがって、サービスを構成するタスクを実行することによって、サービスを実行することを特徴とする。
【０００７】
本発明に係る分散処理システムでは、クライアントは、その記憶領域に前記実行遷移情報をあらかじめ記憶していることが好ましい。
【０００８】
本発明に係る分散処理システムでは、コントロール・ユニットはクライアントからサービス実行要求があったときに、クライアントに記憶されている実行遷移情報のうち、サービスに対応する実行遷移情報をクライアントから受け取って、有効性を判断する判断部を備え、判断部による有効性の判断結果をクライアントに通知することが好ましい。
【０００９】
本発明に係る分散処理システムでは、コントロール・ユニットは、実行遷移情報を用いてプロセッシング・エレメントを制御することが好ましい。
【００１０】
本発明に係る分散処理システムでは、クライアントは、ユーザから要求されたサービスに応じて、実行遷移情報をコントロール・ユニットに提供するか否かを判断し、判断結果に応じてコントロール・ユニットに実行遷移情報を送ることが好ましい。
【００１１】
本発明に係る分散処理システムでは、クライアントは、ユーザからサービス要求を受けたときに、記憶している実行遷移情報の中に、サービスに対応する実行遷移情報が存在するか否かを検索することが好ましい。
【００１２】
本発明に係る分散処理システムでは、クライアントは、検索の結果、サービスに対応する実行遷移情報が存在したときは、コントロール・ユニットに対して存在した実行遷移情報を提供することが好ましい。
【００１３】
本発明に係る分散処理システムでは、クライアントは、検索の結果、サービスに対応する実行遷移情報が存在しなかったときは、検索の結果をユーザに通知することが好ましい。
【００１４】
本発明に係る分散処理システムでは、判断部による有効性の判断において、サービスに対応する実行遷移情報が、無効であったときは、有効性の判断結果をユーザに通知することが好ましい。
【００１５】
本発明に係るコントロール・ユニットは、サービスの実行を要求するクライアントと、プロセッシング・エレメントと、が接続されたコントロール・ユニットであって、クライアントからサービス実行要求があったときに、クライアントに記憶されている実行遷移情報のうち、サービスに対応する実行遷移情報をクライアントから受け取って、有効性を判断する判断部を備え、判断部による有効性の判断結果をクライアントに通知することを特徴とする。
【００１６】
本発明に係るコントロール・ユニットは、実行遷移情報を用いてプロセッシング・エレメントを制御することが好ましい。
【００１７】
本発明に係るクライアントは、分散処理システムのコントロール・ユニットに接続され、ユーザから要求されたサービスの実行を要求するクライアントであって、プロセッシング・エレメントを制御するための、計算資源及び処理経路に関する実行遷移情報を記憶することを特徴とする。
【００１８】
本発明に係るクライアントは、記憶領域に実行遷移情報をあらかじめ記憶していることが好ましい。
【００１９】
本発明に係るクライアントは、ユーザから要求されたサービスに応じて、実行遷移情報をコントロール・ユニットに提供するか否かを判断し、コントロール・ユニットに実行遷移情報を送ることが好ましい。
【００２０】
本発明に係るクライアントは、ユーザからサービス要求を受けたときに、記憶している実行遷移情報の中に、サービスに対応する実行遷移情報が存在するか否かを検索することが好ましい。
【００２１】
本発明に係るクライアントは、検索の結果、サービスに対応する実行遷移情報が存在したときは、コントロール・ユニットに対して存在した実行遷移情報を提供することが好ましい。
【００２２】
本発明に係るクライアントは、検索の結果、サービスに対応する実行遷移情報が存在しなかったときは、検索の結果をユーザに通知することが好ましい。
【発明の効果】
【００２３】
本発明に係る分散処理システム、コントロール・ユニット、及びクライアントは、ユーザが使用できる実行遷移情報をセキュリティやプライバシーなどの実行条件を満たすことが分かっている実行遷移情報に制約し、予めクライアントの記憶領域に組み込んでおき、それらの実行遷移情報に従ってサービスの提供が可能かどうか判断することで、実行条件を満たしてユーザが要求するサービスを提供することを保証することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る分散システムの概略構成を示す概念図である。
【図２】サービスと、サービスを構成するタスクと、を対応させたサービスタスク対応表を示す図である。
【図３】実行遷移情報を構成する情報の例と、各構成情報のデータ例と、をそれぞれ示す表である。
【図４】ＣＵが生成した実行遷移情報に基づいて計算資源の確保から計算資源の解放までを行う手順を示す図である。
【図５】図２のサービスタスク対応表に基づいた、アプリケーションの処理の流れを示すフローチャートである。
【図６】実行遷移情報の構成に対応したシステムのモデル例を示す図である。
【図７】画像のデコードおよび閲覧を行うクライアントアプリケーションの画面例を示す図である。
【図８】図２のサービスタスク対応表に基づいた、アプリケーションの処理の流れを示すフローチャートであって、セキュリティレベルが高い場合の流れを示す図である。
【図９】実行遷移情報の構成に対応したシステムのモデル例を示す図である。
【図１０】セキュリティレベルが高い場合の画像のデコードおよび閲覧を行うクライアントアプリケーションの画面例を示す図である。
【図１１】クライアントの実行の流れを示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下に、本発明に係る分散処理システム、コントロール・ユニット、及びクライアントの実施形態を図面に基づいて詳細に説明する。
本実施形態は、本発明に係る分散処理システムをＪＰＥＧのデコード処理に適用したものであるが、本発明は、以下の実施形態により処理内容の範囲が限定されるものではない。
【００２６】
図１は、本実施形態に係る分散システムの概略構成を示す概念図である。図１において、太線はデータ処理ネットワークを、細線は制御ネットワークを、それぞれ示す。図１に示すように、本実施形態に係る分散処理システム１０は、全体の制御をする（Ａ）コントロール・ユニット（ＣＵ）１１と、（Ｂ）タスクを実行できる機能を持つ複数のプロセッシング・エレメント（ＰＥ）２０、２１、２２、．．．、２ｎと、を備える。これらのＰＥのうち、ＰＥ２０は、サービスの実行を要求するサービス実行要求ＰＥ（クライアント）である。
【００２７】
ここで、マルチメディア処理などユーザにとって意味のあるユーザ価値を提供する処理単位をサービスと呼ぶ。例えばＪＰＥＧデコード処理は、ユーザが認識できる画像を提示することができるサービスであるが、このサービスを一意に識別する識別子（ＩＤ）をサービスＩＤと呼ぶ。例えばＪＰＥＧデコード処理のサービスＩＤはＳＶ−８２３である。また、サービスを構成するあるまとまった処理単位をタスクと呼ぶ。サービスは一つ以上のタスクで構成されている。例えば、ＪＰＥＧデコード処理は図２に示すＪＰＥＧファイル解析から結果表示までの６つのタスクで構成することができる。ここで、図２は、サービスと、サービスを構成するタスクと、を対応させたサービスタスク対応表を示す図である。また、タスクを一意に識別する識別子（ＩＤ）をタスクＩＤと呼ぶ。例えば、エントロピー復号化のタスクＩＤはＴＫ−１０２である。
【００２８】
ＣＵ１１はサービス―タスク対応表を参照してサービスをタスクに分解することができる。例えば、図２に示すように、ＪＰＥＧデコード処理（サービスＩＤ＝ＳＶ−８２３）サービスは、ＪＰＥＧファイル解析（タスクＩＤ＝ＴＫ−１０１）から、エントロピー復号化（タスクＩＤ＝ＴＫ−１０２）、逆量子化（タスクＩＤ＝ＴＫ−１０３）、ＩＤＣＴ（タスクＩＤ＝ＴＫ−１０４）、色信号の変換（タスクＩＤ＝ＴＫ−１０５）、結果表示（タスクＩＤ＝ＴＫ−１０６）までの計６つのタスクで構成されている。ＰＥ２０、２１、２２、．．．、２ｎはそれぞれ固有の機能を一つ以上持ち一つ以上のタスクを実行することができる。各ＰＥの機能には機能ＩＤがつけられており、タスクＩＤと対応している。例えば、機能ＩＤ＝ＦＮ−１０１をもつＰＥはタスクＩＤ＝ＴＫ−１０１のタスクを実行することができる。
【００２９】
また、「コントロール・ユニット（以下、適宜「ＣＵ」という。）とは、分散処理システムにおいて各プロセッシング・エレメントへのタスクの割り当て（アサイン）と、処理経路の管理、サービス実行時の実行状態遷移の管理などを行う制御部をいう。「プロセッシング・エレメント」（以下、適宜「ＰＥ」という。）とは、データの入出力、処理、伝達、格納の４つの機能のうち一つ以上の機能を実現するシステムの構成単位をいう。一般的には、一つのプロセッシング・エレメントが一つ以上のタスクを処理する機能と、処理に必要なデータ入出力機能やデータ格納機能を有している。
【００３０】
ＣＵ１１は自分に接続されている各ＰＥの機能（実行できるタスクの種類）や計算資源（処理能力やメモリ容量など）の情報を各ＰＥに問い合わせるか、あるいは各ＰＥから通知してもらい、登録しておく。ＣＵ１１はＰＥ２０、２１、２２、．．．、２ｎをそれぞれ登録する際にシステム１０の中で一意に定まるＩＤ（ＰＥＩＤ）を割り当てる。ＰＥＩＤはシステム起動時や再起動時に一意に割り当てる。
【００３１】
ＣＵ１１は計算資源および処理経路の状態を管理し、クライアント２０から提供された実行遷移情報に従ってサービスの提供を行う。ここで、実行遷移情報とはサービスの実行に必要な計算資源と処理経路の組み合わせとそれに関する管理情報であって、例えば図３に示すようなタスク実行遷移表として示すことができる。ここで、図３は、実行遷移情報を構成する情報の例と、各構成情報のデータ例と、をそれぞれ示す表である。また、タスク実行遷移表は、ＩＤ、及び、パスセクションとＰＥセクションとを含む経路情報が記載された一覧表である。
【００３２】
図３に示すように、実行遷移情報は、サービスＩＤ及びパターンＩＤを含むＩＤと、経路情報と、から構成されている。ただし、実行遷移情報はこれらのデータ構造に限定されるものではなく、計算資源と処理経路を含む経路情報および、それに関するいかなる管理情報も包含できる。
【００３３】
ここで、パターンとは計算資源（すなわちＰＥ）と処理経路の順列を指す。また、サービスを一意に識別する識別子（ＩＤ）をサービスＩＤと呼ぶ。
【００３４】
パターンＩＤとはパターンに一意につけられる識別子である。例えばプロセッシング・エレメントＡ、Ｂ、Ｃ、Ｄ、Ｅを考えたときに、ＪＰＥＧエンコード処理がＡ、Ｂ、Ｃの順につながる経路で行われるパターンと、Ａ、Ｂ、Ｄ、Ｅの順につながるパターンと、のどちらでも処理できる場合、各パターンには異なるパターンＩＤがつけられる。
【００３５】
経路情報はＰＥＩＤ、ＰＥの機能ＩＤから構成されるＰＥセクションと、パスＩＤ、ソース、デスティネーションから構成されるパスセクションと、からなる。
【００３６】
また、パスＩＤとはＰＥ間の通信路に一意につけられる識別子である。ソースはＰＥ間経路の入力側ＰＥのＩＤ、デスティネーションはＰＥ間経路の出力側ＰＥのＩＤである。クライアントおよび経路を形成するＰＥ２０、２１、２２、．．．、２ｎは、パスＩＤ、ソース、及びデスティネーションからＰＥ間の接続関係を把握できる。
【００３７】
クライアント２０は実行遷移情報をＲＯＭなどの記憶領域にデータベースとして保持してあり、当該情報が現時点で使用可能かどうかＣＵ１１に問い合わせる。ＣＵ１１は、その結果をクライアント２０に通知する。
【００３８】
クライアント２０は使用する実行遷移情報が確定したら、その実行遷移情報を送って、処理経路の構築をＣＵ１１に要求する。ＣＵ１１はタスクを実行するための実行遷移情報に従って計算資源を確保し、処理経路を確立する。クライアント２０は構築された処理経路を使ってサービス処理を開始する。ただし、クライアント２０自身は必ずしもサービスの処理を行うとは限らない。全ＰＥがサービスの処理を終了するとクライアント２０がＣＵ１１に終了を通知し、ＣＵ１１が計算資源と処理経路を解放する。クライアント２０から要求されたサービスの実行が終了すると、ＣＵ１１はクライアント２０にサービスの実行が終了したことを通知する。
【００３９】
ここで、図４を参照して、ＣＵ１１が実行遷移情報を生成し、その実行遷移情報をクライアント２０に提供する手順について説明する。図４は、ＣＵ１１が生成した実行遷移情報に基づいて計算資源の確保から計算資源の解放までを行う手順を示す図である。なお、図４においては、ＰＥ２０、２１、２２、．．．、２ｎのうちＰＥ２０、ＰＥ２１、ＰＥ２２、ＰＥ２ｎのみを表示しているが、ＰＥ２３、２４、・・・、Ｐ２ｎ−１についても以下の説明と同様に処理される。
【００４０】
図４に示す処理を行うに先立って、クライアント２０は有効な実行遷移情報をＣＵ１１に送信してサービスの実行を要求する。
【００４１】
実行要求を受けたＣＵ１１は、サービスの処理に必要な計算資源であるＰＥ２０、ＰＥ２１、ＰＥ２２、・・・、ＰＥ２ｎのそれぞれに対して、計算資源確保要求を実行遷移情報とともに送信する（ステップＳ１）。クライアントであるＰＥ２０はサービスを構成するタスクを実行可能である必要はなく、サービスの実行を要求するだけでもよい。
【００４２】
ここではクライアント２０はタスクの実行を行うものとして説明する。また、実行遷移情報自体を計算資源確保要求として取り扱ってもよい。
【００４３】
各ＰＥは計算資源確保要求と実行遷移情報を受け付けると、実行遷移情報の記述に従ってタスク処理に必要な計算資源を確保する（ステップＳ２）。ここで、計算資源とは、例えば、処理に必要なＣＰＵパワーやメモリ容量などのことである。
【００４４】
次に、各ＰＥは、計算資源の確保に成功すると計算資源確保完了を、計算資源確保要求への応答として、ＣＵ１１にそれぞれ返す（ステップＳ３）。一方、計算資源が確保できない場合は、ＣＵ１１にエラーを返す。
【００４５】
ＣＵ１１はすべての計算資源が確保できたら、処理経路確立要求を各ＰＥに送信する（ステップＳ４）。すべての計算資源の確保を確認できない場合は、ユーザにエラーを返し、確保した計算資源を解放してサービス処理を中止する。
【００４６】
各ＰＥは要求を受け付けるとステップＳ１で受信した実行遷移情報に従って処理経路を確立する（ステップＳ５）。ここで、処理経路の確立とは、スイッチの接続やＴＣＰ／ＩＰネットワークのコネクションの確立などのことである。
【００４７】
各ＰＥは処理経路の確立を完了すると、処理経路確立完了を処理経路確立要求への応答としてＣＵ１１にそれぞれ返す（ステップＳ６）。処理経路の確立に失敗した場合はエラーを返す。
【００４８】
すべての処理経路の確立が完了したら、ＣＵ１１はクライアント２０にタスク実行要求を送信する（ステップＳ７）。
すべての処理経路確立が完了しなかったなら、ユーザにエラーを返し、確保した計算資源と処理経路を解放してサービス処理を中止する。
【００４９】
クライアント２０は確立された処理経路を使用して処理を開始する（ステップＳ８）。各ＰＥは確立された経路から入力されるデータについてタスク処理を行ない、順次出力する。
【００５０】
全タスク処理が完了したら、クライアント２０はタスク実行完了をＣＵ１１に送信する（ステップＳ９）。
【００５１】
タスク実行完了を受信したＣＵ１１は計算資源を確保した各ＰＥに処理経路解放要求を送信する（ステップＳ１０）。
【００５２】
処理経路解放要求を受けた各ＰＥは確立した処理経路をそれぞれ解放する（ステップＳ１１）。
【００５３】
各ＰＥは処理経路の解放に成功したら、処理経路解放要求に対する応答として、処理経路解放完了をＣＵ１１に送信する（ステップＳ１２）。これに対して、解放に失敗した場合はＣＵ１１にエラーを返す。
【００５４】
すべてのＰＥが処理経路の解放に成功したとき、ＣＵ１１は計算資源を確保した各ＰＥに計算資源解放要求を送信する（ステップＳ１３）。ただし、一部または全部の処理経路解放に失敗した場合でも、計算資源を確保した各ＰＥに計算資源解放要求を送信し、以降の解放処理を強制的に続けることが好ましい。
【００５５】
計算資源解放要求を受けた各ＰＥは計算資源を解放する（ステップＳ１４）。
【００５６】
各ＰＥは、計算資源解放要求に対する応答として、計算資源解放完了をＣＵ１１にそれぞれ送信する（ステップＳ１５）。解放に失敗した場合はＣＵ１１にエラーを返す。ＣＵ１１はすべてのＰＥから計算資源解放完了を受け付けるとサービス処理を完了する。エラーが発生した場合でも、強制的にサービス処理を完了することが好ましい。
【００５７】
クライアント２０から要求されたサービスの実行が以上の手順で終了すると、ＣＵ１１はクライアント２０にサービスの実行が終了したことを通知する。
【００５８】
なお、図４に示す手順は前後にサービス処理を行わない場合、あるいは前後のサービス処理が、重複する計算資源または処理経路を使用しない場合についてのものである。前後の連続するサービスが、同じ計算資源、処理経路を重複して使用する場合は、計算資源の確保・解放、処理経路の確立・解放のいずれかまたは全部が不要となる場合がある。
【００５９】
また、この手順では、計算資源や処理経路に関する要求をＣＵ１１からブロードキャストしているが、各ＰＥに対して１対１の個別で送信しても構わない。
【００６０】
さらにまた、実行遷移情報は各ＰＥに関連する部分だけを個別に送信しても構わないし、同一の全情報をすべてのＰＥに送信しても構わない。
【００６１】
図５は、図２のサービスタスク対応表に基づいた、アプリケーションの処理の流れを示すフローチャートである。図５に示す例では、ＪＰＥＧデコード処理（サービスＩＤ＝ＳＶ−８２３）サービスは、ＪＰＥＧファイル解析（タスクＩＤ＝ＴＫ−１０１、ステップＳ１０１）、エントロピー復号化（タスクＩＤ＝ＴＫ−１０２、ステップＳ１０２）、逆量子化（タスクＩＤ＝ＴＫ−１０３、ステップＳ１０３）、ＩＤＣＴ（タスクＩＤ＝ＴＫ−１０４、ステップＳ１０４）、色信号の変換（タスクＩＤ＝ＴＫ−１０５、ステップＳ１０５）、結果表示（タスクＩＤ＝ＴＫ−１０６、ステップＳ１０６）の順に実行され、これにより、ＪＰＥＧデコード処理が終了する。
【００６２】
図６を参照して、図５で説明した実行遷移情報を有するシステムについて説明する。図６は、実行遷移情報の構成に対応したシステムのモデル例を示す図である。６つのＰＥ（ＰＥＩＤ：ＰＥ−００１からＰＥ−００６、機能ＩＤ：ＦＮ−１０１からＦＮ−１０６）が、５つのパスＩＤ（ＰＡ−００１からＰＡ−００５）が割り当てられた経路で順に接続されている。例えば、ソースとなるＰＥ（ＰＥＩＤ：ＰＥ−００１）と、デスティネーションとなるＰＥ（ＰＥＩＤ：ＰＥ−００２）とは、その出力が、パスＩＤ：ＰＡ−００１の経路で接続されている。
【００６３】
図７を参照してクライアントアプリケーションの例について説明する。図７は、画像のデコードおよび閲覧を行うクライアントアプリケーションの画面例を示す図である。
【００６４】
クライアント２０はデコードしたい画像を選択する。ファイル形式はＪＰＥＧとＰＮＧを選択できる。必要なパラメータを設定して、「閲覧」ボタンを押すと、画像が閲覧できる。ユーザが本アプリケーションに設定したパラメータによって、サービスＩＤおよびパターンＩＤが決まる。
【００６５】
ここで、図５及び図７に示すクライアントアプリケーションは、セキュリティレベルを高く設定していない例であって、パスワードの入力は求められない。
【００６６】
つづいて、図５及び図７に示す場合よりもセキュリティレベルを高くした例について、図８から図１０を参照して説明する。この例では、各モジュールに対する全ての入出力データが暗号化されている。
【００６７】
ここで、セキュリティレベルは、図５から図１０のいずれに示す場合においても、ＲＯＭなどのユーザが変更できない記憶領域にあらかじめ記憶されており、ユーザが任意に設定、変更できないように構成されている。
【００６８】
図８は、図２のサービスタスク対応表に基づいた、アプリケーションの処理の流れを示すフローチャートであって、セキュリティレベルが高い場合の流れを示す図である。図８に示す例では、セキュリティレベルが「高」のＪＰＥＧデコード処理（サービスＩＤ＝ＳＶ−８３３）サービスは、暗号化付きＪＰＥＧファイル解析（タスクＩＤ＝ＴＫ−２０１、ステップＳ２０１）、暗号化付きエントロピー復号化（タスクＩＤ＝ＴＫ−２０２、ステップＳ２０２）、暗号化付き逆量子化（タスクＩＤ＝ＴＫ−２０３、ステップＳ２０３）、暗号化付きＩＤＣＴ（タスクＩＤ＝ＴＫ−２０４、ステップＳ２０４）、暗号化付き色信号の変換（タスクＩＤ＝ＴＫ−２０５、ステップＳ２０５）、パスワード付き結果表示（タスクＩＤ＝ＴＫ−２０６、ステップＳ２０６）の順に実行され、これにより、ＪＰＥＧデコード処理が終了する。
【００６９】
図９は、実行遷移情報の構成に対応したシステムのモデル例を示す図である。６つのＰＥ（ＰＥＩＤ：ＰＥ−０１１からＰＥ−０１６、機能ＩＤ：ＦＮ−２０１からＦＮ−２０６）が、５つのパスＩＤ（ＰＡ−０１１からＰＡ−０１５）が割り当てられた経路で順に接続されている。例えば、ソースとなるＰＥ（ＰＥＩＤ：ＰＥ−０１１）と、デスティネーションとなるＰＥ（ＰＥＩＤ：ＰＥ−０１２）とは、その出力が、パスＩＤ：ＰＡ−０１１の経路で接続されている。
【００７０】
図１０は、セキュリティレベルが高い場合の画像のデコードおよび閲覧を行うクライアントアプリケーションの画面例を示す図である。図１０に示す例では、図７に示す例に対して、パスワードを指定する点が異なる。すなわち、クライアント２０はデコードしたい画像を選択し、パスワードを指定する。ファイル形式はＪＰＥＧとＰＮＧを選択できる。必要なパラメータを設定して、「閲覧」ボタンを押すと、画像が閲覧できる。ユーザが本アプリケーションに設定したパラメータによってサービスＩＤおよびパターンＩＤが決まるものとする。
【００７１】
図１１は、クライアント２０の実行の流れを示すフローチャートである。
まず、クライアント２０は、クライアントアプリケーションの設定パラメータから、サービスＩＤ、パターンＩＤを決定する（ステップＳ３０１）。
【００７２】
次に、クライアント２０は、ＲＯＭなどの記憶領域からＩＤに一致するエントリがあるか否かを検索する（ステップＳ３０２）。
【００７３】
ＩＤに一致するエントリがあった場合（ステップＳ３０３でＹＥＳ）は、記憶領域にエントリとして格納されている実行遷移情報をＣＵ１１に送信する（ステップＳ３０４）。
【００７４】
実行遷移情報を受信したＣＵ１１は、その有効性を判断する。
ＣＵ１１は、クライアント２０から実行遷移情報を受け付けると、その情報を構成する計算資源（各ＰＥ）および処理経路（各パス）が使用可能であるかどうか解析する。その結果、当該情報を構成する一部またはすべての計算資源と処理経路がすでに他のサービスにより使用中であるか、あるいは、ＰＥの登録解除などの理由により使用不能である場合は記憶領域のエントリは無効であると判断する。
【００７５】
ＣＵ１１による有効性の判断結果はクライアント２０に送信され、クライアント２０はこれを受信する（ステップＳ３０５）。
【００７６】
実行遷移情報が有効である場合（ステップＳ３０６でＹＥＳ）、各ＰＥは実行遷移情報にしたがってサービスを構成するタスクを実行する（ステップＳ３０７）。全タスクの実行が終了するとサービスの実行も終了し、クライアント２０の実行を終了する。
【００７７】
一方、ＲＯＭなどの記憶領域からＩＤに一致するエントリがあるか否かを検索した結果、一致するエントリがなかった場合（ステップＳ３０３でＮＯ）、ユーザに対してエラーを報告（ステップＳ３０８）してクライアント２０の実行を終了する。
【００７８】
また、ＣＵ１１から受けた実行遷移情報の有効性の判断結果が有効でなかった場合（ステップＳ３０６でＮＯ）についても、ユーザに対してエラーを報告（ステップＳ３０８）してクライアント２０の実行を終了する。
【００７９】
以上のような手順により、各プロセッシング・エレメントは、実行遷移情報にしたがって、サービスを構成するタスクを実行することによって、サービスを実行する。
【００８０】
なお、経路情報はＩＤ情報から一意に定められる。また、記憶領域の検索の条件はサービスＩＤ、パターンＩＤが好ましいが、これらに限定されるものではない。
【００８１】
ＣＵ１１は実行している全タスクの情報を管理しており、タスクを構成するサービスを各ＰＥに割り当てて計算資源として使用可能かどうか判断することができる。同様に処理経路についても同様に使用可能かどうか判断できる。計算資源と処理経路が使用可能であればそれらを有効とし、不可能であれば無効と判断する。
【産業上の利用可能性】
【００８２】
以上のように、本発明に係る分散処理システム、コントロール・ユニット、及びクライアントは、ユーザが使用できる実行遷移情報をセキュリティやプライバシーなどの実行条件を満たすことが分かっている実行遷移情報に制約し、予めクライアントの記憶領域に組み込んでおき、それらの実行遷移情報に従ってサービスの提供が可能かどうか判断することで、実行条件を満たしてユーザが要求するサービスを提供することを保証することに適している。
【符号の説明】
【００８３】
１０    分散処理システム
１１    コントロール・ユニット（ＣＵ）
２０    クライアント（プロセッシング・エレメント）
２１、２２、．．．、２ｎ  プロセッシング・エレメント（ＰＥ）
【図１】
2010205037.tif 000003
【図２】
2010205037.tif 000004
【図３】
2010205037.tif 000005
【図４】
2010205037.tif 000006
【図５】
2010205037.tif 000007
【図６】
2010205037.tif 000008
【図７】
2010205037.tif 000009
【図８】
2010205037.tif 000010
【図９】
2010205037.tif 000011
【図１０】
2010205037.tif 000012
【図１１】
2010205037.tif 000013