JPWO2011118048A1 - プログラム実行方法、計算機システム及びプログラム実行制御プログラム - Google Patents

プログラム実行方法、計算機システム及びプログラム実行制御プログラム Download PDF

Info

Publication number
JPWO2011118048A1
JPWO2011118048A1 JP2012506755A JP2012506755A JPWO2011118048A1 JP WO2011118048 A1 JPWO2011118048 A1 JP WO2011118048A1 JP 2012506755 A JP2012506755 A JP 2012506755A JP 2012506755 A JP2012506755 A JP 2012506755A JP WO2011118048 A1 JPWO2011118048 A1 JP WO2011118048A1
Authority
JP
Japan
Prior art keywords
processing module
executed
identification number
processing
procedure
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.)
Pending
Application number
JP2012506755A
Other languages
English (en)
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 JPWO2011118048A1 publication Critical patent/JPWO2011118048A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

処理モジュールによって構成されるアプリケーションプログラムを実行する計算機におけるプログラム実行方法であって、AP更新判断部が、実行中の処理モジュールの識別番号と配備された処理モジュールの識別番号とを比較することによって、実行する処理モジュールの変更が必要かを判断する手順と、AP更新判断部が、アプリケーションプログラムに含まれる各処理が実行済かを示す履歴情報と、実行中の処理モジュールと配備された処理モジュールとの間で異なる処理を示す情報とに基づいて、実行する処理モジュールの識別番号を決定する手順と、処理モジュール呼出部が、AP更新判断部によって決定された処理モジュールの識別番号を指定して、処理モジュールを呼び出す手順と、を含む。

Description

本発明は、アプリケーションプログラムを実行する計算機システムに関し、アプリケーションプログラムを実行中でもアプリケーションプログラムを変更する技術に関する。
近年、銀行のオンラインサービス、オンラインショッピングサイト、新幹線や飛行機の予約サービス等、ネットワークを介して様々なサービスがユーザに提供されている。これらのサービスは、多くの場合、Webアプリケーションサーバを用いて構築され、サービス事業者は、ユーザの様々なニーズに対応するために、機能拡張、セキュリティ向上、バグの修正等、システムを頻繁に変更している。これらの変更は、アプリケーション等のソフトウェアの変更を含んでいる。
一般に、システムを変更する場合、アプリケーション全体を入れ替えた後、システムを再起動する必要がある。また、変更すべきアプリケーションが実行中であった場合、アプリケーションの実行が終了するまで変更を待つか、実行されているアプリケーションを強制的に終了させる必要があった。そのため、修正箇所がアプリケーションの一部(画面へのチェックボックス追加に伴う入力確認処理の変更など)である場合や、既存機能の不具合をすぐに修正する場合でも、アプリケーションをすぐに変更することができなかったり、処理の強制終了による処理の不整合が生じる可能性があった。
従って、ユーザからは、すぐに修正できるように見える場合、すぐに不具合を修正する必要がある場合、又は、変更範囲が小さい場合でも、次回の定期メンテナンスまでアプリケーションを変更することができず、サービスの質が低下する問題がある。そこで、アプリケーションを迅速に変更することが求められている。
このため、アプリケーションを変更するための従来技術として、以下の技術が提案されている。
例えば、特許文献1には、複数のサーバとクライアントからの処理要求による負荷を稼動中のサーバ間で分散させる負荷分散機能を有する計算機システムにおいて、アプリケーションの更新指示があった場合、稼働率が低いサーバから停止し、アプリケーションのバージョンアップすることによって、システムを停止させることなく、アプリケーションを変更する技術が記載されている。
また、例えば、特許文献2には、予め設定されたスケジュールに従って、新しいソフトウェアを配信し、配布された新しいソフトウェアに対応する旧版のソフトウェアが存在する場合、新しいソフトウェアに変更する技術が記載されている。
特開2008−250427号公報 特開2006−235838号公報
前述した特許文献1及び2に記載された技術では、予め決められた変更のタイミング(ユーザログアウト、アプリケーションの起動終了時、再起動時、等)までアプリケーションを変更できない。このため、アプリケーションの処理が実行中に、処理の不整合を生じることなくアプリケーションを変更できるタイミングがあっても、アプリケーションを変更できない問題があった。
本発明では、アプリケーションの変更のタイミングの制約を緩和し、アプリケーションを迅速に変更することを目的とする。
本発明の代表的な一例を示せば以下の通りである。すなわち、1又は複数の処理モジュールによって構成されるアプリケーションプログラムを実行する計算機におけるプログラム実行方法であって、前記処理モジュールは、1又は複数の処理を含み、かつ前記処理モジュールは識別番号で管理されており、前記計算機は、実行する処理モジュールの変更のタイミングを判断するAP更新判断部と、処理モジュールを呼び出す処理モジュール呼出部と、を備え、前記方法は、前記AP更新判断部が、実行中の処理モジュールの識別番号と配備された処理モジュールの識別番号とを比較することによって、実行する処理モジュールの変更が必要かを判断する手順と、前記AP更新判断部が、前記アプリケーションプログラムに含まれる各処理が実行済かを示す履歴情報と、実行中の処理モジュールと配備された処理モジュールとの間で異なる処理を示す情報とに基づいて、実行する処理モジュールの識別番号を決定する手順と、前記処理モジュール呼出部が、前記AP更新判断部によって決定された処理モジュールの識別番号を指定して、処理モジュールを呼び出す手順と、を含む。
本発明の実施の形態によれば、予め決められたタイミングでなく、アプリケーションの処理が実行中でも、処理の不整合が生じないタイミングでアプリケーションを変更することができる。
図1は、本発明の第1の実施形態における計算機システムの全体の構成図である。
図2は、本発明の第1の実施形態におけるアプリケーションの機能的な構成例を示す図である。
図3は、本発明の第1の実施形態における処理モジュール格納部に格納されている各処理モジュールの構成図である。
図4Aは、本発明の第1の実施の形態におけるコンピュータのハードウェアの構成図である。
図4Bは、本発明の第1の実施の形態におけるクライアント端末のハードウェアの構成図である。
図5Aは、本発明の第1の実施形態における最新バージョン情報の構成の一例を示す図である。
図5Bは、本発明の第1の実施形態における処理モジュール情報の構成の一例を示す図である。
図5Cは、本発明の第1の実施形態における作業グループ定義の構成の一例を示す図である。
図6Aは、本発明の第1の実施形態における実行バージョン情報の構成の一例を示す図である。
図6Bは、本発明の第1の実施形態における実行履歴の構成の一例を示す図である。
図7は、本発明の第1の実施形態における処理モジュール情報更新処理のフローチャートである。
図8は、本発明の第1の実施形態における実行処理割込処理の手順を示すフローチャートである。
図9は、本発明の第1の実施形態におけるAP更新判断処理の手順を示すフローチャートである。
図10は、本発明の第1の実施形態における処理モジュール呼出処理の手順を示すフローチャートである。
図11Aは、本発明の第1の実施形態におけるアプリケーション変更のタイミングの例を説明する図ある。
図11Bは、図11Aに示す場合における、実行履歴の構成を示す図である。
図11Cは、本発明の第1の実施形態におけるアプリケーション変更のタイミングの例を説明する図ある。
図12は、本発明の第2の実施形態における計算機システムの全体の構成図である。
図13は、本発明の第2の実施形態における作業グループ定義の構成の一例を示す図である。
図14は、本発明の第2の実施形態におけるAP更新判断処理の手順を示すフローチャートである。
図15は、本発明の第2の実施形態における実行履歴の初期化処理の手順を示すフローチャートである。
図16は、本発明の第3の実施形態における計算機システムの全体の構成図である。
図17は、本発明の第3の実施形態における処理モジュール格納部に格納される各処理モジュールの構成図である。
図18Aは、本発明の第3の実施形態における最新バージョン情報の構成の一例を示す図である。
図18Bは、本発明の第3の実施形態における処理モジュール情報の構成の一例を示す図である。
図19は、本発明の第3の実施形態における実行バージョン情報の一例を示す図である
図20は、本発明の第3の実施形態における処理モジュール情報更新処理の手順を示すフローチャートである
図21は、本発明の第3の実施形態におけるAP更新判断処理の手順を示すフローチャートである。
図22は、本発明の第3の実施形態における処理モジュール呼出処理の手順を示すフローチャートである。
まず、本明細書に開示される発明の概要について説明する。
本発明では、アプリケーションの変更指示のタイミングに応じて、実行済の処理と変更される処理とで、同じ処理があるか否かを判定した結果に基づいて、アプリケーションの変更のタイミング(すなわち、呼び出される処理モジュールの識別情報)を判定し、その判定結果に従って、処理モジュールを指定して呼び出す。
なお、同じ処理があるか否かは、処理モジュールに含まれる処理のまとまり(作業グループ)毎に判定するとよい。
また、本発明で用いられる識別情報とは、呼び出される処理モジュールを特定するための情報で、アプリケーションに含まれる処理モジュールが変更された場合、変更前の処理モジュールと変更後の処理モジュールとを区別するための番号である。例えば、処理モジュールの変更時に、1ずつ値が増加するバージョン番号(バージョン)を使うことができる。なお、バージョン以外の他の情報であっても、呼び出される処理モジュールを一意に特定できるものであればよい。
本発明の実施の形態では、前述した方法を実現するために、以下の処理部を備える。
(1)配備されたモジュールに基づいて、処理モジュール情報と変更後の識別情報を変更する処理モジュール情報更新部
(2)アプリケーションが現在実行中の処理名を取得し、その処理の実行に割り込む実行処理割込部
(3)変更された処理を処理モジュールの識別情報毎に示した処理モジュール情報、及び、各処理の実行履歴を用いて処理モジュールの変更タイミングを判断するAP更新判断部
(4)処理モジュール情報とAP更新判断部による判断結果を用いて、実行中の識別情報に従って、処理モジュールを特定して呼び出す処理モジュール呼出部
以降では、本発明の実施形態について図面を用いて詳細に説明する。まず、第1の実施形態について説明する。なお、以降の実施形態の説明では、アプリケーションの変更の一例として、アプリケーションの更新(バージョンアップ)について記述しているが,本発明におけるアプリケーションの変更はバージョンアップに限定するものではない。他の例としては,ロールバックや一時的な機能変更などが挙げられる。
<実施形態1>
図1は、本発明の第1の実施形態における計算機システムの全体の構成図である。
第1の実施形態の計算機システムは、アプリケーション実行装置100及びクライアント端末200を備え、アプリケーション実行装置100とクライアント端末200とは、ネットワーク350によって接続される。
アプリケーション実行装置100は、プロセッサ、メモリ及びインターフェースを備える計算機であり、そのハードウェアの構成の詳細は図4を用いて説明する。
アプリケーション実行装置100は、アプリケーション110、アプリケーション実行処理部120、アプリケーション運用処理部130、処理モジュール格納部140、セッション情報150及びアプリケーション実行情報160を備える。アプリケーション実行処理部120及びアプリケーション運用処理部130は、インストールされたプログラムをプロセッサが実行することによって機能する。
アプリケーション110は、アプリケーション実行装置100において、クライアント端末200からの処理要求を処理するプログラムであり、プロセッサによって実行される。
アプリケーション実行処理部120は、実行処理割込部121、AP更新判断部122及び処理モジュール呼出部123を備える。
実行処理割込部121は、実行中の処理名を取得する。AP更新判断部122は、変更可能な処理モジュールのバージョンを判断する。処理モジュール呼出部123は、変更後のバージョンの処理モジュールを呼び出す。なお、実行処理割込部121、AP更新判断部122及び処理モジュール呼出部123の動作については、各々、図8、図9及び図10を用いて後述する。
アプリケーション運用処理部130は、作業グループ定義編集ツール131、処理モジュール情報更新部132及び処理モジュール配備ツール133を備える。作業グループ定義編集ツール131は、ユーザがアプリケーション実行情報160に含まれる作業グループ定義163を編集するために用いられる。処理モジュール配備ツール133は、新しい処理モジュールを処理モジュール格納部140に格納し、処理モジュール情報162を更新するために、処理モジュール情報更新部132を呼び出す。処理モジュール情報更新部132は、追加された処理モジュールに関する処理モジュール情報162を更新する。処理モジュール情報更新部132の動作については、図7を用いて後述する。
処理モジュール格納部140は、各バージョンの処理モジュール141、142及び143を格納している。処理モジュールは作業グループ毎に存在する。なお、一つの処理モジュールに複数の作業グループが含まれてもよい。
セッション情報150は、アプリケーションを利用するユーザのセッション毎に生成される情報で、実行バージョン情報151及び実行履歴152を含む。実行バージョン情報151は、現在実行中の処理モジュールのバージョンを示す情報である(図6A参照)。実行履歴152は、各処理が実行済かを示す情報である(図6B参照)。
アプリケーション実行情報160は、最新バージョン情報161、処理モジュール情報162及び作業グループ定義163を含む。最新バージョン情報161は、処理モジュールの最新バージョンを示す情報である(図5A参照)。処理モジュール情報162は、処理モジュールのバージョン毎に、呼び出される処理モジュールを定義した情報である(図5B参照)。作業グループ定義163は、各処理が含まれる作業グループを示す情報である(図5C参照)。なお、作業グループは、一纏まりの処理の区切り毎に設けられる、処理のグループである。
クライアント端末200は、プロセッサ、メモリ及びインターフェースを備える計算機であり、ブラウザ210が実行される。ブラウザ210は、ユーザの処理要求に応じて、アプリケーション実行装置100に対してHTTPリクエストを送信する機能を有するプログラムである。なお、クライアント端末200は、1台のみ図示するが、複数のクライアント端末200が備わってもよい。
図2は、第1の実施形態におけるアプリケーション111の機能的な構成例を示す図である。
アプリケーション111は、クライアント端末200からの要求に対して実行される複数の処理を含み、アプリケーション実行装置100のプロセッサによって各処理が順次実行される。
例えば、図2に示すチケット予約アプリケーション111は、ログイン処理モジュール112、チケット検索処理モジュール113、空席照会処理モジュール114及び予約処理モジュール115を含む。これらの各モジュールは、一つ又は複数の処理によって構成され(図3参照)、作業グループ定義163における作業グループ402に対応する。
図3は、第1の実施形態における処理モジュール格納部140に格納される各処理モジュールの構成図である。
各処理モジュールは作業グループ毎に従って設けられ、さらに処理モジュールのバージョン毎に設けられる。また、ある作業グループに対応する処理モジュールのバージョンが上がった場合、その作業グループ中で変更(バージョンアップ)された処理だけが、次のバージョンの処理モジュールに含まれる。そのため、作業グループによっては、特定のバージョンの処理モジュールが存在しない場合もある。なお、アプリケーションに含まれる作業グループ(処理モジュール)は一つでもよい。
例えば、図3に示す予約処理モジュールバージョン1(170)は、作業グループに含まれる処理に対応して、選択内容確認画面表示処理171、顧客情報入力画面表示処理172、料金計算処理173、申込内容確認画面表示処理174、チェックボックス入力確認処理175及び予約完了画面表示処理176を含む。バージョンが上がった予約処理モジュールバージョン2(180)は、処理内容に変更があった申込内容確認画面表示処理181及びチェックボックス入力確認処理182を含む。
なお、予約処理モジュールバージョン1(170)は、処理モジュールバージョン1(141)に含まれ、予約処理モジュールバージョン2(180)は、処理モジュールバージョン2(142)に含まれる。
図4Aは、第1の実施形態における計算機システムのハードウェアの構成図であり、図4Bは、クライアント端末のハードウェアの構成図である。
クライアント端末200は、プロセッサ300、主記憶装置310、二次記憶装置(例えば、ハードディスク装置)320及びネットワークインターフェース340を備え、これらのデバイスがシステムバス330によって接続された計算機である。
主記憶装置310は、例えば、半導体メモリであって、プロセッサ300によって実行されるプログラム(例えば、ブラウザプログラム210)を格納する。
ネットワークインターフェース340は、ネットワーク350に接続され、所定のプロトコルに従って、ネットワーク350に接続された装置(例えば、アプリケーション実行装置100)とデータを送受信する。
アプリケーション実行装置100は、プロセッサ360、ネットワークインターフェース370、主記憶装置390及び二次記憶装置(例えば、ハードディスク装置)400を備え、これらのデバイスがシステムバス380によって接続された計算機である。
ネットワークインターフェース370は、ネットワーク350に接続され、所定のプロトコルに従って、ネットワーク350に接続された装置(例えば、クライアント端末200)とデータを送受信する。
主記憶装置390は、例えば、半導体メモリであって、プロセッサ360によって実行される各種プログラム、具体的には、アプリケーション110、すなわち、処理モジュール格納部140に含まれる処理モジュール、及び、アプリケーション実行処理部120及びアプリケーション運用処理部130を機能させるためのプログラムを格納する。
二次記憶装置400は、例えば、ハードディスク装置等の大容量の記憶装置であり、セッション情報150及びアプリケーション情報160を格納する。
図5Aから図5Cは、第1の実施形態におけるアプリケーション実行情報160の構成の一例を示す図であり、図5Aは最新バージョン情報161を、図5Bは処理モジュール情報162を、図5Cは作業グループ定義163を示す。
図5Aに示すように、最新バージョン情報161は、処理モジュール格納部140に格納されている処理モジュールの中で、最新のバージョンを表す最新バージョン411を含む。
図5Bに示すように、処理モジュール情報162は、処理モジュールバージョン421、作業グループ422、処理名423及び処理モジュール名424を含む。処理モジュールバージョン421は、処理モジュールのバージョンである。作業グループ422は、作業グループの名称である。処理名423は、各作業グループに含まれる処理の名称である。処理モジュール名424は、処理モジュール呼出部123がモジュールを呼び出すために利用される処理モジュールの名称である。
図5Cに示すように、作業グループ定義163は、処理名401及び作業グループ402を含む。処理名401は、各作業グループに含まれる処理の名称であり、処理モジュール情報162の処理名423と共通の名称が使用される。作業グループ402は、処理の纏まりであるグループの名称であり、処理モジュール情報162の作業グループ422と共通の名称が使用される。
図6A及び図6Bは、第1の実施形態におけるセッション情報150の構成の一例を示す図であり、図6Aは実行バージョン情報151を、図6Bは実行履歴152を示す。
図6Aに示すように、実行バージョン情報151は、現在実行中の各処理の処理モジュールのバージョンを表す実行バージョン501を含む。この実行バージョン501は、ユーザセッションの開始時に、最新バージョン情報161の最新バージョン411の値を取得し、取得したバージョンの値が格納される。
図6Bに示すように、実行履歴152は、処理名511、作業グループ512及び実行状態513を含む。処理名511は、各作業グループに含まれる処理の名称であり、処理モジュール情報162の処理名423と共通の名称が使用される。作業グループ512は、処理の纏まりであるグループの名称であり、処理モジュール情報162の作業グループ422と共通の名称が使用される。実行状態513は、各処理が実行されたかを表し、「実行済み」、「未実行」のいずれかが格納される。
なお、第1の実施形態において、実行履歴152は、ログイン処理112においてクライアント端末200とのセッションが確立した際に初期化される。なお、セッションの終了時に実行履歴152を初期化してもよい。
次に、アプリケーション実行装置100によって実行される処理について説明する。
アプリケーション実行処理部120を構成する実行処理割込部121、AP更新判断部122及び処理モジュール呼出部123は、クライアント端末200のブラウザ210からの要求をアプリケーション110で処理する際に、実行される。アプリケーション実行処理部120を構成する各処理部は、アプリケーションの各処理毎に、実行処理割込部121、AP更新判断部122、処理モジュール呼出部123の順に実行される。
アプリケーション運用部130の処理モジュール情報更新部132は、新しく処理モジュールが処理モジュール格納部140に格納された際に、処理モジュール情報162を更新する。
図7は、第1の実施形態における処理モジュール情報更新部132によって実行される処理を示すフローチャートである。
まず、運用者が処理モジュール配備ツール133を使用して、新しい処理モジュールを処理モジュール格納部140に格納する。その後、処理モジュール配備ツール133は、処理モジュール情報更新部132を呼び出し、処理モジュール情報更新処理600が実行される。
処理モジュール情報更新部132は、最新バージョン情報161の最新バージョン411に格納されている値を1だけインクリメントした値に更新し、変数Vに設定する(ステップ601)。
ここで、新たに配備された処理モジュールに含まれる全ての処理(S)について、ステップ603から604の手順を繰り返す(ステップ602)。
処理名410の値が処理Sと同じデータを作業グループ定義163から検索し、検索されたデータの作業グループ402を取得し、変数Gに設定する(ステップ603)。
そして、処理モジュール情報162に以下の項目を含むデータを追加する(ステップ604)。
処理モジュールバージョン421=V
作業グループ422 =G
処理名423 =S
処理モジュール名424 =S+「モジュール」+V
その後、全ての処理Sについて、ステップ603から604の手順が終了したら、ループを終了する(ステップ605)。
図8は、第1の実施形態における実行処理割込部121によって実行される処理の手順を示すフローチャートである。
まず、実行処理割込部121は、現在実行中のアプリケーションの処理に割り込み、実行中の処理の名称を取得し、変数exeに設定する(ステップ701)。例えば、Java(Javaは登録商標、以下同じ)では、実行処理の割り込みは、クラスファイルの変換(バイトコードの操作)や、Java Virtual Machine上での処理のトラップなどによって実現することができる。
その後、取得した実行中の処理の名称(exe)をAP更新判断部122のパラメータに設定し(ステップ702)、AP更新判断部122を呼び出す。これによって、AP更新判断処理800(図9)が開始する。
図9は、第1の実施形態におけるAP更新判断部122によって実行される処理の手順を示すフローチャートである。
AP更新判断処理800には、引数として実行中処理名exeが入力される。
まず、AP更新判断部122は、最新バージョン情報161の最新バージョン411と、実行バージョン情報151の実行バージョン501とが一致するか否かを判定する(ステップ801)。その結果、両者が一致した場合、実行中処理名exeを引数として、処理モジュール呼出処理900を呼び出す。
一方、両者が一致しない場合、処理名401の値が実行中処理名exeと同じデータを作業グループ定義163から検索し、検索されたデータの作業グループ402の値を取得し、取得した作業グループ402の値をGに設定する(ステップ802)。
その後、作業グループ512の値が作業グループGと同じで、かつ、実行状態513が「実行済み」である処理名511を実行履歴152から抽出し、リストL1を取得する(ステップ803)。
そして、処理モジュール情報162の処理モジュールバージョン421と比較されるバージョンVの初期値として、最新バージョン情報161の最新バージョン411を設定する(ステップ804)。
作業グループ422の値が作業グループGと同じで、かつ、処理モジュールバージョン421の値がバージョンVと同じである処理名423を処理モジュール情報162から抽出し、リストL2を取得する(ステップ805)。
その後、バージョンVが実行バージョン情報151の実行バージョン501より大きく、バージョンVが最新バージョン情報161の最新バージョン411以下であり、かつ、リストL1とリストL2との中に同じ処理名が存在するか否かを判定する(ステップ806)。リストL1に含まれる実行済の処理と、リストL2に含まれるバージョンVの処理と同じ処理があるか、すなわち、変更されるべき処理が実行済であるかを判定する。
この条件が成立しない場合、Vを1だけデクリメントして(ステップ807)、ステップ805へ戻る。
一方、ステップ806の条件が成立する場合、実行バージョン情報151の実行バージョン501の値をVに更新し(ステップ808)、処理モジュール呼出部123を呼び出す。これによって、処理モジュール呼出処理900(図10)が開始する。
図10は、第1の実施形態における処理モジュール呼出部123によって実行される処理の手順を示すフローチャートである。
処理モジュール呼出処理900には、引数として実行中処理名exeが入力される。
まず、実行バージョン情報151の実行バージョン501の値を取得し、変数Vに設定する(ステップ901)。
次に、処理モジュールバージョン421の値がバージョンVと同じで、かつ、処理名423の値が実行中処理名exeと同じデータ(行L)を処理モジュール情報162から検索し(ステップ902)、行Lが存在するか否かを判定する(ステップ903)。
行Lが存在しない場合、バージョンVを1だけデクリメントし(ステップ904)、ステップ902へ戻る。一方、行Lが存在する場合、行Lの処理モジュール名424のモジュールを呼び出す(ステップ905)。
図11Aから図11Cは、第1の実施形態におけるアプリケーション変更のタイミングの例を説明する図ある。
図11A及び図11Cは、AP変更指示1001及び1002のタイミングが異なることによって、アプリケーション変更のタイミングが異なる例を示し、図11Bは図11Aに示す場合における、実行履歴152を示す。
AP変更指示1001及び1002は、新たなモジュールが処理モジュール格納部140に配備され、処理モジュール更新部132が最新バージョン情報161及び処理モジュール情報162を更新したタイミングである。また、図11A及び図11Cにおいて、時間軸1004、1005に従って、実行バージョン501に規定されるバージョンの処理が実行される。
図11Aに示すように、申込内容確認画面表示処理174とチェックボックス入力確認処理175との間で、AP変更指示1001がされた場合、実行履歴152は、図11Bに示すように、選択内容確認画面表示処理171から申込内容確認画面表示処理174までの実行状態513が「実行済み」となっている。このため、AP更新判断部122は、実行履歴152中で実行状態513が「実行済み」である処理名511と、処理モジュール情報162の処理名423とを比較し(図9のステップ803〜806)、リストL1及びL2に「申込内容確認画面表示」処理が存在するので、チェックボックス入力確認処理175以後の実行バージョン1006は1のまま変更されない。
すなわち、図11Aに示す場合は、実行バージョン501の値より大きい予約処理モジュールバージョン2(180)での変更箇所である申込内容確認画面表示184が実行済みなので、処理の整合性を保つために、変更した処理モジュールが実行されない。
一方、図11Cに示すように、料金計算処理173と申込内容確認画面表示処理174との間で、AP変更指示1002がされた場合、実行履歴152は、図6Bに示すように、選択内容確認画面表示処理171から料金計算処理173までの実行状態513が「実行済み」となっており、申込内容確認画面表示処理174以後の実行状態513が「未実行」となっている。このため、AP更新判断部122は、実行履歴153中で実行状態513が「実行済み」である処理名511と、処理モジュール情報162の処理名423とを比較し(図9のステップ803〜806)、リストL2には「申込内容確認画面表示」処理が存在するが、リストL1には「申込内容確認画面表示」処理が存在しないので、申込内容確認画面表示処理174以後の実行バージョン1006は2に変更される。
すなわち、図11Cに示す場合は、実行バージョン501の値より大きい予約処理モジュールバージョン2(180)での変更箇所である申込内容確認画面表示184が実行済みではないので、このタイミングで処理モジュールのバージョンを上げても処理の整合性を保つことができるので、すぐに変更した処理モジュールが実行される。
以上説明したように、第1の実施形態によれば、クライアント端末200のブラウザ210からの要求をアプリケーション110で処理する際に、実行処理割込部121、AP更新判断部122及び処理モジュール呼出部123によって、ユーザのセッション毎に処理モジュールを、そのバージョンを区別して呼び出すことができる。
また、最新バージョン情報161及び処理モジュール情報162の更新のタイミングに応じて、アプリケーションを変更することができる。すなわち、実行履歴152と処理モジュール情報162とを比較した結果によって、現在実行中の処理で実行バージョン501の値を最新バージョン411の値へ上げてよいかを判定し、アプリケーションの変更可否を判断することができる。
そのため、予め決められたタイミングによらず、アプリケーションの処理が実行中であっても処理の不整合なく、かつ迅速にアプリケーションを変更することができる。
<実施形態2>
次に、第2の実施形態について説明する。
本発明の第2の実施形態では、アプリケーションのソースコードを解析することによって、作業グループ中の処理が開始処理か又は終了処理かを判定し、いずれか又は両方の処理のタイミングで、実行履歴を初期化する。これによって、アプリケーションの処理が実行中であっても処理間で不整合なくアプリケーションを変更することができ、さらに、アプリケーションが一度変更箇所の処理を実行した後でも、アプリケーションを変更することができる。
図12は、第2の実施形態における計算機システムの全体の構成図である。
第2の実施形態の計算機システムは、アプリケーション実行装置100及びクライアント端末200を備え、アプリケーション実行装置100とクライアント端末200とは、ネットワーク350によって接続される。なお、前述した第1の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
第2の実施形態のアプリケーション実行装置100は、前述した第1の実施の形態と同じ構成の他、アプリケーション解析部1100を備える。アプリケーション解析部1100は、インストールされたプログラムをプロセッサが実行することによって機能する。
アプリケーション解析部1100は、アプリケーション110のソースコードを解析し、作業グループの中で、どの処理が開始処理か又は終了処理かを判定するためのアプリケーション解析を行う。この解析の結果は、作業グループ定義263(図13)の処理順番1201に記録される。
このため、作業グループ定義263の構成、及び、AP更新判断部222による処理が、前述した第1の実施の形態と異なる。
図13は、第2の実施形態における作業グループ定義263の構成の一例を示す図である。
作業グループ定義263は、処理名401、作業グループ402及び処理順番1201を含む。処理名401及び作業グループ402は、前述した第1の実施形態の作業グループ定義163(図5C)と同じである。処理順番1201は、各処理が開始処理であるか、終了処理であるかを示す情報である。
図14は、第2の実施形態におけるAP更新判断部222によって実行される処理の手順を示すフローチャートである。
第2の実施形態のAP更新判断処理1400は、第1の実施形態のAP更新判断処理800(図9)に、ステップ1411及び1412が新たに追加されている。第2の実施形態のAP更新判断処理1400のステップ801から808は、第1の実施形態のAP更新判断処理800のステップ801から808と同じであるため、それらの説明は省略する。
ステップ1411及び1412では、実行履歴の初期化処理1401を実行する。このとき、文字列(「開始」又は「終了」)、及び、実行中処理名exeが引数として指定される。この引数となる文字列は、ステップ1411では「開始」が、ステップ1412では「終了」が入力される。実行履歴の初期化処理1401の詳細については、図15を用いて後述する。
なお、図14に示すAP更新判断処理1400では、処理の開始時(ステップ1411)及び処理の終了時(ステップ1412)に実行履歴を初期化したが、開始時又は終了時のいずれか一方で実行履歴を初期化すればよい。
図15は、第2の実施形態における実行履歴の初期化処理1401の手順を示すフローチャートである。
実行履歴の初期化処理1401には、引数として文字列Str及び実行中処理名exeが入力される。
まず、処理名401の値が実行中処理名exeと同じデータを作業グループ定義263から検索し、検索されたデータの処理順番1201及び作業グループ402の値を取得し、取得した作業グループ402の値をGに設定する(ステップ1402)。
次に、ステップ1402で取得した処理順番1201と文字列Strとが一致するか否かを判定する(ステップ1403)。その結果、両者が一致しない場合、実行履歴を初期化するタイミングではないので、この処理1401を終了する。
一方、両者が一致した場合、作業グループの開始又は終了のタイミングであり、当該作業グループの実行履歴を初期化するタイミングである。このため、作業グループ512の値が作業グループGと同じであるデータについて、ステップ1405の手順を繰り返す(ステップ1404)。
ステップ1405では、実行履歴152の実行状態513の値を「未実行」に設定する(ステップ1405)。
その後、全ての処理について、ステップ1405の手順が終了したら、ループを終了する(ステップ1406)。
以上説明したように、第2の実施形態によれば、アプリケーション解析部1100が、作業グループ定義163に処理順番1201を追加する。AP更新判断部222は、この処理順番1201を用いて、実行履歴の初期化処理を実行する。実行履歴を初期化することによって、アプリケーション変更後の処理をユーザが一度実行した後に、再度ログインすることなく、その作業グループの処理を再び実行する場合、再度アプリケーションを変更することができる。
また、本発明の第1の実施形態と同様に、予め決められたタイミングによらず、アプリケーションの処理が実行中であっても処理の不整合なく、かつ迅速にアプリケーションを変更することができる。
<実施形態3>
次に、第3の実施形態について説明する。
本発明の第3の実施形態では、アプリケーション実行装置100にアクセスしたユーザの組織を識別することによって、組織毎にアプリケーションの変更可否を判定し、処理モジュールを呼び出す。これによって、アプリケーションの処理が実行中であっても処理の不整合なくアプリケーションを変更でき、さらに、組織毎にアプリケーションを変更できる。
なお、ユーザの組織の他、任意の属性情報(例えば、役職)について、第3の実施形態を適用することができる。
図16は、第3の実施形態における計算機システムの全体の構成図である。
第3の実施形態の計算機システムは、アプリケーション実行装置100及びクライアント端末200を備え、アプリケーション実行装置100とクライアント端末200とは、ネットワーク350によって接続される。なお、前述した第1の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
第3の実施形態のアプリケーション実行装置100は、前述した第1の実施の形態と同じ構成の他、組織識別処理部1500を備える。組織識別処理部1500は、インストールされたプログラムをプロセッサが実行することによって機能する。
組織識別処理部1500は、クライアント端末200のブラウザ210からアクセスしてきたユーザの組織情報を識別する。なお、アプリケーション実行装置100は、ユーザの識別子と組織情報とを対応付けるデータを管理している。そして、識別された組織情報毎に実行バージョン情報351が記録される(図19参照)。
また、最新バージョン情報361には、組織名1701毎に最新バージョン411が格納され(図18A参照)、処理モジュール情報362には、組織名1711毎に処理の情報421〜424が格納される(図18B参照)。
このため、AP更新判断部322による処理が、前述した第1の実施の形態と異なる。
図17は、第3の実施形態における処理モジュール格納部140に格納される各処理モジュールの構成図である。
各処理モジュールは組織毎、及び作業グループ毎に区分され、さらに処理モジュールのバージョン毎に設けられる。また、ある組織の、ある作業グループに対応する処理モジュールのバージョンが上がった場合、その作業グループ中で変更(バージョンアップ)された処理だけが、次のバージョンの処理モジュールに含まれる。
例えば、図17に示す組織A用予約処理モジュールバージョン1(1600)は、作業グループに含まれる処理に対応して、選択内容確認画面表示処理1601、顧客情報入力画面表示処理1602、料金計算処理1603、申込内容確認画面表示処理1604、チェックボックス入力確認処理1605及び予約完了画面表示処理1606を含む。バージョンが上がった組織A用予約処理モジュールバージョン2(1610)は、処理内容に変更があった申込内容確認画面表示処理1614及びチェックボックス入力確認処理1612を含む。また、組織B用予約処理モジュールバージョン1(1620)は、作業グループに含まれる処理に対応して、選択内容確認画面表示処理1621、顧客情報入力画面表示処理1622、料金計算処理1623、申込内容確認画面表示処理1624、チェックボックス入力確認処理1625及び予約完了画面表示処理1626を含む。組織B用予約処理モジュールバージョン1(1620)は、組織A用予約処理モジュールバージョン1(1600)と同じ構成になっているが、各処理の内容は同じでも、異なってもよい。
なお、組織A用予約処理モジュールバージョン1(1600)及び組織B用予約処理モジュールバージョン1(1620)は、処理モジュールバージョン1(141)に含まれ、組織A用予約処理モジュールバージョン2(1610)は、処理モジュールバージョン2(142)に含まれる。
図18Aは、第3の実施形態における最新バージョン情報361の構成の一例を示す図である。
最新バージョン情報361は、組織名1701及び最新バージョン411を含む。組織名1701は、ユーザが属する組織を表す。最新バージョン411は、処理モジュール格納部140に格納されている処理モジュールの中で、組織毎の最新のバージョンを表す。
図18Bは、第3の実施形態における処理モジュール情報362の構成の一例を示す図である。
処理モジュール情報362は、組織名1711、処理モジュールバージョン421、作業グループ422、処理名423及び処理モジュール名424を含む。組織名1701は、ユーザが属する組織を表す。処理モジュールバージョン421、作業グループ422、処理名423及び処理モジュール名424は、各々、組織毎の情報を表す。すなわち、第3の実施形態の処理モジュール情報362は、組織、作業グループ及び処理モジュールバージョン毎に呼び出される処理モジュールを表す。
図19は、第3の実施形態における実行バージョン情報351の一例を示す図である。
実行バージョン情報351は、組織名1801及び実行バージョン501を含む。組織名1801は、アクセスしているユーザが属する組織を表す。実行バージョン501は、現在実行中の各処理の処理モジュールの組織毎のバージョンを表す。
図20は、第3の実施形態における処理モジュール情報更新部132によって実行される処理の手順を示すフローチャートである。
第3の実施形態の処理モジュール情報更新処理1900は、第1の実施形態の処理モジュール情報更新処理600(図7)に、ステップ1901が追加され、ステップ601の代わりにステップ1902が、ステップ604の代わりにステップ1903が実行される。第3の実施形態の処理モジュール情報更新処理1900のステップ602、603、605は、第1の実施形態の処理モジュール情報更新処理600のステップ602、603、605と同様であるため、それらの説明は省略する。
まず、運用者が処理モジュール配備ツール133を使用して、新しい処理モジュールを処理モジュール格納部140に格納する。このとき、処理モジュール配備ツール133には、新たに配備された処理モジュールが対応する組織の情報Orgが入力される。その後、処理モジュール配備ツール133は、処理モジュール情報更新部132を呼び出し、処理モジュール情報更新処理1900が実行される。
まず、入力された組織情報Orgを処理モジュール配備ツール133から取得する(ステップ1901)。
組織名1701の値が組織情報Orgと同じデータを最新バージョン情報361から検索し、検索されたデータの最新バージョン411の値を1だけインクリメントした値に更新し、変数Vに設定する(ステップ1902)。
その後、ステップ602によって、新たに配備された処理モジュールに含まれる全ての処理(S)についてループが開始し(ステップ602)。ステップ603の手順が実行される。
そして、処理モジュール情報362に以下の項目を含むデータを追加する(ステップ1903)。
組織名1711 =Org
処理モジュールバージョン421=V
作業グループ422 =G
処理名423 =S
処理モジュール名424 =「組織」+Org+「用」+S+「モジュール」+V
その後、全ての処理Sについて、ステップ603及び1903の手順が終了したら、ループを終了する(ステップ605)。
図21は、第3の実施形態におけるAP更新判断部322によって実行される処理の手順を示すフローチャートである。
第3の実施形態のAP更新判断処理2000は、第1の実施形態のAP更新判断処理800(図9)に、ステップ2001が追加され、ステップ805の代わりにステップ2002が実行される。第3の実施形態のAP更新判断処理2000のステップ801〜804及び806〜808は、第1の実施形態のAP更新判断処理800のステップ801〜804及び806〜808と同様であるため、それらの説明は省略する。
AP更新判断処理2000には、引数として実行中処理名exeが入力される。
まず、実行バージョン情報351から、組織名1801の値及び実行バージョン501の値を取得し、取得した組織名1801の値をOrgに設定する。また、組織名1701の値が組織名Orgと同じデータの最新バージョン411の値を取得する(ステップ2001)。
その後、ステップ801から804の手順が実行される。
その後、組織名1711の値が組織名Orgと同じで、作業グループ422の値が作業グループGと同じで、かつ、処理モジュールバージョン421の値がバージョンVと同じである処理名423を処理モジュール情報162から抽出し、リストL2を取得する(ステップ2002)。
その後、ステップ806から807の手順が実行され、ステップ806の条件が成立する場合、実行バージョン情報351の実行バージョン501の値をVに更新し(ステップ808)、処理モジュール呼出部123を呼び出す。
図22は、第3の実施形態における処理モジュール呼出部123によって実行される処理の手順を示すフローチャートである。
第3の実施形態の処理モジュール呼出処理2100は、第1の実施形態の処理モジュール呼出処理900(図10)において、ステップ901、902の代わりにステップ2101、2102が実行される。第3の実施形態の処理モジュール呼出処理2100のステップ903〜905は、第1の実施形態の処理モジュール呼出処理900のステップ903〜905と同様であるため、それらの説明は省略する。
まず、実行バージョン情報351の組織名1801の値及び実行バージョン501の値を取得し、取得した組織名の値を変数Orgに設定し、取得した実行バージョンの値を変数Vに設定する(ステップ2101)。
次に、組織名1711が組織名Orgと同じで、処理モジュールバージョン421の値がバージョンVと同じで、かつ、処理名423の値が実行中処理名exeと同じデータ(行L)を処理モジュール情報362から検索する(ステップ2102)。
その後、行Lが存在するか否かを判定する(ステップ903)。行Lが存在しない場合、バージョンVを1だけデクリメントし(ステップ904)、ステップ2102へ戻る。一方、行Lが存在する場合、行Lの処理モジュール名424のモジュールを呼び出す(ステップ905)。
以上説明したように、第3の実施形態によれば、組織識別処理部1500が実行バージョン情報151に組織名を追加する。処理モジュール呼出部123がアプリケーションの処理を実行する。組織情報を識別することによって、一つのアプリケーション実行装置を複数の組織のユーザで共用することができ、組織毎にアプリケーションの変更のタイミングを変えたり、アプリケーションによる処理の内容を変えたりすることができる。
また、本発明の第1の実施形態と同様に、予め決められたタイミングによらず、アプリケーションの処理が実行中であっても処理の不整合なく、かつ迅速にアプリケーションを変更することができる。
本発明は、アプリケーションプログラムを実行する計算機システムに適用され、アプリケーションの変更のタイミングの制約を緩和し、迅速にアプリケーションを変更する。

Claims (15)

  1. 1又は複数の処理モジュールによって構成されるアプリケーションプログラムを実行する計算機におけるプログラム実行方法であって、
    前記処理モジュールは、1又は複数の処理を含み、かつ前記処理モジュールは識別番号で管理されており、
    前記計算機は、実行する処理モジュールの変更のタイミングを判断するAP更新判断部と、処理モジュールを呼び出す処理モジュール呼出部と、を備え、
    前記方法は、
    前記AP更新判断部が、実行中の処理モジュールの識別番号と配備された処理モジュールの識別番号とを比較することによって、実行する処理モジュールの変更が必要かを判断する手順と、
    前記AP更新判断部が、前記処理モジュールに含まれる各処理が実行済かを示す履歴情報と、実行中の処理モジュールと配備された処理モジュールとの間で異なる処理を示す情報とに基づいて、実行する処理モジュールの識別番号を決定する手順と、
    前記処理モジュール呼出部が、前記AP更新判断部によって決定された処理モジュールの識別番号を指定して、処理モジュールを呼び出す手順と、を含むことを特徴とするプログラム実行方法。
  2. 請求項1に記載のプログラム実行方法であって、
    前記識別番号を決定する手順では、
    前記処理モジュールに含まれる各処理が実行済かを示す第1のリストを取得し、
    各識別番号の処理モジュールに含まれる変更された処理を示す第2のリストを取得し、
    前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定し、
    実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定することを特徴とするプログラム実行方法。
  3. 請求項2に記載のプログラム実行方法であって、
    前記処理は、1又は複数の作業グループにグループ化されており、
    前記識別番号を決定する手順では、
    前記作業グループに含まれる処理の中で、前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定し、
    前記作業グループ内で、実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定することを特徴とするプログラム実行方法。
  4. 請求項3に記載のプログラム実行方法であって、
    前記計算機は、前記アプリケーションプログラムを解析し、前記処理モジュールの開始処理及び終了処理の少なくとも一方を識別するアプリケーション解析部を備え、
    前記方法は、実行される処理が開始処理又は終了処理である場合、前記履歴情報を初期化する手順を含むことを特徴とするプログラム実行方法。
  5. 請求項1に記載のプログラム実行方法であって、
    前記計算機は、前記計算機にアクセスしたユーザの組織情報を識別する組織識別処理部を備え、
    前記識別番号を決定する手順では、前記識別された組織情報を参照して、組織毎に、処理モジュールの識別番号を決定することを特徴とするプログラム実行方法。
  6. 1又は複数の処理モジュールによって構成されるアプリケーションプログラムを実行する計算機を備える計算機システムであって、かつ前記処理モジュールは識別番号で管理されており、
    前記処理モジュールは、1又は複数の処理を含み、
    前記計算機は、実行する処理モジュールの変更のタイミングを判断するAP更新判断部と、処理モジュールを呼び出す処理モジュール呼出部と、を備え、
    前記AP更新判断部は、
    実行中の処理モジュールの識別番号と配備された処理モジュールの識別番号とを比較することによって、実行する処理モジュールの変更が必要かを判断し、
    前記アプリケーションプログラムに含まれる各処理が実行済かを示す履歴情報と、実行中の処理モジュールと配備された処理モジュールとの間で異なる処理を示す情報とに基づいて、実行する処理モジュールの識別番号を決定し、
    前記処理モジュール呼出部は、前記AP更新判断部によって決定された処理モジュールの識別番号を指定して、処理モジュールを呼び出すことを特徴とする計算機システム。
  7. 請求項6に記載の計算機システムであって、
    前記AP更新判断部は、
    前記処理モジュールに含まれる各処理が実行済かを示す第1のリストを取得し、
    各識別番号の処理モジュールに含まれる変更された処理を示す第2のリストを取得し、
    前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定し、
    実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定することを特徴とする計算機システム。
  8. 請求項7に記載の計算機システムであって、
    前記処理は、1又は複数の作業グループにグループ化されており、
    前記AP更新判断部は、
    前記作業グループに含まれる処理の中で、前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定し、
    前記作業グループ内で、実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定することを特徴とする計算機システム。
  9. 請求項8に記載の計算機システムであって、
    前記計算機は、前記アプリケーションプログラムを解析し、前記処理モジュールの開始処理及び終了処理の少なくとも一方を識別するアプリケーション解析部を備え、
    前記AP更新判断部は、実行される処理が開始処理又は終了処理である場合、前記履歴情報を初期化することを特徴とする計算機システム。
  10. 請求項6に記載の計算機システムであって、
    前記計算機は、前記計算機にアクセスしたユーザの組織情報を識別する組織識別処理部を備え、
    前記AP更新判断部は、前記識別された組織情報を参照して、組織毎に、実行する処理モジュールの識別番号を決定することを特徴とする計算機システム。
  11. 1又は複数の処理モジュールによって構成されるアプリケーションプログラムを実行する計算機におけるプログラムの実行を制御するプログラムであって、
    前記処理モジュールは、1又は複数の処理を含み、かつ前記処理モジュールは識別番号で管理されており、
    前記計算機は、実行する処理モジュールの変更のタイミングを判断するAP更新判断部と、処理モジュールを識別して呼び出す処理モジュール呼出部と、を備え、
    前記プログラムは、
    前記AP更新判断部が、実行中の処理モジュールの識別番号と配備された処理モジュールの識別番号とを比較することによって、実行する処理モジュールの変更が必要かを判断する手順と、
    前記AP更新判断部が、前記処理モジュールに含まれる各処理が実行済かを示す履歴情報と、実行中の処理モジュールと配備された処理モジュールとの間で異なる処理を示す情報とに基づいて、実行する処理モジュールの識別番号を決定する手順と、
    前記処理モジュール呼出部が、前記AP更新判断部によって決定された処理モジュールの識別番号を指定して、処理モジュールを呼び出す手順と、を前記計算機に実行させることを特徴とするプログラム。
  12. 請求項11に記載のプログラムであって、
    前記識別番号を決定する手順では、
    前記処理モジュールに含まれる各処理が実行済かを示す第1のリストを取得する手順と
    各識別番号の処理モジュールに含まれる変更された処理を示す第2のリストを取得する手順と、
    前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定する手順と、
    実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定する手順と、を前記計算機に実行させることを特徴とするプログラム。
  13. 請求項12に記載のプログラムであって、
    前記処理は、1又は複数の作業グループにグループ化されており、
    前記識別番号を決定する手順では、
    前記作業グループに含まれる処理の中で、前記第1のリストと前記第2のリストとを比較して、実行済の処理と変更が必要な処理とが重複するか否かを判定する手順と、
    前記作業グループ内で、実行済の処理と変更が必要な処理とが重複しない最新の識別番号に、実行する処理モジュールの識別番号を決定する手順と、を前記計算機に実行させることを特徴とするプログラム。
  14. 請求項13に記載のプログラムであって、
    前記計算機は、前記アプリケーションプログラムを解析し、前記処理モジュールの開始処理及び終了処理の少なくとも一方を識別するアプリケーション解析部を備え、
    前記プログラムは、実行される処理が開始処理又は終了処理である場合、前記履歴情報を初期化する手順を前記計算機に実行させることを特徴とするプログラム。
  15. 請求項11に記載のプログラムであって、
    前記計算機は、前記計算機にアクセスしたユーザの組織情報を識別する組織識別処理部を備え、
    前記プログラムは、前記識別番号を決定する手順では、前記識別された組織情報を参照して、組織毎に、実行する処理モジュールの識別番号を決定する手順を前記計算機に実行させることを特徴とするプログラム。
JP2012506755A 2010-03-25 2010-03-25 プログラム実行方法、計算機システム及びプログラム実行制御プログラム Pending JPWO2011118048A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/055985 WO2011118048A1 (ja) 2010-03-25 2010-03-25 プログラム実行方法、計算機システム及びプログラム実行制御プログラム

Publications (1)

Publication Number Publication Date
JPWO2011118048A1 true JPWO2011118048A1 (ja) 2013-07-04

Family

ID=44672637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012506755A Pending JPWO2011118048A1 (ja) 2010-03-25 2010-03-25 プログラム実行方法、計算機システム及びプログラム実行制御プログラム

Country Status (3)

Country Link
US (1) US20120185839A1 (ja)
JP (1) JPWO2011118048A1 (ja)
WO (1) WO2011118048A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105431817B (zh) * 2013-08-01 2019-01-04 石田伸一 源程序比较装置以及存储装置
JP7005447B2 (ja) * 2018-07-18 2022-01-21 株式会社東芝 サーバ装置、方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05307478A (ja) * 1992-04-30 1993-11-19 Nippon Telegr & Teleph Corp <Ntt> データベース管理システムの構成法
JPH0683598A (ja) * 1992-09-03 1994-03-25 Hitachi Ltd ジョブフロー仕様書自動作成方法
JP2003202990A (ja) * 2002-01-08 2003-07-18 Hitachi Information Systems Ltd プログラム管理起動システムとプログラム管理起動方法およびプログラムと記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112300A (en) * 1998-06-03 2000-08-29 International Business Machines Corporation Method and apparatus for performing multi-way branching using a hardware relational table

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05307478A (ja) * 1992-04-30 1993-11-19 Nippon Telegr & Teleph Corp <Ntt> データベース管理システムの構成法
JPH0683598A (ja) * 1992-09-03 1994-03-25 Hitachi Ltd ジョブフロー仕様書自動作成方法
JP2003202990A (ja) * 2002-01-08 2003-07-18 Hitachi Information Systems Ltd プログラム管理起動システムとプログラム管理起動方法およびプログラムと記録媒体

Also Published As

Publication number Publication date
WO2011118048A1 (ja) 2011-09-29
US20120185839A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
US8332845B2 (en) Compile timing based on execution frequency of a procedure
US8099478B2 (en) Program, method, and apparatus for managing applications
EP3382534A1 (en) Page jumping method and apparatus
EP1978672B1 (en) Method for implementing management software, hardware with pre-configured software and implementing method thereof
JP4974749B2 (ja) 情報処理装置、配信方法、その方法を実行する制御プログラム
EP2893443B1 (en) Re-configuration in cloud computing environments
AU2011200588B2 (en) Multiple simultaneous session support by a remote technician
CN110149409B (zh) 云主机元数据服务管理方法、系统、设备及存储介质
US20070240150A1 (en) Simplifying installation of a suite of software products
US20090013321A1 (en) Managing virtual computers
US20080244589A1 (en) Task manager
US9542226B2 (en) Operating programs on a computer cluster
US20170033980A1 (en) Agent manager for distributed transaction monitoring system
US10430232B2 (en) Controllable workflow in software configuration automation
US20120096453A1 (en) Software Package Management Mechanism
WO2011118048A1 (ja) プログラム実行方法、計算機システム及びプログラム実行制御プログラム
US11924295B2 (en) Serving assets in a networked environment
US10073689B2 (en) Managing application lifecycles within a federation of distributed software applications
US20230224212A1 (en) Automated Deployment of Control Nodes at Remote Locations
US9459914B2 (en) Processing method for control apparatus involves controlling job subsequent to proceeding job based on execution result acquired by executing the proceeding job
US11269615B2 (en) Automatically orchestrating deployments of software-defined storage stacks
US20110173611A1 (en) Information terminal and software operation-content instructing method
CN110795225B (zh) 一种调度任务的执行方法及系统
JP2007026391A (ja) 運用管理ルール流用装置、運用管理ルール流用方法およびプログラム
EP3659033B1 (en) Connector leasing for long-running software operations

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131008