(57)【要約】 【課題】後継プラットフォームへの移行を行っても旧プラットフォームの実行モジュールを正常に動作させることが可能なシステムおよび情報処理方法を提供する。【解決手段】本発明のシステムは、第１起動手段と第２起動手段とを備える。第１起動手段は、第１オペレーティングシステムにより提供可能なシステム環境であって、所定の機能を提供するためのプログラムを示す第１実行モジュールを含む第１システム環境に含まれる。第１起動手段は、第１実行モジュールを起動する。第２起動手段は、第２オペレーティングシステムにより提供可能な第２システム環境に含まれる。第２起動手段は、第１起動手段を起動する。【選択図】図１
2015056137.tif 000002
【特許請求の範囲】
【請求項１】
第１オペレーティングシステムにより提供可能なシステム環境であって、所定の機能を提供するためのプログラムを示す第１実行モジュールを含む第１システム環境に含まれ、かつ、前記第１実行モジュールを起動する第１起動手段と、
第２オペレーティングシステムにより提供可能な第２システム環境に含まれ、前記第１起動手段を起動する第２起動手段と、を備える、
システム。
【請求項２】
前記第２起動手段は、
前記第１システム環境に対応するディレクトリ構造の最上位のディレクトリを、前記第２システム環境のルートディレクトリに変更する変更手段を有する、
請求項１に記載のシステム。
【請求項３】
前記第２起動手段は、
前記第１システム環境がシングルコアに対応し、マルチコアに対応していない場合、動作するプロセッサコアの数を１つに設定する設定手段を有する、
請求項１または２に記載のシステム。
【請求項４】
前記第２システム環境は、所定の機能を提供するためのプログラムを示す第２実行モジュールを含み、
前記第２起動手段は、前記第１起動手段からの要求に応じて、前記第２実行モジュールを起動する、
請求項１乃至３のうちの何れか１項に記載のシステム。
【請求項５】
前記第１システム環境は、起動対象のプログラムが記述された起動定義ファイルをさらに有し、
前記起動定義ファイルの中に前記第２実行モジュールが記述されている場合、前記第１起動手段は、前記第２起動手段に対して前記第２実行モジュールの起動を要求する、
請求項４に記載のシステム。
【請求項６】
前記第２起動手段は、
前記第１システム環境と前記第２システム環境とが利用するファイルを同一のパスで共有するためのマウントを行う共有手段を有する、
請求項１乃至５のうちの何れか１項に記載のシステム。
【請求項７】
前記共有手段は、前記第１システム環境と前記第２システム環境との間でプロセス間通信を行うためのファイルを同一のパスで共有するためのマウントを行う、
請求項６に記載のシステム。
【請求項８】
第１オペレーティングシステムにより提供可能なシステム環境であって、所定の機能を提供するためのプログラムを示す第１実行モジュールを含む第１システム環境において前記第１実行モジュールを起動する第１起動ステップと、
第２オペレーティングシステムにより提供可能な第２システム環境において前記第１起動手段を起動する第２起動ステップと、を有する、
情報処理方法。
【請求項９】
前記第２起動ステップは、
前記第２システム環境に含まれる前記第１システム環境のディレクトリを、前記第２システム環境のルートディレクトリに変更する変更ステップを含む、
請求項８に記載の情報処理方法。
【請求項１０】
前記第２起動ステップは、
前記第１オペレーティングシステムがシングルコアに対応し、マルチコアに対応していない場合、動作するプロセッサコアの数を１つに設定する設定ステップを含む、
請求項８または９に記載の情報処理方法。
【請求項１１】
前記第２システム環境は、所定の機能を提供するためのプログラムを示す第２実行モジュールを含み、
前記第２起動ステップでは、前記第１起動ステップからの要求に応じて、前記第２実行モジュールを起動する、
請求項８乃至１０のうちの何れか１項に記載の情報処理方法。
【請求項１２】
前記第１システム環境は、起動対象のプログラムが記述された起動定義ファイルをさらに有し、
前記起動定義ファイルの中に前記第２実行モジュールが記述されている場合、前記第１起動ステップでは、前記第２起動ステップに対して前記第２実行モジュールの起動を要求する、
請求項１１に記載の情報処理方法。
【請求項１３】
前記第２起動ステップは、
前記第１システム環境と前記第２システム環境とが用いる所定のファイルを同一のパスで共有する共有ステップを有する、
請求項８乃至１２のうちの何れか１項に記載の情報処理方法。
【請求項１４】
前記共有ステップでは、前記第１システム環境と前記第２システム環境との間でプロセス間通信を行うためのファイルを同一のパスで共有する、
請求項１３に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムおよび情報処理方法に関する。
【背景技術】
【０００２】
昨今の計算機プラットフォーム（ハードウェア、ＯＳ）技術の進歩は著しく、短期間でバージョンアップが行われる。このため、ある時期に１つの計算機プラットフォーム（ＯＳバージョン）上で開発したソフトウェア（ソースコード）は、当該プラットフォームだけでなく、その後継プラットフォーム（次バージョンのＯＳ）上にも移植する場合が多くなっている。また、ハードウェアは異なるもののＯＳとのＩ／Ｆ（インターフェイス）仕様は標準化が進んでいるため、プラットフォーム間でのソースコードの互換性は極めて高
くなっている。 このような状況において、従来は、ソースコードを各プラットフォーム（ＯＳ）用に個別に整備し、ぞれぞれのプラットフォーム毎に個別に対応した手順・設定で実行モジュール（オブジェクトコード）を生成していた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、複数の実行モジュールが連動して動作するシステムにおいては、実行モジュールが多いために、後継プラットフォーム向けの実行モジュール生成時、手違いにより旧プラットフォームのライブラリをリンクしてしまったり、現行プラットフォームと非互換な部分を誤って移植してしまったり、後継プラットフォームをターゲットとした新機能開発が同時進行することで、システムが正しく動作しなくなり、その原因特定に多大な時間を要してしまう問題があった。
【０００４】
本発明は、上記に鑑みてなされたものであって、後継プラットフォームへの移行を行っても旧プラットフォームの実行モジュールを正常に動作させることが可能なシステムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、第１オペレーティングシステムにより提供可能なシステム環境であって、所定の機能を提供するためのプログラムを示す第１実行モジュールを含む第１システム環境に含まれ、かつ、前記第１実行モジュールを起動する第１起動手段と、第２オペレーティングシステムにより提供可能な第２システム環境に含まれ、前記第１起動手段を起動する第２起動手段と、を備えるシステムである。
【発明の効果】
【０００６】
本発明によれば、後継プラットフォームへの移行を行っても旧プラットフォームの実行モジュールを正常に動作させることができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態のＭＦＰのハードウェア構成例を示す図である。
【図２】図２は、第１実施形態のＭＦＰのソフトウェア構成例を示す図である。
【図３】図３は、第１実施形態のＭＦＰのディレクトリ構成例を示す図である。
【図４】図４は、第１実施形態の起動定義ファイルの一例を示す図である。
【図５】図５は、第１実施形態の第２システム環境に含まれる複合機起動部の動作例を示すフロー図である。
【図６】図６は、第１実施形態の第１システム環境に含まれる複合機起動部の動作例を示すフロー図である。
【図７】図７は、第２実施形態のＭＦＰのソフトウェア構成例を示す図である。
【図８】図８は、第１実施形態のＭＦＰのディレクトリ構成例を示す図である。
【図９】図９は、第２実施形態の起動定義ファイルの一例を示す図である。
【図１０】図１０は、第２実施形態の第２システム環境に含まれる複合機起動部の動作例を示すフロー図である。
【図１１】図１１は、第２実施形態の第１システム環境に含まれる複合機起動部の動作例を示すフロー図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係るシステムおよび情報処理方法の実施形態を詳細に説明する。以下の実施形態では、本発明に係るシステムを、複合機（ＭＦＰ：Multifunction  Peripheral）に適用した場合を例に挙げて説明するが、これに限定されるものではない。なお、複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する装置である。
【０００９】
（第１実施形態）
図１は、本実施形態のＭＦＰ１のハードウェア構成の一例を示すブロック図である。図１に示すように、ＭＦＰ１は、ＣＰＵ９０２、ＳＤＲＡＭ９０３、フラッシュメモリ９０４およびＨＤ９０５などをＡＳＩＣ９０１に接続したコントローラボード９００と、オペレーションパネル９１０と、ファクスコントロールユニット（ＦＣＵ）９２０と、ＵＳＢ９３０と、ＩＥＥＥ１３９４  ９４０と、プリンタ９５０とからなる。
【００１０】
そして、オペレーションパネル９１０はＡＳＩＣ９０１に直接接続され、ＦＣＵ９２０、ＵＳＢ９３０、ＩＥＥＥ１３９４  ９４０およびプリンタ９５０は、ＰＣＩバスを介してＡＳＩＣ９０１に接続されている。
【００１１】
次に、ＭＦＰ１のソフトウェア構成について説明する。図２は、ＭＦＰ１のソフトウェア構成の一例を示す図である。図２に示すように、ＭＦＰ１は、白黒ラインプリンタ（Ｂ＆Ｗ  ＬＰ）３０１、カラーラインプリンタ（Ｃｏｌｏｒ  ＬＰ）３０２、その他のハードウェアリソース３０３などを有するとともに、ソフトウェア群として、汎用ＯＳ３２１、新ＯＳバーションの環境、旧ＯＳバーションの環境を含む。以下の説明では、旧バージョンのＯＳ（この例では請求項の「第１オペレーティングシステム」に対応）により提供可能な旧ＯＳバーションの環境を「第１システム環境」と称し、新バージョンのＯＳ（この例では請求項の「第２オペレーティングシステム」に対応）により提供可能な新ＯＳバーションの環境を「第２システム環境」と称する場合がある。詳細な内容については後述するが、旧ＯＳバージョンの環境は、新ＯＳバーションの環境下に独立して存在する。なお、本明細書における「環境」とは、ＯＳ、ハードウェア、アプリケーションソフトなどの組み合わせによって、ユーザに提供されるコンピュータの機能全体を指す。
【００１２】
第１システム環境（旧ＯＳバーションの環境）は、複合機起動部３０５と、アプリケーション３１０と、コントロールサービス３２０と、システムリソースマネージャー（ＳＲＭ（System  Resource  Manager）３３０とを含む。なお、アプリケーション３１０とコントロールサービス３２０との間には、あらかじめ定義された関数によりアプリケーション３１０からの処理要求を受信可能とするアプリケーションプログラムインターフェース（ＡＰＩ）が介在する。
【００１３】
複合機起動部３０５は、第１システム環境に含まれるアプリケーション３１０を起動する。この複合機起動部３０５の具体的な動作内容については後述する。この例では、複合機起動部３０５は請求項の「第１起動手段」に対応していると考えることができる。また、アプリケーション３１０やコントロールサービス３２０を形成するサービスモジュール（プログラム）は、所定の機能を提供するためのプログラムであると捉えることができ、請求項の「第１実行モジュール」に対応していると考えることができる。
【００１４】
アプリケーション３１０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーション（プリンタ機能を提供するためのプログラム）であるプリンタアプリ３１１と、コピー用アプリケーション（コピー機能を提供するためのプログラム）であるコピーアプリ３１２と、ファクシミリ用アプリケーション（ファクシミリ機能を提供するためのプログラム）であるファクスアプリ３１３と、スキャナ用アプリケーション（スキャナ機能を提供するためのプログラム）であるスキャナアプリ３１４と、ネットファイル用アプリケーション（ネットファイル機能を提供するためのプログラム）であるネットファイルアプリ３１５と、を有するが、これに限られるものではない。
【００１５】
コントロールサービス３２０は、アプリケーション３１０からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる。このコントロールサービス３２０は、複数のサービスモジュールにより形成され、具体的には、ＳＣＳ（System  Control  Service）３２２と、ＥＣＳ（Engine  Control  Service）３２４と、ＭＣＳ（Memory  Control  Service）３２５と、ＯＣＳ（Operation  panel  Control  Service）３２６と、ＦＣＳ（Fax  Control  service）３２７と、ＮＣＳ（Network  Control  Service）３２８とから形成される。
【００１６】
ＳＣＳ３２２は、（１）アプリ管理、（２）操作部制御、（３）システム画面表示（ジョブリスト画面、カウンタ表示画面など）、（４）ＬＥＤ表示、（５）リソース管理、（６）割り込みアプリ制御をおこなう。具体的には、（１）アプリ管理では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。登録されたアプリに対しては、システムの設定やアプリからの要求設定に応じてエンジン状態を通知する。また、登録済みのアプリに対しては、電力モード移行の問い合わせ、割り込みモードなど、システムの状態遷移のための可否問い合わせをおこなう。
【００１７】
また、（２）操作部制御では、アプリの操作部使用権の排他制御をおこなう。そして、操作部の使用権を持つアプリへ操作部ドライバ（ＯＣＳ）からのキー情報を排他的に通知する。このキー情報は、アプリ切替中などのシステムの状態遷移に応じて一時的に通知を停止するマスク制御をおこなう。
【００１８】
また、（３）システム画面表示では、操作部使用権を持つアプリからの要求内容に応じて、エンジン状態に対応する警告画面の表示をおこなう。これらのなかには、利用者制限画面などアプリの状態に応じて警告表示をオン／ オフするものもある。エンジン状態以外では、ジョブの予約・実行状況を表示するためのジョブリスト画面、トータルカウンタ類を表示するためのカウンタ画面、ＣＳＳの通報中を示す画面の表示制御をおこなう。これらのシステム画面表示に関しては、アプリへ操作部使用権の解放を要求せず、アプリ画面を覆うシステム画面として描画をおこなう。
【００１９】
また、（４）ＬＥＤ表示では、警告ＬＥＤ、アプリキーなどのシステムＬＥＤの表示制御をおこなう。アプリ固有のＬＥＤについては、アプリが直接表示用ドライバを使用して制御する。
【００２０】
また、（５）リソース管理では、アプリ（ＥＣＳ）がジョブを実行するにあたって、排他しなければならないエンジンリソース（スキャナ、ステープルなど）の排他制御のためのサービスをおこない、（６）割り込みアプリ制御では、特定のアプリを優先動作させるための制御・サービスをおこなう。
【００２１】
ＥＣＳ３２４は、白黒ラインプリンタ（Ｂ＆Ｗ  ＬＰ）３０１、カラーラインプリンタ（Ｃｏｌｏｒ  ＬＰ）３０２、その他のハードウェアリソース３０３などのエンジンを制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【００２２】
具体的には、アプリケーション３１０から受け取ったジョブモードの指定にしたがい、印刷要求をＳＲＭ３３０に順次発行していくことで、一連のコピー／スキャン／印刷動作を実現する。このＥＣＳ３２４が取り扱う対象のジョブは、画像入力デバイスにスキャナ（SCANNER）が指定されているか、または、画像出力デバイスにプロッタ（PLOTTER）が指定されているものとする。
【００２３】
たとえば、コピー動作の場合には「SCANNER→PLOTTER」と指定され、ファイル蓄積の場合には「SCANNER→MEMORY」と指定され、ファクシミリ送信の場合には「SCANNER→FAX＿IN」と指定される。また、蓄積ファイル印刷またはプリンタアプリ３１１からの印刷の場合には「MEMORY→PLOTTER」と指定され、ファクシミリ受信の場合には「FAX＿OUT→PLOTTER」と指定される。
【００２４】
なお、ジョブの定義はアプリケーションによって異なるが、ここでは利用者が取り扱う１セットの画像群に対する処理動作を１ジョブと定義する。たとえば、コピーのＡＤＦ（Automatic  Document  Feeder）モードの場合は、原稿台に置かれた１セットの原稿を読み取る動作が１ジョブとなり、圧板モードは最終原稿が確定するまでの読み取り動作が１ジョブとなる。また、コピーアプリ３１２の場合には、一束の原稿をコピーする動作が１ジョブとなり、ファクスアプリ３１３の場合には、１文書の送信動作または１文書の受信動作が１ジョブとなり、プリンタアプリ３１１の場合には、１文書の印刷動作が１ジョブとなる。
【００２５】
ＭＣＳ３２５は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などをおこなう。
【００２６】
ここで、ハードディスク装置に蓄積される画像データファイルとして必要な情報を管理
するために必要な機能としては、（１） ファイルアクセス（生成／削除／オープン／クローズ）機能（排他処理を含む）、（２）ファイル名称／ＩＤ管理（ファイル／ユーザー）／パスワード管理／蓄積時刻管理／ページ数／データフォーマット（圧縮方式など）／アクセス制限／作成アプリ／印刷条件管理などの各種ファイル属性管理（物理的なページ単位の画像データのファイルとしての管理）、（３）ファイル単位およびページ単位での結合／挿入／切断機能、（４）ファイルソート機能（蓄積時刻順／ユーザーＩＤ順など）、（５）全ファイル情報の通知（表示／検索用）、（６）リカバリ機能（破損ファイルのファイル／ページ破棄）、（７）ファイルの自動削除機能などがある。
【００２７】
また、ＲＡＭなどのメモリへ画像データを保持しアクセスするための機能としては、（１）アプリケーション３１０からのファイルおよびページ／バンド属性情報を取得する機能、（２） アプリケーション３１０からの画像データ領域の確保、解放、リード（Read）、ライト（Write）機能などがある。
【００２８】
ＯＣＳ３２６は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがＧＵＩを構築するためのライブラリ関数を提供する処理、構築されたＧＵＩ情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【００２９】
このＯＣＳ３２６は、（１）ＧＵＩ構築のためのライブラリの提供機能、（２）操作部ハードウェア資源管理機能、（３）ＶＲＡＭ描画／ＬＣＤ表示機能（ハードウェア表示、表示アプリ切替、表示言語切替、ウインドウ暗色表示、メッセージ／アイコンブリンク表示、メッセージの連結表示）、（４）ハードキー入力検出機能、（５）タッチパネルキー入力検出機能、（６）ＬＥＤ出力機能、（７）ブザー出力機能などを有する。
【００３０】
ＦＣＳ３２７は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を使ったファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのＡＰＩを提供するものである。
【００３１】
具体的には、このＦＣＳ３２７は、（１）アプリ層から送信依頼されたドキュメントをＰＳＴＮ／ＩＳＤＮ網を使ってファクシミリ受信機に送信をおこなう送信機能、（２）ＰＳＴＮ／ＩＳＤＮ網から受信したファクシミリ受信画面、各種レポート類を各アプリ層に転送、印刷をおこなう受信機能、（３）ファクスボードに記憶されている電話帳、グループ情報などのファクシミリ管理項目の引用や登録をおこなう電話帳引用・登録機能、（４）ファクスボードに搭載されているＢＫＭに記憶されている送受信結果履歴情報などを必要としているアプリに通知するファクスログ通知機能、（５）ファクスボードの状態変化があったときにＦＣＳに登録してあるアプリに変化のあったイベントを通知するイベント通知機能などを有する。
【００３２】
ＮＣＳ３２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。
【００３３】
ＳＲＭ（System  Resource  Manager）３３０は、一または複数のハードウェア資源の管理を行い、コントロールサービス３２０からの獲得要求を調停する。ＳＲＭ３３０は、ＳＣＳ３２２とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４Ｉ／Ｆ、ＲＳＳ２３２ＣＩ／Ｆなど）のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行する。
【００３４】
汎用ＯＳ３２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、アプリケーション３１０、コントロールサービス３２０およびＳＲＭ３３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００３５】
図２に示すように、第２システム環境（新ＯＳバーションの環境）は、複合機起動部３４０を含む。複合機起動部３４０は、汎用ＯＳ３２１の起動後、第１システム環境（旧ＯＳバージョンの環境）に含まれる複合機起動部３０５を起動する制御を行う。本実施形態では、複合機起動部３４０は、共有手段３４１と、変更手段３４２と、設定手段３４３とを有する。
【００３６】
これらの具体的な内容については後述するが、共有手段３４１は、第１システム環境と第２システム環境とが利用するファイルを同一のパスで共有するためのマウントを行う。例えば共有手段は、第１システム環境と第２システム環境との間でプロセス間通信を行うためのファイルを同一のパスで共有するためのマウントを行う機能を有してもよい。変更手段３４２は、第１システム環境に対応するディレクトリ構造の最上位のディレクトリを、第２システム環境のルートディレクトリに変更する機能を有する。設定手段３４３は、第１システム環境がシングルコアに対応し、マルチコアに対応していない場合、動作するプロセッサコアの数を１つに設定する。
【００３７】
図３は、ＭＦＰ１のディレクトリ構成の一例を示す模式図である。この例では、旧ＯＳバージョンの環境は、新ＯＳバーションの環境下に独立して存在する。図３の例では、新ＯＳバーションの環境下のルートディレクトリ４００には、「ｌｉｂ」という名称のディレクトリ４０１、「ｂｉｎ」という名称のディレクトリ４０２、「ｄｅｖ」という名称のディレクトリ４０３、「ｔｍｐ」という名称のディレクトリ４０４、「旧ＯＳ」という名称のディレクトリ４０５が所属している。
【００３８】
「ｌｉｂ」という名称のディレクトリ４０１には、標準ライブラリが格納される。「ｂｉｎ」という名称のディレクトリ４０２には、複合機起動部３４０の機能を実現するためのプログラムが格納される。「ｄｅｖ」という名称のディレクトリ４０３には、ＭＦＰ１の内部に搭載された機器や外部接続された機器を制御するための各種のデバイスドライバが格納される。「ｔｍｐ」という名称のディレクトリ４０４には、一時的なファイルが格納される。
【００３９】
また、「旧ＯＳ」という名称のディレクトリ４０５の下位には、さらに複数のディレクトリ（４１１、４１２、４１３、４１４、４１５、４１６、４１７）が存在し、このディレクトリ４０５を上位とするツリー型のディレクトリ構造は、旧ＯＳバージョンの環境に対応している。見方を変えれば、「旧ＯＳ」という名称のディレクトリ４０５は、旧ＯＳバージョンの環境に対応するディレクトリ構造（ツリー型構造）の最上位のディレクトリであると捉えることもできる。
【００４０】
ディレクトリ４０５に所属する「ｌｉｂ」という名称のディレクトリ４１１には、標準ライブラリが格納される。また、ディレクトリ４０５に所属する「ｂｉｎ」という名称のディレクトリ４１２には、複合機起動部３０５の機能を実現するためのプログラムが格納される。また、ディレクトリ４０５に所属する「ｄｅｖ」という名称のディレクトリ４１３には、各種のデバイスドライバが格納される。この例では、新ＯＳに対応するデバイスドライバおよび旧ＯＳに対応するデバイスドライバの各々は共通のソフトウェアであるものとする。
【００４１】
また、ディレクトリ４０５に所属する「ｔｍｐ」という名称のディレクトリ４１４には、一時的なファイルが格納される。また、ディレクトリ４０５に所属する「コントロールサービス」という名称のディレクトリ４１５には、コントロールサービス３２０を形成する複数のサービスモジュールやＳＲＭ３３０などのプログラムが格納される。図３の例では、ディレクトリ４１５には、前述のＥＣＳ３２４、前述のＭＣＳ３２５、前述のＯＣＳ３２６、前述のＦＣＳ３２７、前述のＮＣＳ３２８、前述のＳＣＳ３２２、前述のＳＲＭ３３０が格納されている。
【００４２】
また、ディレクトリ４０５に所属する「アプリケーション」という名称のディレクトリ４１６には、前述のアプリケーション３１０が格納される。図３の例では、ディレクトリ４１６には、コピーアプリ３１２、ファクスアプリ３１３、スキャナアプリ３１４、ネットファイルアプリ３１５およびプリンタアプリ３１１が格納される。
【００４３】
さらに、ディレクトリ４０５に所属する「ｅｔｃ」という名称のディレクトリ４１７には、起動対象のプログラムが記述された起動定義ファイルが格納される。この例では、起動定義ファイルには、複合機起動部３０５による起動の対象となるプログラム（コントロールサービス３２０を形成するサービスモジュールやアプリケーション３１０）が記述されている。図４は、本実施形態における起動定義ファイルの一例を示す図である。図４に示すように、この起動定義ファイルには、コントロールサービス３２０を形成する複数のサービスモジュールが起動順に記述されるとともに、アプリケーション３１０に含まれる複数のアプリケーションが起動順に記述されている。
【００４４】
次に、図５を用いて、新ＯＳバージョンの環境（第２システム環境）に含まれる複合機起動部３４０の動作例を説明する。図５は、複合機起動部３４０の動作例を示すフロー図である。汎用ＯＳ３２１の起動後、複合機起動部３４０に含まれる共有手段３４１は、「／旧ＯＳ／ｄｅｖ」を「／ｄｅｖ」にマウントする（ステップＳ１）。つまり、共有手段３４１は、新ＯＳおよび旧ＯＳの各々に共通の仕様であるデバイスドライバが格納されるファイルを同一のパスで共有するためのマウントを行う。なお、例えばディレクトリ構成を作成するときに、「／ｄｅｖ」を「／旧ＯＳ／ｄｅｖ」にシンボリックリンクしてもよい。
【００４５】
次に、複合機起動部３４０に含まれる設定手段３４３は、旧ＯＳバージョンの環境（第１システム環境）がシングルコアに対応し、マルチコアに対応していない場合、動作するプロセッサコアの数を１つに固定（設定）する（ステップＳ２）。次に、複合機起動部３４０に含まれる変更手段３４２は、「旧ＯＳ」という名称のディレクトリ４０５を、第２システム環境下のルートディレクトリ（トップディレクトリ）に変更する（ステップＳ３）。これにより、第２システム環境と同じパスで、第１システム環境のファイルにアクセスすることが可能になる。
【００４６】
次に、複合機起動部３４０は、第１システム環境下の複合機起動部３０５を起動する制御を行う（ステップＳ４）。これにより、図３に示す「／旧ＯＳ／ｂｉｎ／複合機起動部」のパスで特定されるファイルに格納されたプログラム（複合機起動部３０５の機能を実現するためのプログラム）が実行され、複合機起動部３０５が起動する。
【００４７】
次に、図６を用いて、旧ＯＳバージョンの環境（第１システム環境）に含まれる複合機起動部３０５の動作例を説明する。図６は、複合機起動部３４０により起動された複合機起動部３０５の動作例を示すフロー図である。まず、複合機起動部３０５は、「／ｅｔｃ／起動定義ファイル」のパスで特定されるファイルに格納された起動定義ファイルを読み込む（ステップＳ５）。次に、複合機起動部３０５は、図４に示す起動定義ファイルに記述された／コントロールサービス以下のプログラムを、起動順に従って起動する（ステップＳ６）。次に、複合機起動部３０５は、図４に示す起動定義ファイルに記述された／アプリケーション以下のプログラムを、起動順に従って起動する（ステップＳ７）。
【００４８】
以上に説明したように、本実施形態では、旧ＯＳバージョンの実行モジュール（第１実行モジュール）を再コンパイルしていないので、新ＯＳバージョンへ移行を行っても、旧ＯＳバージョンの実行モジュールは正常に動作することを期待できる。また、本実施形態では、旧ＯＳバージョンの環境（第１システム環境）に対応するディレクトリ構造の最上位のディレクトリを、新ＯＳバージョンの環境（第２システム環境）のトップディレクトリに変更しているので、新ＯＳバージョンの環境と同じパスで旧ＯＳバージョンの環境のファイルにアクセスすることが可能になる。
【００４９】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態では、上述の第２システム環境（新ＯＳバージョンの環境）は、所定の機能を提供するためのプログラムを示す第２実行モジュールを含み、第２システム環境に含まれる複合機起動部３４０は、第１システム環境（旧ＯＳバーションの環境）に含まれる複合機起動部３０５からの要求に応じて、第２実行モジュールを起動する。以下、具体的な内容を説明する。なお、上述の第１実施形態と共通する部分については適宜に説明を省略する。
【００５０】
図７は、第２実施形態のＭＦＰ１０のソフトウェア構成の一例を示す図である。図２に示すように、新ＯＳバージョンの環境（第２システム環境）は、前述のＮＣＳ３２８と、前述のプリンタアプリ３１１とを含む点で上述の第１実施形態と相違する。この例では、プリンタアプリ３１１およびＮＣＳ３２８は、請求項の「第２実行モジュール」に対応していると考えることができる。以下の説明では、プリンタアプリ３１１とＮＣＳ３２８を互いに区別しない場合は、単に「第２実行モジュール」と称する場合がある。
【００５１】
具体的な内容は後述するが、旧ＯＳバージョンの環境（第１システム環境）に含まれる複合機起動部３０５は、起動定義ファイルの中に第２実行モジュールが記述されている場合、新ＯＳバージョンの環境に含まれる複合機起動部３４０に対して第２実行モジュールの起動を要求する。この要求を受けた複合機起動部３４０は、第２実行モジュールを起動する制御を行う。
【００５２】
図８は、第２実施形態のＭＦＰ１０のディレクトリ構成の一例を示す模式図である。図８の例では、新ＯＳバージョンの環境下のルートディレクトリ４００には、「コントロールサービス」という名称のディレクトリ４０６と、「アプリケーション」という名称のディレクトリ４０７とがさらに所属している点で上述の第１実施形態と相違する。図８の例では、「コントロールサービス」という名称のディレクトリ４０６には、前述のＮＣＳ３２８が格納される。また、「アプリケーション」という名称のディレクトリ４０７には、前述のプリンタアプリ３１１が格納される。
【００５３】
また、図８の例では、ディレクトリ４０５に所属する「コントロールサービス」という名称のディレクトリ４１５には、前述のＥＣＳ３２４、前述のＭＣＳ３２５、前述のＯＣＳ３２６、前述のＦＣＳ３２７、前述のＳＣＳ３２２、前述のＳＲＭ３３０が格納されている。また、図８の例では、ディレクトリ４０５に所属する「アプリケーション」という名称のディレクトリ４１６には、コピーアプリ３１２、ファクスアプリ３１３、スキャナアプリ３１４およびネットファイルアプリ３１５が格納される。
【００５４】
図９は、ディレクトリ４０５に所属する「ｅｔｃ」という名称のディレクトリ４１７に格納される起動定義ファイルの一例を示す図である。この例では、起動定義ファイルには、複合機起動部３０５または複合機起動部３４０による起動の対象となるプログラムが記述されている。図９の例では、この起動定義ファイルには、第１システム環境および第２システム環境の各々に含まれるサービスモジュールが起動順に記述されるとともに、第１システム環境および第２システム環境の各々に含まれるアプリケーションが起動順に記述されている。
【００５５】
図９の例では、起動定義ファイルに記述された／コントロールサービス以下のプログラムは、第１システム環境に含まれるサービスモジュールを指し、起動定義ファイルに記述された−−ｒｅａｌ−ｐａｔｈ／コントロールサービス以下のプログラムは、第２システム環境に含まれるサービスモジュールを指す。また、起動定義ファイルに記述された／アプリケーション以下のプログラムは、第１システム環境に含まれるアプリケーションを指し、起動定義ファイルに記述された−−ｒｅａｌ−ｐａｔｈ／アプリケーション以下のプログラムは、第２システム環境に含まれるアプリケーションを指す。
【００５６】
次に、図１０を用いて、新ＯＳバージョンの環境（第２システム環境）に含まれる複合機起動部３４０の動作例を説明する。図１０は、複合機起動部３４０の動作例を示すフロー図である。ステップＳ１１の処理の内容は、図５に示すステップＳ１の処理の内容と同様である。ステップＳ１１の後、複合機起動部３４０に含まれる共有手段３４１は、「／旧ＯＳ／ｔｍｐ」を「／ｔｍｐ」にマウントする（ステップＳ１２）。なお、例えばディレクトリ構成を作成するときに、「／ｔｍｐ」を「／旧ＯＳ／ｔｍｐ」にシンボリックリンクしてもよい。
【００５７】
ステップＳ１３〜ステップＳ１５の処理の内容は、図５に示すステップＳ２〜ステップＳ４の処理の内容と同様である。ステップＳ１５の後、複合機起動部３４０は、第１システム環境下の複合機起動部３０５からの起動要求の有無を判断する（ステップＳ１６）。この例では、ＵＮＩＸ（登録商標）ドメインソケットのような仕組みで／ｔｍｐ以下に共有のファイルを作成し、この共有のファイルを利用して、第１システム環境下の複合機起動部３０５と第２システム環境下の複合機起動部３４０とのプロセス間通信を行う。複合機起動部３４０は、第１システム環境下の複合機起動部３０５からの起動要求があった場合（ステップＳ１６：Ｙｅｓ）、起動が要求されたプログラムを実行する制御を行う（ステップＳ１７）。
【００５８】
次に、図１１を用いて、旧ＯＳバージョンの環境（第１システム環境）に含まれる複合機起動部３０５の動作例を説明する。図１１は、複合機起動部３４０により起動された複合機起動部３０５の動作例を示すフロー図である。ステップＳ２１の処理の内容は、図６に示すステップＳ５の処理の内容と同様である。ステップＳ２１の後、複合機起動部３０５は、図９に示す起動定義ファイルに記述された／コントロールサービス以下のプログラムを、起動順に従って起動する（ステップＳ２２）。この例では、複合機起動部３０５は、図９に示す起動定義ファイルに記述された−−ｒｅａｌ−ｐａｔｈ／コントロールサービス以下のプログラムを起動するタイミングにおいては、第２システム環境下の複合機起動部３４０に対して、当該プログラムの起動を要求する（ステップＳ２３）。前述したように、この例では、ＵＮＩＸ（登録商標）ドメインソケットのような仕組みで／ｔｍｐ以下に共有のファイルを作成し、この共有のファイルを利用して、第１システム環境下の複合機起動部３０５と第２システム環境下の複合機起動部３４０とのプロセス間通信を行う。
【００５９】
次に、複合機起動部３０５は、図９に示す起動定義ファイルに記述された／アプリケーション以下のプログラムを、起動順に従って起動する（ステップＳ２４）。この例では、複合機起動部３０５は、起動定義ファイルに記述された−−ｒｅａｌ−ｐａｔｈ／アプリケーション以下のプログラムを起動するタイミングにおいては、第２システム環境下の複合機起動部３４０に対して、当該プログラムの起動を要求する（ステップＳ２５）。前述したように、この例では、ＵＮＩＸ（登録商標）ドメインソケットのような仕組みで／ｔｍｐ以下に共有のファイルを作成し、この共有のファイルを利用して、第１システム環境下の複合機起動部３０５と第２システム環境下の複合機起動部３４０とのプロセス間通信を行う。
【００６０】
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００６１】
また、上述した各実施形態のＭＦＰ（１，１０）で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００６２】
１      ＭＦＰ
１０    ＭＦＰ
３０５  複合機起動部
３１０  アプリケーション
３２０  コントロールサービス
３２１  汎用ＯＳ
３４０  複合機起動部
３４１  共有手段
３４２  変更手段
３４３  設定手段
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特許第３６７９３４９号公報
【図１】
2015056137.tif 000003
【図２】
2015056137.tif 000004
【図３】
2015056137.tif 000005
【図４】
2015056137.tif 000006
【図５】
2015056137.tif 000007
【図６】
2015056137.tif 000008
【図７】
2015056137.tif 000009
【図８】
2015056137.tif 000010
【図９】
2015056137.tif 000011
【図１０】
2015056137.tif 000012
【図１１】
2015056137.tif 000013