JP4538381B2 - 入出力管理装置、入出力管理方法、及び入出力管理プログラム - Google Patents

入出力管理装置、入出力管理方法、及び入出力管理プログラム Download PDF

Info

Publication number
JP4538381B2
JP4538381B2 JP2005183075A JP2005183075A JP4538381B2 JP 4538381 B2 JP4538381 B2 JP 4538381B2 JP 2005183075 A JP2005183075 A JP 2005183075A JP 2005183075 A JP2005183075 A JP 2005183075A JP 4538381 B2 JP4538381 B2 JP 4538381B2
Authority
JP
Japan
Prior art keywords
input
output
management
data
processing
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
JP2005183075A
Other languages
English (en)
Other versions
JP2007006070A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005183075A priority Critical patent/JP4538381B2/ja
Publication of JP2007006070A publication Critical patent/JP2007006070A/ja
Application granted granted Critical
Publication of JP4538381B2 publication Critical patent/JP4538381B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、複合機が有するアプリケーションの変更、追加等の管理を効率的に行うことができる入出力管理装置、入出力管理方法、及び入出力管理プログラムに関する。
昨今の複合機は、膨大な機能を有し、ユーザが全ての機能を理解し、利用するのは非常に困難である。また、これらの機能には、目的が類似したものがあり、機能に重複が存在している場合もある。結果、ユーザによっては、備わった機能をほとんど使用しないという状況も少なくない。
その一方で、機能拡張のニーズがあるのも事実である。ここで要求される機能拡張とは、文書の入力元や出力先の追加である。例えば、スキャナから読み込んだデータを各種メディアに書き込みたいとか、インターネット上に存在するデータを入力として紙に印刷したいといった要望である。このように文書の入力元や出力先が増えるたびに、その機能を果たすアプリケーションを追加していてはシステムの規模が増大・複雑化してしまう。
特許文献1では、各々独自の文書管理方式を持つデジタル複写機とデータ端末装置との間で、ユーザの新たな負担を生じさせることなく、また使い勝手を低下させることなく、デジタル複合機で登録した文書をデータ端末装置で見たり、データ端末装置で作成した文書をデジタル複合機に登録できるデジタル複合機及びこれに接続されるデータ端末装置が提案されている。
特許文献2では、複合機能情報検索手段が、複合機能情報蓄積手段に集められた被制御機器の間の情報の入出力する情報の種類及び接続状況に関する情報を基に、被制御機器の間の機能の複合による有用な機能の検索を行い、これを操作者に提示することによって、複数の機器の複合によって実現される機能を、個々の機器に関する操作のインタフェースに加えて操作者に提示することができる機器操作支援装置及び機器操作支援方法が提案されている。
特許文献3では、指示された複数の入力元からそれぞれ入力される情報の結合順序を各入力情報を示すアイコンの配列で表示し、該表示される各入力情報を示すアイコンの配列順序をマウス等により変更指示し、実行指示に基づき、CPUが指示された複数の入力元からそれぞれ入力される情報を配列表示される順序で結合して複数の周辺機器による複合機能を制御するデータ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体が提案されている。
特開2001−92813号公報 特開平7−284164号公報 特開2000−315130号公報
しかし、上記の発明は以下の問題を有している。
従来の複合機においては、例えば、コピーアプリを使用するときの制御プログラムと、FAXアプリを使用する際の制御プログラムとは、全く異なるプログラムによって構成されていた。そのため、コピーアプリとFAXアプリとは、共にスキャナによる読み取り処理を有しているにも係わらず、各アプリは別個に読み取り動作を制御するプログラムが組み込まれていた。
また、複合機が有する各アプリケーションは、それぞれ入力と出力処理という共通の動作を有しているにも係わらず、入力元から出力先へデータを転送するプログラムがそれぞれ別個に設けられていた。
そこで、本発明は、複合機が有するデータを入力する機能の共通する機能を一般化して管理する入力クラスと、該入力クラスによって入力されたデータを出力先に転送するデータクラスと、データクラスから受信したデータの出力先が共通して保持する機能を一般化して管理する出力クラスとを設けることにより、入力クラス又は出力クラスのサブクラスに新たな機能が追加された場合であっても、入力クラス、データクラス、及び出力クラスにおいて実行される処理を変更することなく、又は一部を変更するだけで済むため、新たな機能の追加が容易な入出力管理装置、入出力管理方法、及び入出力管理プログラムを提案することを目的としている。
請求項1記載の発明は、入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置であって、前記入出力処理依頼に応じた入力を実行する入力手段と、前記入力手段によって入力されたデータを出力手段へ転送する移動手段と、前記移動手段によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力手段と、前記入力手段、前記移動手段、及び前記出力手段をフォルダ管理する入出力管理手段とを有し、前記入出力管理手段は、前記入出力処理依頼を受けたとき、前記入力手段に、入力用オブジェクトを入力デバイス毎に生成させ、前記出力手段に、出力用オブジェクトを出力デバイス毎に生成させ、前記移動手段に、前記入出力処理依頼に応じた適切なオブジェクトを選択させることを特徴とする。
請求項2記載の発明は、請求項1記載の入出力管理装置において、前記入力手段、前記移動手段、及び前記出力手段は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする。
請求項3記載の発明は、請求項1又は2記載の入出力管理装置において、前記入力手段は、前記入力手段に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする。
請求項4記載の発明は、請求項1から3のいずれか1項記載の入出力管理装置において、前記出力手段は、前記出力手段に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする。
請求項5記載の発明は、請求項1から4のいずれか1項記載の入出力管理装置において、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする。
請求項6記載の発明は、入力工程、移動工程、及び出力工程をフォルダ管理する入出力管理手段を有し、入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置の入出力管理方法であって、前記入出力処理依頼に応じた入力を実行する前記入力工程と、前記入力工程によって入力されたデータを出力工程へ転送する前記移動工程と、前記移動工程によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力工程とを有し、前記入力工程では入力デバイス毎に入力用オブジェクトを生成し、前記出力工程では出力デバイス毎に出力用オブジェクトを生成し、前記移動工程では、生成された前記入力用及び出力用オブジェクトの中から前記入出力依頼に応じた適切なオブジェクトを選択することを特徴とする。
請求項7記載の発明は、請求項6記載の入出力管理方法において、前記入力工程、前記移動工程、及び前記出力工程は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする。
請求項8記載の発明は、請求項6又は7記載の入出力管理方法のおいて、前記入力工程は、前記入力工程に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする。
請求項9記載の発明は、請求項6から8のいずれか1項記載の入出力管理方法において、前記出力工程は、前記出力工程に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする。
請求項10記載の発明は、請求項6から9のいずれか1項記載の入出力管理方法において、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする。
請求項11記載の発明は、入力処理、移動処理、及び出力処理をフォルダ管理する入出力管理手段を有し、入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置の入出力管理プログラムであって、前記入出力処理依頼に応じた入力を実行する前記入力処理と、前記入力処理によって入力されたデータを前記出力処理へ転送する移動処理と、前記移動処理によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力処理とを有し、前記入力処理では入力デバイス毎に入力用オブジェクトを生成し、前記出力処理では出力デバイス毎に出力用オブジェクトを生成し、前記移動処理では、生成された前記入力用及び出力用オブジェクトの中から前記入出力依頼に応じた適切なオブジェクトを選択することを特徴とする。
請求項12記載の発明は、請求項11記載の入出力管理プログラムにおいて、前記入力処理、前記移動処理、及び前記出力処理は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする。
請求項13記載の発明は、請求項11又は12記載の入出力管理プログラムにおいて、前記入力処理は、前記入力処理に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする。
請求項14記載の発明は、請求項11から13のいずれか1項記載の入出力管理プログラムにおいて、前記出力処理は、前記出力処理に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする。
請求項15記載の発明は、請求項11から14のいずれか1項記載の入出力管理プログラムにおいて、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする。
本発明は、複合機が有するデータを入力する機能の共通する機能を一般化して管理する入力クラスと、該入力クラスによって入力されたデータを出力先に転送するデータクラスと、データクラスから受信したデータの出力先が共通して保持する機能を一般化して管理する出力クラスとを設けることにより、入力クラス又は出力クラスのサブクラスに新たな機能が追加された場合であっても、入力クラス、データクラス、及び出力クラスにおいて実行される処理を変更することなく、又は一部を変更するだけで済むため、新たな機能の追加が容易であり、かつユーザは複合機が有する全てのアプリケーションを把握していなくても、該アプリケーションを有効に利用することができる。
以下に本発明の一実施形態に係わる複合機の入出力管理方法について説明する。
まず、本実施の形態に係る画像形成装置(以下「複合機」と言う)1の概念について図1、図2、及び図3を用いて説明する。図1は、本実施の形態に係る複合機1を取り巻くネットワーク環境を説明するためのネットワーク図であり、図2は、図1に示した複合機1のハードウェア構成を示すブロック図であり、図3は、図1に示した複合機1のソフトウェアとハードウェアの関係を説明するための説明図である。
図1に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ(PC)などの機器は、LAN(Local Area Network)などのネットワークに接続され、相互に通信することができる。たとえば、同図に示したように、LANなどのネットワークには、クライアントPC、SMTP(Simple Mail Transfer Protocol)サーバ、FTP(File Transfer Protocol)サーバ、サーバPCなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
このようなネットワーク化の進展に伴い、複合機1についてもネットワークに接続され、PC等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
具体的には、複合機1は、通常のコピー機能に加えて、クライアントPCからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントPCからのファックス要求により文書データ等をサーバPCに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。このような多くの機能を実現するために、複合機1に搭載されるソフトウェアは規模が大きくなり、また、複雑なものとなってきた。
図2は、かかる複合機1のハードウェア構成を示すブロック図である。同図に示すように、この複合機1は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ10は、複合機1全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)18とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bとをさらに有する。
CPU11は、複合機1の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD18およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Fax Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース50が接続される。
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
図3は、かかる複合機1のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、統合アプリケーション110と、ソフトウェア100およびハードウェア200の階層関係を示している。同図に示すように、ハードウェア200は、ハードウェアリソース201を有し、このハードウェアリソース201は、スキャナ201a、プロッタ201b、HDD(Hard Disk Drive)201c、ネットワーク201dおよびその他のリソース201eを有する。なお、その他のリソース201eは、201a〜201d以外のハードウェアリソース201のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
また、かかるハードウェア200に搭載されるソフトウェア100は階層化されており、オペレーティングシステム103の上層にはサービス層102が構築され、このサービス層102の上層にはアプリケーション層103が構築されている。そして、サービス層102は、各ハードウェアリソース(201a〜201e)を制御するドライバーに相当する、スキャナ制御102部a、プロッタ制御部102b、蓄積制御部102c、配信/メール送受信制御部102d、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gを有する。
オブジェクトモデリングにより、アプリケーション層101に存在した複数のアプリケーションは、統合アプリケーション110に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション110を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層101のアプリケーションと、サービス層102の各ドライバー間の通信は、単純になっている。
次に、統合アプリケーション110の内部構成について説明する。図4は、後述する本実施形態の特徴部分であるリクエスト管理部113aの統合アプリケーション110における位置づけと、かかる統合アプリケーション110の概要構成を説明するための説明図である。
同図に示すように、統合アプリケーション110は、操作系サブシステム111と、管理系サブシステム112および実行系サブシステム113とを有する。操作系サブシステム111は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム111は、ユーザの要求の受付サービスをおこなうとともに、かかる要求に対応した文書(たとえば、コピーした記録紙)の品質、コストおよび納期を考慮したうえで、ユーザに対して情報提供サービスをおこなう。
管理系サブシステム112は、複合機1の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム112は、ハードウェアリソース201およびこのハードウェアリソース201が保持するデータ状態の管理サービスをおこなう。
実行系サブシステム113は、ユーザ要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム113は、コピーなどの文書操作要求から文書の出力までの実行サービスをおこなう。そして、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113は、必要に応じて相互に処理を依頼し結果を受けとることで、統合アプリケーション110全体として複合機1に必要とされるサービス提供をおこなう。
かかる実行系サブシステム113は、入出力管理部113aと実行制御部113bとを有する。入出力管理部113aは、いわゆるジョブ管理をおこなうソフトウェア群である。具体的には、ユーザの要求を受け付け、その要求を実行するとともに、かかる文書の実行状態を管理する。
また、実行制御部113bは、実行系サブシステム113から入出力管理部113aを除いた、その他の実行制御をおこなうソフトウェア群である。なお、図4において、入出力管理部113aが、操作系サブシステム111の近くに配置されているのは、ユーザによるデータの入出力を管理する入出力管理部113aが、マンマシンインタフェースを担当する操作系サブシステム111と密接な関係を有することを示している。
図5は、図4に示した各サブシステムを、UML(Unified Modeling Language)のクラス図(UMLクラス図)に置換えた図である。ここで、UMLとは、OMG(Object Management Group)という団体がまとめたシステムモデリング言語であり、システムモデリングの成果を記述する記法を定義したものである。そして、このUMLは、オブジェクト指向によるソフトウェア開発において、一般的に用いられている。
図5に示すように、統合アプリケーション110は複数のパッケージを含み、この統合アプリケーション110自体もパッケージととらえることができる。ここで、パッケージとはUMLモデルの各構成要素(シンボル)をグループ化したものであり、このパッケージは、左上にタブのついたフォルダ型のシンボルで表現する。なお、かかるパッケージは、上述したオブジェクトモデルあるいはオブジェクトモデルの集合体ととらえることもできる。
図5に示したように、統合アプリケーション110は、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113の3つのパッケージを内部に有するパッケージである。さらに、実行系サブシステム113は、入出力管理部113aおよび実行制御部113bの2つのパッケージを内部に有するパッケージである。そして、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113を相互に結ぶ直線は、各パッケージ間にメッセージ送受信などの関連があることを示している。なお、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すUMLのシンボルである。
次に、入出力管理部113aのクラス構成について説明する。図6に示すように、入出力管理部113aは、入出力管理クラス310、入力クラス320、データクラス330、及び出力クラス340を有する。
各クラスを示す矩形は3段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ(属性)を示す属性区画、およびクラスが有する処理(操作)を示す操作区画と呼ばれる。たとえば、入出力管理クラス310を示す矩形の名前区画は、かかるクラスのクラス名が「入出力管理」であることを示し、属性区画は、かかるクラスが有する属性が、「受付状態」と「限界数」であることを示し、操作区画は、かかるクラスが有する操作が、「入出力先を決定する()」であることを示している。
このように、各クラスは、データ(属性)を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理(操作)を所持するための操作区画とを有している。これらのクラスは、プログラム(統合アプリケーション110)の一部として含まれるので、あらかじめROM12aに格納されたこのプログラムが実行されると、各クラスはRAM12bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM12b上に展開される。したがって、クラスを実体化したオブジェクトは、RAM12b上の各データ(属性)の書き込みおよび読み出しをすることが可能となる。
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「+」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「入出力先を決定する()」のように「()」記号を付することが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。
次に、図6に示した各クラスについて説明する。入出力管理クラス310は、データの入出力先を決定するクラスである。具体的には、この入出力管理クラス310は、属性として、データの入出力の受付状態310aおよび限界数310bを有し、操作として、入出力先を決定する()310cを有する。なお、かかる入出力管理クラス310を実体化したオブジェクトが生成されると、受付状態310aおよび限界数310bはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
受付状態310aは、入出力管理クラスが管理できるデータの数と、限界数310bとから決定される受付可否の状態であり、たとえば、限界数310bが200である場合において、すでに受付中のデータが200であれば、かかる受付状態310aは、受付拒否の状態を保持する。また、限界数310bは、複合機1が許容する最大のデータ数であり、統合アプリケーション110が搭載されるハードウェア仕様により変動する。また、入出力先を決定する()310cは、ユーザの操作により、操作系サブシステム111からリクエストを受け付け入力クラス320に入力の実行を依頼する処理をおこなう。
入力クラス320は、入力対象となっているデータの入力処理をおこなうクラスである。具体的には、この入力クラス320は、属性として、入力条件320a、実行状態320bを有し、操作として、受け取り開始()320c、受け取りキャンセル()320d、受け取り中断320()e、及び受け取り再開()320fを有する。なお、かかる入力クラス320を実体化したオブジェクトが生成されると、入力条件320a、及び実行状態320bはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
入力条件320aは、入力対象のデータの読み込み条件、たとえば、読み込み可能なサイズ、読み込みカラーなどの条件である。例えば、入力対象となっているデータが入力条件320aによって読み込むことができない場合は、入力が中止される。
実行状態320cは、データを入力する作業の実行状態を保持する。具体的には、この実行状態320cは、データを入力する作業が実行中か、あるいは、発生した障害により実行が中断されているかなどの実行状態を保持する。例えば、データの入力作業が既に行われている場合は、新たなデータの入力作業は行なわれない。しかし、データの入力が行われていた場合であっても、受け取りキャンセル320d又は受け取り中断320eの処理が要求された場合は、対応する操作が実行される。また、データの入力が行なわれていない場合に、受け取り再開()320fの処理が要求された場合は、対応する操作が実行される。なお、受け取り開始()320cは、データの入力開始を受け付ける処理をおこなう。受け取りキャンセル()320dは、データの入力を中止する処理をおこなう。受け取り中断()320eは、データの入力を中断する処理をおこなう。受け取り再開()320fは、データの入力を再開する処理をおこなう。
上述の入力クラス320の構成によれば、入力クラス320がサブクラスに属する複数の入力元の属性及び操作を統合して管理するため、サブクラスの各入力元を意識した入力処理を個別に実行しなくても、入力クラス340へのデータの転送を繰り返すことにより複数の入力元からの入力が可能となる。
データクラス330は、データの詳細情報を保持するクラスであり、データクラス330が保持するデータの詳細情報から、データを移動するうえで必要となる情報を抽出して保持するクラスである。具体的には、このデータクラス330は、属性として、サイズ330aを有し、操作として、移動する()330bを有する。なお、かかるデータクラス330を実体化したオブジェクトが生成されると、サイズ330aはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
サイズ330aは、入出力される原稿の形態を保持する。たとえば、この原稿の形態としては、ユーザがかかる複合機1にセットした紙原稿、かかる複合機1に内蔵された記憶装置に保持される蓄積原稿、ファックス受信原稿、紙に印刷される文書、電子メールによりWAN(Wide Area Network)などをとおして送信される文書、ファックス送信される文書などがある。
移動する()330bは、入力クラス320から出力クラス340への移動依頼を受け付け、データクラス330が保持するサイズを参照し、出力クラスへデータの出力処理を依頼する。
出力クラス340は、出力対象となっているデータの出力処理をおこなうクラスである。具体的には、この出力クラス340は、属性として、出力条件340a、実行状態340bを有し、操作として、引き渡し開始()340c、引き渡しキャンセル()340d、引き渡し中断340()e、及び引き渡し再開()340fを有する。なお、かかる出力クラス340を実体化したオブジェクトが生成されると、出力条件340a、及び実行状態340bはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
出力条件340aは、出力対象のデータの引き渡し条件、たとえば、転送可能なサイズ、カラーなどの条件である。例えば、出力対象となっているデータが出力条件340aによって転送ができない場合は、出力が中止される。
実行状態320cは、データを出力する作業の実行状態を保持する。具体的には、この実行状態320cは、データを出力する作業が実行中か、あるいは、発生した障害により実行が中断されているかなどの実行状態を保持する。例えば、データの出力作業が既に行われている場合は、新たなデータの出力作業は行なわれない。しかし、データの出力が行われていた場合であっても、引き渡しキャンセル340d又は引き渡し中断340eの処理が要求された場合は、対応する操作が実行される。また、データの出力が行なわれていない場合に、引き渡し再開()340fの処理が要求された場合は、対応する操作が実行される。なお、引き渡し開始()340cは、データの出力開始を受け付ける処理をおこなう。引き渡しキャンセル()340dは、データの出力を中止する処理をおこなう。引き渡し中断()340eは、データの出力を中断する処理をおこなう。引き渡し再開()340fは、データの出力を再開する処理をおこなう。
上述の出力クラス340の構成によれば、出力クラス340がサブクラスに属する複数の出力先の属性及び操作を統合して管理するため、サブクラスの各出力先を意識した出力処理を個別に実行しなくても、出力クラス340へのデータの転送を繰り返すことにより複数の出力先への出力可能となる。例えば、複数のアプリケーションによってデータを出力したい場合に、出力クラス340に複数回出力作業を実行することにより、複数の出力先にデータを出力することが可能である。
次に、図6に示した各クラス間の関係について説明する。同図に示したように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
たとえば、入力ラス320からみた入出力管理クラス310の役割は「管理者」であり、入出力管理クラス310からみた入力クラス320の役割は「入力装置」であり、入出力管理クラス310の多重度は「1」であり、入力クラス320の多重度は「1..*」である。ここで、「1..*」は、かかる入力クラス320の多重度が、1から上限数なしの範囲であることを示している。また、たとえば、「1..3」の記載をした場合には、かかるクラスの多重度が、1〜3の範囲であることを示す。
まず、入出力管理クラス310と入力クラス320とのクラス関係について説明する。入出力管理クラス310は、入力クラス320からみると管理者としての役割を有しており、一方、入力クラス320は、入出力管理クラス310からみると入力装置としての役割を有している。
そして、同図に示したように、入出力管理部113aが実行される場面において、入出力管理クラス310をRAM12b上に展開(実体化)したオブジェクトは1個だけ存在し、この入出力管理クラス310の管理対象となる入力クラス320を実体化したオブジェクトは0個以上、上限数なしの範囲で存在する。
次に、入力クラス320とデータクラス330との関係について説明する。入力クラス320は、データクラス330からみると入力元としての役割を有しており、一方、データクラス330は、入力クラス320からみると、その情報としての役割を有している。
すなわち、データクラス330は、入力クラス320によって生成されたデータであり、このデータを生成するのが入力クラス320であることを示している。
次に、データクラス330と出力クラス340との関係について説明する。データクラス330は、出力クラス340からみると出力対象としての役割を有しており、一方、出力クラス340は、データクラス330からみると、出力先としての役割を有している。
次に、入出力管理部113aに新規機能を追加する処理について説明する。図7は、統合アプリケーション110に、新規機能を追加する場合の概念を説明するための説明図である。
同図に示すように、統合アプリケーション110は、楕円形で示したオブジェクトモデルの集合体として構成されており、各オブジェクトモデルは、統合アプリケーション110を構成する役割に相当する。この統合アプリケーション110に、新規機能を追加する場合においては、まず、追加する機能を、統合アプリケーション110を構成する各オブジェクトモデルに適合するよう分離する。そして、かかる分離部分を各オブジェクトモデルに反映させる。
同図に示したサブクラス化によるクラス追加は、かかる反映方法の1つである。ここで、サブクラス化とは、上位クラスの属性および操作を継承して下位クラスを設計する手法であり、オブジェクト指向によるソフトウェア開発の利点の1つである。
次に、入出力管理部113aに入出力処理が要求された場合における、各クラスの処理および各クラスから生成されたオブジェクト間のメッセージの流れについて説明する。
図8は、各クラスを実体化したオブジェクトと、かかるオブジェクト間のメッセージの流れを時系列に表したUMLのシーケンス図である。同図の上部に並べられた矩形は、各オブジェクトを示し、各オブジェクトから下方に伸びた破線は、各オブジェクトが生存していることを示す線(ライフライン)であり、同図の下方に向かって時間は流れるものとする。そして、かかる破線上の垂直方向に伸びる矩形は、各オブジェクトが実際に活動している期間(活性区間)を示す。なお、本実施形態においては、ADFスキャナ及びメモリから入力した文書をプロッタ、ネットワーク、及び回線に出力する例について説明する。
図8に示すように、ユーザが複合機1を操作して、データの入出力に係わるリクエストが投入されると、操作系サブシステム111は、入出力管理オブジェクト311の入出力方法を決定する()310cを呼び出す(ステップS1101)。
そして、入出力方法を決定する()310cが呼び出されると、入出力管理オブジェクト311は、自身の属性区画に含まれるデータ(属性)である受付状態310aの値を参照して、入出力処理可否の判断をおこなう(ステップS1102)。そして、この受付状態310aの値が受付可能である場合には、以後の処理に進み、かかる値が受付不可能である場合には、その旨を操作系サブシステム111に通知して処理を終了する。
そして、この入出力管理オブジェクト311は、自身の属性区画に含まれるデータ(属性)である受付状態310aの値が受付可能である場合、データの入力元であるADFスキャナオブジェクト及びメモリオブジェクト、データの出力先であるプロッタオブジェクト、ネットワークオブジェクト、及び回線オブジェクトを新規作成する(ステップS1103〜S1107)。
データの入力元及び出力先に係わるオブジェクトを新規作成すると(ステップS1103〜S1107)、入出力管理オブジェクト311は、入出力対象のデータを取得し、データオブジェクト331の移動する()330bを呼び出す(ステップS1108)。そして、移動する()330bが呼び出されると、データオブジェクト331は、データの入力元であるADFスキャナオブジェクト及びメモリオブジェクトの受け取り開始()を呼び出す(ステップS1109、ステップS1110)。
入力元に係わるオブジェクトの受け取り開始()が呼び出されると、各オブジェクトは、自身の属性区画に含まれるデータ(属性)である入力条件及び実行状態の値を参照して、入力処理可否の判断をおこなう。そして、この入力条件及び実行状態の値が入力可能である場合には、以後の処理に進み、かかる値が入力不可能である場合には、その旨を操作系サブシステム111に通知して処理を終了する。
また、移動する()330bが呼び出されると、データオブジェクト331は、出力先であるプロッタオブジェクト、ネットワークオブジェクト、及び回線オブジェクトの引き渡し開始()340cを呼び出す(ステップS1111〜S1113)。出力先に係わる各オブジェクトの引き渡し開始()を呼び出されると(ステップS1111〜S1113)、出力先に係わる各オブジェクトは、自身の属性区画に含まれるデータ(属性)である出力条件及び実行状態を参照して、出力処理可否の判断をおこなう。そして、この出力条件及び実行状態の値が出力可能である場合には、各サブクラスにおける出力処理に進み、かかる値が出力不可能である場合には、その旨を操作系サブシステム111に通知して処理を終了する。
上述してきたように、本実施の形態では、オブジェクト指向設計により、オブジェクトモデルの集合体として統合アプリケーション110を構成し、かかるオブジェクトモデルのうち、入出力処理の管理をおこなうものを入出力管理部113aとし、この入出力管理部113aは、いわゆる「フォルダ−ファイル」モデルのアナロジーとして、入出力管理クラス310、入力クラス320、データクラス330、及び出力クラスを有する構成としたので、ユーザからの操作を一括して受け付けることができ、かかる操作の投入からデータの出力までの管理を効率良くおこなうことができるとともに、新規機能の追加などにともなう労力を軽減することができる。
複合機をとりまくネットワーク環境を示すネットワーク図である。 複合機のハードウェアを説明するための説明図である。 複合機におけるハードウェア及びソフトウェアの階層構造を説明するための説明図である。 統合アプリケーションの構成を説明するための説明図である。 統合アプリケーションの構成を表したUMLクラス図である。 統合アプリケーションの構成を表したオブジェクト図である。 統合アプリケーションに新規機能を追加する場合の概念を説明するための説明図である。 入出力処理が要求時における入出力管理クラスの操作を説明したシーケンス図である。
符号の説明
1 画像形成装置
10 コントローラ
11 CPU
12 MEM−P
12a ROM
12b RAM
13 NB
14 SB
15 AGP
16 ASIC
17 MEM−C
18 HDD
20 キーボード
30 FCU
40 USB
50 IEEE1394
60 Engine

Claims (15)

  1. 入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置であって、
    前記入出力処理依頼に応じた入力を実行する入力手段と、
    前記入力手段によって入力されたデータを出力手段へ転送する移動手段と、
    前記移動手段によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力手段と、
    前記入力手段、前記移動手段、及び前記出力手段をフォルダ管理する入出力管理手段とを有し、
    前記入出力管理手段は、前記入出力処理依頼を受けたとき、
    前記入力手段に、入力用オブジェクトを入力デバイス毎に生成させ、
    前記出力手段に、出力用オブジェクトを出力デバイス毎に生成させ、
    前記移動手段に、前記入出力処理依頼に応じた適切なオブジェクトを選択させることを特徴とする入出力管理装置。
  2. 前記入力手段、前記移動手段、及び前記出力手段は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする請求項1記載の入出力管理装置。
  3. 前記入力手段は、前記入力手段に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする請求項1又は2記載の入出力管理装置。
  4. 前記出力手段は、前記出力手段に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする請求項1から3のいずれか1項記載の入出力管理装置。
  5. 前記入出力管理手段は、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする請求項1から4のいずれか1項記載の入出力管理装置。
  6. 入力工程、移動工程、及び出力工程をフォルダ管理する入出力管理手段を有し、入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置の入出力管理方法であって、
    前記入出力処理依頼に応じた入力を実行する前記入力工程と、
    前記入力工程によって入力されたデータを出力工程へ転送する前記移動工程と、
    前記移動工程によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力工程とを有し、
    前記入力工程では入力デバイス毎に入力用オブジェクトを生成し、
    前記出力工程では出力デバイス毎に出力用オブジェクトを生成し、
    前記移動工程では、生成された前記入力用及び出力用オブジェクトの中から前記入出力依頼に応じた適切なオブジェクトを選択することを特徴とする入出力管理方法。
  7. 前記入力工程、前記移動工程、及び前記出力工程は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする請求項6記載の入出力管理方法。
  8. 前記入力工程は、前記入力工程に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする請求項6又は7記載の入出力管理方法。
  9. 前記出力工程は、前記出力工程に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする請求項6から8のいずれか1項記載の入出力管理方法。
  10. 前記入出力管理手段は、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする請求項6から9のいずれか1項記載の入出力管理方法。
  11. 入力処理、移動処理、及び出力処理をフォルダ管理する入出力管理手段を有し、入出力処理依頼を受けた場合に、該入出力処理依頼に応答する入出力の実行を指示するとともに、前記各入出力処理依頼を管理する入出力管理装置の入出力管理プログラムであって、
    前記入出力処理依頼に応じた入力を実行する前記入力処理と、
    前記入力処理によって入力されたデータを前記出力処理へ転送する移動処理と、
    前記移動処理によって転送されてきた前記データの前記入出力依頼に応じた出力を実行する前記出力処理とを有し、
    前記入力処理では入力デバイス毎に入力用オブジェクトを生成し、
    前記出力処理では出力デバイス毎に出力用オブジェクトを生成し、
    前記移動処理では、生成された前記入力用及び出力用オブジェクトの中から前記入出力依頼に応じた適切なオブジェクトを選択することを特徴とする入出力管理プログラム。
  12. 前記入力処理、前記移動処理、及び前記出力処理は、前記入出力管理手段を木構造の親として該入出力管理手段によって管理されることを特徴とする請求項11記載の入出力管理プログラム。
  13. 前記入力処理は、前記入力処理に対応する入出力処理の入力条件及び実行状態を取得して保持することを特徴とする請求項11又は12記載の入出力管理プログラム。
  14. 前記出力処理は、前記出力処理に対応する入出力処理の出力条件及び実行状態を取得して保持することを特徴とする請求項11から13のいずれか1項記載の入出力管理プログラム。
  15. 前記入出力管理手段は、前記入出力管理装置が許容する最大のデータ数である限界数と、該限界数及び受付中のデータ数に応じて決定される受付状態と、を持ち、入出力処理依頼を受けた場合に前記受付状態に基づいて当該入出力処理依頼の受け付け可否を決定することを特徴とする請求項11から14のいずれか1項記載の入出力管理プログラム。
JP2005183075A 2005-06-23 2005-06-23 入出力管理装置、入出力管理方法、及び入出力管理プログラム Expired - Fee Related JP4538381B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005183075A JP4538381B2 (ja) 2005-06-23 2005-06-23 入出力管理装置、入出力管理方法、及び入出力管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005183075A JP4538381B2 (ja) 2005-06-23 2005-06-23 入出力管理装置、入出力管理方法、及び入出力管理プログラム

Publications (2)

Publication Number Publication Date
JP2007006070A JP2007006070A (ja) 2007-01-11
JP4538381B2 true JP4538381B2 (ja) 2010-09-08

Family

ID=37691250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005183075A Expired - Fee Related JP4538381B2 (ja) 2005-06-23 2005-06-23 入出力管理装置、入出力管理方法、及び入出力管理プログラム

Country Status (1)

Country Link
JP (1) JP4538381B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327883A (ja) * 1998-05-08 1999-11-30 Ricoh Co Ltd ドキュメント印刷制御ソフトウェア部品
JP2002314731A (ja) * 2001-04-18 2002-10-25 Ricoh Co Ltd ドキュメント処理アプリケーション構築方法
JP2003256216A (ja) * 2002-02-27 2003-09-10 Canon Inc ソフトウェア組込み型電子装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327883A (ja) * 1998-05-08 1999-11-30 Ricoh Co Ltd ドキュメント印刷制御ソフトウェア部品
JP2002314731A (ja) * 2001-04-18 2002-10-25 Ricoh Co Ltd ドキュメント処理アプリケーション構築方法
JP2003256216A (ja) * 2002-02-27 2003-09-10 Canon Inc ソフトウェア組込み型電子装置

Also Published As

Publication number Publication date
JP2007006070A (ja) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4838608B2 (ja) ワークフロー処理装置、ワークフロー処理方法、およびコンピュータが実行するためのプログラム
JP5199761B2 (ja) 情報処理装置と画像入力装置、文書配信システムとそれらの制御方法
US7663778B2 (en) Document processor, image forming apparatus, document processing method, and computer program
JP2006115482A (ja) 設定管理装置、設定管理プログラムおよび画像形成装置
JP2010166114A (ja) 画像処理装置、画像処理方法、記憶媒体、プログラム
JP5834526B2 (ja) 印刷制御プログラム、情報処理装置及び印刷装置
JP2006229582A (ja) 文書処理装置、画像形成装置及び文書処理プログラム
JP2007076191A (ja) 画像形成装置、印刷方法及び印刷プログラム
JP2007158929A (ja) 設定管理装置及び設定管理プログラム
JP6919370B2 (ja) 画像形成装置およびプログラム
JP2007336077A (ja) 画像形成装置、設定変更通知方法および設定変更通知プログラム
JP4538381B2 (ja) 入出力管理装置、入出力管理方法、及び入出力管理プログラム
JP2007226391A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP4450699B2 (ja) リクエスト管理装置、画像形成装置、ジョブ処理指示方法およびジョブ処理指示プログラム
JP2010214725A (ja) 印刷装置及び印刷システムと、印刷装置の制御方法
JP2005196334A (ja) サービス処理実行管理装置及び方法
JP2006059337A (ja) 文書管理装置及び画像形成システム
US20110063674A1 (en) Information processing apparatus and computer-readable medium including computer program
JP2006087028A (ja) アドレス帳管理プログラムおよび画像形成装置
JP4490852B2 (ja) 文書処理装置、画像形成装置及び文書処理プログラム
JP2007041968A (ja) ユーザインターフェース装置、ユーザインターフェース管理方法、及びユーザインターフェース管理プログラム
JP2007207267A (ja) リクエスト管理装置、画像形成装置、ジョブ処理指示方法およびジョブ処理指示プログラム
JP2006221454A (ja) アプリ管理装置、アプリ管理プログラムおよび画像形成装置
JP2006343926A (ja) アプリケーション管理装置、アプリケーション管理方法、及びアプリケーション管理プログラム
JP4787614B2 (ja) 画像形成装置及びアプリケーション管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

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: 20100615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100621

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4538381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees