JP5880316B2 - プログラム、プロセス実行方法およびプロセス実行コンピュータ - Google Patents

プログラム、プロセス実行方法およびプロセス実行コンピュータ Download PDF

Info

Publication number
JP5880316B2
JP5880316B2 JP2012148950A JP2012148950A JP5880316B2 JP 5880316 B2 JP5880316 B2 JP 5880316B2 JP 2012148950 A JP2012148950 A JP 2012148950A JP 2012148950 A JP2012148950 A JP 2012148950A JP 5880316 B2 JP5880316 B2 JP 5880316B2
Authority
JP
Japan
Prior art keywords
activity
exclusive
executed
transition
mode
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.)
Active
Application number
JP2012148950A
Other languages
English (en)
Other versions
JP2014010786A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012148950A priority Critical patent/JP5880316B2/ja
Priority to US13/906,565 priority patent/US9596133B2/en
Priority to EP13173350.3A priority patent/EP2682867A3/en
Publication of JP2014010786A publication Critical patent/JP2014010786A/ja
Application granted granted Critical
Publication of JP5880316B2 publication Critical patent/JP5880316B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本技術は、コンピュータを操作する運用プロセスの実行技術に関する。
データセンタにおいて、運用対象の装置であるサーバ装置やノード装置を自動的に管理するために、プロセス実行サーバにより運用プロセスを実行する技術がある。運用プロセスは、運用対象のシステムを操作するアクティビティのフローとして定義される。運用プロセスの設計者は、操作処理を行うプログラムである部品を用いて、アクティビティのフローを設定することによって運用プロセスを生成する。
このように個別にアクティビティのフローを設定した複数の運用プロセスを実行して運用対象のシステムを管理する場合に、異なる運用プロセスにより共通の運用対象の装置を操作すると、想定通りの結果が得られないことがある。
図1に、運用プロセス間の割り込みの例を示す。上段の運用プロセスは、サーバを起動し、そのサーバによるサービスXを起動し、更にそのサーバによるサービスYを起動するように、101から105のアクティビティのフローを定義している。他方、下段の運用プロセスは、同じサーバにおけるネットワークの設定を変更し、そのサーバを再起動するように、107と109のアクティビティのフローを定義している。
同一サーバに対する操作を異なる運用プロセスで並列して実行すると、図1のように一方の運用プロセスによる操作が他方の運用プロセスの操作に割り込むことがある。上段の運用プロセスは、サービスXが動作していることを前提として、サービスYを動作させることを予定しているが、サービスXの起動のアクティビティ103による操作とサービスYの起動のアクティビティ105による操作の間に、下段の運用プロセスによるサーバの再起動のアクティビティ109による操作が割り込むと、サービスXが動作していない状態で、サービスYが起動されることになり、サービスYは正常に動作しなくなる。
また、上記のような複数の運用プロセスの相互作用に係る問題の他に、運用時の人的な判断に伴う問題もある。図2に、承認を含む運用プロセスの例を示す。この運用プロセスは、管理者に対して承認依頼を発行し、その回答が受諾である場合にサーバにおけるネットワークの設定を変更し、そのサーバを再起動し、他方その回答が拒否の場合には中断するように、201から205のアクティビティのフローを定義している。このように随時管理者の判断を得るように運用プロセスを設定することによって、状況に応じて適切な運用が図られる。
しかし、頻繁に人的な判断を行う運用では、自動運用の実効性が低下する。そのため、承認依頼のアクティビティ201の設定に関しては、安全性と実効性の両面を考慮しなければならない。仮に、図2の例でネットワークの設定変更203とサーバの再起動205が安全性を阻害しないものであるならば、承認依頼を省略するということも想定できる。このように、コンピュータを操作する運用プロセスの実行には困難を伴う。
国際公開第2006/082732号 特開2006−163776号公報
一側面では、本発明は、複数の運用プロセスによりコンピュータを操作する環境において運用プロセスを自動的に実行できるようにすることを目的とする。
一態様のプロセス実行方法は、ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、実行すべきアクティビティが当該アクティビティにより特定される装置に対して上記順序のうち初回の操作を行うか否かを判定し、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得する処理とを含む。
一態様によれば、複数の運用プロセスによりコンピュータを操作する環境において運用プロセスを自動的に実行できる。
図1は、運用プロセス間の割り込みの例を示す図である。 図2は、承認を含む運用プロセスの例を示す図である。 図3は、自動運用プロセスを用いるシステムの構成例を示す図である。 図4は、運用プロセスの登録に関係するプロセス登録端末とプロセス実行サーバの構成例を示す図である。 図5は、部品テーブルの例を示す図である。 図6は、操作対象テーブルの例を示す図である。 図7は、運用プロセスの例を示す図である。 図8は、操作対象を設定するウインドウの例を示す図である。 図9は、運用プロセス登録処理フローの例を示す図である。 図10は、アクティビティ追加処理フローの例を示す図である。 図11は、操作対象設定処理フローの例を示す図である。 図12は、フロー設定処理フローの例を示す図である。 図13は、プロセス定義の例を示す図である。 図14は、プロセス定義生成処理フローの例を示す図である。 図15は、排他アクセス権の取得と解放を行う遷移の例を示す図である。 図16は、排他アクセス権の取得と解放を行う遷移の例を示す図である。 図17は、排他範囲の例を示す図である。 図18は、排他範囲の例を示す図である。 図19は、承認を行う遷移の例を示す図である。 図20は、承認を行わない遷移の例を示す図である。 図21は、承認を行わない遷移の例を示す図である。 図22は、運用プロセスの制御に係るプロセス実行サーバの構成例を示す図である。 図23は、運用プロセスの制御フローの例を示す図である。 図24は、遷移ルートテーブルの例を示す図である。 図25は、運用プロセスのモデルを示す図である。 図26は、遷移ルートテーブルのモデルを示す図である。 図27は、初回操作判定処理フローの例を示す図である。 図28は、排他方式を占有モードと判定する例を示す図である。 図29は、排他方式を共有モードと判定する例を示す図である。 図30は、排他方式判定処理フローの例を示す図である。 図31は、ルート別判定結果が占有モードとなる例を示す図である。 図32は、ルート別判定結果が占有モードとなる例を示す図である。 図33は、ルート別判定結果が共有モードとなる例を示す図である。 図34は、ルート別判定結果が共有モードとなる例を示す図である。 図35は、ルート別判定処理フローの例を示す図である。 図36は、初回操作且つ占有モードにおける制御フローの例を示す図である。 図37は、承認判定処理フローの例を示す図である。 図38は、排他アクセス権を解放する例を示す図である。 図39は、排他アクセス権を解放しない例を示す図である。 図40は、解放制御処理フローの例を示す図である。 図41は、解放可であると判定する例を示す図である。 図42は、解放可であると判定する例を示す図である。 図43は、解放不可であると判定する例を示す図である。 図44は、解放可であると判定する例を示す図である。 図45は、解放可であると判定する例を示す図である。 図46は、解放不可であると判定する例を示す図である。 図47は、解放可否判定処理フローの例を示す図である。 図48は、初回操作且つ共有モードにおける制御フローの例を示す図である。 図49は、初回操作でない場合の制御フローの例を示す図である。 図50は、遷移ルート毎の排他範囲の例を示す図である。 図51は、第2の実施の形態に係る運用プロセスの例を示す図である。 図52は、操作対象受付ウインドウの例を示す図である。 図53は、第2の実施の形態に係るプロセス定義の例を示す図である。 図54は、第2の実施の形態に係る遷移ルートの例を示す図である。 図55は、第2の実施の形態に係る遷移ルート毎の排他範囲の例を示す図である。 図56は、コンピュータの構成の例を示す図である。
[実施の形態1]
図3に、自動運用プロセスを用いるシステムの構成例を示す。プロセス登録端末301とプロセス実行サーバ303は、ネットワークを介して接続されている。プロセス登録端末301は、設計者が運用プロセスを生成し、登録するために用いる端末である。プロセス実行サーバ303は、登録された運用プロセスを実行するサーバである。
更に、プロセス実行サーバ303は、操作対象システム305と、管理者端末307とネットワークを介して接続されている。操作対象システム305は、運用プロセスにより操作されるシステムである。操作対象システム305は、一又は複数の操作対象の装置を含んでいる。操作対象の装置は、例えばサーバ装置あるいはノード装置である。図3では、サーバAと、サーバBと、サーバCと、ノードAと、ノードBとを含む例を示している。
管理者端末307は、操作対象の装置を管理する管理者が用いる端末である。
プロセス登録端末301とプロセス実行サーバ303の間のネットワークと、プロセス登録端末301と操作対象システム305と管理者端末307の間のネットワークは、同一のネットワークでも、異なるネットワークであってよい。
以下、運用プロセスの登録について説明する。図4に、運用プロセスの登録に関係するプロセス登録端末301とプロセス実行サーバ303の構成例を示す。プロセス登録端末301は、格納部401と、編集部407と、送信部409とを有している。格納部401は、運用プロセスの生成に用いる情報を記憶している。格納部401は、操作対象テーブル403と、部品テーブル405とを有している。
操作対象テーブル403は、操作対象システム305に含まれる運用対象の装置を管理するテーブルである。部品テーブル405は、運用対象の装置への操作を処理するプログラムである部品を管理するテーブルである。編集部407は、運用プロセスを生成するように構成されている。送信部409は、運用プロセスをプロセス実行サーバ303へ送信するように構成さている。
プロセス実行サーバ303は、受信部411と、格納部413とを有している。受信部411は、転送された運用プロセスを受信するように構成されている。格納部413は、受信した運用プロセスを格納できるように構成されている。
図5に、部品テーブル405の例を示す。部品テーブル405は、部品毎にレコードを設けている。レコードは、部品IDと、操作内容(部品名)と、操作対象の種別と、部品属性との項目を有している。部品IDは、部品の識別情報である。操作内容は、部品による装置への操作の内容を示している。この例では、この項目は部品名としても用いられる。操作対象の種別は、部品による操作対象となる装置の種別を示している。但し、例えばメール送信のように、操作対象となる装置がない処理については、操作対象無しと設定されている。部品属性は、部品で処理する操作に適した排他方式を示している。操作対象がある部品の場合には、部品属性は占有タイプあるいは共有タイプであり、操作対象がない部品の場合には、部品属性は排他不要となる。
図5の例で、部品IDがP1である部品は、種別がサーバである装置を占有した状態で仮想サーバとして起動する操作を行うプログラムであることを示している。また、部品IDがP6である部品は、操作対象の装置は存在せず、つまりサーバ装置あるいはノード装置への操作は行わず、メールの送信を行うプログラムであることを示している。
図6は、操作対象テーブル403の例を示す図である。操作対象テーブル403は、操作対象の装置毎にレコードを設けている。レコードは、装置名と、装置種別と、管理者名と、承認の要否との項目を有している。装置名は、装置を識別する名称である。装置種別は、装置の種別である。この例では、サーバ装置あるいはノード装置の別を示している。管理者名は、装置に対する操作を承認する権限を有する管理者を示している。承認の要否は、装置に対する操作に承認が要るか否かを示している。
図7に、生成される運用プロセスの例を示す。この図は、編集部407により生成された運用プロセスが表示されているイメージを示している。701〜709は、運用プロセスを構成するアクティビティを示している。矢印は、遷移フローを示している。また、遷移が分岐する場合には、分岐の条件を表示している。
例えば、仮想サーバ停止のアクティビティ701の実行結果が成功の場合には、仮想サーバ設定変更のアクティビティ702の実行に遷移し、仮想サーバ停止のアクティビティ701の実行結果が失敗の場合には、メール送信のアクティビティ709の実行に遷移することを示している。尚、アクティビティ709では、エラーを通知するメールを送信することを意図している。仮想サーバ設定変更のアクティビティ702の実行結果が成功であり、ステータスが起動必要である場合には、仮想サーバ起動のアクティビティ703の実行に遷移し、仮想サーバ設定変更のアクティビティ702の実行結果が成功であり、ステータスが起動不要である場合には、サーバ情報取得のアクティビティ704の実行に遷移することを示している。また、仮想サーバ設定変更のアクティビティ702の実行結果が失敗の場合には、メール送信のアクティビティ709の実行に遷移することを示している。他のアクティビティも実行結果により遷移先が分岐するように設定されている。但し、例えばファイル添付メール送信のアクティビティ706のように分岐しない場合もある。
尚、アクティビティ705のファイル出力は、アクティビティ704でサーバから取得した情報をファイルとして出力することを意図している。アクティビティ708は、ファイルを添付せずに完了を通知するメールを送信することを意図している。アクティビティ706は、アクティビティ705で出力されたファイルを添付して完了を通知するメールを送信することを意図している。アクティビティ707は、サーバにあるファイルを削除することを意図している。
また、アクティビティには操作対象の装置が設定される。図8は、操作対象を設定するウインドウの例を示す図である。例えば、アクティビティをクリックすることにより、ウインドウが表示される。ウインドウは、操作対象の装置を受け付けるように構成されている。ウインドウは、操作対象の装置候補として表示し、候補の中から選択させるようにしてもよい。
編集部407は、設計者の指示により、アクティビティを追加し、操作対象を設定し、フローを設定し、運用プロセスを生成する。図9に、運用プロセス登録の処理フローの例を示す。編集部407は、設計者の指示を受け付けるように動作する(S901)。編集部407は、指示の候補をメニューとして表示し、メニューから指示を選択させるようにしてもよい。編集部407は、受け付けた指示がアクティビティの追加であるか否かを判定する(S903)。受け付けた指示がアクティビティの追加であると判定した場合には、編集部407は、アクティビティ追加処理を行う(S905)。
図10に、アクティビティ追加処理のフローの例を示す。編集部407は、部品の選択を受け付ける(S1001)。例えば、編集部407は部品テーブル405に含まれる部品名を候補として表示し、部品を選択させるように動作する。次に、編集部407は、表示位置を受け付ける(S1003)。例えば、編集部407はクリックにより表示位置を受け付ける。編集部407は、アクティビティ番号を割り当てる(S1005)。例えば、編集部407は追加された順番にアクティビティ番号を付ける。編集部407は、受け付けた表示位置にアクティビティのアイコンを表示する(S1007)。更に、編集部407はアイコン中に部品名を表示する。
図9のS903に戻って、受け付けた指示がアクティビティの追加でないと判定した場合には、編集部407は、受け付けた指示が操作対象の設定であるか否かを判定する(S907)。受け付けた指示が操作対象の設定であると判定した場合には、編集部407は、操作対象設定処理を行う(S909)。
図11に、操作対象設定処理のフローの例を示す。編集部407は、操作対象を設定するアクティビティを特定する(S1101)。例えば、アクティビティのアイコンをクリックすると、図8に示したウインドウが表示される。編集部407は、そのウインドウで操作対象の装置を受け付ける(S1103)。例えば、操作対象テーブル403に含まれる装置のうち操作対象の種別と一致する装置を候補として表示し、候補の装置の中から選択させるようにする。
図9のS907に戻って、受け付けた指示が操作対象の設定でないと判定した場合には、編集部407は、受け付けた指示がフローの設定であるか否かを判定する(S911)。受け付けた指示がフローの設定であると判定した場合には、編集部407は、フロー設定処理を行う(S913)。
図12に、フロー設定処理のフローの例を示す。編集部407は、遷移元のアクティビティを特定する(S1201)。編集部407は、例えばアクティビティのアイコンがクリックされることにより、遷移元のアクティビティを特定する。次に、編集部407は、遷移条件を受け付ける(S1203)。アクティビティの部品の操作内容に応じて予め遷移条件の候補を定めておき、編集部407は候補の中から選択させるようにしてもよい。編集部407は、遷移先のアクティビティを特定する(S1205)。編集部407は、例えばアクティビティのアイコンがクリックされることにより、遷移先のアクティビティを特定する。編集部407は、遷移元のアクティビティから遷移先のアクティビティへの矢印を表示する(S1207)。編集部407は、遷移条件を受け付けている場合には、矢印の付近に遷移条件を表示する(S1209)。
図9のS911に戻って、受け付けた指示がフローの設定でないと判定した場合には、編集部407は、受け付けた指示が運用プロセスの登録であるか否かを判定する(S915)。受け付けた指示が運用プロセスの登録であると判定した場合には、編集部407は、プロセス定義生成処理を行う(S917)。受け付けた指示が運用プロセスの登録でないと判定した場合には、S901に戻って、S903からS915の処理を繰り返す。
ここで、登録されるプロセス定義の構成について説明する。図13に、プロセス定義の例を示す。プロセス定義は、アクティビティ毎にレコードを有している。レコードは、アクティビティ番号と、部品IDと、操作対象と、遷移条件と、遷移先アクティビティ番号の項目を有している。アクティビティ番号は、運用プロセス中のアクティビティを識別する情報である。部品IDは、アクティビティで処理する部品を示している。操作対象は、部品により操作する装置を示している。操作対象は、部品であるプログラムを実行する際のパラメータとなる。遷移条件は、遷移する条件を示している。遷移先アクティビティ番号は、遷移する先のアクティビティを示している。
プロセス定義は、これらの項目の他に、部品IDに対応する部品属性を保持するようにしてもよい。また、プロセス定義は、操作対象に対応する管理者名と承認の要否を保持するようにしてもよい。
図14に、プロセス定義生成処理のフローの例を示す。編集部407は、追加されたアクティビティ毎に以下の処理を繰り返す(S1401)。編集部407は、まず新しいレコードを設ける(S1403)。編集部407は、S1005で割り当てたアクティビティ番号を設定する(S1405)。編集部407は、S1001で受け付けた部品のIDを設定する(S1407)。編集部407は、部品IDに対応する部品属性をレコードに設定するようにしてもよい。編集部407は、S1103で受け付けた操作対象を設定する(S1409)。編集部407は、操作対象に対応する管理者名と承認の要否をレコードに設定するようにしてもよい。編集部407は、S1203で受け付けた遷移条件とS1205で特定した遷移先アクティビティ番号を設定する(S1411)。遷移条件と遷移先アクティビティ番号の組み合わせが複数ある場合には、編集部407は、それらを設定する。編集部407は、すべてのアクティビティについて処理したか否かを判定する(S1413)。処理していないアクティビティがあると判定した場合には、S1401に戻って、S1403からS1411までの処理を繰り返す。すべてのアクティビティについて処理したと判定した場合には処理を終え、図9のS919に戻る。
図9の処理に戻って、送信部409は、プロセス定義をプロセス実行サーバ303に送信する(S919)。
プロセス実行サーバ303の受信部411は、プロセス定義を受信し、格納部413に格納するように動作する。格納部413は、複数の運用プロセスを格納できるように構成されている。以上で、運用プロセスの登録についての説明を終える。
続いて、運用プロセスの実行について説明する。プロセス実行サーバ303は、登録された複数の運用プロセスを同時に実行することができるように構成されている。
動作の説明の前に、運用プロセスの実行に伴う排他アクセス権の取得と解放の概要について説明する。図15は、排他アクセス権の取得と解放を行う遷移の例を示す図である。1501から1509はアクティビティであり、これらのアクティビティを含む始端Sから終端Eまでの流れが遷移ルートを表している。この図では、説明の便宜のために、部品名の代わりにアクティビティの部品属性を示している。図中の占有/共有の表記は、占有モードあるいは共有モードであることを意味している。排他範囲は、同一の操作対象への操作を行う範囲である。ある装置に関する排他範囲は、運用プロセスのうちその装置に対する初回の操作から始まる。この例は、サーバAに対する排他範囲を示している。サーバAに対する排他範囲は、アクティビティ1505から始まり、アクティビティ1509で終わっている。プロセス実行サーバ303は、排他範囲の始めのアクティビティ1505の実行の前に、排他アクセス権を取得し、排他範囲の終わりのアクティビティ1509の実行の後に、排他アクセス権を解放する。また、排他範囲内のアクティビティで処理する部品属性は、占有タイプあるいは共有タイプである。この例のように排他範囲内のアクティビティの部品属性として占有タイプを含む場合には、排他方式を占有モードとする。一部の操作における占有状態を確保するために、全体として占有モードで排他アクセス権を取得する。
図16のように、排他範囲内のアクティビティの部品属性として共有タイプのみを含み、且つ占有タイプを含ない場合には、排他方式を共有モードとする。占有状態を前提とする操作がない場合は、全体として共有モードで排他アクセス権を取得する。
図17に示すように次のアクティビティが他の操作対象を操作する場合には、その前に排他範囲を終えるようにする。
また、図18に示すように、操作対象が無いアクティビティを挟んでいる場合には、排他範囲を継続するようにしてもよい。操作対象への一連の操作の中に、メールの送信のように操作対象が無いアクティビティが混在することがある。
次に、承認要否の判定の概要についても説明する。プロセス実行サーバ303は、排他範囲の始めのアクティビティで承認要否の判定を行う。その際、プロセス実行サーバ303は、排他範囲で操作する装置の属性によって承認の要否を判定する。図6に示した通り、操作対象テーブル403は装置の属性として承認の要否を保持している。サーバAについて承認の要否は要であるので、プロセス実行サーバ303は図19に示すようにサーバAを操作する排他範囲の始めに承認の手続きを行う。特に、排他範囲内のアクティビティの部品属性として占有タイプを含む場合に、承認の手続きを行う。
例えば、サーバBについて承認の要否は不要であるので、プロセス実行サーバ303は図20に示すようにサーバBを操作する排他範囲に関して承認の手続きを行わない。
また図21に示すように、排他範囲内のアクティビティの部品属性が共有タイプのみの場合にも承認の手続きを行わない。このような場合は、その一連の操作の重要性は低いと想定されるからである。
図22は、運用プロセスの制御に係るプロセス実行サーバの構成例を示す図である。プロセス実行サーバ303は、格納部2201と、制御部2211と、展開部2213と、実行部2215と、記憶部2217と、判定部2219と、承認部2221と、中断部2223と、取得部2225と、解放部2227とを有している。
格納部2201は、部品テーブル2203と、操作対象テーブル2205と、プロセス定義2207と、遷移ルートテーブル2209とを格納している。部品テーブル2203は、プロセス登録端末301の部品テーブル405と同様に、例えば図5の構成を有している。操作対象テーブル2205は、プロセス登録端末301の操作対象テーブル403と同様に、例えば図6の構成を有している。但し、プロセス定義2207の中に、部品属性、管理者名、承認の要否などの情報が含まれている場合には、部品テーブル2203と操作対象テーブル2205は省くことができる。
プロセス定義2207は、プロセス登録端末301から受信したデータである。遷移ルートテーブル2209は、プロセス定義2207を展開したデータである。
制御部2211は、実行するアクティビティを特定するなどアクティビティ実行処理の全体を制御するように構成されている。展開部2213は、プロセス定義2207を遷移ルートテーブル2209に展開するように構成されている。実行部2215は、アクティビティを実行するように構成されている。具体的には、アクティビティにより特定される部品であるプログラムを実行することにより、アクティビティにより特定される操作対象の装置を操作する。実行部2215は、プログラムである部品も備えている。実行部2215は、更にアクティビティの実行履歴を記憶部2217に記憶させるように動作する。
記憶部2217は、アクティビティの実行履歴と中断結果を記憶するように構成されている。判定部2219は、排他方式などの判定を行うように構成されている。
承認部2221は、承認の要否を判定し、必要に応じて承認依頼し、実行の可否を決定するように構成されている。中断部2223は、アクティビティ実行の中断に伴う処理を行うように構成されている。取得部2225は、操作対象の装置について排他アクセス権を取得するように構成されている。具体的には、例えば操作対象の装置に対して排他アクセス権を要求する方法の他、プロセス実行サーバ303内部で排他アクセス権を管理する管理部を設け、管理部に対して排他アクセス権を要求する方法などが考えられる。
解放部2227は、状況に応じて、操作対象の装置についての排他アクセス権を解放するように構成されている。具体的には、例えば操作対象の装置に対して排他アクセス権の放棄を通知する方法の他、プロセス実行サーバ303内部で排他アクセス権を管理する管理部を設け、管理部に対して排他アクセス権の放棄を通知する方法が考えられる。
図23は、運用プロセスの制御フローの例を示す図である。展開部2213は、遷移ルートを展開する(S2301)。具体的には、展開部2213はプロセス定義2207からアクティビティを読み取り遷移先のアクティビティを特定して、遷移ルートを生成する。遷移先に分岐が含まれる場合には、それぞれの分岐に従ってすべての遷移ルートを特定する。
図24に、遷移ルートテーブル2209の例を示す。この図は、図7に示した運用プロセスの遷移ルートを示している。遷移ルートテーブル2209は、遷移ルート毎にアクティビティと終端を遷移する順に並べている。
ここで、説明を単純化するための運用プロセスのモデルを示す。図25は、運用プロセスのモデルを示す図である。A1からA7は、アクティビティを示している。A1とA4は、分岐するアクティビティの例を示している。A2とA3とA5とA6とA7は、分岐しないアクティビティの例を示している。Sは始端を示し、Eは終端を示している。
図26に、図25の運用プロセスを展開した遷移ルートテーブル2209のモデルを示す。第1遷移ルートから第4遷移ルートまでの4つの遷移ルートが展開されている。この図のように、遷移ルートテーブル2209は遷移ルート毎にアクティビティと終端を遷移する順に並べている。
図23に戻って、制御部2211は、プロセス定義2207から順次実行すべきアクティビティを特定する(S2303)。具体的には、制御部2211は、最初のアクティビティから始めて順に遷移先のアクティビティを特定する。遷移先が分岐する場合、つまり遷移先のアクティビティが複数ある場合には、遷移条件を満たす方の遷移先のアクティビティを実行すべきアクティビティとする。例えば、図7と図13に示した運用プロセスの例では、最初にアクティビティ番号A1のアクティビティ701を実行すべきアクティビティとして特定し、次に、アクティビティ701の実行結果が成功の場合には、アクティビティ番号A2のアクティビティ702を実行すべきアクティビティとして特定し、アクティビティ701の実行結果が失敗の場合には、アクティビティ番号A9のアクティビティ709を実行すべきアクティビティとして特定する。
判定部2219は、終端であるか否かを判定する(S2305)。終端であると判定した場合には、制御部2211は処理を終える。例えば、図25と図26に示した運用プロセスのモデルで、アクティビティ番号A7のアクティビティを実行した後は、次に実行すべきアクティビティに相当するのは終端Eであり、これ以降に実行すべきアクティビティがないので処理を終える。
終端でないと判定した場合には、S2307へ移る。尚、図23のS2303からのループ処理の1巡目においては、実行すべきアクティビティが存在するのでS2305ではNoと判定される。
次に、判定部2219は、実行すべきアクティビティに操作対象の装置が有るか否かを判定する(S2307)。このとき判定部2219は、プロセス定義2207の実行すべきアクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、実行すべきアクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
そして、実行すべきアクティビティに操作対象の装置が無いと判定した場合には、実行部2215は、アクティビティを実行して(S2309)、実行履歴を記憶部2217に記憶させ、S2303へ戻る。例えば、図18のアクティビティ1801が実行すべきアクティビティの場合には、このように処理する。操作対象が無いアクティビティでは、承認を得ることはないので、承認の要否を判定しない。また、排他アクセス権の取得及び解放の処理も行わない。
一方、実行すべきアクティビティに操作対象の装置が有ると判定した場合には、判定部2219は、初回操作判定処理を行う(S2311)。判定部2219は、初回操作判定処理で、実行すべきアクティビティにより特定される装置に対して、プロセス定義2207から初回の操作を行うか否かを判定する。
図27に、初回操作判定処理フローの例を示す。判定部2219は、実行済みのアクティビティを特定する (S2701)。つまり、判定部2219は、実行すべきアクティビティ以前のアクティビティを特定する。実行済みのアクティビティは、記憶部2217の実行履歴から得る。例えば、図15のアクティビティ1505が実行すべきアクティビティの場合には、実行済みのアクティビティ1501とアクティビティ1503を特定する。そして、判定部2219は、操作済みの操作対象を特定する (S2703)。具体的には、判定部2219は、プロセス定義2207から実行済みのアクティビティのレコードに含まれる操作対象の装置を読み取る。図15の例では、サーバBとサーバCが操作済みの操作対象となる。
そして、判定部2219は、実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれかと重複するかを判定する(S2705)。実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれとも重複しないと判定した場合には、判定部2219は、初回操作であると判定する(S2707)。図15の例では、アクティビティ1505の操作対象であるサーバAは、操作済みの操作対象であるサーバBとサーバCのいずれとも一致せず、重複しないので、初回操作であると判定する。
他方、実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれかと重複すると判定した場合には、判定部2219は、初回操作でないと判定する(S2709)。図15の例でアクティビティ1507が実行すべきアクティビティである場合には、その操作対象であるサーバAが実行済みのアクティビティ1505の操作対象であるサーバAと重複するので、初回操作でないと判定する。そして、図23のS2313へ戻る。
図23の処理に戻って、制御部2211は、初回操作判定処理(S2311)の判定結果が初回操作であるか否かを判定する(S2313)。初回操作であると判定した場合には、判定部2219は、排他方式判定処理を行う(S2315)。判定部2219は、排他アクセス権を取得する際の排他方式を判定する。例えば、図15のアクティビティ1505あるいは図16のアクティビティ1601が実行すべきアクティビティである場合に、排他方式判定処理を行う。
ここで、排他方式判定の概要について説明する。図28に、排他方式を占有モードと判定する例を示す。実行すべきアクティビティを太線枠で示している。例えば、図25と図26に示した運用プロセスのモデルで、A1のアクティビティとA3のアクティビティを実行し、次に実行すべきアクティビティがA4である場合に、第1遷移ルートと第2遷移ルートは、それまでの経過が異なるので判定の対象とならない。それまでの経過が一致する第3遷移ルートと第4遷移ルートのみを判定の対象とする。そして、判定の対象である第3遷移ルートと第4遷移ルートのそれぞれに適した排他方式を判定する。この判定結果を、ルート別判定結果と呼ぶ。ルート別判定結果のいずれかが占有モードである場合には、排他方式を占有モードとする。この例では、第4遷移ルートのルート別判定結果が占有モードであるので、全体としての排他方式も占有モードとする。第4遷移ルートへ遷移する場合に備えて、占有状態を確保しておく。
図29に、排他方式を共有モードと判定する例を示す。図28と同様に、A1のアクティビティとA3のアクティビティを実行し、次に実行すべきアクティビティがA4である場合に、第1遷移ルートと第2遷移ルートは、それまでの経過が異なるので判定の対象とせず、それまでの経過が一致する第3遷移ルートと第4遷移ルートのみを判定の対象とする。判定の対象である第3遷移ルートと第4遷移ルートのルート別判定結果はともに共有モードである。このように、ルート別判定結果のいずれにも占有モードを含まず、ルート別判定結果のいずれかが共有モードである場合には、排他方式を共有モードとする。今後の遷移を考慮しても、占有状態を確保しなくてよいからである。このようにして、無用な占有を防ぐことができる。
上記の概要に従って排他方式を判定する処理について説明する。図30に、排他方式判定処理フローの例を示す。判定部2219は、遷移ルートテーブル2209の遷移ルート毎に以下の処理を繰り返す(S3001)。判定部2219は、それまでの経過が一致するか否かを判定する(S3003)。具体的には、判定部2219は、実行済みのアクティビティと一致するアクティビティを含む遷移ルートである場合に経過が一致すると判定する。経過が一致しないと判定した場合には、ルート別判定処理の対象とならないので、S3011に移行する。判定部2219は、記憶部2217の実行履歴から実行済みのアクティビティを得る。
一方、経過が一致すると判定した場合には、判定部2219は、ルート別判定処理を行う (S3005)。
ルート別判定処理では、排他範囲に含まれるアクティビティの部品属性のうちいずれかが占有タイプである場合に占有モードと判定し、部品属性のうちいずれかが共有タイプであり且つ部品属性のいずれも占有タイプでない場合に共有モードと判定する。以下、その概要について説明する。
図31から図34の例で、実行すべきアクティビティを太線枠で示している。図31に示すように、初回操作のアクティビティの部品属性が占有タイプである場合には、ルート別判定結果を占有モードとする。この時点で部品属性が占有タイプであるアクティビティを排他範囲に含むことは明らかであるからである。
図32に示すように、初回のアクティビティの部品属性が共有タイプであっても、排他範囲内の他のアクティビティの部品属性が占有タイプである場合には、ルート別判定結果を占有モードとする。このパターンは、排他範囲に含まれる先のアクティビティの部品属性まで判定することにより特定される。
図33に示すように、排他範囲内に部品属性が占有タイプであるアクティビティが含まれない場合には、ルート別判定結果を共有モードとする。このパターンも、排他範囲に含まれるすべてのアクティビティの部品属性を判定することにより特定される。この例は、排他範囲が終端Eの前で終わっている。
図34の場合も、排他範囲内に部品属性が占有タイプであるアクティビティが含まれないので、ルート別判定結果を共有モードとする。このパターンは、排他範囲に含まれるすべてのアクティビティの部品属性を判定することにより特定される。この例は、排他範囲が他の操作対象の装置(サーバB)を操作するアクティビティの前で終わっている。
上記の概要に従ってルート別判定処理について説明する。図35に、ルート別判定処理フローの例を示す。判定部2219は、順次判定するアクティビティを特定する(S3501)。判定部2219は、1巡目では、実行すべきアクティビティを判定するアクティビティとする。それ以降は、遷移ルートに従って次のアクティビティを判定するアクティビティとする。
判定部2219は、アクティビティの代わりに終端が判定対象として特定されたか否かを判定する(S3503)。終端が判定対象となることは、遷移ルートの末に至りアクティビティがないことを示している。アクティビティの代わりに終端を特定したと判定した場合には、判定部2219は、ルート別判定結果は共有モードであると判定する(S3505)。例えば、図33で判定対象が終端Eに至った場合に、共有モードであると判定する。尚、1巡目はアクティビティが存在するので、終端であると判定するのは2巡目以降である。
終端ではなく、いずれかのアクティビティが判定対象であると判定した場合には、判定部2219は、判定するアクティビティに操作対象の装置が有るか否かを判定する(S3507)。具体的には、アクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、アクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
操作対象の装置が無いと判定した場合には、占有モード又は共有モードのいずれにも決定せず、更に先のアクティビティを判定対象とするので、S3501に戻る。例えば、図18のアクティビティ1801が判定するアクティビティである場合には、判定を保留して次のアクティビティを改めて判定対象とする。尚、1巡目は実行すべきアクティビティに操作対象の装置が存在するので、操作対象の装置が無いと判定するのは2巡目以降である。
一方、操作対象の装置があると判定した場合には、判定部2219は、判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致するか否かを判定する(S3509)。判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致しないと判定した場合には、判定部2219は、ルート別判定結果は共有モードであると判定する(S3511)。図34の例で、判定するアクティビティの操作対象がサーバBであり、実行すべきアクティビティの操作対象であるサーバAと一致しないと判定した時点で、ルート別判定結果は共有モードとなる。尚、初回のアクティビティを判定する1巡目は操作対象の装置は一致すると判定される。
判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致すると判定した場合には、判定部2219は、実行すべきアクティビティの部品属性が占有タイプであるか又は共有タイプであるかを判定する(S3513)。具体的には、判定部2219は、遷移ルートからアクティビティ番号を特定し、プロセス定義2207からそのアクティビティ番号に対応する部品IDを特定し、部品テーブル2203からその部品IDに対応する部品属性を特定する。プロセス定義2207に部品属性が含まれる場合には、判定部2219はそれを用いてもよい。プロセス定義2207に含まれる部品属性を用いることにより、処理負担が軽減される。
部品属性が占有タイプであると判定した場合には、判定部2219は、ルート別判定結果は占有モードであると判定する(S3515)。この処理により、図31の例では、1巡目にルート別判定結果は占有モードであると判定する。図32の例では、2巡目以降にルート別判定結果は占有モードであると判定する。
一方、部品属性が共有タイプであると判定した場合には、S3501に戻る。図33の例では、終端Eに至るまで繰り返し部品属性が共有タイプであると判定される。このようにして、ルート別判定結果が得られる。
図30の処理に戻って、判定部2219は、ルート別判定処理の判定結果が占有モードであるか、あるいは共有モードであるかを判定する(S3007)。ルート別判定処理の判定結果が占有モードであると判定した場合には、判定部2219は、排他方式は占有モードと判定する(S3009)。図28の例で、第4遷移ルートのルート別判定結果が占有モードであると判定した時点で、排他方式は占有モードとなる。
一方、ルート別判定処理の判定結果が共有モードであると判定した場合には、判定部2219は、すべての遷移ルートについて処理したかを判定する(S3011)。すべての遷移ルートについて処理したと判定した場合には、判定部2219は、排他方式は共有モードであると判定する(S3013)。図29の例で、最終の第4遷移ルートまでルート別判定結果がすべて共有モードであると判定した時点で、排他方式は共有モードとなる。
処理していない遷移ルートがあると判定した場合には、S3001へ戻る。このようにして、全体としての排他方式を得る。
図23に戻って、制御部2211は、排他方式が占有モードであるか、あるいは共有モードであるかを判定する(S2317)。排他方式が占有モードであると判定した場合には、端子Aを介して図36のS3601に移行する。
図36に、初回操作且つ占有モードにおける制御フローの例を示す。承認部2221は、承認判定処理を行う(S3601)。承認部2221は、承認判定処理で、承認の要否を判定し、必要に応じて承認依頼し、実行の可否を決定する。
図37は、承認判定処理フローの例を示す図である。承認部2221は、プロセス定義2207に基づいて、実行すべきアクティビティの操作対象の装置を特定する(S3701)。承認部2221は、更に、操作対象テーブル2205に基づいて、操作対象の装置に対応する承認の要否を特定する。プロセス定義2207に承認の要否を含む場合には、承認部2221はそれを用いてもよい。プロセス定義2207に含まれる承認の要否を用いることによって、処理負担が軽減される。承認部2221は承認の要否を判定し(S3703)、承認の要否が不要を示す場合には、承認判定処理の結果を実行可と判定する(S3705)。図20の例で、サーバBは承認の要否が不要と設定されているので、実行可と判定される。
一方、承認部2221は承認の要否を判定し(S3703)、承認の要否が要を示す場合には、承認部2221は、管理者を特定し(S3707)、管理者端末307へ承認依頼を送信する(S3709)。具体的には、承認部2221は、操作対象テーブル2205に基づいて、装置に対応する管理者名を特定する。プロセス定義2207に管理者名を含む場合には、承認部2221はそれを用いてもよい。プロセス定義2207に含まれる管理者名を用いることによって、処理負担が軽減される。図19の例で、サーバAは承認の要否が要と設定されているので、承認依頼を行う。
そして、承認部2221は、管理者端末307から回答を受ける(S3711)。承認部2221は、回答が受諾であるか、あるいは拒否であるかを判定する(S3713)。回答が受諾であると判定した場合には、承認部2221は、承認判定処理の結果を実行可と判定する(S3715)。一方、回答が拒否であると判定した場合には、承認部2221は、承認判定処理の結果を実行不可と判定する(S3717)。
図36の処理に戻って、制御部2211は、判定結果が実行可であるか、あるいは実行不可であるかを判定する(S3603)。判定結果が実行不可であると判定した場合には、中断部2223は、中断処理を行う(S3605)。中断部2223は、中断処理で、中断した運用プロセスの識別情報と、承認判定処理の判定結果が実行不可であったことなどを、履歴として記憶部2217に記憶させる。
判定結果が実行可であると判定した場合には、取得部2225は、排他方式を占有モードに設定し(S3607)、排他アクセス権を取得する(S3609)。排他アクセス権を取得した以降は、他のプロセスによる操作対象の装置への割り込みは拒否されるようになる。
排他アクセス権を取得した後に、実行部2215はアクティビティを実行する(S3611)。具体的には、実行部2215はアクティビティで特定される部品であるプログラムを実行する。実行部2215は、実行履歴を記憶部2217に記憶させる。
アクティビティを実行した後に、解放部2227は解放制御処理を行う(S3613)。解放部2227は、解放制御処理で、状況に応じて操作対象の装置についての排他アクセス権を解放する。
ここで、排他アクセス権の解放について概要を説明する。図38に示すように、すべての遷移ルートで解放可と判定された場合には、排他アクセス権を解放する。この場合には、いずれの遷移ルートを辿ったとしても、排他アクセス権を保持していなくてよいからである。
図39に示すように、いずれかの遷移ルートで解放不可と判定された場合には、排他アクセス権を解放しない。この場合には、解放不可の遷移ルートを辿ることを考慮して、排他アクセス権を保持しておくようにする。
上記の概要に従って、解放部2227は解放制御処理を行う。図40に、解放制御処理フローの例を示す。解放部2227は、遷移ルートテーブル2209の遷移ルート毎に以下の処理を繰り返す(S4001)。解放部2227は、それまでの経過が一致するか否かを判定する(S4003)。具体的には、解放部2227は、実行済みのアクティビティと一致するアクティビティを含む遷移ルートである場合に経過が一致すると判定する。経過が一致しないと判定した場合には、解放可否判定処理の対象とならないので、S4009に移行する。解放部2227は、記憶部2217の実行履歴から実行済みのアクティビティを得る。
一方、経過が一致すると判定した場合には、解放部2227は、解放可否判定処理を行う(S4005)。
ここで、解放可否判定の概要について説明する。図41から図46の例で、実行すべきアクティビティを太線枠で示している。図41に示すように、次のアクティビティが無い場合、つまり次が終端である場合には、解放可と判定する。これ以上、装置に対する操作を行わないからである。
図42に示すように、次のアクティビティが他の装置に対するアクティビティである場合には、解放可と判定する。装置に対する一連の操作は終了したと考えられるからである。
図43に示すように、次のアクティビティが同じ装置に対するアクティビティである場合には、解放不可と判定する。まだ装置に対する一連の操作は終了してないと考えられるからである。
図44に示すように、次のアクティビティの操作対象がなく、その次のアクティビティがない場合には、解放可であると判定する。これ以上、装置に対する操作を行わないからである。
図45に示すように、次のアクティビティの操作対象がなく、その次のアクティビティが他の装置に対するアクティビティである場合には、解放可であると判定する。装置に対する一連の操作は終了したと考えられるからである。
図46に示すように、次のアクティビティの操作対象がなく、その次のアクティビティが同じ装置に対するアクティビティである場合には、解放不可と判定する。まだ装置に対する一連の操作は終了していないと考えられるからである。
図47に、解放可否判定処理フローの例を示す。解放部2227は、順次判定するアクティビティを特定する(S4701)。具体的には、解放部2227は、1巡目は実行すべきアクティビティについて判定する。それ以降は、遷移ルートに従って次のアクティビティを特定する。
解放部2227は、アクティビティの代わりに終端が特定された否かを判定する。 (S4703)。次のアクティビティがなく、アクティビティの代わりに終端を特定したと判定した場合には、解放部2227は、解放可と判定する(S4705)。図41の例では、終端の前のアクティビティで解放可と判定される。
終端ではなく、アクティビティを特定したと判定した場合には、解放部2227は、判定するアクティビティに操作対象の装置が有るか否かを判定する(S4707)。具体的には、アクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、アクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
操作対象の装置が無いと判定した場合には、解放可あるいは解放不可のいずれにも決定せず、更に先のアクティビティを判定するので、S4701に戻る。例えば、図44から図46の例で、実行すべきアクティビティの次のアクティビティは操作対象の装置が無いので、その次のアクティビティが判定対象となる。尚、図44の場合は、その後S4705で解放可と判定される。このように、操作対象の装置が無いと判定した場合には更に先のアクティビティを判定するので、先の状況を見越して早めに排他アクセス権を解放できる。
一方、操作対象の装置があると判定した場合には、解放部2227は、判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致するか否かを判定する(S4709)。判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致しないと判定した場合には、解放部2227は、解放可と判定する(S4711)。図42と図45の例では、解放可と判定される。そして、図40のS4007へ戻る。
判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致すると判定した場合には、解放部2227は、解放不可と判定する(S4713)。図43と図46の例では、解放不可と判定される。そして、図40のS4007へ戻る。
図40の処理に戻って、解放部2227は、解放可否判定処理の判定結果が解放可であるか、あるいは解放不可であるかを判定する(S4007)。解放可否判定処理の判定結果が解放不可であると判定した場合には、排他アクセス権を解放することなく処理を終了する。図39の例では、2段目の遷移ルートで解放可否判定処理の判定結果が解放不可となるので、排他アクセス権を解放することなく処理を終了する。そして、図36の処理へ戻り、端子Dを介して、図23のS2303へ戻る。
解放可否判定処理の判定結果が解放可であると判定した場合には、解放部2227は、すべての遷移ルートについて処理したか否かを判定する(S4009)。処理していない遷移ルートがあると判定した場合には、S4001へ戻って判定を繰り返す。
すべての遷移ルートについて処理したと判定した場合には、解放部2227は、排他アクセス権を解放する(S4011)。図38の例では、1段目の遷移ルートと2段目の遷移ルートともに解放可と判定され、これらの遷移ルート以外に遷移ルートがないと判定した時点で、排他アクセス権を解放する。そして、図36の処理へ戻り、端子Dを介して、図23のS2303へ戻る。
図23のS2317で、排他方式が共有モードであると判定した場合には、端子Bを介して図48のS4801に移行する。
図48に、初回操作且つ共有モードにおける制御フローの例を示す。共有モードの場合には、図21に示した通り承認を得ないので承認の要否を判定しない。取得部2225は、排他方式を共有モードに設定して(S4801)、排他アクセス権を取得する(S4803)。排他アクセス権を取得した以降、操作対象の装置への他のプロセスによる共有モードの排他アクセス権の取得は許される。
排他アクセス権を取得した実行部2215は、アクティビティを実行し、実行履歴を記憶部2217に記憶させる(S4805)。具体的には、実行部2215はアクティビティで特定される部品であるプログラムを実行する。
アクティビティを実行した後に、解放部2227は、解放制御処理を行う(S4807)。解放部2227による解放制御処理については、前述と同様である。
解放制御処理を終えると、端子Dを介して、図23のS2303へ戻る。
図23に戻って、初回操作判定処理(S2311)で初回操作でないと判定した場合には、端子Cを介して、図49のS4901の処理に移行する。
図49に、初回操作でない場合の制御フローの例を示す。初回操作でない場合には、承認を得ることはないので、承認の要否を判定しない。また、排他アクセス権の取得の処理も行わない。実行部2215は、アクティビティを実行し、実行履歴を記憶部2217に記憶させる(S4901)。アクティビティの実行を終えると、解放部2227は、解放制御処理を行う(S4903)。解放部2227による解放制御処理は、前述と同様である。このようにして、運用プロセスは実行される。
以下、運用プロセスの実行に関する例を示す。図50に、遷移ルート毎の排他範囲の例を示す。この例は、図7に示した運用プロセスを展開した図24の遷移ルートのうち、排他範囲を太線枠で囲んでいる。排他範囲は、いずれもサーバAを対象としている。全ての遷移ルートがアクティビティ番号A1のアクティビティから排他範囲が始まる。そして、第1遷移ルートと、第2遷移ルートと、第3遷移ルートと、第4遷移ルートと、第5遷移ルートと、第7遷移ルートと、第8遷移ルートは、いずれも操作対象のないアクティビティの次が終端Eであるため、操作対象のないアクティビティの前で、排他範囲が終わる。第6遷移ルートと、第9遷移ルートは終端Eの前で、排他範囲が終わる。
いずれの遷移ルートも、部品属性が占有タイプである部品を用いるアクティビティを含んでいるので、ルート別判定結果は占有モードとなる。従って、アクティビティ番号A1のアクティビティの実行前に、サーバAについて占有モードを排他方式に設定して、排他アクセス権を取得する。また、図6に示すようにサーバAの属性として承認の要否に要が設定されているので、アクティビティ番号A1のアクティビティの実行前に、サーバAの管理者であるユーザAに対して承認依頼を発行し、回答が受諾の場合に一連のアクティビティが実行される。そして、排他範囲の終わりのアクティビティが実行された後に、排他アクセス権を解放する。
[実施の形態2]
上述の例では、運用プロセスを生成する段階で操作対象の装置を設定しておく態様を示したが、運用プロセスを実行する段階で操作対象の装置を設定するようにしてもよい。以下、運用プロセスを実行する段階で操作対象の装置を設定する例を示す。
図51に、第2の実施の形態に係る運用プロセスの例を示す。5101から5106は、アクティビティである。矢印と遷移条件については、上述の例と同様である。但し、アクティビティ5102は、WEBサーバを操作対象としているが、具体的な装置が設定されていない。WEBサーバは、具体的な装置を設定するための変数である。アクティビティ5103も、APサーバを操作対象としているが、具体的な装置が設定されていない。APサーバは、具体的な装置を設定するための変数である。アクティビティ5104は、DBサーバを操作対象としているが、具体的な装置が設定されていない。DBサーバは、具体的な装置を設定するための変数である。
アクティビティ5101は、変数であるWEBサーバとAPサーバとDBサーバに具体的な装置を設定するための処理を行うように構成されている。アクティビティ5101は、WEBサーバとAPサーバとDBサーバに設定する具体的な装置を受け付けるためのウインドウを表示する。
図52に、操作対象受付ウインドウの例を示す。操作対象受付ウインドウは、プロセス実行サーバ303に接続されている運用者の端末に表示され、運用者がWEBサーバとAPサーバとDBサーバに設定する装置を入力する。あるいは、プロセス登録端末301に操作対象受付ウインドウを表示させ、設計者がWEBサーバとAPサーバとDBサーバに設定する装置を入力するようにしてもよい。
アクティビティ5101は、装置を設定すべきアクティビティで用いる部品の操作対象の種別を部品テーブル405から抽出し、操作対象の種別に適合する装置を操作対象テーブル403から抽出して、抽出した装置を候補とするメニューを表示し、メニューから装置を選択させるようにしてもよい。
図52の例では、変数であるWEBサーバに装置名がサーバSであるサーバ装置を設定し、変数であるAPサーバに装置名がサーバTであるサーバ装置を設定し、変数であるDBサーバに装置名がサーバUであるサーバ装置を設定している。設定されたサーバ装置は、プロセス定義2207に書き込まれる。
図53は、プロセス定義2207の例を示す図である。アクティビティ5102に対応するアクティビティ番号A2のレコードの操作対象の項目に、サーバSが設定されている。アクティビティ5103に対応するアクティビティ番号A3のレコードの操作対象の項目に、サーバTが設定されている。アクティビティ5104に対応するアクティビティ番号A4のレコードの操作対象の項目に、サーバUが設定されている。
アクティビティ5101によってプロセス定義2207に操作対象が設定された後の動作は、上記と同様である。
図54に、図53のプロセス定義2207を展開した遷移ルートを示す。また、図55に、図54の遷移ルート毎の排他範囲を示す。サーバSを操作するアクティビティと、サーバTを操作するアクティビティと、サーバUを操作するアクティビティが、それぞれ単独で排他範囲を構成している。このように、運用プロセスの実行段階で操作対象の装置を設定するようにすれば、状況に応じて運用プロセスを柔軟に用いることができるようになる。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたプロセス登録端末301とプロセス実行サーバ303と管理者端末307は、コンピュータ装置であって、図56に示すように、メモリ5601とCPU(Central Processing Unit)5603とハードディスク・ドライブ(HDD:Hard Disk Drive)5605と表示装置5609に接続される表示制御部5607とリムーバブル・ディスク5611用のドライブ装置5613と入力装置5615とネットワークに接続するための通信制御部5617とがバス5619で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD5605に格納されており、CPU5603により実行される際にはHDD5605からメモリ5601に読み出される。CPU5603は、アプリケーション・プログラムの処理内容に応じて表示制御部5607、通信制御部5617、ドライブ装置5613を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ5601に格納されるが、HDD5605に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク5611に格納されて頒布され、ドライブ装置5613からHDD5605にインストールされる。インターネットなどのネットワーク及び通信制御部5617を経由して、HDD5605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU5603、メモリ5601などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた実施の形態をまとめると、以下のようになる。
本実施の形態に係るプログラムは、コンピュータにネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、実行すべきアクティビティが当該アクティビティにより特定される装置に対して上記順序のうち初回の操作を行うか否かを判定し、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得する処理を実行させる。
このようにすれば、操作対象の装置に対して操作を行う前に排他アクセス権を取得し、最初の操作以降の他のプロセス定義に基づく割り込みを排除できるようになる。特に、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得するので、プロセス定義に特別な命令を組み込まなくても、自動的に適切なタイミングで排他アクセス権を取得できる。
また、複数のアクティビティは、装置への操作を処理するプログラムである部品を示す情報を含むようにしてもよい。この場合、更に、排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される部品の属性に基づいて、占有モード又は共有モードを判定する第1の判定処理をコンピュータに実行させ、取得する処理において、占有モード又は共有モードに基づいて排他方式を設定して、装置について排他アクセス権を取得するようにしてもよい。
このようにすれば、装置への操作を処理するプログラムである部品の属性に基づいて排他方式を設定するので、占有モード又は共有モードの選択を自動化することができる。特に、装置に対する操作の特性に応じた排他方式を選択することができる。更に、排他範囲に含まれる一又は複数のアクティビティについて判定するので、排他範囲の一連の操作に応じた排他方式の選択が可能になる。
また、第1の判定処理において、排他アクセス権を取得された装置以外の装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定するようにしてもよい。
このようにすれば、排他アクセス権を解放する適切なタイミングを前提として、占有モード又は共有モードを判定できるようになる。これにより、排他方式の設定のミスによる不具合を防止できる。
また、部品の属性は、部品で処理する操作が占有タイプであるか又は共有タイプであるかを示す場合もある。この場合、第1の判定処理において、排他範囲に含まれる一又は複数のアクティビティにより特定される部品の属性のうちいずれかが占有タイプである場合に占有モードと判定し、部品の属性のうちいずれかが共有タイプであり且つ部品の属性のいずれも占有タイプでない場合に共有モードと判定するようにしてもよい。
このようにすれば、占有すべき操作を含む排他範囲に対する割り込みを防止でき、占有すべき操作を確実に実行できるようになる。一方、占有すべき操作を含まない排他範囲については、他のプロセス定義による操作を妨げずに済む。
更に、分岐する遷移を含むプロセス定義に基づいて、複数の遷移ルートを展開する処理をコンピュータに実行させるようにしてもよい。この場合、第1の判定処理において、遷移ルート毎に占有モード又は共有モードであるかを判定し、取得する処理において、複数の遷移ルートのうちいずれかが占有モードである場合に、排他方式を占有モードに設定し、複数の遷移ルートのうちいずれかが共有モードであり且つ複数の遷移ルートのいずれも占有モードでない場合に、排他方式を共有モードに設定するようにしてもよい。
このようにすれば、プロセス定義に分岐する遷移を含む場合に、各遷移ルートについて考慮し、占有すべき操作の実行を確実にすることができる。また、各遷移ルートについて考慮しても占有すべき操作がない場合には、共有して他のプロセス定義による操作を阻害しないで済む。
更に、実行すべきアクティビティにより部品として特定されるプログラムを実行する処理と、実行されたアクティビティの次のアクティビティにより特定される装置が排他アクセス権を取得された装置ではない場合、又は実行されたアクティビティの次のアクティビティが存在しない場合に排他アクセス権を解放する処理とをコンピュータに実行させるようにしてもよい。
このようにすれば、プロセス定義に特別な命令を組み込まなくても自動的に排他アクセス権を解放することができる。具体的には、操作の対象でなくなった装置についての排他アクセス権を適時解放することができる。
更に、実行すべきアクティビティにより特定される装置の属性に基づいて、管理者による承認の要否を判定する第2の判定処理をコンピュータに実行させるようにしてもよい。
このようにすれば、装置の特性に応じて管理者による承認の要否を決めることができるので、設計者が個別に承認の要否を判断して、プロセス定義に承認の操作を組み込まなくても済むようになる。
第2の判定処理において、排他方式を占有モードに設定して排他アクセス権を取得する場合に、管理者による承認の要否を判定するようにしてもよい。
このようにすれば、管理者が占有による影響を考慮する機会を自動的に設定できるようになる。
更に、管理者による承認が要ると判定された場合に、管理者の端末に承認依頼を送信し、拒否の回答を受信した場合に、実行すべきアクティビティの実行は不可であると判定する処理をコンピュータに実行させるようにしてもよい。
このようにすれば、管理者の判断を反映して、アクティビティの実行を中止することができる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータに、
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する、
処理を実行させることを特徴とするプログラム。
(付記2)
前記複数のアクティビティは、前記装置への操作を処理するプログラムである部品を示す情報を含み、
更に、前記排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される前記部品の属性に基づいて、占有モード又は共有モードを判定する第1の判定処理を実行させ、
前記取得する処理において、前記占有モード又は前記共有モードに基づいて排他方式を設定して、前記装置について前記排他アクセス権を取得する
ことを特徴とする付記1記載のプログラム。
(付記3)
前記第1の判定処理において、前記排他アクセス権を取得された前記装置以外の前記装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定する
ことを特徴とする付記2記載のプログラム。
(付記4)
前記部品の前記属性は、前記部品で処理する前記操作が占有タイプであるか又は共有タイプであるかを示し、
前記第1の判定処理において、前記排他範囲に含まれる前記一又は複数のアクティビティにより特定される前記部品の前記属性のうちいずれかが前記占有タイプである場合に前記占有モードと判定し、前記部品の前記属性のうちいずれかが前記共有タイプであり且つ前記部品の前記属性のいずれも前記占有タイプでない場合に前記共有モードと判定する
ことを特徴とする付記2又は3記載のプログラム。
(付記5)
更に、分岐する遷移を含む前記プロセス定義に基づいて、複数の遷移ルートを展開する処理を実行させ、
前記第1の判定処理において、前記遷移ルート毎に前記占有モード又は前記共有モードであるかを判定し、
前記取得する処理において、前記複数の遷移ルートのうちいずれかが前記占有モードである場合に、前記排他方式を前記占有モードに設定し、前記複数の遷移ルートのうちいずれかが前記共有モードであり且つ前記複数の遷移ルートのいずれも前記占有モードでない場合に、前記排他方式を前記共有モードに設定する
ことを特徴とする付記2乃至4のいずれか1つ記載のプログラム。
(付記6)
更に、前記実行すべきアクティビティにより前記部品として特定される前記プログラムを実行し、
実行された前記アクティビティの次のアクティビティにより特定される前記装置が前記排他アクセス権を取得された前記装置ではない場合、又は実行された前記アクティビティの次のアクティビティが存在しない場合に前記排他アクセス権を解放する
処理を実行させることを特徴とする付記1乃至5のいずれか1つ記載のプログラム。
(付記7)
更に、前記実行すべきアクティビティにより特定される前記装置の属性に基づいて、管理者による承認の要否を判定する第2の判定処理を実行させる
ことを特徴とする付記1乃至6のいずれか1つ記載のプログラム。
(付記8)
前記第2の判定処理において、前記排他方式を前記占有モードに設定して前記排他アクセス権を取得する場合に、前記管理者による前記承認の要否を判定する
ことを特徴とする付記7記載のプログラム。
(付記9)
更に、前記管理者による前記承認が要ると判定された場合に、前記管理者の端末に承認依頼を送信し、拒否の回答を受信した場合に、前記実行すべきアクティビティの実行は不可であると判定する処理を実行させる
ことを特徴とする付記7又は8記載のプログラム。
(付記10)
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する
処理を含みコンピュータが実行することを特徴とするプロセス実行方法。
(付記11)
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定する制御部と、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定する判定部と、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する取得部と
を有することを特徴とするプロセス実行コンピュータ。
301 プロセス登録端末 303 プロセス実行サーバ
305 操作対象システム 307 管理者端末
401 格納部 403 操作対象テーブル
405 部品テーブル 407 編集部
409 送信部 411 受信部
413 格納部 2201 格納部
2203 部品テーブル 2205 操作対象テーブル
2207 プロセス定義 2209 遷移ルートテーブル
2211 制御部 2213 展開部
2215 実行部 2217 記憶部
2219 判定部 2221 承認部
2223 中断部 2225 取得部
2227 解放部

Claims (10)

  1. コンピュータに、
    ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、
    前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
    前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する、
    処理を実行させることを特徴とするプログラム。
  2. 前記複数のアクティビティは、前記装置への操作を処理するプログラムである部品を示す情報を含み、
    更に、前記排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される前記部品の属性に基づいて、占有モード又は共有モードを判定する第1の判定処理を実行させ、
    前記取得する処理において、前記占有モード又は前記共有モードに基づいて排他方式を設定して、前記装置について前記排他アクセス権を取得する
    ことを特徴とする請求項1記載のプログラム。
  3. 前記第1の判定処理において、前記排他アクセス権を取得された前記装置以外の前記装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定する
    ことを特徴とする請求項2記載のプログラム。
  4. 前記部品の前記属性は、前記部品で処理する前記操作が占有タイプであるか又は共有タイプであるかを示し、
    前記第1の判定処理において、前記排他範囲に含まれる前記一又は複数のアクティビティにより特定される前記部品の前記属性のうちいずれかが前記占有タイプである場合に前記占有モードと判定し、前記部品の前記属性のうちいずれかが前記共有タイプであり且つ前記部品の前記属性のいずれも前記占有タイプでない場合に前記共有モードと判定する
    ことを特徴とする請求項2又は3記載のプログラム。
  5. 更に、分岐する遷移を含む前記プロセス定義に基づいて、複数の遷移ルートを展開する処理を実行させ、
    前記第1の判定処理において、前記遷移ルート毎に前記占有モード又は前記共有モードであるかを判定し、
    前記取得する処理において、前記複数の遷移ルートのうちいずれかが前記占有モードである場合に、前記排他方式を前記占有モードに設定し、前記複数の遷移ルートのうちいずれかが前記共有モードであり且つ前記複数の遷移ルートのいずれも前記占有モードでない場合に、前記排他方式を前記共有モードに設定する
    ことを特徴とする請求項2乃至4のいずれか1つ記載のプログラム。
  6. 更に、前記実行すべきアクティビティにより前記部品として特定される前記プログラムを実行し、
    実行された前記アクティビティの次のアクティビティにより特定される前記装置が前記排他アクセス権を取得された前記装置ではない場合、又は実行された前記アクティビティの次のアクティビティが存在しない場合に前記排他アクセス権を解放する
    処理を実行させることを特徴とする請求項乃至5のいずれか1つ記載のプログラム。
  7. 更に、前記実行すべきアクティビティにより特定される前記装置の属性に基づいて、管理者による承認の要否を判定する第2の判定処理を実行させる
    ことを特徴とする請求項乃至6のいずれか1つ記載のプログラム。
  8. 前記第2の判定処理において、前記排他方式を前記占有モードに設定して前記排他アクセス権を取得する場合に、前記管理者による前記承認の要否を判定する
    ことを特徴とする請求項7記載のプログラム。
  9. ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定し、 前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
    前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する
    処理を含みコンピュータが実行することを特徴とするプロセス実行方法。
  10. ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定する制御部と、
    前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定する判定部と、
    前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する取得部と
    を有することを特徴とするプロセス実行コンピュータ。
JP2012148950A 2012-07-02 2012-07-02 プログラム、プロセス実行方法およびプロセス実行コンピュータ Active JP5880316B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012148950A JP5880316B2 (ja) 2012-07-02 2012-07-02 プログラム、プロセス実行方法およびプロセス実行コンピュータ
US13/906,565 US9596133B2 (en) 2012-07-02 2013-05-31 Process execution method and apparatus
EP13173350.3A EP2682867A3 (en) 2012-07-02 2013-06-24 Process execution method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012148950A JP5880316B2 (ja) 2012-07-02 2012-07-02 プログラム、プロセス実行方法およびプロセス実行コンピュータ

Publications (2)

Publication Number Publication Date
JP2014010786A JP2014010786A (ja) 2014-01-20
JP5880316B2 true JP5880316B2 (ja) 2016-03-09

Family

ID=48747915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012148950A Active JP5880316B2 (ja) 2012-07-02 2012-07-02 プログラム、プロセス実行方法およびプロセス実行コンピュータ

Country Status (3)

Country Link
US (1) US9596133B2 (ja)
EP (1) EP2682867A3 (ja)
JP (1) JP5880316B2 (ja)

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078982A (en) 1998-03-24 2000-06-20 Hewlett-Packard Company Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system
JP2001005726A (ja) * 1999-04-20 2001-01-12 Nec Corp メモリアドレス空間拡張装置及びプログラムを記憶した記憶媒体
WO2001082086A1 (fr) * 2000-04-24 2001-11-01 Matsushita Electric Industrial Co., Ltd. Dispositif de definition de droit d'acces et terminal gestionnaire
US20020055849A1 (en) 2000-06-30 2002-05-09 Dimitrios Georgakopoulos Workflow primitives modeling
US20110231564A1 (en) * 2000-09-25 2011-09-22 Yevgeny Korsunsky Processing data flows with a data flow processor
US7480909B2 (en) * 2002-02-25 2009-01-20 International Business Machines Corporation Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
US7401334B2 (en) 2002-12-20 2008-07-15 International Business Machines Corporation Method, apparatus and computer program product for managing message flow in a multithreaded, message flow environment
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US7765381B2 (en) * 2003-04-04 2010-07-27 Oracle America, Inc. Multi-node system in which home memory subsystem stores global to local address translation information for replicating nodes
US7716489B1 (en) * 2004-09-29 2010-05-11 Rockwell Automation Technologies, Inc. Access control method for disconnected automation systems
JP2006163776A (ja) 2004-12-07 2006-06-22 Mitsubishi Electric Corp アプリケーション開発支援装置
WO2006082732A1 (ja) * 2005-02-04 2006-08-10 Nec Corporation アクセス制御装置
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US7454579B1 (en) * 2005-12-15 2008-11-18 Emc Corporation Managing access to shared resources
US20080072292A1 (en) * 2006-09-01 2008-03-20 Narjala Ranjit S Secure device introduction with capabilities assessment
US7865663B1 (en) * 2007-02-16 2011-01-04 Vmware, Inc. SCSI protocol emulation for virtual storage device stored on NAS device
JP5078423B2 (ja) * 2007-05-07 2012-11-21 キヤノン株式会社 ワークフロー管理サーバ及び方法
US7792916B2 (en) * 2008-10-20 2010-09-07 International Business Machines Corporation Management of cluster-wide resources with shared variables
JP5241520B2 (ja) * 2009-01-05 2013-07-17 キヤノン株式会社 ワークフロー管理装置、タスク連携処理システム、ワークフロー管理方法、及びプログラム
US8201213B2 (en) * 2009-04-22 2012-06-12 Microsoft Corporation Controlling access of application programs to an adaptive input device
US20120054355A1 (en) * 2010-08-31 2012-03-01 Nokia Corporation Method and apparatus for generating a virtual interactive workspace with access based on spatial relationships
US8874766B2 (en) * 2012-03-09 2014-10-28 Mcafee, Inc. System and method for flexible network access control policies in a network environment
US20130244684A1 (en) * 2012-03-13 2013-09-19 Google Inc. Permissions based on wireless network data

Also Published As

Publication number Publication date
EP2682867A3 (en) 2016-08-24
EP2682867A2 (en) 2014-01-08
US20140006571A1 (en) 2014-01-02
JP2014010786A (ja) 2014-01-20
US9596133B2 (en) 2017-03-14

Similar Documents

Publication Publication Date Title
CN105493070B (zh) 用于高效数据共享的任务上下文架构
JP5814639B2 (ja) クラウドシステム、クラウドサービスのライセンス管理方法、およびプログラム
CN103380423B (zh) 用于私人云计算的系统和方法
CN105934744A (zh) 用于在硬件中跨多个处理单元/处理器划分并同步处理任务的系统和方法
CN106155718A (zh) 流程引擎实现方法及流程引擎系统
US9176710B2 (en) Dynamically selecting service provider, computing system, computer, and program
JP5035708B2 (ja) 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム
US9921882B2 (en) Information processing system, deployment method, processing device, and deployment device
CN103607424A (zh) 一种服务器连接方法及服务器系统
JPWO2013001613A1 (ja) スケジューリング方法およびシステム
CN109254921A (zh) 应用版本验证方法、装置、计算机设备以及存储介质
US9177167B2 (en) Automation framework
CN116185242B (zh) 业务编排方法、装置和电子设备
CN106681948A (zh) 可编程逻辑器件的逻辑控制方法及装置
JP5880316B2 (ja) プログラム、プロセス実行方法およびプロセス実行コンピュータ
EP3940468B1 (en) Control system, support device, and program for support device
JP7101427B1 (ja) アクセス分散方法
US9356805B2 (en) Implementing a plurality of interface definitions
Achkoski et al. Intelligence information system (IIS) with SOA-based information systems
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
CN114138211A (zh) 服务器装置、控制方法和存储介质
KR100798928B1 (ko) 소프트웨어 스트리밍 시스템에서 기능 단위 소프트웨어제공 방법 및 장치
WO2019097811A1 (ja) 仮想リソース提供装置、仮想ネットワーク機能提供システム、仮想リソース提供方法及びプログラム
JP2013020494A (ja) ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160118

R150 Certificate of patent or registration of utility model

Ref document number: 5880316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150