(57)【要約】【課題】アドレス帳の管理処理を効率よく実現すること。【解決手段】送信処理に用いる宛先データを管理する宛先管理と、利用者による宛先データの選択を管理する選択管理を分離してアドレス帳管理の仕組みを構築し、さらに、宛先管理を担当するアドレス帳クラス、選択管理を担当する選択シートクラス、アドレス帳クラスを束ねる書棚クラス、個々の宛先に対応する宛先クラス、選択された宛先への送信を管理する送付状クラス、選択シートクラスのサブクラスであり既存の宛先の選択に特化した既存宛先選択シートクラスおよび選択シートクラスのサブクラスであり新規に入力された宛先の選択に特化した追加宛先選択シートクラスを用いることによりアドレス帳管理部を実現する。【選択図】        図１０
2006087028.tif 000002
【特許請求の範囲】
【請求項１】
電子データの送信先をあらわす宛先データを管理する宛先管理テーブルを参照し、利用者が前記電子データの送信をおこなう際に、前記利用者に対する前記宛先データの提供に用いるアドレス帳管理プログラムであって、
各送信方式に対応した形式の宛先データを管理する前記宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、
前記アドレス帳手段から前記宛先を取得して該宛先の一覧を前記利用者に提供し、該利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段と
してコンピュータを機能させることを特徴とするアドレス帳管理プログラム。
【請求項２】
前記アドレス帳手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、前記選択シート手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えたことを特徴とする請求項１に記載のアドレス帳管理プログラム。
【請求項３】
前記アドレス帳手段は、前記利用者からの送信要求を受け付ける前までに、前記送信方式ごとに生成され、前記選択シート手段は、前記利用者から受け付けた送信要求ごとに生成されることを特徴とする請求項１または２に記載のアドレス帳管理プログラム。
【請求項４】
前記選択シート手段は、選択することができる宛先の最大数を保持し、該最大数以下の範囲内で前記利用者による宛先の選択および選択解除を受付け、該利用者による宛先確定指示を受け付けたならば、前記宛先のリストを作成して他のサブシステムに提供することを特徴とする請求項３に記載のアドレス帳管理プログラム。
【請求項５】
前記選択シート手段は、前記利用者による宛先の選択を受け付けたならば、選択された宛先に対応する宛先手段を生成して該宛先手段へのリンク情報を保持し、該利用者による宛先の選択解除を受け付けたならば、該当する宛先手段およびリンク情報を削除することを特徴とする請求項３または４に記載のアドレス帳管理プログラム。
【請求項６】
前記選択シート手段は、前記宛先確定指示を受け付けたならば、前記電子データの送信を管理する送付状手段を生成し、保持している前記リンク情報を該送付状手段に渡すことを特徴とする請求項３、４または５に記載のアドレス帳管理プログラム。
【請求項７】
前記選択シート手段は、前記アドレス帳手段から取得した宛先を選択候補として保持し、該選択候補の一覧を前記利用者に対して提供する既存宛先選択シート手段であることを特徴とする請求項３〜６のいずれか一つに記載のアドレス帳管理プログラム。
【請求項８】
前記選択シート手段は、新たに入力された宛先の書式を検査し、正当な書式であれば該宛先を選択候補として保持し、該選択候補の一覧を前記利用者に提供する追加宛先選択シート手段であることを特徴とする請求項３〜６のいずれか一つに記載のアドレス帳管理プログラム。
【請求項９】
前記選択シート手段は、前記既存宛先選択シート手段および前記追加宛先選択シート手段であることを特徴とする請求項３〜６のいずれか一つに記載のアドレス帳管理プログラム。
【請求項１０】
前記アドレス帳手段を木構造の子として管理し、前記利用者が指定した送信方式に対応するアドレス帳手段を前記利用者に対して提供する書棚手段をさらに備え、前記書棚手段は、前記宛先データの更新処理中は、前記アドレス帳手段の参照を許可しないことを特徴とする請求項３〜９のいずれか一つに記載のアドレス帳管理プログラム。
【請求項１１】
前記書棚手段は、前記宛先データの更新処理を開始する際に、前記アドレス帳手段に対し、該アドレス帳手段と関連する選択シート手段および宛先手段の削除を指示することを特徴とする請求項１０に記載のアドレス帳管理プログラム。
【請求項１２】
前記書棚手段は、前記アドレス帳手段の参照が可能か否かの状態を保持し、前記宛先データの更新要求を受け付けたならば、該状態を参照不可に設定することにより前記アドレス帳手段の参照を許可せず、更新内容を反映したアドレス帳手段の生成と、更新要求を受け付けた際に存在するアドレス帳手段、選択シート手段および宛先手段の削除とが完了したならば、該状態を参照可能に設定することにより更新内容を反映したアドレス帳手段の参照を許可することを特徴とする請求項１１に記載のアドレス帳管理プログラム。
【請求項１３】
前記送付状手段は、前記他のサブシステムから送信完了通知を受信したならば、該送付状手段と関連する選択シート手段と、該選択シート手段と関連する宛先手段とを削除するよう指示することを特徴とする請求項６〜１２のいずれか一つに記載のアドレス帳管理プログラム。
【請求項１４】
電子データの送信先をあらわす宛先データを管理する宛先管理テーブルを参照し、利用者が前記電子データの送信をおこなう際に、前記利用者に対し前記宛先データを提供する画像形成装置であって、
各送信方式に対応した形式の宛先データを管理する前記宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、
前記アドレス帳手段から宛先を取得して該宛先の一覧を前記利用者に提供し、該利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段と
を備えたことを特徴とする画像形成装置。
【請求項１５】
前記アドレス帳手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、前記宛先手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えたことを特徴とする請求項１４に記載の画像形成装置。
【請求項１６】
前記アドレス帳手段は、前記送信方式ごとに生成され、前記選択シート手段は、前記利用者から受け付けた送信要求ごとに生成されることを特徴とする請求項１４または１５に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データの送信先をあらわす宛先データを管理する宛先管理テーブルを参照し、利用者が電子データの送信をおこなう際に、利用者に対し宛先データの提供に用いるアドレス帳管理プログラムおよび画像形成装置に関し、特に、アドレス帳の管理処理を効率よく実現することができ、機能追加と改修を容易におこなうことができるアドレス帳管理プログラムおよび画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【０００３】
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。
【０００４】
このため、特許文献１では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分（プラットホーム）として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
【０００５】
【特許文献１】特開２００２−０８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。
【０００７】
たとえば、送信処理の宛先として用いる宛先データをアドレス帳として管理し、利用者がＦＡＸ送信などの送信処理を指示する際に、かかる宛先データを利用者に対して提供するアドレス帳管理処理は、複合機に搭載される各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。
【０００８】
また、かかるアドレス帳管理処理においては、宛先データの更新をおこなう更新処理や、利用者により選択された宛先データを管理する選択処理をおこなうことが通常であるが、これらの処理はそれぞれ複雑であるため、アドレス帳管理処理を単に共通化するだけでは、共通化したアドレス帳管理処理が複雑となってしまい機能追加や改修が困難となるおそれがある。
【０００９】
これらのことから、複合機に搭載されるアプリケーションのアドレス帳管理処理をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、宛先データを参照し、かかる宛先データを用いて送信処理をおこなう送信装置を形成するような場合にも同様に生ずる課題である。
【００１０】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、アドレス帳の管理処理を効率よく実現することができ、機能追加と改修を容易におこなうことができるアドレス帳管理プログラムおよび画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、請求項１の発明にかかるアドレス帳管理プログラムは、電子データの送信先をあらわす宛先データを管理する宛先管理テーブルを参照し、利用者が前記電子データの送信をおこなう際に、前記利用者に対する前記宛先データの提供に用いるアドレス帳管理プログラムであって、各送信方式に対応した形式の宛先データを管理する前記宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、前記アドレス帳手段から前記宛先を取得して該宛先の一覧を前記利用者に提供し、該利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段としてコンピュータを機能させることを特徴とする。
【００１２】
また、請求項２の発明にかかるアドレス帳管理プログラムは、請求項１の発明において、前記アドレス帳手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、前記選択シート手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えたことを特徴とする。
【００１３】
また、請求項３の発明にかかるアドレス帳管理プログラムは、請求項１または２の発明において、前記アドレス帳手段は、前記利用者からの送信要求を受け付ける前までに、前記送信方式ごとに生成され、前記選択シート手段は、前記利用者から受け付けた送信要求ごとに生成されることを特徴とする。
【００１４】
また、請求項４の発明にかかるアドレス帳管理プログラムは、請求項３の発明において、前記選択シート手段は、選択することができる宛先の最大数を保持し、該最大数以下の範囲内で前記利用者による宛先の選択および選択解除を受付け、該利用者による宛先確定指示を受け付けたならば、前記宛先のリストを作成して他のサブシステムに提供することを特徴とする。
【００１５】
また、請求項５の発明にかかるアドレス帳管理プログラムは、請求項３または４の発明において、前記選択シート手段は、前記利用者による宛先の選択を受け付けたならば、選択された宛先に対応する宛先手段を生成して該宛先手段へのリンク情報を保持し、該利用者による宛先の選択解除を受け付けたならば、該当する宛先手段およびリンク情報を削除することを特徴とする。
【００１６】
また、請求項６の発明にかかるアドレス帳管理プログラムは、請求項３、４または５の発明において、前記選択シート手段は、前記宛先確定指示を受け付けたならば、前記電子データの送信を管理する送付状手段を生成し、保持している前記リンク情報を該送付状手段に渡すことを特徴とする。
【００１７】
また、請求項７の発明にかかるアドレス帳管理プログラムは、請求項３〜６の発明において、前記選択シート手段は、前記アドレス帳手段から取得した宛先を選択候補として保持し、該選択候補の一覧を前記利用者に対して提供する既存宛先選択シート手段であることを特徴とする。
【００１８】
また、請求項８の発明にかかるアドレス帳管理プログラムは、請求項３〜６の発明において、前記選択シート手段は、新たに入力された宛先の書式を検査し、正当な書式であれば該宛先を選択候補として保持し、該選択候補の一覧を前記利用者に提供する追加宛先選択シート手段であることを特徴とする。
【００１９】
また、請求項９の発明にかかるアドレス帳管理プログラムは、請求項３〜６の発明において、前記選択シート手段は、前記既存宛先選択シート手段および前記追加宛先選択シート手段であることを特徴とする。
【００２０】
また、請求項１０の発明にかかるアドレス帳管理プログラムは、請求項３〜９の発明において、前記アドレス帳手段を木構造の子として管理し、前記利用者が指定した送信方式に対応するアドレス帳手段を該利用者に対して提供する書棚手段をさらに備え、前記書棚手段は、前記宛先データの更新処理中は、前記アドレス帳手段の参照を許可しないことを特徴とする。
【００２１】
また、請求項１１の発明にかかるアドレス帳管理プログラムは、請求項１０の発明において、前記書棚手段は、前記宛先データの更新処理を開始する際に、前記アドレス帳手段に対し、該アドレス帳手段と関連する選択シート手段および宛先手段の削除を指示することを特徴とする。
【００２２】
また、請求項１２の発明にかかるアドレス帳管理プログラムは、請求項１１の発明において、前記書棚手段は、前記アドレス帳手段の参照が可能か否かの状態を保持し、前記宛先データの更新要求を受け付けたならば、該状態を参照不可に設定することにより前記アドレス帳手段の参照を許可せず、更新内容を反映したアドレス帳手段の生成と、更新要求を受け付けた際に存在するアドレス帳手段、選択シート手段および宛先手段の削除とが完了したならば、該状態を参照可能に設定することにより更新内容を反映したアドレス帳手段の参照を許可することを特徴とする。
【００２３】
また、請求項１３の発明にかかるアドレス帳管理プログラムは、請求項６〜１２の発明において、前記送付状手段は、前記他のサブシステムから送信完了通知を受信したならば、該送付状手段と関連する選択シート手段と、該選択シート手段と関連する宛先手段とを削除するよう指示することを特徴とする。
【００２４】
また、請求項１４の発明にかかる画像形成装置は、電子データの送信先をあらわす宛先データを管理する宛先管理テーブルを参照し、利用者が前記電子データの送信をおこなう際に、前記利用者に対し前記宛先データを提供する画像形成装置であって、各送信方式に対応した形式の宛先データを管理する前記宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、前記アドレス帳手段から宛先を取得して該宛先の一覧を前記利用者に提供し、該利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段とを備えたことを特徴とする。
【００２５】
また、請求項１５の発明にかかる画像形成装置は、請求項１４の発明において、前記アドレス帳手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、前記宛先手段は、前記宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えたことを特徴とする。
【００２６】
また、請求項１６の発明にかかる画像形成装置は、請求項１４または１５の発明において、前記アドレス帳手段は、前記利用者からの送信要求を受け付ける前までに、前記送信方式ごとに生成され、前記選択シート手段は、前記利用者から受け付けた送信要求ごとに生成されることを特徴とする。
【発明の効果】
【００２７】
請求項１にかかるアドレス帳管理プログラムによれば、各送信方式に対応した形式の宛先データを管理する宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、アドレス帳手段から宛先を取得して宛先の一覧を利用者に提供し、利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段としてコンピュータを機能させるよう構成したので、宛先の管理処理と、宛先の選択処理とを分離することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、アドレス帳の管理処理を効率よく実現することができるという効果を奏する。
【００２８】
また、請求項２にかかるアドレス帳管理プログラムによれば、アドレス帳手段は、宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、選択シート手段は、宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えるよう構成したので、信頼性の高い宛先データの管理処理をおこなうことができるという効果を奏する。
【００２９】
また、請求項３にかかるアドレス帳管理プログラムによれば、アドレス帳手段は、利用者からの送信要求を受け付ける前までに、送信方式ごとに生成され、選択シート手段は、利用者から受け付けた送信要求ごとに生成されるよう構成したので、送信方式に応じた宛先の提供をおこなうことができるとともに、複数の利用者による送信処理を並行しておこなう場合であっても、信頼性の高い宛先選択処理を提供することができ、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるという効果を奏する。
【００３０】
また、請求項４にかかるアドレス帳管理プログラムによれば、選択シート手段は、選択することができる宛先の最大数を保持し、最大数以下の範囲内で利用者による宛先の選択および選択解除を受付け、利用者による宛先確定指示を受け付けたならば、宛先のリストを作成して他のサブシステムに提供するよう構成したので、効率的な宛先選択処理を提供することができるとともに、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるという効果を奏する。
【００３１】
また、請求項５にかかるアドレス帳管理プログラムによれば、選択シート手段は、利用者による宛先の選択を受け付けたならば、選択された宛先に対応する宛先手段を生成して宛先手段へのリンク情報を保持し、利用者による宛先の選択解除を受け付けたならば、該当する宛先手段およびリンク情報を削除するよう構成したので、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるという効果を奏する。
【００３２】
また、請求項６にかかるアドレス帳管理プログラムによれば、選択シート手段は、宛先確定指示を受け付けたならば、電子データの送信を管理する送付状手段を生成し、保持しているリンク情報を送付状手段に渡すよう構成したので、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるという効果を奏する。
【００３３】
また、請求項７にかかるアドレス帳管理プログラムによれば、選択シート手段は、アドレス帳手段から取得した宛先を選択候補として保持し、選択候補の一覧を利用者に対して提供する既存宛先選択シート手段であるよう構成したので、アドレス帳に登録されている宛先の選択処理を効率よくおこなうことができるという効果を奏する。
【００３４】
また、請求項８にかかるアドレス帳管理プログラムによれば、選択シート手段は、新たに入力された宛先の書式を検査し、正当な書式であればかかる宛先を選択候補として保持し、選択候補の一覧を利用者に提供する追加宛先選択シート手段であるよう構成したので、アドレス帳に登録されていない宛先の選択処理を効率よくおこなうことができるという効果を奏する。
【００３５】
また、請求項９にかかるアドレス帳管理プログラムによれば、選択シート手段は、既存宛先選択シート手段および追加宛先選択シート手段であるよう構成したので、アドレス帳に登録されている宛先および登録されていない宛先の選択処理を効率よくおこなうことができるという効果を奏する。
【００３６】
また、請求項１０にかかるアドレス帳管理プログラムによれば、アドレス帳手段を木構造の子として管理し、利用者が指定した送信方式に対応するアドレス帳手段を利用者に対して提供する書棚手段をさらに備え、書棚手段は、宛先データの更新処理中は、アドレス帳手段の参照を許可しないよう構成したので、利用者の送信要求の種別に応じたアドレス帳を提供することができるとともに、信頼性の高い宛先データの更新処理を提供することができるという効果を奏する。
【００３７】
また、請求項１１にかかるアドレス帳管理プログラムによれば、書棚手段は、宛先データの更新処理を開始する際に、アドレス帳手段に対し、かかるアドレス帳手段と関連する選択シート手段および宛先手段の削除を指示するよう構成したので、宛先データの更新処理中に、新旧の宛先データが混在するなどの不整合状態の発生を効果的に防止することができるという効果を奏する。
【００３８】
また、請求項１２にかかるアドレス帳管理プログラムによれば、書棚手段は、アドレス帳手段の参照が可能か否かの状態を保持し、宛先データの更新要求を受け付けたならば、かかる状態を参照不可に設定することによりアドレス帳手段の参照を許可せず、更新内容を反映したアドレス帳手段の生成と、更新要求を受け付けた際に存在するアドレス帳手段、選択シート手段および宛先手段の削除とが完了したならば、かかる状態を参照可能に設定することにより更新内容を反映したアドレス帳手段の参照を許可するよう構成したので、宛先データの更新処理中に、新旧の宛先データが混在するなどの不整合状態の発生を効果的に防止することができるという効果を奏する。
【００３９】
また、請求項１３にかかるアドレス帳管理プログラムによれば、送付状手段は、他のサブシステムから送信完了通知を受信したならば、かかる送付状手段と関連する選択シート手段と、かかる選択シート手段と関連する宛先手段とを削除する指示をおこなうよう構成したので、送信完了後に不要な手段が残存することを効果的に防止することができるという効果を奏する。
【００４０】
請求項１４にかかる画像形成装置によれば、各送信方式に対応した形式の宛先データを管理する宛先管理テーブルから、所定の送信方式に対応した形式の宛先データを抽出し、宛先として保持するアドレス帳手段と、アドレス帳手段から宛先を取得してかかる宛先の一覧を利用者に提供し、利用者により選択された宛先のリストを作成して他のサブシステムに提供する選択シート手段とを備えるよう構成したので、宛先の管理処理と、宛先の選択処理とを分離することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、アドレス帳の管理処理を効率よく実現することができるという効果を奏する。
【００４１】
また、請求項１５にかかる画像形成装置によれば、アドレス帳手段は、宛先管理テーブルが管理する宛先データが更新されたならば更新後の宛先データの再抽出をおこなう再抽出手段をさらに備え、宛先手段は、宛先管理テーブルが管理する宛先データが更新されたならば保持している宛先を削除する宛先削除手段をさらに備えるよう構成したので、信頼性の高い宛先データの管理処理をおこなうことができるという効果を奏する。
【００４２】
また、請求項１６にかかる画像形成装置によれば、アドレス帳手段は、利用者からの送信要求を受け付ける前までに、送信方式ごとに生成され、選択シート手段は、利用者から受け付けた送信要求ごとに生成されるよう構成したので、送信方式に応じた宛先の提供をおこなうことができるとともに、複数の利用者による送信処理を並行しておこなう場合であっても、信頼性の高い宛先選択処理を提供することができ、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００４３】
以下に添付図面を参照して、この発明にかかるアドレス帳管理プログラム、およびこのプログラムを実行させるためのコンピュータを含んだ画像形成装置の最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、アドレス帳管理をおこなう各種装置に適用することができる。
【００４４】
まず、本実施の形態に係る画像形成装置（以下「複合機」と言う）１の概要について図１、図２、図３、図１３および図１４を用いて説明する。図１は、本実施の形態に係る複合機１を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した複合機１のハードウェア構成を示すブロック図であり、図３は、図１に示した複合機１のソフトウェアとハードウェアの関係を説明するための説明図である。また、図１３は、複合機１に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図１４は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【００４５】
図１に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ（ＰＣ）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することが通常となった。たとえば、同図に示したように、かかるネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００４６】
このようなネットワーク化の進展に伴い、複合機１もかかるネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００４７】
たとえば、複合機１は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。
【００４８】
こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機１に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。
【００４９】
図２は、かかる複合機１のハードウェア構成を示すブロック図である。同図に示すように、この複合機１は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機１全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００５０】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)１２ｂとをさらに有する。
【００５１】
ＣＰＵ１１は、複合機１の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００５２】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００５３】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００５４】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００５５】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００５６】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００５７】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００５８】
図３は、かかる複合機１のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分であるアドレス帳管理部１１２ａを含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア２００の階層関係を示している。同図に示すように、ハードウェア２００は、ハードウェアリソース２０１を有し、このハードウェアリソース２０１は、スキャナ２０１ａ、プロッタ２０１ｂ、ＨＤＤ（Hard Disk Drive）２０１ｃ、ネットワーク２０１ｄおよびその他のリソース２０１ｅを有する。なお、その他のリソース２０１ｅは、２０１ａ〜２０１ｄ以外のハードウェアリソース２０１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００５９】
また、かかるハードウェア２００に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０３が構築されている。そして、サービス層１０２は、各ハードウェアリソース（２０１ａ〜２０１ｅ）を制御するドライバーに相当する、スキャナ制御１０２部ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００６０】
ここで、図３に示したソフトウェア１００が、かかる階層構造をとるに至った経緯について、図１３および図１４を用いて説明する。図１３は、複合機１に搭載されるソフトウェア構成の変遷を示す説明図である。図１３のサービス層分離前アプリケーション５０１に示すように、多機能化した複合機１に搭載されるソフトウェアは、コピーアプリケーション、ＦＡＸアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図３に示したオペレーティングシステム１０３上で動作していた。
【００６１】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー（サービス層１０２）を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【００６２】
そこで、図１３のサービス層分離後アプリケーション５０２に示すように、サービス層分離前アプリケーション５０１のサービス層１０２相当部分を括りだしサービス層１０２とするとともに、各アプリケーションは、このサービス層１０２の上層であるアプリケーション層１０１に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。
【００６３】
しかしながら、複合機１のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層１０１の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部１０２ａや蓄積制御部１０２ｃといったドライバーと通信をおこなう処理や、各種機能が送信処理をおこなう際に利用される宛先データを、アドレス帳として管理するアドレス帳管理などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【００６４】
この問題を解決するため、図１３の共通ルーチン分離アプリケーション５０３に示すように、かかる同様な処理（共通処理部分）を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【００６５】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【００６６】
そこで、図１３のオブジェクト指向アプリケーション５０４に示すように、オブジェクト指向による設計手法（オブジェクトモデリング）により、かかる複数のアプリケーションを、統合アプリケーション１１０に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション１１０を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【００６７】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【００６８】
図１４は、図１３に示したサービス層分離後アプリケーション５０２の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層１０２の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層１０１は、コピーアプリケーション１２０、スキャナアプリケーション１３０、ファックスアプリケーション１４０およびプリンタアプリケーション１５０を有する。
【００６９】
たとえば、コピーアプリケーション１２０は、コピー機能を実現するために、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃおよびその他の制御部１０２ｇとデータの送受信をおこなう。また、ファックスアプリケーション１４０は、ファックス機能を実現するために、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇとデータの送受信をおこなう。このように、アプリケーション層１０１の各アプリケーションとサービス層１０２の各ドライバー間の通信は、複雑なものとなっていた。
【００７０】
図３の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層１０１に存在した複数のアプリケーションは、統合アプリケーション１１０に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション１１０を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層１０１のアプリケーションと、サービス層１０２の各ドライバー間の通信は、図１４と比較して単純になっている。
【００７１】
次に、統合アプリケーション１１０の内部構成について説明する。図４は、統合アプリケーション１１０の内部構成を示すブロック図である。同図に示すように、統合アプリケーション１１０は、操作系サブシステム１１１と、管理系サブシステム１１２と、実行系サブシステム１１３とを有する。
【００７２】
操作系サブシステム１１１は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム１１１は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。
【００７３】
管理系サブシステム１１２は、画像形成装置１の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム１１２は、ハードウェアリソース２０１およびこのハードウェアリソース２０１が保持するデータ状態を管理するサービスをおこなう。
【００７４】
実行系サブシステム１１３は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム１１３は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。
【００７５】
操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション１１０全体として複合機１に必要とされるサービスの提供をおこなう。
【００７６】
そして、管理系サブシステム１１２は、本実施の形態の特徴部分であるアドレス帳管理部１１２ａをさらに有する。このアドレス帳管理部１１２ａは、ＦＡＸ送信や電子メール送信といった送信処理をおこなう際の宛先を管理する処理部である。
【００７７】
図５は、図４に示した各サブシステムを、ＵＭＬ（Unified Modeling Language）のクラス図（ＵＭＬクラス図）に置き換えた図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【００７８】
図５に示すように、統合アプリケーション１１０は複数のパッケージを有し、また、この統合アプリケーション１１０自体もひとつのパッケージとなっている。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、左上にタブのついたフォルダの形をしたシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【００７９】
図５に示したように、統合アプリケーション１１０は、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３の３つのパッケージを内部に有するパッケージである。さらに、管理系サブシステム１１２は、本実施の形態の特徴部分であるアドレス帳管理部１１２ａを内部に有するパッケージである。そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３を相互に結ぶ直線は、各パッケージ間に処理依頼（たとえば、メッセージ送受信）などの関連があることを示している。なお、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００８０】
次に、本実施の形態の特徴部分であるアドレス帳管理部１１２ａについて詳細に説明する。なお、このアドレス帳管理部１１２ａは、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。かかるオブジェクトモデルの構成について図６〜図９を用いて説明しておく。
【００８１】
図６は、複合機１の操作パネル４００の一例を示した図である。同図に示すように、かかる操作パネル４００は、初期設定キー４０１、コピーキー４０２、コピーサーバーキー４０３、プリンタキー４０４、送信キー４０５、テンキー４０６、クリア／ストップキー４０７、スタートキー４０８、予熱キー４０９、リセットキー４１０および液晶タッチパネル４２０を有する。
【００８２】
たとえば、利用者が、複合機１に紙原稿をセットして送信キー４０５を押下したならば、液晶タッチパネル４２０には送信先（宛先）の設定画面が表示される。利用者は、この設定画面を操作して宛先一覧から宛先を選択したり、新規の宛先を直接入力したりすることにより宛先を決定する。そして、スタートキー４０８を押下すると、複合機１は紙原稿を読み取って電子データを生成し、かかる電子データを送信する。この場合、宛先としてＦＡＸ番号が選択されていればＦＡＸ送信をおこない、電子メールアドレスが選択されていれば電子メール送信をおこなうことが可能である。
【００８３】
図７は、従来のアドレス帳管理の処理概要を説明するための説明図である。同図に示すように、宛先データは、会社名や個人名をキーとしたデータであり、各宛先データには、ＦＡＸ番号、電子メールアドレス、ＨＴＴＰ（Hyper Text Transfer Protocol）アドレスなどが含まれる。そして、これらの宛先データをまとめたものをアドレス帳と呼ぶこととする。なお、このアドレス帳は、ＨＤＤ１８やＭＥＭ−Ｐ１２にあらかじめ保持することとしてもよいし、ネットワークで接続されたサーバＰＣなどから取得してＨＤＤ１８やＭＥＭ−Ｐ１２に保持することとしてもよい。
【００８４】
かかるアドレス帳は、ＦＡＸ送信用や電子メール送信用といった所定の形式に編集されたビューを有する。たとえば、ＦＡＸ送信用ビューは、アドレス帳の各宛先データから会社名とＦＡＸ番号とを抽出したものであり、電子メール送信用ビューは、会社名と電子メールアドレスとを抽出したものである。このように、アドレス帳は、ＦＡＸ送信用や電子メール送信用といった複数のビューを有するので、アドレス帳の更新をおこなう際には、各ビュー間で新旧の宛先が混在するといった不整合が生じないように、各ビューの一貫性を確保する必要がある。
【００８５】
図８は、従来のアドレス帳管理の課題について説明するための説明図である。同図に示すように、アドレス帳の宛先を更新する改修作業をおこなう場合には、ＦＡＸ送信用ビューなどのすべてのビューに、アドレス帳の更新を反映させる必要がある。特に、多機能化した複合機１では提供する送信機能も多岐にわたるため多くのビューを有する必要がある。したがって、アドレス帳管理部のオブジェクトモデリングをおこなう際には、すべてのビューに対する一括更新をおこないやすいクラス構成とする必要がある。なお、かかるアドレス帳の更新作業は、宛先データを更新する作業であるためプログラムの改修をおこなう必要はない。
【００８６】
また、複合機１のネットワーク化および多機能化にともない、複合機１上では複数の送信処理が同時におこなわれることが多い。たとえば、ネットワークを経由した複数の利用者がそれぞれ送信処理をおこなう場合には、送信処理が完了するまで、各利用者が選択した宛先を個別に管理する必要がある。また、複合機１のさらなる多機能化にともない、宛先の選択方式の追加が予想されるので、選択方式の追加にともなう改修規模を抑えることができるよう、アドレス帳管理部のオブジェクトモデリングをおこなう必要がある。
【００８７】
図９は、本実施の形態の特徴部分であるアドレス帳管理部１１２ａの構成概要を説明するための説明図である。同図に示すように、かかるアドレス帳管理部１１２ａは、宛先データの更新と提供を担当する宛先管理部分と、宛先データの選択を担当する選択管理部分とを分離した構成とすることとした。このような構成とすることにより、設計の複雑さを軽減しつつ、宛先データの更新作業および選択方式の追加などの改修作業がおこないやすいアドレス帳管理の仕組みの提供が可能となることが予想される。
【００８８】
図１０は、上述したオブジェクトモデリングにより設計した、アドレス帳管理部１１２ａのクラス構成を示すＵＭＬクラス図である。同図に示すように、アドレス帳管理部１１２ａは、複数のアドレス帳を管理して各アドレス帳間の一貫性を保つ書棚クラス３１０、アドレス帳に登録された宛先の読み書きを管理するアドレス帳クラス３２０、アドレス帳からの宛先選択を管理して選択された宛先を保持する選択シートクラス３３０、個々の宛先に対応する宛先クラス３４０および選択された宛先に対する送信処理を担当する送付状クラス３５０を有する。
【００８９】
また、アドレス帳管理部１１２ａは、選択シートクラス３３０のサブクラスとして、アドレス帳を用いた宛先選択に特化した既存宛先選択シートクラス３３１および新規に入力した宛先選択に特化した追加宛先選択シートクラス３３２をさらに有する。なお、本実施の形態においては、選択シートクラス３３０をサブクラス化して、これらの２つのクラスを有することとしたが、あらたな選択方式を追加する場合には、同様に、選択シートクラス３３０をサブクラス化することにより、あらたな選択方式に対応したアドレス帳管理部１１２ａを提供することができる。
【００９０】
次に、クラスとＵＭＬクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理を定義するとともに、継承関係や集約関係といった、他のクラスとの関係を定義するものである。
【００９１】
ＵＭＬクラス図におけるクラスは、３段の区画を有する矩形として記述される。それぞれの区画は、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、書棚クラス３１０を示す矩形の名前区画は、かかるクラスのクラス名が「書棚」であることを示し、属性区画は、かかるクラスが有する属性が、「状態」であることを示し、操作区画は、かかるクラスが有する操作が、「取出す（）」および「差替える（）」であることを示している。
【００９２】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００９３】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「記入する（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００９４】
次に、本実施の形態の特徴部分であるアドレス帳管理部１１２ａのクラスの概要について説明する。上述したように、アドレス帳管理部１１２ａは、書棚クラス３１０、アドレス帳クラス３２０、選択シートクラス３３０、既存宛先選択シートクラス３３１、追加宛先選択シートクラス３３２、宛先クラス３４０および送付状クラス３５０を有する。以下では、まず、これらのクラスの概要について説明する。
【００９５】
書棚クラス３１０は、複数のアドレス帳を管理して各アドレス帳間の一貫性を保つクラスであり、複数のアドレス帳オブジェクト３２０Ａの中からキーアドレス帳を指定するとともに、宛先データの一括更新（アドレス帳の差替え）要求を受け付けたならば、すべてのアドレス帳オブジェクト３２０Ａに、かかる宛先データの更新を反映させる処理をおこなう。具体的には、この書棚クラス３１０は、属性として状態３１０ａを有し、操作として取出す（）３１０ｂおよび差替える（）３１０ｃを有する。なお、かかる書棚クラス３１０を実体化した書棚オブジェクト３１０Ａが生成されると、状態３１０ａはＲＡＭ１２ｂ上に展開されるので、このデータ(属性)の書き込みおよび読出しをおこなうことが可能となる。
【００９６】
状態３１０ａは、現在の書棚の公開状態を保持する。この公開状態には、「公開中」および「非公開中」の２つの状態があり、「公開中」とは、書棚クラス３１０が管理するアドレス帳の取出しが可能な状態をあらわす。ここで、アドレス帳の取出しとは、書棚クラス３１０が管理するアドレス帳オブジェクト３２０Ａが保持する宛先データを参照することをいう。一方、「非公開中」とは、アドレス帳が差替え中であり、アドレス帳の取出しができない状態をあらわす。
【００９７】
取出す（）３１０ｂは、複数のアドレス帳オブジェクト３２０Ａの中から、指定された送信種別に応じた種類のものを探し、要求元に返す処理をおこなう。たとえば、指定された送信種別が「電子メール送信」であれば、電子メールアドレスの一覧を保持するアドレス帳オブジェクト３２０Ａを返す。なお、アドレス帳オブジェクト３２０Ａを返すのは、状態３１０ａが保持する状態が「公開中」である場合のみである。
【００９８】
また、差替える（）３１０ｃは、管理対象であるすべてのアドレス帳オブジェクト３２０Ａが保持する宛先データの差替え（一括更新）処理をおこなう。なお、差替える（）３１０ｃは、呼び出された際に、状態３１０ａが保持する状態を「非公開中」に変更し、差替え処理が完了した時点で、かかる状態を「公開中」に変更する。
【００９９】
アドレス帳クラス３２０は、各送信種別に対応したアドレス帳のビューを保持し、保持する宛先データの読み書きを管理するクラスである。具体的には、このアドレス帳クラス３２０は、属性として、可能操作３２０ａおよび使用状態３２０ｂを有し、操作として、閲覧する（）３２０ｃ、改訂する（）３２０ｄおよび作成する（）３２０ｅを有する。なお、かかるアドレス帳クラス３２０を実体化したアドレス帳オブジェクト３２０Ａが生成されると、可能操作３２０ａおよび使用状態３２０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをおこなうことが可能となる。
【０１００】
可能操作３２０ａは、アドレス帳クラス３２０が保持する宛先データに対しておこなうことができる操作の種別を保持する。この種別には、「閲覧・改訂が可能」と「閲覧のみ可能」の２つがある。すなわち、この可能操作３２０ａが保持する種別が「閲覧・改訂が可能」であれば、閲覧する（）３２０ｃおよび改訂する（）３２０ｄの実行が可能であり、「閲覧のみ可能」であれば、閲覧する（）３２０ｃの実行は可能であるが、改訂する（）３２０ｄの実行要求は受け付けない。
【０１０１】
使用状態３２０ｂは、アドレス帳クラス３２０の使用状態を保持する属性である。この使用状態には、アドレス帳クラス３２０が保持する宛先データが他のオブジェクトから使用されていない状態をあらわす「未使用中」と、かかる宛先データが閲覧中であることをあらわす「閲覧中」と、宛先データの差替えのため宛先データが使用不可能であることをあらわす「使用不可能」とがある。なお、宛先データの差替えとは別の操作として、アドレス帳クラス３２０の編集をおこなう、「編集する（）」を有する構成とする場合には、宛先データが編集中であることをあらわす「編集中」状態を有することとしてもよい。
【０１０２】
閲覧する（）３２０ｃは、操作系サブシステム１１１から呼び出され、アドレス帳クラス３２０が保持する宛先データの閲覧処理をおこなう。なお、この閲覧する（）３２０ｃの呼び出しごとに、各呼び出しに対応した選択シートオブジェクト３３０Ａが生成され、この選択シートオブジェクト３３０Ａは、生成元であるアドレス帳オブジェクト３２０Ａとの関連（リンク情報）を保持することにより、アドレス帳オブジェクト３２０Ａが保持する宛先データを参照する。また、この閲覧する（）３２０ｃは、呼び出された際に、使用状態３２０ａが保持する状態を「閲覧中」に変更し、閲覧処理が完了した時点で、かかる状態を「未使用中」に変更する。
【０１０３】
改訂する（）３２０ｄは、操作系サブシステム１１１から呼び出され、アドレス帳クラス３２０が保持する宛先データの一括更新（差替え）処理をおこなう。なお、この改訂する（）３２０ｄは、呼び出された際に、使用状態３２０ａが保持する状態を「使用不可能」に変更し、差替え処理が完了した時点で、かかる状態を「未使用中」に変更する。また、作成する（）３２０ｅは、各送信種別に対応したアドレス帳のビューを作成する処理をおこなう。
【０１０４】
選択シートクラス３３０は、アドレス帳からの宛先選択を管理して選択された宛先を保持する処理をおこなうクラスである。この選択シートクラス３３０は、既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２の上位クラス（スーパークラス）であり、選択シートクラス３３０の属性および操作は、下位クラス（サブクラス）である既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２に継承される。なお、既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２の機能を選択シートクラス３３０が有する構成とすることもできる。
【０１０５】
最大宛先数３３０ａは、選択できる宛先の最大数を保持する。この最大数は、ハードウェアまたはソフトウェアの制限により所定の値が設定される。なお、この最大数を上回る数の宛先が選択された場合には、たとえば、操作系サブシステム１１１にエラー通知をおこなうなどして利用者にその旨を通知する。
【０１０６】
選択状態３３０ｂは、選択シートの選択状態を保持する。この選択状態には、宛先データの選択または選択解除をおこなっており未だ選択を確定していない「選択中」状態と、選択を確定した「確定中」状態と、宛先データの保持が不要となった「破棄中」状態とがある。
【０１０７】
選択する（）３３０ｃは、対応するアドレス帳オブジェクト３２０Ａから宛先データを選択する処理をおこなう。具体的には、指定された宛先データの正当性を確認したうえで、かかる宛先データが正当であり選択可能と判定された場合には、宛先データに対応する宛先オブジェクト３４０Ａを生成し、このオブジェクトとの関連（リンク情報）を保持する。なお、この選択する（）３３０ｃは、サブクラスである既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２に継承され、各サブクラスにおける具体的な処理によりオーバーライド（override）される。なお、かかる具体的な処理の説明については、後述する既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２のクラス説明においておこなう。
【０１０８】
選択解除する（）３３０ｄは、選択する（）３３０ｃにより選択された宛先データの選択解除処理をおこなう。具体的には、選択する（）３３０ｃにより生成された宛先オブジェクト３４０Ａを消滅させるとともに、保持していた関連（リンク情報）を消去する処理をおこなう。
【０１０９】
確定する（）３３０ｅは、選択する（）３３０ｃにより選択された宛先を確定する処理をおこなう。この確定する（）３３０ｅが呼び出された後に、選択解除をおこなったり、さらに選択をおこなったりすることはできない。また、確定する（）３３０ｅは、送付状オブジェクト３５０Ａを生成し、保持していた宛先オブジェクト３４０Ａとの関連（リンク情報）をかかる送付状オブジェクト３５０Ａに引き継ぐことで、選択された宛先を送付状オブジェクト３５０Ａに渡す処理をおこなう。
【０１１０】
破棄する（）３３０ｆは、選択された宛先の保持が不要になった場合に呼び出され、選択する（）３３０ｃにより生成された宛先オブジェクト３４０Ａを消滅させるとともに、保持していた関連（リンク情報）を消去する処理をおこなう。
【０１１１】
既存宛先選択シートクラス３３１は、選択シートクラス３３０のサブクラスであり、アドレス帳からの宛先選択に特化した処理をおこなうクラスである。具体的には、この既存宛先選択シートクラス３３１は、選択シートクラス３３０のすべての属性（最大宛先数３３０ａおよび選択状態３３０ｂ）およびすべての操作（選択する（）３３０ｃ、選択解除する（）３３０ｄ、確定する（）３３０ｅおよび破棄する（）３３０ｆ）を継承する。そして、継承した選択する（）３３０ｃを既存宛先選択シートクラス３３１の選択する（）３３１ａでオーバーライドする。ここでは、この選択する（）３３１ａの説明をおこない、その他の属性および操作についての説明は省略することとする。
【０１１２】
なお、かかる既存宛先選択シートクラス３３１を実体化した既存宛先選択シートオブジェクト３３１Ａが生成されると、継承した最大宛先数３３０ａおよび選択状態３３０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをおこなうことが可能となる。
【０１１３】
選択する（）３３１ａは、対応するアドレス帳オブジェクト３２０Ａから宛先データを選択する処理をおこなう。具体的には、かかる宛先選択は、各宛先の識別子を選択することによりなされる。そして、選択した識別子に対応する宛先オブジェクト３４０Ａを生成し、このオブジェクトとの関連(リンク情報)を保持する。
【０１１４】
追加宛先選択シートクラス３３２は、選択シートクラス３３０のサブクラスであり、新規に入力した宛先選択に特化した処理をおこなうクラスである。具体的には、この既存宛先選択シートクラス３３１は、新規に入力された宛先の書式を検査し、書式が正当なものであれば、かかる宛先を選択候補として保持するとともに、利用者からの要求により選択候補の一覧を提供する。
【０１１５】
また、既存宛先選択シートクラス３３１は、選択シートクラス３３０のすべての属性（最大宛先数３３０ａおよび選択状態３３０ｂ）およびすべての操作（選択する（）３３０ｃ、選択解除する（）３３０ｄ、確定する（）３３０ｅおよび破棄する（）３３０ｆ）を継承する。そして、継承した選択する（）３３０ｃを追加宛先選択シートクラス３３２の選択する（）３３２ａでオーバーライドする。ここでは、この選択する（）３３２ａの説明をおこない、その他の属性および操作についての説明は省略することとする。
【０１１６】
なお、かかる既存宛先選択シートクラス３３２を実体化した既存宛先選択シートオブジェクト３３２Ａが生成されると、継承した最大宛先数３３０ａおよび選択状態３３０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをおこなうことが可能となる。
【０１１７】
選択する（）３３２ａは、直接入力された宛先情報を選択する処理をおこなう。なお、この選択する（）３３２ａは、直接入力された宛先情報に対応する宛先オブジェクト３４０Ａを生成し、このオブジェクトとの関連（リンク情報）を保持する。
【０１１８】
宛先クラス３４０は、個々の宛先に対応する宛先情報を保持するクラスである。具体的には、この宛先クラス３４０は、属性として識別子３４０ａおよび送信情報３４０ｂを有する。なお、かかる宛先クラス３４０を実体化した宛先オブジェクト３４０Ａが生成されると、識別子３４０ａおよび送信情報３４０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをおこなうことが可能となる。
【０１１９】
識別子３４０ａは、各宛先に一意に割り振られる識別子を保持する。また、送信情報３４０ｂは、各宛先への送信処理において用いられるＦＡＸ番号や電子メールアドレスといった送信アドレスを保持する。なお、識別子３４０ａおよび送信情報３４０ｂは、既存宛先選択シートクラス３３１の選択する（）３３１ａまたは追加宛先選択シートクラス３３１の選択する（）３３２ａにより値の書き込みがおこなわれ、これらの値は送付状クラス３５０において読み取られる。
【０１２０】
送付状クラス３５０は、選択された宛先に対する送信処理をおこなうクラスである。具体的には、この送付状クラス３５０は、属性として、送付状態３５０ａを有し、操作として、作成する（）３５０ｂおよび破棄する（）３５０ｃを有する。なお、かかる送付状クラス３５０を実体化した送付状オブジェクト３５０Ａが生成されると、送付状態３５０ａはＲＡＭ１２ｂ上に展開されるので、このデータ（属性）の書き込みおよび読み出しをおこなうことが可能となる。
【０１２１】
送付状態３５０ａは、送信処理の状態を保持する。この状態には、送付状に登録された宛先に対する送付処理中であることをあらわす「送付中」状態と、送付状に登録された宛先に対する送付処理が完了したことをあらわす「送付終了」状態とがある。また、作成する（）３５０ｂは、送付状に宛先を登録する処理をおこない、破棄する（）３５０ｃは、送付処理が完了した際に実行系サブシステム１１３から呼び出され、選択シートクラス３３０の破棄する（）３３０ｆを呼び出す処理をおこなう。
【０１２２】
次に、図１０に示した各クラス間の関係について説明する。同図に示したように、ＵＭＬクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。この直線の両端付近の文字はクラスのロールを表し、数字はクラスの多重度を表す。ここで、ロールとは、直線で結ばれた他方のクラスに対する当該クラスの役割のことであり、多重度とは、直線で結ばれた他方のクラスのオブジェクトと関連付けられて生成されるオブジェクトの数のことである。
【０１２３】
たとえば、アドレス帳クラス３２０からみた選択シートクラス３３０の役割は「選択一覧」であり、選択シートクラス３３０からみたアドレス帳クラス３２０の役割は「選択リソース」である。また、アドレス帳クラス３２０の多重度は「１」であり、選択シートクラス３３０の多重度は「０．．ｎ」である。ここで、「０．．ｎ」は、かかる選択シートクラス３３０の多重度が、０からｎの範囲であることを示している。なお、かかる多重度の上限数はｎ個としているものの、当然に、ハードウェア仕様などによる制限を受ける。
【０１２４】
まず、書棚クラス３１０とアドレス帳クラス３２０とのクラス関係について説明する。書棚クラス３１０はアドレス帳クラス３２０を管理するとともに、管理対象となるアドレス帳クラス３２０の中からキーとなるアドレス帳クラス３２０を１つ選択する。したがって、書棚クラス３１０は、すべてのアドレス帳クラス３２０をまとめた「原本」であり、各アドレス帳クラス３２０は、「原本」の一部を抜き出した「抄本」であるという関係をなしている。また、キーとなるアドレス帳クラス３２０は、「キー抄本」の役割を有する。
【０１２５】
また、書棚オブジェクト３１０Ａは１個のみ生成され、キーとなるアドレス帳オブジェクト３２０Ａも１個生成される。ただし、宛先データが登録されていない場合には、アドレス帳オブジェクト３２０Ａは生成されないので、キーとなるアドレス帳オブジェクト３２０Ａは、０個以上１個以下の範囲で生成されることになる。また、キーとならないアドレス帳オブジェクトは、０個以上ｎ個以下の範囲で存在する。
【０１２６】
次に、アドレス帳クラス３２０と選択シートクラス３３０の関係について説明する。選択シートクラス３３０は、アドレス帳クラス３２０が保持する宛先データを取得し、取得した宛先データを選択候補とする選択一覧を生成する。したがって、アドレス帳クラス３２０と選択シートクラス３３０とは、「選択リソース」と「選択一覧」の関係をなしている。
【０１２７】
また、複数の利用者がおこなった送信要求が並列して処理される場合があるので、１個のアドレス帳オブジェクト３２０Ａに対して複数個の選択シートオブジェクト３３０Ａが存在する。また、処理中の選択要求がない場合には、選択シートオブジェクト３３０Ａは存在しない。したがって、選択シートオブジェクト３３０Ａは、１個のアドレス帳オブジェクト３２０Ａに対して、０個以上ｎ個以下の範囲で存在する。
【０１２８】
次に、選択シートクラス３３０と既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２とのクラス関係について説明する。選択シートクラス３３０は、既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２の上位クラス（スーパークラス）であり、既存宛先選択シートクラス３３１および追加宛先選択シートクラス３３２は、選択シートクラス３３０の属性および操作を継承する。
【０１２９】
次に、選択シートクラス３３０と宛先クラス３４０とのクラス関係について説明する。選択シートクラス３３０は、選択された宛先データに対応する宛先クラス３４０のオブジェクトを生成する。したがって、選択シートクラス３３０と宛先クラス３４０とは、「選択者」と「選択対象」の関係をなしている。また、１個の選択一覧から、０個以上ｎ個以下の宛先データが選択される場合があるので、宛先オブジェクト３４０Ａは、１個の選択シートオブジェクト３３０Ａに対し、０個以上ｎ個以下の範囲で存在する。
【０１３０】
次に、宛先クラス３４０と送付状クラス３５０とのクラス関係について説明する。送付状クラス３５０は、複数の宛先クラス３４０を宛先として保持することが可能であり、宛先クラス３４０が保持する送信先に対しデータ送信をおこなう。したがって、宛先クラス３４０と送付状クラス３５０とは、「送付先」と「送付者」の関係をなしている。また、送付状オブジェクト３５０Ａは、１個以上複数の宛先に対してデータ送信をおこなうので、宛先オブジェクト３４０Ａは、１個の送付状オブジェクト３５０Ａに対し、１個以上ｎ個以下の範囲で存在する。
【０１３１】
最後に、選択シートクラス３３０と送付状クラス３５０との関係について説明する。選択シートクラス３３０は、宛先データの選択処理が確定すると、選択した宛先データへのデータ送信を担当する送付状クラス３５０のオブジェクトを生成する。また、宛先データの選択処理が確定していない場合には、送信処理を担当する送付状オブジェクト３５０Ａは存在しない。したがって、送付状オブジェクト３５０Ａは、１個の選択シートオブジェクト３３０Ａに対し、０個以上１個以下の範囲で存在する。
【０１３２】
このように、書棚クラス３１０、アドレス帳クラス３２０、選択シートクラス３３０、既存宛先選択シートクラス３３１、追加宛先選択シートクラス３３２、宛先クラス３４０および送付状クラス３５０の各オブジェクトは、相互に関連しあい、協調して、アドレス帳管理部１１２ａに必要な機能を実現している。
【０１３３】
次に、図１０に示した各クラスの操作の実行手順について例をあげて説明する。図１１は、本実施の形態の特徴部分であるアドレス帳管理部１１２ａが送付指示を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１３４】
ここで、ＵＭＬシーケンス図について説明しておく。図１１の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間（活性期間）を示す。そして、各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれるの操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。
【０１３５】
図１１に示すように、利用者が複合機１の操作パネル４００を操作してＦＡＸ送信などの送付を指示すると、サービス利用者（操作系サブシステム１１１）は、希望する送信手段に対応したアドレス帳を取出すために、書棚オブジェクト３１０Ａの取出す（）３１０ｂを呼び出す（ステップＳ１０１）。つづいて、操作系サブシステム１１１は、取出す（）３１０ｂの呼び出しにより取得したアドレス帳オブジェクト３２０Ａに対し、閲覧する（）３２０ｃを呼び出す（ステップＳ１０２）。閲覧する（）３２０ｃを呼び出されたアドレス帳オブジェクト３２０Ａは、宛先の選択一覧を作成するために選択シートオブジェクト３３０Ａの生成()を呼び出す（ステップＳ１０３）。ここで、この生成（）は、すべてのオブジェクトが有する操作であり、この生成（）を呼び出すことにより各オブジェクトはＲＡＭ１２ｂ上に実体化される。
【０１３６】
つづいて、利用者が複合機１の操作パネル４００に表示された宛先一覧を操作して、宛先を選択したならば、操作系サブシステム１１１は、選択シートオブジェクト３３０Ａの選択する（）３３０ｃを呼び出す（ステップＳ１０４）。選択する（）３３０ｃを呼び出された選択シートオブジェクト３３０Ａは、選択された宛先に対応する宛先データの保持を担当する宛先オブジェクト３４０Ａを生成する（ステップＳ１０５）。
【０１３７】
また、利用者が選択の解除を指示したならば、操作系サブシステム１１１は、選択シートオブジェクト３３０Ａの選択解除する（）３３０ｄを呼び出す(ステップＳ１０６)。選択解除する（）３３０ｄを呼び出された選択シートオブジェクト３３０Ａは、選択が解除された宛先に対応する宛先データの保持を担当する宛先オブジェクト３４０Ａを削除する（ステップＳ１０７）。そして、利用者の操作に従って、ステップＳ２０６〜ステップＳ２０７を繰り返し、利用者が選択の確定を指示したならば、操作系サブシステム１１１は、選択シートオブジェクト３３０Ａの確定する（）３３０ｅを呼び出す(ステップＳ１０８)。
【０１３８】
つづいて、確定する（）３３０ｅを呼び出された選択シートオブジェクト３３０Ａは、選択された宛先に対して送付処理をおこなうために、送付状オブジェクト３５０Ａの作成する（）３５０ｂを呼び出す（ステップＳ１０９）。そして、作成する（）３５０ｂを呼び出された送付状オブジェクト３５０Ａは、選択された宛先に対する送信処理の実行を実行系サブシステム１１３に依頼する。
【０１３９】
そして、かかる送付処理が完了したならば、実行系サブシステム１１３は、送付状オブジェクト３５０Ａの破棄する（）３５０ｃを呼び出して（ステップＳ１１０）、不要となった選択シートオブジェクト３３０Ａ、宛先オブジェクト３４０Ａおよび送付状オブジェクト３５０Ａの削除を指示する。破棄する（）３５０ｂを呼び出された送付状オブジェクト３５０Ａは、選択シートオブジェクト３３０Ａの破棄する（）３３０ｆを呼び出したうえで（ステップＳ１１１）、自らも消滅する。破棄する（）３３０ｆを呼び出された選択シートオブジェクト３３０Ａは、関連する宛先オブジェクト３４０Ａを削除したうえで（ステップＳ１１２）、自らも消滅する。
【０１４０】
このように、利用者が希望する送信手段に対応した複数のアドレス帳オブジェクト３２０Ａを用いることとしたので、送信手段が追加された場合であっても改修が容易なアドレス帳管理の仕組みを提供することができる。また、利用者の送信指示ごとに選択シートオブジェクト３３０Ａを生成して、宛先データの選択を担当させるようにしたので、複数の利用者の送信指示が並行して処理される場合であっても、確実な宛先選択および送信処理をおこなうことができる。
【０１４１】
なお、図１１の説明において、選択シートオブジェクト３３０Ａとして説明した部分は、実際には、そのサブクラスのオブジェクトである既存宛先選択シートオブジェクト３３１Ａまたは追加宛先選択シートオブジェクト３３２Ａが、選択方式に応じて用いられる。
【０１４２】
次に、本実施の形態の特徴部分であるアドレス帳管理部１１２ａがアドレス帳の差替え指示を受け付けた際の操作の実行手順について図１２を用いて説明する。図１２は、本実施の形態の特徴部分であるアドレス帳管理部１１２ａが差替え指示を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１４３】
図１２に示すように、利用者が複合機１の操作パネル４００を操作してアドレス帳の差替えを指示すると、サービス利用者（操作系サブシステム１１１）は、アドレス帳の一括差替えをおこなうために、アドレス帳管理部１１２ａの書棚オブジェクト３１０Ａの差替える（）３１０ｃを呼び出す（ステップＳ２０１）。差替える（）３１０ｃを呼び出された書棚オブジェクト３１０Ａは、状態３１０ａを「非公開中」に変更したうえで、管理しているすべてのアドレス帳オブジェクト３２０Ａの改訂する（）３２０ｄを呼び出す（ステップＳ２０２）。
【０１４４】
つづいて、改訂する（）３２０ｄを呼び出された各アドレス帳オブジェクト３２０Ａは、選択中の宛先データの不整合を防止するために、選択シートオブジェクト３３０Ａの破棄する（）３３０ｆを呼び出して（ステップＳ２０３）選択中の宛先データの破棄を指示する。そして、破棄する（）３３０ｆを呼び出された選択シートオブジェクト３３０Ａは、自身が生成した宛先オブジェクト３４０Ａを破棄するために、宛先オブジェクト３４０Ａの削除（）を呼び出して（ステップＳ２０４）かかる宛先オブジェクト３４０Ａを消滅させる。なお、この削除（）は、すべてのオブジェクトが有する操作であり、この削除（）を呼び出すことにより各オブジェクトはＲＡＭ１２ｂ上から消去される。
【０１４５】
そして、アドレス帳オブジェクト３２０Ａと関連をもつすべての選択シートオブジェクト３３０Ａおよび宛先オブジェクト３４０Ａが消去されたならば、書棚オブジェクト３１０Ａは、アドレス帳オブジェクト３２０Ａの作成する（）３２０ｅを呼び出して（ステップＳ２０５）差替え後の宛先データを反映したアドレス帳オブジェクト３２０Ａを生成する。
【０１４６】
つづいて、書棚オブジェクト３１０Ａは、差替え前の各アドレス帳オブジェクト３２０Ａの削除（）を呼び出して（ステップＳ２０６）、差替え前のすべてのアドレス帳オブジェクト３２０Ａを消滅させる。そして、差替え前のすべてのアドレス帳オブジェクト３２０Ａの消滅が完了したならば、状態３１０ａを「公開中」に変更したうえで、差替え処理が完了した旨を操作系サブシステム１１１に報告する（ステップＳ２０７）。かかる報告を受信した操作系サブシステム１１１は、操作パネル４００に、アドレス帳の一括差替えが完了した旨を表示するなどして利用者に対し、差替え完了を通知する。
【０１４７】
なお、本実施の形態においては、差替え後の宛先データに対応したアドレス帳オブジェクト３２０Ａを生成した後に、差替え前の宛先データに対応したアドレス帳オブジェクト３２０Ａを削除することとしたが、差替え前の宛先データに対応したアドレス帳オブジェクト３２０Ａを削除した後に、差替え後の宛先データに対応したアドレス帳オブジェクト３２０Ａを生成することとしてもよい。
【０１４８】
このように、利用中の宛先データを無効とする処理をおこなうとともに、差替え処理中は、アドレス帳の参照を許可しないこととしたので、新旧の宛先データが混在するなどの不整合を防止することにより、確実なアドレス帳の差替え処理をおこなうことができる。
【０１４９】
なお、図１２の説明において、選択シートオブジェクト３３０Ａとして説明した部分は、実際には、そのサブクラスのオブジェクトである既存宛先選択シートオブジェクト３３１Ａまたは追加宛先選択シートオブジェクト３３２Ａが、選択方式に応じて用いられる。
【０１５０】
上述してきたように、本実施の形態では、送信処理に用いる宛先データを管理する宛先管理と、利用者による宛先データの選択を管理する選択管理を分離してアドレス帳管理の仕組みを構築し、さらに、宛先管理を担当するアドレス帳クラス、選択管理を担当する選択シートクラス、アドレス帳クラスを束ねる書棚クラス、個々の宛先に対応する宛先クラス、選択された宛先への送信を管理する送付状クラス、選択シートクラスのサブクラスであり既存の宛先の選択に特化した既存宛先選択シートクラスおよび選択シートクラスのサブクラスであり新規に入力された宛先の選択に特化した追加宛先選択シートクラスを用いることによりアドレス帳管理部を実現したので、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、アドレス帳の管理処理を効率よく実現することができる。
【０１５１】
なお、本実施の形態の画像形成装置で実行されるアドレス帳管理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、アドレス帳管理プログラムを読み出してＭＥＭ−Ｐ１２上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
【０１５２】
また、アドレス帳管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかるアドレス帳管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【産業上の利用可能性】
【０１５３】
以上のように、本発明にかかるアドレス帳管理プログラムおよび画像形成装置は、宛先データを参照して送信処理をおこなう各種装置のアドレス帳管理に有用であり、特に、画像形成装置のアドレス帳管理に適している。
【図面の簡単な説明】
【０１５４】
【図１】複合機をとりまくネットワーク環境を示すネットワーク図である。
【図２】複合機のハードウェアを説明するための説明図である。
【図３】複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【図４】統合アプリケーションの構成を説明するための説明図である。
【図５】統合アプリケーションの構成を表したＵＭＬクラス図である。
【図６】複合機の操作パネルを説明するための説明図である。
【図７】従来のアドレス帳管理の処理概要を説明するための説明図である。
【図８】従来のアドレス帳管理の課題について説明するための説明図である。
【図９】本実施の形態に係るアドレス帳管理部の構成概要を説明するための説明図である。
【図１０】アドレス帳管理部のクラス構成を示すＵＭＬクラス図である。
【図１１】アドレス帳管理部が送付指示を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１２】アドレス帳管理部が差替え指示を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１３】複合機に搭載されるソフトウェア構成の変遷を示す説明図である。
【図１４】従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【符号の説明】
【０１５５】
１  画像形成装置（複合機）
１０  コントローラ
１１  ＣＰＵ
１２  ＭＥＭ−Ｐ
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ＮＢ
１４  ＳＢ
１５  ＡＧＰ
１６  ＡＳＩＣ
１７  ＭＥＭ−Ｃ
１８  ＨＤＤ
２０  キーボード（オペレーションパネル）
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４
６０  エンジン部（Engine）
１００  ソフトウェア
１０１  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１１１  操作系サブシステム
１１２  管理系サブシステム
１１２ａ  アドレス帳管理部
１１３  実行系サブシステム
１２０  コピーアプリケーション
１３０  スキャナアプリケーション
１４０  ファックスアプリケーション
１５０  プリンタアプリケーション
２００  ハードウェア
２０１  ハードウェアリソース
２０１ａ  スキャナ
２０１ｂ  プロッタ
２０１ｃ  ＨＤＤ
２０１ｄ  ネットワーク
２０１ｅ  その他のリソース
３１０  書棚クラス（書棚手段の一例）
３１０Ａ  書棚オブジェクト（書棚手段の一例）
３１０ａ  状態
３１０ｂ  取出す（）
３１０ｃ  差替える（）
３２０  アドレス帳クラス（アドレス帳手段の一例）
３２０Ａ  アドレス帳オブジェクト（アドレス帳手段の一例）
３２０ａ  可能操作
３２０ｂ  使用状態
３２０ｃ  閲覧する（）
３２０ｄ  改訂する（）
３２０ｅ  作成する（）
３３０  選択シートクラス（選択シート手段の一例）
３３０Ａ  選択シートオブジェクト（選択シート手段の一例）
３３０ａ  最大宛先数
３３０ｂ  選択状態
３３０ｃ  選択する（）
３３０ｄ  選択解除する（）
３３０ｅ  確定する（）
３３０ｆ  破棄する（）
３３１  既存宛先選択シートクラス（既存宛先選択シート手段の一例）
３３１Ａ  既存宛先選択シートオブジェクト（既存宛先選択シート手段の一例）
３３１ａ  選択する（）
３３２  追加宛先選択シートクラス（追加宛先選択シート手段の一例）
３３２Ａ  追加宛先選択シートオブジェクト（追加宛先選択シート手段の一例）
３３２ａ  選択する（）
３４０  宛先クラス（宛先手段の一例）
３４０Ａ  宛先オブジェクト（宛先手段の一例）
３４０ａ  識別子
３５０  送付状クラス（送付状手段の一例）
３５０Ａ  送付状オブジェクト（送付状手段の一例）
３５０ａ  送付状態
３５０ｂ  作成する（）
３５０ｃ  破棄する（）
４００  操作パネル
４０１  初期設定キー
４０２  コピーキー
４０３  コピーサーバーキー
４０４  プリンタキー
４０５  送信キー
４０６  テンキー
４０７  クリア／ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
５０１  サービス層分離前アプリケーション
５０２  サービス層分離後アプリケーション
５０３  共通ルーチン分離アプリケーション
５０４  オブジェクト指向アプリケーション
【図１】
2006087028.tif 000003
【図２】
2006087028.tif 000004
【図３】
2006087028.tif 000005
【図４】
2006087028.tif 000006
【図５】
2006087028.tif 000007
【図６】
2006087028.tif 000008
【図７】
2006087028.tif 000009
【図８】
2006087028.tif 000010
【図９】
2006087028.tif 000011
【図１０】
2006087028.tif 000012
【図１１】
2006087028.tif 000013
【図１２】
2006087028.tif 000014
【図１３】
2006087028.tif 000015
【図１４】
2006087028.tif 000016