[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5193638B2 - 動作制御プログラム - Google Patents

動作制御プログラム Download PDF

Info

Publication number
JP5193638B2
JP5193638B2 JP2008069983A JP2008069983A JP5193638B2 JP 5193638 B2 JP5193638 B2 JP 5193638B2 JP 2008069983 A JP2008069983 A JP 2008069983A JP 2008069983 A JP2008069983 A JP 2008069983A JP 5193638 B2 JP5193638 B2 JP 5193638B2
Authority
JP
Japan
Prior art keywords
job
unit
scenario
execution
basic
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.)
Expired - Fee Related
Application number
JP2008069983A
Other languages
English (en)
Other versions
JP2008271520A (ja
Inventor
彰宏 金川
徹 保井
智義 直田
浩之 高石
隆司 豊田
勝治 古重
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2008069983A priority Critical patent/JP5193638B2/ja
Priority to PCT/JP2008/055219 priority patent/WO2008123123A1/ja
Priority to EP08722583.5A priority patent/EP2040164B1/en
Priority to US12/308,967 priority patent/US8314962B2/en
Publication of JP2008271520A publication Critical patent/JP2008271520A/ja
Application granted granted Critical
Publication of JP5193638B2 publication Critical patent/JP5193638B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、動作制御プログラムに関し、特に、コピー、プリント、スキャン及びファクシミリ送信などの複数種のジョブを実行する際の技術に関する。
画像形成装置の一種である複合機は、コピー、プリント、スキャン及びファクシミリ送信などの複数種のジョブの実行に共通のハードウェア資源を用いるので、これら各ジョブをそれぞれ別個のハードウェアを用いて実現する場合よりも、コストを低減でき、省スペース化も図ることができる。
このような複合機としては、例えば下記特許文献1に示されるように、UNIX(登録商標)などの汎用オペレーティングシステム(汎用OS)を用い、コピー、プリント、スキャン及びファクシミリの各ジョブについてのそれぞれのアプリケーションで共通的に使用されるプログラムと、汎用OSとで、上記各アプリケーションによる動作時に共用されるプラットフォームを構成することにより、各アプリケーションのプログラムステップ数を低減して、プログラム開発効率を高める画像形成装置が開示されている。
特開2002−84383号公報
しかしながら、上記画像形成装置で採用されている技術は、各アプリケーションのプログラムステップ数を低減し、プログラム開発効率を高めてはいるが、依然として上記各ジョブについてのそれぞれ別個のアプリケーションを備えており、上記プラットフォームは上記各ジョブについてのアプリケーションの共通機能を括り出しただけなので、各ジョブの内容変更時においては、当該ジョブを実現させるアプリケーションの設計変更容易性が充分とは言えない。画像形成装置の多機能化により、ジョブ種が増加してアプリケーションが増加及び複雑化しているため、各ジョブを実現させるアプリケーションの設計変更容易性が更に向上することが望まれる。なお、ここでのジョブとは、本来、ユーザがコンピュータに実行させる仕事の単位である。
本発明は、上記の問題を解決するためになされたもので、ユーザがコンピュータに実行させる仕事の単位であるジョブの概念を維持しつつ、ジョブ変更時に当該ジョブを実現させるアプリケーションの設計変更容易性を向上させることを目的とする。
本発明の請求項1に係る動作制御プログラムは、画像形成装置に内蔵されるコンピュータを、
ユーザによりサービスが要求される動作を判断し、当該動作に対応するジョブを、当該ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを選定し、当該選定したジョブシナリオを用いて構築するサービス部と、
前記サービス部により構築されたジョブを構成する各ジョブシナリオが示す処理を順に実行するジョブ遂行部と、
複数の前記ジョブシナリオが、当該各ジョブシナリオに関連付けた識別子と共に記憶された記憶部と、
リソースの割り当て及び開放を行うリソース管理部
として機能させ、
前記サービス部が、
ユーザにより実行が要求される動作を判断し、当該動作に対応するジョブを構成するために必要な1つ又は複数の前記ジョブシナリオを、前記記憶部に記憶されているジョブシナリオから前記識別子により選定するジョブシナリオ選定部と、
前記ジョブシナリオ選定部によって選定されたジョブシナリオと前記ジョブシナリオ選定部から受取った前記識別子を用いて、当該ジョブシナリオで構成されるジョブを構築するジョブ構築部として機能し、
前記ジョブ遂行部が、
前記ジョブ構築部によって構築されたジョブを構成する前記識別子に対応する各ジョブシナリオが示す処理の実行指示を順次出力するジョブ管理部と、
前記ジョブ管理部から出力される指示が示す処理を順に実行するジョブ実行部と、
前記ジョブ実行部にジョブシナリオの実行を指示するジョブ制御部と
して機能するように、
画像形成装置に内蔵されるコンピュータを動作させ、
前記ジョブ管理部は、前記リソース管理部に当該ジョブを構成するジョブシナリオの実行に必要なハードウェア資源を獲得させ、その後、前記ジョブ制御部にジョブシナリオの実行、実行順の変更、中断、再開又はキャンセルのジョブ制御指示を行うように、前記画像形成装置に内蔵されるコンピュータを動作させる
ことを特徴とする
また、本発明に係る動作制御方法は、指示入力部と、画像入力部と、画像出力部と、前記画像入力部から入力される画像を処理して前記画像出力部に送出する画像処理部とを備えた画像形成装置を動作させる動作制御方法であって、
ユーザにより前記指示入力部に入力されたサービスが要求される動作を判断し、当該動作に対応するジョブを、当該ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを選定し、当該選定したジョブシナリオを用いて構築するサービス処理ステップと、
前記サービス処理ステップにより構築されたジョブをなす各ジョブシナリオが示す処理を順に実行するジョブ遂行ステップと
備える。
また、上述の動作制御方法であって、前記サービス処理ステップは、
ユーザにより実行が要求される動作を判断し、当該動作に対応するジョブを構成するために必要な1つ又は複数の前記ジョブシナリオを、前記記憶部に記憶されているジョブシナリオから選定するジョブシナリオ選定ステップと、
前記ジョブシナリオ選定ステップによって選定されたジョブシナリオを用いて、当該ジョブシナリオで構成されるジョブを構築するジョブ構築ステップとを備え、
前記ジョブ遂行ステップは、
前記ジョブ構築ステップによって構築されたジョブを構成する各ジョブシナリオが示す処理の実行指示を順次出力するジョブ管理ステップと、
前記ジョブ管理ステップから出力される指示が示す処理を順に実行するジョブ実行ステップとを備えることが好ましい
また、本発明に係る画像形成装置は、指示入力部と、画像入力部と、画像出力部と、前記画像入力部から入力される画像を処理して前記画像出力部に送出する画像処理部と、装置動作を制御する制御部とを備えた画像形成装置であって、
前記制御部は、
ユーザにより前記指示入力部に入力されたサービスが要求される動作を判断し、当該動作に対応するジョブを、当該ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを選定し、当該選定したジョブシナリオを用いて構築するサービス部と、
前記サービス部により構築されたジョブをなす各ジョブシナリオが示す処理を順に実行するジョブ遂行部と
備える。
また、上述の画像形成装置であって、複数の前記ジョブシナリオが記憶された記憶部を更に備え、
前記サービス部は、
ユーザにより実行が要求される動作を判断し、当該動作に対応するジョブを構成するために必要な1つ又は複数の前記ジョブシナリオを、前記記憶部に記憶されているジョブシナリオから選定するジョブシナリオ選定部と、
前記ジョブシナリオ選定部によって選定されたジョブシナリオを用いて、当該ジョブシナリオで構成されるジョブを構築するジョブ構築部とを備え、
前記ジョブ遂行部は、
前記ジョブ構築部によって構築されたジョブを構成する各ジョブシナリオが示す処理の実行指示を順次出力するジョブ管理部と、
前記ジョブ管理部から出力される指示が示す処理を順に実行するジョブ実行部とを備えることが好ましい
また、上述の画像形成装置であって、前記ジョブ遂行部は、前記サービス部からのジョブ実行指示に応答して、前記画像入力部による画像入力、当該入力された画像の前記画像処理部での画像処理、及び当該画像処理された画像の該画像出力部への供給の各動作を実行指示させることが好ましい
これらの発明によれば、ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを用いて、ユーザによりサービスが要求される動作に対応するジョブを構築するので、当該ジョブシナリオを、複数のジョブを実現するアプリケーションで用いられる機能的に共通するプログラムとして有効利用することが可能になる。
また、この発明では、上記ジョブシナリオを用いてジョブが構築されるので、当該ジョブシナリオ自体のプログラムを設計変更しなくても、複数のジョブシナリオを組み合わせることにより新たなジョブ(サービス)を実現できる。このため、ジョブ変更時に当該ジョブを実現させるアプリケーションの設計変更が容易になる。また、上記ジョブシナリオを追加することにより、ユーザ所望の内容にカスタマイズしたアプリケーションを容易に作成可能となる。
さらに、サービス部においてユーザからのサービス要求を受け付けさせ、ジョブ遂行部においてジョブシナリオに基づいてジョブを実行させるので、ジョブ遂行部の上層に上記サービス部を設けても、サービス実行順変更等のサービス管理部をサービス部内に設ける必要がなく、ジョブシナリオを変更又は追加するだけでジョブの変更又は追加が可能となる。これにより、プログラム構成の複雑化を避けつつ、ジョブを実現させるアプリケーションの設計変更が容易になる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記記憶部に記憶されている複数のジョブシナリオには、複数種類のジョブの構築に共通して用いられる基本ジョブとしての前記ジョブシナリオが含まれており、
前記ジョブシナリオ選定部は、前記ジョブシナリオの選定時に、前記基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを選定し、
前記ジョブ構築部は、前記ジョブシナリオ選定部によって選定された基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを用いて、前記ジョブを構築するように、
画像形成装置に内蔵されるコンピュータを動作させる。
この発明によれば、上記基本ジョブは、複数のジョブの構築に共通して用いられるので、この基本ジョブを変更すれば、これを含む2つ以上のジョブを変更できることになり、ジョブの内容に応じたアプリケーションの設計変更を容易に行うことができる。
また、複数の基本ジョブを組み合わせるだけで容易に多種多様なジョブを作成することができるので、プログラムの開発及び設計変更を容易に行うことができる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記基本ジョブの実行に際し、前記ジョブ実行部からの指示に従って、当該画像形成装置の各機構の動作制御を行うエレメント部として、
更に画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、前記複数のジョブシナリオには、複数種類のジョブの構築に共通して用いられる基本ジョブとしての前記ジョブシナリオが含まれており、
前記ジョブシナリオ選定ステップは、前記ジョブシナリオの選定時に、前記基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを選定し、
前記ジョブ構築ステップは、前記ジョブシナリオ選定ステップによって選定された基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを用いて、前記ジョブを構築することが好ましい
また、上述の画像形成装置であって、前記記憶部に記憶されている複数のジョブシナリオには、複数種類のジョブの構築に共通して用いられる基本ジョブとしての前記ジョブシナリオが含まれており、
前記ジョブシナリオ選定部は、前記ジョブシナリオの選定時に、前記基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを選定し、
前記ジョブ構築部は、前記ジョブシナリオ選定ステップによって選定された基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを用いて、前記ジョブを構築することが好ましい
これらの発明によれば、上層のジョブ遂行部において、サービス要求に対応した基本ジョブが示す処理が順次実行指示されるので、当該ジョブ遂行部よりも下層のエレメント部は、基本ジョブが示す処理に応じて当該画像形成装置の各機構の動作制御を行う機能を有するにも拘わらず、当該エレメント部を設計変更することなく、複数の基本ジョブを組み合わせることで新たなジョブを実現できる。これにより、プログラム構成を複雑にすることなく、ジョブを実現させるアプリケーションを容易に設計変更することが可能になる。
また、上述の画像形成装置であって、前記画像入力手段によって入力された画像のデータを記憶する画像データ記憶部を更に備え、
前記基本ジョブの1つは、前記画像入力手段により画像を入力させ、入力した画像データをファイルとして前記画像データ記憶部に記憶させることが好ましい
この発明では、画像入力部により画像を入力し、入力した画像のデータをファイルとして画像データ記憶部に記憶させる基本ジョブがあることで、(1)この基本ジョブと、例えば、画像データ記憶部に記憶されているファイルをメールで送信する基本ジョブとを組み合わせて、上記入力した画像のデータをメール送信するというジョブを作成する、(2)上記基本ジョブと、例えば、画像データ記憶部に記憶されているファイルを印刷する基本ジョブと組み合わせて、上記入力した画像のデータを印刷するというジョブを作成する等が容易に行えるので、新たなジョブを実現させるアプリケーションを容易に開発又は設計変更することが可能になる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記基本ジョブ又はジョブシナリオは、1つ又は複数のジョブステップから構成され、
前記ジョブ管理部は、前記ジョブ構築部によってジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成する基本ジョブ又はジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
前記ジョブ実行部は、前記実行指示に基づく前記基本ジョブ又はジョブシナリオの実行に際し、前記基本ジョブ又はジョブシナリオを構成する各ジョブステップの実行指示と、前記ジョブ情報に含まれるパラメータから読み出した当該各ジョブステップの実行に必要な情報とを前記エレメント部に出力するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記基本ジョブとして、前記ジョブステップが、当該画像形成装置の画像入力部から画像を入力させるステップと、その入力画像を画像処理するステップと、当該画像処理された画像を当該画像形成装置の画像出力部に供給するステップとを有するものが前記記憶部に記憶されているように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、前記基本ジョブの実行に際し、前記ジョブ実行ステップからの指示に従って、当該画像形成装置の各機構の動作制御を行うエレメントステップを更に備え、
前記基本ジョブ又はジョブシナリオは、1つ又は複数のジョブステップから構成され、
前記ジョブ管理ステップは、前記ジョブ構築ステップでジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成し、前記構築されたジョブを構成する基本ジョブ又はジョブシナリオが示す処理の実行指示を前記ジョブ実行ステップに出力し、
前記ジョブ実行ステップは、前記実行指示に基づく前記基本ジョブ又はジョブシナリオの実行に際し、前記基本ジョブ又はジョブシナリオを構成する各ジョブステップの実行指示と、前記ジョブ情報に含まれるパラメータから読み出した当該各ジョブステップの実行に必要な情報とを前記エレメントステップに出力することが好ましい
また、上述の画像形成装置であって、前記基本ジョブ又はジョブシナリオは、1つ又は複数のジョブステップから構成され、
前記ジョブ管理部は、前記ジョブ構築部によってジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成する基本ジョブ又はジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
前記ジョブ実行部は、前記実行指示に基づく前記基本ジョブ又はジョブシナリオの実行に際し、前記基本ジョブ又はジョブシナリオを構成する各ジョブステップの実行指示と、前記ジョブ情報に含まれるパラメータから読み出した当該各ジョブステップの実行に必要な情報とを前記エレメント部に出力することが好ましい
これらの発明によれば、ジョブ実行部又はジョブ実行ステップは、前記実行指示に基づく基本ジョブ又はジョブシナリオの実行に際し、基本ジョブ又はジョブシナリオを構成する各ジョブステップの実行指示と、ジョブ情報に含まれるパラメータから読み出した当該各ジョブステップの実行に必要な情報とをエレメント部又はエレメントステップに出力するので、エレメント部、又はエレメントステップを行うために必要な構成を設計変更することなく、上述したサービス部又はサービスステップで構築されるジョブシナリオに含まれるジョブステップを追加又は変更するだけで、容易にジョブ遂行部に実行させる機能を設計変更できる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、当該画像形成装置の各機構を動作制御するために当該エレメント部の制御下におかれた各動作制御部を有するミドルウェア部として更に機能し、
前記エレメント部は、前記各動作制御部から受け取る前記各機構の状態通知に基づいて、前記ジョブステップに基づく前記各機構の動作制御指示を前記各動作制御部に出力するように、画像形成装置に内蔵されるコンピュータを動作させる。
また、請求項に記載の発明は、請求項乃至請求項のいずれかに記載の動作制御プログラムであって、前記記憶部は、前記基本ジョブ又はジョブシナリオを、当該各ジョブシナリオに関連付けた識別子と共に記憶し、
前記ジョブシナリオ選定部は、前記動作に対応するジョブを構成するために必要な前記基本ジョブ又はジョブシナリオを前記識別子で特定し、
前記ジョブ構築部は、前記ジョブシナリオ選定部から受け取った前記識別子に基づいてジョブを構築し、
前記ジョブ管理部は、前記ジョブを構成する前記各識別子に対応する前記基本ジョブ又はジョブシナリオが示す処理の実行指示を順次出力し、
前記ジョブ情報には、当該ジョブ情報が示すジョブを構成する前記基本ジョブ又はジョブステップを特定する識別子が含まれており、
前記ジョブ実行部は、前記識別子に基づいて、当該識別子が示す前記基本ジョブ又はジョブシナリオを構成するジョブステップに対応する前記パラメータを、前記ジョブ情報から読み取るように、
画像形成装置に内蔵されるコンピュータを動作させる。
これらの発明によれば、エレメント部は、上記各動作制御部から受け取る前記各機構の状態通知に基づいて、前記ジョブステップに基づく前記各機構の動作制御指示を出力するので、すなわち、従来上記各動作制御部(例えば、ミドルウェア層)に、ジョブ共通部分として組み入れられていたプログラム部分のうち、画像形成装置の機種に依存しない上位のプログラム部分を、本発明に係る動作制御プログラム内に組み入れて取り扱うことができ、これにより、ジョブを実現させるアプリケーションを更に容易に設計変更することが可能になる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部によって、前記ジョブが少なくとも第1基本ジョブと第2基本ジョブとを含んで構築され、
前記第1基本ジョブは、当該画像形成装置の画像入力部から画像を入力させ、その入力画像を画像データとして当該画像形成装置の画像データ記憶部に格納させ、
前記第2基本ジョブは、当該画像形成装置のファクス送信部に、ファクシミリ送信相手先の呼出しを行わせ、当該ファクシミリ送信相手先の呼出しが成功した後で、前記画像データ記憶部に記憶させた画像データを送信させる
ように、画像形成装置に内蔵されるコンピュータを動作させる。
また、請求項に記載の発明は、請求項に記載の動作制御プログラムであって、前記第1基本ジョブ及び第2基本ジョブは、前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部による複数の前記ジョブの構築に共通して用いられる。
また、上述の動作制御方法であって、前記ジョブシナリオ選定ステップ及び前記ジョブシナリオ構築ステップによって、前記ジョブが少なくとも第1基本ジョブと第2基本ジョブとを含んで構築され、
前記第1基本ジョブは、当該画像形成装置の画像入力部から画像を入力させ、その入力画像を画像データとして当該画像形成装置の画像データ記憶部に格納させ、
前記第2基本ジョブは、当該画像形成装置のファクス送信部に、ファクシミリ送信相手先の呼出しが成功した後で前記画像データ記憶部に記憶させた画像データを送信させるものとされることが好ましい
また、上述の動作制御方法であって、前記第1基本ジョブ及び第2基本ジョブは、前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部による複数の前記ジョブの構築に共通して用いられることが好ましい
また、上述の画像形成装置であって、前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部によって、前記ジョブが少なくとも第1基本ジョブと第2基本ジョブとを含んで構築され、
前記第1基本ジョブは、当該画像形成装置の画像入力部から画像を入力させ、その入力画像を画像データとして当該画像形成装置の画像データ記憶部に格納させ、
前記第2基本ジョブは、当該画像形成装置のファクス送信部に、ファクシミリ送信相手先の呼出しが成功した後で前記画像データ記憶部に記憶させた画像データを送信させるものとされることが好ましい
また、上述の画像形成装置であって、前記画像入力部は、当該画像形成装置に接続された外部機器と通信してデータを送受信する通信部であることが好ましい
これらの発明によれば、従来1つのジョブとしてプログラムされていたファックスジョブが、第1基本ジョブと第2基本ジョブとに分離され、これらの組合せで1つのジョブとして構築されるため、プログラム全体として構成の把握が容易となり、またそれぞれの基本ジョブに対応するプログラム部分が簡単化され、第1基本ジョブに関するプログラム及び第2基本ジョブに関するプログラムを、容易に開発及び設計変更できるという効果を奏する。
また、ジョブが時系列で分離された第1基本ジョブと第2基本ジョブとの組み合わせからなることで、該第1基本ジョブにおいてジャムが生じた場合、それ以降の該第2基本ジョブの実行が開始されず、これが開始されたことにより無駄な処理が生ずるのを防ぎ、資源(当該画像形成装置の各機構)利用の無駄を省くことができるという効果を奏する。
また、請求項10に記載の発明は、請求項に記載の動作制御プログラムであって、前記ジョブ管理部は、前記ジョブ構築部によってジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成するジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
前記ジョブ実行部は、当該ジョブ管理部からの実行指示を受けて、前記記憶部に記憶されているジョブ情報を参照し、前記パラメータを用いて、前記ジョブ管理部から出力される前記実行指示が示す処理を順に実行するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、前記ジョブ管理ステップは、前記ジョブ構築ステップによって構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成し、
前記ジョブ実行ステップは、前記ジョブ情報を参照して、前記ジョブ管理ステップから出力される前記実行指示が示す処理を順に実行することが好ましい
また、上述の画像形成装置であって、前記ジョブ管理部は、前記ジョブ構築部によって構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成するジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
前記ジョブ実行部は、当該ジョブ管理部からの実行指示を受けて、前記記憶部に機器臆されているジョブ情報を参照し、前記パラメータを用いて、前記ジョブ管理部から出力される前記実行指示が示す処理を順に実行することが好ましい
従来、ジョブ情報は、ジョブの種類ごとに個別にジョブ情報のフォーマットが作成されていたところ、これらの発明では、それらの情報を一つのデータ構造体にまとめ、各ジョブの種で共通に用いられるデータ構造からなるものとしたので、プログラム間(例えば、ジョブ管理部とジョブ実行部との間等)で、ジョブの種類に関係なくジョブ情報を引き渡せばよい。これにより、プログラム構成の複雑化を避けることができ、もって画像形成装置に係わるプログラムの開発及び設計変更を容易にすることができる。
また、請求項11に記載の発明は、請求項10に記載の動作制御プログラムであって、前記ジョブ管理部は、前記構築されたジョブを構成するジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力するときに、前記生成したジョブ情報の識別子を併せて出力し、
前記ジョブ実行部は、前記ジョブ情報の識別子に基づいて前記記憶部から前記生成されたジョブ情報を読み出して参照するように、画像形成装置に内蔵されるコンピュータを動作させる。
この発明によれば、上記のようにジョブを実行するために各部を多層化して各層間でジョブ情報を伝える場合であっても、ジョブ情報の内容を、引数の代わりにジョブ情報の識別子を用いて伝え、ジョブ実行部は、当該識別子に基づきジョブ情報の内容を取得するので、上記各部間(プログラム間)で用いられる引数を減らすことができる。これにより、画像形成装置に係わるプログラムの開発及び設計変更を容易にすることができる。
また、請求項12に記載の発明は、請求項に記載の動作制御プログラムであって、前記ジョブシナリオ選定部は、ユーザにより前記動作の実行が要求された否かを判断するサービス要求受付部と、当該サービス要求受付部にユーザからの要求が受け付けられた動作に対応するジョブを構成するために必要な前記ジョブシナリオを選定するサービス特定部として機能し、
更に、前記コンピュータが、前記サービス要求受付部にユーザからの要求が受け付けられたとき、当該サービス要求受付部からの認証要求に基づいて、当該ユーザが前記動作の実行を許可されたユーザか否かを判断するシステム管理部として機能し、
前記サービス要求受付部は、前記システム管理部によって、前記ユーザが前記動作の実行を許可されたユーザであると判断された場合に、前記サービス特定部に対して、前記ジョブシナリオの選定を行わせるように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、前記ジョブシナリオ選定ステップは、ユーザにより前記動作の実行が要求された否かを判断するサービス要求受付ステップと、当該サービス要求受付部にユーザからの要求が受け付けられた動作に対応するジョブを構成するために必要な前記ジョブシナリオを選定するサービス特定ステップとを備え、
更に、前記サービス要求受付ステップでユーザからの要求が受け付けられたとき、当該サービス要求受付部からの認証要求に基づき、当該ユーザが前記動作の実行を許可されたユーザか否かを判断する認証ステップを備え、
前記サービス特定ステップは、前記認証ステップで前記ユーザが前記動作の実行を許可されたユーザであると判断された場合に、前記ジョブシナリオの選定を行うことが好ましい
また、上述の画像形成装置であって、前記ジョブシナリオ選定部は、ユーザにより前記動作の実行が要求された否かを判断するサービス要求受付部と、当該サービス要求受付部にユーザからの要求が受け付けられた動作に対応するジョブを構成するために必要な前記ジョブシナリオを選定するサービス特定部とを備え、
更に、前記サービス要求受付部にユーザからの要求が受け付けられたとき、当該サービス要求受付部からの認証要求に基づき、当該ユーザが前記動作の実行を許可されたユーザか否かを判断するシステム管理部を備え、
前記サービス要求受付部は、前記システム管理部によって、前記ユーザが前記動作の実行を許可されたユーザであると判断された場合に、前記サービス特定部に対して、前記ジョブシナリオの選定を行わせることが好ましい
この発明によれば、システム管理部が、ユーザ認証機能を担当するので、ジョブを実現するためのアプリケーション内の機能ブロック数及び層数が低減し、上記のように各機能を実行する各部(機能ブロック)を多層化しても、各部間(これらを実現するプログラム間)の関係が複雑になるのを避けることができ、プログラムの開発及び設計変更を容易にすることができる。
また、請求項13に記載の発明は、請求項1に記載の動作制御プログラムであって、前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部として機能し、
前記サービス部は、ユーザにより前記動作の実行が要求されたとき、当該要求の内容を解析し、当該要求が前記ジョブの構築を要する場合には、前記ジョブ遂行部に対して前記構築したジョブを実行させる指示を出力し、又は、当該要求が前記ジョブの構築を要さずに当該画像形成装置の機構を動作させるものである場合には、前記エレメント部に対して当該機構の動作制御指示を出力し、
前記エレメント部は、前記ジョブ遂行部からの動作制御指示、又は前記サービス部からの動作制御指示に基づいて、前記機構を動作制御するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメントステップを更に備え、
前記サービス処理ステップは、ユーザにより前記動作の実行が要求されたとき、当該要求の内容を解析し、
前記ジョブ遂行ステップは、前記要求が前記ジョブの構築を要する場合には、当該構築されたジョブを実行し、
前記エレメントステップは、前記要求が前記ジョブの構築を要さずに当該画像形成装置の機構を動作させるものである場合に当該機構を動作制御し、又は前記ジョブ遂行ステップからの動作制御指示に基づいて、前記機構を動作制御することが好ましい
また、上述の画像形成装置であって、前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部を更に備え、
前記サービス部は、ユーザにより前記動作の実行が要求されたとき、当該要求の内容を解析し、当該要求が前記ジョブの構築を要する場合には、前記ジョブ遂行部に対して前記構築したジョブを実行させる指示を出力し、又は、当該要求が前記ジョブの構築を要さずに当該画像形成装置の機構を動作させるものである場合には、前記エレメント部に対して当該機構の動作制御指示を出力し、
前記エレメント部は、前記ジョブ遂行部からの動作制御指示、又は前記サービス部からの動作制御指示に基づいて、前記機構を動作制御することが好ましい
従来、機能ブロックが多層化されている場合は、通常上層の機能ブロックから中間層の機能ブロックを介して下層の機能ブロックを呼び出していたが、これらの発明によれば、例えばデータアクセス等、ジョブの構築を要さずに当該画像形成装置の機構を動作させることが可能な制御の場合には、上層機能ブロックから中間層機能ブロックを介さずに直接下層機能ブロックを呼び出すので、ジョブを実現するためのアプリケーションの複雑化を避けることができ、特に中間層機能ブロックの構成を簡単することが可能になる。この簡単化により、ジョブを実現させるアプリケーションの開発及び設計変更が容易になるという効果を奏する。
また、請求項14に記載の発明は、請求項1に記載の動作制御プログラムであって、
前記ジョブ遂行部、前記ジョブシナリオが示す処理を実行する前に、前記ジョブ管理部は、前記リソース管理部に対して、前記各ジョブシナリオが示す処理の実行に必要な前記機構の使用要求をし、前記リソース管理部によって、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理を実行するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、請求項15に記載の発明は、請求項に記載の動作制御プログラムであって、前記ジョブ管理部は、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力する前に、前記リソース管理部に対して、前記各ジョブシナリオが示す処理の実行に必要な前記機構の使用要求をし、前記リソース管理部によって、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、当該画像形成装置の各機構の管理を行うリソース管理ステップを更に備え、
前記ジョブ遂行ステップは、前記ジョブシナリオが示す処理を実行する前に、前記リソース管理ステップにおいて、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理を実行することが好ましい
また、上述の画像形成装置であって、前記ジョブ管理部は、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力する前に、当該ジョブ遂行部の下層に位置して当該画像形成装置の各機構の管理を行う前記リソース管理部に対して、前記各ジョブシナリオが示す処理の実行に必要な前記機構の使用要求をし、前記リソース管理部によって、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力することが好ましい
従来の動作制御プログラムは、ジョブを構成する各処理をそれぞれ実行するごとに、その実行に必要な機構(ハードウェア資源)を確保していたので、途中の処理を実行するに際し、仮に当該処理の実行に必要なハードウェア資源を確保できず待ち状態となっている間に当該ジョブがキャンセルされると、それまで実行された処理が無駄になっていたが、これらの発明によれば、基本ジョブを示す各処理の実行に必要なハードウェア資源を全て確保した後に基本ジョブが実行されるため、仮に上記のような待ち状態中にジョブがキャンセルされても、当該基本ジョブを構成する複数の処理はいずれも実行されず、無駄な処理の実行を回避して、ジョブや処理を保存するためのメモリ資源が上記無駄な処理の記憶のために占有されることがなく、効率的にメモリ資源を使用できる。
また、ジョブは、基本ジョブ又はその組合せで構成されるため、基本ジョブ実行中にエラーが生じた場合、当該エラーを生じた基本ジョブ以降の基本ジョブは実行されない。そのため、エラーを生じた基本ジョブ以降の基本ジョブが開始されてしまうことによる無駄な処理の発生を防止できる。
また、請求項16に記載の発明は、請求項1に記載の動作制御プログラムであって、上層となる前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部として更に機能し、
前記エレメント部は、前記ジョブ遂行部からの動作制御指示に基づいて、前記機構を動作制御するとき、当該機構に動作エラーが生じた場合は、前記ジョブ遂行部に対してエラー通知を行い、
前記ジョブ遂行部は、前記エラー通知を受けたときは、前記エレメント部に対して、ジョブ中断指示を出力するように、
画像形成装置に内蔵されるコンピュータを動作させる。
また、上述の動作制御方法であって、上層となる前記ジョブ遂行ステップから出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメントステップを備え、
前記エレメントステップは、前記ジョブ遂行ステップからの動作制御指示に基づいて、前記機構を動作制御するとき、当該機構に動作エラーが生じた場合は、前記ジョブ遂行部に対してエラー通知を行い、
前記ジョブ遂行ステップは、前記エラー通知を受けたときは、前記エレメントステップに対して、ジョブ中断指示を出力することが好ましい
また、上述の画像形成装置であって、上層となる前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部とを更に備え、
前記エレメント部は、前記ジョブ遂行部からの動作制御指示に基づいて、前記機構を動作制御するとき、当該機構に動作エラーが生じた場合は、前記ジョブ遂行部に対してエラー通知を行い、
前記ジョブ遂行部は、前記エラー通知を受けたときは、前記エレメント部に対して、ジョブ中断指示を出力することが好ましい
この発明によれば、上記のように各機能を実行する各部(機能ブロック)を多層化しても、多層化された各部間での命令の方向がエラーの有無に係らず上層側から下層側となり、当該多層化された各部間の関係の複雑化を避けることができるので、プログラムの開発及び設計変更を容易にすることができる。
本願発明によれば、ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを用いて、ユーザによりサービスが要求される動作に対応するジョブを構築するので、当該ジョブシナリオを、複数のジョブを実現するアプリケーションで用いられる機能的に共通するプログラムとして、有効利用することが可能になる。
また、この発明では、上記ジョブシナリオを用いてジョブが構築されるので、当該ジョブシナリオ自体のプログラムを設計変更しなくても、複数のジョブシナリオを組み合わせることにより新たなジョブ(サービス)を実現できる。これにより、ユーザがコンピュータに実行させる仕事の単位であるジョブの概念を維持しつつ、ジョブ変更時に当該ジョブを実現させるアプリケーションの設計変更が容易になる。また、上記ジョブシナリオを追加することにより、ユーザ所望の内容にカスタマイズしたアプリケーションを容易に作成可能となる。
以下、本発明の一実施形態に係る動作制御プログラム、動作制御方法、及び画像形成装置について図面を参照して説明する。
〔1〕ハードウェア概略構成
図1は、本発明の一実施形態に係る画像形成装置10のハードウェア構成を示す概略ブロック図である。
この画像形成装置10は、MPU11にインタフェース12を介してEEPROM13E1、EEPROM13E2、DRAM13D、HDD14、操作パネル15、スキャナ16S、プリンタ16P、NIC17、ファクシミリモデム18、及び圧縮・伸張ASIC19が結合されて構成される。図1では、簡単化のため、複数のインタフェースを1つのブロックで示している。
EEPROM13E1及び13E2は、例えばフラッシュメモリである。EEPROM13E1には、BIOS(Basic Input Output System)が格納されている。EEPROM13E2には、本発明の実施形態に係る動作制御プログラムが格納されている。MPU11は、当該EEPROM13E2に格納されている当該動作制御プログラムに従って、後述する図3に示す各部として機能する。DRAM13Dはワークエリア用である。画像データ記憶部としてのHDD14はデータ格納用である。なお、本発明の実施形態に係る動作制御プログラムは、HDD14に記憶され、MPU11が、当該HDD14に記憶された動作制御プログラムに従って、後述する図3に示す各部として機能するものとしてもよい。
この動作制御プログラムは、CD−ROMやフレキシブルディスク等の記録媒体に記録されている場合は、この記録媒体を図略の記録媒体駆動装置に装填してインストールすることでHDD14に記憶される。また、動作制御プログラムがインターネット上のWEBサーバに記憶されている場合は、WEBサーバから表示制御プログラムをダウンロードすることにより、当該動作制御プログラムがHDD14に記憶されるようにしてもよい。
操作パネル15は、例えばLCD(Liquid Crystal Display)等を備え、設定値又は指示を入力し、設定画面や状態などを表示させるためのものである。本実施形態では、操作パネル15が、LCDに設けられたタッチパネルと、ハードウェアキーの組み合わせで構成されている。
画像入力部としてのスキャナ16Sは、スキャン、コピー及びファクス送信での画像入力に用いられる。画像出力部としてのプリンタ16Pは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備え、印刷対象データが画像処理されてなるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。
画像入力部及び画像出力部の一部としてのNIC(Network Interface Card)17は、ケーブル又は無線の通信媒体を介してホストコンピュータ20に結合され、プリントジョブ、電子メール送受信、インターネットファクシミリ送信及びブラウザからの操作パネル15の遠隔操作に用いられる。ファクシミリモデム18は、ファクシミリ送受信用である。
圧縮・伸張ASIC19は、MPU11のコプロセッサとして用いられ、例えば画像の圧縮及び伸張にそれぞれ2ポートを有し、最大4並列処理が実行可能である。
[2]ソフトウェア設計思想
まず、ソフトウェア設計思想について説明する。
従来の画像形成装置の1つである複合機では、プリント動作、コピー動作及びファクス動作などのユーザサービスに対応する各動作を実行するためのアプリケーションは、それぞれ別個に設けられていた。すなわち、1つのアプリケーションは、上記ユーザサービスの1つと対応し、複合機はこのユーザサービスを提供するために1つのアプリケーションを用いてジョブを実行していた。しかし、アプリケーション同士には、部分的に共通する管理や制御が存在するため、各アプリケーションがそれぞれに当該共通する管理や制御を備えるのは無駄である。そこで、本実施形態は、ユーザが複合機に実行させたい動作のためのジョブを、当該ジョブの構成要素となる各パーツ(後述するジョブシナリオ)を組み合わせることで立案し、当該ジョブを実行することでユーザ所望の動作が行われるようにする。なお、ジョブとは、ユーザがコンピュータに実行させる仕事の単位である。
本実施形態は、ジョブを各パーツ(後述するジョブシナリオ又は基本ジョブ)に分解し、当該各パーツの組み合わせで表現する。すなわち、本実施形態は、(1)各パーツの組み合わせと、(2)これらの実行順でジョブを表すこととし、この(1)+(2)に従って、1つ又は複数のパーツを順次実行することによりジョブを実行する。これにより、ジョブ毎にアプリケーションが作成されることで各アプリケーションの内容が複雑化することを避ける。また、多機能化に伴いジョブ種を増やしたり、機能を追加、変更する必要がある場合に、プログラムの設計変更を容易にする。
また、本実施形態に係る動作制御プログラムは、機能別に多層化されることで設計変更が更に容易にされている。本実施形態に係る動作制御プログラムは、サービス層とジョブ層とエレメント層とに分けて多層化されている。
本実施形態に係る動作制御プログラムは、さらに、サービス層内及びジョブ層内をより具体的に機能別に多層化されることで、設計変更が容易にされている。
さらにまた、本実施形態に係る動作制御プログラムの上記エレメント層の更に下層には、ミドルウェア層が設けられている。当該ミドルウェア層は、主にハードウェアを、その状態に応じて機種に依存せず上記動作制御プログラムが比較的簡単に制御(「操作」と称す。)できるようにするための基本的なプログラムを備える。このミドルウェア層の存在により、本実施形態に係る動作制御プログラムが簡単化され、設計変更が容易になる。
しかし、このように、ジョブに対応したプログラムの設計変更容易化のために、本実施形態に係る動作制御プログラムが多層化されると、各層間における指示や信号のやり取りが複雑になる。そこで、以下に説明するように、本実施形態に係る動作制御プログラムは、ユーザから実行が要求されるサービスの種類によっては、ジョブ層を通さずにサービスを実行(指示伝達を簡単化)したり、ジョブ情報の伝達を簡単化したり、指示と通知の伝達方向を統一したりすることで、プログラムの設計変更が容易になるようにしている。
以下、本発明の実施形態に係る動作制御プログラムに従った動作で実現されるMPU11の機能を説明する。
[3]本発明の実施形態に係る動作制御プログラムの階層構造
図2は、本発明の一実施形態に係る動作制御プログラムの階層構造を示す概略ブロック図である。具体的には、本発明の実施形態に係る動作制御プログラムに従ったMPU11の動作制御により当該階層構造が実現される。以下、MPU11の動作制御で実現される当該階層構造をソフトウェア階層構造として説明する。
ソフトウェア階層構造は、アプリケーション層50と、ミドルウェア層40と、OS(Operating System)層30とを備える。OS層30が最下層となり、OS層30の上層には、ミドルウェア層40を介してアプリケーション層50が存在する。アプリケーション層50と、ミドルウェア層40と、OS層30が、本発明の一実施形態に係る動作制御プログラムによって実現される各部である。
アプリケーション層50は、コモン部51と、システム管理部52と、下層のエレメント層60と、中間層のジョブ層70と、上層のサービス層80とを備えている。
サービス層(サービス部)80は、ユーザからのサービス要求を受け付けて、ジョブ層70及びエレメント層60を介してユーザにサービスを提供するものである。上述のように、サービス層80で受け付けたサービスは、ジョブ層70を介さずにエレメント層60又はシステム管理部52で実行されるものがあるため、これらのサービスを「ジョブ」と区別するために「ワーク」と称す。各サービスは、ジョブ又はワークに対応し、ジョブはジョブ層70により実行される。該ジョブは、1つ又は複数のジョブシナリオ(基本ジョブ)で構成される。さらに、ジョブシナリオ(基本ジョブ)は、1つ又は複数のジョブステップで構成される。当該ジョブステップは、ジョブ層70によりエレメント層60を随時利用して実行される。
図3は、各層に含まれる機能部を示す。各機能部は、上記動作制御プログラムに従ったMPU11による動作で実現される。図2中の矢印付線は、主な処理の流れを示す。
[4]OS層
OS層30は、ハードウェアに依存したデバイスドライバ31と、OS32とを備える。デバイスドライバ31はOS32の下層に位置し、OS32に登録される。OS32は汎用であり、そのカーネルは例えばLinux(登録商標)である。
[5]ミドルウェア層
ミドルウェア層40は、デバイス制御部41と、画像処理部42と、リソース管理部43とを備えている。
デバイス制御部41は、デバイスドライバ31を介し、操作パネル15、スキャナ16S、プリンタ16P、NIC17及びファクシミリモデム18を制御し、また、これらデバイスの状態通知を当該各デバイスから受け取る。
画像処理部42は、圧縮・伸張ASIC19の制御、画像の拡大、縮小、回転処理、及びRIP(Raster Image Processor)などの処理を行う。
リソース管理部43は、リソースごとのリソース要求キューに従って、リソースを割り当て、割り当てたリソースが使用済みになったら当該リソースを解放する。
[6]アプリケーション層
以下、アプリケーション層50について説明する。
アプリケーション層50は、コモン部51と、システム管理部52と、サービス層80と、ジョブ層70と、エレメント層60とを備える。
[6−1]コモン部51
コモン部51は、システム管理部52、エレメント層60、ジョブ層70及びサービス層80で共通に用いられるプログラムと、機種に依存する設定値(例えば、スキャナ設定や給排紙設定における、機能の組合せによる禁則設定(アルゴリズム))が条件を満たしているか否かを判定するプログラムとを含んでいる。コモン部51により、システム管理部52、エレメント層60、ジョブ層70及びサービス層80のプログラムが簡単化され、かつ、機種に依存しないものとなり、設計変更が容易となる。
[6−2]システム管理部52
システム管理部52は、システムの状態を管理し、ユーザの認証・認可処理を行う。すなわち、システム管理部52は、ログイン処理及びログイン後のサービス要求許否の処理を担当する。また、システム管理部52は、画像形成装置10に備えられる各システムでエラーが発生した場合は、その通知を必要な箇所に分配する。
[7]エレメント層
エレメント層(エレメント部)60は、デバイス操作部61、画像処理操作部62及びエンティティ部63の各機能部を備えている。
デバイス操作部61は、ミドルウェア層40のデバイス制御部41に対応している。デバイス操作部61は、デバイス制御部41から通知される各デバイス(各機器)の状態に応じて、デバイス制御部41を操作する。
画像処理操作部62は、ミドルウェア層40の画像処理部42に対応している。画像処理操作部62は、中間データの生成などの処理を行い、また、上記画像処理部42に画像の圧縮、伸張、拡大、縮小、回転及びRIPなどの処理を行わせる。
なお、デバイス操作部61及びエンティティ部63はいずれも、画像入力部及び画像出力部を制御又は操作するためのものである。
エンティティ部63は、データの保持と管理を行う。
[8]ジョブ層
ジョブ層(ジョブ遂行部)70は、ジョブの実行を管理する。ジョブ層70は、エレメント層60の1つの機能部内にあるプログラムを起動し、又はエレメント層60の複数の機能部内のプログラムをシーケンシャルに起動して、ジョブを実行する。
ジョブ層70は、ジョブ管理部71、ジョブ制御部72、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75、及びアウトプットステップ実行部76の各ステップ実行部と、これらからアクセス可能なジョブ情報記憶部(記憶部)77とを備えている。なお、説明の便宜のため、ジョブ管理部71及びジョブ制御部72を含むものを「応用ジョブ層」と称し、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を含むものを「基本ジョブ層」と称す。
ジョブ管理部71は、サービス層80からのジョブ開始要求に応じて、当該ジョブ開始要求時点における当該ジョブの設定情報(ジョブの実行に必要なパラメータであって、各ジョブに共通して用いられるデータ構造からなる情報)をコピーしてジョブ情報を生成する。但し、ジョブ管理部71がコピーする設定情報は、ユーザにより要求されて実行の対象とされているジョブに対応する部分のみでよい。このジョブ情報は、ジョブID、ジョブシナリオ識別子、ジョブの設定情報とからなる。図4に、ジョブ情報を構成する各要素を示す。ジョブ管理部71は、リソース管理部43に、当該ジョブを構成するジョブシナリオ(基本ジョブ)の実行に必要なハードウェア資源を獲得させ、その後ジョブ制御部72にジョブの実行、実行順の変更、中断、再開又はキャンセルなどのジョブ制御指示を行う。
ジョブ制御部72は、上記ジョブ管理部71からのジョブ制御指示に応答し、その指示がジョブの実行の場合、基本ジョブ実行部73に対して、当該ジョブを構成するジョブシナリオの処理を順次実行指示する。
ここで、ジョブシナリオは、画像形成装置10による動作を行うために必要な一連の処理を、ジョブステップの組み合わせと、当該各ジョブステップの実行順とで構成したものである。例えば、スキャナ16Sで原稿を読み取ってHDD14に記憶させるという動作の単位を「Scan To Box」と称する場合、ジョブシナリオは、Scan To Boxを実行するために必要なジョブステップの組み合わせと、当該各ジョブステップの実行順で構成される。本実施形態では、各種のジョブは、1つ又は複数のジョブシナリオを組み合わせることで構築される。また、複数種類のジョブで共通して行われる基本的な動作を実行するためのジョブシナリオであって、複数種類のジョブの構築に共通して用いられるジョブシナリオを基本ジョブと称する。このジョブシナリオは、条件に応じて、実行するジョブステップを選択する条件分岐命令を含んでもよい。例えば、ジョブシナリオは、出力リソース待ちの場合、出力を急ぐため、出力可能な別の出力リソースを、当該出力を行う出力リソースに変更するようにしてもよい。
基本ジョブ実行部73は、基本ジョブを実行する。基本ジョブ実行部73は、イメージジョブ実行部73a及びアクセスジョブ実行部73bを備える。基本ジョブ実行部73は、上記ジョブ制御部72から出力されてくる基本ジョブの実行指示に応答し、基本ジョブが画像処理に係るものである場合にはイメージジョブ実行部73aを起動し、基本ジョブが画像処理に係るものではない場合にはアクセスジョブ実行部73bを起動する。
イメージジョブ実行部73aは、ジョブシナリオ(基本ジョブ)の内容に従って、画像処理対象の頁ごとに、インプットステップ実行部74、エディットステップ実行部75又はアウトプットステップ実行部76を起動して、当該ジョブシナリオ(基本ジョブ)を構成する各ジョブステップを順次実行させる。
アクセスジョブ実行部73bは、エレメント層60にあるデバイス操作部61又はエンティティ部63に、画像処理を伴わない基本ジョブを実行させる。アクセスジョブ実行部73bは、例えば、デバイス操作部61、デバイス制御部41、デバイスドライバ31及びNIC17に、特定の状態変化を電子メールで通知するための処理を実行させる。
インプットステップ実行部74は、イメージジョブ実行部73aからの指示に基づいて、デバイス操作部61又はエンティティ部63を介して画像入力に係わるジョブステップを実行する。インプットステップ実行部74は、例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介して、スキャナ16Sに原稿画像データを読み込ませるための処理を行う。また、インプットステップ実行部74は、例えば、エンティティ部63が保持している印刷ファイルをファクシミリモデム18により送信する場合には、エンティティ部63から印刷ファイルを取得するための処理等も、インプットステップとして実行する。
エディットステップ実行部75は、画像処理操作部62を介して行う画像編集に係わるジョブステップを実行する。エディットステップ実行部75は、例えば、画像処理操作部62及び画像処理部42を介して未編集の印刷データに対し拡大、縮小、回転などを行うための処理を行う。
アウトプットステップ実行部76は、デバイス操作部61又はエンティティ部63に画像出力に係わるジョブステップを実行させる。アウトプットステップ実行部76は、例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介してプリンタ16Pに印刷データを印刷させるための処理を行う。
[9]サービス層
サービス層80は、上層のユーザサービス受付部81と、下層のユーザサービス実行部82と、システムサービス実行部83とを備えている。
ユーザサービス受付部(サービス要求受付部、サービス特定部、ジョブシナリオ選定部)81は、ユーザから画像形成装置10の各動作の実行要求を例えばイベント通知により受け付けて、ユーザの要求が何であるかを判断する。ユーザサービス受付部81は、当該要求に応えるために、ユーザサービス実行部82に対して、当該要求が示すサービスの実行を指示する。
具体的には、まず、ユーザサービス受付部81は、操作パネル15、NIC17又はファクシミリモデム18等からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介して上記ユーザからの要求を受け付ける。そして、ユーザサービス受付部81は、当該受け付けた要求を解析し、当該要求が示す動作に対応するジョブを判別し、当該ジョブを構成するために必要なジョブシナリオを、ジョブ情報記憶部77に記憶されているジョブシナリオの中から選定する。ジョブ情報記憶部77には、画像形成装置10で行われる基本的な各動作に対応するジョブシナリオが記憶されている。また、ジョブ情報記憶部77には、各ジョブシナリオを識別するための識別子(例えば、「Scan To Box」等)が、それぞれのジョブシナリオに付されて記憶されている。ユーザサービス受付部81は、選定した各ジョブシナリオの識別子をジョブ情報記憶部77から読み出し、当該識別子をユーザサービス実行部82に引き渡すことにより、ユーザサービス実行部82にサービスの実行を指示する。
上記ユーザによって要求される画像形成装置10の動作、すなわち、上記要求されるサービスとしては、コピー、ファクス送受信、電子メール送受信、メンテナンス、ソフトウェアのアップデート等がある。但し、エンティティ部63が保持する設定情報(例えば、ジョブログ情報、部門管理情報、文書ボックス情報、ステータス情報、アドレス帳情報、機種情報等)等のデータの表示や変更などの簡易なサービス要求を受け付けた場合は、アプリケーションの複雑化を避けるため、ユーザサービス実行部82に実行を指示せず、エンティティ部63に直接サービスの実行を指示する。
ユーザサービス実行部(ジョブシナリオ選定部)82は、上記ユーザサービス受付部81からのサービス実行指示に応答して、当該サービス実行指示として受け取った各ジョブシナリオの識別子をジョブ管理部71に引き渡し、さらにジョブ管理部71にジョブの開始指示をすることで、サービス実行のための処理を行う。ユーザサービス実行部82は、上記ユーザサービス受付部81によって選定された各ジョブシナリオの実行順を決定することで、上記ジョブを構築する。
システムサービス実行部83は、画像形成装置10の各機構の使用要求を、システム管理部52を介して受け付け、ジョブ管理部71を呼び出すことによりサービスを実行する。本実施形態では、システムサービス実行部83は、システムからの要求は、後述する通知サービスのみ受け付けるが、他のサービス要求、例えば所定の時刻に自動的にFAX送信又はメンテナンスをするサービス等を受け付けるように設計してもよい。
システムサービス実行部83は、システム管理部52から画像形成装置10の各機構又はジョブの状態変化の通知を受け取ると、エンティティ部63に格納されている上記設定情報に基づきジョブ管理部71に対し通知ジョブの実行を指示する。当該通知ジョブは、通常の上記ジョブとした独立した別個のものであり、ユーザ設定のイベント、例えば実行中のジョブでエラーが発生したりファクス送信が完了したりした時に、設定した通知手段でユーザに該イベントの発生を通知するものである。この設定情報は、ユーザへの通知要否、通知すべきイベント、プリントや電子メールなどの通知手段、電子メールの場合には通知先などを含み、操作パネル15から変更が可能である。
以下、本発明の実施形態に係る動作制御プログラムによる処理、特にアプリケーション層50が種々のサービス要求に対応して行う処理のフローを説明する。
[10]プリントサービス実行フロー
図5は、プリントサービス実行時のフローを示す図である。図5における各機能部間を結ぶ矢印付線は、各機能部間での指示の送受信状態を示す。以下、括弧内の番号は、図5に示した実行指示識別符号を示す。
(A01、A02)イベントドリブンにより、ホストコンピュータ20からの印刷対象データが、NIC17及びデバイスドライバ31を介して、リソース管理部43によって確保されるDRAM13Dのバッファ領域内に格納される。その一方、デバイス制御部41及びデバイス操作部61を介して、プリントサービス実行要求と、DRAM13Dのバッファ領域内に格納されている上記印刷データを特定するためのデータ識別情報とがユーザサービス受付部81に通知される。
(A03)ユーザサービス受付部81は、今回の通知がプリントサービス実行要求であるため、プリントサービスのジョブを構成するために必要な1つ又は複数のジョブシナリオを選定する。ユーザサービス受付部81は、選定した各ジョブシナリオの識別子と、当該サービスに対応するジョブを行うための上述した設定情報(例示は図4参照)とをユーザサービス実行部82に引き渡すことにより、ユーザサービス実行部82にプリントサービスの実行を指示する(ユーザサービス実行部82を起動する)。この設定情報には、上記データ識別情報と、プリントジョブを行うために必要なデータとしてEEPROM13E2に設定されている現在の設定値が含まれている。
ユーザサービス実行部82は、上記ユーザサービス受付部81からのプリントサービス実行指示に応答して、図6のシーケンス図に示す動作を行うことにより、プリントサービスを実行する。以下、この動作を具体的に説明する。
(A04)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った識別子で示される各ジョブシナリオの実行順を決定する。これにより、当該プリントジョブを構成するジョブシナリオが構築される。続いて、ユーザサービス実行部82は、ジョブ管理部71を起動し、上記ユーザサービス受付部81から受け取った各ジョブシナリオの識別子及びジョブシナリオの実行順情報で構成される当該プリントジョブを、ジョブ管理部71に引き渡してプリントジョブの開始指示をする。
(A05)ジョブ管理部71はこれに応答して、ジョブ情報記憶部77に、当該プリントジョブについて、初期化されたジョブ情報のインスタンスを生成する。このインスタンスは、ジョブ情報のディフォルト値を持っている。次に、ジョブ管理部71は、上記受け取ったプリントジョブにジョブIDを割当て、ジョブ情報に、ジョブIDと、ジョブシナリオの識別子及びジョブシナリオの実行順とを書き込む。
(A06)ジョブ管理部71は、上記ジョブ情報の生成及び書き込みを完了すると、ユーザサービス実行部82に上記ジョブIDを通知する。
(A07、A08)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った上記設定情報を、上記ジョブ管理部71から受け取ったジョブIDを有するジョブ情報に書き込む。次いで、ユーザサービス実行部82は、ジョブ管理部71に対し、プリントジョブの開始を指示する。
(A09〜A11)ジョブ管理部71は、これに応答して、システム管理部52にジョブ開始をジョブIDとともに通知する。さらに、ジョブ管理部71は、当該ジョブIDを有するジョブ情報をジョブ情報記憶部77から読み出すことで、当該プリントジョブを構成するジョブシナリオの識別子を取得し、当該識別子が示すジョブシナリオの内容を解析し、当該ジョブシナリオの実行に必要な各種リソースを特定する。そして、ジョブ管理部71は、リソース管理部43に対し、当該ジョブシナリオの実行に必要であると特定したリソースの獲得要求、すなわち、メモリや圧縮・伸張ASIC19などのハードウェア資源の獲得要求をする。ジョブ管理部71は、このハードウェア資源の獲得後、上記ジョブIDをジョブ制御部72に引き渡すとともに、プリントジョブの制御を指示する。
(A12)ジョブ制御部72は、これに応答して、受け取ったジョブIDを有するジョブ情報に書き込まれているジョブシナリオの識別子をジョブ情報記憶部77から読み出し、当該識別子を基本ジョブ実行部73に引き渡すとともに、当該識別子が示すジョブシナリオの実行を指示する。ここで、本実施形態では、ユーザから実行が要求されている当該プリントジョブは1つの基本ジョブからなるジョブシナリオで構成されるので、ジョブ制御部72はこの基本ジョブだけを実行指示する。但し、例えばユーザから実行が要求されているジョブが、複数の基本ジョブやジョブシナリオから構成される場合は、ジョブ制御部72は、ユーザサービス実行部82で決定された基本ジョブ及びジョブシナリオの実行順に従って、1つの基本ジョブ又はジョブシナリオを実行指示し、その実行完了後、次の基本ジョブのジョブシナリオを実行指示するというように、複数の基本ジョブ及びジョブシナリオのそれぞれを順次実行指示する。
従来技術では、ジョブの実行時、ジョブ実行指示が、プログラム階層におけるミドルウェア層40まで順に降りてから、メモリなどのジョブに必要なハードウェア資源を獲得していたので、ハードウェア資源を獲得できずに待ち状態となっている時にジョブがキャンセルされると、それまでの処理が無駄になったが、本実施形態では、ジョブ管理部71がリソース管理部43にハードウェア資源を獲得させた後に、ジョブ制御部72に、基本ジョブの実行を指示するため、当該処理の無駄をなくすことができる効果を奏する。
続いて、基本ジョブ実行部73は、上記基本ジョブ実行指示に応答して、ジョブ制御部72から受け取ったジョブシナリオを示す識別子を、イメージジョブ実行部73aに伝達することで当該識別子が示す基本ジョブの実行を指示し、イメージジョブ実行部73aを起動する。イメージジョブ実行部73aは、これに応答して、ジョブ情報記憶部77を参照して、実行が指示された基本ジョブの内容を解析し、これに従って、以下のように、ステップ実行部74〜76に対するジョブステップのシーケンス制御を行う。
すなわち、イメージジョブ実行部73aは、基本ジョブ実行部73から実行指示された基本ジョブを構成する複数のジョブステップ(例えば、画像入力、画像処理(省略される場合有)及び画像出力のジョブステップ)を、当該基本ジョブであるジョブシナリオに従って、ステップ実行部74〜76に順次実行指示する。なお、ここでは、ジョブ制御部72が基本ジョブ実行部73に実行指示し、基本ジョブ実行部73がイメージジョブ実行部73aを起動してジョブステップの実行指示を行う場合を説明したが、ジョブ制御部72が直接にイメージジョブ実行部73aを起動してジョブステップの実行指示を行うようにしてもよい。
(A13)上記シーケンス制御において、イメージジョブ実行部73aは、まず、指示された基本ジョブが示す実行順に従って、各ジョブステップの実行指示と上記ジョブIDを、インプットステップ実行部74に引き渡すと共に、インプットステップ実行部74を起動する。
(A14)インプットステップ実行部74は、これに応答して、受け取ったジョブIDを有するジョブ情報から、当該ジョブ情報に書き込まれているジョブ種(ここではプリントジョブ)に対応する上記設定情報を読み取り、これに基づき、画像処理操作部62に、該設定情報に含まれる上記データ識別情報(印刷対象データを特定するための情報)を渡すとともに、画像処理操作部62を起動する。
(A15〜A18)画像処理操作部62は、これに応答して、まず、上記データ識別情報をデバイス操作部61に引き渡し、リソース管理部43が確保しているバッファ領域内の印刷データのうち、当該データ識別情報が示す印刷データをデバイス操作部61に取得させ、この印刷データを逐次解析して、これに含まれる所定の情報(当該印刷データについて画像処理及びプリントアウト処理等のプリントサービスを実行するために必要とされる情報)をジョブ情報に書き込む。その後、画像処理操作部62は、画像処理部42に、未編集の印刷出力頁データを順次作成させる。そして、画像処理操作部62は、1ページ分の印刷出力頁データを作成するごとに、インプットステップ実行部74に作成完了を通知するとともに、当該作成を完了した頁データを示す識別子をインプットステップ実行部74に引き渡す。
(A19)インプットステップ実行部74は、画像処理操作部62から上記作成を完了した頁データの識別子を受け取ると、これに応答して、基本ジョブ実行部73内のイメージジョブ実行部73aに、当該ページデータの作成完了を通知するとともに、当該作成を完了した頁データの識別子を引き渡す。
(A20)イメージジョブ実行部73aは、インプットステップ実行部74から上記作成を完了した頁データの識別子を受け取ると、これに応答して、上記基本ジョブに従って、当該作成を完了した頁データの識別子とジョブIDとをエディットステップ実行部75に引き渡すとともにこれを起動する。なお、ここで説明しているプリントジョブを構成する基本ジョブでは当該A20の処理を行うが、他のジョブシナリオでは、エディットステップ実行部75を起動しない場合があり、その場合は、A20乃至A23の処理を行わず、ステップA24の処理に移る。
(A21〜A23)エディットステップ実行部75は、イメージジョブ実行部73aから上記作成を完了した頁データの識別子とジョブIDとを受け取ると、これに応答して、ジョブIDが示すジョブ情報から上記所定の設定情報(当該印刷データについて画像処理及びプリントアウト処理等のプリントサービスを実行するために必要とされる情報)を読み取り、これに基づいて、画像処理操作部62に画像処理実行指示を出力し、当該画像処理操作部62に、画像処理部42の対応するメソッドを呼び出させて、該頁データに対し拡大、縮小、回転などの画像編集を行わせる。エディットステップ実行部75は、画像処理操作部62及び画像処理部42による当該画像編集が完了し、画像処理操作部62から当該頁データの画像編集完了通知を受けると、基本ジョブ実行部73内のイメージジョブ実行部73aに、当該作成を完了した頁データの識別子と、当該頁データの画像編集完了とを通知する。
(A24)イメージジョブ実行部73aは、上記頁データの画像編集完了通知を受けると、上記基本ジョブに従って、当該画像編集が完了した頁データを示す識別子と、当該ジョブのジョブIDとをアウトプットステップ実行部76に引き渡すとともに、アウトプットステップ実行部76を起動する。
(A25)アウトプットステップ実行部76は、イメージジョブ実行部73aから上記画像編集が完了した頁データを示す識別子と上記ジョブIDとを受け取ると、これに応答して、当該ジョブIDを有するジョブ情報から上記所定の設定情報を読み取り、これに基づいてデバイス操作部61を起動する。
(A26〜A28)デバイス操作部61は、アウトプットステップ実行部76からの上記指示に応答して、コモン部51を呼び出して上記所定の設定情報が機種に依存する条件を満たしているか否かを判定させ、コモン部51が肯定判定した場合には、該設定情報に基づいてデバイス制御部41を介して用紙への印刷処理を行う。また、コモン部51が否定判定した場合には、デバイス操作部61は、該印刷処理を行わないまま自己の処理を終えるか、又は該コモン部51から取得した、該設定情報の代替情報に基づいて該印刷処理を行う。
(A29)アウトプットステップ実行部76は、全ての頁に対する上記デバイス操作部61及びデバイス制御部41による上記印刷処理が完了し、デバイス操作部61から当該完了通知を受けると、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(A30)イメージジョブ実行部73aは、アウトプットステップ実行部76から上記全ての頁に対する印刷の完了通知を受けると、基本ジョブを参照して、ジョブステップを全て実行完了したか否かを判断し、ジョブステップを全て実行完了したと判断した場合、すなわち、当該基本ジョブの実行が完了したと判断した場合、ジョブ制御部72に基本ジョブの完了を通知する。
(A31)ジョブ制御部72は、これに応答して、ジョブ管理部71にこの基本ジョブ完了を、当該基本ジョブについてのジョブIDとともに通知する。
(A32〜34)ジョブ管理部71は、これに応答して、リソース管理部43に、当該ジョブの開始時に獲得した上記ハードウェア資源を解放させる。そして、ジョブ管理部71は、上記受け取ったジョブIDが示すジョブ情報をジョブ情報記憶部77から消去し、かつ、当該ジョブの完了を、ジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。
このように、全ジョブ種に共通のデータ構造を有するジョブ情報を備えておき、これを利用するインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76内のプログラムにおいて、ジョブ情報が保持しているジョブ種に応じた上記所定の設定情報をジョブ情報から取得するので、プログラム構成が簡単になって設計変更が容易となるという効果を奏する。
また、イメージジョブ実行部73aが、ユーザから実行要求のあったジョブを構成する基本ジョブ(ジョブシナリオ)に基づき、各ステップ実行部74〜76に実行指示するので、各ステップ実行部74〜76内のプログラムの詳細を変更せずとも、該基本ジョブ(ジョブシナリオ)の内容を変更するだけで、新たなジョブ種を容易に作成でき、ジョブの設計変更が容易となる効果を奏する。
[11]ファクス送信サービス実行フロー
図6は、各機能部の間を矢印付線で結んでファクス送信サービス実行時のフローを示す図である。
(B01、B02)ユーザは、ファクス送信サービス要求時、操作パネル15を操作してファクス送信先等の設定を行い、操作パネル15上のスタート釦を押下する。デバイスドライバ31は、当該操作パネル15でのユーザによるキー押下を検出して、当該キー押下に対応するコードをデバイス制御部41に供給する。デバイス制御部41は、状態と入力キーコードとに基づいて状態遷移を行うことにより当該入力情報をトークン化し、当該トークン化された入力情報を、デバイス操作部61に供給する。
(B03)デバイス操作部61は、上記トークン化された入力情報に基づき、ここから要求や設定値を解釈してこれをユーザサービス受付部81に供給する。
(B04)ユーザサービス受付部81はこれに応答して、ファクス送信のジョブを構成するジョブシナリオを選定し、ユーザサービス実行部82に対し、選定したジョブシナリオの識別子と、ファクス送信サービスのジョブを行うための上述した設定情報(例示は図4)を渡してファクス送信サービスの実行を指示する。
(B05)ユーザサービス実行部82は、これに応答して、ユーザサービス受付部81から受け取った識別子で示される各ジョブシナリオの実行順を決定する。これにより、当該ファクス送信ジョブを構成するジョブシナリオが構築される。続いて、ユーザサービス実行部82は、ジョブ管理部71を起動し、上記ユーザサービス受付部81から受け取った各ジョブシナリオの識別子及びジョブシナリオの実行順情報で構成される当該ファクス送信ジョブを、ジョブ管理部71に引き渡してファクス送信ジョブの開始指示をする。
(B06、B07)ジョブ管理部71は、これに応答して、ジョブ情報記憶部77に、初期化されたジョブ情報のインスタンスを生成する。次に、ジョブ管理部71は、上記受け取ったファクス送信ジョブにジョブIDを割当て、ジョブ情報に、当該ジョブIDと、当該ファクス送信ジョブを構成する各ジョブシナリオの識別子とを書き込む。ジョブ管理部71は、上記ジョブ情報の生成及び書き込みを完了すると、ユーザサービス実行部82に上記ジョブIDを通知する。
(B08、B09)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った上記設定情報(例示は図4参照)を、上記ジョブ管理部71から受け取ったジョブIDを有するジョブ情報に書き込む。次いで、ユーザサービス実行部82は、ジョブ管理部71に対し、ファクス送信ジョブの開始を指示する。
(B10〜B12)ジョブ管理部71は、これに応答して、システム管理部52にジョブ開始をジョブIDとともに通知し、さらに、ジョブ管理部71は、当該ジョブIDを有するジョブ情報をジョブ情報記憶部77から読み出して、各ジョブシナリオの識別子を取得し、当該識別子が示す各ジョブシナリオの内容を解析し、当該ジョブシナリオの実行に必要な各種リソースを特定する。そして、ジョブ管理部71は、リソース管理部43に対し、当該ファクス送信ジョブを構成するジョブシナリオであって、最初に実行されるジョブシナリオ(後述するScanToBoxの基本ジョブ)を実行するのに必要であると特定したリソース(DRAM13D内の領域やスキャナ16Sなど)のハードウェア資源の獲得要求をする。ジョブ管理部71は、このハードウェア資源の獲得後、上記ジョブIDをジョブ制御部72に引き渡すとともに、ファクス送信ジョブの制御開始指示をする。
(B13)ジョブ制御部72はこれに応答して、受け取ったジョブIDを有するジョブ情報に書き込まれている識別子のうち、最初に実行される基本ジョブ(ここでは、ScanToBox基本ジョブ)の識別子をジョブ情報記憶部77から読み出し、当該識別子を基本ジョブ実行部73に引き渡すとともに、当該識別子が示すジョブシナリオ(ここではScanToBoxの基本ジョブ)を実行指示する。
ここで、ファクス送信ジョブは、ScanToBox基本ジョブとBoxToFax基本ジョブとで構成され、ScanToBox基本ジョブを行った後に、BoxToFax基本ジョブを行うという実行順とされる。すなわち、ファクス送信ジョブは、スキャナ16Sから原稿画像を読み取ってそのファイルをボックス(ディレクトリ)に入れるまでのScanToBox基本ジョブと、送信先を呼び出し次いで該ボックスからファイルを取り出してファクス送信するBoxToFax基本ジョブとの組み合わせである。
基本ジョブ実行部73は、上記基本ジョブ実行指示に応答して、ジョブ制御部72から受け取った上記基本ジョブを示す識別子を、イメージジョブ実行部73aに伝達することで当該識別子が示す基本ジョブの実行を指示し、イメージジョブ実行部73aを起動する。イメージジョブ実行部73aはこれに応答して、ジョブ情報記憶部77を参照して、実行が指示された基本ジョブ(ジョブシナリオ)の内容を解析し、これに従って、以下のように、ステップ実行部74〜76に対するジョブステップのシーケンス制御を行う。
すなわち、イメージジョブ実行部73aは、基本ジョブ実行部73から実行指示された基本ジョブを構成する複数のジョブステップ(例えば、画像入力、画像処理(省略される場合有)及び画像出力のジョブステップ)を、基本ジョブであるジョブシナリオに従って、ステップ実行部74〜76に順次実行指示する。
(B14)上記シーケンス制御において、イメージジョブ実行部73aはまず、指示された基本ジョブが示す実行順に従って、各ジョブステップの実行指示と上記ジョブIDを、インプットステップ実行部74に引き渡すと共に、インプットステップ実行部74を起動する。ジョブ情報IDをインプットステップ実行部74に引き渡すとともにこれを起動する。
(B15〜17)インプットステップ実行部74は、これに応答して、受け取ったジョブIDを有するジョブ情報から上記設定情報を読み取り、これに基づいて、デバイス操作部61及びデバイス制御部41に、スキャナ16Sから1頁分の原稿画像データを読み込ませる。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。
(B18)インプットステップ実行部74は、デバイス操作部61から上述した処理における原稿画像データの格納アドレス及び範囲などの頁情報を受け取ると、ジョブ情報記憶部77内の当該ファクス送信処理に対応するジョブ情報に該原稿画像データの格納アドレス及び範囲などの頁情報を書き込んだ後、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(B19)イメージジョブ実行部73aは、これに応答して、上記基本ジョブに従って、当該ファクス送信ジョブのジョブIDをアウトプットステップ実行部76に引き渡すとともに、アウトプットステップ実行部76を起動する。
(B20、B21)アウトプットステップ実行部76は、これに応答して、当該ジョブIDを有するジョブ情報から上記頁情報を含む上記設定情報を読み取り、これに基づいて、該原稿画像データを直に又はファイルとしてエンティティ部63に格納し、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(B22)イメージジョブ実行部73aは、これに応答して、基本ジョブ(ScanToBoxのジョブシナリオ)を参照して、ジョブステップを全て実行完了したかを判断し、すなわち、ScanToBox基本ジョブの実行が完了したと判定した場合は、ジョブ制御部72にこの完了を通知する。
(B23)ジョブ制御部72はこれに応答して、ジョブ管理部71に、当該基本ジョブ(ScanToBox)の完了をジョブIDとともに通知する。
(B24)ジョブ管理部71は、これに応答して、リソース管理部43に、当該基本ジョブ開始時に獲得した上記ハードウェア資源を解放させる。さらにジョブ管理部71は、上記ジョブIDが示すジョブ情報記憶部77内のジョブ情報を参照し、次の基本ジョブ(BoxToFax)があることを読み出して、リソース管理部43に、この次の基本ジョブ(BoxToFax)の実行に必要なファクシミリモデム18などのハードウェア資源の獲得要求をする。
(B25〜B27)ジョブ管理部71は、上記資源獲得後、上記ジョブ情報から送信先FAX番号を読み取り、直接、デバイス操作部61を介してデバイス制御部41に宛先呼出制御を実行させる。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。
この呼出制御が失敗すると、次の処理へ進めないという意味で、この制御はリソース確保に類似しており、共にジョブ管理部71の責務とすることで、プログラム構造が整理されて設計変更容易性に寄与する。
なお、当該BoxToFaxの基本ジョブ実行に必要なDRAM13D内の領域は、画像形成装置10の立ち上げ時の初期化処理で予め確保されており、この時点でハードウェア資源を獲得する必要はない。
(B28〜B30)デバイス制御部41は、送信先ファクスのオンフックを検知すると、デバイス操作部61を介してこれをジョブ管理部71に通知する。
(B31)ジョブ管理部71はこれに応答して、ジョブ制御部72にジョブの次制御を指示する。
(B32)ジョブ制御部72はこれに応答して、上記ジョブ情報を参照し、これに従って、基本ジョブ実行部73に、次に実行する基本ジョブであるBoxToFaxの識別子を引き渡すとともに、当該基本ジョブ(BoxToFax)の実行を指示する。
基本ジョブ実行部73はこれに応答して、イメージジョブ実行部73aに、ジョブIDと基本ジョブ(BoxToFax)の識別子とを伝達するとともに、イメージジョブ実行部73aを起動する。イメージジョブ実行部73aは、これに応答して、当該受け取った識別子が示す基本ジョブの内容を解析し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。
(B33)このシーケンス制御において、イメージジョブ実行部73aは、まず、指示された基本ジョブが示す実行順に従って、各ジョブステップの実行指示と上記ジョブIDをと、インプットステップ実行部74に引き渡すと共に、インプットステップ実行部74を起動する。
(B34、B35)インプットステップ実行部74は、これに応答して、受け取ったジョブIDを有するジョブ情報に書き込まれている、ジョブ種(ファクス送信ジョブ)に応じた上記設定情報(上記頁情報を含む)を読み取り、これに基づき、ファイルをエンティティ部63から読み出し、イメージジョブ実行部73aにジョブステップの完了を通知する。
(B36)イメージジョブ実行部73aはこれに応答して、上記基本ジョブ(Box To Fax)に従って、次のジョブステップを実行させるために、ジョブIDをアウトプットステップ実行部76に引き渡すとともにこれを起動する。なお、本実施形態では、画像処理を省略しているのでエディットステップ実行部75を呼び出さないが、呼び出す場合には、エディットステップ実行部75は、呼出し側のFAX装置の性能に合わせた画像処理を行う。
(B37〜B41)アウトプットステップ実行部76は、これに応答して、上記ジョブIDが示すジョブ情報から上記設定情報を読取り、これに基づいてエンティティ部63に格納されている画像データ又はファイルを取得し、デバイス操作部61を介しデバイス制御部41に、取得した画像データ又はファイル内のデータをファクス送信させ、イメージジョブ実行部73aにジョブステップの完了を通知する。
(B42)イメージジョブ実行部73aは、これに応答して、基本ジョブの内容を参照して、ジョブステップを全て実行完了したと判断できれば、すなわち、基本ジョブを構成する全てのジョブステップの実行が完了したと判断できれば、ジョブ制御部72に、当該基本ジョブ(Box To Fax)の完了を通知する。
(B43)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了(Box To Fax)をジョブIDとともに通知する。
(B44〜B46)ジョブ管理部71はこれに応答して、リソース管理部43に、BoxToFax基本ジョブ実行のために獲得したハードウェア資源を解放させ、次にジョブ情報を参照して、ファクス送信ジョブを構成する全ての基本ジョブを実行完了したと判断して、当該ジョブIDが付されたジョブ情報をジョブ情報記憶部77から消去し、ジョブ完了を当該ジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。
本実施形態によれば、応用ジョブ層でジョブシナリオに基づいて1つ以上の基本ジョブを実行するので、基本ジョブ層以下を変更することなく基本ジョブを組み合わせてジョブを追加し又は変更することができ、これによりジョブの設計変更が容易になるという効果を奏する。
また、本実施形態では、画像入力からそのファイルの保存までを1つの基本ジョブ(ScanToBox)と定義するので、上記に示した制御にならえば、これ(基本ジョブ(ScanToBox))と、その他の基本ジョブとを組み合わせて複数のジョブを実現できる。例えば図8に示すように、(1)ScanToBox、(2)BoxToPrint、(3)BoxToFax、及び(4)BoxToE−mailの4つの基本ジョブを定義することにより、それぞれの基本ジョブだけでなく、これらを組み合わせてなる3つのジョブ、すなわち、
(5)ScanToBox+BoxToPrint=ScanToPrint
(6)ScanToBox+BoxToFax=ScanToFax
(7)ScanToBox+BoxToE−mail=ScanToE−mail
の各ジョブをさらに定義することができる。また、基本ジョブ1つを変更すればこれを含んで構成されるジョブの内容を変更できることになるため、ジョブを変更する際の設計変更容易化の効果が高められるとともに、画像形成装置10の各動作を実行させるためのアプリケーションの構成がより簡単化されるという効果を奏する。
さらに、ファクス送信ジョブがScanToBox基本ジョブとBoxToFax基本ジョブの組み合わせであるので、例えばScanToBox基本ジョブにおいてジャムが生じた場合、ScanToBox基本ジョブにおけるジャムが解消されない限り、BoxToFax基本ジョブの実行が開始されない。このため、ScanToBox基本ジョブにおけるジャム発生で処理実行が停滞しているにも拘わらず、次のBoxToFax基本ジョブの実行が開始されてしまうことにより無駄な処理が生ずるような事態を回避することができる効果を奏する。
[12]スキャンサービス実行フロー
図9は、スキャンサービス実行時のフローを示す図である。このサービスは、上記ScanToBox基本ジョブと同様の処理手順で実現される。但し、図9では、スキャン入力とファイル出力との間に画像編集処理を含んでいる。
[13]ボックス内ファイル印刷サービス実行フロー
図10は、各機能部間を矢印付線で結んでボックス内ファイル印刷サービス実行時のフローを示す図である。このサービス(BoxToPrintの基本ジョブ)は、上記BoxToFaxの基本ジョブにおけるファクス制御に関する処理を、プリント制御に関する処理に置き換えることにより、処理の流れとしては、BoxToFaxの基本ジョブと同様に行うことができる。但し、当該BoxToPrintの基本ジョブでは、ファイル読み出しと印刷出力との間に、プリント処理に必要な画像編集処理を含む。
[14]スキャンサービス実行時にジャムが発生したときのフロー
図11は、スキャンサービス実行時にジャムが発生した時のフローを示す図である。図11における各機能部間を結ぶ矢印付線は、各機能部間での指示の送受信状態を示す。
このスキャンサービスのジョブは、1つのScanToBox基本ジョブから構成される。以下では、基本ジョブ実行部73内のイメージジョブ実行部73aによる処理から説明する。
(E01)イメージジョブ実行部73aは、まず、指示された基本ジョブ(ScanToBox)が示す実行順に従って、各ジョブステップの実行指示と上記ジョブIDを、インプットステップ実行部74に引き渡すと共に、インプットステップ実行部74を起動する。
(E02〜E04)インプットステップ実行部74は、これに応答して、受け取ったジョブIDを有するジョブ情報から上記設定情報を読み取り、これに基づいてデバイス操作部61及びデバイス制御部41等を介しスキャナ16Sから1頁分の原稿画像データを読み込もうとする。
(E05、E06)この際、スキャナ16Sのオートシートフィーダでジャムが発生すると、デバイス制御部41からデバイス操作部61へジャム発生が通知される。
ここで、デバイス操作部61は、デバイス制御部41からの通知がエラー発生であるので、システム管理部52に、当該エラー発生を示す通知を、当該エラー発生の対象となっている機器を記す識別子と、現在実行中のジョブを示すジョブIDとともに通知する。一方、デバイス操作部61は、デバイス制御部41からの通知がエラー発生ではない場合には、該通知をジョブIDとともにインプットステップ実行部74に通知する責務を有する。
(E07)したがって、デバイス操作部61は、ジャム発生を上記機器の識別子及びジョブIDとともに起動元(すなわち、この場合はシステム管理部52)に通知する。
(E08、E09)システム管理部52は、上記エラー発生の通知を受けると、これを、上記機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、ジョブIDとともにジョブ管理部71に通知する責務を有する。
(E10、E11)デバイス操作部61は、これに応答して、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上に、上記機器識別子に対応した機器でエラが発生したこと(ジャムが生じたこと)を表示させる。
(E12)一方、ジョブ管理部71は、該通知に応答して、該ジャムエラーをジョブ制御部72に通知する。ジョブ制御部72は、該エラーが、予め定められた中断事由に該当するか否かを判定する。
(E13)ここでジャムエラーは中断事由と定義されているものとする。このため、ジョブ制御部72は、基本ジョブ実行部73内のイメージジョブ実行部73aに対しジョブの中断を指示する。
(E14〜E17)イメージジョブ実行部73aは、これに応答して、現在実行中のインプットステップ実行部74及びデバイス操作部61を介して、デバイス制御部41にスキャナ16Sの動作を中断させる。
(E18、E19)スキャナ16Sの動作が中断すると、デバイス制御部41からデバイス操作部61へスキャナ16Sの動作停止が通知される。
(E20)デバイス操作部61は、インプットステップ実行部74に該停止を通知する。
(E21〜E23)インプットステップ実行部74は、イメージジョブ実行部73a及びジョブ制御部72を介して、ジョブ管理部71にこの停止を通知する。
(E24)ジョブ管理部71は、この通知がジョブの状態変化であるので、これをシステム管理部52に通知する。
(E25〜E27)システム管理部52は、この通知がジョブ状態変化であるので、デバイス操作部61及びデバイス制御部41を介してこの停止を通知することにより、操作パネル15上に動作停止を表示させる。ユーザは、ジャムエラー発生によるスキャン中止の表示を見てジャムを解除させる。
(E28、E29)上記ユーザによるジャム解除がスキャナ16Sにより検出されると、これがデバイス制御部41を介してデバイス操作部61に通知される。
(E30)デバイス操作部61は、ジャムエラー解除をシステム管理部52に通知する。
(E31、E32)システム管理部52は、この解除を、一方では機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、他方ではジョブIDとともにジョブ管理部71に通知して、ジョブ再開を受付可能にする。
(E33、E34)デバイス操作部61は、この解除通知に応答して、デバイス制御部41及びデバイスドライバ31を介して、操作パネル15上のジャムエラー表示を消す。
(E35〜E37)ユーザが、ジョブを再開させるために、操作パネル15上のスタートキーを押下すると、当該ユーザによるジョブ再開指示は、ジョブIDとともにデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介して、ユーザサービス受付部81に供給される。
(E38〜E47)ユーザサービス受付部81は、これに応答して、ユーザサービス実行部82及びジョブ管理部71を介してジョブ制御部72にScanToBox基本ジョブを再開させる。ジョブ制御部72は、基本ジョブ実行部73内のイメージジョブ実行部73aに基本ジョブ再開を指示する。イメージジョブ実行部73aはこれに応答して、現在中断中のジョブステップ実行部、この場合にはインプットステップ実行部74に対し、処理を再開させる。インプットステップ実行部74はこれに応答して、デバイス操作部61を介しデバイス制御部41を動作させる。これにより、スキャナ16Sによる原稿画像読取り動作が再開される。
本実施形態によれば、エラー発生又はエラー解除の場合に、デバイス操作部61からシステム管理部52を介してジョブ管理部71にこれが通知され、ジョブ管理部71から下層側へ順次動作の中断又は再開の指示が行われるので、モジュール間で指示の方向がエラーの有無に係らず上層側から下層側となり、これにより、ジョブ層70のプログラムの構成が簡単になって、プログラムの設計変更が容易となる。
[15]通知サービス実行フロー
図12は、故障が発生した場合、例えばプリント実行中にプリンタ16Pの給紙カセット1から給紙できなくなった場合に、システムが能動的に通知サービスを要求して故障発生通知サービスを実行するフローを示す図である。
以下では、デバイス制御部41によるプリント実行中の動作から説明する。
(F01〜F03)この故障(プリンタ16Pの給紙カセット1の故障)が検出されると、デバイス制御部41はこれをデバイス操作部61に通知する。デバイス操作部61は、当該エラーの内容を示す識別子(エラー識別子)をエンティティ部63に記入するとともに、エラーイベントの発生をシステム管理部52に通知する。
(F04〜F06)システム管理部52は、このエラーイベント発生の通知を受けると、これに応答して、当該エラーイベントを解析し、給紙カセット1が無効にされた、すなわち給紙カセット1の切り離しが行われたと判定した場合は、これをデバイス操作部61及びデバイス制御部41を介し操作パネル15に表示させる。
(F07)ここで、エンティティ部63には、ユーザへの通知要否、通知すべきイベント(機器やジョブ状態の変化)、プリントや電子メールなどの通知手段、電子メールの場合には通知先などが、実行可能な通知処理として複数組記述されている。システム管理部52は、エンティティ部63を参照して、エラーをユーザに通知する必要があると判定した場合、実行させる通知処理を示す識別子を伴って、システムサービス実行部83に通知を要求する。なお、ここでは、システム管理部52は、エンティティ部63を参照して、エラーをユーザに通知する必要があると判定したものとする。
(F08)システムサービス実行部83は、上記通知要求を受け付けると、上記通知処理の識別子をジョブ管理部71に引き渡すとともに、通知ジョブを生成させる指示を送り、通知サービスを実行する。
(F09、F10)ジョブ管理部71は、これに応答して、上記ユーザサービス受付部81及びユーザサービス実行部82によるジョブシナリオ(基本ジョブ)を用いたジョブ生成と同様にして通知ジョブを生成し、リソース管理部43に、通知ジョブ実行に必要なメモリやNIC17などのハードウェア資源を獲得させ、この獲得後、ジョブ制御部72に上記通知ジョブのジョブIDを引き渡すとともにジョブ制御指示をする。なお、ここでは、通知ジョブを構築するために必要なジョブシナリオ(基本ジョブ)が、例えば、ジョブ情報記憶部77に用意されているものとする。
(F11)ジョブ制御部72は、これに応答して、受け取ったジョブIDを有するジョブ情報に書き込まれているジョブシナリオ(基本ジョブ)の識別子をジョブ情報記憶部77から読み出し、当該識別子を基本ジョブ実行部73に引き渡すとともに、当該識別子が示すジョブシナリオ(基本ジョブ)の実行を指示する。
基本ジョブ実行部73はこれに応答して、ジョブ制御部72から受け取ったジョブシナリオ(基本ジョブ)を示す識別子を、アクセスジョブ実行部73bに伝達することで当該識別子が示すジョブシナリオ(基本ジョブ)の実行を指示し、アクセスジョブ実行部73bを起動する。
(F12〜F14)アクセスジョブ実行部73bは、上記ジョブシナリオ(基本ジョブ)に従って、デバイス操作部61、デバイス制御部41、デバイスドライバ31及びNIC17に、カセット1の切り離しを通知する電子メールを送信する。
従来では、このような通知がプリントジョブと一体になっていたが、本実施形態ではこの通知が通知ジョブとして通常のジョブと独立して定義され、通常のジョブと同様に通知サービスに応答して通知ジョブが実行されるので、通常のジョブを実行するプログラムの構成が簡単化され、且つ、通知ジョブを構成する基本ジョブを他の基本ジョブと組み合わせて新たな又は既存のジョブを容易に定義することができるので、アプリケーションの設計変更が容易となる。
[16]アドレス帳編集フロー
図13は、操作パネル15上からアドレス帳を編集する時のフローを示す図である。アプリケーションの設計変更を容易にするためにアプリケーション層50を多層化すると、層間及び各機能部間の関係が増えて構成が複雑になる。これを避けて構成を簡単化するため、アドレス帳編集フローでは以下の処理を行う。なお、これまでに述べたフローと同様の処理は説明を省略する。
(G01〜G03)ユーザが操作パネル15を操作してアドレス帳の編集サービス要求指示を入力すると、当該指示がデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介して、ユーザサービス受付部81に伝達される。
(G04)当該指示はアドレス帳の編集サービス要求であるので、ユーザサービス受付部81は、ユーザサービス実行部82及びジョブ層70を介さずに、直接エンティティ部63内のアドレス帳編集プログラムを、ワークとして起動させる。
(G05〜G08)これにより、アドレス帳編集の操作画面の表示データを示す識別子をエンティティ部63がユーザサービス受付部81にデバイス操作部61へ供給させる。この識別子に基づいて、デバイス制御部41及びデバイスドライバ31が、当該操作画面の表示データを操作パネル15に表示させる。この後、ユーザによりインタラクティブにアドレス帳の編集が行われる。
本実施形態では、エンティティ部63に対するアクセスについては、ユーザサービス受付部81でサービス要求を受け付けて、サービス要求の受け付け処理の統一化を図る一方、ユーザサービス受付部81からジョブ層70を介さずに直接エンティティ部63をアクセスするように構成しているので、アプリケーション層50の複雑化が避けられ、特にジョブ層70及びユーザサービス実行部82の構成が簡単になるという効果を奏する。この簡単化により、アプリケーション層50の設計変更が容易となるという効果を奏する。
[17]ログイン実行フロー
ログイン処理(ユーザのログインを認可するか否かを判定する処理)を有効にするか否かはユーザによって設定可能とされ、そのためのデータはエンティティ部63に格納されている。以下の説明では、この処理が有効になっている場合を説明する。
図14は、ログイン実行時のフローを示す図である。
(H01〜H03)操作パネル15からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介して、パスワードの入力を伴うユーザからのログイン処理の実行要求がユーザサービス受付部81まで伝達されると、ユーザサービス受付部81はそのサービス要求を解釈する。
(H04)ユーザサービス受付部81は、このサービス要求がログイン要求であると解釈すると、ジョブ層70を介さずに、システム管理部52内のログインプログラムを、ワークとして直接起動させる。
(H05〜H10)システム管理部52はこれに応答して、操作パネル15から入力された上記パスワードがエンティティ部63に登録されているものと一致するか否かを判定する。システム管理部52は、その結果をユーザサービス受付部81、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介して、操作パネル15上に表示させる。
[18]認可実行フロー
図15は、認可が有効に設定され、かつログイン中である場合における通常のサービス実行時のフローを示す図である。上述したフローで行われる処理と同様の処理は説明を省略する。
(I01〜I03)操作パネル15からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介して、ユーザからの認可処理の実行要求がユーザサービス受付部81まで伝達されると、ユーザサービス受付部81はそのサービス要求を解釈する。
(I04)ユーザサービス受付部81は、当該サービス要求が認可処理のサービス要求と判断した場合、ユーザサービス実行部82に対しサービス実行を指示する前に、システム管理部52に認可処理をワークとして指示する。
(I05〜I07)システム管理部52はこれに応答して、エンティティ部63のデータを参照して、ログインしているユーザがこのサービスを受けられるか否かを判定し、その結果をユーザサービス受付部81に通知する。
(I08〜I11)ユーザサービス受付部81は、これが肯定判定の通知である場合、ユーザサービス実行部82に、ユーザから実行が要求されているサービスのジョブシナリオの識別子と該サービスを実行するために必要な上述した設定情報とを渡して、ユーザサービス実行部82にサービスの実行を指示する。否定判定の通知である場合には、サービス要求を受け付けず、その旨を示す表示をデバイス操作部61、デバイス制御部41及びデバイスドライバ31を介して操作パネル15上に表示させる。
従来では、上記認可処理はサービスの1つとして定義されておらず、サービス層80の上層で認可処理が行われていたが、本実施形態では、認可処理もサービスの1つとして取扱うことにより、処理の統一化を図るとともに、ユーザサービス実行部82及びジョブ層70を介さずに直接システム管理部52をユーザサービス受付部81から起動させることで、特にユーザサービス実行部82及びジョブ層70の構成の複雑化が避けられて、これらの設計変更が容易となるという効果を奏する。
次に、DRAM13D内のデータ領域確保処理を説明する。図16は、データ領域を必要とする複数種の基本ジョブが並列処理で実行されている場合のDRAM13D内のメモリマップを示した図である。
上記画像形成装置10のような複合機では、複数種のジョブがデータ領域として1つのメモリ資源を共通に用いることとなるので、図16に示す如く、新たなジョブ実行に必要な領域がメモリ内に無くなる場合が生じ、仮にこのようの場合にデータ領域を必要とする新たなジョブを実行するためには、メモリ内に十分な空き領域が確保されるまで待機する必要がある。
よって、以下に、データ領域を即座に使用することが可能な方法を説明する。図17は、電源投入時の処理のフローチャートである。以下、括弧内は同図中のステップ識別符号である。図18はデータ領域確保後のDRAM13Dのメモリマップを示した図である。
(S1)電源投入時、EEPROM13E1に格納されているBIOSが起動される。
(S2)BIOSは、画像形成装置10のハードウェアの初期化処理及びソフトウェアの初期化処理等を行う。
(S3)BIOSは次に、EEPROM13E2に格納されているOS32を起動させる。
(S4)OS32は、図18に示す如く、DRAM13Dの空き領域をブロック単位に区切り、データ領域として確保させる。この1つのブロックは、例えば1頁分の画像データを格納可能な領域である。なお、図18では、OS32が使用するDRAM13D内の領域を省略している。
(S5)OS32はこの確保後、上述した本実施形態に係る動作制御プログラム等を起動する。なお、本実施形態では、OS32及びアプリケーションはEEPROM13E2上で起動するが、SDRAM等にこれらをロードしてそこから起動するようにしてもよい。
この後、ユーザサービス実行部82によりジョブが実行開始指示されると、例えば図5に示すステップA10においてリソース管理部43は、以下のような処理を行う。
図19は、本発明の一実施形態に係わるリソース管理部43の処理のフローチャートを示す図である。図20は、このフローチャートの一部の説明図である。括弧内は図19中のステップ識別符号である。
(S10)リソース管理部(資源確保部)43は、図18に示すDRAM13D内のデータ領域として確保した空きブロックのうちの1つを基本ジョブ実行用に獲得する(図20参照)。
(S11)リソース管理部43は、DRAM13D内にまだ空きブロックがあるか否かを判定する。リソース管理部43は、肯定判定した場合には処理を終了し、否定判定した場合には次のステップS12へ進む。なお、図20に示すプリント基本ジョブ及びScanToBox基本ジョブは、1頁分のデータ用に1ブロックを使用している。
(S12)リソース管理部43は、規則に基づき退避ブロックを決定する。ここで、リソース管理部43は、例えば最も多くのブロックを使用している基本ジョブを見つけ出し、これら複数のブロックのうちで最も処理が後に行われるブロックを退避ブロックとする規則に基づいて、退避ブロックを特定する。また、互いに等しいブロック数を使用している基本ジョブが複数ある場合には、リソース管理部43は、予め設定された優先順位に従って、1つの基本ジョブを特定し、この中で最も処理が後に行われるブロックを退避ブロックに決定する。また、リソース管理部43は、上記最も多くのブロックを使用している基本ジョブのうちで最も処理が後に行われるブロックを退避ブロックとすることに代えて、複数の基本ジョブの中で待機中の基本ジョブにおいて最も処理が後に行われるブロックを退避ブロックとする規則に基づいて退避ブロックを特定してもよい。
(S13)リソース管理部43は、図20に示す如く、補助記憶装置、例えば外付フラッシュメモリ(図1には不図示)に、上記のようにして決定した退避ブロック内のデータを一時的に退避させる。リソース管理部43は、例えばDRAM13D内に空きブロックが2つ以上確保された時に、当該退避したブロック内のデータを、当該空きブロックに戻す。
このようにすることで、次にリソース管理部43がデータ領域を確保する場合、DRAM13D内には、常に空きブロックが存在することになるので、ジョブ実行開始時にメモリ資源が不足した状態となるのを防ぐことができ、即座にその空きブロックをデータ領域として使用することができるという効果を奏する。
また、リソース管理部43が上記処理を行うことで、電源起動時にDRAM13D内に予めデータ領域が確保されるようにすれば、電源起動時にOS32やアプリケーションによってDRAM13D内の一部の領域を他の用途に利用されても、リソース管理部43が使用できるデータ領域が常に確保されるという効果を奏する。
なお、本発明は、外にも種々の変形実施形態を含む。
例えば、図3において、ジョブ情報記憶部77はジョブ毎にジョブ情報を記憶するため、ジョブ層70に含めたが、ジョブ情報記憶部77をジョブ層70の外部に配置することもでき、例えばエンティティ部63やコモン部51等に含めてもよい。
また、図3のデバイス操作部61とデバイス制御部41との分割の境界をどこにするかには任意性があり、デバイス操作部61はデバイス制御部41を用いて機種に依存せずデバイスを制御するものであればよい。
さらに、図3に示す複数の機能部を一つにまとめて構成してもよい。例えば、(1)ユーザサービス受付部81及びユーザサービス実行部82を一つのユーザサービス提供部として、(2)またジョブ制御部72、イメージジョブ実行部73a及びアクセスジョブ実行部73bを一つのジョブ実行部として、(3)さらにインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を一つのステップ実行部として、構成してもよい。
さらにまた、図3に示す各機能部をどの層60〜80に配置するかは適宜変更が可能である。例えばジョブを構成するジョブシナリオを順次実行指示させるジョブ制御部72を、ジョブ層70より上層のサービス層80におけるユーザサービス実行部82内又はこれよりも下位に配置してもよい。この場合、ジョブ管理部71は、ジョブ制御部72により基本ジョブの実行指示を受け付け、この基本ジョブに必要なハードウェア資源をリソース管理部43に対して確保させ、その後基本ジョブ実行部73に上記実行指示を伝達する。この構成によれば、図3に示す各機能部の配置に任意性をもたせることができる。
また、図3に示すシステム管理部52は、システムの状態管理及び上記認証処理によるユーザ管理の両方を一括して行っているが、両者のうちいずれか一方のみを管理し、システム管理部52とは別の機能部が他方の管理をする構成であってもよい。さらに、システム管理部52の責務であるユーザ管理のうち、図14に示すログイン処理又は図15に示す認可処理を、別の機能部の責務とする構成にしてもよい。
さらにまた、図3に示すミドルウェア層40の各機能部41〜43の一部又は全部を、アプリケーション層50内のものとし、本発明の一実施形態に係る動作制御プログラムの一部として、ミドルウェア層40の各機能部41〜43が機能する構成であってもよい。
基本ジョブ(ジョブシナリオ)は、複数のジョブステップとその実行順の情報を含むものであればよく、例えば関数fnc(inputKind, editKind, outputKind)の引数の組(inputKind, editKind, outputKind)であってもよい。ここにinputKind, editKind及びoutputKindはそれぞれ画像入力手段、画像処理及び画像出力手段の種類に対応しており、関数fncにおいてこの順に処理が行われ、引数の並び順がジョブステップ実行順を示している。
同様に、ジョブは、1つ以上のジョブシナリオ(基本ジョブ)とその実行順の情報を含むものであればよく、例えば関数fnc(jobKind1, jobKind2)の引数の組(jobKind1, jobKind2)であってもよい。ここにjobKind1及び jobKind2はそれぞれ第1及び第2のジョブシナリオ(基本ジョブ)を示し、引数の並び順がジョブ実行順を示している。
また、上記実施形態では、ジョブの構築は、主に、ユーザサービス受付部81及びユーザサービス実行部82が、ジョブシナリオ(基本ジョブ)の選定及び実行順の決定により行う構成を説明したが、ジョブ制御部72が、ジョブシナリオ(基本ジョブ)の選定及び実行順の決定によるジョブの構築を行って、当該ジョブシナリオ(基本ジョブ)の識別子を基本ジョブ実行部73に引き渡すとともに、当該識別子が示すジョブシナリオ(基本ジョブ)の実行を指示する構成であってもよい。
さらに、上記実施形態では、ジョブを構成するジョブシナリオの識別子は、ユーザサービス受付部81が決定し、当該各ジョブシナリオの実行順はユーザサービス実行部82が決定して、下層に引き渡す構成としたが、ユーザサービス受付部81及びユーザサービス実行部82に代わって、ジョブ管理部71が上記ジョブシナリオの識別子及び各ジョブシナリオの実行順を決定し、ここから下層に引き渡す構成であってもよい。
さらにまた、上記実施形態では、通知ジョブはジョブ管理部71が生成するものとしたが、これに代えて、ユーザサービス受付部81及びユーザサービス実行部82がジョブシナリオ(基本ジョブ)を用いて通知ジョブを生成するものとしてもよい。
また、OS32及びアプリケーションは、EEPROM13E2に格納される場合を説明したが、これら全部又は一部がこれとは別個の記憶手段に格納される構成であってもよく、例えばHDD14に格納される構成であってもよい。
さらに、BIOSはブートローダを含む構成であってもよく、この場合、図17に示すステップS3では、BIOSがブートローダを起動し、これがOS32を起動する。
さらに、図17では、OS32は、ステップS4においてデータ領域を確保する構成を説明したが、ステップS5を行った後で、S4のデータ領域確保処理を行うようにしてもよい。
また、図19に示す如く、リソース管理部43は、空きブロックが無い場合には常に、退避ブロックを決定し、このブロックを退避する構成を説明したが、仮に複数のブロックを使用している基本ジョブが無い場合には、退避ブロックが無いと判断して、S12及びS13の処理を行わずに終了する構成であってもよい。
さらに、図19を用いて行った上記説明では、リソース管理部43は、1つの退避ブロックを決定し、これを退避させる構成を説明したが、リソース管理部43は、複数の退避ブロックを決定し、これらを退避させる構成であってもよい。
さらにまた、図19を用いて行った上記説明では、リソース管理部43がデータ領域をブロック単位で確保する構成を説明したが、ブロック単位でなく、不連続な空き領域を連結したデータ領域を確保する構成であってもよい。その場合、図19に示す「空きブロック」とは「空きデータ領域」であり、「退避ブロック」とは「退避領域」である。
本発明の一実施形態に係る画像形成装置のハードウェア構成を示す概略ブロック図である。 本発明の一実施形態に係る動作制御プログラムの階層構造を示す概略ブロック図である。 本発明の一実施形態に係る動作制御プログラムの各層に含まれる各機能部を示す図である。 ジョブ情報を構成する各要素を示す図である。 プリントサービス実行時のフローを示す図である。 ユーザサービス実行部の動作を示すシーケンス図である。 ファクス送信サービス実行時のフローを示す図である。 基本ジョブとその組み合わせにより得られる複数のサービスの説明図である。 スキャンサービス実行時のフローを示す図である。 ボックス内ファイル印刷サービス実行時のフローを示す図である。 スキャンサービス実行時にジャムが発生したときのフローを示す図である。 エラー通知サービスを実行するフローを示す図である。 アドレス帳編集時のフローを示す図である。 ログイン実行時のフローを示す図である。 認可が有効に設定され、かつログイン中である場合における通常のサービス実行時のフローを示す図である。 データ領域を必要とする複数種の基本ジョブが並列処理で実行されている場合のDRAM内のメモリマップを示す図である。 電源投入時の処理のフローチャートを示す図である。 データ領域確保後のDRAM内のメモリマップを示す図である。 リソース管理部の処理のフローチャートを示す図である。 図19に示す処理を更に説明する図である。
10 画像形成装置
12 インタフェース
15 操作パネル
16S スキャナ
16P プリンタ
18 ファクシミリモデム
20 ホストコンピュータ
30 OS層
31 デバイスドライバ
40 ミドルウェア層
41 デバイス制御部
42 画像処理部
43 リソース管理部
50 アプリケーション層
51 コモン部
52 システム管理部
60 エレメント層
61 デバイス操作部
62 画像処理操作部
63 エンティティ部
70 ジョブ層
71 ジョブ管理部
72 ジョブ制御部
73b アクセスジョブ実行部
73a イメージジョブ実行部
73 基本ジョブ実行部
74 インプットステップ実行部
75 エディットステップ実行部
76 アウトプットステップ実行部
77 ジョブ情報記憶部
80 サービス層
81 ユーザサービス受付部
82 ユーザサービス実行部
83 システムサービス実行部

Claims (16)

  1. 画像形成装置に内蔵されるコンピュータを、
    ユーザによりサービスが要求される動作を判断し、当該動作に対応するジョブを、当該ジョブの構成要素として予め用意されている1つ又は複数のジョブシナリオを選定し、当該選定したジョブシナリオを用いて構築するサービス部と、
    前記サービス部により構築されたジョブを構成する各ジョブシナリオが示す処理を順に実行するジョブ遂行部と、
    複数の前記ジョブシナリオが、当該各ジョブシナリオに関連付けた識別子と共に記憶された記憶部と、
    リソースの割り当て及び開放を行うリソース管理部
    として機能させ、
    前記サービス部が、
    ユーザにより実行が要求される動作を判断し、当該動作に対応するジョブを構成するために必要な1つ又は複数の前記ジョブシナリオを、前記記憶部に記憶されているジョブシナリオから前記識別子により選定するジョブシナリオ選定部と、
    前記ジョブシナリオ選定部によって選定されたジョブシナリオと前記ジョブシナリオ選定部から受取った前記識別子を用いて、当該ジョブシナリオで構成されるジョブを構築するジョブ構築部として機能し、
    前記ジョブ遂行部が、
    前記ジョブ構築部によって構築されたジョブを構成する前記識別子に対応する各ジョブシナリオが示す処理の実行指示を順次出力するジョブ管理部と、
    前記ジョブ管理部から出力される指示が示す処理を順に実行するジョブ実行部と
    前記ジョブ実行部にジョブシナリオの実行を指示するジョブ制御部と
    して機能するように、
    画像形成装置に内蔵されるコンピュータを動作させ、
    前記ジョブ管理部は、前記リソース管理部に当該ジョブを構成するジョブシナリオの実行に必要なハードウェア資源を獲得させ、その後、前記ジョブ制御部にジョブシナリオの実行、実行順の変更、中断、再開又はキャンセルのジョブ制御指示を行うように、前記画像形成装置に内蔵されるコンピュータを動作させる
    ことを特徴とする動作制御プログラム。
  2. 前記記憶部に記憶されている複数のジョブシナリオには、複数種類のジョブの構築に共通して用いられる基本ジョブとしての前記ジョブシナリオが含まれており、
    前記ジョブシナリオ選定部は、前記ジョブシナリオの選定時に、前記基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを選定し、
    前記ジョブ構築部は、前記ジョブシナリオ選定部によって選定された基本ジョブ、又は当該基本ジョブと他のジョブシナリオとの組み合わせを用いて、前記ジョブを構築するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  3. 前記基本ジョブの実行に際し、前記ジョブ実行部からの指示に従って、当該画像形成装置の各機構の動作制御を行うエレメント部として、
    更に画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  4. 前記基本ジョブ又はジョブシナリオは、1つ又は複数のジョブステップから構成され、
    前記ジョブ管理部は、前記ジョブ構築部によってジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成する基本ジョブ又はジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
    前記ジョブ実行部は、前記実行指示に基づく前記基本ジョブ又はジョブシナリオの実行に際し、前記基本ジョブ又はジョブシナリオを構成する各ジョブステップの実行指示と、前記ジョブ情報に含まれるパラメータから読み出した当該各ジョブステップの実行に必要な情報とを前記エレメント部に出力するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  5. 前記基本ジョブとして、前記ジョブステップが、当該画像形成装置の画像入力部から画像を入力させるステップと、その入力画像を画像処理するステップと、当該画像処理された画像を当該画像形成装置の画像出力部に供給するステップとを有するものが前記記憶部に記憶されているように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  6. 当該画像形成装置の各機構を動作制御するために当該エレメント部の制御下におかれた各動作制御部を有するミドルウェア部として更に機能し、
    前記エレメント部は、前記各動作制御部から受け取る前記各機構の状態通知に基づいて、前記ジョブステップに基づく前記各機構の動作制御指示を前記各動作制御部に出力するように、画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  7. 前記記憶部は、前記基本ジョブ又はジョブシナリオを、当該各ジョブシナリオに関連付けた識別子と共に記憶し、
    前記ジョブシナリオ選定部は、前記動作に対応するジョブを構成するために必要な前記基本ジョブ又はジョブシナリオを前記識別子で特定し、
    前記ジョブ構築部は、前記ジョブシナリオ選定部から受け取った前記識別子に基づいてジョブを構築し、
    前記ジョブ管理部は、前記ジョブを構成する前記各識別子に対応する前記基本ジョブ又はジョブシナリオが示す処理の実行指示を順次出力し、
    前記ジョブ情報には、当該ジョブ情報が示すジョブを構成する前記基本ジョブ又はジョブステップを特定する識別子が含まれており、
    前記ジョブ実行部は、前記識別子に基づいて、当該識別子が示す前記基本ジョブ又はジョブシナリオを構成するジョブステップに対応する前記パラメータを、前記ジョブ情報から読み取るように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項4乃至請求項6のいずれか一項に記載の動作制御プログラム。
  8. 前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部によって、前記ジョブが少なくとも第1基本ジョブと第2基本ジョブとを含んで構築され、
    前記第1基本ジョブは、当該画像形成装置の画像入力部から画像を入力させ、その入力画像を画像データとして当該画像形成装置の画像データ記憶部に格納させ、
    前記第2基本ジョブは、当該画像形成装置のファクス送信部に、ファクシミリ送信相手先の呼出しを行わせ、当該ファクシミリ送信相手先の呼出しが成功した後で、前記画像データ記憶部に記憶させた画像データを送信させる
    ように、画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  9. 前記第1基本ジョブ及び第2基本ジョブは、前記ジョブシナリオ選定部及び前記ジョブシナリオ構築部による複数の前記ジョブの構築に共通して用いられる請求項に記載の動作制御プログラム。
  10. 前記ジョブ管理部は、前記ジョブ構築部によってジョブシナリオを用いて構築されたジョブの実行に必要なパラメータであって、前記動作に対応する各ジョブに共通なデータ構造からなるジョブ情報を生成して前記記憶部に記憶させ、前記構築されたジョブを構成するジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力し、
    前記ジョブ実行部は、当該ジョブ管理部からの実行指示を受けて、前記記憶部に記憶されているジョブ情報を参照し、前記パラメータを用いて、前記ジョブ管理部から出力される前記実行指示が示す処理を順に実行するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  11. 前記ジョブ管理部は、前記構築されたジョブを構成するジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力するときに、前記生成したジョブ情報の識別子を併せて出力し、
    前記ジョブ実行部は、前記ジョブ情報の識別子に基づいて前記記憶部から前記生成されたジョブ情報を読み出して参照するように、画像形成装置に内蔵されるコンピュータを動作させる請求項10に記載の動作制御プログラム。
  12. 前記ジョブシナリオ選定部は、ユーザにより前記動作の実行が要求された否かを判断するサービス要求受付部と、当該サービス要求受付部にユーザからの要求が受け付けられた動作に対応するジョブを構成するために必要な前記ジョブシナリオを選定するサービス特定部として機能し、
    更に、前記コンピュータが、前記サービス要求受付部にユーザからの要求が受け付けられたとき、当該サービス要求受付部からの認証要求に基づいて、当該ユーザが前記動作の実行を許可されたユーザか否かを判断するシステム管理部として機能し、
    前記サービス要求受付部は、前記システム管理部によって、前記ユーザが前記動作の実行を許可されたユーザであると判断された場合に、前記サービス特定部に対して、前記ジョブシナリオの選定を行わせるように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  13. 前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部として機能し、
    前記サービス部は、ユーザにより前記動作の実行が要求されたとき、当該要求の内容を解析し、当該要求が前記ジョブの構築を要する場合には、前記ジョブ遂行部に対して前記構築したジョブを実行させる指示を出力し、又は、当該要求が前記ジョブの構築を要さずに当該画像形成装置の機構を動作させるものである場合には、前記エレメント部に対して当該機構の動作制御指示を出力し、
    前記エレメント部は、前記ジョブ遂行部からの動作制御指示、又は前記サービス部からの動作制御指示に基づいて、前記機構を動作制御するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項1に記載の動作制御プログラム。
  14. 前記ジョブ遂行部、前記ジョブシナリオが示す処理を実行する前に、前記ジョブ管理部は、前記リソース管理部に対して、前記各ジョブシナリオが示す処理の実行に必要な前記機構の使用要求をし、前記リソース管理部によって、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理を実行するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項1に記載の動作制御プログラム。
  15. 前記ジョブ管理部は、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力する前に、前記リソース管理部に対して、前記各ジョブシナリオが示す処理の実行に必要な前記機構の使用要求をし、前記リソース管理部によって、当該各ジョブシナリオが示す処理を実行するために前記機構が確保された後に、前記ジョブシナリオが示す処理の実行指示を前記ジョブ実行部に出力するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項に記載の動作制御プログラム。
  16. 上層となる前記ジョブ遂行部から出力される指示に従って、当該画像形成装置の各機構を動作制御するエレメント部として更に機能し、
    前記エレメント部は、前記ジョブ遂行部からの動作制御指示に基づいて、前記機構を動作制御するとき、当該機構に動作エラーが生じた場合は、前記ジョブ遂行部に対してエラー通知を行い、
    前記ジョブ遂行部は、前記エラー通知を受けたときは、前記エレメント部に対して、ジョブ中断指示を出力するように、
    画像形成装置に内蔵されるコンピュータを動作させる請求項1に記載の動作制御プログラム。
JP2008069983A 2007-03-23 2008-03-18 動作制御プログラム Expired - Fee Related JP5193638B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008069983A JP5193638B2 (ja) 2007-03-23 2008-03-18 動作制御プログラム
PCT/JP2008/055219 WO2008123123A1 (ja) 2007-03-23 2008-03-21 動作制御プログラム、動作制御方法、画像形成装置、及びメモリ資源確保方法
EP08722583.5A EP2040164B1 (en) 2007-03-23 2008-03-21 Operation control program, operation control method, image formation device, and memory resource allocation method
US12/308,967 US8314962B2 (en) 2007-03-23 2008-03-21 Image forming apparatus that discriminates an operation of a service requested and constructs a job corresponding to the operation by selecting a job scenario prepared in advance

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007076517 2007-03-23
JP2007076517 2007-03-23
JP2008069983A JP5193638B2 (ja) 2007-03-23 2008-03-18 動作制御プログラム

Publications (2)

Publication Number Publication Date
JP2008271520A JP2008271520A (ja) 2008-11-06
JP5193638B2 true JP5193638B2 (ja) 2013-05-08

Family

ID=40050382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008069983A Expired - Fee Related JP5193638B2 (ja) 2007-03-23 2008-03-18 動作制御プログラム

Country Status (1)

Country Link
JP (1) JP5193638B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4979426B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4979427B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978264B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置及びメモリ資源確保方法
JP4978263B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978262B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4985953B2 (ja) * 2007-03-23 2012-07-25 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978261B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4985952B2 (ja) * 2007-03-23 2012-07-25 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
JP5293288B2 (ja) * 2009-03-10 2013-09-18 株式会社リコー 画像形成装置、情報処理装置、情報処理方法、及びプログラム
JP4861452B2 (ja) * 2009-05-29 2012-01-25 シャープ株式会社 文書処理自動化システム及び画像形成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766334B2 (ja) * 1989-05-11 1995-07-19 松下電送株式会社 画像表示装置
JP3679349B2 (ja) * 2000-07-05 2005-08-03 株式会社リコー 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP2002297404A (ja) * 2001-03-30 2002-10-11 Seiko Epson Corp プリンタの制御装置およびプリンタの制御方法
JP4218384B2 (ja) * 2003-03-24 2009-02-04 富士ゼロックス株式会社 サービス処理装置、サービス処理方法及びプログラム、並びに画像形成装置
JP2005293407A (ja) * 2004-04-02 2005-10-20 Canon Inc 情報処理装置、入力操作簡略化方法、及びプログラム

Also Published As

Publication number Publication date
JP2008271520A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
JP5193638B2 (ja) 動作制御プログラム
JP5281249B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978262B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP3679349B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP4861883B2 (ja) 画像形成装置及びアプリケーション実行方法
JP4978261B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978263B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4979426B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP5150117B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
EP2040164B1 (en) Operation control program, operation control method, image formation device, and memory resource allocation method
JP2005309933A (ja) 拡張制御装置および画像処理システムおよびアプリケーションアイコン表示方法およびプログラムおよび記憶媒体
JP4985952B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4979427B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
JP4978264B2 (ja) 画像形成装置及びメモリ資源確保方法
JP4985953B2 (ja) 画像形成装置、画像形成方法及びアプリケーションプログラム
US8817279B2 (en) Image forming apparatus, method for controlling the image forming apparatus, and storage medium
JP2016149805A (ja) 画像形成装置、画像形成方法およびプログラム
US20090103828A1 (en) Image Processing Apparatus, Image Processing Method, and Computer-Readable Recording Medium Having Image Processing Program
CN101542440B (zh) 动作控制方法和图像形成装置
US20080218794A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium storing image processing program
JP2005301890A (ja) 拡張制御装置および画像形成システムおよびアプリケーション起動切り替え方法および画像形成システムの制御方法およびプログラムおよび記録媒体
US20080285066A1 (en) Image processor and image processing method
JP2006048273A (ja) 画像処理システム
JP5152390B2 (ja) 画像形成装置およびプログラム
JP2000059587A (ja) 複合型画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

R150 Certificate of patent or registration of utility model

Ref document number: 5193638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees