JP2006146679A - 情報処理装置の制御方法、情報処理装置、及びプログラム - Google Patents

情報処理装置の制御方法、情報処理装置、及びプログラム Download PDF

Info

Publication number
JP2006146679A
JP2006146679A JP2004337561A JP2004337561A JP2006146679A JP 2006146679 A JP2006146679 A JP 2006146679A JP 2004337561 A JP2004337561 A JP 2004337561A JP 2004337561 A JP2004337561 A JP 2004337561A JP 2006146679 A JP2006146679 A JP 2006146679A
Authority
JP
Japan
Prior art keywords
program code
program
execution
information
update
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
JP2004337561A
Other languages
English (en)
Inventor
Takaaki Nagai
孝明 永井
Aya Machida
綾 町田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004337561A priority Critical patent/JP2006146679A/ja
Priority to US11/285,658 priority patent/US20060129617A1/en
Publication of JP2006146679A publication Critical patent/JP2006146679A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】アプリケーションプログラムの更新時における情報処理サービスの提供停止期間を短縮することのできる情報処理装置の制御方法、情報処理装置、及びプログラムを提供する。
【解決手段】利用者端末から送信される実行要求を受け付ける毎に各モジュールを順次実行し、実行結果を利用者端末に送信する情報処理装置の制御方法であって、管理コンピュータからプログラムコードの更新要求S1030を受信すると、プログラムコードの新たな実行要求の受け付けを中止するS1040と共に実行中のモジュールの実行を中止しS1050、利用者端末に対してモジュールの実行が中止された旨の情報を実行結果として送信し、プログラムコードの更新要求に含まれる更新対象となるモジュールを特定する情報に基づいて更新対象となるモジュールを更新しS1080、更新後の新たなプログラムコードに対する実行要求の受け付けを開始するS1090。
【選択図】図7

Description

本発明は、情報処理装置の制御方法、情報処理装置、及びプログラムに関する。
近年、情報技術の進歩に伴い、サーバにアプリケーションプログラムを実行させることにより、様々な情報処理サービスの提供を受けることができるようになった。例えば銀行により運営されているサーバにインターネットを介して所定のリクエストを送信することにより、残高照会等のサービスを受けることができる。
サーバにおいて実行されるアプリケーションプログラムは、機能の改善等のために新たなアプリケーションプログラムへ更新することが必要になる場合があるが、更新時の情報処理サービスへの影響は最小限に抑えることが望まれる。そのため、アプリケーションプログラムの更新を行う際の様々な技術が開発されている(例えば特許文献1参照)。
米国特許第5920725号明細書
ところで、アプリケーションプログラムは複数のプログラムモジュールを含んで構成されるが、更新される部分が一部のプログラムモジュールのみである場合もある。しかしながらこのような場合であっても、アプリケーションプログラムの更新時には、情報処理サービスを全面的に停止する必要がある。また更新するアプリケーションプログラムが実行中であった場合には、実行終了まで更新作業を待機させる必要がある。アプリケーションプログラムの種類によっては、実行終了まで数日間を要する場合もある。もちろんその間、情報処理サービスの新規リクエストの受け付けは停止させておく必要がある。
本発明は上記課題を鑑みてなされたものであり、アプリケーションプログラムの更新時における情報処理サービスの提供停止期間を短縮することができる情報処理装置の制御方法、情報処理装置、及びプログラムを提供することを主たる目的とする。
上記課題を解決するために、本発明は、複数のプログラムモジュールを含んで構成されるプログラムコードを記憶し、通信可能に接続された利用者端末から送信される前記プログラムコードの実行要求を受け付ける毎に、前記プログラムコードに含まれる各プログラムモジュールを順次実行し、前記実行要求に対する実行結果を前記利用者端末に送信する情報処理装置の制御方法であって、通信可能に接続された管理コンピュータから、前記プログラムコードの更新要求を受信すると、前記利用者端末から送信される前記プログラムコードの新たな実行要求の受け付けを中止すると共に、実行中のプログラムモジュールの実行を中止し、前記利用者端末に対して、前記プログラムコードの実行要求に応じて実行されていたプログラムモジュールの実行が中止された旨の情報を、前記実行要求に対する実行結果として送信し、前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報に基づいて、前記更新対象となるプログラムモジュールを更新し、更新後の新たなプログラムコードに対する実行要求の受け付けを開始する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
情報処理サービスの提供停止期間を短縮することができる情報処理装置の制御方法、情報処理装置、及びプログラムを提供することができる。
===全体構成例===
本実施の形態に係る情報処理システムの全体構成を図1に示す。
本実施の形態に係る情報処理システムは、クライアント(特許請求の範囲に記載の利用者端末に相当)100、アプリケーションサーバ(特許請求の範囲に記載の情報処理装置に相当)200、管理コンピュータ300がネットワーク400により通信可能に接続されてなる。
アプリケーションサーバ200は、クライアント100から送信されるリクエストに応じてアプリケーションプログラムを実行し、実行結果をクライアント100に送信するコンピュータである。アプリケーションサーバ200は、例えば仮想計算機や論理サーバによっても実現することができる。クライアント100は、アプリケーションサーバ200に対してアプリケーションプログラムの実行要求を送信し、アプリケーションサーバ200から実行結果を受信するコンピュータである。クライアント100は、例えば端末によっても実現することができる。管理コンピュータ300は、情報処理システムを管理するコンピュータである。例えばアプリケーションサーバ200で実行されるアプリケーションプログラムの更新を行う。
<クライアント>
上述したようにクライアント100は、アプリケーションサーバ200からアプリケーションプログラムの実行結果を受信するコンピュータである。例えばクライアント100は、企業等における従業員などが業務を遂行する際に使用するコンピュータとすることができる。この場合例えば、各従業員は、毎日の勤務時間を管理するために、勤務時間管理プログラムを実行するアプリケーションサーバ200に対して、クライアント100から出勤時刻と退社時刻とを送信する。そしてアプリケーションサーバ200から、毎日の勤務時間や残業時間等の計算結果を受信する。あるいは、研究開発部門の担当者が試作品の強度確認試験を行うような場合には、強度解析プログラムを実行するアプリケーションサーバ200に対して、クライアント100から試験条件データ等を送信し、アプリケーションサーバ200から計算結果を受信するような場合もある。
<アプリケーションサーバ>
アプリケーションサーバ200は、アプリケーションプログラムを実行するコンピュータである。アプリケーションプログラムは、例えば給与計算プログラムや強度解析プログラム等に代表されるようなバッチ処理用プログラム、あるいは、オンラインバンキング用プログラムやインターネットショッピング用プログラム等に代表されるようなオンラインリアルタイム処理用プログラムなど、アプリケーションサーバ200により提供される情報処理サービスの形態に応じた様々なプログラムとすることができる。なお詳細は後述するが、アプリケーションプログラムは複数のプログラムモジュールを含んで構成される。
アプリケーションプログラムの実行形態としては、アプリケーションプログラムに含まれる全てのプログラムモジュールが一つのアプリケーションサーバ200内に記憶されて実行される場合もあるし、各プログラムモジュールが複数のアプリケーションサーバ200に分散して記憶されて実行される場合もある。情報処理システムは少なくとも一つのアプリケーションサーバ200を含んで構成されている。アプリケーションサーバ200は、クライアント100から送信される様々なリクエストを受けて、アプリケーションプログラムを実行し、各リクエストに応じた実行結果をクライアント100に送信する。
<管理コンピュータ>
管理コンピュータ300は、情報処理システムを管理するコンピュータである。情報処理システムを管理するシステム管理者や、アプリケーションプログラムの開発を行うプログラム開発者等の各種オペレータにより使用される。例えば、アプリケーションプログラムを構成するいくつかのプログラムモジュールについてバージョンアップを行った場合には、オペレータは管理コンピュータ300を用いて、アプリケーションサーバ200に記憶されているアプリケーションプログラムを、新たなアプリケーションプログラムへ更新する。
<ネットワーク>
ネットワーク400は、アプリケーションサーバ200、クライアント100、管理コンピュータ300を相互に通信可能に接続する通信網である。ネットワーク400は、例えば企業内におけるLAN(Local Area Network)とすることができる。また例えばインターネットのようなWAN(Wide Area Network)とすることもできる。ネットワーク400は、通信ケーブルや、各種ネットワーク機器等を構成要素として含んで構成される。
===機器構成===
次に、アプリケーションサーバ200、管理コンピュータ300、クライアント100のそれぞれの構成について説明する。
アプリケーションサーバ200、管理コンピュータ300、クライアント100はいずれもコンピュータであり、ハードウェア構成は基本的に同様である。そのため、これらのハードウェア構成を一つのブロック図にまとめて図2に示す。またこれらの各機能をそれぞれ実現するための制御プログラム等やテーブル等について、図3ないし図6に示す。
<アプリケーションサーバの構成>
アプリケーションサーバ200は、CPU210、メモリ220、ポート230、記録媒体読取装置240、入力装置250、出力装置260、記憶装置280を備える。
CPU210はアプリケーションサーバ200の全体の制御を司るもので、メモリ220に記憶される本実施の形態に係る各種の動作を行うためのコードから構成されるアプリケーションサーバ制御プログラム(特許請求の範囲に記載のプログラムに相当する)810、アプリケーションプログラム(特許請求の範囲に記載のプログラムコードに相当する)820実行することにより、アプリケーションサーバ200としての各種機能を実現する。例えばCPU210によりアプリケーションサーバ制御プログラム810が実行され、メモリ220やポート230、入力装置250、出力装置260、記憶装置280等のハードウェア機器と協働することにより、分散AP配備部811、更新リスト解析部812、該当ファイル更新部813、実行制御部814が実現される。なお、特許請求の範囲に記載のプログラムコード記憶部、実行要求受け付け部、プログラムコード実行部、更新要求受信部、実行要求受け付け中止部、プログラムコード強制終了部、実行結果送信部、プログラムコード更新部、実行要求受け付け開始部、実行時情報記憶部は、上記分散AP配備部811、更新リスト解析部812、該当ファイル更新部813、実行制御部814により実現される。詳細は後述する。
メモリ220は例えば半導体記憶装置により構成することができる。メモリ220の様子を図4に示す。図4に示すように本実施の形態に係るメモリ220には、アプリケーションサーバ制御プログラム810、アプリケーションプログラム820、APスレッド管理テーブル700、実行時情報管理テーブル710が記憶される。
アプリケーションサーバ制御プログラム810は、アプリケーションサーバ200の制御を行うためのプログラムである。また、アプリケーションプログラム820の更新を行う場合の制御も行う。詳細は後述するが、アプリケーションプログラム820の更新は管理コンピュータ300から送信される更新要求に応じて行われる。なお、アプリケーションサーバ制御プログラム810には、オペレーティングシステムとしての制御を行う機能も含まれるようにすることもできる。
アプリケーションプログラム820は、クライアント100に対して情報処理サービスの提供を行うためのプログラムである。図4に示す例では、メモリ220には、アプリケーションプログラム1(820)とアプリケーションプログラム2(820)の2つのアプリケーションプログラム820が記憶されている。アプリケーションプログラム1(820)とアプリケーションプログラム2(820)とは、それぞれ個別の情報処理サービスの提供を行うためのプログラムである。またアプリケーションプログラム820は、複数のプログラムモジュール821を含んで構成されている。アプリケーションプログラム820が、例えばいわゆる手続型プログラミング言語で記述されている場合には、各プログラムモジュール821は手続きに対応する。また例えばアプリケーションプログラム820が例えばオブジェクト指向型プログラミング言語で記述されている場合には、各プログラムモジュール821はクラスを定義したプログラムコードに対応する。この場合、アプリケーションプログラム820の実行時には、各プログラムモジュール821はインスタンス化されたオブジェクトとして管理される。なおアプリケーションプログラム820は、業務プログラムやプログラムでも良い。
アプリケーションサーバ200は、クライアント100から送信される情報処理サービス提供のリクエスト(アプリケーションプログラムの実行要求)を受け付けると、リクエストを受け付ける毎にアプリケーションプログラム820の実行を開始する。アプリケーションサーバ200は、リクエスト毎のアプリケーションプログラム820の実行をスレッドにより管理する。アプリケーションサーバ200は、アプリケーションプログラム820に含まれる各プログラムモジュール821つまりここではオブジェクトを順次実行することにより、アプリケーションプログラム820を実行する。例えば、クライアント100からリクエストを受信して最初に実行が開始されたオブジェクトから、他のオブジェクトが呼び出される。そしてそのオブジェクトからさらに他のオブジェクトが呼び出される。このようにしてオブジェクトが順次実行されてゆく。他のオブジェクトから呼び出された各オブジェクトは、呼び出し元のオブジェクトに対して処理結果を返す。そしてクライアント100からのリクエストに応じて最初に実行が開始されたオブジェクトに処理結果が返され、そのオブジェクトにおける処理が終了すると、アプリケーションサーバ200はクライアント100に対してアプリケーションプログラム820の実行結果を送信する。その様子を図10に示す。図10においては、オブジェクト1がオブジェクト2を呼び出し、オブジェクト2がオブジェクト3を呼び出し、オブジェクト3がオブジェクト4を呼び出している。そしてオブジェクト4の処理結果がオブジェクト3に返され、オブジェクト3の処理結果がオブジェクト2に返され、オブジェクト2の処理結果がオブジェクト1に返されている。ここで、各オブジェクトが他のオブジェクトを呼び出して実行する処理は、他のオブジェクトに対してリクエストを送信することにより行われる。このリクエストの単位をサブリクエストと呼ぶ。また各オブジェクトの実行中に何らかの異常が検出された場合には、呼び出し元のオブジェクトに対して返される処理結果には、異常が検出されたことを示す情報が含まれる。例えば、サブリクエストにより要求されたデータがデータベースに存在しない場合や、わり算の計算において除数が0となった場合等には、その旨の情報が処理結果として返される。
APスレッド管理テーブル700は、クライアント100から送信された各リクエストに応じて実行中のアプリケーションプログラム820の状態を管理するためのテーブルである。APスレッド管理テーブル700は、図9(A)、図9(B)に示すように、各リクエストに対応するスレッドと、リクエストに応じて実行が開始された各オブジェクトの間で送信されるサブリクエストとの関係を記憶したテーブルである。APスレッド管理テーブル700は、アプリケーションプログラム820の実行の進行とともに、オブジェクトの呼び出しが行われる毎にあるいは呼び出されたオブジェクトから処理結果が返される毎に更新される。例えば図9(A)に示すAPスレッド管理テーブル700は、アプリケーションプログラム820が図10における「地点A」に示す処理を実行中の場合のものである。また図9(B)に示すAPスレッド管理テーブル700は、アプリケーションプログラム820が図10における「地点B」に示す処理を実行中の場合のものである。このようにしてアプリケーションプログラム820の実行状態をAPスレッド管理テーブル700に記憶しておくことにより、後述するように、実行中のアプリケーションプログラム820を強制的に終了させる際に、現在どのオブジェクトが実行中であるかを判定することが可能となる。
実行時情報管理テーブル710は、アプリケーションプログラム820を実行する際の条件が記載された設定情報を記憶するためのテーブルである。実行時情報管理テーブル710には、例えば図17に示すように、「トランザクションの管理種別」、「トランザクション属性種別」、「セキュリティ」、「EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)のインスタンスプール数」、「インスタンス取得時のタイムアウト時間」が記載される。
「トランザクションの管理種別」には、トランザクションの開始をコンテナ任せにするのか、EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)の処理中で行うのかを決定する情報が記載される。「トランザクション属性種別」には、EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)に定義されているメソッドを実行する際のトランザクションの開始有無などを決定する情報が記載される。これは、トランザクションの開始をコンテナ任せにする場合に必要となる情報である。「セキュリティ」には、EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)のメソッドを実行可能なアカウントを制限するための情報が記載される。「EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)のインスタンスプール数」には、EJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)に対する同時実行可能数を定義するための情報が記載される。「インスタンス取得時のタイムアウト時間」には、実行時にEJB(サン・マイクロシステムズ・インコーポレーテッド社の商標又は登録商標)の最大同時実行可能数を上回る数で実行しているときの待ち時間を定義するための情報が記載される。
この実行時情報管理テーブル710は、アプリケーションプログラム820がアプリケーションサーバ200において実行可能なように準備される際に、オペレータにより設定されるものである。
図2に戻って、記録媒体読取装置240は、記録媒体500に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ220や記憶装置280に格納される。従って、例えば記録媒体500に記録されたアプリケーションサーバ制御プログラム810やアプリケーションプログラム820を、記録媒体読取装置240を用いて上記記録媒体500から読み取って、メモリ220や記憶装置280に記憶するようにすることができる。
記録媒体500としてはフレキシブルディスクや磁気テープ、コンパクトディスク等を用いることができる。記録媒体読取装置240はアプリケーションサーバ200に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。
記憶装置280は、例えばハードディスク装置や半導体記憶装置等とすることができる。なお、上述したアプリケーションサーバ制御プログラム810、アプリケーションプログラム820、APスレッド管理テーブル700、実行時情報管理テーブル710は記憶装置280に記憶されているようにすることもできる。この場合CPU210は、記憶装置280からアプリケーションサーバ制御プログラム810やアプリケーションプログラム820を読み出してメモリ220に記憶して実行する。
入力装置250はアプリケーションサーバ200へのデータ入力等のために用いられる装置でありユーザインタフェースとして機能する。入力装置250としては例えばキーボードやマウス等を用いることができる。
出力装置260は情報を外部に出力するための装置でありユーザインタフェースとして機能する。出力装置260としては例えばディスプレイやプリンタ等を用いることができる。
ポート230は通信を行うための装置である。例えばネットワーク400を介して行われる、管理コンピュータ300やクライアント100等の他のコンピュータとの通信は、ポート230を介して行われるようにすることができる。また例えば、アプリケーションサーバ制御プログラム810やアプリケーションプログラム820をポート230を通じて他のコンピュータからネットワーク400を介して受信して、メモリ220や記憶装置280に記憶するようにすることもできる。
<クライアントの構成>
次に、クライアント100の構成について説明する。クライアント100は、CPU110、メモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160、記憶装置180を備える。これらの各装置の機能は、上述したアプリケーションサーバ200が備える各装置と同様である。
図3に示すように、クライアント100が備えるメモリ120には、クライアント制御プログラム800が記憶される。CPU110がクライアント制御プログラム800を実行することにより、クライアント100としての各種機能が実現される。
クライアント制御プログラム800は、従業員などがアプリケーションサーバ200を用いて業務を遂行するための各種データの入出力や送受信などを行うためのプログラムである。オペレーティングシステムとしての制御を行う機能も含まれるようにすることもできる。またクライアント制御プログラム800は、記憶装置180に記憶されているようにすることもできる。この場合CPU110は、記憶装置180からクライアント制御プログラム800を読み出してメモリ120に記憶して実行する。
<管理コンピュータの構成>
次に、管理コンピュータ300の構成について説明する。管理コンピュータ300は、CPU310、メモリ320、ポート330、記録媒体読取装置340、入力装置350、出力装置360、記憶装置380を備える。これらの各装置の機能は、上述したアプリケーションサーバ200が備える各装置と同様である。
図5に示すように、管理コンピュータ300が備えるメモリ320には、管理コンピュータ制御プログラム830、アプリケーションプログラム820、更新リストテーブル720、配備情報管理テーブル730、実行時情報管理テーブル710が記憶される。CPU310が管理コンピュータ制御プログラム830を実行することにより、管理コンピュータ300としての各種機能が実現される。例えばCPU310により管理コンピュータ制御プログラム830が実行され、メモリ320やポート330、入力装置350、出力装置360、記憶装置380等のハードウェア機器と協働することにより、分散AP配備依頼部831、更新リスト生成格納部832、更新対象ファイル格納部833が実現される。なお特許請求の範囲に記載の更新履歴情報記憶部と、配備情報記憶部は、上記分散AP配備依頼部831、更新リスト生成格納部832、更新対象ファイル格納部833により実現される。詳細は後述する。
管理コンピュータ制御プログラム830は、管理コンピュータ300を制御するためのプログラムである。また、アプリケーションサーバ200に記憶されているアプリケーションプログラム820を更新する場合の各種制御も行う。例えば、アプリケーションプログラム820に含まれるプログラムモジュール821のいくつかについて改良を行った場合に、アプリケーションサーバ200に現在記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821の更新日時と、新たなアプリケーションプログラム820に含まれる各プログラムモジュール821の更新日時とを比較して、更新が必要なプログラムモジュール821を抽出してアプリケーションサーバ200に更新要求を送信する。またアプリケーションプログラム820のリビジョン管理を行うこともできる。この場合、オペレータから入力されたリビジョン管理番号(プログラムコードの識別番号)に該当するアプリケーションプログラム820に含まれる各プログラムモジュール821と、現在アプリケーションサーバ200に記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821とを比較して、更新が必要なプログラムモジュール821を抽出してアプリケーションサーバ200に更新要求を送信する。
なお図5において、管理コンピュータ300のメモリ320に記憶されるアプリケーションプログラム820は、プログラム開発者によって更新のなされた新たなアプリケーションプログラム820である。管理コンピュータ300は、アプリケーションサーバ200に対してアプリケーションプログラム820の更新要求を送信して、この新たなアプリケーションプログラム820への更新を実行させる。
更新リストテーブル(特許請求の範囲に記載の更新対象となるプログラムモジュールを特定する情報に相当する)720は、アプリケーションサーバ200がどのプログラムモジュール821を更新すればよいかを示す情報である。また、更新リストテーブル720には、新たなアプリケーションプログラム820の識別番号と新たなアプリケーションプログラム820を構成する各プログラムモジュール821を特定するための情報とが対応付けて記憶される。管理コンピュータ300は、アプリケーションサーバ200に対して更新要求を送信する際に、更新リストテーブル720を含めて送信する。更新リストテーブル720の一例を図13に示す。
更新リストテーブル720は、「履歴番号」欄、「更新対象アーカイブファイル名」欄、「更新内容」欄、「更新対象ファイルのパス」欄を備える。「履歴番号」欄には、上記リビジョン管理番号が記録される。「更新対象アーカイブファイル名」欄には、プログラムモジュール821を含むアーカイブファイル名が記載される。「更新内容」欄には、プログラムモジュール821の更新の内容が記載れる。例えば”削除”、”追加”、”更新”とすることができる。「更新対象ファイルのパス」欄には、プログラムコード821の記憶場所を示す情報が記載される。更新リストテーブル720を受信したアプリケーションサーバ200は、プログラムコード821の記憶場所が記載された「更新対象ファイルのパス」欄に記載された内容に基づいて、「更新対象アーカイブファイル名」欄に記載されたアーカイブファイルに含まれるプログラムコード821を取得して、「更新内容」欄に記載された更新内容に基づいて、プログラムコード821の更新をおこなう。このように、新たなアプリケーションプログラム820を構成する各プログラムモジュール821の特定は、「更新対象アーカイブファイル名」欄と「更新対象ファイルのパス」欄とに記載された情報に基づいて行うことができる。なお「更新対象ファイルのパス」欄に記載されたプログラムコード821の記憶場所は、管理コンピュータ300の記憶装置380における記憶場所とすることができる。この場合、アプリケーションサーバ200は管理コンピュータ300の記憶装置380から新たなプログラムモジュール821を受信する。そして例えば「更新内容」の記載が”更新”であった場合には、アプリケーションサーバ200のメモリ220に記憶されている、更新対象となるプログラムモジュール821を消去し管理コンピュータ300から送信された新たなプログラムモジュール821を記憶する。また例えば「更新内容」の記載が”削除”であった場合には、アプリケーションサーバ200のメモリ220に記憶されている、更新対象となるプログラムモジュール821を消去する。さらにまた例えば「更新内容」の記載が”追加”であった場合には、アプリケーションサーバ200のメモリ220に、管理コンピュータ300から送信された新たなプログラムモジュール821を記憶する。
配備情報管理テーブル730は、アプリケーションサーバ200に現在記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821を特定するための情報である。配備情報管理テーブル730の一例を図14に示す。
配備情報管理テーブル730は、「アーカイブファイル名」欄と、「ファイル名」欄と、「最終更新時刻」欄とを備える。「ファイル名」欄には、アプリケーションサーバ200に現在記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821の名称が記載される。「アーカイブファイル名」欄には、各プログラムモジュール821が含まれるアーカイブファイルの名称が記載される。「最終更新時刻」欄には各プログラムモジュール821の最終更新時刻を示す情報が記載される。
管理コンピュータ300を操作するオペレータが、管理コンピュータ300に対して、アプリケーションサーバ200で実行されているアプリケーションプログラム820の更新リクエストコマンドをリビジョン管理番号と共に入力すると、管理コンピュータ300は、配備情報管理テーブル730に記憶された、アプリケーションサーバ200に現在記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821を特定するための情報と、更新リストテーブル720に記憶された、上記リビジョン管理番号に対応付けられているアプリケーションプログラム820を構成する各プログラムモジュール821を特定するための情報とに基づいて、リビジョン管理番号により特定される新たなアプリケーションプログラム820を構成するために更新することが必要なプログラムモジュール821を特定する。そして管理コンピュータ300は、上記特定された各プログラムモジュール821特定するための情報をアプリケーションサーバ200に更新要求と共に送信する。
実行時情報管理テーブル710は、アプリケーションプログラム820を実行する際の条件が記載された設定情報を記憶するためのテーブルである。アプリケーションサーバ200に記憶されている実行時情報管理テーブル710は、管理コンピュータ300に記憶されている実行時情報管理テーブル710を複製したものである。つまり、オペレータは通常は、新たなアプリケーションプログラム820をアプリケーションサーバ200に配備しようとする際には、そのアプリケーションプログラム820の実行時の条件を設定した実行時情報管理テーブル710を作成し、アプリケーションプログラム820と共にアーカイブファイルとしてまとめ、アプリケーションサーバ200に送信する。この場合には、アプリケーションプログラム820に含まれる一部のプログラムモジュール821についてのみ更新を行った場合でも、更新が行われていないプログラムモジュール821をも含むアプリケーションプログラム820と実行時情報管理テーブル710とをアーカイブファイルに纏めて、アプリケーションサーバ200に送信する必要がある。しかしながら上述したように、本実施の形態においては、アプリケーションプログラム820の更新を行った場合には、更新されたプログラムモジュール821のみがアプリケーションサーバ200に送信される。そしてこの実行時情報管理テーブル710も、内容に変更がなければ、アプリケーションプログラム820の更新前に用いていたものをそのまま利用することができるのである。つまり、アプリケーションサーバ200は、アプリケーションプログラム820を新たなアプリケーションプログラム820に更新しても、更新前のアプリケーションプログラム820を実行する際に参照していた実行時情報管理テーブル710を参照して新たなアプリケーションプログラム820を実行することができるのである。このため本実施の形態においては、アプリケーションプログラム820の更新にかかる時間を短縮することが可能となるのである。
以上、アプリケーションサーバ200、管理コンピュータ300、クライアント100の各構成について説明したが、図6に管理コンピュータ300とアプリケーションサーバ200とがネットワーク400により通信可能に接続されている様子を示す。
===処理の流れ===
<アプリケーションプログラムの更新>
次に、本実施の形態に係るアプリケーションサーバ200に記憶されているアプリケーションプログラム820を更新する場合の処理の流れを図7、図8、及び図12を参照しながら説明する。
まず、管理コンピュータ300の分散AP配備依頼部831は、オペレータによりユーザインタフェースから入力されたアプリケーションプログラム820の更新コマンドを受け付ける(S1000)。そうすると管理コンピュータ300の分散AP配備依頼部831は、更新すべきプログラムモジュール821があるかどうかを判定する(S1010)。この判定は、上述したように、メモリ320に記憶されているアプリケーションプログラム820に含まれる各プログラムモジュール821の更新日時と、配備情報管理テーブル730に記憶されている各プログラムモジュール821の最終更新時刻とを比較することにより行うことができる。その結果、更新すべきプログラムモジュール821がない場合には処理を終了する。更新すべきプログラムモジュール821があった場合には、管理コンピュータ300の分散AP配備依頼部831は更新リストテーブル720を作成する(S1020)。そしてアプリケーションサーバ200に対してアプリケーションプログラム820の更新要求を送信する(S1030)。
アプリケーションプログラム820の更新要求を受信すると、アプリケーションサーバ200の実行制御部814は、クライアント100から送信される新規リクエストの受付を中止する(S1040)。受け付けの中止は、例えば新規リクエストの受信を行わないようにすることにより行うことができる。あるいは、アプリケーションサーバ200のメモリ220に設けたキューにリクエストを記憶しておくようにすることもできる。そしてアプリケーションサーバ200の実行制御部814は、アプリケーションプログラム820の停止処理を行う(S1050)。
アプリケーションプログラム820の停止処理の詳細を、図8に示す。
アプリケーションサーバ200の実行制御部814は、まず、停止対象となっているアプリケーションプログラム820についてのAPスレッド管理テーブル700を参照する。そして現在アプリケーションプログラム820が実行中であるか否かを判定する(S2000)。アプリケーションプログラム820が実行中である場合には、クライアント100のリクエストに応じて生成されたスレッド毎に、各オブジェクト間でサブリクエストが送信されているはずであるから、APスレッド管理テーブル700を参照することにより、アプリケーションプログラム820が実行中であるか否かを判定することができる。その結果、実行中のスレッドがあった場合には(S2010)、実行中の全てのスレッドに対して、現在実行中のサブリクエストを停止させる(S2020〜S2040)。
現在実行中のサブリクエストの停止は例えば以下のようにして行う。例えば図11に示すように、現在オブジェクト4が実行中である場合には、アプリケーションサーバ200はオブジェクト4の処理を強制的に終了させる。オブジェクト4の処理の強制的な終了は、例えば割り込み処理により実現することができる。その際、アプリケーションサーバ200の実行制御部814は、オブジェクト4を呼び出していたオブジェクト3に対して、オブジェクト4の実行中に何らかの異常が検出された旨の情報を処理結果として返すようにする。これにより、オブジェクト3についても、オブジェクト3の実行中に何らかの異常が検出されることになる。そして順次オブジェクト1まで実行中に何らかの異常が検出されることになる。そしてクライアント100には、実行中に何らかの異常が検出された旨の情報が実行結果として送信される。なお、実行中に何らかの異常が検出された旨の情報は、実行が中止された旨の情報としてもよい。これにより、クライアント100は、アプリケーションサーバ200に対して送信したリクエストに対する実行結果を受け取ることができるので、処理を完結することができる。莫大な数の複雑なロジックが相互に絡み合って処理を進めてゆく情報処理システムにおいては、一つ一つの処理がきちんと完結することは重要なことである。本実施の形態のように、オブジェクトの実行を途中で強制的に終了させた場合においても、きちんと実行結果をクライアント100に送信することができるようにすることは、クライアント100やアプリケーションサーバ200における情報処理を正しく円滑に進める上で極めて重要なことである。
全ての実行中のサブリクエストが終了すると、APスレッド管理テーブル700のコールスタック欄は空になる。そしてアプリケーションサーバ200の実行制御部814は、全てのサブリクエストが停止されたことを確認すると(S2050)、アプリケーションプログラム820の停止の処理を行う(S2060)。
アプリケーションプログラム820が停止すると、アプリケーションサーバ200の該当ファイル更新部813は、管理コンピュータ300に対して更新すべきプログラムモジュール821を要求する(S1060)。そして管理コンピュータ300から更新すべきプログラムモジュール821が送信されてきたら(S1070)、それらの各プログラムモジュール821のみを更新する(S1080)。
更新が完了したら、アプリケーションサーバ200の実行制御部814はクライアント100からの新たなリクエストの受付を開始する(S1090)。なお、上述したようにアプリケーションプログラム820の更新を行っても、本実施の形態に係るアプリケーションサーバ200は、アプリケーションプログラム820の更新前に使用していた実行情報管理テーブル710をそのまま使用することができる。
<リビジョンを指定したアプリケーションプログラムの更新>
次に、本実施の形態に係るアプリケーションサーバ200に記憶されているアプリケーションプログラム820をリビジョンを指定して更新する場合の処理の流れを図15及び図16を参照しながら説明する。
まず、管理コンピュータ300の分散AP配備依頼部831は、オペレータによりユーザインタフェースから入力されたアプリケーションプログラム820の更新コマンドをリビジョン管理番号と共に受け付ける(S3000)。そして管理コンピュータ300の分散AP配備依頼部831は、リビジョン管理番号が、最新のリビジョン管理番号であるか否かを判定する(S3010)。最新のリビジョン管理番号である場合には、図7の(A)以降の処理を実行する。
リビジョン管理番号が最新のリビジョン管理番号でない場合には、指定されたリビジョンまでの更新リストを読み込む(S3020)。その中に、変更(更新)されたプログラムモジュール821が含まれている場合には(S3030)、変更前のリビジョンのプログラムモジュール821を「変更」にして、更新リストテーブル720に追加する(S3040)。また追加されたプログラムモジュール821が含まれている場合には(S3050)、変更前のリビジョンのプログラムモジュール821を「削除」にして、更新リストテーブル720に追加する(S3060)。また削除されたプログラムモジュール821が含まれている場合には(S3070)、変更前のリビジョンのプログラムモジュール821を「追加」にして、更新リストテーブル720に追加する(S3080)。以上の処理により、更新リストテーブル720には、指定されたリビジョン管理番号のアプリケーションプログラム820にするために必要なプログラムモジュール821の更新内容を記載することができる。そして図7の(B)以降の処理を実行する。これにより、アプリケーションサーバ200に記憶されるアプリケーションプログラム820に含まれる各プログラムモジュール821を、指定されたリビジョンのプログラムモジュール821に更新することができる。
以上、本実施の形態におけるアプリケーションプログラム820の更新について説明したが、本実施の形態よれば、アプリケーションプログラム820の実行中においても、アプリケーションプログラム820の更新作業を開始することが可能となる。つまり従来のように、アプリケーションプログラム820の実行終了を待って更新作業を開始する必要がなくなる。これにより、システム保守作業を計画的にそして直ちに実行することが可能となる。このことは、技術進歩の早い情報処理の分野においては、極めて重要である。例えば、現在世界中で問題となっているコンピュータウィルスへの対応や、アプリケーションプログラム820に内在する不具合等の修正など、一刻を争う処置が必要な場合もある。かかる場合にアプリケーションプログラム820が実行中であるために、数時間、あるいは数日間にも渡って、アプリケーションプログラム820の更新が行えないことは、多大な被害、損害を被ることにもなりかねない。本実施の形態によれば、アプリケーションプログラム820が実行中であったとしても、強制的に処理を終了させると共に、アプリケーションプログラム820の実行開始のリクエストを送信したクライアント100に対しては実行結果を返すことができる。これにより、アプリケーションサーバ200及びクライアント100の双方の情報処理を正常に保ったまま、直ちにアプリケーションプログラム820の更新作業を開始することが可能となる。
さらに本実施の形態に係るアプリケーションプログラム820の更新においては、更新前に使用していたアプリケーションプログラム820を実行する際の条件が記載された設定情報を、更新後においてもそのまま使用することができる。さらに、アプリケーションプログラム820の更新は、更新が必要なプログラムモジュール821についてのみ行うことができる。これらにより、更新作業時間を短縮することができると共に、設定情報の再設定処理が不要となるので、更新後のアプリケーションプログラム820に対する新規リクエストの受け付けをいち早く再開することが可能となるのである。
以上述べたように、本実施の形態においては、アプリケーションサーバ200において実行されるアプリケーションプログラム820の更新時の情報処理サービスへの影響を最小限に抑えることが可能となる。そしてこのことは情報処理システムの可用性の向上に大きく寄与し、ユーザへ提供される情報処理サービスの質の向上、及び信頼性の向上を図ることができるのである。
本実施の形態に係る各処理部、各プログラムは、ハードウェアやプログラム、オブジェクト、スレッド、プロセスでも実現可能である。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係る情報処理システムの全体構成を示す図である。 本実施の形態に係るクライアント、アプリケーションサーバ、管理コンピュータの各構成を示す図である。 本実施の形態に係るクライアントのメモリを示す図である。 本実施の形態に係るアプリケーションサーバのメモリを示す図である。 本実施の形態に係る管理コンピュータのメモリを示す図である。 本実施の形態に係るアプリケーションサーバと管理コンピュータとがネットワークで通信可能に接続される様子を示す図である。 本実施の形態に係る処理の流れを示すフローチャートである。 本実施の形態に係る処理の流れを示すフローチャートである。 本実施の形態に係るAPスレッド管理テーブルを示す図である。 本実施の形態に係るサブリクエストについて説明するための図である。 本実施の形態に係るアプリケーションプログラムの実行終了を説明するための図である。 本実施の形態に係るアプリケーションサーバと管理コンピュータとがネットワークで通信可能に接続される様子を示す図である。 本実施の形態に係る更新リストテーブルを示す図である。 本実施の形態に係る配備情報管理テーブルを示す図である。 本実施の形態に係る処理の流れを示すフローチャートである。 本実施の形態に係るアプリケーションサーバと管理コンピュータとがネットワークで通信可能に接続される様子を示す図である。 本実施の形態に係る実行情報管理テーブルを示す図である。
符号の説明
100 クライアント
200 アプリケーションサーバ
280 記憶装置
300 管理コンピュータ
400 ネットワーク
500 記録媒体
700 APスレッド管理テーブル
710 実行時情報管理テーブル
720 更新リストテーブル
730 配備情報管理テーブル
800 クライアント制御プログラム
810 アプリケーションサーバ制御プログラム
820 アプリケーションプログラム
821 プログラムモジュール
830 管理コンピュータ制御プログラム

Claims (9)

  1. 複数のプログラムモジュールを含んで構成されるプログラムコードを記憶し、通信可能に接続された利用者端末から送信される前記プログラムコードの実行要求を受け付ける毎に、前記プログラムコードに含まれる各プログラムモジュールを順次実行し、前記実行要求に対する実行結果を前記利用者端末に送信する情報処理装置の制御方法であって、
    通信可能に接続された管理コンピュータから、前記プログラムコードの更新要求を受信すると、
    前記利用者端末から送信される前記プログラムコードの新たな実行要求の受け付けを中止すると共に、実行中のプログラムモジュールの実行を中止し、
    前記利用者端末に対して、前記プログラムコードの実行要求に応じて実行されていたプログラムモジュールの実行が中止された旨の情報を、前記実行要求に対する実行結果として送信し、
    前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報に基づいて、前記更新対象となるプログラムモジュールを更新し、
    更新後の新たなプログラムコードに対する実行要求の受け付けを開始する
    ことを特徴とする情報処理装置の制御方法。
  2. 前記情報処理装置は、
    前記プログラムコードを実行する際の条件が記載された設定情報を記憶する実行時情報記憶部を備え、
    前記プログラムコードを前記新たなプログラムコードに更新した後も、更新前の前記プログラムコードを実行する際に参照していた前記設定情報に基づいて前記新たなプログラムコードを実行する
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  3. 前記管理コンピュータは、
    前記プログラムコードの更新要求を前記情報処理装置に送信する毎に、前記新たなプログラムコードの識別番号と前記新たなプログラムコードを構成する各プログラムモジュールを特定するための情報とを対応付けて記憶する更新履歴情報記憶部と、
    前記情報処理装置に記憶されている前記各プログラムモジュールを特定するための情報を記憶する配備情報記憶部と、
    を備え、
    前記更新対象となるプログラムモジュールを特定する情報を含む前記更新要求を前記情報処理装置に送信する際に、前記配備情報記憶部に記憶されている前記各プログラムモジュールを特定するための情報と、ユーザインタフェースから入力された前記新たなプログラムコードの識別番号に対応付けられている前記新たなプログラムコードを構成する各プログラムモジュールを特定するための情報とに基づいて、前記新たなプログラムコードを構成するために更新することが必要なプログラムモジュールを特定し、前記特定されたプログラムモジュールを前記更新対象となるプログラムモジュールとして特定する
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  4. 前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報は、前記プログラムコードに追加される新たなプログラムモジュールを特定する情報であり、
    前記情報処理装置は、
    前記管理コンピュータから送信される前記新たなプログラムモジュールを記憶することにより、前記プログラムコードを前記新たなプログラムコードに更新する
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  5. 前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報は、前記プログラムコードから削除されるプログラムモジュールを特定する情報であり、
    前記情報処理装置は、
    前記削除されるプログラムモジュールの記憶を消去することにより、前記プログラムコードを前記新たなプログラムコードに更新する
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  6. 前記情報処理装置は、
    前記更新対象となるプログラムモジュールの記憶を消去し、前記管理コンピュータから送信される新たなプログラムモジュールを記憶することにより、前記プログラムコードを前記新たなプログラムコードに更新する
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  7. 前記プログラムコードは、オブジェクト指向型プログラミング言語で記述されたプログラムコードであり、
    前記各プログラムモジュールは、クラスを定義したプログラムコードである
    ことを特徴とする請求項1に記載の情報処理装置の制御方法。
  8. 複数のプログラムモジュールを含んで構成されるプログラムコードを記憶するプログラムコード記憶部と、
    通信可能に接続された利用者端末から送信される前記プログラムコードの実行要求を受け付ける実行要求受け付け部と、
    前記プログラムコードの実行要求を受け付ける毎に、前記プログラムコードに含まれる各プログラムモジュールを順次実行するプログラムコード実行部と、
    通信可能に接続された管理コンピュータから、前記プログラムコードの更新要求を受信する更新要求受信部と、
    前記利用者端末から送信される前記プログラムコードの新たな実行要求の受け付けを中止する実行要求受け付け中止部と、
    実行中のプログラムモジュールの実行を中止するプログラムコード強制終了部と、
    前記利用者端末に対して、前記プログラムコードの実行要求に応じて実行されていたプログラムモジュールの実行が中止された旨の情報を、前記実行要求に対する実行結果として送信する実行結果送信部と、
    前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報に基づいて、前記更新対象となるプログラムモジュールを更新するプログラムコード更新部と、
    更新後の新たなプログラムコードに対する実行要求の受け付けを開始する実行要求受け付け開始部と、
    を備えることを特徴とする情報処理装置。
  9. 複数のプログラムモジュールを含んで構成されるプログラムコードを記憶する情報処理装置に、
    通信可能に接続された利用者端末から送信される前記プログラムコードの実行要求を受け付ける手順と、
    前記プログラムコードの実行要求を受け付ける毎に、前記プログラムコードに含まれる各プログラムモジュールを順次実行する手順と、
    通信可能に接続された管理コンピュータから、前記プログラムコードの更新要求を受信する手順と、
    前記利用者端末から送信される前記プログラムコードの新たな実行要求の受け付けを中止する手順と、
    実行中のプログラムモジュールの実行を中止する手順と、
    前記利用者端末に対して、前記プログラムコードの実行要求に応じて実行されていたプログラムモジュールの実行が中止された旨の情報を、前記実行要求に対する実行結果として送信する手順と、
    前記プログラムコードの更新要求に含まれる更新対象となるプログラムモジュールを特定する情報に基づいて、前記更新対象となるプログラムモジュールを更新する手順と、
    更新後の新たなプログラムコードに対する実行要求の受け付けを開始する手順と、
    を実行させるためのプログラム。
JP2004337561A 2004-11-22 2004-11-22 情報処理装置の制御方法、情報処理装置、及びプログラム Pending JP2006146679A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004337561A JP2006146679A (ja) 2004-11-22 2004-11-22 情報処理装置の制御方法、情報処理装置、及びプログラム
US11/285,658 US20060129617A1 (en) 2004-11-22 2005-11-21 Method for controlling an information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004337561A JP2006146679A (ja) 2004-11-22 2004-11-22 情報処理装置の制御方法、情報処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2006146679A true JP2006146679A (ja) 2006-06-08

Family

ID=36585332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004337561A Pending JP2006146679A (ja) 2004-11-22 2004-11-22 情報処理装置の制御方法、情報処理装置、及びプログラム

Country Status (2)

Country Link
US (1) US20060129617A1 (ja)
JP (1) JP2006146679A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011090406A (ja) * 2009-10-20 2011-05-06 Ricoh Co Ltd 電子機器およびその制御方法、制御プログラムおよび記憶媒体、ならびに、機器管理システム
JP2012083867A (ja) * 2010-10-08 2012-04-26 Nomura Research Institute Ltd サービス提供システムの機能拡張方法
JP2012155682A (ja) * 2011-01-28 2012-08-16 Denso Corp 組み込みシステム用のプラットフォーム、アプリケーション、該プラットフォームと該アプリケーションを備える制御プログラム、電子装置、及び、アプリケーションの更新方法
JP2015032301A (ja) * 2013-08-07 2015-02-16 日本電信電話株式会社 仮想ホストのバージョンアップ方法、および、ネットワーク装置
JP2016162168A (ja) * 2015-03-02 2016-09-05 株式会社メガチップス キャッシュファイルシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080690A (ja) * 2007-09-26 2009-04-16 Nec Corp 情報記録再生システム,情報記録再生方法及びプログラム
GB2535373A (en) * 2013-09-30 2016-08-17 Maximus Inc Process tracking and defect detection
US9589244B2 (en) 2013-09-30 2017-03-07 Maximus, Inc. Request process optimization and management
WO2015048787A1 (en) 2013-09-30 2015-04-02 Maximus, Inc. Contact center system with efficiency analysis tools
US9418387B1 (en) 2013-12-13 2016-08-16 Square, Inc. Employee customizable payroll processing
KR20170045981A (ko) * 2015-10-20 2017-04-28 한국전자통신연구원 소프트웨어를 포함한 시스템 및 이의 무중단 업그레이드 방법
US10067757B2 (en) * 2015-11-20 2018-09-04 Google Llc Dynamic update of an application in compilation and deployment with hot-swapping
US11030697B2 (en) 2017-02-10 2021-06-08 Maximus, Inc. Secure document exchange portal system with efficient user access
US10339608B1 (en) 2017-10-31 2019-07-02 Square, Inc. Selectable payroll amounts for instant payroll deposits

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999806A (en) * 1987-09-04 1991-03-12 Fred Chernow Software distribution system
US6110228A (en) * 1994-12-28 2000-08-29 International Business Machines Corporation Method and apparatus for software maintenance at remote nodes
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6665867B1 (en) * 2000-07-06 2003-12-16 International Business Machines Corporation Self-propagating software objects and applications
US6629315B1 (en) * 2000-08-10 2003-09-30 International Business Machines Corporation Method, computer program product, and system for dynamically refreshing software modules within an actively running computer system
US20020174422A1 (en) * 2000-09-28 2002-11-21 The Regents Of The University Of California Software distribution system
JP2004295464A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011090406A (ja) * 2009-10-20 2011-05-06 Ricoh Co Ltd 電子機器およびその制御方法、制御プログラムおよび記憶媒体、ならびに、機器管理システム
JP2012083867A (ja) * 2010-10-08 2012-04-26 Nomura Research Institute Ltd サービス提供システムの機能拡張方法
JP2012155682A (ja) * 2011-01-28 2012-08-16 Denso Corp 組み込みシステム用のプラットフォーム、アプリケーション、該プラットフォームと該アプリケーションを備える制御プログラム、電子装置、及び、アプリケーションの更新方法
JP2015032301A (ja) * 2013-08-07 2015-02-16 日本電信電話株式会社 仮想ホストのバージョンアップ方法、および、ネットワーク装置
JP2016162168A (ja) * 2015-03-02 2016-09-05 株式会社メガチップス キャッシュファイルシステム

Also Published As

Publication number Publication date
US20060129617A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
US10528585B2 (en) ETL tool interface for remote mainframes
CN108885568A (zh) 在按需代码执行环境处处理先已存在的数据集
EP0322125B1 (en) Method of operating an electronic information processing system for transferring documents between end users
US7595907B2 (en) Method and apparatus for providing printer recognition and management of a print job entity
US7899787B2 (en) Object-oriented system and method using shadowing object for approval control
US20060129617A1 (en) Method for controlling an information processing apparatus
JP2009532791A (ja) 顧客が設定可能なワークフローシステム
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
CN108292349A (zh) 在分布式计算环境中提供虚拟机实例的细粒度访问远程命令执行
CN103632219A (zh) 用于重新分配用于检查数据质量的作业的方法和系统
NO331572B1 (no) Programmeringsgrensesnitt for lisensiering
JP2006507550A (ja) エンティティをアスペクトパターン中の一般機能で接続する方法およびコンピュータシステム
US9904574B2 (en) Parallel computing without requiring antecedent code deployment
US8677118B1 (en) Automated kernel hook module building
US20200348926A1 (en) System and method for automating environment management of one or more software applications
JPH11305998A (ja) 計算機システム
US20230195792A1 (en) Database management methods and associated apparatus
US7861242B2 (en) Mobile application morphing system and method
JP2003050904A (ja) 情報処理装置、情報処理システム、業務フロー支援方法、記憶媒体、及びプログラム
WO2007072567A1 (ja) 並列処理支援装置
US11537387B1 (en) Lock database code for online patching
CN115249159B (zh) 一种基于数字货币的事件处理系统
US11281461B2 (en) Extensible persistence hierarchies for workflow management systems
EP4224335A1 (en) Database management methods and associated apparatus
CN113342885B (zh) 数据导入方法、装置、设备及计算机程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100216