JPWO2013171879A1 - ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法 - Google Patents

ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法 Download PDF

Info

Publication number
JPWO2013171879A1
JPWO2013171879A1 JP2014515427A JP2014515427A JPWO2013171879A1 JP WO2013171879 A1 JPWO2013171879 A1 JP WO2013171879A1 JP 2014515427 A JP2014515427 A JP 2014515427A JP 2014515427 A JP2014515427 A JP 2014515427A JP WO2013171879 A1 JPWO2013171879 A1 JP WO2013171879A1
Authority
JP
Japan
Prior art keywords
job
approval
group
unit
computer
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
JP2014515427A
Other languages
English (en)
Other versions
JP5965999B2 (ja
Inventor
諒 花房
諒 花房
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
Publication of JPWO2013171879A1 publication Critical patent/JPWO2013171879A1/ja
Application granted granted Critical
Publication of JP5965999B2 publication Critical patent/JP5965999B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

コンピュータリソースを用いて演算ジョブを実行するために承認が必要となる場合において、承認処理の負担を軽減する。本発明に係るジョブ実行システムは、複数の演算ジョブをグループ化してグループ単位で承認を依頼し、グループに対する承認を得た場合はそのグループに含まれる全演算ジョブが承認されたものとして取り扱う(図7参照)。

Description

本発明は、コンピュータリソースを用いて演算ジョブを実行する技術に関する。
データ量の増加に伴い、グリッド・コンピューティングのような分散処理が注目を集めている。分散処理の1つの適用例として総売上高の算出がある。ここでは、取引データとして登録された各取引の金額をすべて加算して総売上高を求めるものとする。取引数が少ない場合は1台のコンピュータでも短時間で処理を終えることができるが、取引数が多い場合は総売上高の算出に長時間かかってしまうため、複数台のコンピュータに取引のデータを分割して配布し、各コンピュータ上で計算を分散実行することにより、短時間で計算結果を得ることができる。
下記特許文献1には、分散コンピューティング技術に関する技術が記載されている。同文献では、『分散コンピュータネットワークにおいてリソースに対するセキュリティを確保したアクセスを提供する。』ことを課題として、『ジョブチケット(61)を格納することができ、該ジョブチケットがジョブに対する参照を提供し、該ジョブが1つまたは複数のリソースを含み、プロセッサ(80)が該ジョブを実行するために前記ジョブチケットにアクセスするものである、ジョブチケットサービス(60)と、該ジョブチケットへのアクセスを試みているプロセッサの識別を検証することができる認証機構(94)と、該認証機構から前記識別を受取ることができ前記プロセッサに対し前記ジョブチケットにアクセスする権限を提供することができ、前記プロセッサが、前記ジョブチケットにアクセスする時に前記1つまたは複数のリソースにアクセスする、権限付与機構(92)とを具備する。』という技術が開示されている(要約参照)。
下記特許文献2では、ネットワーク上に配置されたデータファイルに対するアクセスを制御する技術が記載されている。同文献では、『ネットワークに接続された端末におけるファイル操作を検出した際に、その操作の承認の可否を決定することにより、操作を制御する技術を提供する。』ことを課題として、『サーバSの操作情報取得部21は、端末Cから操作情報を取得する。承認依頼部22は、取得した操作情報に基づき、承認者を特定し、承認者情報を取得すると共に、特定した承認者に承認依頼を送信する。承認結果受信部23は、各承認者からの承認結果を受信し、集計部24に渡す。集計部24は、承認者情報および承認結果を取得し、所定条件を満たすと集計結果を生成する。承認可否判定部25は、集計部24から集計結果を取得し、操作情報と集計結果に基づき、承認の可否を判定する。制御部26は、承認可否判定部25による判定結果に基づき、所定の制御を実行する。』という技術が開示されている(要約参照)。
特開2003−122540号公報 特開2009−230257号公報
アクセスするために承認を要するコンピュータリソースを用いて演算ジョブを実行する場合には、演算ジョブを開始する前にそのコンピュータリソースを使用することについて承認を得なければならない。分散コンピューティング環境においては、コンピュータリソースと演算ジョブがともに分散しているため、個々のコンピュータリソースと演算ジョブについて個別に承認を実施する必要があると考えられる。これは特に、承認者が手作業によって承認を実施する場合において、承認者にとって過剰な負担になる。
上記特許文献1に記載されている技術では、ジョブチケットにアクセスするプロセッサを認証し、認証されたプロセッサへアクセス権限を付与する。この技術では、各プロセッサを個別に認証する必要があると考えられる。また同文献では、認証処理を通過したプロセッサについてはジョブチケットへアクセスする権限を自動的に付与しているので、承認者が個々のジョブチケットについて承認作業を個別に実施することは想定されていないと考えられる。
上記特許文献2に記載されている技術では、ファイルに対するアクセスを承認者が承認しているが、分散コンピューティング環境については考慮されていない。また、同文献に記載されている技術をそのまま分散コンピューティング環境に導入すると、個々の演算ジョブやコンピュータリソースについて個別に承認を実施しなければならないので、承認者にとっての負担が大きくなると考えられる。
本発明は、上記のような課題に鑑みてなされたものであり、コンピュータリソースを用いて演算ジョブを実行するために承認が必要となる場合において、承認処理の負担を軽減することを目的とする。
本発明に係るジョブ実行システムは、複数の演算ジョブをグループ化してグループ単位で承認を依頼し、グループに対する承認を得た場合はそのグループに含まれる全演算ジョブが承認されたものとして取り扱う。
本発明に係るジョブ実行システムによれば、個々の演算ジョブについて個別に承認を実施する必要がなくなるので、承認処理の負担を軽減することができる。
上記した以外の課題、構成、および効果は、以下の実施形態の説明により明らかになるであろう。
実施形態1に係るジョブ実行システム1000の構成図である。 承認依頼DB240の構成とデータ例を示す図である。 承認結果DB250の構成とデータ例を示す図である。 リソース情報DB410の構成とデータ例を示す図である。 分割情報DB420の構成とデータ例を示す図である。 承認者端末300が表示する承認依頼一覧画面310の画面イメージである。 グループ管理部140が作成するジョブグループとジョブグループ全体に対する承認について説明する図である。 演算ジョブを複製することにより生成した分割ジョブと、分割ジョブから派生した演算ジョブとを同じグループに所属させる例を示す図である。 演算ジョブを複製することにより生成した分割ジョブと、分割ジョブから派生した演算ジョブとを異なるグループに所属させる例を示す図である。 分割前後に係る演算ジョブを同じグループに所属させる例を示す図である。 アプリケーションジョブとこれから生成した演算ジョブを同じグループに所属させる例を示す図である。 グループ管理部140が図8〜図10に示すグループ構造を採用する場合における、ジョブ実行システム1000の動作フローを示す図である。 グループ管理部140が図11に示すグループ構造を採用する場合における、ジョブ実行システム1000の動作フローを示す図である。 ステップS1205の詳細を示す図である。 承認者が承認者端末300を用いて承認依頼に対する回答を入力する処理を説明する図である。 ステップS1216の詳細を示す図である。
<実施の形態1:システム構成>
図1は、本発明の実施形態1に係るジョブ実行システム1000の構成図である。ジョブ実行システム1000は、コンピュータリソースを用いて演算ジョブを実行するシステムであり、計算機ノード100、承認サーバ200、承認者端末300、リソース情報データベース(DB)410、分割情報データベース(DB)420を備える。これらはネットワークを介して互いに接続されている。
計算機ノード100は、演算ジョブを実行するコンピュータであり、複数台設けられている。ユーザは、上位アプリケーションのジョブ(例えば経理アプリケーションの売上集計ジョブ)を計算機ノード100に投入する。アプリケーションジョブが投入された計算機ノード100は、そのアプリケーションジョブを複数の演算ジョブ(例えば店舗毎の集計ジョブ)に分割し、他の計算機ノード100へ配布する。各計算機ノード100は、受け取った演算ジョブを実行する。これにより、複数の計算機ノード100がアプリケーションジョブを分担して実行することになる。
計算機ノード100は、ジョブ受付部110、リソース操作検知部120、承認制御部130、グループ管理部140、ジョブ制御部150、リソース分割部160を備える。
ジョブ受付部110は、ユーザが投入したアプリケーションジョブ、または他の計算機ノード100が配布した演算ジョブを受け取り、そのジョブがいずれのグループに属するかを判定する。ジョブが属するグループについては後述する。ジョブ受付部110が受け取ったジョブは、ジョブ制御部150によって実行される。
リソース操作検知部120は、ジョブ制御部150が実行するジョブがコンピュータリソースにアクセスする必要がある場合、その旨を検知する。ここでいうコンピュータリソースは、例えば演算ジョブを実行する際に用いるデータファイルまたはデータベースのテーブル、他の計算機ノード100、などが考えられる。以下では説明の便宜上、コンピュータリソースとして、演算ジョブを実行する際に用いるデータファイルを例に動作を説明する。例えば経理アプリケーションの例においては、演算ジョブがアクセスするデータファイルとして、全店舗の売上実績を記録したデータファイルが考えられる。
承認制御部130は、リソース操作検知部120がコンピュータリソースへのアクセスを検知した場合、そのコンピュータリソースにアクセスするために承認を要するか否かを判定する。判定手法については後述する。承認を要する場合、承認制御部130は承認依頼を承認サーバ200へ発行する。承認者がその承認依頼に対して回答(承認結果)を入力した後、承認制御部130はその承認結果を承認サーバ200から受け取ってジョブ制御部150に通知する。承認依頼が生じてから承認者が回答を入力するまではタイムラグがあるので、承認制御部130は承認依頼に対する回答を即時に得られるとは限らない。ただし後述するように、同じグループに属する演算ジョブに対して既に承認者が回答を入力していた場合は、即座に回答を得ることができる。
グループ管理部140は、複数の演算ジョブをグループ化し、同一のグループIDを付与する。同じグループに属する演算ジョブを複数の計算機ノード100に配布する場合、各計算機ノード100が受け取る演算ジョブは、そのグループのグループIDを、配布前の演算ジョブから引き継ぐ。グループIDを複数の演算ジョブ間で共有する手法については後述する。
ジョブ制御部150は、ジョブ受付部110が受け取ったアプリケーションジョブに基づき個々の演算ジョブを生成して実行し、または他の計算機ノード100へ演算ジョブを配布して実行させその結果を受け取る。ジョブ制御部150は、他の計算機ノード100から演算ジョブを受け取る場合もある。この場合はその演算ジョブを実行する。ジョブ制御部150が個々の演算ジョブを生成する手法については後述する。
ジョブ制御部150はさらに、ジョブ複製部151を備える。ジョブ複製部151は、演算ジョブを複製することにより分割する機能部である。複製された演算ジョブは複製元の演算ジョブと同じ処理を実行するが、処理対象となるデータファイルなどが異なる。
リソース分割部160は、ジョブ制御部150が他の計算機ノード100へ演算ジョブを配布する場合において、他の計算機ノード100が演算ジョブを実行するためアクセスするコンピュータリソースを他の計算機ノード100へ配布する。例えば演算ジョブを実行するためデータファイルにアクセスする必要がある場合、リソース分割部160はそのデータファイルのうち他の計算機ノード100がアクセスする必要がある部分を分割して他の計算機ノード100へ配布する。
承認サーバ200は、計算機ノード100が備える承認制御部130より承認依頼を受け取って承認結果を回答するコンピュータである。承認サーバ200は、コンピュータリソースに対するアクセスを、グループ管理部140が作成したグループ単位で承認する。承認サーバ200は、依頼受付部210、承認部220、優先度判定部230、承認依頼データベース(DB)240、承認結果データベース(DB)250を備える。
依頼受付部210は、承認制御部130が発行した承認依頼を受け取り、その承認依頼に対する回答(承認結果)が入力されているか否か、承認結果DB250から検索する。承認結果が見つからない場合、依頼受付部210はその承認依頼を承認依頼DB240へ登録する。承認結果が見つかった場合、依頼受付部210はその承認結果を承認制御部130へ返信する。
承認部220は、承認者端末300からのリクエストに応じて承認依頼DB240に登録されている承認依頼のリストを承認者端末300へ送信する。また、承認者端末300から承認依頼に対する承認結果を受け取り、承認依頼DB240へ登録する。承認部220は、承認依頼DB240に登録されている回答を集計し、グループに対する最終的な承認結果を決定して承認結果DB250に格納する。最終的な承認結果については後述の図2で改めて説明する。承認されたグループに属する全ての演算ジョブは、ジョブの過程で使用するコンピュータリソースにアクセスすることを許可される。
優先度判定部230は、承認依頼DB240に登録されている承認依頼の優先度を判定する。この優先度は、どの順序で承認依頼を処理すべきかを定めるための指標となる。承認者はこの優先度を参考にして、承認処理を実施することができる。優先度の高低は、例えば複数の承認者から承認を得なければならない場合において、承認を要する承認者の人数が多い承認依頼ほど優先度を高くする、などの手法が考えられる。
承認依頼DB240、承認結果DB250、リソース情報DB410、分割情報DB420については、後述の図2〜図5で説明する。
承認者端末300は、承認者が承認依頼に対する回答を入力するための端末である。承認者端末300は、未回答の承認依頼があるか否かを承認サーバ200へ問い合わせる。承認者端末300は、後述の図6で説明する画面上に未回答の承認依頼のリストを表示する。承認者はその画面上で回答を入力する。承認サーバ200はその回答を受け取って承認依頼DB240に格納する。
図1に示す各コンピュータが備える各機能部は、これらの機能を実現する回路デバイスなどのハードウェアとして構成することもできるし、同様の機能を実装したプログラムとこれを実行するCPU(Central Processing Unit)などの演算装置を用いて構成することもできる。
図2は、承認依頼DB240の構成とデータ例を示す図である。承認依頼DB240は未回答の承認依頼を保持するデータベースであり、データを保持するデータファイルをHDD(Hard Disk Drive)などの記憶装置に格納することによって構成することができる。図2ではテーブル形式の構成を例示したが、その他の形式でもよい。データベースを構成する手法およびデータ形式については他のデータベースについても同様であるため、以降に説明するデータベースについてはその記載を省略する。
承認依頼DB240は、グループIDフィールド241、代表ジョブIDフィールド242、リソースIDフィールド243、依頼元フィールド244、承認者IDフィールド245、回答フィールド246、分割前リソースIDフィールド247、作業者IDフィールド248、アプリケーションジョブIDフィールド249を有する。承認依頼DB240の各レコードが1つの承認依頼に相当する。承認者端末300は承認依頼DB240に格納されているレコードを取得し、後述の図6で説明する画面上に取得したレコードを表示する。
グループIDフィールド241は、グループ管理部140が作成したグループのIDを保持する。代表ジョブIDフィールド242は、グループIDフィールド241が指定するグループを代表する演算ジョブのIDを保持する。リソースIDフィールド243は、グループIDフィールド241が指定するグループに含まれる演算ジョブを実行するためにアクセスする必要があるコンピュータリソースのうちアクセスする際に承認を要するもののIDを保持する。依頼元フィールド244は、承認依頼を発行した計算機ノード100を識別する情報を保持する。ここではIPアドレスとポート番号を例示した。承認者IDフィールド245は、承認依頼に対して回答すべき承認者のIDを保持する。
回答フィールド246は、承認者が承認者端末300上で入力した回答を保持する。承認結果DB250とは別に本フィールドを設けているのは、承認者が複数いる場合を想定しているためである。
そこで本実施形態1では、承認者端末300から入力された承認結果をいったん承認依頼DB240上に格納し、グループに属する演算ジョブに対する承認結果がある程度(必ずしも全部でなくともよい)集まった段階で、承認部220がそのグループに対する最終的な承認結果を判定することとした。例えば、同じグループに属する演算ジョブに対する承認結果の多数決によって、そのグループに対する最終的な承認結果を判定することができる。その他適当な手法を用いて判定してもよい。承認部220は、グループに対する最終的な承認結果を承認結果DB250に格納する。
分割前リソースIDフィールド247は、リソースIDフィールド243が指定するコンピュータリソースがリソース分割部160によって作成されたものである場合、その分割前のリソースのIDを保持する。本フィールドは後述する分割情報DB420から取得することもできるので、必ずしも承認依頼DB240内に設けなくともよい。
作業者IDフィールド248は、各グループに含まれる演算ジョブを生成する元になったアプリケーションジョブを投入したユーザのIDである。アプリケーションジョブIDフィールド249は、そのアプリケーションジョブのIDである。
承認部220は、承認者端末300から承認依頼のリストを送付するよう要求するリクエストを受け取ると、その承認者のIDをキーにして承認依頼DB240を検索してその承認者が回答を入力すべき承認依頼のリストを取得する。承認部220は、以下の処理により承認者端末300へ返信すべき承認依頼リストを作成する。これにより、同じ内容の承認依頼に対して何度も回答を要求することを避けることができる。
(承認依頼リスト作成処理その1)
既に回答フィールド246へ回答が入力されている承認依頼については改めて承認者端末300上で提示する必要はない。そこで承認部220は、承認者端末300へ返信する承認依頼リストから回答済のものを除外する。
(承認依頼リスト作成処理その2)
既に回答フィールド246へ回答が入力されている承認依頼と同じグループに属し、かつ承認対象リソース(分割されていなければリソースIDフィールド243、分割されていれば分割前リソースID247)も同じである承認依頼については、承認者が同じ承認結果を入力するはずである。そこで承認部220は、承認者端末300へ返信する承認依頼リストから上記に該当するものを除外する。
(承認依頼リスト作成処理その3)
未回答の承認依頼のうち、同じグループに属し、かつリソースIDフィールド243も同じである承認依頼が複数存在する場合は、そのなかのいずれか1つを残してその他の承認依頼は承認依頼DB240から削除する。承認者はこれらの承認依頼に対して同じ回答を入力するであろうし、後述するようにグループ全体に対して承認結果が得られればそのグループに属する全ての演算ジョブに対して同じ承認結果が適用されるので同じグループに属するいずれかの承認依頼に対して回答が得られれば十分だからである。
図3は、承認結果DB250の構成とデータ例を示す図である。承認結果DB250は演算ジョブのグループに対する最終的な承認結果を保持するデータベースであり、グループIDフィールド251、リソースIDフィールド252、承認結果253を有する。
グループIDフィールド251は、承認部220が最終的に承認結果を決定したグループのIDを保持する。本フィールドはグループIDフィールド241に対応する。リソースIDフィールド252は、グループIDフィールド251が指定するグループに含まれる演算ジョブがアクセスするコンピュータリソースのIDを保持する。本フィールドは分割されていなければリソースIDフィールド243、分割されていれば分割前リソースID247に対応する。承認結果253は、グループIDフィールド251が指定するグループに対する最終的な承認結果を保持する。
図4は、リソース情報DB410の構成とデータ例を示す図である。リソース情報DB410は、アクセスする際に承認を要するコンピュータリソースを列挙するとともに、その承認者を特定するためのデータベースである。リソース情報DB410は、リソースIDフィールド411、承認者IDフィールド412を有する。
リソースIDフィールド411は、アクセスする際に承認を要するコンピュータリソースのIDを保持する。承認者IDフィールド412は、リソースIDフィールド411が指定するコンピュータリソースに対するアクセスを承認する承認者のIDを保持する。
計算機ノード100の承認制御部130は、承認サーバ200に対して承認依頼を発行する。承認部220は、その承認依頼に対して回答すべき承認者を指定する。
図5は、分割情報DB420の構成とデータ例を示す図である。分割情報DB420は、リソース分割部160がコンピュータリソースを分割した場合、その分割前後の対応関係を管理するためのデータベースである。分割情報DB420は、グループIDフィールド421、分割後リソースIDフィールド422、分割前リソースIDフィールド423を有する。
グループIDフィールド421は、コンピュータリソースを使用する演算ジョブが属するグループのIDである。分割後リソースIDフィールド422は、グループIDフィールドが指定するグループに属する演算ジョブが使用するコンピュータリソースのうち、リソース分割部160が生成したもののIDである。分割前リソースIDフィールド423は、分割後リソースID422が指定するコンピュータリソースをリソース分割部160が生成する元になったコンピュータリソースのIDである。
リソース分割部160は、コンピュータリソースを分割して他の計算機ノード100へ配布するとき、分割前後の対応関係を分割情報DB420へ登録する。承認依頼DB240の分割前リソースIDフィールド247は、分割情報DB420に登録されている情報から導き出すことができる。
演算ジョブが分割後のコンピュータリソースを使用する場合においては、承認者は分割後のコンピュータリソースに対するアクセス可否を判断する必要がある。しかし、分割後のコンピュータリソースIDは必ずしも分割前のコンピュータリソースIDと同様であるとは限らず、コンピュータリソースIDのみではアクセス可否を判断することができない場合がある。このような場合には、分割情報DB420から分割前後それぞれのコンピュータリソースIDの対応関係を読み出し、分割前のコンピュータリソースIDに置き換えて承認者へ提示すればよい。分割前後のコンピュータリソースそれぞれに求められるセキュリティレベルは同程度であると考えられるので、分割前のコンピュータリソースに対するアクセス可否を判断することができれば、承認作業を実施するのに十分だからである。
図6は、承認者端末300が表示する承認依頼一覧画面310の画面イメージである。承認依頼一覧画面310は、承認依頼DB240内に登録されている承認依頼のリストを表示する画面であり、承認依頼テーブル311、更新ボタン312、承認ボタン313、却下ボタン314を有する。
承認者は、承認作業を実施するとき、承認者端末300のディスプレイ上に承認依頼一覧画面310を表示させる。このとき、当該承認者のIDを指定しておく。例えば当該承認者のログインIDなどを用いればよい。承認者端末300は、その承認者IDをキーにして承認サーバ200へ未回答の承認依頼を問い合わせる。
承認部220は、承認依頼リスト作成処理その1〜3で説明した手法により承認依頼DB240から当該承認者に関連する承認依頼リストを作成し、承認者端末300へ送信する。承認者端末300は、承認依頼テーブル311上にその承認依頼リストを画面表示する。必ずしも承認依頼DB240が備える全フィールドを画面表示する必要はなく、承認者が承認作業を実施するために必要な情報のみを表示すればよい。優先度については、優先度判定部230が上述の方法によって判定した値を承認者端末300へ通知し、これを表示すればよい。
承認者は、承認ボタン313または却下ボタン314を押下することにより、承認依頼に対する回答を入力する。承認依頼リストを承認サーバ200から再取得する場合は、更新ボタン312を押下する。承認サーバ200は、承認者が入力した回答を承認者端末300から受け取って承認依頼DB240の回答フィールド246に登録する。以後の処理は先に説明した通りである。
<実施の形態1:ジョブグループについて>
図7は、グループ管理部140が作成するジョブグループとジョブグループ全体に対する承認について説明する図である。ここではユーザがアプリケーションジョブを投入してから各計算機ノードが承認依頼を発行するに至る処理の流れを示した。以下、図7に示す各ステップについて説明する。
(図7:ステップ1:売上集計ジョブ)
ユーザは、上位アプリケーションを介してアプリケーションジョブを計算機ノード100へ投入する。ここでは経理アプリケーションの全店舗売上集計ジョブを投入したものと仮定する。
(図7:ステップ2:加算ジョブ生成)
ジョブ制御部150は、ユーザが投入した売上集計ジョブを、コンピュータが実行する演算ジョブとして置き換える。売上集計ジョブの例に即して述べると、各店舗の売上を加算する演算ジョブなどを生成することになると考えられる。以下では便宜上、同例を用いて説明する。
(図7:ステップ3:リソース分割承認依頼)
演算ジョブの処理負荷が大きい場合、ジョブ制御部150はステップ2で生成した演算ジョブを分割して他の計算機ノード100に割り当てる。グループ管理部140は、分割前後の演算ジョブをグループ化して同一のグループIDを割り当て、各演算ジョブにパラメータとして引き渡しておく。あるいは、各演算ジョブがいずれのグループに属しているかについて、適当なデータベース上で管理してもよい。このとき、分割後の演算ジョブが使用するコンピュータリソースを併せて配布する必要がある。ここでは売上実績を記録したデータファイルを店舗毎に分割し、その店舗の集計を担当する計算機ノード100へ配布することとする。データファイルを分割する際に、データファイルに対するアクセスが発生するので、リソース操作検知部120はその旨を検知する。承認制御部130は、そのアクセスに対する承認依頼を承認サーバ200へ発行する。承認者は承認者端末300を用いてその承認依頼に対し回答する。承認部220は、当該グループに対する最終的な承認結果を承認結果DB250に登録する。
(図7:ステップ4:分割ジョブを配布)
ジョブ制御部150は、分割後の演算ジョブを各計算機ノード100へ配布する。
(図7:ステップ4:分割リソースを配布)
リソース分割部160は、分割後のコンピュータリソースを、対応する計算機ノード100へ配布する。このとき、対応する演算ジョブが属するグループIDと、分割前後のコンピュータリソースIDとの間の対応関係を、分割情報DB420へ登録しておく。
(図7:ステップ5:承認依頼)
各計算機ノード100のジョブ制御部150は、受け取った演算ジョブを実行する。この過程において、分割後のコンピュータリソースにアクセスする場合、リソース操作検知部120がその旨を検知し、承認制御部130はそのコンピュータリソースに対するアクセス可否について承認サーバ200へ承認依頼を発行する。このとき、分割後の演算ジョブが属するグループIDを併せて承認サーバ200へ通知する。
(図7:ステップ6:承認)
承認部220は、承認依頼に係るグループIDをキーにして、承認結果DB250を検索する。図7に示す処理フローでは、ステップ3において既に当該グループに対して承認結果が登録されているので、承認部220はこれを用いて承認依頼に対し回答する。これにより、承認者が分割後ジョブから発生した承認依頼に対して逐一回答を入力する必要がなくなるので、承認者の負担を軽減することができる。各計算機ノード100のジョブ制御部150は、グループに対してコンピュータリソースへのアクセスを許可する旨の承認結果を得た場合は各演算ジョブを実行し、アクセスを許可しない旨の承認結果を得た場合はジョブの実行を中止する。
<実施の形態1:まとめ>
以上のように、本実施形態1に係るジョブ実行システム1000は、演算ジョブを分割して各計算機ノード100へ配布する際に、各演算ジョブをグループ化して同じグループIDを割り当てておく。各計算機ノード100は、分割後の演算ジョブを実行する際に承認サーバ200へ承認依頼を発行する。承認サーバ200はグループに対する承認結果を回答し、各計算機ノード100はこれにしたがって演算ジョブを制御する。この構成によれば、承認者はグループに対する承認結果をいったん回答すれば、以後の分割後ジョブから生じる承認依頼に対して逐一回答する必要がなくなるので、承認者の負担を軽減することができる。
<実施の形態2>
実施形態1では、グループ管理部140が複数の演算ジョブをグループ化することについて説明した。このとき、どの範囲で演算ジョブをグループ化するかにより、承認依頼の発生頻度や承認対象が異なる。本発明の実施形態2では、グループ化する演算ジョブの範囲について種々の構成例を説明する。また、ジョブ実行システム1000の詳細動作について併せて説明する。その他の構成は実施形態1と同様である。
図8は、演算ジョブを複製することにより生成した分割ジョブと、分割ジョブから派生した演算ジョブとを同じグループに所属させる例を示す図である。ジョブ複製部151はアプリケーションジョブから生成された代表演算ジョブを複製することにより、分割演算ジョブを生成する。さらに分割演算ジョブのなかで、部分的な処理を担当する派生的なジョブが発生する場合もある。
図8に示す例では、代表演算ジョブと分割演算ジョブは異なるグループに属することになるので、代表演算ジョブに対する承認結果は分割演算ジョブに対して適用されない。これは代表演算ジョブに対する承認結果を分割後の演算ジョブに引き継がせたくない場合に有効である。
図8に示す例においては、複製によって生成したジョブが所属するグループは、複製元ジョブが無所属であれば新たに作成したグループとなり、複製元ジョブがグループに所属していればそのグループとなる。複製以外の方法によって生成したジョブが所属するグループは、生成元のジョブと同じである。
図9は、演算ジョブを複製することにより生成した分割ジョブと、分割ジョブから派生した演算ジョブとを異なるグループに所属させる例を示す図である。分割演算ジョブから派生する派生ジョブの内容を承認者が知らない場合には、分割演算ジョブから生じた承認依頼を承認する場合においても、派生ジョブから生じる承認依頼を必ずしも承認するとは限らない。このような場合には、分割演算ジョブと派生演算ジョブを異なるグループに属させることが望ましい。
図9に示す例においては、複製によって生成したジョブが所属するグループは、複製元ジョブが作成したグループとなる。複製以外の方法によって生成したジョブは、無所属となる。
図10は、分割前後に係る演算ジョブを同じグループに所属させる例を示す図である。これは実施形態1で説明したグループ構造に対応する。分割前後の演算ジョブを一括して承認したい場合には、図10に示すグループ構造が有効である。また、分割前の演算ジョブに対する承認結果を分割後の演算ジョブにも継承させたい場合にも同様に有効である。
図10に示す例においては、複製によって生成したジョブが所属するグループは、複製元ジョブと同じである。複製以外の方法によって生成したジョブが所属するグループも、生成元のジョブと同じである。
図11は、アプリケーションジョブとこれから生成した演算ジョブを同じグループに所属させる例を示す図である。承認者がアプリケーションジョブの段階から承認を実施したい場合には、図11に示すグループ構造が有効である。
図11に示す例においては、複製によって生成したジョブが所属するグループは、複製元ジョブと同じである。複製以外の方法によって生成したジョブが所属するグループも、生成元のジョブと同じである。
図12は、グループ管理部140が図8〜図10に示すグループ構造を採用する場合における、ジョブ実行システム1000の動作フローを示す図である。ここでは2つの計算機ノード100の間で分割した演算ジョブを配布する例を示した。以下、図12の各ステップについて説明する。
(図12:ステップS1201)
ユーザがアプリケーションジョブを計算機ノード100へ投入するか、または他の計算機ノード100が演算ジョブを配布すると、ジョブ受付部110はそのジョブを受け付ける。ジョブ受付部110は、受け取ったジョブがいずれのグループに属するかを、例えば引き渡されるパラメータに基づき判定する。
(図12:ステップS1202〜S1203)
ジョブが終了段階に達している場合はそのジョブを終了し、実行すべきステップが残っている場合はステップS1203へ進む(S1202)。ジョブ制御部150は、実行すべき演算ジョブの次のステップを取得する(S1203)。
(図12:ステップS1204)
リソース操作検知部120は、次に実行すべきステップが、アクセスする際に承認を要するコンピュータリソースを使用するか否かを判定する。使用する場合はステップS1205において後述の図14で説明する処理フローを実行し、使用しない場合はステップS1207へスキップする。
(図12:ステップS1206)
承認制御部130は、承認サーバ200よりコンピュータリソースを使用してよいか否かについての承認結果を受け取る。使用を許可する旨の承認結果を受け取った場合はステップS1207へ進み、使用を許可しない旨の承認結果を受け取った場合はジョブ制御部150が現在実行している演算ジョブをエラー終了する。
(図12:ステップS1207)
ジョブ制御部150は、演算ジョブを他の計算機ノード100とともに分担して実行するため子ジョブ(分割ジョブ)を生成するか否かを判定する。この判定は、例えば想定される演算ジョブの負荷に応じて実施してもよいし、ユーザが手動で指定してもよい。子ジョブを生成する場合はステップS1208へ進み、生成しない場合はステップS1203で取得した処理を実行してステップS1202へ戻る。
(図12:ステップS1208〜S1210)
ジョブ制御部150は、分割ジョブを実行するよう依頼する計算機ノード100を決定する(S1208)。リソース分割部160は、ステップS1205で承認依頼を発行したコンピュータリソースを分割し、分割ジョブを依頼する計算機ノード100へ配布する(S1209)。リソース分割部160は、分割前後のコンピュータリソースの対応関係を、分割情報DB420へ登録する(S1210)。
(図12:ステップS1211〜S1213)
グループ管理部140は、分割ジョブを所属させるグループを作成し、グループIDを付与する(S1211)。ジョブ制御部150は、例えば演算ジョブを複製するなどして分割ジョブを生成し、その分割ジョブとグループIDを対応付ける(S1212)。分割ジョブは以後そのグループIDを引き継ぐ。ジョブ制御部150は、分割ジョブを他の計算機ノード100へ配布し、実行させる(S1213)。
(図12:ステップS1211〜S1213:補足その1)
分割ジョブが属するグループIDの値が攻撃者に知られると、そのグループIDを用いてコンピュータリソースへ不正にアクセスされる可能性がある。これを防ぐためには、例えばステップS1211において乱数を用いてグループIDを生成する、グループIDを他の計算機ノード100へ送信する際に暗号化する、などの手法が考えられる。
(図12:ステップS1211〜S1213:補足その2)
分割ジョブを配布された計算機ノード100は、ステップS1201〜S1217と同様の処理を実行する。すなわち、分割ジョブをさらに分割する場合にはステップS1207以降と同様の処理を実行し、さらに分割しない場合にはステップS1207において子ジョブを生成せず単独で処理を実行する。
(図12:ステップS1214〜S1217)
ジョブ制御部150は、各計算機ノード100が実行した分割ジョブの結果を集約して集計する(S1214)。ステップS1211において新たなグループを作成した場合はステップS1216において後述の図16で説明する処理フローを実行し、作成しなかった場合はステップS1217へスキップする(S1215)。リソース分割部160は、ステップS1210で分割情報DB420へ登録した情報を削除する(S1217)。
図13は、グループ管理部140が図11に示すグループ構造を採用する場合における、ジョブ実行システム1000の動作フローを示す図である。以下、図13の各ステップについて説明する。図12と同様のステップについては同じ符号を付しているが、ステップの順序が図12とは異なる。以下、図12と異なる点および新たに追加されたステップを中心に説明する。
(図13:ステップS1301)
ジョブ受付部110がジョブを受け取った後、グループ管理部140は、そのジョブが属するグループがパラメータ等によって指定されているか否かを判定する。ユーザが最初にアプリケーションジョブを投入した場合は未だそのアプリケーションジョブを所属させるグループが作成されていないため、ステップS1211で新たにグループを作成する。アプリケーションジョブから生成した演算ジョブ以降のジョブを受け取った場合は、既に派生元であるアプリケーションジョブが所属するグループが作成されているので、ステップS1202へスキップする。
(図13:ステップS1202)
本ステップは図12と同様であるが、本ステップの次にステップS1215〜S1216を実行する点が図12とは異なる。図12においては図8〜図10のグループ構造を採用しているため演算ジョブが全て終了した時点でグループを削除すればよいのに対し、図13においては演算ジョブが終了してもアプリケーションジョブが残っている場合があるので、ジョブを終了する直前にグループを削除することとした。
(図13:ステップS1206)
本ステップは図12と同様であるが、本ステップの次にステップS1302〜S1303を実行する点が図12とは異なる。これらのステップはステップS1215〜S1216と同様である。ステップS1202と同様の理由により、ジョブをエラー終了する直前でグループを削除することとしたものである。
(図13:ステップS1210)
図13においては、ジョブを受け付けた直後にグループを作成しているので、本ステップの次はステップS1212へ進む。以後のステップは図12と同様である。ただしグループ削除については上述の通りステップS1202の直後とステップS1206の直後に実行することとした。
図14は、ステップS1205の詳細を示す図である。以下、図14の各ステップについて説明する。
(図14:ステップS1401)
計算機ノード100の承認制御部130は、承認依頼に係るコンピュータリソースを生成する元になった分割前リソースが存在するか否かを確認するため、そのコンピュータリソースのIDをキーにして分割情報DB420を検索する。
(図14:ステップS1402)
承認制御部130は、ステップS1401において分割前リソースが見つかった場合は、その分割前リソースをキーにしてリソース情報DB410を検索する。ステップS1401において分割前リソースが見つからなかった場合は、承認依頼に係るコンピュータリソースをキーにしてリソース情報DB410を検索する。
(図14:ステップS1403〜S1404)
承認制御部130は、ステップS1402においてリソース情報DB410上に該当するレコードが見つかった場合は、そのコンピュータリソースにアクセスする際に承認を要すると判断し、ステップS1404において承認サーバ200へ承認依頼を発行する。リソース情報DB410上に該当するレコードが見つからなかった場合は、そのコンピュータリソースにアクセスする際に承認は必要ないので、本処理を終了する。
(図14:ステップS1405〜S1407)
承認サーバ200の依頼受付部210は、承認依頼を受け付ける(S1405)。承認部220は、ステップS1401〜S1402と同様の処理を実行する。分割前リソースが見つかった場合はその分割前リソースに係るグループを承認対象とする。分割前リソースが見つからなかった場合は承認依頼に係るグループを承認対象とする(S1406〜S1407)。
(図14:ステップS1408〜S1409)
承認部220は、承認依頼に係る演算ジョブが属するグループと、ステップS1407において承認対象として設定したコンピュータリソースとをキーにして、承認結果DB250を検索する(S1408)。該当する承認結果が見つかった場合はステップS1412へスキップし、見つからなかった場合はステップS1410へ進む(S1409)。
(図14:ステップS1410〜S1411)
承認部220は、ステップS1408において承認結果DB250上に該当するレコードが見つからなかった場合は、当該承認依頼は未回答であると判断し、リソース情報DB410からその承認依頼に対して回答すべき承認者を検索する(S1410)。承認部220は、ステップS1410で特定した承認者と併せて、承認依頼を承認依頼DB240に登録する(S1411)。該当する承認者が複数存在する場合は、個々の承認者についてそれぞれレコードを登録する。
(図14:ステップS1412)
本ステップは、後述する図15のポイントAの続きである。承認部220は、先に説明した手法により承認依頼に対する最終的な承認結果を決定し、承認結果DB250にその承認結果を登録する。
(図14:ステップS1413〜S1414)
承認部220は、承認結果DB250に登録されている最終承認結果を計算機ノード100へ返信する(S1413)。計算機ノード100の承認制御部130は、その承認結果を受信する(S1414)。
(図14:ステップS1415)
承認部220は、承認結果DB250に登録されている最終承認結果のグループID251とリソースID252をキーにして、承認依頼DB240を検索する。承認部220は、該当する承認依頼DB240のレコードを削除する。具体的には、承認結果が出たリソースをキーとして、リソースID243だけでなく、分割前リソースID247も検索してヒットしたレコードを削除する。
図15は、承認者が承認者端末300を用いて承認依頼に対する回答を入力する処理を説明する図である。以下、図15の各ステップについて説明する。
(図15:ステップS1501〜S1502)
承認者端末300は、承認者サーバ200に対し、未回答の承認依頼のリストを送信するよう要求する(S1501)。承認部220は、その承認者のIDをキーにして承認依頼DB240を検索し、該当する承認依頼のリストを取得する(S1502)。
(図15:ステップS1503)
承認部220は、ステップS1502で取得した承認依頼のリストのなかから、回答済のものを削除する。具体的には、回答フィールド246が既に入力されている承認依頼をまず削除する。次に、グループIDフィールド241とリソースIDフィールド243が回答済の承認依頼と同じである承認依頼をさらに削除する。
(図15:ステップS1503:補足)
承認依頼のリスト作成時は、分割前リソースが同じ分割後リソースに対する承認依頼があった場合、その中の1つでも回答済みなら、同じ分割前リソースを持つ他の分割後リソースも回答済みと判断する。すなわち、グループIDフィールド241とリソースIDフィールド243のペアだけでなく、グループIDフィールド241と分割前リソースIDフィールド247のペアでもグループ化し、その中のいずれかが回答済みであれば、回答済みと判断する。
(図15:ステップS1504)
承認部220は、ステップS1503で残った承認依頼のうち、グループIDフィールド241とリソースIDフィールド243が同じものについては、そのなかのいずれか任意の1つのみを残し、その他は削除する。
(図15:ステップS1504:補足)
承認依頼のリスト作成時は、分割前リソースが同じものを1つにまとめる。すなわち、グループIDフィールド241とリソースIDフィールド243のペアでグループ化したレコード群の中から任意の1つを選んだ後、グループIDフィールド241と分割前リソースIDフィールド247のペアでもグループ化し、その中から任意の1つを選び、レコード数を削減する。つまり、グループIDフィールド241とリソースIDフィールド243のペアでグループ化したレコード群の中から任意の1つを選んだ後、グループIDフィールド241と分割前リソースIDフィールド247のペアでもグループ化し、その中から任意の1つを選び、レコード数を削減する。
(図15:ステップS1505〜S1506)
優先度判定部230は、ステップS1504で残った承認依頼について、承認者が回答すべき優先度を判定し、各承認依頼にその優先度を付与する(S1505)。承認部220は、優先度を付与した承認依頼のリストを承認者端末300へ送信する(S1506)。
(図15:ステップS1507〜S1508)
承認者は、図6で説明した承認依頼一覧画面310上で、承認依頼に対する回答を入力する(S1507)。承認部220は、その回答を受け取り、承認依頼DB240の回答フィールド246へその回答を記録する(S1508)。
(図15:ステップS1509〜S1510)
承認部220は、各承認者が入力した回答フィールド246を集計し、上述の手法により最終的な承認結果を判定する(S1509)。最終的な承認結果を確定することができる段階に至っている場合は図14のポイントAへ進み、それ以外であれば本処理フローを終了する(S1510)。
図16は、ステップS1216の詳細を示す図である。以下、図16の各ステップについて説明する。
(図16:ステップS1601)
計算機ノード100のグループ管理部140は、所属する全てのジョブが終了したグループのIDをキーにして分割情報DB420を検索し、該当するレコードを削除する。本ステップと同様の処理はステップS1605において承認サーバ200も実行するので、省略してもよい。
(図16:ステップS1602〜S1605)
グループ管理部140は、ステップS1601で検索したレコードに対応するグループを削除するよう、承認サーバ200へ要求する(S1602)。承認サーバ200の承認部220は、依頼されたグループIDをキーにして、該当するレコードを承認結果DB250、承認依頼DB240、分割情報DB420からそれぞれ削除する(S1603〜S1605)。グループに属する全てのジョブが終了した後は、これらのレコードは必要ないからである。これにより、例えば承認結果を不正に取得してコンピュータリソースへ不正アクセスするような攻撃を防ぐことができる。
<実施の形態2:まとめ>
以上のように、本実施形態2に係るジョブ実行システム1000は、図8〜図11で説明したグループ構造のうちいずれかを採用することができる。これにより、図8〜図11でそれぞれ説明したようなジョブの特性や承認者の権限などに応じて、適切な承認作業を実施することができる。
<実施の形態3>
実施形態1〜2では、優先度判定部230が承認依頼の優先度を判定する手法として、多数決に係る承認者数が多いものを優先することを説明した。本発明の実施形態3では、優先度を判定するその他の手法について説明する。これらの手法は実施形態1〜2で説明したものに代えて用いることもできるし、ジョブの性質等に応じて判定手法を入れ替えるなどによって併用してもよい。
(優先度の判定手法その1)
同じコンピュータリソースに対して複数のグループから承認依頼が届いている場合、そのコンピュータリソースについては承認結果を早く決定して依頼元へ通知することが望ましいと考えられる。そこで、このようなコンピュータリソースに係る承認依頼は、関連するグループの数が多いほど優先度を高くすることが考えられる。コンピュータリソースに係る承認依頼の件数は、承認依頼DB240のリソースIDフィールド243をキーにしてレコードをグループ化する(例えばSQLのgroup by句を用いる)ことによりカウントできる。
(優先度の判定手法その2)
同じグループに属する複数の演算ジョブから承認依頼が届いている場合、グループが多数のノードで実行されている(多くの計算資源を占有している)と想定される。そこで、承認依頼に係る演算ジョブのうち同じグループに属するものが多いほど、そのグループからの承認依頼の優先度を高くすることが考えられる。グループ毎の承認依頼の件数は、承認依頼DB240のグループIDフィールド241をキーにしてレコードをグループ化することによりカウントできる。グループ化した承認依頼のうち、依頼元が同じものを1つにまとめたとき、レコード数が多いものほど優先度を高く設定する。
(優先度の判定手法その3)
同じグループに係る承認済のコンピュータリソース数が多い場合、そのグループに属するジョブがアクセスする必要があるコンピュータリソース数が多いと考えられる。この場合、そのグループが確保しているコンピュータリソースの数が多いと想定される。そこで、承認依頼に係るコンピュータリソースのうち同じグループに属するものが多いほど、そのグループからの承認依頼の優先度を高くすることが考えられる。グループ毎のコンピュータリソースの件数は、承認依頼DB240のグループIDフィールド241とリソースIDフィールド243をキーにしてレコードをグループ化することによりカウントできる。
<実施の形態4>
以上の実施形態1〜3において、承認サーバ200がコンピュータリソースへのアクセスを許可する旨の承認結果を計算機ノード100へ送信するまでは、計算機ノード100はそのコンピュータリソースを用いたジョブを実行することができないようにしておくことが、セキュリティ対策の上で必要である。これを実現する具体的な手法として、以下のようなものが考えられる。
(承認に関するアクセス制御手法その1)
ジョブが使用するコンピュータリソースがデータファイルである場合、セキュリティを確保するため、そのデータファイルをあらかじめ暗号化しておく。承認サーバ200は、コンピュータリソースに対するアクセスを許可する旨の承認結果を送信する際に、その復号キーを併せて計算機ノード100へ送信する。これにより、適正な承認結果を得るまではそのデータファイルを読み取ることができないので、仮にそのデータファイルへアクセスしてもジョブを実行することはできない。
(承認に関するアクセス制御手法その2)
手法その1と同様の手法として、データファイルに対するアクセス権限を付与することが考えられる。例えばファイルシステム上のアクセス権限設定により、データファイルに対するアクセスをあらかじめ禁止しておく。承認サーバ200は、コンピュータリソースに対するアクセスを許可する旨の承認結果を送信する際に、アクセス権限を付与する情報を併せて計算機ノード100へ送信する。
(承認に関するアクセス制御手法その3)
上記手法その1〜その2は、データベースに対するアクセスにおいても有用である。すなわち、データベース上のデータをあらかじめ暗号化しておくか、またはデータベースに対するアクセス権限を付与することにより、同様の効果を発揮することができる。
(承認に関するアクセス制御手法その4)
ジョブが使用するコンピュータリソースが計算機ノード100の演算リソース(例えばCPUやメモリ)である場合、ファイアウォールの設定などにより、その計算機ノード100に対する通信をあらかじめ遮断しておく。承認サーバ200は、コンピュータリソースに対するアクセスを許可する旨の承認結果を送信する際に、ファイアウォールの設定を変更し、アクセス元の計算機ノード100とアクセス先の計算機ノード100との間の通信を許可する。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
例えば、各コンピュータが備える機能部を入れ替えることもできるし、あるコンピュータ上に集約することもできる。具体的には、いずれかの計算機ノード100上に承認サーバ200の機能部を実装することが考えられる。あるいは、分割ジョブのみを実行し、さらなる分割ジョブや派生ジョブを生成しない計算機ノード100については、ジョブ複製部151とリソース分割部160は必要ないであろう。すなわち、ジョブ実行システム1000全体として、以上の実施形態で説明した各機能部が、分散システムの趣旨を損なわない態様で設けられていればよい。
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
100:計算機ノード、110:ジョブ受付部、120:リソース操作検知部、130:承認制御部、140:グループ管理部、150:ジョブ制御部、160:リソース分割部、200:承認サーバ、210:依頼受付部、220:承認部、230:優先度判定部、240:承認依頼DB、250:承認結果DB、300:承認者端末、410:リソース情報DB、420:分割情報DB、1000:ジョブ実行システム。

Claims (20)

  1. コンピュータリソースを用いて演算ジョブを実行するジョブ制御部と、
    前記コンピュータリソースを用いて前記演算ジョブを実行する可否について承認を依頼しその承認結果を受け取る承認制御部と、
    複数の前記演算ジョブをグループ化したグループを作成するグループ管理部と、
    を備え、
    前記承認制御部は、
    前記グループ管理部が作成した前記グループに含まれる前記演算ジョブに対する前記承認を依頼し、前記承認結果として前記グループに対する承認結果を受け取り、
    前記ジョブ制御部は、
    前記グループに対して実行を許可する旨の前記承認結果を前記承認制御部が受け取った場合は、そのグループに含まれる各前記演算ジョブをそれぞれ実行し、
    前記グループに対して実行を許可しない旨の前記承認結果を前記承認制御部が受け取った場合は、そのグループに含まれる各前記演算ジョブを実行しない
    ことを特徴とするジョブ実行システム。
  2. 前記ジョブ実行システムは、
    前記演算ジョブを複製することによって生成した子ジョブを他の計算機ノードに対して配布して実行させるジョブ複製部を備え、
    前記グループ管理部は、
    前記ジョブ複製部が生成した前記子ジョブをグループ化し、
    前記承認制御部は、
    前記子ジョブを含む前記グループに対する前記承認を依頼する
    ことを特徴とする請求項1記載のジョブ実行システム。
  3. 前記ジョブ実行システムは、
    前記コンピュータリソースを分割して前記他の計算機ノードへ配布するリソース分割部を備え、
    前記ジョブ複製部は、
    前記リソース分割部が前記他の計算機ノードへ配布した前記コンピュータリソースを用いて前記子ジョブを実行するよう前記他の計算機ノードへ指示し、
    前記承認制御部は、
    前記グループ管理部が作成した前記グループに含まれる前記演算ジョブのうち前記リソース分割部が分割する前の前記コンピュータリソースを使用する演算ジョブである分割前演算ジョブに対する前記承認を依頼し、
    前記ジョブ制御部は、
    前記分割前演算ジョブの実行を許可する旨の前記承認結果を前記承認制御部が受け取った場合は、前記グループ管理部が作成した前記グループに含まれる前記演算ジョブのうち前記リソース分割部が分割する前後双方に係る前記コンピュータリソースを使用する演算ジョブをいずれも実行する
    ことを特徴とする請求項2記載のジョブ実行システム。
  4. 前記コンピュータリソースは、暗号化されたデータファイルであり、
    前記承認制御部は、
    前記グループに対して実行を許可する旨の前記承認結果とともに、前記コンピュータリソースを復号するための復号鍵を併せて受け取り、
    前記ジョブ制御部は、
    前記復号鍵を用いて復号した前記コンピュータリソースを用いて前記演算ジョブを実行する
    ことを特徴とする請求項1から3のいずれか1項記載のジョブ実行システム。
  5. 前記ジョブ実行システムは、
    前記演算ジョブが使用する際に承認を要する前記コンピュータリソースのIDを記憶するリソース情報記憶部を備え、
    前記承認制御部は、
    前記演算ジョブが使用する前記コンピュータリソースのIDが前記リソース情報記憶部に格納されている場合は、そのコンピュータリソースを用いて前記演算ジョブを実行する可否について前記承認を依頼し、
    前記ジョブ実行部は、
    前記演算ジョブが使用する前記コンピュータリソースのIDが前記リソース情報記憶部に格納されていない場合は、前記承認制御部が前記承認を依頼していなくとも、そのコンピュータリソースを用いて前記演算ジョブを実行する
    ことを特徴とする請求項1から4のいずれか1項記載のジョブ実行システム。
  6. 前記ジョブ複製部は、前記子ジョブを生成する際に、
    前記演算ジョブが属する前記グループのIDを複製元の前記演算ジョブから複製後の前記子ジョブへ引き継ぎ、または、前記演算ジョブもしくは前記子ジョブが使用する前記コンピュータリソースのIDを前記グループのIDとともに記憶装置へ格納しておき、
    前記承認制御部は、
    前記子ジョブが複製元の前記演算ジョブから引き継いだ前記IDを取得し、または、演算ジョブもしくは前記子ジョブが使用する前記コンピュータリソースに対応する前記グループのIDを前記記憶装置から読み出すことにより、前記演算ジョブまたは前記子ジョブがいずれの前記グループに属するかを特定する
    ことを特徴とする請求項2または3記載のジョブ実行システム。
  7. 前記グループ管理部は、
    同じ前記演算ジョブを複製することによって生成された前記子ジョブおよびその子ジョブから派生した演算ジョブを、同じ前記グループとしてグループ化する
    ことを特徴とする請求項6記載のジョブ実行システム。
  8. 前記グループ管理部は、
    同じ前記演算ジョブを複製することによって生成された前記子ジョブを同じ前記グループとしてグループ化し、前記子ジョブから派生した演算ジョブはそのグループには含めない
    ことを特徴とする請求項6項記載のジョブ実行システム。
  9. 前記グループ管理部は、
    同じ前記演算ジョブを複製することによって生成された前記子ジョブ、その子ジョブから派生した演算ジョブ、および前記子ジョブの複製元となった前記演算ジョブを、同じ前記グループとしてグループ化する
    ことを特徴とする請求項6記載のジョブ実行システム。
  10. 前記ジョブ複製部は、
    上位アプリケーションから投入されたアプリケーションジョブから派生するジョブを前記演算ジョブとして処理し、
    前記グループ管理部は、
    同じ前記演算ジョブを複製することによって生成された前記子ジョブ、その子ジョブから派生した演算ジョブ、前記子ジョブの複製元となった前記演算ジョブ、および前記子ジョブの複製元となった前記演算ジョブの派生元である前記アプリケーションジョブを、同じ前記グループとしてグループ化する
    ことを特徴とする請求項6記載のジョブ実行システム。
  11. 前記ジョブ実行システムは、
    前記承認制御部が発行した前記承認の依頼を承認するか否かを判定しその承認結果を前記承認制御部へ通知する承認部を備える
    ことを特徴とする請求項1から10のいずれか1項記載のジョブ実行システム。
  12. 前記承認部は、
    前記承認制御部が発行した前記承認の依頼を承認する場合であって、かつ前記コンピュータリソースが暗号化されたデータファイルである場合は、前記コンピュータリソースを復号するための復号鍵を、前記承認の依頼に対する承認結果とともに前記承認制御部へ送信する
    ことを特徴とする請求項11記載のジョブ実行システム。
  13. 前記ジョブ実行システムは、
    前記承認部が承認した前記依頼に係る前記グループのIDを格納する承認結果記憶部を備え、
    前記承認部は、
    承認した前記依頼に係る前記グループに含まれている全ての前記演算ジョブが終了するまで、前記承認結果記憶部が格納している前記グループのIDを前記承認結果記憶部上に保持しておき、
    前記承認結果記憶部上にIDを保持している前記グループと同じ前記グループについて前記依頼を受け取ると、その依頼を承認するか否かを判定することなく、承認した旨の承認結果を前記承認制御部へ通知する
    ことを特徴とする請求項11または12記載のジョブ実行システム。
  14. 前記グループ管理部は、
    前記グループに含まれる全ての前記演算ジョブが終了するとそのグループを削除し、
    前記承認部は、
    前記グループが削除された後、前記承認結果記憶部が保持している前記承認結果のうち削除された前記グループに係るものを削除する
    ことを特徴とする請求項13記載のジョブ実行システム。
  15. 前記ジョブ実行システムは、
    前記承認部が前記承認を実施すべき順序を規定する承認優先度を判定する優先度判定部を備え、
    前記優先度判定部は、
    前記依頼の数が多い前記グループに係る前記承認ほど前記承認優先度を高くする
    ことを特徴とする請求項11から14のいずれか1項記載のジョブ実行システム。
  16. 前記ジョブ実行システムは、
    前記承認部が前記承認を実施する順序を規定する承認優先度を判定する優先度判定部を備え、
    前記承認部は、
    複数の承認者から受け取った前記依頼に対する承認結果に基づき前記承認の依頼を承認するか否かを判定し、
    前記優先度判定部は、
    前記承認部が前記承認の依頼を承認するか否かを判定するために必要になる前記承認者の人数が多い前記承認ほど前記承認優先度を高くする
    ことを特徴とする請求項11から15のいずれか1項記載のジョブ実行システム。
  17. 前記ジョブ実行システムは、
    前記承認部が前記承認を実施すべき順序を規定する承認優先度を判定する優先度判定部を備え、
    前記優先度判定部は、
    前記承認依頼に係る前記演算ジョブが多く含まれている前記グループに係る前記承認ほど前記承認優先度を高くする
    ことを特徴とする請求項11から16のいずれか1項記載のジョブ実行システム。
  18. 前記ジョブ実行システムは、
    前記承認部が前記承認を実施すべき順序を規定する承認優先度を判定する優先度判定部を備え、
    前記優先度判定部は、
    前記グループに含まれる前記演算ジョブが使用する前記コンピュータリソースのうち前記承認が済んでいるものが多い前記グループに係る前記承認ほど前記承認優先度を高くする
    ことを特徴とする請求項11から17のいずれか1項記載のジョブ実行システム。
  19. コンピュータリソースを用いて演算ジョブを実行するジョブ制御ステップと、
    前記コンピュータリソースを用いて前記演算ジョブを実行する可否について承認を依頼しその承認結果を受け取る承認制御ステップと、
    複数の前記演算ジョブをグループ化したグループを作成するグループ管理ステップと、
    をコンピュータに実行させ、
    前記承認制御ステップでは、前記コンピュータに、
    前記グループ管理ステップで作成した前記グループに含まれる前記演算ジョブに対する前記承認を依頼させ、前記承認結果として前記グループに対する承認結果を受け取らせ、
    前記ジョブ制御ステップでは、前記コンピュータに、
    前記グループに対して実行を許可する旨の前記承認結果を前記承認制御ステップで受け取った場合は、そのグループに含まれる各前記演算ジョブをそれぞれ実行させ、
    前記グループに対して実行を許可しない旨の前記承認結果を前記承認制御ステップで受け取った場合は、そのグループに含まれる各前記演算ジョブを実行させない
    ことを特徴とするジョブ実行プログラム。
  20. コンピュータリソースを用いて演算ジョブを実行するジョブ制御ステップと、
    前記コンピュータリソースを用いて前記演算ジョブを実行する可否について承認を依頼しその承認結果を受け取る承認制御ステップと、
    複数の前記演算ジョブをグループ化したグループを作成するグループ管理ステップと、
    を有し、
    前記承認制御ステップでは、
    前記グループ管理ステップで作成した前記グループに含まれる前記演算ジョブに対する前記承認を依頼し、前記承認結果として前記グループに対する承認結果を受け取り、
    前記ジョブ制御ステップでは、
    前記グループに対して実行を許可する旨の前記承認結果を前記承認制御ステップで受け取った場合は、そのグループに含まれる各前記演算ジョブをそれぞれ実行し、
    前記グループに対して実行を許可しない旨の前記承認結果を前記承認制御ステップで受け取った場合は、そのグループに含まれる各前記演算ジョブを実行しない
    ことを特徴とするジョブ実行方法。
JP2014515427A 2012-05-17 2012-05-17 ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法 Expired - Fee Related JP5965999B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/062644 WO2013171879A1 (ja) 2012-05-17 2012-05-17 ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法

Publications (2)

Publication Number Publication Date
JPWO2013171879A1 true JPWO2013171879A1 (ja) 2016-01-07
JP5965999B2 JP5965999B2 (ja) 2016-08-10

Family

ID=49583321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515427A Expired - Fee Related JP5965999B2 (ja) 2012-05-17 2012-05-17 ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法

Country Status (3)

Country Link
US (1) US9836711B2 (ja)
JP (1) JP5965999B2 (ja)
WO (1) WO2013171879A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015017787A2 (en) * 2013-08-01 2015-02-05 Visa International Service Association Homomorphic database operations apparatuses, methods and systems
US10514993B2 (en) 2017-02-14 2019-12-24 Google Llc Analyzing large-scale data processing jobs
US10713090B2 (en) * 2018-05-17 2020-07-14 American Express Travel Related Services Company, Inc. Context aware prioritization in a distributed environment using tiered queue allocation
US10885537B2 (en) * 2018-07-31 2021-01-05 Visa International Service Association System and method for determining real-time optimal item pricing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184535A1 (en) * 2001-05-30 2002-12-05 Farah Moaven Method and system for accessing a resource in a computing system
JP2004302741A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd グリッドコンピューティングを用いたシステムにおけるリソース提供方法,そのシステムにおける監視装置,その監視装置用プログラムおよびそのシステムにおけるリソース提供端末用プログラム
WO2007105512A1 (ja) * 2006-03-10 2007-09-20 Matsushita Electric Industrial Co., Ltd. 回送データ管理システム
JP2007264794A (ja) * 2006-03-27 2007-10-11 Fujitsu Ltd 並列分散処理プログラム及び並列分散処理システム
JP2009059293A (ja) * 2007-09-03 2009-03-19 Hitachi Software Eng Co Ltd ジョブ管理システム
JP2009230357A (ja) * 2008-03-21 2009-10-08 Hitachi Software Eng Co Ltd ジョブ運用管理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3982168B2 (ja) * 2000-11-13 2007-09-26 コクヨ株式会社 購買管理システム、購買管理方法、及び購買管理用プログラム
US7073174B2 (en) 2001-06-05 2006-07-04 Hewlett-Packard Development Company, L.P. Use of job tickets to secure resource access
JP2005352697A (ja) * 2004-06-09 2005-12-22 Canon Inc コンピュータシステム、及び該システムにおけるジョブの割り当て方法
JP4696960B2 (ja) * 2006-02-22 2011-06-08 日本電気株式会社 ジョブ定義確認システム、その方法およびプログラム
US8413135B2 (en) * 2006-10-30 2013-04-02 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for controlling software application installations
US8069251B2 (en) * 2007-06-01 2011-11-29 Adobe Systems Incorporated System and/or method for client-driven server load distribution
JP2009230257A (ja) * 2008-03-19 2009-10-08 Sky Co Ltd 承認システムおよび承認プログラム
US8719801B2 (en) * 2008-06-25 2014-05-06 Microsoft Corporation Timing analysis of concurrent programs
US7600253B1 (en) * 2008-08-21 2009-10-06 International Business Machines Corporation Entity correlation service
JP4939588B2 (ja) * 2009-10-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション クラウド・コンピューティングにおいて、コンピューティング・サービスを法的監査要件が満たされるように個々のジョブに分割し、個々のジョブの分散実行計画をユーザに提示するための方法、コンピュータ・プログラム及び装置
CN102118261B (zh) * 2009-12-30 2014-11-26 上海中兴软件有限责任公司 一种数据采集的方法、数据采集装置及网管设备
US9311612B2 (en) * 2010-12-22 2016-04-12 Sap Se System and method for improved service oriented architecture
US8982384B2 (en) * 2011-02-18 2015-03-17 Xerox Corporation Methods and systems for brokering printing device capacity
EP2498488A1 (en) * 2011-03-09 2012-09-12 Thomson Licensing Method and system digital for processing digital content according to a workflow

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184535A1 (en) * 2001-05-30 2002-12-05 Farah Moaven Method and system for accessing a resource in a computing system
JP2004302741A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd グリッドコンピューティングを用いたシステムにおけるリソース提供方法,そのシステムにおける監視装置,その監視装置用プログラムおよびそのシステムにおけるリソース提供端末用プログラム
WO2007105512A1 (ja) * 2006-03-10 2007-09-20 Matsushita Electric Industrial Co., Ltd. 回送データ管理システム
JP2007264794A (ja) * 2006-03-27 2007-10-11 Fujitsu Ltd 並列分散処理プログラム及び並列分散処理システム
JP2009059293A (ja) * 2007-09-03 2009-03-19 Hitachi Software Eng Co Ltd ジョブ管理システム
JP2009230357A (ja) * 2008-03-21 2009-10-08 Hitachi Software Eng Co Ltd ジョブ運用管理システム

Also Published As

Publication number Publication date
US20150127413A1 (en) 2015-05-07
US9836711B2 (en) 2017-12-05
JP5965999B2 (ja) 2016-08-10
WO2013171879A1 (ja) 2013-11-21

Similar Documents

Publication Publication Date Title
US11334562B2 (en) Blockchain based data management system and method thereof
US7571473B1 (en) Identity management system and method
CN113711536A (zh) 从区块链网络中提取数据
EP2585970B1 (en) Online service access controls using scale out directory features
JP5858796B2 (ja) 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法
US7330957B2 (en) User-based allocation and deallocation of storage in a storage system
US8990896B2 (en) Extensible mechanism for securing objects using claims
CN110032571A (zh) 业务流程处理方法、装置、存储介质及计算设备
US20020016921A1 (en) System and method for ensuring secure transfer of a document from a client of a network to a printer
US20110214165A1 (en) Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data
US9916308B2 (en) Information processing system, document managing server, document managing method, and storage medium
US20220043902A1 (en) Verifiable labels for mandatory access control
KR102376254B1 (ko) 분산 식별자 관리 방법 및 장치
JP5965999B2 (ja) ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法
CN115552441A (zh) 低信任特权访问管理
JP2019091104A (ja) 連動型サービス提供システム、その連動管理システム、及びそれらのシステムに用いるコンピュータプログラム
US20100185451A1 (en) Business-responsibility-centric identity management
CN106407832B (zh) 一种用于数据访问控制的方法及设备
US20070088931A1 (en) Method and apparatus to authorize cross-partition commands
CN112425119A (zh) 控制方法、服务器、程序及数据结构
US20230368185A1 (en) Public trust ledger smart contract token transfer in a database system
JP3756457B2 (ja) アクセス制御付ディレクトリ機能装置及びプログラム
US20230050048A1 (en) Isolating And Reinstating Nodes In A Distributed Ledger Using Proof Of Innocence
US20230088787A1 (en) User information management system, user information management method, user agent and program
JP7327781B2 (ja) マッチング支援装置、マッチング支援方法、コンピュータプログラム及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160201

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: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160704

R151 Written notification of patent or utility model registration

Ref document number: 5965999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees