JP2006323500A - 管理方法及び管理装置 - Google Patents

管理方法及び管理装置 Download PDF

Info

Publication number
JP2006323500A
JP2006323500A JP2005144225A JP2005144225A JP2006323500A JP 2006323500 A JP2006323500 A JP 2006323500A JP 2005144225 A JP2005144225 A JP 2005144225A JP 2005144225 A JP2005144225 A JP 2005144225A JP 2006323500 A JP2006323500 A JP 2006323500A
Authority
JP
Japan
Prior art keywords
application
framework
management
target
facade
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005144225A
Other languages
English (en)
Other versions
JP4455403B2 (ja
JP2006323500A5 (ja
Inventor
Toyohiko Ushiku
豊彦 牛久
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005144225A priority Critical patent/JP4455403B2/ja
Priority to US11/410,111 priority patent/US8782634B2/en
Priority to EP06113161A priority patent/EP1724680A3/en
Priority to KR1020060044085A priority patent/KR100871636B1/ko
Priority to CN2006100783897A priority patent/CN1866214B/zh
Publication of JP2006323500A publication Critical patent/JP2006323500A/ja
Publication of JP2006323500A5 publication Critical patent/JP2006323500A5/ja
Application granted granted Critical
Publication of JP4455403B2 publication Critical patent/JP4455403B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

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

Abstract

【課題】 アプリケーション・プログラムのライフサイクル管理を統一的に行うことができ、スキルを持たないオペレータでも操作ミスの起こる確率を低減させる。
【解決手段】 アプリケーション・プログラムのライフサイクルを管理する際に、アプリケーション・プログラムのインストール先が他の管理装置か否かを識別し、識別した結果に応じてアプリケーション・プログラムを自管理装置又は他の管理装置にインストールし、そのインストールしたアプリケーション・プログラムを自管理装置で管理する。
【選択図】 図5

Description

本発明は、アプリケーションを管理する技術に関する。
従来、コンピュータ・システムのサーバ上などでは、アプリケーション・プログラムを実行制御するものとして、フレームワーク、プラットフォーム、アプリケーションサーバもしくはプログラム・コンテナなどと呼ばれるものが多数存在する(ここでは、総称してフレームワークと呼ぶこととする)。
このフレームワークは、フレームワーク上で実行されるアプリケーション・プログラムのインストール、不要になったアプリケーション・プログラムのアンインストール、インストールしたアプリケーション・プログラムの実行、実行中のアプリケーション・プログラムの停止、インストールしたアプリケーション・プログラムの更新、といった実行制御を行う、いわゆる「アプリケーション・プログラムのライフサイクル管理機能」を有している。
また、これらの管理方法や各フレームワーク上にインストールされるアプリケーション・プログラムの形態はフレームワーク毎に異なっている。
代表的なフレームワークの例としては、非特許文献1及び非特許文献2がある。非特許文献1では、WAR形式と呼ばれるアプリケーション・プログラムの配布形式があり、このWARファイルが特定のディレクトリに置かれると、新しいWARファイルが置かれたと認識し、実行できる形態に自動的に変換することによってインストールを実現している。また、この機構を利用してアプリケーション・プログラムのライフサイクルを管理するアプリケーションがサポートされており、リモートからアプリケーション・プログラムのインストール/アンインストール/起動/停止などが行えるようになっている。
また、非特許文献2では、バンドルと呼ばれるアプリケーション・プログラムの単位が定義されており、このバンドルを形成するバンドル・ファイルの形態も定義されている。これらのバンドルを対象としてライフサイクルの管理機能が提供されている。
一方、いわゆる「組み込み機器」と呼ばれる汎用コンピュータ以外のシステムにおいても、機器のハードウェア資源の高速化、大容量化に伴い、汎用コンピュータで開発された技術を組み込み機器で使用しようとするケースが増えている。
「The Apache Jakarta Tomcat 5.5 Servlet / JSP Container User Guide」Apache Project, 2004年 「OSGi Service Platform Specification Release 2」, OSGi, 2001
汎用のコンピュータ・システムのサーバにおいては、サーバのハードウェア及びソフトウェアの管理を行うオペレータは専門教育を受けており、フレームワーク毎にアプリケーション・プログラムの管理方法が異なっていても、対処し得るだけの技量を持ち合わせていることを仮定しても何ら問題にはならない。
一方、組み込み機器においては、機器を実際に管理するオペレータとして高い専門的なスキルを持つ人が任命されることを期待できない場合が殆どである。
従って、フレームワーク毎にアプリケーション・プログラムの管理方法が異なっている場合、不慣れで専門的な知識が欠如していることに起因する操作ミスなどが起きる確率が高くなることにより、システム全体が機能不全を起こす可能性が高くなるという問題点が存在する。また、たとえ、サーバの管理を行うオペレータといえども、操作ミスがないとは言い切れない。
また、アプリケーション・プログラムのライセンス管理やセキュリティチェックなどは、通常インストール時に行われることが多いため、フレームワーク毎にアプリケーション・プログラムのライフサイクル管理方法の一部であるインストール方式が異なると、複数のライセンス管理やセキュリティチェック機能をシステム内に設ける必要があり、ハードウェア資源の使用効率を下げてしまうという問題点も存在する。
また、フレームワーク毎にリモート管理するためのネットワーク進入口を外部に対して開いておかなければならず、外部からシステムに侵入するための経路が多くなってしまい、セキュリティ上の隘路になる危険性があるという問題点も有する。
本発明は、上記課題を解決するためになされたもので、アプリケーション・プログラムのライフサイクル管理を統一的に行うことができ、スキルを持たないオペレータでも操作ミスの起こる確率を低減させることを目的とする。
本発明は、管理装置にアプリケーションを管理する所定のフレームワークが存在し、前記所定のフレームワークが他のフレームワークのアプリケーションも管理する管理方法であって、アプリケーションのインストール先が前記所定のフレームワークか否かを識別する識別工程と、前記識別工程での識別結果に応じて前記アプリケーションを前記所定のフレームワークか前記他のフレームワークにインストールし、前記アプリケーションのライフサイクルを管理する管理工程とを有することを特徴とする。
また、本発明は、管理装置にアプリケーションを管理する所定のフレームワークが存在し、前記所定のフレームワークが他のフレームワークのアプリケーションも管理する管理装置であって、アプリケーションのインストール先が前記所定のフレームワークか否かを識別する識別手段と、前記識別手段での識別結果に応じて前記アプリケーションを前記所定のフレームワークか前記他のフレームワークにインストールし、前記アプリケーションのライフサイクルを管理する管理手段とを有することを特徴とする。
本発明によれば、アプリケーション・プログラムのライフサイクル管理を統一的に行うことができ、オペレータの操作ミスが起こる確率を低減させることができる。
また、アプリケーション・プログラムのライセンス管理やセキュリティチェックを統合して行えるため、それらにかかるハードウェア資源を節約することができる。
更に、アプリケーション・プログラムをリモート管理するためのネットワーク進入口を一箇所に集約することができ、外部からの進入に対する防御を容易に行える。
更に、アプリケーション同士が連携して処理を行うような分散アプリケーションを統合的に管理できるため、アプリケーション・プログラムの開発においてアプリケーション・プログラム構成の自由度を増すことができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
まず、図1を用いて複数のフレームワークが組み込まれた組み込み機器の構成及び動作について説明する。
図1は、一般的な組み込み機器の構成の一例を示す図である。図1において、100はフレームワークが稼動する組み込み機器(以下、「機器」と略す)である。101は機器100上で稼動するフレームワークとしてのフレームワークAである。102はフレームワークA101上で管理されるアプリケーションとしてのアプリケーション群Aである。110はフレームワークA101に対してアプリケーションの管理を指示するためのコンピュータAである。120はコンピュータA110を経由してフレームワークA101にインストールされるアプリケーションAである。
103はこの機器100上で稼動するフレームワークとしてのフレームワークBである。104はフレームワークB103上で管理されるアプリケーションとしてのアプリケーション群Bである。130はフレームワークB103に対してアプリケーションの管理を指示するためのコンピュータBである。140はコンピュータB130を経由してフレームワークB103にインストールされるアプリケーションBである。
これらのアプリケーション・プログラムの管理機能は、WWW(World Wide Web)技術を使用してリモート(コンピュータA110又はコンピュータB130)から制御可能となっている。即ち、フレームワークが実際に起動されている機器とは異なるコンピュータで稼動するWebブラウザを使用して、リモートから機器内のフレームワークにアクセスし、フレームワーク上のアプリケーション・プログラムのライフサイクルを管理することができる。
図2は、Webブラウザによりコンピュータ上に表示される管理画面の一例を示す図である。この例は、コンピュータA110がフレームワークA101上でアプリケーション・プログラム群A102を管理する際に、コンピュータA110上で稼動しているWebブラウザにより表示されるアプリケーション・プログラム管理画面である。
この管理画面からコンピュータA110のユーザが選択ボタン201によってアプリケーションが格納されているファイルを選択し、選択ボタン202によってライセンス情報を格納しているファイルを指定した後、インストールボタン203によってインストールを行うことができる。また、インストール済みのアプリケーション(アプリケーションA−2)を選択して起動204/終了205/更新206/アンインストール207などの実行制御を指示することができる。
一方、フレームワークB103は、コンピュータB130からFTP(File Transfer Protocol)を使用してフレームワークB103が設けている特定のディレクトリにアプリケーションB140を転送することによりアプリケーションのインストールを行う。また、アンインストールはインストールと同様に、FTPを使用して特定のディレクトリからファイルを削除することによって行う。
このように、同じシステム100上のフレームワークでも、フレームワークA101とフレームワークB103とではアプリケーション・プログラムの管理方法が異なる。
尚、説明の便宜上コンピュータA110とコンピュータB130は別々のコンピュータになっているが、同じコンピュータで行っても良い。
[第1の実施形態]
次に、複数のフレームワークが稼働する機器においてアプリケーション・プログラムのライフサイクルを統一的に管理する方法について説明する。
図3は、第1の実施形態における組み込み機器の構成の一例を示す図である。尚、本発明は、組み込み機器に限定されるものではなく、他のネットワーク機器にも適用可能である。図3において、301は機器全体を制御する制御部である。302はデータや制御部301で実行されるソフトウェアを一時的に記憶しておくためのRAMなどで構成される1次記憶部である。303はデータや制御部301で実行されるソフトウェアを恒久的に記憶しておくためのハードディスクなどで構成される2次記憶部である。304はユーザの指示や文字データや画像データを入力するためキーボード、マウス、タッチスクリーン、スキャナなどで構成される入力部である。305はオペレータへの指示やデータの内容を表示するためのディスプレーなどで構成される表示部である。306は他の機器と通信を行うためのLANなどで構成されるネットワーク部である。そして、307は各部を結合するためのバスである。
図4は、制御部301で実行されるソフトウェアの構成を階層的に示す図である。図4において、401はソフトウェアやハードウェア資源を管理するためのオペレーティングシステム(OS)である。402はアプリケーションの実行環境となるフレームワークのうち、オペレータからの指示を代表して受けるファサード(Facade)・フレームワークである。403はファサード・フレームワーク402上で実行されるファサード・フレームワークアプリケーション群である。
404はファサード・フレームワーク402を介してオペレータの指示を受けるフレームワークとしてのターゲット・フレームワークAである。405はターゲット・フレームワークA404上で実行されるターゲット・フレームワークAアプリケーション群である。406はターゲット・フレームワークA404と同様に、ファサード・フレームワーク402を介してオペレータの指示を受けるターゲット・フレームワークBである。407はターゲット・フレームワークB406上で実行されるターゲット・フレームワークBアプリケーション群である。408はオペレーティングシステム401上で稼動するその他のアプリケーション群である。
尚、ファサード・フレームワーク402、ターゲット・フレームワークA404とターゲット・フレームワークB406は、オペレーティングシステム401からは、その他のアプリケーション群408に属するアプリケーションと全く同等に扱われる。
第1の実施形態では、ファサード・フレームワーク402はOSGi Service Platform(以下、OSGiと略す)を拡張したものであるとして説明する。
また、ファサード・フレームワーク402は、Java言語(Javaは米国Sun Microsystems Inc. の登録商標である)によって構築され、各アプリケーションはバンドルと呼ばれ、アーカイブ・ファイル形式であるJar(Java ARchive)ファイルによって提供される。また、アプリケーションの一部の機能を他のアプリケーションに提供するためのサービス登録・検索・使用機能を有している。
これにより、特定のインタフェースを持ったサービスを検索し、利用することが可能となる。また、サービスの登録では、登録するサービスを規定する属性を合わせて登録することが可能で、その属性によって特定の属性値を持つサービスを検索して取得することができるように構成されている。尚、OSGiの詳細は非特許文献2に記載されており、ここでの説明は省略する。
図5は、ファサード・フレームワーク402とターゲット・フレームワークA404の関係を模式的に表した図である。図5において、500は第1の実施形態における機器であり、図3に示す各部から構成されている。510はネットワーク部306を介して機器500と接続されているコンピュータである。520はコンピュータ510の記憶装置に記憶され、ファサード・フレームワーク402を経由してターゲット・フレームワークA404にインストールされるターゲット・アプリケーションからなるアプリケーション・ファイルである。530はアプリケーション・ファイル520内に含まれ、ターゲット・フレームワークA404上で稼動するターゲット・アプリケーションである。
尚、ファサード・フレームワーク402とターゲット・フレームワーク404、406の夫々が異なる装置に備えられ、ある装置に備えられたファサード・フレームワーク402が、他の装置に備えられたターゲット・フレームワーク404又は406へターゲット・アプリケーションをインストールする場合にも、本発明は、適用可能である。
ここで、図6を用いて、第1の実施形態におけるアプリケーション・ファイル520の構造について説明する。
図6は、第1の実施形態におけるアプリケーション・ファイル520の構造の一例を示す図である。図6に示すように、アプリケーション・ファイル520は、ヘッダ部601とデータ格納部602とで構成されている。
ヘッダ部601は、アプリケーション・ファイルであることを示すマジック・ナンバー611と、ヘッダ部601の大きさを表すヘッダ部サイズ612と、アプリケーション・プログラムの各種属性を記述しているプログラム属性記述部613とで構成されている。ここで、プログラム属性記述部613は、図7に示すように、プログラム属性を表現するJarファイルのマニフェストヘッダ形式により構成される。また、マニフェストヘッダでは、属性の名前とその値のペアとして属性値が記述される。
一方、データ格納部602はファサード・フレームワーク402が管理している秘密鍵によってのみ復号化されるように暗号化されている。そして、データ格納部602を復号化すると、ターゲット・フレームワークA404上で実行されるときに必要な属性を記述しているターゲット・フレームワーク用アプリケーション・ヘッダ部621とターゲット・フレームワーク上で実行するプログラム・データを格納しているプログラム・データ・アーカイブ部622とに分かれている。
図5に戻り、540はファサード・フレームワーク402上で実行されるファサード・フレームワークアプリケーション群403に属し、ターゲット・フレームワークA404に対してアプリケーションのライフサイクル管理を行うアプリケーション・マネージャAである。また、550はファサード・フレームワーク402上で実行されるファサード・フレームワークアプリケーション群403に属し、ターゲット・フレームワークB406に対してアプリケーションのライフサイクル管理を行うアプリケーション・マネージャBである。即ち、ターゲット・フレームワーク毎にアプリケーションのライフサイクル管理を行うアプリケーション・マネージャが存在する。
次に、図8を用いて、コンピュータ510のオペレータがターゲット・フレームワークA404にアプリケーション・ファイル520をインストールする際の処理について説明する。尚、アプリケーション・ファイル520と共にオペレータからはライセンス情報も同時に指定されているものとする。また、第1の実施形態で使用されるWebブラウザ上のユーザインタフェースは図2に示す管理画面と同じものが使われるものとする。
図8は、第1の実施形態におけるインストール処理を示すフローチャートである。まず、ステップS801において、コンピュータ510のオペレータがWebブラウザにより表示された機器500におけるファサード・フレームワーク402の管理用ユーザインタフェースを介してファサード・フレームワーク402にアクセスし、アプリケーション・ファイル520をインストールするように指示する。
オペレータの指示によってアプリケーション・ファイル520を受け取ったファサード・フレームワーク402は、そのアプリケーション・ファイル520のヘッダ部601のプログラム属性記述部613に記述されているマニフェストヘッダを解析し、アプリケーション・ファイル520のプログラム・データ・アーカイブ部622に格納されているプログラムを実行すべきフレームワークを取得する。
尚、ターゲットとなるフレームワークは、図7に示すように、ターゲット(target:)属性として記述されている。ここで、ターゲット属性が設定されていない場合、もしくはファサード・フレームワーク402が指定されている場合はファサード・フレームワーク402がターゲット・フレームワークとして認識される。ここでは、ターゲットとして、“Tomcat 5.5”が指定されており、ターゲットフレームワークA404を認識する。
次に、ステップS802において、ステップS801で取得したアプリケーション・ファイル520を実行するターゲット・フレームワークがファサード・フレームワーク402であるか否かを認識する。ここで、ターゲット・フレームワークがファサード・フレームワーク402である場合はステップS803へ進む。
このステップS803では、オペレータが指定し、コンピュータ510からファサード・フレームワーク402に送られてきたアプリケーション・ファイル520をファサード・フレームワーク402用のアプリケーションとしてインストールする。
このインストールの際に、アプリケーション・ファイル520のデータ格納部602に格納されているデータを秘密鍵によって復号化する。復号化されたデータは、ファサード・フレームワーク402用のアプリケーションであると仮定して、ファサード・フレームワーク402へのインストール処理を行う。
また、復号化されたデータがファサード・フレームワーク402のアプリケーションのフォーマットに則しているか否かを調べる処理は、ファサード・フレームワーク402の機能によって行う。更に、オペレータによって指定されたライセンス情報は、ファサード・フレームワーク402へのライセンス情報として設定される。
一方、ステップS802で、ファサード・フレームワーク402以外のフレームワークがターゲットであると認識した場合はステップS804へ進み、認識されたターゲット・フレームワーク用のアプリケーション・マネージャが存在するか否かを検索する。尚、ファサード・フレームワーク402とターゲット・フレームワークは異なる装置に備えられていても良い。
アプリケーション・マネージャは、図9に示すインタフェース(ApplicationManger)によるサービスを提供するものとして登録されている。また、アプリケーション・マネージャの属性として、対象としているフレームワークの識別子が“TargetFramework”属性として登録されている。
この例では、ターゲット・フレームワークが“Tomcat 5.5”であるとステップS801で認識されているので、ファサード・フレームワーク402本体が提供している、searchメソッドに、ApplicationManagerインタフェースの名前と属性値の検索式とをLDAP形式で以下のように指定すれば、“Tomcat 5.5”用のアプリケーション・マネージャを取得することができる。
ApplicationManager am = (ApplicationManager) framework_body.search( "com.canon.upd.ApplicationManager", "(TargetFramework=Tomcat 5.5)");
また、“Tomcat 5.5”用のアプリケーション・マネージャが登録されていない場合は、ヌル(null)が返されて登録されていないことを認識できるようになっている。
即ち、ターゲット・フレームワークA404が“Tomcat 5.5”であるとすると、上記の検索によってターゲット・フレームワークA404用のアプリケーション・マネージャを取得することができる。
ここで、ターゲット・フレームワーク用のアプリケーション・マネージャが取得できた場合はステップS806へ進み、取得できずヌル(null)が返ってきた場合はステップS805へ進む。
このステップS805では、アプリケーションのインストール先として指定されたターゲット・フレームワークに対応するアプリケーション・マネージャが登録されていないことを示すアラートページをコンピュータ510上のWebブラウザに表示することにより、オペレータにインストールに失敗したことを通知する。
また、ステップS804で、アプリケーションのインストール先として指定されたターゲット・フレームワークに対応するアプリケーション・マネージャが取得できた場合は、ターゲット・フレームワークA404用のアプリケーション・マネージャとしてのアプリケーション・マネージャA404が返されている。
そこで、アプリケーション・マネージャが存在する場合にはステップS806へ進み、アプリケーション・ファイル520からデータ格納部602を取り出し、秘密鍵によって復号化する。次に、復号化されたターゲット・アプリケーション530を入力ストリームとして開き、その引数としてアプリケーション・マネージャA540のinstallメソッドを呼び出し、ターゲット・フレームワークA404にインストールする。
この場合、ターゲット・フレームワークA404がTomcatであるため、入力ストリームによって渡されたデータをWARファイルとして特定のディレクトリに置くことによってインストール処理が行われる。
このターゲット・フレームワークA404へのインストールが終了すると、ターゲット・フレームワークA404上のターゲット・フレームワークAアプリケーション群405内でインストールされたアプリケーションを一意に認識するためのアプリケーション識別子を含む図9に示すApplicationインタフェースを実装したオブジェクトが返される。
アプリケーション識別子はApplicationインタフェースのgetApplicationIDメソッドを呼び出すことによって取得できる。
また、オペレータによって指定されたライセンス情報は、アプリケーション・マネージャA540によってターゲット・フレームワークA404に通知され、ターゲット・フレームワークA404で使用される。
ファサード・フレームワーク402の本体に対して、取得したApplicaitonオブジェクトと、ターゲット・フレームワークの識別子(この例では“Tomcat 5.5”と言う文字列)を引数として拡張されたメソッドであるmakeBundleメソッドを呼び出すと、ファサード・フレームワーク402上にターゲット・フレームワークA404上にインストールされたアプリケーションを識別するための仮想的なアプリケーションが生成される。
以後のターゲット・フレームワークA404にインストールされたアプリケーションのライフサイクルの管理を、この仮想アプリケーションを対象とすることにより、あたかもファサード・フレームワーク402上のアプリケーションの管理を行っているかのように実行制御することができる。
上述したように、ターゲット・フレームワークA404へのアプリケーションのインストールが、オペレータから見ればファサード・フレームワーク402へのインストールであるかのように見せることができる。
次に、インストール以外の処理について説明する。インストール以外の各処理は大筋では同じであり、ここでは図10を用いて、代表例として稼動しているアプリケーションを停止する処理について説明する。
図10は、第1の実施形態におけるアプリケーションの停止処理を示すフローチャートである。上述したインストール処理と同様に、オペレータがコンピュータ510からファサード・フレームワーク402にアクセスし、Webブラウザ上にファサード・フレームワーク402のアプリケーション群403の管理画面を表示させる。そして、オペレータが表示された管理画面からアプリケーションを選択し、停止処理を行うことを指示するとステップS1001へ進み、選択されたファサード・フレームワーク・アプリケーション群403内のアプリケーションが、ファサード・フレームワーク402自身のアプリケーションであるか、ターゲット・フレームワーク上のアプリケーションの仮想アプリケーションであるかを識別する。この識別処理は、図11に示すアプリケーション属性オブジェクトに基づいて行う処理である。尚、ファサード・フレームワーク402とターゲット・フレームワークは異なる装置に備えられていても良い。
図11は、ファサード・フレームワーク402で管理されるアプリケーション群403のアプリケーション属性オブジェクトの構成を示す図である。図11に示すように、アプリケーション属性オブジェクトは、アプリケーションの実体が実行されるフレームワークを示すフレームワーク識別子1101、Applicationインタフェースのオブジェクトとして定義されアプリケーションを示すアプリケーション識別子1102、アプリケーションのライフサイクル上の状態を表すステータス1103、アプリケーションが実際に格納された場所をURL情報として表す格納先1104、その他の属性1105を含む。また、ターゲット・フレームワーク上のアプリケーションに対する属性値は、アプリケーションがインストールされたとき(ステップS806)、取得したApplicationオブジェクトから各々取得して設定される。
尚、フレームワーク識別子1101が設定されていれば、指定されたアプリケーションは設定されている識別子を持つターゲット・フレームワーク上のアプリケーションであることを示し、設定されていなければ、ファサード・フレームワーク402上のアプリケーションであることを示す。
ステップS1001でファサード・フレームワーク402上のアプリケーションである場合はステップS1002へ、そうでない場合はステップS1003へ進む。
このステップS1002では、ファサード・フレームワーク402上で実際に稼動しているアプリケーションであるので、ファサード・フレームワーク402が元々備えているアプリケーション管理におけるアプリケーション停止処理を行う。
また、ステップS1003では、アプリケーション属性オブジェクトのフレームワーク識別子1101によって選択されたアプリケーションが実際に稼動しているターゲット・フレームワークに対応するアプリケーション・マネージャを取得する。ここでの取得方法はステップS804で説明した通りである。
次に、ステップS1004において、アプリケーション・マネージャを取得できたか否かを判定し、アプリケーション・マネージャを取得できた場合はステップS1005へ、取得できない場合は、例外を発生して処理を終了する。
このステップS1005では、ステップS1003で取得したアプリケーション・マネージャに対してアプリケーション属性オブジェクトのアプリケーション識別子1102に格納されているアプリケーション識別子を引数として指定して、stopメソッドを呼び出すことにより、ターゲット・フレームワーク上で稼動している指定されたアプリケーションを停止する。
また同時に、ファサード・フレームワーク402上の仮想アプリケーションも停止状態になるようにステップS1002へ進む。
以上のようにして、ターゲット・フレームワーク上のアプリケーションに関するライフサイクルの管理であっても、ファサード・フレームワーク402上のアプリケーションを管理しているかのようにオペレータに見せることができる。
尚、ファサード・フレームワーク402上のアプリケーションのアプリケーション属性オブジェクトは生成されると同時に、2次記憶部303に記憶され、その後、機器500が起動されたときには2次記憶部303から読み込まれて復元されるものとする。
従って、一度ファサード・フレームワーク402を経由してインストールされたアプリケーションの情報は機器500が起動される度に以前に機器500が停止したときの状態で復元される。
このとき、ファサード・フレームワーク402の起動シーケンスにおいて、ファサード・フレームワーク402上の仮想アプリケーションに対して復元処理を行う場合は、以下の処理を行う。
仮想アプリケーションのアプリケーション属性オブジェクトで記憶されているアプリケーションの状態と、各ターゲット・フレームワーク上のアプリケーションの状態が異なる場合、ファサード・フレームワーク402上の仮想アプリケーションの状態と合うように対応するアプリケーション・マネージャを経由してターゲット・フレームワーク上のアプリケーションの状態を変更する。
例えば、ファサード・フレームワーク402上では起動状態であるように記憶されているにもかかわらず、ターゲット・フレームワーク上では起動していないような場合、アプリケーション・マネージャのstartメソッドにより起動状態に変更する。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について詳細に説明する。尚、第2の実施形態における機器及びソフトウェアの構成は、第1の実施形態と同様であり、その説明は省略する。また、ファサード・フレームワークとターゲット・フレームワークは異なる装置に備えられていても良い。
第2の実施形態で第1の実施形態と異なるのは、機器500が起動されたときのファサード・フレームワーク402とアプリケーション・マネージャの処理である。
機器500が起動され、それに伴いファサード・フレームワーク402が起動されると、ファサード・フレームワーク・アプリケーション群403の初期化を行う。その際に、仮想アプリケーションであるアプリケーション属性オブジェクトのフレームワーク識別子が設定されている場合は(ステップS1001のYES)、アプリケーションの再構成を行わずファサード・フレームワーク402上のアプリケーションとして再生しない。
また、この時点で再生しないのではなく、仮想アプリケーションの場合、2次記憶部303へのアプリケーション属性オブジェクトの格納を行わないことでも同様の効果が得られる。
一方、アプリケーション・マネージャがファサード・フレームワーク402によって起動される時に、アプリケーション・マネージャの管理対象となっているターゲット・フレームワークに問い合わせ、ターゲット・フレームワーク上で稼動しているアプリケーションのアプリケーション識別子のリストを取得する。
取得したリスト上のアプリケーション識別子を使用して、仮想アプリケーションをファサード・フレームワーク402上で生成する。この際の処理は第1の実施形態のステップS806に記述されているものと同じである。
このようにして、ターゲット・フレームワーク上のアプリケーション管理をファサード・フレームワーク402のアプリケーションを管理しているかのように行うことができる。
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態について詳細に説明する。尚、第3の実施形態における機器及びソフトウェアの構成は、第1の実施形態と同様であり、その説明は省略する。また、ファサード・フレームワークとターゲット・フレームワークは異なる装置に備えられていても良い。
第3の実施形態で使用するアプリケーション・ファイルの形式を図12に示す。図12に示すように、アプリケーション・ファイルは、ファサード・フレームワーク402を含む複数のターゲット・フレームワーク上で稼動するアプリケーションを一つのファイルにまとめたものになっている。アプリケーション・ファイルは、ヘッダ部1201とデータ格納部1202とで構成されている。ヘッダ部1201は、アプリケーション・ファイルであることを示すマジック・ナンバー1211、ヘッダ部の大きさを表すヘッダ部サイズ1212、アプリケーション・プログラムの各種属性を記述しているプログラム属性記述部1213とで構成されている。尚、プログラム属性記述部1213は、プログラム属性を表現する、図13に示すようなXMLデータにより構成される。
更に、データ格納部1202はファサード・フレームワーク402が管理している秘密鍵によってのみ復号化されるように暗号化されている。データ格納部1202を復号化すると、各ターゲット・フレームワーク用のアプリケーションであるプログラム片1220の列として構成されている。各プログラム片1220は、プログラム片1220のサイズ1221、プログラム片識別子1222、対象となるターゲット・フレームワークで実行されるときに必要な属性を記述しているターゲット・フレームワーク用アプリケーション・ヘッダ部1223、ターゲット・フレームワーク上で実行するプログラム・データを格納しているプログラム・データ・アーカイブ部1224から構成されている。
ここで、図14を用いて第3の実施形態においてアプリケーションをインストールする際の処理について説明する。第3の実施形態では、ファサード・フレームワーク402上のアプリケーションは図15に示すApplicationAttributeオブジェクトを属性として持つものとする。
図14は、第3の実施形態におけるインストール処理を示すフローチャートである。まず、ステップS1401において、第1の実施形態と同様に、オペレータの指示によってアプリケーション・ファイル520を受け取ったファサード・フレームワーク402は、そのアプリケーション・ファイル520のヘッダ部1201のプログラム属性記述部1213に記述されているXML文書を解析する。同時に、データ格納部1202の復号化を行う。
各プログラム片1220の情報は、図13に示すプログラム属性記述例のように、portionタグによって記述されている。プログラム片1220のプログラム・データ・アーカイブ部1224に格納されているアプリケーション・プログラムを実行すべきターゲット・フレームワークはportionタグのtarget属性として記述されている。また、target属性が設定されていない場合或いはファサード・フレームワーク402が指定されている場合は、ファサード・フレームワーク402をターゲット・フレームワークとして認識する。potionタグのid属性としてプログラム片1220の識別子が指定され、プログラム片識別子1222と比較することにより、ターゲット・フレームワークに対応するプログラム片1220を特定する。ここで、全てのプログラム片情報はプログラム片リストとして登録する。
次に、ステップS1402において、ステップS1401で作成したプログラム片リストを用いて各プログラム片の処理を行う。未処理のプログラム片をリストから抽出し、未処理のプログラム片があればステップS1403へ進み、プログラム片情報リストから取得したプログラム片情報からターゲット・フレームワーク情報を取得する。そして、ステップS1404において、ステップS1403で取得したターゲット・フレームワーク情報が設定されていないか、即ち、ファサード・フレームワーク402がターゲットか否かを判定する。ここで、ファサード・フレームワーク402がターゲットであればステップS1405へ進み、対象となるプログラム片のプログラム・データ・アーカイブ部1224に格納されているプログラムをファサード・フレームワーク402用のアプリケーションとしてインストールする。このとき、インストールされたアプリケーションのアプリケーション属性を管理するものとしてApplicationAttributeオブジェクトが生成される。
また、ファサード・フレームワーク402がターゲットでなければステップS1406へ進み、第1の実施形態におけるインストール処理のステップS804と同様に処理を行い、対象となるターゲット・フレームワーク用のアプリケーション・マネージャを取得する。アプリケーション・マネージャの取得に必要な情報はプログラム片情報から取得する。尚、ファサード・フレームワーク402とターゲット・フレームワークは異なる装置に備えられていても良い。
ここで、アプリケーション・マネージャが取得できず、ヌルが返ってきた場合はステップS1407へ進み、アプリケーションのインストール先として指定されたターゲット・フレームワークに対応するアプリケーション・マネージャが登録されていないことを示すアラートパネルをコンピュータ510上のWebブラウザに表示することにより、オペレータにインストールに失敗したことを通知して処理を終了する。
また、アプリケーション・マネージャが取得できた場合はステップS1408へ進み、プログラム片のプログラム・データ・アーカイブ部1224のデータを入力ストリームとして開き、引数としてアプリケーション・マネージャのinstallメソッドを呼び出して、ターゲット・フレームワークへのインストールを行う。ターゲット・フレームワークへのインストールが終了すると、ターゲット・フレームワークにインストールされたアプリケーションを一意に認識するためのアプリケーション識別子を含む図9に示すApplicationインタフェースを実装したオブジェクトが返される。アプリケーション識別子はApplicationインタフェースのgetApplicationIDメソッドを呼び出すことによって取得できる。
アプリケーションリスト(JavaのVectorオブジェクトとして生成する)が生成されていない場合は生成する。ターゲット・フレームワークへインストールした結果として返されたApplicationオブジェクトをアプリケーションリストに登録する。
一方、ステップS1402において、プログラム片が残っていない場合にはステップS1409へ進み、ステップS1405にてファサード・フレームワーク402上のアプリケーションがインストールされていればステップS1411へ、インストールされていなければステップS1410へ進む。
このステップS1410では、ファサード・フレームワーク402上に仮想アプリケーションを生成し、アプリケーション情報オブジェクトを生成する。このとき、アプリケーション属性を管理するものとしてApplicationAttributeオブジェクトが生成される。
次に、ステップS1411において、ステップS1405でファサード・フレームワーク402にアプリケーションをインストールした際に生成されたApplicationAttributeオブジェクト又はステップS1410にて仮想アプリケーションと共に生成されたApplicationAttributeオブジェクトにステップS1408にてターゲット・フレームワークにインストールしたアプリケーションの情報を登録してあるアプリケーションリストをframeworkListフィールドに設定する。
このようにして、複数のターゲット・フレームワークに向けたアプリケーションを内包したアプリケーション・ファイル520が指定された場合、各々のターゲット・フレームワークへのインストールを完了すると共に、それらの代表としてファサード・フレームワーク上にアプリケーション情報オブジェクトを生成する。
尚、第3の実施形態では、1つのアプリケーション・ファイル520内に格納されているプログラム片は関係があるものとして管理しているが、全く関係ないものとして各アプリケーション片に対して仮想アプリケーションを生成して別のものとして管理することもできる。
次に、インストール以外の処理について説明する。インストール以外の各処理は大筋では同じであり、ここでは図16を用いて、代表例として停止処理について説明する。
図16は、第3の実施形態におけるアプリケーションの停止処理を示すフローチャートである。上述したインストール処理と同様に、オペレータがコンピュータ510からファサード・フレームワーク402にアクセスし、Webブラウザ上にファサード・フレームワーク402のアプリケーション群403の管理画面を表示させる。そして、オペレータは表示された管理画面でアプリケーションを選択し、停止処理を行なうことを指示するとステップS1601へ進み、指定されたファサード・フレームワーク・アプリケーション群403内のアプリケーションからApplicationAttrribtueを取り出し、そのApplicationAttributeオブジェクトのframeworkListを取得し、VectorオブジェクトからFrameworkProgramオブジェクトを取り出す。
ここで、FrmeworkProgramオブジェクトを全て取り出し済みの場合はステップS1602へ進み、ファサード・フレームワーク402が元々備えているアプリケーション管理におけるアプリケーション停止処理を行う。
また、FrmeworkProgramオブジェクトを全て取り出していない場合はステップS1603へ進み、ステップS1601で取り出されたFrmeworkProgramオブジェクトからターゲット・フレームワーク識別子であるframeworkIdフィールドの値を取得し、それによって選択されたターゲット・フレームワークに対応するアプリケーション・マネージャを取得する。この取得方法は第1の実施形態と同様であり、その説明は省略する。尚、ファサード・フレームワーク402とターゲット・フレームワークは異なる装置に備えられていても良い。
次に、ステップS1604において、アプリケーション・マネージャを取得することができたか否かを判定し、取得できなかった場合は、例外を発生して処理を終了する。また、取得できた場合はステップS1605へ進み、ステップS1603で取得したアプリケーション・マネージャに対してFrmaeworkProgramオブジェクトのapplicationIdフィールドに格納されているアプリケーション識別子を引数として指定してstopメソッドを呼び出し、ターゲット・フレームワーク上で稼動している指定されたアプリケーションを停止させる。
以上のように、1つのアプリケーション・ファイル520に格納されている異なるフレームワーク上のアプリケーションもファサード・フレームワーク402上で行われるアプリケーションのライフサイクル管理に連動してライフサイクルの管理を行うことが可能となる。
また、上述の実施形態では、1つのアプリケーション・ファイル520に格納されていることが連携するための条件となっているが、別々にインストールされたアプリケーションをインストール後にグルーピングしてファサード・フレームワーク402上のアプリケーションに集約して同様の効果を得るように構成することも可能である。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インタフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
一般的な組み込み機器の構成の一例を示す図である。 Webブラウザによりコンピュータ上に表示される管理画面の一例を示す図である。 第1の実施形態における組み込み機器の構成の一例を示す図である。 制御部301で実行されるソフトウェアの構成を階層的に示す図である。 ファサード・フレームワーク402とターゲット・フレームワークA404の関係を模式的に表した図である。 第1の実施形態におけるアプリケーション・ファイル520の構造の一例を示す図である。 第1の実施形態におけるプログラム属性の記述例を示す図である。 第1の実施形態におけるインストール処理を示すフローチャートである。 第1の実施形態におけるインタフェースの一例を示す図である。 第1の実施形態におけるアプリケーションの停止処理を示すフローチャートである。 ファサード・フレームワーク402で管理されるアプリケーション群403のアプリケーション属性オブジェクトの構成を示す図である。 第3の実施形態で使用するアプリケーション・ファイルの形式を示す図である。 第3の実施形態におけるプログラム属性の記述例を示す図である。 第3の実施形態におけるインストール処理を示すフローチャートである。 第3の実施形態におけるApplicationAttributeオブジェクトの一例を示す図である。 第3の実施形態におけるアプリケーションの停止処理を示すフローチャートである。

Claims (9)

  1. 管理装置にアプリケーションを管理する所定のフレームワークが存在し、前記所定のフレームワークが他のフレームワークのアプリケーションも管理する管理方法であって、
    アプリケーションのインストール先が前記所定のフレームワークか否かを識別する識別工程と、
    前記識別工程での識別結果に応じて前記アプリケーションを前記所定のフレームワークか前記他のフレームワークにインストールし、前記アプリケーションのライフサイクルを管理する管理工程とを有することを特徴とする管理方法。
  2. 前記管理工程は、前記アプリケーションのインストール先にかかわらず、該アプリケーションのライフサイクルを同等に管理することを特徴とする請求項1記載の管理方法。
  3. 前記管理工程は、前記アプリケーションのインストール先が前記他のフレームワークの場合、前記アプリケーションの仮想アプリケーションを生成し、該仮想アプリケーションを管理することを特徴とする請求項1記載の管理方法。
  4. 前記インストールでは、インストール時に暗号化されているアプリケーションを復号化することを特徴とする請求項1記載の管理方法。
  5. 前記インストールでは、ライセンス情報を併せてインストールし、
    前記管理装置は、前記ライセンス情報に基づいて前記アプリケーションを実行制御することを特徴とする請求項1記載の管理方法。
  6. 前記管理工程は、別々のフレームワークで稼動する複数のアプリケーションをグループ化して管理することを特徴とする請求項2記載の管理方法。
  7. 管理装置にアプリケーションを管理する所定のフレームワークが存在し、前記所定のフレームワークが他のフレームワークのアプリケーションも管理する管理装置であって、
    アプリケーションのインストール先が前記所定のフレームワークか否かを識別する識別手段と、
    前記識別手段での識別結果に応じて前記アプリケーションを前記所定のフレームワークか前記他のフレームワークにインストールし、前記アプリケーションのライフサイクルを管理する管理手段とを有することを特徴とする管理装置。
  8. 請求項1記載の管理方法をコンピュータに実行させるためのプログラム。
  9. 請求項8記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005144225A 2005-05-17 2005-05-17 管理方法及び管理装置 Active JP4455403B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005144225A JP4455403B2 (ja) 2005-05-17 2005-05-17 管理方法及び管理装置
US11/410,111 US8782634B2 (en) 2005-05-17 2006-04-25 Installation method and apparatus
EP06113161A EP1724680A3 (en) 2005-05-17 2006-04-26 Installation method and apparatus
KR1020060044085A KR100871636B1 (ko) 2005-05-17 2006-05-17 관리 방법 및 장치
CN2006100783897A CN1866214B (zh) 2005-05-17 2006-05-17 安装方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005144225A JP4455403B2 (ja) 2005-05-17 2005-05-17 管理方法及び管理装置

Publications (3)

Publication Number Publication Date
JP2006323500A true JP2006323500A (ja) 2006-11-30
JP2006323500A5 JP2006323500A5 (ja) 2008-07-17
JP4455403B2 JP4455403B2 (ja) 2010-04-21

Family

ID=36972940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005144225A Active JP4455403B2 (ja) 2005-05-17 2005-05-17 管理方法及び管理装置

Country Status (5)

Country Link
US (1) US8782634B2 (ja)
EP (1) EP1724680A3 (ja)
JP (1) JP4455403B2 (ja)
KR (1) KR100871636B1 (ja)
CN (1) CN1866214B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123570A (ja) * 2009-12-08 2011-06-23 Sumitomo Electric Ind Ltd 情報処理装置、サーバ装置、配布システム、受信方法、プログラムモジュール提供方法
JP2014067379A (ja) * 2012-09-27 2014-04-17 Canon Inc デバイス装置、その制御方法、およびそのプログラム
US8954380B2 (en) 2007-06-05 2015-02-10 Canon Kabushiki Kaisha Application management method and information processing apparatus
JP2015509638A (ja) * 2012-04-18 2015-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078577B2 (en) * 2008-04-07 2011-12-13 Installfree, Inc. Method of bi-directional synchronization of user data
KR101419833B1 (ko) * 2008-07-18 2014-07-16 삼성전자주식회사 화상형성장치, 서비스 시스템 및 OSGi 기반 서비스설치 방법
US9032390B2 (en) * 2008-07-29 2015-05-12 Qualcomm Incorporated Framework versioning
CN101782855B (zh) * 2009-01-15 2013-03-20 华为技术有限公司 一种按配置删除软件的方法和设备
JP5460150B2 (ja) * 2009-07-06 2014-04-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
US8694981B2 (en) 2010-11-17 2014-04-08 Apple Inc. Shared resource dependencies
US9934482B2 (en) * 2013-05-24 2018-04-03 Sap Se Content maintenance optimization
US9645809B2 (en) * 2013-05-29 2017-05-09 Microsoft Technology Licensing, Llc Updating software components through online stores
JP6876234B2 (ja) * 2016-09-26 2021-05-26 富士フイルムビジネスイノベーション株式会社 画像形成装置及びプログラム
CN106844106B (zh) * 2017-02-06 2021-02-26 四川秘无痕科技有限责任公司 一种解析黑莓手机备份文件的方法
US10558454B2 (en) 2018-06-04 2020-02-11 Palantir Technologies Inc. Constraint-based upgrade and deployment
US10521220B1 (en) 2018-12-18 2019-12-31 Palantir Technologies Inc. Systems and methods for coordinating the deployment of components to defined user groups

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US6301707B1 (en) * 1997-09-30 2001-10-09 Pitney Bowes Inc. Installing software based on a profile
JP2000259585A (ja) 1999-03-08 2000-09-22 Toshiba Corp システムアプリケーション管理方式とその管理方式を実行するためのプログラムを記録した記録媒体
US6966060B1 (en) * 1999-07-02 2005-11-15 Microsoft Corporation Method and system for remote client installation
US6959330B1 (en) * 2000-05-16 2005-10-25 Palmsource, Inc. Sync-time read only memory image binding for limited resource devices
US7240336B1 (en) * 2000-07-25 2007-07-03 Sci Systems, Inc. Interpretive simulation of software download process
US20030149677A1 (en) 2000-08-04 2003-08-07 Bingham Paris E. Knowledge automation engine for product knowledge management
US7707571B1 (en) * 2001-01-05 2010-04-27 New Boundary Technologies Inc. Software distribution systems and methods using one or more channels
US20040015961A1 (en) * 2001-03-19 2004-01-22 International Business Machines Corporation Method and apparatus for automatic prerequisite verification and installation of software
JP2002287990A (ja) * 2001-03-26 2002-10-04 Canon Inc アプリケーション管理装置、アプリケーション管理方法、記憶媒体及びプログラム
US7152109B2 (en) * 2001-04-20 2006-12-19 Opsware, Inc Automated provisioning of computing networks according to customer accounts using a network database data model
US6976251B2 (en) 2001-05-30 2005-12-13 International Business Machines Corporation Intelligent update agent
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US20030163807A1 (en) * 2002-02-27 2003-08-28 International Business Machines Corporation Weighted selection of target systems for distributed software installation
US20030172138A1 (en) 2002-03-11 2003-09-11 Mccormack Jonathan I. System and method for managing two or more electronic devices
US7178144B2 (en) * 2002-04-23 2007-02-13 Secure Resolutions, Inc. Software distribution via stages
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
US7100159B2 (en) * 2002-11-04 2006-08-29 Hewlett-Packard Development Company, L.P. Method, apparatus and means for silently customizing software within a multi-platform environment
KR100493883B1 (ko) 2003-01-02 2005-06-10 삼성전자주식회사 애플리케이션 관리 시스템 및 방법
JP2004318459A (ja) 2003-04-16 2004-11-11 Alpine Electronics Inc 仮想システムにおけるネイティブアプリケーションのライフタイムマネージメント方法、及び、コンピュータプログラム
US7549149B2 (en) * 2003-08-21 2009-06-16 International Business Machines Corporation Automatic software distribution and installation in a multi-tiered computer network
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
US7523116B2 (en) * 2003-10-30 2009-04-21 International Business Machines Corporation Selection of optimal execution environment for software applications
CA2557111C (en) * 2004-02-27 2012-12-11 Research In Motion Limited System and method for building mixed mode execution environment for component applications
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US8117607B2 (en) * 2004-08-18 2012-02-14 International Business Machines Corporation Administration of kernel extensions
US7987459B2 (en) * 2005-03-16 2011-07-26 Microsoft Corporation Application programming interface for identifying, downloading and installing applicable software updates

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954380B2 (en) 2007-06-05 2015-02-10 Canon Kabushiki Kaisha Application management method and information processing apparatus
JP2011123570A (ja) * 2009-12-08 2011-06-23 Sumitomo Electric Ind Ltd 情報処理装置、サーバ装置、配布システム、受信方法、プログラムモジュール提供方法
JP2015509638A (ja) * 2012-04-18 2015-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール)
US9038059B2 (en) 2012-04-18 2015-05-19 International Business Machines Corporation Automatically targeting application modules to individual machines and application framework runtimes instances
JP2014067379A (ja) * 2012-09-27 2014-04-17 Canon Inc デバイス装置、その制御方法、およびそのプログラム

Also Published As

Publication number Publication date
CN1866214A (zh) 2006-11-22
EP1724680A3 (en) 2009-01-21
KR20060119791A (ko) 2006-11-24
US20070234349A1 (en) 2007-10-04
CN1866214B (zh) 2010-12-08
KR100871636B1 (ko) 2008-12-02
JP4455403B2 (ja) 2010-04-21
US8782634B2 (en) 2014-07-15
EP1724680A2 (en) 2006-11-22

Similar Documents

Publication Publication Date Title
JP4455403B2 (ja) 管理方法及び管理装置
US11599348B2 (en) Container image building using shared resources
US8418169B2 (en) Management method for managing software module and information processor
US9588752B2 (en) Performing unattended software installation
US8136100B1 (en) Software installation and icon management support
JP5663006B2 (ja) ランタイム環境を構築するためのシステムおよび方法
US9830135B2 (en) Declarative and pluggable business logic for systems management
US7475396B2 (en) Method and apparatus for defining, building and deploying pluggable and independently configurable install components
JP7311710B2 (ja) 実行時コンテナ
US20130047150A1 (en) Software installation and process management support
US20150220308A1 (en) Model-based development
US20100058321A1 (en) Approach for deploying software to network devices
US20080301637A1 (en) Profile service based deployment configuration
CN102279765A (zh) 预编译托存托管代码
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
US20150220325A1 (en) Agile framework for vertical application development and delivery
US20080250385A1 (en) Automating the deployment of applications
US20150220330A1 (en) Template derivation for configuration object management
US9916149B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium of program for executing control method
US9626251B2 (en) Undo configuration transactional compensation
US9009699B2 (en) Providing a POJO-based microcontainer for an application server
Stoneman Docker on Windows: From 101 to production with Docker on Windows
US8805895B2 (en) Adaptive methodology for updating solution building block architectures and designs
CN112256278A (zh) 编译方法、装置、设备及存储介质
JP2014026368A (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080604

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090828

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4455403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4