JP2010272090A - 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法 - Google Patents

処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法 Download PDF

Info

Publication number
JP2010272090A
JP2010272090A JP2009125828A JP2009125828A JP2010272090A JP 2010272090 A JP2010272090 A JP 2010272090A JP 2009125828 A JP2009125828 A JP 2009125828A JP 2009125828 A JP2009125828 A JP 2009125828A JP 2010272090 A JP2010272090 A JP 2010272090A
Authority
JP
Japan
Prior art keywords
execution
resource
component
quality
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009125828A
Other languages
English (en)
Other versions
JP5315128B2 (ja
Inventor
Tadashi Tanaka
匡史 田中
Yuichi Mori
森  有一
Shuichi Tanaka
修一 田中
Yuki Kondo
佑樹 近藤
Yusuke Jin
祐介 神
Takashi Oshima
敬志 大島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009125828A priority Critical patent/JP5315128B2/ja
Priority to CN2010101261617A priority patent/CN101901421A/zh
Priority to US12/723,849 priority patent/US20100313207A1/en
Priority to EP10250479A priority patent/EP2256633A3/en
Publication of JP2010272090A publication Critical patent/JP2010272090A/ja
Application granted granted Critical
Publication of JP5315128B2 publication Critical patent/JP5315128B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

【課題】分散処理環境において、ビジネスプロセスの実行品質の要求レベルを満たすようにITリソースを柔軟に賄うことを可能とする。
【解決手段】クライアント端末から業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、実行品質情報とを特定し、前記サービスを実行可能であり前記実行品質を満たすITリソースを特定して当該ITリソースに対して前記サービスの実行を依頼し、当該ITリソースが特定できない場合には複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定した組合せに含まれるITリソースに対して前記サービスの実行を依頼することを特徴とする処理依頼先管理装置。
【選択図】図1

Description

本発明は、分散処理環境における処理依頼先管理を行う技術に関する。
従来、SOA(Service Oriented Architecture)等の考え方に基づき、企業の情報システムを柔軟に構成する技術がある。SOAの考え方では、業務単位で処理を実行する適用業務プログラムをサーバ上に配置して処理するのではなく、業務を業務単位よりも小さな複数の実行単位(サービス)に分解してサービスコンポーネントに実装し、分散処理環境に配置する。そして、処理依頼先管理装置が、実行する業務(ビジネスプロセス)に応じて当該サービスを組み合わせて処理を実現させる。このようにすることで、業務の流れの変更等が生じても、変更すべきサービスコンポーネントを作り変えるだけで変更に対応できる。場合によっては、サービスの実行順序を変更するだけで業務の流れの変更に対応でき、情報システムをビジネス環境の変化に機敏に対応させ易くなる。このようなSOA等の分散アプリケーション実行環境においては、要求されたビジネスプロセスを構成するサービスを実行するために必要となるハードウェアリソースをビジネスプロセスに応じて割り当てる技術がある(特許文献1)。
特開2008−257694号公報
上記特許文献1に記載の技術では、既存のハードウェアリソースを用いることではサービスの実行品質(主に稼働率やレスポンス等の非機能要件の品質)を満足できない場合、例えば高い稼働率が求められるサービスを実行する際に、既存のハードウェアリソースのうちいずれのリソースも要求レベルに達することができないような場合にあっては、サービスの実行品質を要求された品質よりも低い品質のまま実行せざるを得ない。
そこで、本発明は、分散処理環境において、ビジネスプロセスの実行品質の要求レベルを満たすようにITリソースを賄うことを可能とする技術の提供を目的とする。
本願に係る処理依頼先管理の技術は、上記課題を解決するため、ビジネスプロセスを構成するサービスを実行するハードウェアリソースを、当該ビジネスプロセスの要求品質を満たすように組み合わせて提供する。
例えば、ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置であって、前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なITリソースを特定するコンポーネント管理情報と、前記ITリソースが提供する実行品質を特定するITリソース品質情報と、を格納する記憶部と、前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理部と、前記実行フロー管理部において特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なITリソースを特定し、前記ITリソース品質情報を読み出して、特定したITリソースに単体で前記実行品質を満たすITリソースが含まれるか否かを判定し、当該ITリソースが含まれる場合には当該ITリソースを特定して当該ITリソースに対して前記サービスの実行を依頼し、当該ITリソースが含まれない場合には複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定した組合せに含まれるITリソースに対して前記サービスの実行を依頼するメッセージング処理部と、を備えることを特徴とする。
分散処理環境において、サービスの実行品質の要求レベルを満たすようにITリソースを柔軟に賄うことを可能とする技術を提供することができる。
分散処理システムの概略図である。 クライアント端末と処理依頼先管理サーバの構成を示す図である。 サービス実行サーバαの構成を示す図である。 サービス実行サーバβの構成を示す図である。 処理依頼先管理サーバのハードウェア構成図である。 実行フロー定義テーブルの例を示す図である。 実行品質定義テーブルの例を示す図である。 コンポーネント管理テーブルの例を示す図である。 ITリソース品質テーブルの例を示す図である。 実行品質テーブルの例を示す図である。 実行フロー管理処理の処理フローを示す図である。 実行品質管理処理の処理フローを示す図である。 メッセージング処理の処理フローを示す図である。 コンポーネントコーディネート処理の処理フローを示す図である。 ITリソース割当処理の処理フローを示す図である。
図1は、本発明の実施形態にかかる分散処理システム1を示す図である。
本発明における分散処理システム1は、クライアント端末100と、処理依頼先管理サーバ200と、複数のサービス実行サーバ300と、各種データベースを管理する各種DBサーバ400と、を含んで構成され、各端末、サーバは、ネットワーク150を介して互いに通信可能である。
ネットワーク150は、通常はLAN(Local Area Network)等の利用者の組織が管理する通信網である。ただし、これに限らず、ネットワーク150は、インターネット等の公衆通信網、WAN(Wide Area Network)またはVPN(Virtual Private Network)等の一般公衆回線を一部に用いた通信網であってもよい。
クライアント端末100は、使用者からの操作入力(実行業務に関する操作)を受け付けて、ネットワーク150を介して処理依頼先管理サーバ200に対して処理を依頼し、処理依頼先管理サーバ200から処理の結果に関する情報を受け取って使用者に提示する。
クライアント端末100は、図2に示すように、記憶部120と、制御部130と、入力部141と、出力部142と、通信部143と、を有する。
記憶部120は、各種の電子情報を格納する。
制御部130は、ブラウザ部131を備える。ブラウザ部131は、後述する通信部143を介してネットワーク150に接続し、ネットワーク150に接続された他の装置と通信を行う。また、使用者の操作入力を入力部141を介して受け付け、使用者に提示する情報を出力部142に依頼して出力する。例えば、ブラウザ部131は、HTML(Hyper Text Markup Language)等の修飾表示情報を有するWebページ等を受信すると表示し、当該Webページ上に使用者から入力された情報をリンク先のサーバ等に送信することができる。
入力部141は、使用者からの情報の入力を受け付ける。出力部142は、使用者に対して、各種の情報を出力する。通信部143は、ネットワーク150を介して他の機器に接続し、接続した他の機器に対して情報の送信を行い、接続した他の機器から送信された情報の受信を行う。
処理依頼先管理サーバ200は、ネットワーク150を介して、クライアント端末100からの要求や指示に応じて、サービスに関する処理と、当該処理を実行させるサービス実行サーバ300を特定し、特定したサービス実行サーバ300に対して当該処理の開始等の指示を送信する。また、処理依頼先管理サーバ200は、クライアント端末100にて表示すべきサービスに関する画面情報をHTML等により構成してクライアント端末100に対して送信する。
図2に示すように、処理依頼先管理サーバ200は、記憶部220と、制御部230と、通信部241と、を備える。
記憶部220には、実行フロー定義テーブル221と、実行品質定義テーブル222と、コンポーネント管理テーブル223と、ITリソース品質テーブル224と、実行品質テーブル225と、を備える。
実行フロー定義テーブル221には、ビジネスプロセスに応じて、実行するサービスとその順序(フロー)を特定する情報が格納される。
図6は、実行フロー定義テーブル221の構成例を示す図である。実行フロー定義テーブル221に格納されるレコードは、ビジネスプロセスID欄2211と、フロー定義データ欄2212と、に該当する情報を有する。
ビジネスプロセスID欄2211は、ビジネスプロセスを特定する情報を格納する欄である。例えば、在庫照会、受注、入金、発注、等の各業務に対応するIDを特定する情報を格納する。
フロー定義データ欄2212は、ビジネスプロセスID欄2211にて特定されるビジネスプロセスについて、実行すべきサービスを特定する情報と、当該サービスの順序を特定することができる情報を格納する欄である。例えば、本実施形態においては、サービスを特定するサービス名(例えばサービスA、サービスB、サービスC)と、サービスAの実行後にサービスBを実行し、さらにサービスDを実行する、等の順序を特定する情報を格納する。なお、当該情報は、所定のフォーマットに従ったXML(Extensible Markup Language)等のテキストデータでもよいし、所定のプログラム言語で書かれたプログラムデータ(コンパイルおよびリンケージ済み実行可能なオブジェクトファイルや、所定のインタープリタにより実行可能なスクリプト、または、所定の実行エンジン上で動作する所定のコンパイル済みファイル等を含む)であってもよい。
実行品質定義テーブル222には、ビジネスプロセスに応じて、実行するサービスの稼働性能等、例えば稼働率やレスポンスタイムについての実行品質要求情報が格納される。
図7は、実行品質定義テーブル222の構成例を示す図である。実行品質定義テーブル222に格納されるレコードは、ビジネスプロセスID欄2221と、特別要求欄2222と、品質要求データ欄2223と、に該当する情報を有する。
ビジネスプロセスID欄2221は、ビジネスプロセスを特定する情報を格納する欄である。例えば、在庫照会、受注、入金、発注、等の各業務に対応するIDを特定する情報を格納する。
特別要求欄2222は、ビジネスプロセスを実行する上で、特別な実行品質の要求の有無を特定する情報を格納する欄である。例えば、同一のビジネスプロセスの実行であっても、処理依頼元に応じて稼働率の要求が異なる場合には、特別要求を付することで、要求する実行品質を他と異ならせることができる。
品質要求データ欄2223は、ビジネスプロセスの実行に関する品質についての要求レベルを特定する情報を格納する欄である。例えば、稼働率99.9%以上、平均レスポンスタイム10msec以下等、の要求情報を格納する。他にも、例えば、セキュリティレベルの要求や、ログトレースレベルの要求等であってもよい。
コンポーネント管理テーブル223には、サービス実行サーバ300に配備されているコンポーネントのコンポーネントIDごとに、提供するサービスを特定する名称と、実行品質についてのコンポーネントの提供品質の特徴と、配備されたサービス実行サーバと、を特定する情報が格納される。
図8は、コンポーネント管理テーブル223の構成例を示す図である。コンポーネント管理テーブル223に格納されるレコードは、コンポーネントID欄2231と、提供サービス名欄2232と、コンポーネント提供品質欄2233と、配備状況欄2234と、に該当する情報を有する。
コンポーネントID欄2231は、サービス実行サーバ300にて稼働されるように配備されたサービスを提供するコンポーネントについて、当該コンポーネントを識別するコンポーネントIDを特定する情報を格納する欄である。なお、コンポーネントとは、一つの業務情報処理サービスの機能を提供する一つまたは複数のプログラムをいう。
提供サービス名欄2232は、コンポーネントID欄2231に格納された情報により特定されるコンポーネントが提供するサービスの機能を特定するサービス名を格納する欄である。提供サービス名が同じコンポーネントは、基本的に同じサービス機能を提供する。
コンポーネント提供品質欄2233は、コンポーネントID欄2231に格納された情報により特定されるコンポーネントが提供するサービスについて、特徴的な実行品質を特定する情報を格納する欄である。例えば、「インメモリDB対応」等の定性的な特徴である。
配備状況欄2234は、コンポーネントID欄2231に格納された情報により特定されるコンポーネントが配備されたITリソース(ハードウェアリソース)、すなわちサービス実行サーバ300を特定する情報を格納する欄である。
ITリソース品質テーブル224には、サービス実行サーバ300を特定するリソースIDごとに、当該サービス実行サーバ300が提供する稼働性能についての品質を特定する情報が格納される。
図9は、ITリソース品質テーブル224の構成例を示す図である。ITリソース品質テーブル224に格納されるレコードは、リソースID欄2241と、ITリソース提供品質欄2242と、に該当する情報を有する。
リソースID欄2241は、各サービス実行サーバ300について、当該サービス実行サーバ300を識別するリソースIDを特定する情報を格納する欄である。なお、本実施形態においては、リソースIDは、サービス実行サーバ300を識別する情報としているが、これに限られず、例えば、ストレージ装置やネットワーク機器等の他のハードウェア資源を識別する情報であってもよい。
ITリソース提供品質欄2242は、リソースID欄2241に格納された情報により特定されるサービス実行サーバ300が提供する実行品質の特徴(仕様)を特定する情報を格納する欄である。例えば、当該サービス実行サーバ300の稼働率が99%である、等の仕様の情報である。
実行品質テーブル225には、サービス実行サーバ300を特定するリソースIDごとに、当該サービス実行サーバで実行された各コンポーネントが実行した品質、例えば平均レスポンスタイム等の実績を示す値がコンポーネントごとに格納される。
図10は、実行品質テーブル225の構成例を示す図である。実行品質テーブル225に格納されるレコードは、リソースID欄2251と、品質データ欄2252と、に該当する情報を有する。
リソースID欄2251は、各サービス実行サーバ300について、当該サービス実行サーバ300を識別するリソースIDを特定する情報を格納する欄である。
品質データ欄2252は、コンポーネントごとの実行品質の実績を特定する情報を格納する欄である。例えば、コンポーネント「C001」は、平均レスポンスタイムが50msecの実績を持つ、等である。
図2に戻って説明する。制御部230は、実行フロー管理部231と、メッセージング処理部232と、実行品質管理部233と、コンポーネントコーディネート部234と、ITリソース割当部235と、実行品質監視部236と、を備える。
実行フロー管理部231は、ビジネスプロセスの実行依頼を受け付けると、実行すべきサービスとその実行品質の要求レベルを特定してメッセージング処理部232に処理を依頼する。具体的には、実行フロー管理部231は、クライアント端末100からネットワーク150を介してビジネスプロセスIDを受け付けて、当該ビジネスプロセスIDに対応するフロー定義データを実行フロー定義テーブル221から読み出す。そして、実行フロー管理部231は、実行品質管理部233に依頼して、実行すべきビジネスプロセスの実行品質の要求レベルを特定する。そして、実行フロー管理部231は、フロー定義データと、実行品質の要求レベルを示す情報と、をメッセージング処理部232に受け渡す。
メッセージング処理部232は、実行フロー管理部231からフロー定義データと、実行品質の要求レベルを示す情報を受け取ると、フロー定義データと実行品質の要求に従って、サービスにITリソースを割当てて、当該サービスの処理を実行させる。
具体的には、メッセージング処理部232は、実行フロー管理部231からフロー定義データと、実行品質の要求レベルを示す情報を受け取ると、コンポーネントコーディネート部234へコンポーネントの配備状況を問い合わせる。そして、メッセージング処理部232は、フロー定義データと、実行品質の要求レベルと、を満たすサービスを実行させるITリソースを割当てるようITリソース割当部235に依頼する。そして、メッセージング処理部232は、割当てられたサービス実行サーバ300へ当該サービスの処理実行を依頼する。
実行品質管理部233は、実行フロー管理部231が処理依頼を受け付けたビジネスプロセスについて、要求される実行品質を特定する。
具体的には、実行品質管理部233は、実行フロー管理部231が処理依頼を受け付けたビジネスプロセスIDに応じて、実行品質定義テーブル222を参照して、品質要求データを取得し、実行フロー管理部231へ受け渡す。なお、その際、特別要求を伴うビジネスプロセスの処理依頼であれば、特別要求に応じた品質要求データを特定して、受け渡す。
コンポーネントコーディネート部234は、メッセージング処理部232から配備状況の問い合わせを受けると、問い合わせ対象のビジネスプロセスを構成するサービスを実行可能なコンポーネントの候補をコンポーネント管理テーブル223から特定して、メッセージング処理部232に受け渡す。また、コンポーネントコーディネート部234は、ITリソース割当部235からコンポーネントの配備要求を受け付けると、コンポーネントを配備して、配備した後の配備状況をコンポーネント管理テーブル223に反映させる。なお、コンポーネントの配備には、付随する処理、例えば当該コンポーネントが用いるインメモリDB等のミドルウェア機能の配備と起動や、コンポーネントの配備の準備(例えば、ディプロイメントディスクリプタ等の構成定義ファイルへの登録等)の処理を含む。
ITリソース割当部235は、実行するビジネスプロセスを構成するサービスの実行品質要件を満たすように、ITリソースを割当てる。
具体的には、ITリソース割当部235は、ITリソースの提供品質(仕様)と、稼働率やレスポンス等の品質の実績とに基づいて、ビジネスプロセスに要求される品質を満たすようにITリソースを組み合わせる。例えば、稼働率99.9999%以上が求められるビジネスプロセスに対して、ITリソース割当部235は、単体で稼働率99.9999%を満足するサービス実行サーバ300が存在しない場合には、99.9%の稼働率のサービス実行サーバ2台によって平行して稼働させることで、稼働率99.9999%を実現する。
稼働率が99.9%のサービス実行サーバ300は、0.1%すなわち1000分の1の確率で稼働していないことを示している。一般に、2台のサーバで平行して実行させた際の総合的な稼働率は、100%から両方のサーバが同時に稼働しない確率を除いた確率として求められる。すなわち、式(1)により、稼働率が求められる。
稼働率=1−(1−第一のサーバの稼働率)×(1−第二のサーバの稼働率)・・・式(1)
なお、式(1)においては、稼働率は0〜1までの小数で表されるものとする。
例えば、上記の例では、1000分の1×1000分の1=百万分の1であり、1から百万分の1を減算すると、0.999999すなわち、百分率で表すと、稼働率は99.9999%となる。
具体的な処理としては、ITリソース割当部235は、コンポーネント管理テーブル223に格納された情報の中から、既に配備されている実行対象のサービスを実現するコンポーネントを特定する。そして、ITリソース割当部235は、ITリソース品質テーブル224を参照して、特定したコンポーネントのうち最も稼働率が高いコンポーネントを一つ特定する。そして、ITリソース割当部235は、配備済みの実行対象のサービスを実施することができる他のコンポーネントと当該稼働率が最も高いコンポーネントとを組み合わせた際の稼働率をそれぞれに求め、稼働率の品質の要求を満たす組合せを発見すると、当該組合せを実行対象として割り当てる。
なお、ITリソース割当部235は、稼働率の品質の要求を満たす全ての組合せを求めた後に、当該組合せの中から、求められた稼働率が最も低くなる組合せを実行対象として割り当てるようにしてもよい。このようにすることで、割り当てるITリソースをなるべく平準化して、ITリソースの費用対効果を高く保つことができる。
また、ITリソース割当部235は、ITリソース品質テーブル224を参照して、特定したコンポーネントのうち最も稼働率が高いコンポーネントを一つ特定し、さらに、特定した当該コンポーネントの次に稼働率が高いコンポーネントを特定する。ITリソース割当部235は、当該2つのコンポーネントを組み合わせて実行させる場合の稼働率を求め、稼働率の品質の要求を満たすか否かを判定し、要求を満たさない場合には、平行して稼働するコンポーネントの数をさらに増やすことで、稼働率を高めるようにしてもよい。このようにすることで、稼働率がそれほど高くないサーバ、すなわちコスト効果に優れるITリソースを複数組み合わせて、高い稼働率を実現することができるようになる。
上記の説明は、要求された稼働率の品質を実現するITリソース割当部235の処理内容である。続けて以下に、レスポンスの品質を実現する処理内容を以下に説明する。
ITリソース割当部235は、コンポーネント管理テーブル223に格納された情報の中から、既に配備されている実行対象のサービスを実現するコンポーネントを特定する。そして、ITリソース割当部235は、実行品質テーブル225を参照して、特定したコンポーネントのうち最もレスポンスタイムが短いコンポーネントの組み合わせを一つ特定する。そして、当該組合せに係るコンポーネントの合計のレスポンスタイムがレスポンスタイムの品質の要求を満たすか否かを判定し、満たす場合には当該組合せを実行対象として割り当てる。
レスポンスタイムの品質の要求を満たさない場合には、ITリソース割当部235は、レスポンスタイムの達成度合いとして、合計のレスポンスタイムと要求されるレスポンスタイムとの比を算出し、当該比の値の小数第一位を切り上げて得られる整数を求める。ITリソース割当部235は、現在当該コンポーネントが配備されているサービス実行サーバの台数を当該整数倍に増やす。
なお、ITリソース割当部235は、不足する台数のサービス実行サーバ300に当該コンポーネントを新たに配備することで、サービス実行サーバ300の台数を増やす。そして、ITリソース割当部235は、実行対象のサービスを実現するコンポーネントの配備数が少ないサーバをコンポーネント管理テーブル223から検索して、最もコンポーネントの配備数が少ないサーバから順に、決定した台数だけ当該コンポーネントの配備を行うようコンポーネントコーディネート部234に依頼する。
これにより、ITリソース割当部235は、レスポンスの実績値を算出して、レスポンスの達成率に応じてコンポーネントが稼働するサーバを増やすことで、レスポンスの実績値が将来的に要求される品質を満たすようにすることができる。
実行品質監視部236は、実際にサービスを実現するコンポーネントが稼働した結果得られた品質の実績を各サービス実行サーバ300から収集して、実行品質テーブル225に格納する。例えば、実行品質監視部236は、一定の期間、コンポーネントごとに、処理依頼を受けてから処理結果を返すまでの応答時間を記録して算出した当該期間の平均応答時間を各サービス実行サーバ300から収集して、実行品質テーブル225にレスポンス情報として格納する。
通信部241は、ネットワーク150を介して他の機器に接続し、接続した他の機器から送信された情報の受信を行い、接続した他の機器に対して情報の送信を行う。
サービス実行サーバ300は、ネットワーク150を介して、処理依頼先管理サーバ200からの要求や指示に応じて、サービスを実現するコンポーネントを稼働させて処理を実行するサーバである。
図3に、サービス実行サーバ300のうち、サービスA、B、Cを実行するサービス実行サーバ305(以降、サービス実行サーバαと称呼)の構成を示す。
サービス実行サーバαは、記憶部320と、制御部330と、通信部341と、を備える。
記憶部320は、実行品質テーブル321と、各種の電子情報と、を格納する。なお、実行品質テーブル321は、上記した処理依頼先管理サーバ200の実行品質テーブル225と同様のテーブルであるため、説明を省略する。
制御部330は、メッセージング処理部331と、サービスA実行コンポーネント332と、サービスB実行コンポーネント333と、サービスC実行コンポーネント334と、実行品質監視部335と、を備える。
メッセージング処理部331は、処理依頼先管理サーバ200からサービスの実行依頼を受け付けると、当該サービスを実行するコンポーネントを、サービスA実行コンポーネント332と、サービスB実行コンポーネント333と、サービスC実行コンポーネント334との中から特定して、実行させる。
サービスA実行コンポーネント332と、サービスB実行コンポーネント333と、サービスC実行コンポーネント334と、は、それぞれサービスA、サービスB、サービスCを実行するコンポーネントである。なお、各コンポーネントには、一つ以上のプログラムが含まれる。
実行品質監視部335は、サービス実行サーバα上に配備されたコンポーネントが稼働した結果得られた品質の実績を収集して、実行品質テーブル321に格納する。例えば、実行品質監視部335は、一定の期間、コンポーネントごとに、処理依頼を受けてから処理結果を返すまでの応答時間を記録して、当該期間の平均応答時間を算出し、実行品質テーブル321に格納する。また、処理依頼先管理サーバ200の実行品質管理部236からの求めに応じて、実行品質テーブル321の自サーバに関する情報を送信する。
通信部341は、ネットワーク150を介して他の機器に接続し、接続した他の機器から送信された情報の受信を行い、接続した他の機器に対して情報の送信を行う。
図4は、サービス実行サーバ300のうち、サービスA、B、Dを実行し、さらにデータベースアクセスに代えてインメモリDBにアクセスすることで実行速度を高めているサービス実行サーバ350(以降、サービス実行サーバβと称呼)の構成を示す。
サービス実行サーバβは、記憶部370と、制御部380と、通信部391と、を備える。
記憶部370は、実行品質テーブル371と、各種の電子情報と、を格納する。なお、実行品質テーブル371は、上記した処理依頼先管理サーバ200の実行品質テーブル225と同様のテーブルであるため、説明を省略する。
制御部380は、メッセージング処理部381と、サービスA実行コンポーネント382と、サービスB実行コンポーネント383と、サービスD実行コンポーネント384と、インメモリDB処理部385と、実行品質監視部386と、を備える。
制御部380を構成する各処理部のうち、メッセージング処理部381と、サービスA実行コンポーネント382と、サービスB実行コンポーネント383と、実行品質監視部386と、は、それぞれ、サービス実行サーバαのメッセージング処理部331と、サービスA実行コンポーネント332と、サービスB実行コンポーネント333と、実行品質監視部335と同様の構成であるため、説明を省略する。
サービスD実行コンポーネント384は、サービスDを実行するコンポーネントであり、当該コンポーネントには一つ以上のプログラムが含まれる。
インメモリDB処理部385は、各種DBサーバ400が有するデータベースのうち、サービス実行サーバβに配備されたコンポーネント(サービスA、B、Dを実現するコンポーネント)からアクセスする対象のデータベースについて、サービス実行サーバβのメモリ上にコピーデータを持つ。インメモリDB処理部385は、サービスA、B、Dにおいてアクセスされるデータベースについての入出力要求を受け付けると、(DBサーバへの通信を行わずに)ローカルメモリ上で要求に応じた入出力処理を行う。そのため、DBサーバ400へアクセスするよりも、データアクセス処理の処理速度を早くすることができる。
各種DBサーバ400は、各サービスの実行に関してサービス実行サーバ300からアクセスされるデータを、DBサーバの記憶装置上のデータベースで管理する。各種DBサーバは、図示しない制御部においてデータベースの情報の参照、削除、変更、追加等の処理を受け付けて、データベースの情報にアクセスし、結果を処理依頼元へ送信する。なお、データベースは、ツリー型、関係型、オブジェクト型など様々な型のデータベースであってよい。
図5は、本実施形態におけるクライアント端末100のハードウェア構成を示す図である。
本実施形態においては、クライアント端末100は、例えば、PC(パーソナルコンピュータ)や、ワークステーション、サーバ装置、各種携帯電話端末、PDA(Personal Digital Assistant)などの計算機である。
クライアント端末100は、入力装置111と、出力装置112と、演算装置113と、主記憶装置114と、外部記憶装置115と、通信装置116と、それぞれの装置を互いに接続するバス117と、を有する。
入力装置111は、例えばキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
出力装置112は、例えばディスプレイなどの、表示を行う装置である
演算装置113は、例えばCPU(Central Processing Unit)などの演算装置である。
主記憶装置114は、例えばRAM(Random Access Memory)などのメモリ装置である。
外部記憶装置115は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
通信装置116は、アンテナを介して無線通信を行う無線通信装置、又はネットワークケーブルを介して有線通信を行う有線の通信装置である。
クライアント端末100のブラウザ部131は、クライアント端末100の演算装置113に処理を行わせるプログラムによって実現される。
このプログラムは、主記憶装置114または外部記憶装置115内に記憶され、実行にあたって主記憶装置114上にロードされ、演算装置113により実行される。
また、クライアント端末100の記憶部120は、クライアント端末100の主記憶装置114または外部記憶装置115により実現される。
クライアント端末100の入力部141は、クライアント端末100の入力装置111によって実現される。
クライアント端末100の出力部142は、クライアント端末100の出力装置112によって実現される。
クライアント端末100の通信部143は、クライアント端末100の通信装置116によって実現される。
なお、図示しないが、処理依頼先管理サーバ200、サービス実行サーバ300および各種DBサーバ400についても、クライアント端末100と同様のハードウェア構成を備える。ただし、処理依頼先管理サーバ200、サービス実行サーバ300および各種DBサーバ400については、クライアント端末100の入力装置111と、出力装置112と、に対応する装置、すなわち使用者との入出力機能を受け持つハードウェアデバイスを有しないものであってもよい。
また、処理依頼先管理サーバ200の実行フロー管理部231と、メッセージング処理部232と、実行品質管理部233と、コンポーネントコーディネート部234と、ITリソース割当部235と、実行品質監視部236と、は、処理依頼先管理サーバ200の演算装置113に処理を行わせるプログラムによって実現される。
このプログラムは、主記憶装置114または外部記憶装置115内に記憶され、実行にあたって主記憶装置114上にロードされ、演算装置113により実行される。
また、サービス実行サーバαのメッセージング処理部331と、サービスA実行コンポーネント332と、サービスB実行コンポーネント333と、サービスC実行コンポーネント334と、は、サービス実行サーバαの演算装置113に処理を行わせるプログラムによって実現される。
同様に、サービス実行サーバβのメッセージング処理部381と、サービスA実行コンポーネント382と、サービスB実行コンポーネント383と、サービスD実行コンポーネント384と、は、サービス実行サーバβの演算装置113に処理を行わせるプログラムによって実現される。
次に、本実施形態における実行フロー管理処理の概要について、図11に基づいて説明する。
図11は、実行フロー管理処理のフローを示す図である。
まず、実行フロー管理部231は、クライアント端末100からビジネスプロセスの実行依頼を受信する。その際、実行フロー管理部231は、特別要求情報が指定されているか否かの情報をあわせて取得する(ステップS001)。具体的には、クライアント端末100を介して使用者から指示のあったビジネスプロセスIDの指定情報を含む実行要求情報を受信し、指定オプション情報として特別要求情報の指定有無の情報を受信する。
次に、実行フロー管理部231は、実行フロー定義テーブル221から該当するフロー定義データを読み出す(ステップS002)。具体的には、実行フロー管理部231は、ステップS001にて受け付けた実行要求情報に含まれるビジネスプロセスIDをキーとして、実行フロー定義テーブル221を検索し、ビジネスプロセスID欄2211に格納された情報から当該ビジネスプロセスIDに対応するレコードを特定し、対応するフロー定義データ欄2212に格納された情報を読み出す。
次に、実行フロー管理部231は、実行品質管理部233に依頼して、品質要求データを読み出す(ステップS003)。具体的には、実行フロー管理部231は、実行品質管理部233に対してビジネスプロセスIDの情報と、特別要求情報の有無と、を受け渡し、実行品質定義テーブル222の品質要求データ欄2223に格納された情報を受け取る。ここで、当該処理について、具体的に図12の実行品質管理処理のフローを用いて処理を説明する。
図12は、実行品質管理処理のフローを示す図である。実行品質管理処理は、実行フロー管理処理のステップS003において、実行フロー管理部231からの依頼を実行品質管理部233が受け付けることにより開始される。
まず、実行品質管理部233は、ビジネスプロセスIDと、特別要求情報とを受け付ける(ステップS101)。
次に、実行品質管理部233は、特別要求情報が「あり」であるか否かを判定する(ステップS102)。
特別要求情報が「あり」である場合(ステップS102にて「Yes」)、実行品質管理部233は、実行品質定義テーブル222のレコードのうち、ビジネスプロセスID欄2221に格納された情報がステップS101において受け付けたビジネスプロセスIDに対応し、かつ、特別要求欄2222に格納された情報が「あり」であるレコードを特定する。そして、実行品質管理部233は、特定したレコードの品質要求データ欄2223に格納された情報を読み出す。そして、実行品質管理部233は、ステップS105に処理を進める(ステップS103)。
特別要求情報が「なし」である場合(ステップS102にて「No」)、実行品質管理部233は、実行品質定義テーブル222のレコードのうち、ビジネスプロセスID欄2221がステップS101において受け付けたビジネスプロセスIDに対応し、かつ、特別要求欄2222が「なし」であるレコードを特定する。そして、実行品質管理部233は、特定したレコードの品質要求データ欄2223に格納された情報を読み出す(ステップS104)。
次に、実行品質管理部233は、ステップS103またはステップS104にて読み出した品質要求データを、呼び出し元である実行フロー管理部231に送信する(ステップS105)。
以上が、実行品質管理処理のフローである。
実行品質管理処理を実行することで、ビジネスプロセスの実行品質についての要件を特定することができる。
図11の実行フロー管理処理のステップS004の説明に戻る。
次に、実行フロー管理部231は、ビジネスプロセスIDと、品質要求データと、をメッセージング処理部232へ受け渡すとともに、ビジネスプロセスの実行を依頼する(ステップS004)。
以上が、実行フロー管理処理の流れである。
実行フロー管理処理を実行することで、クライアント端末100からのビジネスプロセス実行要求を受け付けて、当該ビジネスプロセスを実行するサービスと、実行する際の実行品質の要件と、を特定することができるようになる。
次に、図11の実行フロー管理処理のステップS004にてビジネスプロセスの実行を依頼されたメッセージング処理部232によるメッセージング処理について、図13を用いて説明する。
図13は、メッセージング処理のフローを示す図である。メッセージング処理は、実行フロー管理処理のステップS004等において実行開始を依頼されることで、開始される。
まず、メッセージング処理部232は、コンポーネントコーディネート処理部234へコンポーネントの配備状況を問い合わせる(ステップS201)。具体的には、メッセージング処理部232は、コンポーネントコーディネート処理部234に対して、ビジネスプロセスIDとそのフロー定義データとを受け渡して、コンポーネント特定要求を出し、実行対象となるコンポーネントの候補をコンポーネントコーディネート処理部234から受信する。ここで、コンポーネントコーディネート処理部234が実行する処理について、図14のコンポーネントコーディネート処理のフローを用いて説明する。
図14は、コンポーネントコーディネート処理のフローを示す図である。まず、コンポーネントコーディネート部234は、要求を受信する(ステップS301)。具体的には、コンポーネントコーディネート部234は、要求の種類を含む情報を呼び出し元から受信する。
次に、コンポーネントコーディネート部234は、受信した要求が、コンポーネント配備要求であるか否かを判定する(ステップS302)。コンポーネント配備要求でない場合(ステップS302にて「No」)、コンポーネントコーディネート部234は、フロー定義データが示すサービスを実現するコンポーネントをコンポーネント管理テーブル223から検索する(ステップS303)。例えば、フロー定義データにサービスA、サービスB、サービスDを実行するよう定義されている場合、コンポーネントコーディネート部234は、コンポーネント管理テーブル223を検索して、実行するサービスごとに、コンポーネントID欄2231と、コンポーネント提供品質欄2233と、配備状況欄2234と、に格納された情報を特定する。
例えば、コンポーネントコーディネート部234は、サービスAについて、「C001,−,サーバα」、「C004,インメモリDB対応,サーバβ」、「C007,−,サーバγ」の情報を特定する。同様に、コンポーネントコーディネート部234は、サービスBについて、「C002,−,サーバα」、「C005,インメモリDB対応,サーバβ」、「C008,−,サーバγ」の情報を特定する。また、コンポーネントコーディネート部234は、サービスDについて、「C006,インメモリDB対応,サーバβ」、「C009,−,サーバγ」の情報を特定する。
次に、コンポーネントコーディネート部234は、コンポーネントを特定する情報をメッセージング処理部232に送信する(ステップS304)。そして、コンポーネントコーディネート部234は、コンポーネントコーディネート処理を終了させる。
なお、コンポーネント配備要求である場合(ステップS302にて「Yes」)、コンポーネントコーディネート部234は、指定されたコンポーネントを指定されたサーバへ配備し(ステップS305)、配備したコンポーネントについてコンポーネント管理テーブル223へ登録する(ステップS306)が、当該処理についての詳細な説明は、後述する。
以上が、コンポーネントコーディネート処理のフローである。
コンポーネントコーディネート処理を実行することで、ビジネスプロセスを構成するサービスを実現可能なコンポーネントと、そのコンポーネントが配置されたサービス実行サーバ300と、を特定することが可能となる。
図13のメッセージング処理のステップS202の処理の説明に戻る。
メッセージング処理部232は、実行するサービスについて、ITリソース割当部235へITリソースの割当を依頼する(ステップS202)。具体的には、メッセージング処理部232は、実行するビジネスプロセスの品質要求データと、ステップS201にて特定した実行可能なコンポーネントの情報とをITリソース割当部235へ受け渡してITリソースの割当を依頼し、実行するコンポーネントと平行実行の指示要否とを受け取る。ここで、ITリソース割当部235が実行する処理について、図15のITリソース割当処理のフローを用いて説明する。
図15は、ITリソース割当処理のフローを示す図である。
まず、ITリソース割当部235は、ITリソース品質テーブル224を読み込む(ステップS401)。そして、ITリソース割当部235は、メッセージング処理部232から受け渡された品質要求データを読み込む(ステップS402)。
次に、ITリソース割当部235は、サービス実行サーバが実行した品質の実績情報が必要な要求データが含まれるか否かを判定する(ステップS403)。具体的には、ITリソース割当部235はステップS402にて読み込んだ品質要求データに応答時間に関する要求が含まれるか否かを判定する。
品質の実績情報が必要な場合(ステップS403にて「Yes」)、ITリソース割当部235は、実行品質テーブル225に格納されたコンポーネントごとの品質実績情報を読み込む(ステップS404)。そして、ITリソース割当部235は、処理をステップS405に進める。
品質の実績情報が必要でない場合(ステップS403にて「No」)、ITリソース割当部235は、処理をステップS405に進める。
ITリソース割当部235は、品質要求データにて要求される品質を満たすか否かを判定する(ステップS405)。具体的には、ITリソース割当部235は、品質要求データにて要求される品質を単体で満たしうるリソース(サービス実行サーバ)が存在するか否かを判定する。
品質要求データにて要求される品質をすべて満たすリソースがある場合(ステップS405にて「Yes」)、ITリソース割当部235は、当該リソース上のコンポーネントのIDをメッセージング処理部232に送信する(ステップS406)。そして、ITリソース割当部235は、ITリソース割当処理を終了させる。
品質要求データにて要求される品質を単体で満たすリソースが無い場合(ステップS405にて「No」)、ITリソース割当部235は、既存のITリソースを複数平行させて実行することで、要求される全ての品質を満たす組合せがあるか否かを判定する(ステップS407)。具体的には、稼働率の要求であれば、すでに当該サービスを実現するコンポーネントが複数のサービス実行サーバに配置されている場合に、当該複数のサーバで当該サービスを平行させて実行させることで、要求された稼働率を満たすか否かを判定する。
既存のITリソースを複数平行させて実行することで品質を満たす場合(ステップS407にて「Yes」)、ITリソース割当部235は、実行させるコンポーネントのIDを複数特定し、当該複数のコンポーネントを平行実行する指示と共に、メッセージング処理部232に送信する(ステップS406)。そして、ITリソース割当部235は、ITリソース割当処理を終了させる。
既存のITリソースを複数平行させて実行させても品質を満たしえない場合(ステップS407にて「No」)、ITリソース割当部235は、未配備のITリソースに対して未配備のコンポーネントを新たに配備することで、単体で品質要求を満たしうるリソースがあるか否かを判定する(ステップS408)。具体的には、ITリソース割当部235は、ITリソース品質テーブル224を参照して、ITリソース提供品質2242に、単体実行により品質要求を満たすようなITリソースが存在するか否かを判定する。例えば、ITリソース割当部235は、実行すべきビジネスプロセスの要求品質が、稼働率99.9%である場合に、コンポーネントが配備されていないが、配備されればリソース単体で稼働率99.9%を満たしうるようなリソースを検索する。そのようなリソースがあれば、要求品質を満たしうると判定する。
コンポーネントを配備することでITリソース単体で要求品質を満たしうる場合(ステップS408にて「Yes」)、ITリソース割当部235は、コンポーネントコーディネート部234に対してコンポーネントを当該リソース上に配備するように要求する(ステップS409)。そして、ITリソース割当部235は、当該配備されたコンポーネントのIDを、実行させるコンポーネントのIDとして特定し、平行実行する指示を伴わずにメッセージング処理部232に送信する(ステップS406)。そして、ITリソース割当部235は、ITリソース割当処理を終了させる。
コンポーネントを配備しても、ITリソース単体では要求品質を満たしえない場合(ステップS408にて「No」)、ITリソース割当部235は、サービスを稼働させると最も要求品質に近い品質を提供できるITリソースを特定して、コンポーネントコーディネート部234に対して当該リソース上に配備するように要求するとともに、平行して既存のITリソースにも処理を実行させるよう指示を送信する(ステップS410)。なお、配備先のITリソースを特定する処理は、ITリソース割当部235の上記した説明部分に記載したとおりの内容である。
そして、ITリソース割当部235は、当該配備されたコンポーネントのIDと、既存の配備済みのコンポーネントのIDとを、実行させるコンポーネントのIDとして特定し、平行実行する指示と共にメッセージング処理部232に送信する(ステップS406)。そして、ITリソース割当部235は、ITリソース割当処理を終了させる。
以上が、ITリソース割当処理のフローである。
ITリソース割当処理を実行することで、ビジネスプロセスの品質要求を満たすように処理先のコンポーネントを特定することが可能となる。
ここで、ステップS409、またはステップS410においてコンポーネント配備を要求されたコンポーネントコーディネート部234の処理について、図14に戻って説明する。
コンポーネントコーディネート部234は、コンポーネントコーディネート処理を開始すると、ステップS302の判断において配備要求であると判定し(ステップS302にて「Yes」)、指定されたコンポーネントを指定されたITリソース(サーバ)へ配備する(ステップS305)。
当該ステップS305の処理においては、コンポーネントコーディネート部234は、図示しないコンポーネント配備管理機能を用いて、コンポーネントを実装するプログラムと、当該プログラムの動作上必要な他の実行要素(例えばインメモリDB機能の稼働、ロギング機能の稼働、等)を特定し、ステップS409またはステップS410にて配備先として指定されたサーバへ配備する。なお、当該実行要素を特定する情報は、コンポーネント配備管理機能により、サーバの稼働環境の情報として予め管理されている。
コンポーネントコーディネート部234は、図示しない記憶部220の記憶領域に格納された実行要素に対応するソースコード情報を読み出し、コンポーネント配備管理機能により特定された実行要素に対応するソースコードをコンポーネントの実装コードに埋め込み、埋め込まれた実装コードに対して、コンパイル等の実行コード生成処理を行う。これにより、コンポーネントコーディネート部234は、セキュリティ実装コードやロギング機能の実装コード等、稼働環境に応じたコンポーネントの改変を配備前に行って、配備するコンポーネントを準備することができる。
また、配備されたコンポーネントについて、コンポーネントコーディネート部234は新たなコンポーネントIDを付して、コンポーネント管理テーブル223に登録する(ステップS306)。そして、コンポーネントコーディネート部234は、コンポーネントコーディネート処理を終了させる。
以上が、ITリソース割当処理から呼び出された場合に実施されるコンポーネントコーディネート処理の処理内容である。
図13のメッセージング処理のステップS203に説明を戻す。
次に、メッセージング処理部232は、ステップS202にて特定したコンポーネントが配備されたサービス実行サーバ300に、当該サービスを実行するよう依頼する(ステップS203)。そして、メッセージング処理部232は、メッセージング処理を終了させる。
なお、図示していないが、サービスを実行するよう依頼されたサービス実行サーバ300では、メッセージング処理部331またはメッセージング処理部381が当該サービスを実行するコンポーネントを呼び出して、処理を行わせ、処理結果を処理依頼先管理サーバ200に送信する。
以上が、メッセージング処理のフローである。
メッセージング処理を実行することで、処理依頼先管理サーバ200は、処理要求されたビジネスプロセスを、要求される実行品質の要求を満足するように実行することが可能となる。
以上が、本発明に係る一の実施形態である。
本発明に係る一の実施形態である分散処理システム1によれば、分散処理環境において、ビジネスプロセス単位で要求される実行品質に関する品質に対応して、既存のITリソースを組み合わせ、コンポーネントの配備環境を変更して、要求を満たすように運用することが可能となる。
以上、本発明について、実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能である。
例えば、上記一の実施形態の処理依頼先管理サーバ200は、サービス実行サーバ300への処理の割り振りを行っているが、これに限られない。すなわち、処理依頼先管理サーバ200は、サービスを提供するコンポーネントの処理部を備え、当該コンポーネントの処理を自サーバへ割り振って処理するようにしてもよい。
このようにすることによって、より効率的にITリソースを活用することが容易となる。
また例えば、上記一の実施形態のサービス実行サーバ300は、コンポーネントの実行指示を受け付けてコンポーネントを実行しているが、これに限られない。すなわち、処理依頼先管理サーバ200の実行フロー管理部231と、メッセージング処理部232と、実行品質管理部233と、コンポーネントコーディネート部234と、ITリソース割当部235と、実行品質監視部236と同様の処理を行う機能部を備えて、かつ、実行フロー定義テーブル221と、実行品質定義テーブル222と、コンポーネント管理テーブル223と、ITリソース品質テーブル224とを記憶部に備え、ビジネスプロセスの実行依頼をクライアント端末100から受け付けて、他のサービス実行サーバへサービスの実行を割り振って処理するようにしてもよい。
このようにすることによって、より効率的にITリソースを活用することが容易となる。
なお、上記実施形態においては、処理依頼先管理サーバ200と、サービス実行サーバ300と、各種DBサーバ400とは、オープンプラットフォームの汎用機の構成を備えることとしているが、これに限られず、例えば、いずれかのサーバは、ネットワークを介して他の機器と通信可能であればメインフレーム等のクローズドなプラットフォーム上で実現されていてもよい。
なお、分散処理システム1は、システム全体として取引対象とするだけでなく、各装置や、各装置の動作を実現するプログラム部品単位で取引対象とすることも可能である。
1:分散処理システム、100:クライアント端末、111:入力装置、112:出力装置、113:演算装置、114:主記憶装置、115:外部記憶装置、116:通信装置、117:バス、120:記憶部、130:制御部、131:ブラウザ部、141:入力部、142:出力部、143:通信部、150:ネットワーク、200:処理依頼先管理サーバ、220:記憶部、221:実行フロー定義テーブル、222:実行品質定義テーブル、223:コンポーネント管理テーブル、224:ITリソース品質テーブル、225:実行品質テーブル、230:制御部、231:実行フロー管理部、232:メッセージング処理部、233:実行品質管理部、234:コンポーネントコーディネート部、235:ITリソース割当部、236:実行品質監視部、241:通信部、300:サービス実行サーバ、305:サービス実行サーバα、320:記憶部、321:実行品質テーブル、330:制御部、331:メッセージング処理部、332:サービスA実行コンポーネント、333:サービスB実行コンポーネント、334:サービスC実行コンポーネント、335:実行品質監視部、350:サービス実行サーバβ、370:記憶部、371:実行品質テーブル、380:制御部、381:メッセージング処理部、382:サービスA実行コンポーネント、383:サービスB実行コンポーネント、384:サービスD実行コンポーネント、385:インメモリDB処理部、386:実行品質監視部、391:通信部

Claims (12)

  1. ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置であって、
    前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なITリソースを特定するコンポーネント管理情報と、前記ITリソースが提供する実行品質を特定するITリソース品質情報と、を格納する記憶部と、
    前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理部と、
    前記実行フロー管理部において特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なITリソースを特定し、前記ITリソース品質情報を読み出して、特定したITリソースに単体で前記実行品質を満たすITリソースが含まれるか否かを判定し、当該ITリソースが含まれる場合には当該ITリソースを特定して当該ITリソースに対して前記サービスの実行を依頼し、当該ITリソースが含まれない場合には複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定した組合せに含まれるITリソースに対して前記サービスの実行を依頼するメッセージング処理部と、
    を備えることを特徴とする処理依頼先管理装置。
  2. 請求項1に記載の処理依頼先管理装置であって、さらに、
    前記コンポーネントの配備を行うコンポーネントコーディネート部を備え、
    前記メッセージング処理部は、単体で前記実行品質を満たすITリソースが含まれない場合には、さらに、前記コンポーネント管理情報を読み出して、前記実行品質を単体で満たし、かつ、前記コンポーネントが実行可能となっていないITリソースが存在する場合には、当該ITリソースに前記コンポーネントを配備するよう前記コンポーネントコーディネート部に指示する、
    ことを特徴とする処理依頼先管理装置。
  3. 請求項2に記載の処理依頼先管理装置であって、
    前記メッセージング処理部は、単体で前記実行品質を満たすITリソースが、特定した前記ITリソースに含まれない場合であって、さらに、前記コンポーネントを配備しても前記実行品質を単体で満たすITリソースが存在しない場合には、複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定したITリソースに、前記コンポーネントが配備されていないITリソースが含まれる場合には、当該ITリソースに前記コンポーネントを配備するよう前記コンポーネントコーディネート部に指示する、
    ことを特徴とする処理依頼先管理装置。
  4. 請求項2または3に記載の処理依頼先管理装置であって、
    前記コンポーネントコーディネート部は、
    配備を指示されたコンポーネントについて、配備先のITリソースの稼働環境に応じた改変を行って配備する、
    ことを特徴とする処理依頼先管理装置。
  5. 請求項2〜4のいずれか一項に記載の処理依頼先管理装置であって、
    前記コンポーネントコーディネート部は、
    配備を指示されたコンポーネントを配備する際に、配備先のITリソースに必要なミドルウェアが配備されていない場合には、併せて当該ミドルウェアを配備する、
    ことを特徴とする処理依頼先管理装置。
  6. 請求項1〜5のいずれか一項に記載の処理依頼先管理装置であって、
    前記業務情報処理に要求される実行品質には、稼働率に関する情報が含まれる、
    ことを特徴とする処理依頼先管理装置。
  7. 請求項6に記載の処理依頼先管理装置であって、
    前記メッセージング処理部は、前記要求された実行品質に稼働率に関する情報が含まれる場合に、複数の前記サービスを実行可能なITリソースを平行して稼働させることにより求まる稼働率が前記要求された実行品質を満たすITリソースの組合せを特定する、
    ことを特徴とする処理依頼先管理装置。
  8. 請求項1〜5のいずれか一項に記載の処理依頼先管理装置であって、
    前記業務情報処理に要求される実行品質には、応答時間に関する情報が含まれる、
    ことを特徴とする処理依頼先管理装置。
  9. 請求項8に記載の処理依頼先管理装置であって、
    前記メッセージング処理部は、前記要求された実行品質に応答時間に関する情報が含まれる場合に、複数の前記サービスを実行可能なITリソースのうち最も応答時間が短いITリソースを特定し、当該ITリソースの応答時間が前記要求された実行品質に満たない場合、当該応答時間と前記要求された実行品質との比の値に応じて、前記コンポーネントが配備されていないITリソースに前記コンポーネントを配備する、
    ことを特徴とする処理依頼先管理装置。
  10. 請求項1〜9のいずれか一項に記載の処理依頼先管理装置であって、
    前記実行フロー管理部は、前記クライアント端末から前記業務情報処理の提供の要求ととともに、特別要求有無情報を受信し、前記要求された前記業務情報処理の実行品質情報を特定する際に、前記特別要求がある場合には当該特別要求に対応した実行品質情報を特定する、
    ことを特徴とする処理依頼先管理装置。
  11. コンピュータに、ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理手順を実行させるプログラムであって、
    前記コンピュータを、制御手段と、前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なITリソースを特定するコンポーネント管理情報と、前記ITリソースが提供する実行品質を特定するITリソース品質情報と、を格納した記憶手段として機能させ、
    前記制御手段に対して、
    前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理手順と、
    前記実行フロー管理手順において特定した実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なITリソースを特定し、前記ITリソース品質情報を読み出して、特定したITリソースに単体で前記実行品質を満たすITリソースが含まれるか否かを判定し、当該ITリソースが含まれる場合には当該ITリソースを特定して当該ITリソースに対して前記サービスの実行を依頼し、当該ITリソースが含まれない場合には複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定した組合せに含まれるITリソースに対して前記サービスの実行を依頼するメッセージング処理手順と、
    を実行させることを特徴とするプログラム。
  12. ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置の処理依頼先管理方法であって、
    前記処理依頼先管理装置は、
    前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なITリソースを特定するコンポーネント管理情報と、前記ITリソースが提供する実行品質を特定するITリソース品質情報と、を格納した記憶部を備え、
    前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理ステップと、
    前記実行フロー管理ステップにおいて特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なITリソースを特定し、前記ITリソース品質情報を読み出して、特定したITリソースに単体で前記実行品質を満たすITリソースが含まれるか否かを判定し、当該ITリソースが含まれる場合には当該ITリソースを特定して当該ITリソースに対して前記サービスの実行を依頼し、当該ITリソースが含まれない場合には複数のITリソースを用いて実行品質を満たすITリソースの組合せを特定し、特定した組合せに含まれるITリソースに対して前記サービスの実行を依頼するメッセージング処理ステップと、
    を実施することを特徴とする処理依頼先管理方法。
JP2009125828A 2009-05-25 2009-05-25 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法 Expired - Fee Related JP5315128B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009125828A JP5315128B2 (ja) 2009-05-25 2009-05-25 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
CN2010101261617A CN101901421A (zh) 2009-05-25 2010-02-26 处理委托目的地管理装置、程序以及方法
US12/723,849 US20100313207A1 (en) 2009-05-25 2010-03-15 Service provider management device, service provider management program, and service provider management method
EP10250479A EP2256633A3 (en) 2009-05-25 2010-03-15 Service provider management device, service provider management program, and service provider management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009125828A JP5315128B2 (ja) 2009-05-25 2009-05-25 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法

Publications (2)

Publication Number Publication Date
JP2010272090A true JP2010272090A (ja) 2010-12-02
JP5315128B2 JP5315128B2 (ja) 2013-10-16

Family

ID=42790853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009125828A Expired - Fee Related JP5315128B2 (ja) 2009-05-25 2009-05-25 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法

Country Status (4)

Country Link
US (1) US20100313207A1 (ja)
EP (1) EP2256633A3 (ja)
JP (1) JP5315128B2 (ja)
CN (1) CN101901421A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533256A (ja) * 2016-11-01 2019-11-14 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited アプリケーションリンク拡張方法、装置、及びシステム
JP2020038506A (ja) * 2018-09-04 2020-03-12 Necソリューションイノベータ株式会社 情報処理システム、情報処理方法、及び、プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5533315B2 (ja) * 2010-06-16 2014-06-25 富士ゼロックス株式会社 情報処理システム、管理装置、処理要求装置及びプログラム
US10250455B1 (en) * 2014-06-06 2019-04-02 Amazon Technologies, Inc. Deployment and management of tenant services
US10097431B1 (en) 2014-06-06 2018-10-09 Amazon Technologies, Inc. Routing to tenant services utilizing a service directory
US9929945B2 (en) 2015-07-14 2018-03-27 Microsoft Technology Licensing, Llc Highly available service chains for network services
JP7485934B2 (ja) * 2020-06-30 2024-05-17 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278755A (ja) * 2001-03-16 2002-09-27 Hitachi Software Eng Co Ltd 分散ソフトウェア部品の選択呼出し方法および装置
WO2004084085A1 (ja) * 2003-03-18 2004-09-30 Fujitsu Limited サイト間連携による負荷分散システム
JP2006146434A (ja) * 2004-11-17 2006-06-08 Hitachi Ltd 分散アプリケーションテスト方法及び分散アプリケーションテスト装置
JP2007257163A (ja) * 2006-03-22 2007-10-04 Hitachi Ltd 分散型プログラム実行環境における稼動品質管理方法
JP2007265193A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ジョブ割当プログラム、ジョブ割当装置およびジョブ割当方法
WO2007136437A1 (en) * 2006-05-18 2007-11-29 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
JP2008009865A (ja) * 2006-06-30 2008-01-17 Yokogawa Electric Corp 分散コンピュータシステム
JP2008515106A (ja) * 2004-09-28 2008-05-08 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・パフォーマンスとアプリケーション配置管理を調整する装置、システム、方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032754A1 (en) * 2000-04-05 2002-03-14 Gary Logston Method and apparatus for profiling in a distributed application environment
US20020170032A1 (en) * 2001-03-14 2002-11-14 International Business Machines Corporation Method, system and computer program for deriving and applying quality of service specifications in a component-based development environment
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7290048B1 (en) * 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
US20040111506A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US20040122693A1 (en) * 2002-12-23 2004-06-24 Michael Hatscher Community builder
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7590984B2 (en) * 2003-05-29 2009-09-15 International Business Machines Corporation System and method for balancing a computing load among computing resources in a distributed computing problem
US20050223109A1 (en) * 2003-08-27 2005-10-06 Ascential Software Corporation Data integration through a services oriented architecture
US20050125738A1 (en) * 2003-12-04 2005-06-09 Biplav Srivastava Composite network-accesible services
US7448022B1 (en) * 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
US8046464B2 (en) * 2004-03-10 2011-10-25 The Boeing Company Quality of service resource management apparatus and method for middleware services
US7281045B2 (en) * 2004-08-26 2007-10-09 International Business Machines Corporation Provisioning manager for optimizing selection of available resources
US7797698B2 (en) * 2004-11-17 2010-09-14 International Business Machines Corporation Method and apparatus for dynamic middleware assembly
US7721292B2 (en) * 2004-12-16 2010-05-18 International Business Machines Corporation System for adjusting resource allocation to a logical partition based on rate of page swaps and utilization by changing a boot configuration file
US7590623B2 (en) * 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7584276B2 (en) * 2005-09-27 2009-09-01 International Business Machines Corporation Adaptive orchestration of composite services
US8055773B2 (en) * 2006-11-06 2011-11-08 International Business Machines Corporation Method and system for executing system management flows
US8051421B2 (en) * 2007-03-30 2011-11-01 Sap Ag Method and system for estimating resource provisioning
US8584131B2 (en) * 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
JP2009125828A (ja) 2007-11-20 2009-06-11 Akio Takewa 外径微調整式ボーリングバー

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278755A (ja) * 2001-03-16 2002-09-27 Hitachi Software Eng Co Ltd 分散ソフトウェア部品の選択呼出し方法および装置
WO2004084085A1 (ja) * 2003-03-18 2004-09-30 Fujitsu Limited サイト間連携による負荷分散システム
JP2008515106A (ja) * 2004-09-28 2008-05-08 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・パフォーマンスとアプリケーション配置管理を調整する装置、システム、方法
JP2006146434A (ja) * 2004-11-17 2006-06-08 Hitachi Ltd 分散アプリケーションテスト方法及び分散アプリケーションテスト装置
JP2007257163A (ja) * 2006-03-22 2007-10-04 Hitachi Ltd 分散型プログラム実行環境における稼動品質管理方法
JP2007265193A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ジョブ割当プログラム、ジョブ割当装置およびジョブ割当方法
WO2007136437A1 (en) * 2006-05-18 2007-11-29 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
JP2008009865A (ja) * 2006-06-30 2008-01-17 Yokogawa Electric Corp 分散コンピュータシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533256A (ja) * 2016-11-01 2019-11-14 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited アプリケーションリンク拡張方法、装置、及びシステム
JP7086065B2 (ja) 2016-11-01 2022-06-17 アリババ・グループ・ホールディング・リミテッド アプリケーションリンク拡張方法、装置、及びシステム
US11698817B2 (en) 2016-11-01 2023-07-11 Alibaba Group Holding Limited Application link resource scaling method, apparatus, and system based on concurrent stress testing of plural application links
JP2020038506A (ja) * 2018-09-04 2020-03-12 Necソリューションイノベータ株式会社 情報処理システム、情報処理方法、及び、プログラム
JP7107789B2 (ja) 2018-09-04 2022-07-27 Necソリューションイノベータ株式会社 情報処理システム、情報処理方法、及び、プログラム

Also Published As

Publication number Publication date
CN101901421A (zh) 2010-12-01
EP2256633A2 (en) 2010-12-01
EP2256633A3 (en) 2012-07-11
US20100313207A1 (en) 2010-12-09
JP5315128B2 (ja) 2013-10-16

Similar Documents

Publication Publication Date Title
KR102541295B1 (ko) 온-디맨드 네트워크 코드 실행 시스템에서의 운영 체제 커스터마이제이션
JP7092736B2 (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
CA3000422C (en) Workflow service using state transfer
US8904382B2 (en) Creating instances of cloud computing environments
JP5315128B2 (ja) 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
CN107818112B (zh) 一种大数据分析作业***及任务提交方法
US8544007B2 (en) Customization, deployment and management of virtual and physical machine images in an enterprise system
CA2890411C (en) System and method for managing dedicated caches
US10019293B2 (en) Enhanced command selection in a networked computing environment
WO2012039053A1 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
US11595299B2 (en) System and method of suppressing inbound payload to an integration flow of an orchestration based application integration
JP7324165B2 (ja) アプリケーション開発支援システム及びアプリケーション開発支援方法
US20220357974A1 (en) Container creation in a computing system
US10803413B1 (en) Workflow service with translator
CN113568758B (zh) Gpu资源池化方法、***、设备及计算机可读存储介质
US8650533B2 (en) Management of variants of an enterprise process
JP6418419B2 (ja) ハードディスクがアプリケーションコードを実行するための方法および装置
CN112163178A (zh) 页面数据的显示方法和装置、存储介质、电子装置
CN110321335B (zh) 建模数据下载方法、装置、电子设备及计算机存储介质
GB2557255A (en) Automatic selection of infrastructure on a hybrid cloud environment
CN114518946A (zh) 一种服务器资源动态调度的方法、***、装置和介质
CN114218469A (zh) 资源策略处理方法、计算设备及存储介质
CN113485761A (zh) 针对资源访问请求的处理方法、装置、设备及介质
KR101678975B1 (ko) 파일 저장 서비스 제공 장치 및 방법
CN113568708A (zh) 平台创建方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

LAPS Cancellation because of no payment of annual fees