(57)【要約】【課題】  各クライアントが個別のアプリケーションを意識する必要がない、クライアント、アプリケーション間のＩ／Ｆを提供して、クライアントのソフトウェアの単純化、拡張性の増大、等を図る。【解決手段】  複写機のシステムに用いるソフトウェアは、クライアント３０６と、このクライアント３０６が働きかけると当該働きかけに応じた動作を行うアプリケーション３０４とを備えている。クライアント３０６とアプリケーション３０４との間のインターフェース３０３にはトランザクション（Transaction）、セッション（Session）の概念が導入されている。【選択図】    図６
2006172066.tif 000002
【特許請求の範囲】
【請求項１】
システムのソフトウェア構成は、
クライアントと、
このクライアントが働きかけると当該働きかけに応じた動作を行うアプリケーションと、
を備え、
前記クライアントとアプリケーションとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、電子機器。
【請求項２】
前記インターフェースにセッション（Session）の概念が導入されている、請求項１に記載の電子機器。
【請求項３】
前記トランザクションを構成するオペレーションの粒度の設定が可変である、請求項１又は２に記載の電子機器。
【請求項４】
前記アプリケーションから前記クライアントに通知する当該クライアントの情報にはスコープを設けて前記通知は必要な情報に限定している、請求項１〜３のいずれかの一に記載の電子機器。
【請求項５】
前記トランザクションはコミット（Commit）又はアボート（Abort）により完結し、前記アボートのときには当該トランザクションの開始の際の設定にロールバックする、請求項１〜４のいずれかの一に記載の電子機器。
【請求項６】
前記インターフェースは複数種類用意されている、請求項１〜５のいずれかの一に記載の電子機器。
【請求項７】
前記インターフェースは本電子機器が利用者に提供するサービスの種類ごとに複数種類用意されている、請求項６に記載の電子機器。
【請求項８】
前記インターフェースは利用者のインタラクションの違いに応じて複数種類用意されている、請求項６に記載の電子機器。
【請求項９】
アプリケーションに働きかけて当該働きかけに応じた動作を行なわせるクライアントであり、前記アプリケーションとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、プログラム。
【請求項１０】
前記インターフェースにセッション（Session）の概念が導入されている、請求項９に記載のプログラム。
【請求項１１】
前記トランザクションを構成するオペレーションの粒度の設定が可変である、請求項９又は１０に記載のプログラム。
【請求項１２】
前記トランザクションはコミット（Commit）又はアボート（Abort）により完結し、前記アボートのときには当該トランザクションの開始の際の設定にロールバックする、請求項９〜１１のいずれかの一に記載のプログラム。
【請求項１３】
クライアントの働きかけに応じた動作を行なうアプリケーションであり、前記クライアントとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、プログラム。
【請求項１４】
前記インターフェースにセッション（Session）の概念が導入されている、請求項１３に記載のプログラム。
【請求項１５】
前記クライアントに通知する本クライアントの情報にはスコープを設けて前記通知は必要な情報に限定している、請求項１３又は１４に記載のプログラム。
【請求項１６】
前記トランザクションはコミット（Commit）又はアボート（Abort）により完結し、前記アボートのときには当該トランザクションの開始の際の設定にロールバックする、請求項１３〜１５のいずれかの一に記載のプログラム。
【請求項１７】
請求項９〜１６のいずれかの一に記載のプログラムを記憶している、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、この電子機器に用いるプログラム及びこのプログラムを記憶している記憶媒体に関する。
【背景技術】
【０００２】
画像の入出力状況を外部の装置で知ることができるようにした技術が、特許文献１に開示されている。
【０００３】
【特許文献１】特開平１１−１４６１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１２は、Ｗｅｂ機能を備えた複合機と呼ばれるデジタル複写機の従来のシステム構成の説明図である。このデジタル複写機３００はＷｅｂ機能を実現するＷｅｂサーバ３０１と、このＷｅｂサーバ３０１に対応したＷｅｂ用のアプリケーション３０４と、デジタル複写機３００のオペレーションパネル用のユーザインターフェイス（ＵＩ）３０３と、このオペレーションパネル用ＵＩ３０３に対応したオペレーションパネル用のアプリケーション３０４とを備えている。
【０００５】
図１３は、前述の複写機３００におけるＵＩ３０３、Ｗｅｂサーバ３０１などのクライアント３０６（この例では、ＵＩ３０３の例で説明する）とアプリケーション３０４との間のインターフェース（Ｉ／Ｆ）の概要について説明する説明図である。図１３において、ＵＩ３０３はアプリケーション３０４に問い合わせを実施すべきかどうかを知っており、利用者３０５からのキー押下に応じて、これを判断し、アプリケーション３０４に問い合わせを実施する。これに対し、アプリケーション３０４はＵＩ３０３に応答を返す。このようなＵＩ３０３とアプリケーション３０４間のＩ／Ｆでは、確定した情報のみをアプリケーション３０４側に渡すＩ／Ｆになっている。
【０００６】
しかし、このようなシステムで設定を行う場合には、アプリケーション３０４と、クライアント３０６の相互の設定内容の排他や連動といった条件が存在し、これらの条件はアプリケーション３０４の特性に深く関連する。
【０００７】
確定した情報のみをアプリケーション３０４側に渡すためには、これらのアプリケーション３０４の特性に依存する内容をクライアント３０６側で解決するか、逐次アプリケーション３０４へ問い合わせを実施する必要があり、その結果、クライアント３０６のソフトウェアの複雑性の助長と拡張性の阻害を引き起こすという不具合がある。
【０００８】
また、従来は、オペレーションパネル用のＵＩ３０３とアプリケーション３０４との間のＩ／Ｆではセッションの概念を利用せずに、予約や割り込み要求といったＩ／Ｆで定義されている為、拡張性に乏しいという不具合がある。
【０００９】
さらに、従来、ＵＩ３０３とアプリケーション３０４との間のＩ／Ｆは、設定や実行に対する粒度は予め決まっており、柔軟性が無かった。この結果、オペレーションパネルの画面仕様が変更した場合や表示デバイスの制約の有無による設定の粒度をＵＩ３０３内で吸収した上でアプリケーション３０４に渡す必要があり、ソフトウェアの構造上の複雑さを助長するという不具合もある。
【００１０】
その上、従来、Ｗｅｂサーバ３０１用とＵＩ３０３用ではアプリケーション３０４を独立とする事で夫々の利用者３０５に通知すべき情報を制御していたが、本来はＷｅｂサーバ３０１／ＵＩ３０３に依存せずに、機能を実現するアプリケーション３０４は統一すべきであるという要請もある。単一のアプリケーション３０４がＷｅｂサーバ３０１／ＵＩ３０３を統一的に扱い且つＵＩ３０３に応じて公開する機能が異なるならば、利用する機能に応じた情報の通知が必要であり、利用しない機能に関する情報通知は行うべきではない。
【００１１】
そこで、本発明の目的は、各クライアントが個別のアプリケーションを意識する必要がない、クライアント、アプリケーション間のＩ／Ｆを提供して、クライアントのソフトウェアの単純化、拡張性の増大、等を図ることである。
【課題を解決するための手段】
【００１２】
本発明は、システムのソフトウェア構成は、クライアントと、このクライアントが働きかけると当該働きかけに応じた動作を行うアプリケーションと、を備え、前記クライアントとアプリケーションとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、電子機器である。
【００１３】
別の面から見た本発明は、アプリケーションに働きかけて当該働きかけに応じた動作を行なわせるクライアントであり、前記アプリケーションとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、プログラムである。
【００１４】
さらに別の面から見た本発明は、クライアントの働きかけに応じた動作を行なうアプリケーションであり、前記クライアントとの間のインターフェースにはトランザクション（Transaction）の概念が導入されている、プログラムである。
【発明の効果】
【００１５】
本発明によれば、クライアントとアプリケーションとの間のインターフェースにトランザクションの概念を導入したので、クライアント側の処理をシンプルにすることができる。
【発明を実施するための最良の形態】
【００１６】
本発明を実施するための最良の一形態について説明する。
【００１７】
〔複写機の概略構成〕
図１〜５は、本実施の形態の画像形成装置の概略図（図１）、操作部の平面図（図２）、及び電気的な接続のブロック図（図３〜図５）である。
【００１８】
図１に示すように、本実施の形態の複写機８０は、本発明の電子機器を実施するものであり、複写機８０の上部に配置されたスキャナには自動原稿送り装置（ＡＤＦ）１が設けられている。ＡＤＦ１上にある、原稿台２に原稿の画像面を上にして置かれた原稿束は、オペレーションパネル３０上のプリントキー３４が押下されると、一番下の原稿から給送ローラ３、給送ベルト４によってコンタクトガラス６上の所定の位置に給送される。給送された原稿は読み取りユニット５０によってコンタクトガラス６上の原稿の画像データを読み取り後、読み取りが終了した原稿は、給送ベルト４及び排送ローラ５によって排出される。さらに、原稿セット検知７にて原稿台２に次の原稿が有ることを検知した場合、前原稿と同様にコンタクトガラス６上に給送される。給送ローラ３、給送ベルト４、排送ローラ５は搬送モータ２６によって駆動される。第１トレイ８、第２トレイ９、第３トレイ１０に積載された転写紙は、各々第１給紙装置１１、第２給紙装置１２、第３給紙装置１３によって給紙され、縦搬送ユニット１４によって感光体１５に当接する位置まで搬送される。読み取りユニット５０にて読み込まれた画像は、書き込みユニット５７からのレーザ光によって感光体１５に書き込まれ、現像ユニット２７を通過することによってトナー像が形成される。そして、転写紙は感光体１５の回転と等速で搬送ベルト１６によって搬送されながら、感光体１５上のトナー像が転写される。その後、定着ユニット１７にて画像を定着させ、排紙ユニット１８によって後処理装置のフィニシャ１００に排出される。
【００１９】
後処理装置のフィニシャ１００は、本体の排紙ユニット１８によって搬送された転写紙を、通常排紙ローラ１０２方向と、ステープル処理部方向へ導くことができる。切り替え板１０１を上に切り替えることにより、搬送ローラ１０３を経由して通常排紙トレイ１０４側に排紙することができる。また、切り替え板１０１を下方向に切り替えることで、搬送ローラ１０５、１０７を経由して、ステープル台１０８に搬送することができる。ステープル台１０８に積載された転写紙は、一枚排紙されるごとに紙揃え用のジョガー１０９によって、紙端面が揃えられ、一部のコピー完了と共にステープラ１０６によって綴じられる。ステープラ１０６で綴じられた転写紙群は自重によって、ステープル完了排紙トレイ１１０に収納される。
【００２０】
一方、通常の排紙トレイ１０４は前後に移動可能な排紙トレイである。前後に移動可能な排紙トレイ部１０４は、原稿毎、あるいは、画像メモリによってソーティングされたコピー部毎に、前後に移動し、簡易的に排出されてくるコピー紙を仕分ける。
【００２１】
転写紙の両面に画像を作像する場合は、各給紙トレイ８〜１０から給紙され作像された転写紙を排紙トレイ１０４側に導かないで、経路切り替えの為の分岐爪（図示せず）を上側にセットすることで、一旦両面給紙ユニット１１１にストックする。その後、両面給紙ユニット１１１にストックされた転写紙は再び感光体１５に作像されたトナー画像を転写するために、両面給紙ユニット１１１から再給紙され、経路切り替えの為の分岐爪（図示せず）を下側にセットし、排紙トレイ１０４に導く。この様に転写紙の両面に画像を作成する場合に両面給紙ユニット１１１は使用される。
【００２２】
感光体１５、搬送ベルト１６、定着ユニット１７、排紙ユニット１８、現像ユニット２７はメインモータ２５によって駆動され、各給紙装置１１〜１３はメインモータ２５の駆動を各々給紙クラッチ２２〜２４によって伝達駆動される。縦搬送ユニット１４はメインモータ２５の駆動を中間クラッチ２１によって伝達駆動される。
【００２３】
図２に示すように、オペレーションパネル３０には、液晶タッチパネル３１、テンキー３２、クリア／ストップキー３３、プリントキー３４、予熱キー３５、リセットキー３６、初期設定キー３７が配置され、液晶タッチパネル３１には、各種機能キー及び画像形成装置の状態を示すメッセージなどが表示される。
【００２４】
オペレータが液晶タッチパネル３１に表示されたキーにタッチすることで、選択された機能を示すキーが黒く反転する。また、機能の詳細を指定しなければならない場合（例えばページ印字の種類等）はキーにタッチすることで詳細機能の設定画面が表示される。このように、液晶タッチパネルは、ドット表示器を使用している為、その時の最適な表示をグラフィカルに行うことが可能である。
【００２５】
また、初期設定キー３７を押すことで、機械の初期状態を任意にカスタマイズすることが可能である。これは、機械が収納している用紙サイズを設定し、コピー機能のリセットキーを押したときに設定される状態を任意に設定可能である。また、一定時間操作が無いときに優先して選択されるアプリケーション等も選択する事、国際エネルギースター計画に従った低電力への移行時間の設定や、オートオフ／スリープモードへの移行する時間を設定することが可能である。予熱キー３５を押すと、機械は待機状態から、電力低減状態に移行し、定着温度を低下させ、操作部の表示を消灯する。予熱状態は、国際エネルギースター計画で言う、低電力状態を意味している。また、予熱状態、オフ状態／スリープ状態を解除し、待機状態に移行させるには、この予熱キーを再度押下する。
【００２６】
図３は、メインコントローラを中心に、制御装置を図示している。メインコントローラ２０は画像形成装置全体を制御する。メインコントローラ２０には、オペレータに対する表示、オペレータからの機能設定入力制御を行うオペレーションパネル３０、スキャナの制御、原稿画像を画像メモリに書き込む制御、画像メモリからの作像を行う制御等を行う画像処理ユニット（ＩＰＵ）４９、原稿自動送り装置（ＡＤＦ）１等の分散制御装置が接続されている。これら各分散制御装置とメインコントローラ２０は、必要に応じて機械の状態、動作司令のやりとりを行っている。また紙搬送等に必要なメインモータ２５、各種クラッチ２１〜２４も接続されている。
【００２７】
図１に戻り、画像形成装置の原稿読み取りから、画像の書き込みまでを説明する。読み取りユニット５０は、原稿を載置するコンタクトガラス６と光学走査系で構成されており、光学走査系には、露光ランプ５１、第１ミラー５２、レンズ５３、ＣＣＤイメージセンサ５４等々で構成されている。露光ランプ５１及び第１ミラー５２は図示しない第１キャリッジ上に固定され、第２ミラー５５及び第３ミラー５６は図示しない第２キャリッジ上に固定されている。原稿像を読み取るときには、光路長が変わらないように、第１キャリッジと第２キャリッジとが２対１の相対速度で機械的に操作される。この光学走査系は、図示しないスキャナ駆動モータにて駆動される。原稿画像は、ＣＣＤイメージセンサ５４によって読み取られ、電気信号に変換されて処理される。
【００２８】
書き込みユニット５７は、レーザ出力ユニット５８、結像レンズ５９、ミラー６０で構成され、レーザ出力ユニット５８の内部には、レーザ光源であるレーザダイオード及びモータによって高速で定速回転する多角形ミラー（ポリゴンミラー）が設けられている。書き込みユニット５７から出力されるレーザ光は、画像作像系の感光体１５に照射される。そして、図示しないが感光体１５の一端近傍のレーザビームを照射される位置に、主走査同期信号を発生するビームセンサが配置されている。
【００２９】
図４は画像処理ユニット（ＩＰＵ）４９内部構成のブロック図である。露光ランプ５１から照射された光の反射は、ＣＣＤイメージセンサ５４にて光電変換され、Ａ／Ｄコンバータ６１にてデジタル信号に変換される。デジタル信号に変換された画像信号は、シェーディング補正６２がなされた後、画像処理部６３にてＭＴＦ補正、γ補正等がなされる。その後、印字合成部７１を介して入力した画像データを変倍回路７６へ、或いは、画像メモリコントローラ６５へ切り替えて供給するものであり、変倍回路７７を経由した画像信号は変倍率に合せて拡大縮小され、書き込みユニット５７に送られる。
【００３０】
一方、画像メモリコントローラ６５とセレクタ６４間は、双方向に画像信号を入出力可能な構成となっている。図４には特に明示していないが、ＩＰＵ４９には読み取りユニット５０から入力される画像データ以外にもＩ／Ｏポート６７、電話回線通信制御ユニット６８を介して外部から供給される画像データ、例えばパーソナルコンピュータ等のデータ処理装置から入力したデータも処理できるよう、複数のデータの入出力の選択を行なう機能を有しているものとする。
【００３１】
本実施の形態においてはＩ／Ｏポート６７を介して画像形成装置をネットワーク接続しており、その通信手段には、インターネットの標準プロトコルとして普及されているＴＣＰ／ＩＰ通信プロトコルを用いるなどが考えられる。また、本実施の形態では図５に示すようなネットワーク構成を備え、ネットワーク接続された各画像形成装置の機械構成情報や動作状況、もしくはリモート出力コマンド等の制御コマンド、設定コマンドの送受信を行なっている。
【００３２】
電話回線通信制御ユニット６８は付属の図示しないアンテナを介して無線通信網８８より得られるアナログ情報をデジタル化する、もしくは、画像メモリ６６やＨＤ７５、ＲＯＭ６９、ＲＡＭ７０、ＮＶ−ＲＡＭ７４に記憶されているデータをアナログ情報に変換し無線通信網を経由して、所定の携帯端末に送信する機能をもつ。これにより、一般の電話と画像形成装置とのデータの送受信を可能にしている。
【００３３】
また、画像メモリコントローラ６５等への設定や、読み取り部５０書き込み部５７の制御を行うＣＰＵ６８、及びそのプログラムやデータを格納するＲＯＭ６９、ＲＡＭ７０、ＮＶ−ＲＡＭ７４を備えている。更にＣＰＵ６８は、メモリコントローラ６５を介して、画像メモリ６６のデータの書き込み、読み出しが行える。原稿画像で画像メモリコントローラ６５へ送られた画像は、画像メモリコントローラ内にある画像圧縮装置によって画像データを圧縮した後、画像メモリ６６に送られる。ここで画像圧縮する理由は、最大画像サイズ分の２５６階調のデータをそのまま画像メモリ６６に書き込む事も可能であるが、１枚の原稿画像で画像メモリを大変多く使用する。画像圧縮を行うことで、限られた画像メモリを有効に利用できる。また、一度に多くの原稿画像データを記憶することが出来るため、ソート機能として、貯えられた原稿画像イメージデータをページ順に出力することができる。この場合画像を出力する際に画像メモリ６６のデータをメモリコントローラ６５内の伸長装置で順次伸長しながら出力を行う。このような機能は一般に「電子ソート」と呼ばれている。また画像メモリの機能を利用して、複数枚の原稿画像を、画像メモリの転写紙一枚分のエリアを分割したエリアに順次読み込むことも可能となる。例えば４枚の原稿画像を、画像メモリの転写紙一枚分の４等分されたエリアに順次書き込むことで、４枚の原稿が一枚の転写紙イメージに合成され集約されたコピー出力を得ることが可能となる。このような機能は一般に「集約コピー」と呼ばれている。画像メモリ６６の画像はＣＰＵ６８からアクセス可能な構成となっている。このため画像メモリの内容を加工することが可能であり、例えば画像の間引き処理、画像の切り出し処理等が行える。加工には、メモリコントローラ６５のレジスタにデータを書き込むことで画像メモリの処理を行うことができる。加工された画像は再度画像メモリに保持される。画像メモリ６６は、処理を行う画像データの大きさにより複数のエリアに分割して画像データの入出力を同時に実行可能な構成をとっている。各分割したエリアに画像データの入力、出力をそれぞれ並列に実行可能にするためにメモリコントローラとのインターフェースにリード用とライト用の二組のアドレス・データ線で接続されている。これによりエリア１に画像を入力（ライト）する間にエリア２より画像を出力（リード）するという動作が可能になる。
【００３４】
画像メモリ６６は、多くの画像データを収納するためハードディスク（ＨＤ）７５を別に設けてもより。ハードディスクを用いることにより、外部電源が不用で永久的に画像を保持できる。複数の定型の原稿（フォーマット原稿）をスキャナで読み込み保持するためには、このＨＤ７５を用いるのが一般的である。
【００３５】
画像の書き込み、読み出しには本体の作像やスキャナからの画像書き込みに対し処理速度の差を吸収する為に、画像メモリに一旦記憶され処理される。また画像記憶装置からのデータを書き込みユニット５７に送る際は、画像メモリ６６に一旦記憶し、書き込みユニット５７に送ることになる。このように画像を記憶する装置の画像メモリ６６、ＨＤ７５、スキャナ画像、書き込みユニットに送る画像の入出力は、全てメモリコントローラ６５によって画像パスを決められる。
【００３６】
図５は携帯端末と複写機８０とを接続するネットワーク構成図である。複写機８０〜８６（複写機８１〜８６も複写機８０と同一構成）は電話の送受信機能をもち、無線通信網８８を通じて携帯端末８９と通信することができる。また、複写機８０〜８６はそれぞれＬＡＮ８７に接続されていて、各複写機のＩ／Ｏポート（図４の符号６７）により相互にデータの送受信、また、ＬＡＮ内の端末８３，８５への送信が可能である。
【００３７】
〔複写機のシステム構成〕
本実施の形態の複写機８０のソフトウェアに関するシステム構成の概要も、図１２を参照して前記したとおりであり、図６に示すように、図１３を参照して前記した場合と同様に、デジタル複写機３００のオペレーションパネル３０用のユーザインターフェイス（ＵＩ）３０３と、このＵＩ３０３に対応したオペレーションパネル３０用のアプリケーション３０４とを備えている。例えば、利用者３０５がオペレーションパネル３０を操作すると、ＵＩ３０３がアプリケーション３０４に働きかけて、アプリケーション３０４が当該働きかけに応じた動作を行う。このように、クライアント３０６がアプリケーション３０４に働きかけて、アプリケーション３０４が当該働きかけに応じた動作を行う。
【００３８】
このクライアント３０６、アプリケーション３０４とも、複写機８０のシステムで用いるプログラムであり、メインコントローラ２０内の記憶媒体であるＲＯＭなどに格納されて複写機８０のシステムで使用される。
【００３９】
本実施の形態においては、前述のＵＩ３０３、Ｗｅｂサーバ３０１などのクライアント３０６とアプリケーション３０４との間のインターフェース（Ｉ／Ｆ）３０７を以下のように構成している。
【００４０】
すなわち、図７に示すように、クライアント３０６とアプリケーション３０４との間のＩ／Ｆ３０７にトランザクション（Transaction）３１１の概念を導入する。例えば、利用者３０５のオペレーションパネル３０におけるキー押下をトランザクション３１１とオペレーション（Operation）３１２に分類することで、アプリケーション３０４とクライアント３０６との間のＩ／Ｆ３０７を単純化し、クライアント３０６側の処理を従来に比べて簡素にすることができる。
【００４１】
まず、利用者３０５の行いたい完結した処理をトランザクション３１１と定義し、その処理を実施する為の各操作をオペレーション３１２と定義する。図７のトランザクション３１１の縦方向下向きの流れが時間経過を示す。１つのトランザクション３１１の制御コマンドは、スタート・トランザクション（Start Transaction）３２１で開始し、１又は複数のオペレーション３１２を含み、コミット・トランザクション（Commit Transaction）又はアボート・トランザクション（Abort Transaction）３２２で終了する。トランザクション３１１を取り消し（＝アボート（Abort））する場合、それまでの操作は前の状態へロールバックされる必要がある。これにより、システムの一貫性を保障する。
【００４２】
トランザクション３１１の単位はアプリケーション３０４に対する完結した要求の単位である。アプリケーション３０４はトランザクション３１１が完結するまで、利用者のオペレーション３１２をワーク（Work）３３５（図９参照）に保持しておき、これをトランザクション３１１の完結と同時にアプリケーション３０４への処理として反映する。トランザクション３１１がキャンセルされる場合には、ワーク３３５の内容も破棄する。
【００４３】
また、図７に示すように、クライアント３０６とアプリケーション３０４との間のＩ／Ｆ３０７にセッション（Session）３３１の概念を導入し、クライアント３０６とアプリケーション３０４との間をセッション３３１で接続して、割り込みコピーや、予約コピー等の従来機能を簡潔に表現し、更に、オペレーションパネル３０用のＵＩ３０３やＷｅｂサーバ３０１をセッション３３１の概念で統一して扱うことができるようにする。
【００４４】
図７において、セッション３３１の縦方向下向きの流れが時間経過を示す。セッション３３１の制御コマンドは、オープン・セッション（Open Session）３３２で開始し、１又は複数のトランザクション３１１を含み、クローズ・セッション（Close Session）３３４で終了する。オープン・セッション３３２には、クライアント３０６を特定するための識別子を含み、セッション３３１の開始の可否を応答する。セッション３３１の識別子はアプリケーション３０４側で採番し、セッション３３１の開始が可能なときは、採番したセッション３３１の識別子を応答する。
【００４５】
図８には、１つのセッション３３１の開始から終了までの間のクライアント３０６（この例でＵＩ３０３）とアプリケーション３０４との間のやりとりを示している。この例では、トランザクション３１１をひとつだけ示している。
【００４６】
図９に示すように、セッション３３１はクライアント３０６ごとに張られる。一つのクライアント３０６とアプリケーション３０４との間は複数のセッション３３１を張ることができ、オペレーションパネル用のＵＩ３０３は割り込みコピーや予約コピーが開始されると、これを契機に新たなセッション３３１を開始する。割り込みキーの押下により開始されたセッション３３１は、他のセッション３３１より優先順位が高く、アプリケーション３０４は、割り込みセッション３３１で要求された処理は最優先で実施する必要がある。
【００４７】
前述のように、アプリケーション３０４には、セッション３３１ごとにオペレーション３１２の結果を記録するワーク３３５を用意し、ワーク３３５の内容は前述のコミット・トランザクションによりアプリケーション３０４のモデル（Model）３３６に反映する。
【００４８】
このように、クライアント３０６とアプリケーション３０４との間をセッション３３１で接続することで、アプリケーション３０４はクライアント３０６の種類を意識する必要が無くなり、ＵＩ３０３、Ｗｅｂサーバ３０１などのクライアント３０６を統一的に扱うことが出来る。
【００４９】
また、このように構成するＩ／Ｆ３０７は一種類に統一する必要はなく、複数種類、例えば２種類に分類して種類ごとに統一してもよい。
【００５０】
例えば、複写機８０が提供するサービスには大きく２つに分類される。１つは、プロセス系サービスで、これは、その振る舞い自体にユーザが価値を見出すサービスであり、文書データのハンドリングなどである。もうひとつは、リポジトリ系サービスで、これは、複写機８０内の記憶装置におけるデータの登録、管理など、データ管理自体が大事なサービスとなるものである。そこで、プロセス系サービス、リポジトリ系サービスそれぞれに対応してＩ／Ｆ３０７を用意し、２種類のＩ／Ｆ３０７にＩ／Ｆ３０７を統一することが考えられる。
【００５１】
また、利用者３０５のインタラクションの違いによりＩ／Ｆ３０７を２種類用意してもよい。すなわち、利用者３０５の要求が開始して確定するまでに、クライアント３０６とアプリケーション３０４との間で複数回のインタラクションが発生する場合と、１回のインタラクションでよい場合とに分類し、このそれぞれの場合に対応してＩ／Ｆ３０７を用意し、２種類のＩ／Ｆ３０７にＩ／Ｆ３０７を統一することも考えられる。
【００５２】
また、オペレーション３１２の粒度は固定ではなく、可変である。そして、ＵＩ３０３側が操作の結果を知るべき単位でオペレーション３１２を構成してよい。これにより、Ｗｅｂサーバ３０１とＵＩ３０３における、設定粒度の差異に対応可能である。
【００５３】
例えば、Ｗｅｂに用いるアドレス帳の登録を行う場合に必要な操作は以下の通りである。
【００５４】
（１）宛先名称の設定
（２）電話番号設定
（３）メールアドレス設定
ＵＩ３０３では、アドレス帳登録のトランザクション３１１にこれら３つのオペレーション３１２が夫々存在するが、Ｗｅｂサーバ３０１では１つのオペレーション３１２で上記３つの情報が設定される。
【００５５】
このようにオペレーション３１２の粒度の設定を可変とすることで、Ｗｅｂサーバ３０１、ＵＩ３０３と、セッション３３１／トランザクション３１１／オペレーション３１２の概念との親和性を高めることができる。
【００５６】
以上、主にクライアント３０６からアプリケーション３０４に対する設定について説明してきたが、アプリケーション３０４の状態に応じて、アプリケーション３０４からもクライアント３０６に状態変化を通知する必要がある。この通知は、情報を知るべきクライアント３０６に伝えるアプリケーション３０４の変化した状態を、それを必要とするクライアント３０６にのみ通知するが、全てのセッション３３１にブロードキャストする必要のある通知情報も存在する。図１０に示すように、モデル３３６のスコープ３４１は、変化が起きたときに通知する範囲であり、クライアント３０６に提供する機能に応じて決定される。情報３４２は、スコープに依存せず、すべてのクライアント３０６に通知すべき内容である。これはスコープで捨てられる情報とは区別される。図１０に示すセッション３３１には、設定に関するスコープ情報が含まれる。
【００５７】
次に、セッション３３１の概念上でどのようにアプリケーション３０４の状態変化をクライアント３０６に通知するかについて説明する。
【００５８】
まず、クライアント３０６に応じて、アプリケーション３０４の提供する機能は異なる。例えば、複写機８０本体の前に立っている利用者３０５（オペレーションパネル３０用のＵＩ３０３が動作する場合）には原稿を利用するサービスを提供するが、複写機８０本体から離れた所の利用者３０５（Ｗｅｂサーバ３０１が動作する場合）には原稿を利用するサービスは提供しない。これは複写機８０本体の前に立たないとＡＤＦ１への原稿セット等が出来ないからである。
【００５９】
このようにクライアント３０６／セッション３３１に応じて提供する機能（サービス）のスコープをアプリケーション３０４で予め定義して設けておき、アプリケーション３０４の状態変化を、クライアント３０６の利用しているサービスに応じて、通知する。
【００６０】
これにより、アプリケーション３０４からクライアント３０６への不要な状態変化のブロードキャストを行うことを防ぐことが可能となる。
【００６１】
次に、以上のようなセッション３３１、トランザクション３１１、オペレーション３１２の概念を用いた場合の１セッション３３１の開始から終了までの一連の処理の詳細について説明する。
【００６２】
図１１は、この処理について説明するフローチャートである。利用者３０５からの要求を受け付けるために、利用者３０５の操作部３０の操作に応じてクライアント３０６がアプリケーション３０４（メインコントローラ２０が実行）に対しセッション３３１の開始を要求する（ステップＳ１）。このとき、セッション開始要求と共にユーザ情報が入力される。
【００６３】
セッション３３１を張る数には限度があり、その限度を超える場合には（ステップＳ２のＮ）、利用者３０５に対しエラーを報告する。セッション数が限度内にある場合には（ステップＳ２のＹ）、ＮＶ−ＲＡＭ７４に保持されている初期値より認証設定がなされているかをチェックする（ステップＳ３）。もし「認証不要」と設定されている場合には（ステップＳ３のＮ）、そのまま正規のユーザとしてセッションＩＤを発行する（ステップＳ５）。しかし、「認証必要」と設定されている場合には（ステップＳ３のＹ）、セッション開始時に入力されたユーザ情報がＮＶ−ＲＡＭ７４に保持されているユーザ情報と一致しているかをチェックする（ステップＳ４）。もし一致していなければ（ステップＳ４のＮ）、ユーザに対し、ユーザ情報を再度入力するように要求し、入力されたユーザ情報と保持されているユーザ情報が一致した場合（ステップＳ４のＹ）、セッションＩＤを発行する（ステップＳ５）。ただし、このセッションＩＤは操作部３０のクライアント３０６（ＵＩ３０３）にて隠蔽される為、ユーザは意識する必要はない。
【００６４】
セッションＩＤを得たクライアント３０６は続いてトランザクション３１１の開始を要求する（ステップＳ６）。このとき、クライアント３０６は先ほど得たセッションＩＤを入力する。メインコントローラ２０のアプリケーション３０４は、入力されたセッションＩＤと共にそのセッション３３１の状態をチェックし（ステップＳ７のＹ）、問題なしと判断した場合（ステップＳ７のＹ）、トランザクションＩＤを発行する（ステップＳ８）。前述と同様、このトランザクションＩＤはクライアント３０６にて隠蔽されるため、ユーザは意識しない。なお、トランザクション３１１の取消（＝アボート）が発生した場合、このトランザクションＩＤが発行された時点の設定までロールバックすることを保証する。
【００６５】
利用者３０５によるモードの設定（＝オペレーション３１２）が行なわれる際（ステップＳ９）、設定内容と共に、セッションＩＤとトランザクションＩＤが入力される。入力されたセッションＩＤとトランザクションＩＤをチェックすると共に（ステップＳ１０）、アプリケーション３０４側で管理しているセッション情報とトランザクション情報に問題がなければ（ステップＳ１０のＹ）、このオペレーション３１２を利用者３０５の要求として設定する。そして、設定が完了するまで（ステップＳ１２のＹ）、オペレーション３１２を実行する（ステップＳ１１）。利用者３０５によるオペレーション３１２はトランザクション３１１が確定（＝コミット）（ステップＳ１６）、ないし取消（＝アボート）（ステップＳ１７）するまで繰り返し要求可能である。
【００６６】
利用者３０５による一連のオペレーション３１２が終了すると（ステップＳ１２のＹ，Ｓ１３）、利用者３０５はその設定を確定し実行するためにトランザクション３１１のコミット要求をする（ステップＳ１５）。この時も同様にセッション情報とトランザクション情報のチェックを行い（ステップＳ１４）、問題がなければ（ステップＳ１４のＹ）、一連のオペレーション３１２にて設定された仕様に基づきアプリケーション３０４は処理を行なう（ステップＳ１６）。
【００６７】
もし、この時、コミットではなくアボート要求が来た場合には（ステップＳ１７）、ロールバックを行なう（ステップＳ１８のＮ）。また、ユーザの要求がまだ完了していないようなら（ステップＳ１８のＮ）、再度、トランザクション３１１の開始を行なうことになる（ステップＳ６）。
【００６８】
利用者３０５の要求が満たされたと判断した場合には（ステップＳ１８のＹ）、セッション３３１の終了を受付ける（ステップＳ１９）。セッション３３１の終了の際には、セッションＩＤがクライアント３０６から入力されるので、このセッション情報に問題がなければ（ステップＳ２０のＹ）、そのままセッション３３１を閉じて終了とする（ステップＳ２１）。また、何かの異常によりクライアント３０６からの要求が一定時間異常なかった場合、アプリケーション３０４側で自動的にセッション３３１を閉じるものとする。
【００６９】
なお、以上説明した実施の形態においては、本発明の電子機器を複合機と呼ばれる複写機８０で実施した例について説明したが、本発明はこれに限定されるものではなく、レーザプリンタ、ファクシミリ、スキャナなどの事務機器をはじめ、各種の電子機器に適用することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態である複写機の全体構成を説明する概念図である。
【図２】複写機の操作パネルの平面図である。
【図３】複写機の制御系のブロック図である。
【図４】複写機の画像処理系のブロック図である。
【図５】複写機を含むネットワークの構成例の概念図である。
【図６】複写機のシステムのソフトウェア構成を説明するブロック図である。
【図７】トランザクション、セッションの概念について説明する説明図である。
【図８】クライアントとアプリケーションとの間の通信シーケンスの例を示す説明図である。
【図９】クライアントとアプリケーションとの間に張られたセッションについて説明する説明図である。
【図１０】アプリケーションからクライアントへ状態通知を行なう場合について説明する説明図である。
【図１１】セッションの開始から終了までに行われる処理の一例について説明するフローチャートである。
【図１２】複写機の従来のシステム構成におけるソフトウェアについて説明するブロック図である。
【図１３】複写機の従来のシステム構成におけるクライアントとアプリケーションとの通信シーケンス図である。
【符号の説明】
【００７１】
８０  電子機器
３０４  アプリケーション、プログラム
３０６  クライアント、プログラム
３１１  トランザクション
３３１  セッション
３１２  オペレーション
【図１】
2006172066.tif 000003
【図２】
2006172066.tif 000004
【図３】
2006172066.tif 000005
【図４】
2006172066.tif 000006
【図５】
2006172066.tif 000007
【図６】
2006172066.tif 000008
【図７】
2006172066.tif 000009
【図８】
2006172066.tif 000010
【図９】
2006172066.tif 000011
【図１０】
2006172066.tif 000012
【図１１】
2006172066.tif 000013
【図１２】
2006172066.tif 000014
【図１３】
2006172066.tif 000015