(57)【要約】【課題】  複数の機能を有するファクシミリ装置において、システム起動後でも機能の追加や停止を柔軟に行う。【解決手段】  ファクシミリ装置１００は、ファクシミリ送受信機能を含む複数の機能を有するシステムを管理する管理部１４２と、複数の機能をそれぞれ実行する複数の実行モジュールを記憶する実行モジュール記憶部１４６と、起動する実行モジュールの指定を受け付ける指示受付部１４０と、実行モジュールの起動時に、実行モジュール毎にスレッドを生成する実行モジュール起動部１４４と、を含む。【選択図】        図２
2006174295.tif 000002
【特許請求の範囲】
【請求項１】
ファクシミリ送受信機能を含む複数の機能を有するシステムを管理する管理部と、
前記複数の機能をそれぞれ実行する複数の実行モジュールを記憶する記憶部と、
起動する実行モジュールの指定を受け付ける受付部と、
前記実行モジュールの起動時に、実行モジュール毎にスレッドを生成する起動部と、
を含むことを特徴とするファクシミリ装置。
【請求項２】
請求項１に記載のファクシミリ装置において、
前記受付部は、いずれかの前記実行モジュールの起動中に、起動中の前記実行モジュールの停止または他の実行モジュールの起動の指示を受け付け、
前記起動部は、前記受付部が受け付けた指示に基づき、該当する実行モジュールのスレッドを削除または生成し、
前記管理部は、前記起動部が前記スレッドを削除または生成した後に、起動中の前記実行モジュールのスレッド間の管理を行うことを特徴とするファクシミリ装置。
【請求項３】
請求項１または２に記載のファクシミリ装置において、
前記起動部が起動した前記実行モジュールに対応するスレッドの識別情報を記憶する識別情報記憶部をさらに含み、
前記受付部は、いずれかの前記実行モジュールの起動中に、起動中の前記実行モジュールの停止または他の実行モジュールの起動の指示を受け付け、
前記起動部は、前記受付部が前記実行モジュールの起動または停止の指示を受け付けると、前記識別情報記憶部を参照して、必要に応じて当該実行モジュールの起動または停止を行うことを特徴とするファクシミリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファクシミリ装置に関する。
【背景技術】
【０００２】
ファクシミリ装置は、一般的に、ファクシミリ送信機能、原稿読取機能、印刷機能等の複数の機能を有する。また、近年、ネットワークに接続されたネットワークファクシミリ装置も普及している。さらに、ネットワークファクシミリ機能に加えて、ネットワークプリンタ機能やネットワークスキャナ機能等を備えたＭＦＰ（Multi Functional Peripheral）等の複合機が開発されている。
【特許文献１】特開２００３−３２４５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のファクシミリ装置においては、複数の機能に対する実行モジュールを起動する際に、これらが一つのバイナリファイルに結合された状態でスレッドが生成されていた。そのため、システム起動後にいずれかの機能を停止させたり追加したりする場合に、再起動を行い、再度新たなスレッドを生成し直す必要があった。
【０００４】
本発明はこうした点に鑑みてなされたもので、その目的は、複数の機能を有するファクシミリ装置において、システム起動後でも機能の追加や停止を柔軟に行うことができるようにする技術の提供にある。
【課題を解決するための手段】
【０００５】
本発明によれば、ファクシミリ送受信機能を含む複数の機能を有するシステムを管理する管理部と、前記複数の機能をそれぞれ実行する複数の実行モジュールを記憶する記憶部と、起動する実行モジュールの指定を受け付ける受付部と、前記実行モジュールの起動時に、実行モジュール毎にスレッドを生成する起動部と、を含むことを特徴とするファクシミリ装置が提供される。
【０００６】
このような構成により、システム起動後に、柔軟に機能の追加や停止を行うことができる。また、システム起動後に、たとえば特殊な機能が追加された場合でも、それに対応するスレッドを生成することにより、特殊仕様への対応を迅速に行うことができる。
【０００７】
本発明のファクシミリ装置において、前記受付部は、いずれかの前記実行モジュールの起動中に、起動中の前記実行モジュールの停止または他の実行モジュールの起動の指示を受け付けることができ、前記起動部は、前記受付部が受け付けた指示に基づき、該当する実行モジュールのスレッドを削除または生成することができ、前記管理部は、前記起動部が前記スレッドを削除または生成した後に、起動中の前記実行モジュールのスレッド間の管理を行うことができる。
【０００８】
本発明のファクシミリ装置は、前記起動部が起動した前記実行モジュールに対応するスレッドの識別情報を記憶する識別情報記憶部をさらに含むことができ、前記受付部は、いずれかの前記実行モジュールの起動中に、起動中の前記実行モジュールの停止または他の実行モジュールの起動の指示を受け付けることができ、前記起動部は、前記受付部が前記実行モジュールの起動または停止の指示を受け付けると、前記識別情報記憶部を参照して、必要に応じて当該実行モジュールの起動または停止を行うことができる。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、複数の機能を有するファクシミリ装置において、システム起動後でも機能の追加や停止を柔軟に行うことができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本実施の形態におけるファクシミリ装置１００の構成を示すブロック図である。
ファクシミリ装置１００は、Ｇ３やＧ４等を利用したファクシミリ通信機能、およびインターネット等のネットワークを介してファクシミリデータを送受信する機能を有する。ファクシミリ装置１００は、ファクシミリ、プリンタ、コピー、スキャナ機能等を統合した複合機とすることができる。ファクシミリ装置１００は、たとえばネットワークファクシミリ装置やＭＦＰ（Multi Functional Peripheral）等である。
【００１２】
ファクシミリ装置１００は、制御部１０２、バス１０３、ＲＡＭ１０４、ＲＯＭ１０６、ハードディスク１０８、操作部１１４、プリンタ１１６、ファックスモデム１１８、原稿読取部１２０、表示部１２２、およびＬＡＮインターフェース１２４を含む。
【００１３】
制御部１０２は、ＣＰＵにより構成される。制御部１０２は、バス１０３を介して他のハードウェアと接続されており、これらのハードウェアを制御するとともに、種々のソフトウェアの機能を実行する。ＲＯＭ１０６は、フラッシュメモリ等の不揮発性記憶装置である。ＲＯＭ１０６には複数のプログラムが格納されている。ＲＯＭ１０６に記憶されたプログラムは、制御部１０２により実行される。ＲＯＭ１０６には、たとえばＩＰＬ（Initial Program Loader）等の起動プログラム等が記憶される。
【００１４】
ＲＡＭ１０４は、ＳＤＲＡＭ（Synchronous DRAM）等のＤＲＡＭや、ＳＲＡＭ（Static Random Access Memory）等の揮発性記憶装置である。ＲＡＭ１０４は、制御部１０２がプログラムを実行する際のワーキングエリアとして利用される。ＲＡＭ１０４は、制御部１０２がプログラムを実行する際に一時的に発生するデータを記憶する。
【００１５】
原稿読取部１２０は、たとえばＣＣＤを利用したスキャナである。原稿読取部１２０は、原稿を読み取り、画像データを生成する。プリンタ１１６は、原稿読取部１２０が読み取った原稿のコピーやファクシミリ装置１００が受信したファクシミリデータ等を印刷する。表示部１２２は、たとえばＬＣＤ等のディスプレイである。表示部１２２は、各種データを表示する。操作部１１４は、ファクシミリ装置１００を操作するために必要な各種キーを備え、ユーザからの指示を受け付ける。また、表示部１２２をタッチパネル方式として、操作部１１４の機能の一部または全部を代用するように構成することもできる。
【００１６】
本実施の形態において、ハードディスク（ＨＤＤ）１０８は、ＯＳであるカーネルや、ファクシミリ装置１００の各機能を制御する実行モジュールを記憶する。実行モジュールは、たとえばアプリケーションプログラムやファクシミリ装置１００の周辺装置のファームウェア等のプログラムである。また、ハードディスク１０８は、原稿読取部１２０が生成した画像データ等のデータを記憶する。
【００１７】
ファックスモデム１１８は、公衆電話回線を介して公衆通信網（不図示）に接続される。ファックスモデム１１８は、ファクシミリ装置１００を公衆通信網に接続するためのＮＣＵ（ネットワーク制御回路：Network Control Unit）を含む。また、ＮＣＵは、ファックスモデム１１８とは別に設けられてもよい。
【００１８】
ＬＡＮインターフェース１２４は、ＬＡＮ（local area network：不図示）のインターフェースであり、ＬＡＮとの間でデータの授受を行う。
【００１９】
図２は、ファクシミリ装置１００の機能を示すブロック図である。図２は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。なお、図２において、本発明の本質に関わらない部分の構成については省略してある。図２に示した構成要素は、ファクシミリ装置１００の制御部１０２、ＲＡＭ１０４、ＲＯＭ１０６、およびハードディスク１０８等により実現されるファクシミリ装置１００の機能を示す。
【００２０】
ファクシミリ装置１００は、指示受付部１４０、管理部１４２、実行モジュール起動部１４４、実行モジュール記憶部１４６、起動スレッドＩＤ記憶部１４８、および起動済実行モジュール１５０を含む。
【００２１】
指示受付部１４０は、実行モジュールの起動指示を受け付ける。指示受付部１４０は、ユーザからの指示を受け付けてもよく、予め設定された条件に従ってシステムから出される指示を受け付けてもよい。
【００２２】
管理部１４２は、指示受付部１４０が実行モジュールの起動指示を受け付けると、実行モジュール起動部１４４へ通知を行う。実行モジュール起動部１４４は、管理部１４２からの通知に基づき、実行モジュール記憶部１４６から該当する実行モジュールを読み出し起動する。この際、実行モジュール起動部１４４は、実行モジュールに対して少なくとも１つのスレッドを生成し、実行モジュールを起動する。つまり、実行モジュールは、少なくとも１つのオブジェクトにより構成された状態で起動される。
【００２３】
起動済実行モジュール１５０は、実行モジュール起動部１４４により起動された実行モジュールにより実現される。管理部１４２は、起動済実行モジュール１５０を制御して、ファクシミリ装置１００の各種機能を制御する。
【００２４】
また、指示受付部１４０は、いずれかの実行モジュールの起動中に、起動中の実行モジュールの停止、または他の実行モジュールの起動の指示を受け付ける。実行モジュール起動部１４４は、指示受付部１４０が受け付けた指示に基づき、該当する実行モジュールのスレッドに対応するオブジェクトを起動または停止する。管理部１４２は、実行モジュール起動部１４４がスレッドに対応するオブジェクトを起動または停止する場合に、起動中の実行モジュールのスレッド間の管理を行う。
【００２５】
起動スレッドＩＤ記憶部１４８は、実行モジュール起動部１４４が起動した実行モジュールに対応するスレッドの識別情報を記憶する。実行モジュール起動部１４４は、管理部１４２からいずれかの実行モジュールの起動または停止指示があると、起動スレッドＩＤ記憶部１４８を参照して、必要に応じて当該実行モジュールの起動または停止を行う。
【００２６】
図３は、本実施の形態におけるファクシミリ装置１００における実行モジュールの起動手順を示すフローチャートである。以下、図１および図２も参照して説明する。
【００２７】
ファクシミリ装置１００の電源がオンとされると、たとえばハードディスク１０８に記憶されたＯＳであるカーネルが読み込まれる（Ｓ１０２）。つづいて、実行モジュール起動部１４４は、起動スレッドＩＤ記憶部１４８の全スレッドＩＤを初期化する（Ｓ１０４）。
【００２８】
その後、実行モジュール起動部１４４は、起動する実行モジュールのスレッドの指定があるか否かを判断し（Ｓ１０６）、実行モジュールの指定がある場合（Ｓ１０６のＹＥＳ）、起動スレッドＩＤ記憶部１４８を参照して、その実行モジュールが起動済みか否かを判断する（Ｓ１０８）。指定された実行モジュールが起動済みでない場合（Ｓ１０８のＮＯ）、実行モジュール起動部１４４は、実行モジュール記憶部１４６を参照して、指定された実行モジュールが存在するか否かを判断する（Ｓ１１０）。
【００２９】
指定された実行モジュールが存在する場合（Ｓ１１０のＹＥＳ）、実行モジュール起動部１４４は、指定された実行モジュールを起動する（Ｓ１１２）。一方、指定された実行モジュールがない場合（Ｓ１１０のＮＯ）、予め設定された標準モジュールを起動する（Ｓ１１４）。また、ステップＳ１０６において、実行モジュールの指定がない場合も、ステップＳ１１４に進み、標準モジュールを起動する。
【００３０】
その後、実行モジュール起動部１４４は、ステップＳ１１２またはステップＳ１１４で起動した実行モジュールのスレッドＩＤを起動スレッドＩＤ記憶部１４８に記憶する（Ｓ１１６）。つづいて、実行モジュール起動部１４４は、未起動の実行モジュールがあるか否かを判断し（Ｓ１１８）、未起動の実行モジュールがある場合（Ｓ１１８のＹＥＳ）、新たに実行モジュールの起動指示があるまで（Ｓ１２０のＹＥＳ）、待機する。ステップＳ１１８において、未起動の実行モジュールがない場合（Ｓ１１８のＮＯ）、処理を終了する。ステップＳ１０８において、指定された実行モジュールが起動済みの場合（Ｓ１０８のＹＥＳ）、ステップＳ１１８に進み、同様の処理を行う。
【００３１】
本実施の形態におけるファクシミリ装置１００によれば、ファクシミリ装置１００の各機能を制御する実行モジュール毎に少なくとも１つのオブジェクトにより構成されたスレッドを生成するので、システム起動後に、柔軟に機能の追加や停止を行うことができる。これにより、システム起動後に、たとえば特殊な機能が追加された場合でも、それに対応するスレッドを生成することにより、特殊仕様への対応を迅速に行うことができる。
【００３２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００３３】
【図１】実施の形態におけるファクシミリ装置の構成を示すブロック図である。
【図２】実施の形態におけるファクシミリ装置の機能を示すブロック図である。
【図３】ファクシミリ装置における実行モジュールの起動手順を示すフローチャートである。
【符号の説明】
【００３４】
１００  ファクシミリ装置
１０２  制御部
１０３  バス
１０４  ＲＡＭ
１０６  ＲＯＭ
１０８  ハードディスク
１１４  操作部
１１６  プリンタ
１１８  ファックスモデム
１２０  原稿読取部
１２２  表示部
１２４  ＬＡＮインターフェース
１４０  指示受付部
１４２  管理部
１４４  実行モジュール起動部
１４６  実行モジュール記憶部
１４８  起動スレッドＩＤ記憶部
１５０  起動済実行モジュール
【図１】
2006174295.tif 000003
【図２】
2006174295.tif 000004
【図３】
2006174295.tif 000005