JPH11143694A - ソフトウエアのバージョンアップ方法 - Google Patents

ソフトウエアのバージョンアップ方法

Info

Publication number
JPH11143694A
JPH11143694A JP31222597A JP31222597A JPH11143694A JP H11143694 A JPH11143694 A JP H11143694A JP 31222597 A JP31222597 A JP 31222597A JP 31222597 A JP31222597 A JP 31222597A JP H11143694 A JPH11143694 A JP H11143694A
Authority
JP
Japan
Prior art keywords
software
component
version
software components
components
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
JP31222597A
Other languages
English (en)
Inventor
Daisuke Yamada
大介 山田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP31222597A priority Critical patent/JPH11143694A/ja
Publication of JPH11143694A publication Critical patent/JPH11143694A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ソフトウエアを部品化し、複数のソフトウエ
ア部品が協同して動作するシステムにおいてソフトウエ
ア部品をバージョンアップする場合に、組み込まれてい
るソフトウエア部品を簡単に管理可能にする。 【解決手段】 ソフトウエア部品のデータ構造は部品I
D(識別子)111と、名称112と、バージョン11
3と個別部品特有の属性値114により構成され、新し
いソフトウエア部品をロードしてバージョンアップする
場合にその識別子111とバージョン情報113と共に
ロードする。また、協同して動作する複数のソフトウエ
ア部品の組立テーブルと組み合わせテーブルをロード
し、また、複数のソフトウエア部品の集合から各ソフト
ウエア部品のバージョン情報とその互換性に基づいて選
択してロードする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウエアのバ
ージョンアップ方法に関する。
【0002】
【従来の技術】例えば特開平4−98529号公報に
は、上級プログラマが作成したプログラムを初級プログ
ラマが利用可能にするためのプログラム作成支援システ
ムが提案されている。また、特開平4−347727号
公報には、新しいプログラムを開発する際に、既に開発
されたプログラム部品を再利用するために自動的に修正
する方法が提案されている。また、特開平2−1052
22号公報には、新しいプログラムを開発する際に、既
に開発された複数のプログラム部品を合成する方法が提
案されている。また、特開平2−67629号号公報に
は、新しいプログラムを開発する際に、既に開発された
複数のプログラム部品を再利用するために検索する方法
が提案されている。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来はいずれも、新しいプログラムを開発する際の生産性
を向上させるために、既に開発されたプログラム部品を
再利用するための方法であるので、既に製品に組み込ま
れているプログラムをバージョンアップすることができ
ないという問題点がある。
【0004】本発明は上記従来の問題点に鑑み、ソフト
ウエアを部品化し、複数のソフトウエア部品が協同して
動作するシステムにおいてソフトウエア部品をバージョ
ンアップする場合に、組み込まれているソフトウエア部
品を簡単に管理することができるソフトウエアのバージ
ョンアップ方法を提供することを目的とする。
【0005】
【課題を解決するための手段】第1の手段は上記目的を
達成するために、ソフトウエアを部品化し、複数のソフ
トウエア部品が協同して動作するシステムのソフトウエ
ア部品のバージョンアップ方法であって、各ソフトウエ
ア部品毎にその識別子とバージョン情報を割り当てて、
新しいソフトウエア部品をロードしてバージョンアップ
する場合に前記識別子とバージョン情報と共にロードす
ることを特徴とする。
【0006】第2の手段は、第1の手段において新しい
ソフトウエア部品をロードしてバージョンアップする場
合に、協同して動作する複数のソフトウエア部品の組立
テーブルと組み合わせテーブルをロードすることを特徴
とする。
【0007】第3の手段は、第1、第2の手段において
新しいソフトウエア部品をロードしてバージョンアップ
する場合に、複数のソフトウエア部品の集合から各ソフ
トウエア部品のバージョン情報とその互換性に基づいて
選択してロードすることを特徴とする。
【0008】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明に係るソフト
ウエアのバージョンアップ方法の一実施形態を実現する
ためのシステムを示す構成図、図2は図1のイメージ入
出力装置の構成を示すブロック図、図3は図1のイメー
ジ入出力装置のソフトウエアの構造を示す説明図、図4
は図1のイメージ入出力装置のソフトウエア部品の一例
を示す説明図、図5はソフトウエア部品のデータ構造を
示す説明図、図6は図5のソフトウエア部品のデータ構
造の一例を示す説明図、図7は「組立表」のデータ構造
を示す説明図、図8は図7の「組立表」の一例を示す説
明図、図9は「組み合わせ表」のデータ構造を示す説明
図、図10は図9の「組み合わせ表」の一例を示す説明
図、図11はソフトウエア部品の選択アルゴリズムを説
明するためのフローチャートである。
【0009】図1において、ユーザ環境1では複写機、
プリンタ、ファクシミリなどのサーバ2、3、スキャナ
4、パーソナルコンピュータ(PC)5などが使用さ
れ、これらの端末はソフトウエアより動作する。ここ
で、複写機、ファクシミリ、プリンタ、スキャナ等のイ
メージ入出力装置2〜4やPC5は、スタンドアロンや
1対1の接続で利用されることもあるが、近年ではネッ
トワーク環境6−2に接続される利用方法も増加してい
る。
【0010】また、ベンダーもサービスセンタなどを設
け、リモートで各ユーザの装置の動作状況や利用状況に
関するサービスを提供している。そこで、サービスセン
タ10にはイメージ入出力装置2〜4のソフトウエアを
バージョンアップするためにPC11とソフトウエア部
品が格納されたメモリ12が設けられ、このPC11は
ネットワーク6−1を介してユーザ側のネットワーク6
−2、イメージ入出力装置2〜4に接続されてソフトウ
エア部品をリモートダウンロード方式で直接、ユーザ環
境1側のイメージ入出力装置2〜5にロードする。
【0011】次に図2を参照してユーザ環境1側のイメ
ージ入出力装置2〜4の構成について説明する。プロセ
ッサ(CPU)21はイメージ入出力装置2〜4の各々
の全体の制御を実行し、その制御下にはROM22、R
AM23、NVRAM24、操作パネル25及びパネル
制御部26、スキャン/プリントエンジン27及びエン
ジン制御部28、記憶装置29及びディスクドライバ3
0、通信制御部31、モデム32が接続されている。
【0012】ROM22には予め、プログラムコード、
フォント及びその他の静的なデータが格納されている。
RAM23はデータを一時的に記憶するために用いら
れ、NVRAM24はデータを不揮発性で記憶するため
に用いられる。操作パネル25及びパネル制御部26は
ユーザとのインタフェースを司り、スキャン/プリント
エンジン27及びエンジン制御部28はイメージデータ
の入出力装置として紙原稿の読み取りと転写紙への印刷
を行う。記憶装置29及びディスクドライバ30は大量
のイメージデータなどを蓄積したり、データベースを記
憶するために用いられる。通信制御部31は外部機器と
の間で通信を行うためにイーサネット等のネットワーク
6−2に接続され、モデム32は公衆回線を介して外部
機器との間で通信を行うために用いられる。
【0013】ブローカ40はネットワーク6−2に接続
されているイメージ入出力装置2〜4に必要な機能情報
や管理情報を維持し、クライアント(ここではPC5)
とサーバ(ここではイメージ入出力装置2〜4)との間
の接続を確立する役目を有するミドルウエアである。こ
の装置40はCPU41、ROM42、RAM43、通
信制御部44、データベース45を有する。なお、この
装置40はPC5、イメージ入出力装置2〜4のどちら
側に位置してもよい。
【0014】次に図3を参照してイメージ入出力装置2
〜4のソフトウエアの構造を説明する。この構造は大き
く分けてアプリケーション層50と、カーネル層60
と、ドライバ層70とハードウエア層80の4層で構成
されている。アプリケーション層50はコピー、ファッ
クス、プリンタなどのアプリケーションを形成する層で
あり、オペレーションマネージャ51、ドキュメントマ
ネージャ52、サービスマネージャ53、デバイスマネ
ージャ54、データベースマネージャ55、プログラム
ファクトリ56を有する。
【0015】ドキュメントマネージャ52はコピー、フ
ァックス、プリンタなどのシナリオに沿ってドキュメン
トをハンドリングするアプリケーションとして中心とな
る機能であり、サービスマネージャ53はドキュメント
ハンドリングの際に共通に必要となる機能であって各種
サービスの管理、実行を行う。デバイスマネージャ54
はスキャナ27a、プロッタ27b、画像バス86のよ
うな物理デバイスの動作を決定する機能であって各種サ
ービスの管理、実行を行う。オペレーションマネージャ
51は図2に示す操作パネル25を制御する機能であっ
てボタンの表示、ボタンオペレーションのノーティファ
イ、アラートの通知などを行う。
【0016】データベースマネージャ55はフォント、
定型フォーム、ファックス受信履歴、装置の利用履歴、
課金データなどの永続的なデータの維持、管理を行い、
また、後述するようにソフトウエア部品とその組立表な
どの維持、管理も行う。プログラムファクトリ56はソ
フトウエアの組立表と、ソフトウエア部品及び互換表か
らプログラム実行のための初期化を行う。すなわち、静
的に存在するソフトウエア部品をRAM24上へ展開
(オブジェクト指向プログラミングにおけるインスタン
スを生成)し、何らかのメッセージを受け取る(オブジ
ェクト指向プログラミングにおけるメソッドコール)こ
とにより動作可能な状態にしておく。
【0017】カーネル層60は通常、OSのカーネルと
して組み込まれ、仮想メモリ61、実行プロセス62、
ファイルシステム63、ソケット64、実行管理65a
及びモード管理65bを有する仮想マシン65の各種デ
バイスを抽象化してアプリケーション50に対してサー
ビスを提供する。アプリケーション層50はカーネル層
60に対してシステムコールすることにより動作する。
ドライバ層70はメモリ管理ドライバ71、プロセス管
理ドライバ72、ファイル管理ドライバ73、ネットワ
ークドライバ74、一体型コピードライバ75、ブロッ
キングデバイスドライバ76、ページデバイスドライバ
77の各種ハードウエアを駆動するための制御を実行す
る機能の集まりである。ハードウエア層80はROM2
2、RAM23、NVRAM24、ネットワークインタ
フェース84、スキャナ27a、画像バス86、プロッ
タ27bなどの装置内に存在する制御可能なリソースの
集合である。
【0018】図4はイメージ入出力装置2〜4のソフト
ウエア部品の一例として、原稿を読み取る際にキャリッ
ジを動作させるために、複写機やスキャナに組み込まれ
ているソフトウエア部品の組立図を示している。四角で
囲んだボックス101〜103の各々がソフトウエア部
品であり、スキャナコントロール部品101はキャリッ
ジ部品102を制御し、解像度や読み取り範囲に応じて
キャリッジの動作手順に責任を有する。キャリッジ部品
102はモータ部品103に対して移動速度などを指示
し、キャリッジ動作の実行と監視に責任を有する。モー
タ部品103はステッピングモータなどを駆動する責任
を有するソフトウエア部品である。
【0019】図5、図6はソフトウエア部品のデータ構
造110を示し、部品ID111と、名称112と、バ
ージョン113と個別部品特有の属性値114により構
成されている。部品ID111はソフトウエア部品毎に
予め登録されている任意の識別子であり、通常は6桁の
数値(例えば図6に示すように「012345」)であ
って装置の提供者であるベンダーが一括して管理するこ
とにより、ベンダー側がこの識別子に基づいてこのソフ
トウエア部品の使用を管理する。名称112はこのソフ
トウエア部品の名称であり、通常は任意長の文字列(例
えば図6に示すように「Carriage 」)で表現される。
バージョン113は部品ID111に対するバージョン
であり、通常は3桁の数値であって例えば図6に示すよ
うに「101」によりバージョン1.01を表現する。
個別部品特有の属性値114とは、それぞれのソフトウ
エア部品に必要になるデータである。
【0020】また、図7に示すように「組立表」120
のデータ構造は、組み合わせ対象の2つの部品「1」の
ID121及び部品「2」のID122と、図9に示す
「組み合わせ表」130のデータ構造へのポインタ12
3と「次の組み合わせ表」124により構成されてい
る。「次の組み合わせ表」124は複数個の組み合わせ
を保持するリスト構造であり、「NULL」により「次
の組み合わせ表」がないことを表現する。なお、複数の
データを有することができる何らかのコレクション構造
であれば、リスト構造である必要はない。図8は一例と
して、スキャナコントロール部品とキャリッジ部品の
「組立表」を示している。
【0021】図9に示すように「組み合わせ表」130
のデータ構造は、図7に示す部品「1」のバージョンを
示すバージョン値131、133と、その上のバージョ
ン値131、133と組み合わせが可能な部品「2」の
バージョンを示すバージョン値132、134を有し、
最後は「NULL」で終了する。なお、このような構造
では、上位互換がある組み合わせしか対応することがで
きないが、このテーブルを2次元で配列することによ
り、2つの部品間で全てのバージョン同士の互換性を記
述することができる。
【0022】ここで、図10は一例として、「0123
45」をキャリッジの部品IDとし、「121212」
をモータの部品IDとして、キャリッジのバージョン
2.00以下の部品がモータのバージョン1.50以下
の部品と組み合わせることができることを示し、また、
キャリッジのバージョン3.00以上の部品にはモータ
のバージョン1.80以下の部品を組み合わせることが
できることを示している。したがって、キャリッジのバ
ージョン2.00しかない場合には、モータのバージョ
ン1.80の部品を利用することができないので、モー
タのバージョン1.50以下の部品を使用することにな
り、したがって、モータのみがバージョンアップされる
ことを防止することができる。
【0023】上記のようなソフトウエア部品単位の登録
は、データベースマネージャ55を介してソフトウエア
部品データベースとして維持、管理される。図11はそ
の登録されているソフトウエア部品データベースから、
動作させるソフトウエア部品を選択する処理を示してい
る。先ず、図7、図8に示すような「組立表」を取得し
(ステップS1)、次いで部品「1」のID121を検
索する(ステップS2)。次いで部品「1」があるか否
かを判断し(ステップS3)、有る場合にはステップS
4以下に進み、無い場合にはステップS6以下に進む。
【0024】ステップS4以下では、先ず、部品「1」
のバージョン値131、133と最高値を比較し(ステ
ップS4)、最高値より小さい場合にはステップS2に
戻り、最高値より大きい場合にはバージョン値131、
133を最高値として保存し(ステップS5)、次いで
ステップS2に戻る。また、ステップS6以下では、先
ず、部品「2」のID122を検索し(ステップS
6)、次いで部品「2」があるか否かを判断し(ステッ
プS7)、有る場合にはステップS8に進み、無い場合
にはステップS9以下に進む。ステップS8ではその部
品「2」のバージョン値132、134で降順にソート
し、次いでステップS6に戻る。
【0025】ステップS9以下では、先ず、部品「2」
の降順リストの最初にポインタを設定する(ステップS
9)。次いで部品「2」が有るか否かを判断し(ステッ
プS10)、有る場合にはステップS11以下に進み、
無い場合にはステップS14以下に進む。ステップS1
1では部品「1」と部品「2」の組み合わせが可能か否
かを判断し、可能でない場合にはステップS12におい
て部品「2」の降順リストのポインタをインクリメント
し、次いでステップS10に戻る。また、ステップS1
3では部品「1」と部品「2」を登録し、次いで次ぎの
組み合わせがあるか否かを判断し(ステップS15)、
有る場合にはステップS2に戻り、無い場合にはこの処
理を終了する。また、ステップS10において部品
「2」が無い場合にはステップS14において部品
「1」の1つ低いバージョンを検索し、次いでステップ
S6に戻って部品「2」のID122を検索する。
【0026】したがって、上記選択処理によれば、例え
ばキャリッジ部品とモータ部品が共に非同期でバージョ
ンアップされて、例えばあるモータ部品のバージョン
2.00とキャリッジ部品のバージョン1.80の組み
合わせでは動作しない場合には、とりあえずモータ部品
の旧バージョン例えばバージョン1.20を使用するこ
とになる。また、キャリッジ部品のバージョン3.00
が登録され、それがモータ部品のバージョン1.80と
組み合わせ可能な場合には、次の動作時にはモータ部品
のバージョン1.80で動作する。
【0027】
【発明の効果】以上説明したように請求項1記載の発明
によれば、ソフトウエアを部品化し、複数のソフトウエ
ア部品が協同して動作するシステムにおいてソフトウエ
ア部品をバージョンアップする場合に、各ソフトウエア
部品毎にその識別子とバージョン情報を割り当てて、識
別子とバージョン情報と共にロードするようにしたの
で、装置毎に組み込まれているソフトウエア部品を把握
して機能拡張の提案やハードウエアの交換時にソフトウ
エアに対する対応をスムーズに行うことができる。ま
た、ソフトウエアの障害が発生した場合に簡単に原因を
把握したり、ソフトウエア部品を交換することができ
る。
【0028】請求項2記載の発明によれば、新しいソフ
トウエア部品をロードしてバージョンアップする場合
に、協同して動作する複数のソフトウエア部品の組立テ
ーブルと組み合わせテーブルをロードするようにしたの
で、ある1つのソフトウエア部品のバージョンアップに
よりシステムが動作しなくなることを防止することがで
きる。
【0029】請求項3記載の発明によれば、新しいソフ
トウエア部品をロードしてバージョンアップする場合
に、複数のソフトウエア部品の集合から各ソフトウエア
部品のバージョン情報とその互換性に基づいて選択して
ロードするようにしたので、ハードウエア部品を交換す
る際にソフトウエア部品もそれに対応することができ、
また、サービスセンタからネットワークを介してソフト
ウエア部品を交換することができる。
【図面の簡単な説明】
【図1】本発明に係るソフトウエアのバージョンアップ
方法の一実施形態を実現するためのシステムを示す構成
図である。
【図2】図1のイメージ入出力装置の構成を示すブロッ
ク図である。
【図3】図1のイメージ入出力装置のソフトウエアの構
造を示す説明図である。
【図4】図1のイメージ入出力装置のソフトウエア部品
の一例を示す説明図である。
【図5】ソフトウエア部品のデータ構造を示す説明図で
ある。
【図6】図5のソフトウエア部品のデータ構造の一例を
示す説明図である。
【図7】「組立表」のデータ構造を示す説明図である。
【図8】図7の「組立表」の一例を示す説明図である。
【図9】「組み合わせ表」のデータ構造を示す説明図で
ある。
【図10】図9の「組み合わせ表」の一例を示す説明図
である。
【図11】ソフトウエア部品の選択アルゴリズムを説明
するためのフローチャートである。
【符号の説明】
111 部品ID(識別子) 112 部品名称 113 バージョン 120 組立表 130 組み合わせ表

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウエアを部品化し、複数のソフト
    ウエア部品が協同して動作するシステムのソフトウエア
    部品のバージョンアップ方法であって、 各ソフトウエア部品毎にその識別子とバージョン情報を
    割り当てて、新しいソフトウエア部品をロードしてバー
    ジョンアップする場合に前記識別子とバージョン情報と
    共にロードすることを特徴とするソフトウエアのバージ
    ョンアップ方法。
  2. 【請求項2】 新しいソフトウエア部品をロードしてバ
    ージョンアップする場合に、協同して動作する複数のソ
    フトウエア部品の組立テーブルと組み合わせテーブルを
    ロードすることを特徴とする請求項1記載のソフトウエ
    アのバージョンアップ方法。
  3. 【請求項3】 新しいソフトウエア部品をロードしてバ
    ージョンアップする場合に、複数のソフトウエア部品の
    集合から各ソフトウエア部品のバージョン情報とその互
    換性に基づいて選択してロードすることを特徴とする請
    求項1または2記載のソフトウエアのバージョンアップ
    方法。
JP31222597A 1997-11-13 1997-11-13 ソフトウエアのバージョンアップ方法 Pending JPH11143694A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31222597A JPH11143694A (ja) 1997-11-13 1997-11-13 ソフトウエアのバージョンアップ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31222597A JPH11143694A (ja) 1997-11-13 1997-11-13 ソフトウエアのバージョンアップ方法

Publications (1)

Publication Number Publication Date
JPH11143694A true JPH11143694A (ja) 1999-05-28

Family

ID=18026699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31222597A Pending JPH11143694A (ja) 1997-11-13 1997-11-13 ソフトウエアのバージョンアップ方法

Country Status (1)

Country Link
JP (1) JPH11143694A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078650A (ja) * 2003-09-02 2005-03-24 Microsoft Corp ソフトウェアのコンポーネント化
US7689983B2 (en) * 2000-05-19 2010-03-30 Sony Corporation Information processing method and apparatus and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689983B2 (en) * 2000-05-19 2010-03-30 Sony Corporation Information processing method and apparatus and recording medium
JP2005078650A (ja) * 2003-09-02 2005-03-24 Microsoft Corp ソフトウェアのコンポーネント化

Similar Documents

Publication Publication Date Title
US7533381B2 (en) Image forming apparatus and method for operating image forming apparatus by using remote application
US8015560B2 (en) Apparatus and method for managing application in incorporated equipment
US7853946B2 (en) Information processing apparatus, information processing method, and control program
JP5418442B2 (ja) 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム
US6681392B1 (en) Method and apparatus for remote peripheral software installation
US9086829B2 (en) Installation method, information processing apparatus and device driver
US9672027B2 (en) Information processing apparatus and information processing system
US9286141B2 (en) Image forming apparatus, program management system, program management method, and computer-readable storage medium
US8347263B1 (en) Repository including installation metadata for executable applications
US8533290B2 (en) Installation support method and workflow generation support method
EP2306310A1 (en) Program installation assistance system
EP1385089A2 (en) Image forming apparatus, information processing apparatus, program execution method and program producing method
JP2000056960A (ja) ユーザインターフェイス装置
JPH09512358A (ja) インタフェース装置及び方法
US8429727B2 (en) Authentication control apparatus and authentication control method
JP2004158012A (ja) ソフトウェアアプリケーション管理のためのシステムおよび方法
JP3688186B2 (ja) 複合機のバージョンアップ装置
JP2008041057A (ja) 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
US20110061048A1 (en) Image forming device, installing method, and recording medium
US6516304B1 (en) System component charging and accounting system
US7720875B2 (en) Information processing apparatus, image processing apparatus, data conversion method, and computer-readable medium storing data conversion program
JP2002244754A (ja) イメージ入出力システム
US7839530B2 (en) Program distribution from a program distribution source to an image forming apparatus
JPH11143694A (ja) ソフトウエアのバージョンアップ方法
JP4792744B2 (ja) 画像処理装置