JP2007110410A - Image forming apparatus and stream control program - Google Patents
Image forming apparatus and stream control program Download PDFInfo
- Publication number
- JP2007110410A JP2007110410A JP2005298969A JP2005298969A JP2007110410A JP 2007110410 A JP2007110410 A JP 2007110410A JP 2005298969 A JP2005298969 A JP 2005298969A JP 2005298969 A JP2005298969 A JP 2005298969A JP 2007110410 A JP2007110410 A JP 2007110410A
- Authority
- JP
- Japan
- Prior art keywords
- route
- section
- input
- output
- management
- 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.)
- Pending
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
Description
本発明は、画像形成装置及びストリーム制御プログラム関し、特に複数の入力手段の中から選択された入力手段より入力されたデータに対して要求された処理を施し、複数の出力手段の中から選択された出力手段に出力する画像形成装置及びストリーム制御プログラムに関する。 The present invention relates to an image forming apparatus and a stream control program, and in particular, performs a requested process on data input from an input unit selected from a plurality of input units, and is selected from a plurality of output units. The present invention relates to an image forming apparatus and a stream control program that output to the output unit.
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、UNIX(登録商標)などの汎用OS上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。 2. Description of the Related Art Conventionally, there has been known a multi-function machine in which a plurality of functions such as a printer, a copy, and a scanner are stored in a single casing. In such a multifunction device, a plurality of applications called a printer application, a copy application, and a scanner application are mounted on a general-purpose OS such as UNIX (registered trademark), and a plurality of functions are realized while switching execution processes of these applications. It was.
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。 However, since the printer application, the copy application, and the scanner application perform engine control, memory control, system control, and the like separately, wasteful duplication processing has occurred.
このため、特許文献1では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分(プラットホーム)として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
For this reason, in
また、特許文献2では、印刷装置に搭載される印刷制御ソフトウェアを、オブジェクト指向設計による複数のソフトウェア部品から構成し、かかる部品群の協調動作により印刷処理をおこなうこととしている。
しかしながら、この特許文献1で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。
However, the invention disclosed in
たとえば、スキャナデバイスなどの入力デバイスをとおして入力される画像データを、プリンタデバイスなどの出力デバイスに出力する場合において、利用者の指示に応じて入力デバイスおよび出力デバイスの選択をおこない、選択したデバイス間のデータの流れを制御するストリーム制御処理は、複写機上の各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。 For example, when outputting image data input through an input device such as a scanner device to an output device such as a printer device, the input device and the output device are selected according to a user instruction, and the selected device is selected. The stream control process that controls the flow of data between them is a process that exists in common with each application on the copier, but is not implemented in each application separately because it is not a process that directly controls the hardware. It can be shared.
また、特許文献2で開示されている発明は、印刷制御ソフトウェアをオブジェクト指向設計による複数のソフトウェア部品から構成したものであり、入力デバイスおよび出力デバイス間のデータの流れを制御するソフトウェア部品を開示したものではない。したがって、多機能化により多くの入出力デバイスを搭載する複合機において、特許文献2で開示されている発明を応用して、各入出力デバイスに対応するソフトウェア部品を作成したとしても、各入出力デバイスの処理速度の差異や、処理対象となるデータ単位やデータ形式の差異のため、各デバイス間のデータの流れを効率よく制御することは容易でない。
The invention disclosed in
これらのことから、複合機に搭載されるアプリケーションのストリーム制御処理をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、複数の入出力デバイスを有し、各入力デバイスから各出力デバイスへのデータの流れを制御するストリーム制御装置を形成するような場合にも同様に生ずる課題である。 For these reasons, how to efficiently realize the stream control processing of the application installed in the multifunction peripheral has become a big issue. Note that such a problem does not arise only for the multifunction peripheral. For example, when a stream control device that has a plurality of input / output devices and controls the flow of data from each input device to each output device is formed. Is a similar problem.
本発明は、上記の点に鑑みてなされたものであって、ストリーム制御処理を効率よく実現することができる画像形成装置及びストリーム制御プログラムの提供を目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to provide an image forming apparatus and a stream control program capable of efficiently realizing stream control processing.
そこで上記課題を解決するため、本発明は、複数の入力手段の中から選択された入力手段より入力されたデータに対して要求された処理を施し、複数の出力手段の中から選択された出力手段に出力する画像形成装置であって、前記入力手段から前記出力手段までの間に前記データが経由する各デバイス間の区間の状態を管理する区間管理手段と、前記入力手段から前記出力手段までの各区間に係る前記区間管理手段に基づいて前記入力手段から前記出力手段までの経路の状態を管理する経路管理手段と、前記入力手段と前記出力手段とが共通する前記経路の集合を、当該経路に係る前記経路管理手段に基づいて管理する経路集管理手段とを有することを特徴とする。 Therefore, in order to solve the above problem, the present invention performs a requested process on data input from an input unit selected from a plurality of input units, and outputs selected from the plurality of output units. An image forming apparatus for outputting to a section, a section managing section for managing a state of a section between the devices through which the data passes between the input section and the output section; and from the input section to the output section A path management means for managing the state of the path from the input means to the output means based on the section management means for each section, and a set of the routes in common between the input means and the output means, Route collection management means for managing based on the route management means related to the route.
このような画像形成装置では、ストリーム制御処理を効率よく実現することができる。 In such an image forming apparatus, stream control processing can be realized efficiently.
本発明によれば、ストリーム制御処理を効率よく実現することができる画像形成装置及びストリーム制御プログラムを提供することができる。 According to the present invention, it is possible to provide an image forming apparatus and a stream control program capable of efficiently realizing stream control processing.
以下に添付図面を参照して、この発明にかかるストリーム制御プログラム、およびこのプログラムを実行させるためのコンピュータを含んだ画像形成装置の最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、ストリーム制御処理をおこなう各種装置に適用することができる。 Exemplary embodiments of a stream control program according to the present invention and an image forming apparatus including a computer for executing the program will be described below in detail with reference to the accompanying drawings. In the present embodiment, the case where the present invention is applied to an image forming apparatus will be described. However, the present invention is not limited to this, and can be applied to various apparatuses that perform stream control processing.
まず、本実施の形態に係る画像形成装置(以下「複合機」と言う)1の概要について図1、図2、図3、図11および図12を用いて説明する。図1は、本実施の形態に係る複合機1を取り巻くネットワーク環境を説明するためのネットワーク図であり、図2は、図1に示した複合機1のハードウェア構成を示すブロック図であり、図3は、図1に示した複合機1のソフトウェアとハードウェアの関係を説明するための説明図であり、図11は、複合機1に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図12は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
First, an outline of an image forming apparatus (hereinafter referred to as “multifunction machine”) 1 according to the present embodiment will be described with reference to FIGS. 1, 2, 3, 11, and 12. FIG. 1 is a network diagram for explaining a network environment surrounding the
図1に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ(PC)などの機器は、LAN(Local Area Network)などのネットワークに接続され、相互に通信することが通常となった。たとえば、同図に示したように、かかるネットワークには、クライアントPC、SMTP(Simple Mail Transfer Protocol)サーバ、FTP(File Transfer Protocol)サーバ、サーバPCなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。 As shown in FIG. 1, with the recent progress of networking, devices such as personal computers (PCs) provided in offices are connected to a network such as a LAN (Local Area Network) and can communicate with each other. It became normal. For example, as shown in the figure, such a network is connected to a client PC, an SMTP (Simple Mail Transfer Protocol) server, an FTP (File Transfer Protocol) server, a server PC, etc., for sending and receiving e-mails and transferring files. The modem-connected delivery server can communicate with a fax machine outside the office.
このようなネットワーク化の進展に伴い、複合機1もかかるネットワークに接続され、PC等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
With the progress of such networking, the
たとえば、複合機1は、通常のコピー機能に加えて、クライアントPCからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントPCからのファックス要求により文書データ等をサーバPCに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。
For example, in addition to the normal copy function, the
こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機1に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。
In this way, in order to realize many functions required by the progress of compounding and networking, the software installed in the
図2は、かかる複合機1のハードウェア構成を示すブロック図である。同図に示すように、この複合機1は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ10は、複合機1全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
FIG. 2 is a block diagram illustrating a hardware configuration of the
コントローラ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とをさらに有する。
The
CPU11は、複合機1の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
The CPU 11 performs overall control of the
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
The NB 13 is a bridge for connecting the CPU 11 to the MEM-
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
The MEM-
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
The
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が接続される。
The ASIC 16 is an IC (Integrated Circuit) for image processing applications having hardware elements for image processing, and has a role of a bridge for connecting the
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。 The MEM-C 17 is a local memory used as an image buffer for copying and a code buffer, and an HDD (Hard Disk Drive) 18 is a storage for storing image data, programs, font data, and forms. It is.
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
The
図3は、かかる複合機1のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分であるストリーム部113aを含む統合アプリケーション110と、ソフトウェア100およびハードウェア200の階層関係を示している。同図に示すように、ハードウェア200は、ハードウェアリソース201を有し、このハードウェアリソース201は、スキャナ201a、プロッタ201b、HDD(Hard Disk Drive)201c、ネットワーク201dおよびその他のリソース201eを有する。なお、その他のリソース201eは、201a〜201d以外のハードウェアリソース201のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
FIG. 3 is a conceptual diagram showing the hardware and software configurations of the multi-function peripheral 1, and specifically, an
また、かかるハードウェア200に搭載されるソフトウェア100は階層化されており、オペレーティングシステム103の上層にはサービス層102が構築され、このサービス層102の上層にはアプリケーション層103が構築されている。そして、サービス層102は、各ハードウェアリソース(201a〜201e)を制御するドライバーに相当する、スキャナ制御102部a、プロッタ制御部102b、蓄積制御部102c、配信/メール送受信制御部102d、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gを有する。
The
ここで、図3に示したソフトウェア100が、かかる階層構造をとるに至った経緯について、図11および図12を用いて説明する。図11は、複合機1に搭載されるソフトウェア構成の変遷を示す説明図である。図11のサービス層分離前アプリケーション501に示すように、多機能化した複合機1に搭載されるソフトウェアは、コピーアプリケーション、FAXアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図3に示したオペレーティングシステム103上で動作していた。
Here, how the
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー(サービス層102)を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。 However, since these applications include a driver (service layer 102) that controls hardware resources, duplicate processing exists in each application. As a result, the scale of each application has become large.
そこで、図11のサービス層分離後アプリケーション502に示すように、サービス層分離前アプリケーション501のサービス層102相当部分を括りだしサービス層102とするとともに、各アプリケーションは、このサービス層102の上層であるアプリケーション層101に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。
Therefore, as shown in an
しかしながら、複合機1のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層101の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部102aや蓄積制御部102cといったドライバーと通信をおこなう処理や、各種機能が取り扱うデータの流れを制御するストリーム制御などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
However, as the networking and multi-functionalization of the
この問題を解決するため、図11の共通ルーチン分離アプリケーション503に示すように、かかる同様な処理(共通処理部分)を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
In order to solve this problem, as shown in the common
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。 However, since the internal processing of the common routine is complicated, it became difficult for repair personnel to grasp the processing, and there were concerns about the increase in the scale of repair and the impact on other applications due to repair mistakes.
そこで、図11のオブジェクト指向アプリケーション504に示すように、オブジェクト指向による設計手法(オブジェクトモデリング)により、かかる複数のアプリケーションを、統合アプリケーション110に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション110を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
Therefore, as shown in the object-oriented
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。 By adopting such a configuration, for example, addition of a new function such as a printer function can be dealt with by subclassing a class belonging to the object model. For this reason, a repair part becomes clear and the influence on other functions by repair can be made small. In addition, the object modeling program is easier to grasp the process than the conventional procedural program, so it is easier for the repair staff to grasp the process, reducing the scale of the repair, and other applications due to mistakes in the repair. The influence on can be reduced.
図12は、図11に示したサービス層分離後アプリケーション502の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層102の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層101は、コピーアプリケーション120、スキャナアプリケーション130、ファックスアプリケーション140およびプリンタアプリケーション150を有する。
FIG. 12 is an explanatory diagram showing the configuration of a conventional application at the stage of the service layer separated
たとえば、コピーアプリケーション120は、コピー機能を実現するために、スキャナ制御部102a、プロッタ制御部102b、蓄積制御部102cおよびその他の制御部102gとデータの送受信をおこなう。また、ファックスアプリケーション140は、ファックス機能を実現するために、プロッタ制御部102b、蓄積制御部102c、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gとデータの送受信をおこなう。このように、アプリケーション層101の各アプリケーションとサービス層102の各ドライバー間の通信は、複雑なものとなっていた。
For example, the
図3の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層101に存在した複数のアプリケーションは、統合アプリケーション110に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション110を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層101のアプリケーションと、サービス層102の各ドライバー間の通信は、図12と比較して単純になっている。
Returning to the description of FIG. 3, a plurality of applications existing in the
次に、統合アプリケーション110の内部構成について説明する。図4は、統合アプリケーション110の内部構成を示すブロック図である。同図に示すように、統合アプリケーション110は、操作系サブシステム111と、管理系サブシステム112と、実行系サブシステム113とを有する。
Next, the internal configuration of the
操作系サブシステム111は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム111は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。
The
管理系サブシステム112は、画像形成装置1の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム112は、ハードウェアリソース201およびこのハードウェアリソース201が保持するデータ状態を管理するサービスをおこなう。
The
実行系サブシステム113は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム113は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。
The
操作系サブシステム111、管理系サブシステム112および実行系サブシステム113は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション110全体として複合機1に必要とされるサービスの提供をおこなう。
The
そして、実行系サブシステム113は、本実施の形態の特徴部分であるストリーム部113aと実行制御部113bとを有する。このストリーム部113aは、実行制御部113bからデータの流れの制御に関する要求を受付け、データの入力と出力との間のデータの流れを制御するための処理(ストリーム制御処理)を実行する。
The
図5は、図4に示した各サブシステムを、UML(Unified Modeling Language)のクラス図(UMLクラス図)に置き換えた図である。ここで、UMLとは、OMG(Object Management Group)が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。 FIG. 5 is a diagram in which each subsystem shown in FIG. 4 is replaced with a UML (Unified Modeling Language) class diagram (UML class diagram). Here, UML is a system modeling language for which specifications are formulated by OMG (Object Management Group), and defines a notation for describing the results of modeling. This UML is widely used in the design of object-oriented software.
図5に示すように、統合アプリケーション110は複数のパッケージを有し、また、この統合アプリケーション110自体もひとつのパッケージとなっている。ここで、パッケージとはUMLモデルの各構成要素(シンボル)をグループ化したものであり、左上にタブのついたフォルダの形をしたシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
As shown in FIG. 5, the
図5に示したように、統合アプリケーション110は、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113の3つのパッケージを内部に有するパッケージである。さらに、実行系サブシステム113は、本実施の形態の特徴部分であるストリーム部113aと実行制御部113bとを内部に有するパッケージである。そして、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113を相互に結ぶ直線は、各パッケージ間に処理依頼(たとえば、メッセージ送受信)などの関連があることを示している。なお、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すUMLのシンボルである。
As shown in FIG. 5, the
次に、本実施の形態の特徴部分であるストリーム部113aについて詳細に説明する。
Next, the
図6は、複合機1の操作パネル400の一例を示した図である。同図に示すように、かかる操作パネル400は、初期設定キー401、コピーキー402、コピーサーバーキー403、プリンタキー404、送信キー405、テンキー406、クリア/ストップキー407、スタートキー408、予熱キー409、リセットキー410および液晶タッチパネル420を有する。
FIG. 6 is a diagram illustrating an example of the operation panel 400 of the
たとえば、利用者が、複合機1に紙原稿をセットしてコピーキー402を押下してコピー処理を選択し、スタートキー408を押下したならば、スキャナ201aデバイスからプロッタ201bデバイスへのデータの流れが発生する。この場合、データが流れる経路は必ずしも一意であるとは限らない。例えば、スキャナ201aによってスキャンされたデータが、プロッタ201bから出力される前に、HDD18に保存される場合もある。
For example, if the user sets a paper document in the
また、複合機1は、複数の機能を有するため、利用者の指示に応じてデータが流れる経路は様々なものに変化する。例えば、原稿をスキャンしてその画像データをFAX送信したり、HDD18に保存されているデータを印刷又はFAX送信したりする場合もある。
In addition, since the
なお、本実施の形態において、利用者から要求された処理に係るデータの入力手段(紙原稿からの入力、FAX回線からの入力等、以下「出発地」という。)から出力手段(紙への出力、FAX回線への出力等、以下「最終目的地」という。)までの道筋を「経路」という。また、各経路においてデータが経由するそれぞれのデバイスの間を「区間」という。例えば、鉄道にたとえると、始発駅(出発地)が東京駅で終着駅(最終目的地)が大阪駅の場合、東京−大阪間は経路に相当する。そして、東京−大阪間におけるそれぞれの駅の間が「区間」に相当する。 In this embodiment, data input means (input from a paper manuscript, input from a FAX line, etc., hereinafter referred to as “departure place”) related to processing requested by the user is output from output means (to paper). The route to “Final Destination”, such as output and output to a FAX line, is hereinafter referred to as “route”. In addition, between each device through which data passes in each route is referred to as a “section”. For example, in the case of a railway, when the first station (departure point) is Tokyo Station and the last station (final destination) is Osaka Station, the route between Tokyo and Osaka corresponds to a route. A section between each station between Tokyo and Osaka corresponds to a “section”.
図7は、経路と区間とを説明するための図である。図7に示されるように、経路は一つ以上の区間によって構成される。なお、スキャナ201aによってスキャンされたデータをHDD18に保存し、更にプロッタ201bから出力する処理の場合、スキャナ201aからHDD18までとHDD18からプロッタ201bまでとのそれぞれが区間に相当し、この二つの区間の集まりが経路に相当する。
FIG. 7 is a diagram for explaining a route and a section. As shown in FIG. 7, the route is composed of one or more sections. In the process of storing the data scanned by the
図8は、ストリーム部113aのクラス構成を示すUMLクラス図である。まず、クラスとUMLクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理を定義するとともに、継承関係や集約関係といった、他のクラスとの関係を定義するものである。
FIG. 8 is a UML class diagram showing the class structure of the
UMLクラス図におけるクラスは、3段の区画を有する矩形として記述される。それぞれの区画は、上から、クラス名を示す名前区画、クラスが有するデータ(属性)を示す属性区画およびクラスが有する処理(操作)を示す操作区画と呼ばれる。たとえば、区間クラス310を示す矩形の名前区画は、かかるクラスのクラス名が「区間」であることを示し、属性区画は、かかるクラスが有する属性が、「区間状態」であることを示し、操作区画は、かかるクラスが有する操作が、「使用()」であることを示している。
The class in the UML class diagram is described as a rectangle having three sections. From the top, each section is called a name section indicating a class name, an attribute section indicating data (attribute) included in the class, and an operation section indicating processing (operation) included in the class. For example, a rectangular name section indicating the
このように、各クラスは、データ(属性)を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理(操作)を所持するための操作区画とを有している。これらのクラスは、プログラム(統合アプリケーション110)の一部として含まれるので、あらかじめROM12aに格納されたこのプログラムが実行されると、各クラスはRAM12bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM12b上に展開される。したがって、クラスを実体化したオブジェクトは、RAM12b上の各データ(属性)の書き込みおよび読み出しをすることが可能となる。
Thus, each class has an attribute section for possessing data (attribute) and an operation section for possessing processing (operation) for writing and reading such an attribute. Since these classes are included as a part of the program (integrated application 110), when this program stored in the
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「+」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「記入する()」のように「()」記号を付することが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。
In addition, if a "-" symbol is attached to the left side of a class element such as attribute or operation, this indicates that the element is private to external classes, and if a "+" symbol is attached, this element Indicates that it is open to external classes. Also, for operations, it is customary to add a “()” symbol, such as “Enter ()”, and to describe an argument to be passed to the operation, such as “(
次に、本実施の形態の特徴部分であるストリーム部113aのクラスの概要について説明する。図8に示されるように、ストリーム部113aは、区間クラス310、経路クラス320、経路集クラス330、経路図クラス340及び受付クラス350等を含む。
Next, an overview of the class of the
区間クラス310は、一つの区間を表現するクラスであり、デバイス間の区間状態を管理する。ここで、区間状態とは、区間の使用可否をあらわす情報である。すなわち、区間の始点および終点に係るデバイスのいずれもが使用可能であれば、当該区間は使用可能であり、始点あるいは終点のいずれか一方のデバイスが使用不可能であれば、当該区間は使用不可能となる。
The
区間クラス310は、属性として区間状態310a等を有し、操作として、使用()310b等を有する。なお、かかる区間クラス310のインスタンスが生成されると、区間状態310aはRAM12b上に展開されるので、このデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。
The
区間状態310aは、区間が使用可能であるか否かの情報(すなわち、区間状態)を保持する。使用()310bは、当該区間に係るデバイス等のリソースを確保し、当該区間が他の経路に重複して利用されるのを回避するため、区間状態310aの値を使用不可能とする。
The
経路クラス320は、一つの経路を表現するクラスであり、当該経路を構成する区間の構築や、区間に障害が発生した場合の処理判断等(例えば、他の区間の選択等)を行う。経路クラス320は、属性として目的320a及び経路状態320b等を有し、操作として作成()320c及び異常発生通知()320d等を有する。
The
目的320aは、当該経路にどのような目的があるのか(データを蓄積する、する必要はない等)といった情報を保持する。
The
経路状態320bは、経路の状態、すなわち、当該経路を構成する区間全ての状態を総合した情報を保持する。したがって、経路状態320bを参照することで、当該経路の使用の可否が判断され得る。 The route state 320b holds information that summarizes the state of the route, that is, the state of all the sections constituting the route. Therefore, whether or not the route can be used can be determined by referring to the route state 320b.
作成()320cは、当該経路を構成する区間を構築する。 The creation () 320c constructs a section constituting the route.
異常発生通知()320dは、当該経路を構成するいずれかの区間に異常が発生した際に、当該区間に係る区間クラス310のインスタンス(以下「区間オブジェクト310A」といい、他のクラスについても同様の命名規則に基づく名前によって各インスタンスを呼ぶ。)より異常通知を受け付けるためのものである。
The abnormality occurrence notification () 320d is referred to as an instance of the section class 310 (hereinafter referred to as “
経路集クラス330は、出発地と最終目的地とが共通する経路オブジェクト320Aを束ねて管理するクラスであり、管理対象の経路オブジェクト320Aの中から利用者の要求を適切に満たすための経路に係る経路オブジェクト320Aの選択等を行う。出発地と最終目的地とが同じであっても、異なる区間をたどる場合等があるので、出発地と最終目的地とが共通する経路が複数存在し得るのである。経路集クラス330は、属性として出発地330a及び最終目的地330b等を有し、操作として検討()330c及び異常発生通知()330d等を有する。
The
出発地330aは、当該経路においてデータが最初に入力される入力手段の種別(紙原稿からの入力、FAX回線からの入力(FAX受信)等、以下「入力種別」という。)を保持する。
The
最終目的地330bは、当該経路においてデータが最終的に出力される出力手段の種別(紙への出力(印刷)、FAX回線への出力(FAX送信)等、以下「出力種別」という。)を保持する。 The final destination 330b indicates the type of output means (data output (print) to paper, output to FAX line (FAX transmission), etc., hereinafter referred to as “output type”) in which data is finally output on the route. Hold.
検討()330cは、引数として与えられた入力種別及び出力種別に基づいて、適切な又は最適な経路の選択を行い、選択された経路に係る経路オブジェクト320Aに適切な又は最適な区間の生成を要求する。
The examination () 330c selects an appropriate or optimal route based on the input type and output type given as arguments, and generates an appropriate or optimal section for the
異常発生通知()330dは、経路集オブジェクト330Aが、当該経路集オブジェクト330Aに属する経路オブジェクト320Aより、異常通知を受け付けるためのものである。
The abnormality occurrence notification () 330d is for the route collection object 330A to receive an abnormality notification from the
経路図クラス340は、全ての経路集オブジェクト330Aを束ねて管理するクラスであり、そのインスタンス(経路図オブジェクト340A)は、ストリーム部113aに一つだけ存在する。経路図クラス340は、属性として出発地数340a及び目的地数340b等を有し、操作として検討()340c及び通知()340d等を有する。
The
出発地数340aは、入力種別の総数(すなわち、複合機1がどれだけの入力手段を有しているかを示す情報)を保持する。
The
目的地数340bは、出力種別の総数(すなわち、複合機1がどれだけの出力手段を有しているかを示す情報)を保持する。
The number of destinations 340b holds the total number of output types (that is, information indicating how many output units the
検討()340cは、入力種別及び出力種別を引数として受け取り、当該入力種別及び出力種別に対応する経路集オブジェクト330Aの検索を行う。
The examination () 340c receives the input type and the output type as arguments, and searches for the
通知()340dは、経路集オブジェクト330Aより異常通知等を受け付けるためのものである。
The notification () 340d is for receiving an abnormality notification or the like from the
受付クラス350は、実行制御部113bからのストリーム部113aに対する要求を受け付けるための窓口としてのクラスであり、そのインスタンス(受付オブジェクト350A)は、ストリーム部113aに一つだけ存在する。受付クラス350は、操作として流す()350a及び通知350b()等を有する。
The
流す()350aは、実行制御部113bより、入力種別と出力種別とを含む経路の探索要求受付、その要求を経路図オブジェクト340Aに伝達する。
The flow () 350a receives a search request for a route including the input type and the output type from the
通知()340eは、経路図オブジェクト340Aより異常通知等を受け付け、その異常通知等を実行制御部113bに通知する。
The notification () 340 e receives an abnormality notification from the
次に、図8に示した各クラス間の関係について説明する。同図に示されるように、UMLクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。この直線の両端付近の文字はクラスのロールを表し、数字はクラスの多重度を表す。ここで、ロールとは、直線で結ばれた他方のクラスに対する当該クラスの役割のことであり、多重度とは、直線で結ばれた他方のクラスのオブジェクトと関連付けられて生成されるオブジェクトの数のことである。 Next, the relationship between the classes shown in FIG. 8 will be described. As shown in the figure, in the UML class diagram, when there is some relationship between classes, rectangles representing those classes are connected by a straight line. The characters near both ends of this line represent the class role, and the numbers represent the multiplicity of the class. Here, the role is the role of the class with respect to the other class connected by a straight line, and the multiplicity is the number of objects generated in association with the object of the other class connected by a straight line. That is.
例えば、ある関連において一方の多重度の表記が「1」で、他方の多重度の表記が「1..n」である場合、当該関連にかかる両端のクラスのインスタンスは、1対多(1〜n)の関係にあることを意味する。 For example, when the notation of one multiplicity is “1” and the notation of the other multiplicity is “1..n” in a certain relationship, the instances of the classes at both ends related to the relationship are one-to-many (1 To n).
まず、受付クラス350と経路図クラス340との関連について説明する。受付クラス350は、実行制御部113bからの要求を受け付ける役割を有する。一方、経路図クラス340は、経路の集合(経路集)の集合(経路図)を管理するという役割を有する。かかるところから、当該関連において受付クラス350のロール名は「受付」であり、経路図クラス340のロール名は「経路図」である。
First, the relationship between the
また、受付クラス350及び経路図クラス340のそれぞれのインスタンスは、ストリーム部113aに一つであるため、両者は1対1の関係にある。
In addition, since there is one instance of each of the
次に、経路図クラス340と経路集クラス330との関連について説明する。経路図クラス340は、経路集オブジェクト330Aを管理する役割を有する。一方、経路集クラス330は、経路集を管理するという役割を有する。かかるところから、当該関連において経路図クラス340のロール名は「管理元」であり、経路集クラス330のロール名は「経路集」である。
Next, the relationship between the
また、一つの経路図オブジェクト340Aによって一つ以上の経路集オブジェクト330Aが管理されるため、両者は1対多の関係にある。 Further, since one or more route collection objects 330A are managed by one route diagram object 340A, the two have a one-to-many relationship.
ところで、経路図クラス340側に記された白抜きのひし形は、集約関係をあらわしている。集約関係とは、あるクラスが別のクラスの一部として含まれる関係のことである。具体的には、経路集オブジェクト330Aは、経路図オブジェクト340Aの一部であることを意味する。したがって、経路集オブジェクト330Aが存在するためには、少なくとも経路図オブジェクト340Aが存在していることが条件となる。
By the way, the white diamond written on the
次に、経路集クラス330と経路クラス320との関連について説明する。経路集クラス330は、経路オブジェクト320Aを管理する役割を有する。一方、経路クラス320は、データのストリームとして選択される経路の候補を管理するという役割を有する。かかるところから、当該関連において経路集クラス330のロール名は「管理元」であり、経路クラス320のロール名は「経路候補」である。
Next, the relationship between the
また、一つの経路集オブジェクト330Aによって一つ以上の経路オブジェクト320Aが管理されるため、両者は1対多の関係にあり、一つの経路集オブジェクト330Aが一つ以上の経路オブジェクト320Aを集約する。
In addition, since one or more route objects 320A are managed by one
次に、経路クラス320と区間クラス310との関連について説明する。経路クラス320は、区間によって構成される経路としての役割を有する。一方、区間クラス310は、経路を構成する区間としての役割を有する。かかるところから、当該関連において経路クラス320のロール名は「経路」であり、区間クラス310のロール名は「区間」である。
Next, the relationship between the
また、一つの経路オブジェクト320Aによって一つ以上の区間オブジェクト310Aが管理されるため、両者は1対多の関係にあり、一つの経路オブジェクト320Aが一つ以上の区間オブジェクト310Aを集約する。 In addition, since one or more section objects 310A are managed by one path object 320A, they have a one-to-many relationship, and one path object 320A aggregates one or more section objects 310A.
このように、区間クラス310、経路クラス320、経路集クラス330、経路図クラス340及び受付クラス350等の各インスタンスが相互に関連し合い、協調して、ストリーム部113aに必要な機能を実現している。
In this way, the instances such as the
次に、図8に示した各クラスの操作の実行手順について例をあげて説明する。図9は、ストリーム部113aがデータを流す経路の探索要求を受け付けた際の操作の実行手順を説明するためのUMLシーケンス図である。
Next, an example of the execution procedure of each class operation shown in FIG. 8 will be described. FIG. 9 is a UML sequence diagram for explaining an operation execution procedure when the
ここで、UMLシーケンス図について説明しておく。図9の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線(ライフライン)であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間(活性期間)を示す。 Here, the UML sequence diagram will be described. Each rectangle arranged in the upper part of FIG. 9 indicates a class object. A line extending downward from each object is a line (lifeline) indicating that each object is alive, and time is considered to flow from the top to the bottom. An elongated rectangle present on this line indicates a period during which the object is actually active (active period).
各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。また、矢印が自分自身のオブジェクトを指している場合は、オブジェクトが自分に含まれる操作を自身で呼び出すことを意味する。 Horizontal arrows connecting the lifelines indicate execution of operations included in the object. Specifically, this arrow indicates that the original object of the arrow calls an operation included in the object at the end of the arrow. Further, when the arrow points to its own object, it means that the object calls the operation included in itself.
利用者が操作パネル400を操作してコピー機能等の実行を指示すると、操作系サブシステム111は、動作設定情報を含むメッセージを実行制御部113bに対して送る。動作設定情報とは、利用者によって操作パネル400上で設定された各種の設定情報をいう。実行制御部113bは、必要な処理を行なった後、受付オブジェクト350Aの流す()350aを呼び出すことにより、ストリーム部113aに対して実行指示に係る機能において処理対象とされるデータを流すための経路の探索及び確保を要求する(S101)。なお、流す()350aの引数には、入力種別及び出力種別が指定される。
When the user operates the operation panel 400 to instruct execution of a copy function or the like, the
流す()350aを呼び出された受付オブジェクト350Aは、経路図オブジェクト340Aの検討()340cを呼び出す(S102)。検討()340cの引数には、流す()350aの引数に指定された入力種別及び出力種別がそのまま指定される。 The reception object 350A, which is called the flow () 350a, calls the examination () 340c of the route diagram object 340A (S102). As the argument of the examination () 340c, the input type and the output type designated as the argument of the flow () 350a are designated as they are.
経路図オブジェクト340Aは入力種別及び出力種別に基づいて、出力手段の検討を依頼する経路集オブジェクト330Aの絞込みを行なう。すなわち、自らが管理している経路集オブジェクト330Aの中から、出発地330a及び最終目的地330bの値が入力種別及び出力種別と一致するものを検索し、検索された経路集オブジェクト330Aの検討()330cを呼び出す(S103)ことにより実行指示された機能を実現するための経路の選択を要求する。なお、検討()330cの引数には、入力種別及び出力種別が指定される。
The route diagram object 340A narrows down the
経路集オブジェクト330Aは、与えられた入力種別及び出力種別等の情報に基づいて、利用者による実行指示を適切又は最適に満たすことのできる経路を判断し、当該経路に係る経路オブジェクト320Aの作成()320cを呼び出すことにより、経路の確保を要求する(S104)。なお、適切又は最適な経路の判断に際し、経路集オブジェクト330Aは、自らが管理している各経路オブジェクト320Aの目的320a及び経路状態320b等をも参酌する。
The route collection object 330A determines a route that can satisfy the execution instruction by the user appropriately or optimally based on the given information such as the input type and the output type, and creates the
経路オブジェクト320Aは、当該経路を構成する各区間に係る区間オブジェクト310Aを生成し(S105)、生成した各区間オブジェクト310Aの使用()310bを呼び出す。使用()310bを呼び出された各区間オブジェクト310Aは、当該区間に係るデバイス等のリソースを確保し、当該区間が他の経路に重複して利用されるのを回避するため、区間状態310aの値を使用不可能とする。以上の処理により利用者による実行指示を果たすための下地ができ、当該実行指示の対象とされたデータを流すことが可能となる。
The path object 320A generates a
なお、ステップS106において、いずれかの区間オブジェクト310Aが使用不可能であった場合、その旨が経路オブジェクト320Aを介して経路集オブジェクト330Aに通知される。経路集オブジェクト330Aは、その通知に応じて改めて経路オブジェクト320Aを選択し、選択された経路オブジェクト320Aの作成()320cを呼び出す。
In step S106, when any of the section objects 310A cannot be used, the fact is notified to the
次に、ストリーム部113aの処理の実行中に、いずれかの区間において障害が発生した場合の処理について説明する。図10は、区間において障害が発生した際の操作の実行手順を説明するためのUMLシーケンス図である。
Next, a process when a failure occurs in any section during the process of the
ストリーム部113aによる処理の実行中に、ある区間のデバイス等に障害が発生すると、当該区間に係る区間オブジェクト310Aは、自らが属する経路オブジェクト320Aの異常発生通知()320dを呼び出すことにより、障害の発生を通知する(S201)。経路オブジェクト320Aは、発生した障害に応じて対応策を検討する(しばらく待機してみる、代替手段に移行する等)。
When a failure occurs in a device or the like in a section during the processing by the
待機や代替手段への移行等が不可能な場合、経路オブジェクト320Aは、自らが属する経路集オブジェクト330Aの異常発生通知()330dを呼び出すことにより、障害の発生を通知する(S202)。続いて、経路集オブジェクト330Aは、経路図オブジェクト340Aの通知()340dを呼び出し(S203)、経路図オブジェクト340dは、受付オブジェクト350Aの通知()350bを呼び出し(S204)、受付オブジェクト350Aは、実行制御部113bに対して障害の発生を通知する(S205)。障害の発生は、実行制御部113bから操作サブシステム111に通知され、操作パネル400にメッセージ等が表示させることにより、利用者に通知される。この際、利用者に対して代替手段の選択を要求し、その要求に応じた選択に基づいて、ステップS101移行の処理を行なっても良い。
When standby or transition to alternative means is impossible, the path object 320A notifies the occurrence of a failure by calling the abnormality occurrence notification () 330d of the
一方、代替手段への移行が可能な場合、経路オブジェクト320Aは、自らが属する経路集オブジェクト330Aの検討()330cを呼び出す。これを受けて経路集オブジェクト330Aは、例えば、予め定められた優先順位(低順位になるほど生産性の面で効率が落ちるといったような優先順位)に従って、再度経路の選択を行う。その後の処理は、図9のステップS104以降で説明したとおりである。
On the other hand, when the transition to the alternative means is possible, the route object 320A calls the examination () 330c of the
なお、代替手段への移行とは、例えば、「FAXの直接送信」の実行を要求されたが相手先に繋がらないため「FAXのメモリ送信」に切り替えたり、「コピー蓄積かつ印刷」の実行を要求されたが、HDD18に空き容量が無かったため、蓄積は行わず印刷処理だけを行うようにしたりといった具合である。
The transition to alternative means is, for example, switching to “FAX memory transmission” or executing “copy accumulation and printing” because it is requested to execute “FAX direct transmission” but does not connect to the other party. Although requested, there is no free space in the
上述したように、本実施の形態における複合機1では、経路及び区間といった汎用的な概念に基づいてストリーム部113aが実現されている。したがって、特定の機能や特定のデバイスに限定されず、各種の機能や各種のデバイスに対応したストリーム制御を容易かつ効率的に実現することができる。
As described above, in the
なお、本実施の形態の画像形成装置で実行されるストリーム制御プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(CD Recordable)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、CPU11が上記記憶媒体から、ストリーム制御プログラムを読み出してMEM−P12上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
The stream control program executed by the image forming apparatus of the present embodiment is a file in an installable format or an executable format, and is a CD-ROM (Compact Disc Read Only Memory), a flexible disc (FD), a CD- You may comprise so that it may record and provide on computer-readable recording media, such as R (CD Recordable) and DVD (Digital Versatile Disk). In this case, the CPU 11 reads out the stream control program from the storage medium and loads it onto the MEM-
また、ストリーム制御プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかるストリーム制御プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。 The stream control program may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Further, such a stream control program may be provided or distributed via a network such as the Internet.
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment which concerns, In the range of the summary of this invention described in the claim, various deformation | transformation * It can be changed.
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)
100 ソフトウェア
101 アプリケーション層
102 サービス層
102a スキャナ制御部
102b プロッタ制御部
102c 蓄積制御部
102d 配信/メール送受信制御部
102e FAX送受信制御部
102f ネットワーク通信制御部
102g その他の制御部
103 オペレーティングシステム
110 統合アプリケーション
111 操作系サブシステム
112 管理系サブシステム
113 実行系サブシステム
113a ストリーム部
113b 実行制御部
120 コピーアプリケーション
130 スキャナアプリケーション
140 ファックスアプリケーション
150 プリンタアプリケーション
200 ハードウェア
201 ハードウェアリソース
201a スキャナ
201b プロッタ
201c HDD
201d ネットワーク
201e その他のリソース
310 区間クラス
310A 区間オブジェクト
310a 区間状態
310b 使用()
320 経路クラス
320A 経路オブジェクト
320a 目的
320b 経路状態
320c 作成()
320d 異常発生通知()
330 経路集クラス
330A 経路集オブジェクト
330a 出発地
330b 最終目的地
330c 検討()
330d 異常発生通知()
340 経路図クラス
340A 経路図オブジェクト
340a 出発地数
340b 目的地数
340c 検討()
340d 通知()
350 受付クラス
350a 流す()
350b 通知()
400 操作パネル
401 初期設定キー
402 コピーキー
403 コピーサーバーキー
404 プリンタキー
405 送信キー
406 テンキー
407 クリア/ストップキー
408 スタートキー
409 予熱キー
410 リセットキー
420 液晶タッチパネル
501 サービス層分離前アプリケーション
502 サービス層分離後アプリケーション
503 共通ルーチン分離アプリケーション
504 オブジェクト指向アプリケーション
1 Image forming device (multifunction machine)
10 Controller 11 CPU
12 MEM-P
12a ROM
12b RAM
13 NB
14 SB
15 AGP
16 ASIC
17 MEM-C
18 HDD
20 Keyboard (Operation panel)
30 FCU
40 USB
50 IEEE1394
60 Engine
DESCRIPTION OF
201d network 201e
320
320d Abnormality notification ()
330
330d Abnormality notification ()
340
340d Notification ()
350
350b Notification ()
400
Claims (12)
前記入力手段から前記出力手段までの間に前記データが経由する各デバイス間の区間の状態を管理する区間管理手段と、
前記入力手段から前記出力手段までの各区間に係る前記区間管理手段に基づいて前記入力手段から前記出力手段までの経路の状態を管理する経路管理手段と、
前記入力手段と前記出力手段とが共通する前記経路の集合を、当該経路に係る前記経路管理手段に基づいて管理する経路集管理手段とを有することを特徴とする画像形成装置。 An image forming apparatus that performs requested processing on data input from an input unit selected from a plurality of input units and outputs the data to an output unit selected from the plurality of output units,
Section management means for managing the state of each section between the devices through which the data passes between the input means and the output means;
Path management means for managing the status of the path from the input means to the output means based on the section management means for each section from the input means to the output means;
An image forming apparatus comprising: a route collection management unit that manages the set of routes shared by the input unit and the output unit based on the route management unit related to the route.
前記経路集管理手段は、前記要求された処理の代替処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項4記載の画像形成装置。 When the section management means cannot use the device related to the section, the section management means notifies the route collection management means to that effect via the path management means,
5. The route collection management unit selects a route for realizing an alternative process of the requested processing, and requests the route management unit related to the route to secure the route. Image forming apparatus.
前記入力手段から前記出力手段までの間に前記データが経由する各デバイス間の区間の状態を管理する区間管理手段と、
前記入力手段から前記出力手段までの各区間に係る前記区間管理手段に基づいて前記入力手段から前記出力手段までの経路の状態を管理する経路管理手段と、
前記入力手段と前記出力手段とが共通する前記経路の集合を、当該経路に係る前記経路管理手段に基づいて管理する経路集管理手段として機能させるためのストリーム制御プログラム。 An image forming apparatus that performs a requested process on data input from an input unit selected from a plurality of input units and outputs the data to an output unit selected from the plurality of output units.
Section management means for managing the state of each section between the devices through which the data passes between the input means and the output means;
Path management means for managing the status of the path from the input means to the output means based on the section management means for each section from the input means to the output means;
A stream control program for causing a set of routes shared by the input unit and the output unit to function as a route collection management unit that manages the set of routes based on the route management unit related to the route.
前記経路集管理手段は、前記要求された処理の代替処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項10記載のストリーム制御プログラム。 When the section management means cannot use the device related to the section, the section management means notifies the route collection management means to that effect via the path management means,
11. The route collection management unit selects a route for realizing an alternative process of the requested process, and requests the route management unit related to the route to secure the route. Stream control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005298969A JP2007110410A (en) | 2005-10-13 | 2005-10-13 | Image forming apparatus and stream control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005298969A JP2007110410A (en) | 2005-10-13 | 2005-10-13 | Image forming apparatus and stream control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007110410A true JP2007110410A (en) | 2007-04-26 |
Family
ID=38035908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005298969A Pending JP2007110410A (en) | 2005-10-13 | 2005-10-13 | Image forming apparatus and stream control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007110410A (en) |
-
2005
- 2005-10-13 JP JP2005298969A patent/JP2007110410A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011066521A (en) | Software management device, software distribution server, software distribution system, installation method and program | |
US9606696B2 (en) | Information processing apparatus that displays status of external apparatus in status monitor, and displaying method | |
US7663778B2 (en) | Document processor, image forming apparatus, document processing method, and computer program | |
JP2010018004A (en) | Implementation device of work flow and implementation method of work flow | |
US20080304090A1 (en) | Information processing apparatus and information processing program | |
JP2006115482A (en) | Setting management device, setting management program and image forming apparatus | |
JP5454208B2 (en) | Image processing apparatus, software management system, software management method, and program | |
JP2006229582A (en) | Document processor, image forming apparatus and document processing program | |
JP2007094674A (en) | Apparatus and use restriction program | |
JP2007251245A (en) | Image forming apparatus, file management method, and file management program | |
JP2020052553A (en) | Information processing apparatus, printing method and program | |
JP2007336077A (en) | Image forming apparatus, setting change reporting method, and setting change reporting program | |
JP2005050018A (en) | Document file management device and data structure | |
JP2007110410A (en) | Image forming apparatus and stream control program | |
JP2007094673A (en) | Apparatus and use restriction program | |
JP2022032145A (en) | Information processing system, processing execution system, processing execution method, and program | |
JP2004005503A (en) | Image forming device having web service function | |
JP2007274143A (en) | Image processor, image processing method, image processing program, and information storage medium | |
JP2005050017A (en) | Document file management device, document file management method and data structure | |
JP4656897B2 (en) | Stream control program and image forming apparatus | |
JP4450699B2 (en) | Request management apparatus, image forming apparatus, job processing instruction method, and job processing instruction program | |
JP4538381B2 (en) | I / O management device, I / O management method, and I / O management program | |
JP2006087028A (en) | Address book management program and image forming apparatus | |
JP2006221454A (en) | Application management device, application management program and image forming apparatus | |
JP2007041968A (en) | User interface device, user interface management method and user interface management program |