JP2007110410A - Image forming apparatus and stream control program - Google Patents

Image forming apparatus and stream control program Download PDF

Info

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
Application number
JP2005298969A
Other languages
Japanese (ja)
Inventor
Reiji Yukimoto
礼嗣 行本
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 JP2005298969A priority Critical patent/JP2007110410A/en
Publication of JP2007110410A publication Critical patent/JP2007110410A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming apparatus and a stream control program capable of efficiently realizing stream control processing. <P>SOLUTION: The image forming apparatus for applying requested processing to data entered by an entry means selected among a plurality of entry means and outputting the processed data to an output means selected among a plurality of output means, includes: an interval management means for managing a state of intervals among devices through which the data pass between the input means and the output means; a path management means for managing the paths from the input means to the output means on the basis of the interval management means associated with each interval from the input means to the output means; and a path set management means for managing a set of the paths shared by the input means and the output means on the basis of the path management means associated with the paths in order to solve the task above. <P>COPYRIGHT: (C)2007,JPO&INPIT

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 Patent Document 1, the applications such as engine control, memory control, and system control, which have been performed by a plurality of applications installed in the multifunction peripheral, are grouped from each application as a common processing part (platform). The development efficiency is improved.

また、特許文献2では、印刷装置に搭載される印刷制御ソフトウェアを、オブジェクト指向設計による複数のソフトウェア部品から構成し、かかる部品群の協調動作により印刷処理をおこなうこととしている。
特開2002−084383号公報 特開平11−327883号公報
Further, in Patent Document 2, print control software installed in a printing apparatus is composed of a plurality of software components based on object-oriented design, and printing processing is performed by cooperative operation of such component groups.
JP 2002-084383 A Japanese Patent Laid-Open No. 11-327883

しかしながら、この特許文献1で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。   However, the invention disclosed in Patent Document 1 shares a processing part for controlling hardware, and does not share all internal processes of each application. For this reason, there is still room for improvement in the application on the multifunction peripheral in order to improve the development efficiency.

たとえば、スキャナデバイスなどの入力デバイスをとおして入力される画像データを、プリンタデバイスなどの出力デバイスに出力する場合において、利用者の指示に応じて入力デバイスおよび出力デバイスの選択をおこない、選択したデバイス間のデータの流れを制御するストリーム制御処理は、複写機上の各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。   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 Patent Document 2 is a print control software composed of a plurality of software components based on object-oriented design, and discloses a software component that controls the flow of data between an input device and an output device. It is not a thing. Therefore, even in the case where a software component corresponding to each input / output device is created by applying the invention disclosed in Patent Document 2 in a multi-function machine equipped with a large number of input / output devices, each input / output device is provided. Due to differences in processing speed of devices and differences in data units and data formats to be processed, it is not easy to efficiently control the data flow between devices.

これらのことから、複合機に搭載されるアプリケーションのストリーム制御処理をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、複数の入出力デバイスを有し、各入力デバイスから各出力デバイスへのデータの流れを制御するストリーム制御装置を形成するような場合にも同様に生ずる課題である。   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 MFP 1 according to the present embodiment, and FIG. 2 is a block diagram showing a hardware configuration of the MFP 1 shown in FIG. 3 is an explanatory diagram for explaining the relationship between software and hardware of the multifunction device 1 shown in FIG. 1, and FIG. 11 is an explanation for explaining the transition of the software configuration installed in the multifunction device 1. FIG. 12 is an explanatory diagram for explaining the relationship between software and hardware of a conventional multifunction machine.

図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 multifunction device 1 is also connected to such a network and can communicate with a device such as a PC. By incorporating a storage device such as a hard disk, a so-called network multifunction device can be obtained. It has evolved to meet various user needs.

たとえば、複合機1は、通常のコピー機能に加えて、クライアントPCからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントPCからのファックス要求により文書データ等をサーバPCに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。   For example, in addition to the normal copy function, the multifunction device 1 includes a printer function for printing document data or the like in response to a print request from the client PC, and a modem connected to the server PC for document data or the like in response to a fax request from the client PC. It has a fax function that sends it to fax machines in other offices via the Internet, and a storage function that stores received fax documents and copy documents on a built-in hard disk.

こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機1に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。   In this way, in order to realize many functions required by the progress of compounding and networking, the software installed in the compound machine 1 is large and complicated. Along with this, the man-hours for developing and maintaining such software have also increased significantly.

図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 multifunction machine 1. As shown in the figure, the multifunction machine 1 has a configuration in which a controller 10 and an engine unit (Engine) 60 are connected by a PCI (Peripheral Component Interconnect) bus. The controller 10 is a controller that controls the entire multifunction device 1 and controls drawing, communication, and input from an operation unit (not shown). The engine unit 60 is a printer engine that can be connected to a PCI bus, and is, for example, a monochrome plotter, a one-drum color plotter, a four-drum color plotter, a scanner, or a fax unit. The engine unit 60 includes an image processing part such as error diffusion and gamma conversion in addition to a so-called engine part such as a plotter.

コントローラ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 controller 10 includes a CPU 11, a north bridge (NB) 13, a system memory (MEM-P) 12, a south bridge (SB) 14, a local memory (MEM-C) 17, and an ASIC (Application Specific Integrated Circuit). 16 and a hard disk drive (HDD) 18, and the north bridge (NB) 13 and the ASIC 16 are connected by an AGP (Accelerated Graphics Port) bus 15. The MEM-P 12 further includes a ROM (Read Only Memory) 12a and a RAM (Random Access Memory) 12b.

CPU11は、複合機1の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。   The CPU 11 performs overall control of the multifunction machine 1 and includes a chip set including the NB 13, the MEM-P 12, and the SB 14, and is connected to other devices via the chip set.

NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。   The NB 13 is a bridge for connecting the CPU 11 to the MEM-P 12, SB 14, and AGP 15, and includes a memory controller that controls reading and writing to the MEM-P 12, a PCI master, and an AGP target.

MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。   The MEM-P 12 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, a memory for drawing a printer, and the like, and includes a ROM 12a and a RAM 12b. The ROM 12a is a read-only memory used as a memory for storing programs and data, and the RAM 12b is a writable and readable memory used as a program / data development memory, a printer drawing memory, and the like.

SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。   The SB 14 is a bridge for connecting the NB 13 to a PCI device and peripheral devices. The SB 14 is connected to the NB 13 via a PCI bus, and a network interface (I / F) unit and the like are also connected to the PCI bus.

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 AGP 15, PCI bus, HDD 18 and MEM-C 17. The ASIC 16 includes a PCI target and an AGP master, an arbiter (ARB) that is the core of the ASIC 16, a memory controller that controls the MEM-C 17, and a plurality of DMACs (Direct Memory) that perform rotation of image data by hardware logic. Access Controller) and a PCI unit that performs data transfer between the engine unit 60 via the PCI bus. An FCU (Fax Control Unit) 30, a USB (Universal Serial Bus) 40, and an IEEE 1394 (the Institute of Electrical and Electronics Engineers 1394) interface 50 are connected to the ASIC 16 via a PCI bus.

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 AGP 15 is a bus interface for a graphics accelerator card proposed for speeding up graphics processing. The AGP 15 speeds up the graphics accelerator card by directly accessing the MEM-P 12 with high throughput. .

図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 integrated application 110 including a stream unit 113a which is a characteristic part of the present embodiment to be described later, and software 100 shows a hierarchical relationship between 100 and hardware 200. As shown in the figure, the hardware 200 includes a hardware resource 201. The hardware resource 201 includes a scanner 201a, a plotter 201b, an HDD (Hard Disk Drive) 201c, a network 201d, and other resources 201e. . The other resource 201e is a hardware resource 201 other than 201a to 201d, and indicates an input / output device such as an operation panel, for example.

また、かかるハードウェア200に搭載されるソフトウェア100は階層化されており、オペレーティングシステム103の上層にはサービス層102が構築され、このサービス層102の上層にはアプリケーション層103が構築されている。そして、サービス層102は、各ハードウェアリソース(201a〜201e)を制御するドライバーに相当する、スキャナ制御102部a、プロッタ制御部102b、蓄積制御部102c、配信/メール送受信制御部102d、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gを有する。   The software 100 installed in the hardware 200 is hierarchized, and a service layer 102 is constructed above the operating system 103, and an application layer 103 is constructed above the service layer 102. The service layer 102 corresponds to a driver that controls each hardware resource (201a to 201e). The scanner control unit 102a, plotter control unit 102b, storage control unit 102c, distribution / mail transmission / reception control unit 102d, FAX transmission / reception It has a control unit 102e, a network communication control unit 102f, and another control unit 102g.

ここで、図3に示したソフトウェア100が、かかる階層構造をとるに至った経緯について、図11および図12を用いて説明する。図11は、複合機1に搭載されるソフトウェア構成の変遷を示す説明図である。図11のサービス層分離前アプリケーション501に示すように、多機能化した複合機1に搭載されるソフトウェアは、コピーアプリケーション、FAXアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図3に示したオペレーティングシステム103上で動作していた。   Here, how the software 100 shown in FIG. 3 has taken such a hierarchical structure will be described with reference to FIGS. 11 and 12. FIG. FIG. 11 is an explanatory diagram showing the transition of the software configuration installed in the multifunction machine 1. As shown in the pre-service layer separation application 501 in FIG. 11, the software installed in the multifunctional multifunction peripheral 1 is created as an independent application for each function such as a copy application, a FAX application, and a scanner application. It was operating on the operating system 103 shown.

しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー(サービス層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 application 502 after service layer separation in FIG. 11, a portion corresponding to the service layer 102 of the application 501 before service layer separation is bundled into a service layer 102, and each application is an upper layer of the service layer 102. The application layer 101 is constructed. By adopting such a hierarchical structure, each application has been streamlined and development effort has been reduced.

しかしながら、複合機1のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層101の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部102aや蓄積制御部102cといったドライバーと通信をおこなう処理や、各種機能が取り扱うデータの流れを制御するストリーム制御などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。   However, as the networking and multi-functionalization of the multifunction machine 1 further advance, it has become a problem that a common processing part exists in each application. Specifically, each application of the application layer 101, for example, a copy application or a scanner application, performs processing for communicating with a driver such as the scanner control unit 102a or the accumulation control unit 102c, and the flow of data handled by various functions. Similar processing such as stream control to be controlled was included inside. As described above, when each application has the same processing, the development scale of each application is increased, and the improvement scale of each application with respect to the specification change of the service layer is increased.

この問題を解決するため、図11の共通ルーチン分離アプリケーション503に示すように、かかる同様な処理(共通処理部分)を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。   In order to solve this problem, as shown in the common routine separation application 503 in FIG. 11, it has been considered that such a similar process (common processing part) is bundled as a common routine. However, since such a common routine is intended to share slightly different processing in each application, the processing inside the common routine becomes complicated. For example, when adding a new application such as a printer application, it is necessary to modify the common routine in order to adapt to the new application.

しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。   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 application 504 in FIG. 11, the plurality of applications are integrated into the integrated application 110 by an object-oriented design method (object modeling). Specifically, a common processing part of each application is extracted as an object model, and the integrated application 110 is configured from the collection of object models. The functions such as the conventional copy function and scanner function are realized by the cooperative relationship of the object model.

このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。   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 application 502 shown in FIG. 11 and the relationship between the application and each driver of the service layer 102. As shown in the figure, the application layer 101 includes a copy application 120, a scanner application 130, a fax application 140, and a printer application 150.

たとえば、コピーアプリケーション120は、コピー機能を実現するために、スキャナ制御部102a、プロッタ制御部102b、蓄積制御部102cおよびその他の制御部102gとデータの送受信をおこなう。また、ファックスアプリケーション140は、ファックス機能を実現するために、プロッタ制御部102b、蓄積制御部102c、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gとデータの送受信をおこなう。このように、アプリケーション層101の各アプリケーションとサービス層102の各ドライバー間の通信は、複雑なものとなっていた。   For example, the copy application 120 transmits / receives data to / from the scanner control unit 102a, the plotter control unit 102b, the accumulation control unit 102c, and the other control unit 102g in order to realize the copy function. In addition, the fax application 140 performs data transmission / reception with the plotter control unit 102b, the accumulation control unit 102c, the FAX transmission / reception control unit 102e, the network communication control unit 102f, and the other control unit 102g in order to realize the fax function. As described above, communication between each application in the application layer 101 and each driver in the service layer 102 is complicated.

図3の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層101に存在した複数のアプリケーションは、統合アプリケーション110に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション110を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層101のアプリケーションと、サービス層102の各ドライバー間の通信は、図12と比較して単純になっている。   Returning to the description of FIG. 3, a plurality of applications existing in the application layer 101 are integrated into the integrated application 110 by the object modeling described above. The communication processing with each driver, which has been performed by each application overlappingly, is configured to be performed by a predetermined object model that configures the integrated application 110, so that the application of the application layer 101 and the service layer 102 of Communication between the drivers is simpler than that in FIG.

次に、統合アプリケーション110の内部構成について説明する。図4は、統合アプリケーション110の内部構成を示すブロック図である。同図に示すように、統合アプリケーション110は、操作系サブシステム111と、管理系サブシステム112と、実行系サブシステム113とを有する。   Next, the internal configuration of the integrated application 110 will be described. FIG. 4 is a block diagram showing the internal configuration of the integrated application 110. As shown in the figure, the integrated application 110 has an operation subsystem 111, a management subsystem 112, and an execution subsystem 113.

操作系サブシステム111は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム111は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。   The operation system subsystem 111 is a software group in charge of man-machine interface. Specifically, the operation subsystem 111 performs a process for accepting a user request, a process for instructing execution of the request, and a process for providing the user with information about the execution status and execution result of the request. .

管理系サブシステム112は、画像形成装置1の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム112は、ハードウェアリソース201およびこのハードウェアリソース201が保持するデータ状態を管理するサービスをおこなう。   The management subsystem 112 is a software group that manages the resources of the image forming apparatus 1. Specifically, the management subsystem 112 performs a service for managing the hardware resource 201 and the data state held by the hardware resource 201.

実行系サブシステム113は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム113は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。   The execution subsystem 113 is a software group in charge of executing a request from a user. Specifically, the execution subsystem 113 performs processing from reading a document to outputting a product when a copy request is made.

操作系サブシステム111、管理系サブシステム112および実行系サブシステム113は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション110全体として複合機1に必要とされるサービスの提供をおこなう。   The operation system subsystem 111, the management system subsystem 112, and the execution system subsystem 113 mutually request processing as necessary and send the results. In this way, the subsystems cooperate to provide services required for the multifunction device 1 as the integrated application 110 as a whole.

そして、実行系サブシステム113は、本実施の形態の特徴部分であるストリーム部113aと実行制御部113bとを有する。このストリーム部113aは、実行制御部113bからデータの流れの制御に関する要求を受付け、データの入力と出力との間のデータの流れを制御するための処理(ストリーム制御処理)を実行する。   The execution subsystem 113 includes a stream unit 113a and an execution control unit 113b, which are features of the present embodiment. The stream unit 113a receives a request for data flow control from the execution control unit 113b, and executes a process (stream control process) for controlling the data flow between data input and output.

図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 integrated application 110 has a plurality of packages, and the integrated application 110 itself is one package. Here, the package is a group of components (symbols) of the UML model, and is expressed by a symbol in the form of a folder with a tab on the upper left. A straight line connecting the packages indicates that there is a relationship such as a processing request between the packages.

図5に示したように、統合アプリケーション110は、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113の3つのパッケージを内部に有するパッケージである。さらに、実行系サブシステム113は、本実施の形態の特徴部分であるストリーム部113aと実行制御部113bとを内部に有するパッケージである。そして、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113を相互に結ぶ直線は、各パッケージ間に処理依頼(たとえば、メッセージ送受信)などの関連があることを示している。なお、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すUMLのシンボルである。   As shown in FIG. 5, the integrated application 110 is a package having three packages of an operation subsystem 111, a management subsystem 112, and an execution subsystem 113 inside. Further, the execution subsystem 113 is a package having therein a stream unit 113a and an execution control unit 113b, which are characteristic parts of the present embodiment. A straight line connecting the operation subsystem 111, the management subsystem 112, and the execution subsystem 113 indicates that there is a relationship such as a processing request (for example, message transmission / reception) between the packages. A symbol written at the right end of the tabs of the operation subsystem 111, the management subsystem 112, and the execution subsystem 113 is a UML symbol indicating that the package is a subsystem.

次に、本実施の形態の特徴部分であるストリーム部113aについて詳細に説明する。   Next, the stream unit 113a which is a characteristic part of the present embodiment will be described in detail.

図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 multifunction machine 1. As shown in the figure, the operation panel 400 includes an initial setting key 401, a copy key 402, a copy server key 403, a printer key 404, a transmission key 405, a ten key 406, a clear / stop key 407, a start key 408, a preheating key. 409, a reset key 410, and a liquid crystal touch panel 420.

たとえば、利用者が、複合機1に紙原稿をセットしてコピーキー402を押下してコピー処理を選択し、スタートキー408を押下したならば、スキャナ201aデバイスからプロッタ201bデバイスへのデータの流れが発生する。この場合、データが流れる経路は必ずしも一意であるとは限らない。例えば、スキャナ201aによってスキャンされたデータが、プロッタ201bから出力される前に、HDD18に保存される場合もある。   For example, if the user sets a paper document in the multifunction machine 1 and presses the copy key 402 to select copy processing and presses the start key 408, the data flow from the scanner 201a device to the plotter 201b device Will occur. In this case, the path through which data flows is not necessarily unique. For example, data scanned by the scanner 201a may be stored in the HDD 18 before being output from the plotter 201b.

また、複合機1は、複数の機能を有するため、利用者の指示に応じてデータが流れる経路は様々なものに変化する。例えば、原稿をスキャンしてその画像データをFAX送信したり、HDD18に保存されているデータを印刷又はFAX送信したりする場合もある。   In addition, since the multi-function device 1 has a plurality of functions, the route through which data flows changes in accordance with a user instruction. For example, the document may be scanned and the image data may be faxed, or the data stored in the HDD 18 may be printed or faxed.

なお、本実施の形態において、利用者から要求された処理に係るデータの入力手段(紙原稿からの入力、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 scanner 201a in the HDD 18 and outputting the data from the plotter 201b, each of the scanner 201a to the HDD 18 and the HDD 18 to the plotter 201b corresponds to a section. A gathering corresponds to a route.

図8は、ストリーム部113aのクラス構成を示すUMLクラス図である。まず、クラスとUMLクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理を定義するとともに、継承関係や集約関係といった、他のクラスとの関係を定義するものである。   FIG. 8 is a UML class diagram showing the class structure of the stream unit 113a. First, the class description method in the class and UML class diagram will be described. A class is a concept that corresponds to a blueprint for the objects that make up an object-oriented system. It defines the attributes and processing that an object has and defines relationships with other classes, such as inheritance and aggregation relationships. It is.

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 section class 310 indicates that the class name of the class is “section”, and an attribute section indicates that the attribute of the class is “section state”. The section indicates that the operation of the class is “use ()”.

このように、各クラスは、データ(属性)を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理(操作)を所持するための操作区画とを有している。これらのクラスは、プログラム(統合アプリケーション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 ROM 12a in advance is executed, each class is materialized in a predetermined area of the RAM 12b and included in the attribute section. Each data (attribute) is expanded on the RAM 12b. Therefore, the object in which the class is materialized can write and read each data (attribute) on the RAM 12b.

なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「+」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「記入する()」のように「()」記号を付することが通例であり、「(引数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 “(Argument 1, Argument 2)” There is also.

次に、本実施の形態の特徴部分であるストリーム部113aのクラスの概要について説明する。図8に示されるように、ストリーム部113aは、区間クラス310、経路クラス320、経路集クラス330、経路図クラス340及び受付クラス350等を含む。   Next, an overview of the class of the stream unit 113a, which is a characteristic part of the present embodiment, will be described. As shown in FIG. 8, the stream unit 113a includes a section class 310, a route class 320, a route collection class 330, a route diagram class 340, a reception class 350, and the like.

区間クラス310は、一つの区間を表現するクラスであり、デバイス間の区間状態を管理する。ここで、区間状態とは、区間の使用可否をあらわす情報である。すなわち、区間の始点および終点に係るデバイスのいずれもが使用可能であれば、当該区間は使用可能であり、始点あるいは終点のいずれか一方のデバイスが使用不可能であれば、当該区間は使用不可能となる。   The section class 310 is a class that represents one section, and manages the section state between devices. Here, the section state is information indicating whether or not a section can be used. That is, if any of the devices related to the start point and end point of the section can be used, the section can be used, and if either the start point or end point device cannot be used, the section cannot be used. It becomes possible.

区間クラス310は、属性として区間状態310a等を有し、操作として、使用()310b等を有する。なお、かかる区間クラス310のインスタンスが生成されると、区間状態310aはRAM12b上に展開されるので、このデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。   The section class 310 has a section state 310a or the like as an attribute, and uses () 310b or the like as an operation. When an instance of the section class 310 is generated, the section state 310a is expanded on the RAM 12b, so that this data (attribute) can be written and read.

区間状態310aは、区間が使用可能であるか否かの情報(すなわち、区間状態)を保持する。使用()310bは、当該区間に係るデバイス等のリソースを確保し、当該区間が他の経路に重複して利用されるのを回避するため、区間状態310aの値を使用不可能とする。   The section state 310a holds information indicating whether or not the section is usable (that is, the section state). The use () 310b makes the value of the section state 310a unusable in order to secure resources such as devices related to the section and avoid using the section overlapping with other paths.

経路クラス320は、一つの経路を表現するクラスであり、当該経路を構成する区間の構築や、区間に障害が発生した場合の処理判断等(例えば、他の区間の選択等)を行う。経路クラス320は、属性として目的320a及び経路状態320b等を有し、操作として作成()320c及び異常発生通知()320d等を有する。   The route class 320 is a class that expresses one route, and performs construction of a section constituting the route, processing determination when a failure occurs in the section (for example, selection of another section, etc.). The route class 320 has a purpose 320a, a route state 320b, and the like as attributes, and a creation () 320c and an abnormality occurrence notification () 320d as operations.

目的320aは、当該経路にどのような目的があるのか(データを蓄積する、する必要はない等)といった情報を保持する。   The purpose 320a holds information such as what kind of purpose the route has (such as accumulation of data, no need to do so).

経路状態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 “section object 310A”) related to the section when an abnormality occurs in any section constituting the route, and the same applies to other classes. Each instance is called by a name based on the naming convention of.) To receive anomaly notifications.

経路集クラス330は、出発地と最終目的地とが共通する経路オブジェクト320Aを束ねて管理するクラスであり、管理対象の経路オブジェクト320Aの中から利用者の要求を適切に満たすための経路に係る経路オブジェクト320Aの選択等を行う。出発地と最終目的地とが同じであっても、異なる区間をたどる場合等があるので、出発地と最終目的地とが共通する経路が複数存在し得るのである。経路集クラス330は、属性として出発地330a及び最終目的地330b等を有し、操作として検討()330c及び異常発生通知()330d等を有する。   The route collection class 330 is a class for managing a bundle of route objects 320A having a common starting point and final destination, and relates to a route for appropriately satisfying a user's request from among the route objects 320A to be managed. The route object 320A is selected. Even if the starting point and the final destination are the same, there may be cases in which different sections are followed, so that there may be a plurality of routes having the same starting point and final destination. The route collection class 330 has a departure place 330a, a final destination 330b, and the like as attributes, and a study () 330c, an abnormality occurrence notification () 330d, and the like as operations.

出発地330aは、当該経路においてデータが最初に入力される入力手段の種別(紙原稿からの入力、FAX回線からの入力(FAX受信)等、以下「入力種別」という。)を保持する。   The departure place 330a holds the type of input means (data input from a paper document, input from a FAX line (FAX reception), etc., hereinafter referred to as “input type”) in which data is first input in the route.

最終目的地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 route object 320A related to the selected route. Request.

異常発生通知()330dは、経路集オブジェクト330Aが、当該経路集オブジェクト330Aに属する経路オブジェクト320Aより、異常通知を受け付けるためのものである。   The abnormality occurrence notification () 330d is for the route collection object 330A to receive an abnormality notification from the route object 320A belonging to the route collection object 330A.

経路図クラス340は、全ての経路集オブジェクト330Aを束ねて管理するクラスであり、そのインスタンス(経路図オブジェクト340A)は、ストリーム部113aに一つだけ存在する。経路図クラス340は、属性として出発地数340a及び目的地数340b等を有し、操作として検討()340c及び通知()340d等を有する。   The route diagram class 340 is a class for managing all route collection objects 330A in a bundle, and only one instance (route diagram object 340A) exists in the stream unit 113a. The route map class 340 has the number of departure points 340a and the number of destinations 340b as attributes, and has a review () 340c and a notification () 340d as operations.

出発地数340aは、入力種別の総数(すなわち、複合機1がどれだけの入力手段を有しているかを示す情報)を保持する。   The departure place number 340a holds the total number of input types (that is, information indicating how many input units the multifunction device 1 has).

目的地数340bは、出力種別の総数(すなわち、複合機1がどれだけの出力手段を有しているかを示す情報)を保持する。   The number of destinations 340b holds the total number of output types (that is, information indicating how many output units the multifunction device 1 has).

検討()340cは、入力種別及び出力種別を引数として受け取り、当該入力種別及び出力種別に対応する経路集オブジェクト330Aの検索を行う。   The examination () 340c receives the input type and the output type as arguments, and searches for the route collection object 330A corresponding to the input type and the output type.

通知()340dは、経路集オブジェクト330Aより異常通知等を受け付けるためのものである。   The notification () 340d is for receiving an abnormality notification or the like from the route collection object 330A.

受付クラス350は、実行制御部113bからのストリーム部113aに対する要求を受け付けるための窓口としてのクラスであり、そのインスタンス(受付オブジェクト350A)は、ストリーム部113aに一つだけ存在する。受付クラス350は、操作として流す()350a及び通知350b()等を有する。   The reception class 350 is a class as a window for receiving a request for the stream unit 113a from the execution control unit 113b, and only one instance (reception object 350A) exists in the stream unit 113a. The reception class 350 includes () 350 a and notification 350 b () that are sent as operations.

流す()350aは、実行制御部113bより、入力種別と出力種別とを含む経路の探索要求受付、その要求を経路図オブジェクト340Aに伝達する。   The flow () 350a receives a search request for a route including the input type and the output type from the execution control unit 113b, and transmits the request to the route diagram object 340A.

通知()340eは、経路図オブジェクト340Aより異常通知等を受け付け、その異常通知等を実行制御部113bに通知する。   The notification () 340 e receives an abnormality notification from the route diagram object 340 A, and notifies the execution control unit 113 b of the abnormality notification.

次に、図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 reception class 350 and the route map class 340 will be described. The reception class 350 has a role of receiving a request from the execution control unit 113b. On the other hand, the route diagram class 340 has a role of managing a set (route diagram) of a set of routes (route collection). Accordingly, in this connection, the role name of the reception class 350 is “reception”, and the role name of the route diagram class 340 is “route diagram”.

また、受付クラス350及び経路図クラス340のそれぞれのインスタンスは、ストリーム部113aに一つであるため、両者は1対1の関係にある。   In addition, since there is one instance of each of the reception class 350 and the route diagram class 340 in the stream unit 113a, they have a one-to-one relationship.

次に、経路図クラス340と経路集クラス330との関連について説明する。経路図クラス340は、経路集オブジェクト330Aを管理する役割を有する。一方、経路集クラス330は、経路集を管理するという役割を有する。かかるところから、当該関連において経路図クラス340のロール名は「管理元」であり、経路集クラス330のロール名は「経路集」である。   Next, the relationship between the route map class 340 and the route collection class 330 will be described. The route diagram class 340 has a role of managing the route collection object 330A. On the other hand, the route collection class 330 has a role of managing the route collection. Therefore, in this connection, the role name of the route diagram class 340 is “management source”, and the role name of the route collection class 330 is “route collection”.

また、一つの経路図オブジェクト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 route diagram class 340 side represents an aggregation relationship. An aggregate relationship is a relationship in which one class is included as part of another class. Specifically, the route collection object 330A means a part of the route diagram object 340A. Therefore, in order for the route collection object 330A to exist, it is a condition that at least the route diagram object 340A exists.

次に、経路集クラス330と経路クラス320との関連について説明する。経路集クラス330は、経路オブジェクト320Aを管理する役割を有する。一方、経路クラス320は、データのストリームとして選択される経路の候補を管理するという役割を有する。かかるところから、当該関連において経路集クラス330のロール名は「管理元」であり、経路クラス320のロール名は「経路候補」である。   Next, the relationship between the route collection class 330 and the route class 320 will be described. The route collection class 330 has a role of managing the route object 320A. On the other hand, the route class 320 has a role of managing route candidates selected as a data stream. Therefore, in this connection, the role name of the route collection class 330 is “management source”, and the role name of the route class 320 is “route candidate”.

また、一つの経路集オブジェクト330Aによって一つ以上の経路オブジェクト320Aが管理されるため、両者は1対多の関係にあり、一つの経路集オブジェクト330Aが一つ以上の経路オブジェクト320Aを集約する。   In addition, since one or more route objects 320A are managed by one route collection object 330A, they have a one-to-many relationship, and one route collection object 330A aggregates one or more route objects 320A.

次に、経路クラス320と区間クラス310との関連について説明する。経路クラス320は、区間によって構成される経路としての役割を有する。一方、区間クラス310は、経路を構成する区間としての役割を有する。かかるところから、当該関連において経路クラス320のロール名は「経路」であり、区間クラス310のロール名は「区間」である。   Next, the relationship between the route class 320 and the section class 310 will be described. The route class 320 has a role as a route constituted by sections. On the other hand, the section class 310 has a role as a section constituting a route. Therefore, in this connection, the role name of the route class 320 is “route”, and the role name of the section class 310 is “section”.

また、一つの経路オブジェクト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 section class 310, the route class 320, the route collection class 330, the route diagram class 340, the reception class 350, and the like are related to each other and cooperate to realize the functions necessary for the stream unit 113a. ing.

次に、図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 stream unit 113a receives a search request for a route through which data flows.

ここで、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 operation system subsystem 111 sends a message including operation setting information to the execution control unit 113b. The operation setting information refers to various setting information set on the operation panel 400 by the user. The execution control unit 113b performs a necessary process, and then calls a flow () 350a of the reception object 350A, thereby causing the stream unit 113a to flow the data to be processed in the function related to the execution instruction. The search and securement are requested (S101). Note that an input type and an output type are specified as arguments of the flow () 350a.

流す()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 route collection object 330A that requests the examination of the output means based on the input type and the output type. That is, the route collection object 330A managed by itself is searched for the value of the departure place 330a and the final destination 330b that matches the input type and output type, and the searched route collection object 330A is examined ( ) 330c is called (S103) to request selection of a path for realizing the function instructed to be executed. Note that an input type and an output type are specified as arguments of the review () 330c.

経路集オブジェクト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 route object 320A related to the route ( ) 320c is called to secure a route (S104). In determining an appropriate or optimal route, the route collection object 330A also considers the purpose 320a and the route state 320b of each route object 320A managed by itself.

経路オブジェクト320Aは、当該経路を構成する各区間に係る区間オブジェクト310Aを生成し(S105)、生成した各区間オブジェクト310Aの使用()310bを呼び出す。使用()310bを呼び出された各区間オブジェクト310Aは、当該区間に係るデバイス等のリソースを確保し、当該区間が他の経路に重複して利用されるのを回避するため、区間状態310aの値を使用不可能とする。以上の処理により利用者による実行指示を果たすための下地ができ、当該実行指示の対象とされたデータを流すことが可能となる。   The path object 320A generates a section object 310A related to each section constituting the path (S105), and calls the use () 310b of each generated section object 310A. Each section object 310A for which the use () 310b is called secures resources such as devices related to the section, and avoids the section being used for another route in order to avoid the use of the section state 310a. Is unusable. With the above processing, a ground for fulfilling the execution instruction by the user is made, and it is possible to flow data that is the target of the execution instruction.

なお、ステップ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 route collection object 330A via the route object 320A. The route collection object 330A selects the route object 320A again in response to the notification, and calls the creation () 320c of the selected route object 320A.

次に、ストリーム部113aの処理の実行中に、いずれかの区間において障害が発生した場合の処理について説明する。図10は、区間において障害が発生した際の操作の実行手順を説明するためのUMLシーケンス図である。   Next, a process when a failure occurs in any section during the process of the stream unit 113a will be described. FIG. 10 is a UML sequence diagram for explaining an operation execution procedure when a failure occurs in a section.

ストリーム部113aによる処理の実行中に、ある区間のデバイス等に障害が発生すると、当該区間に係る区間オブジェクト310Aは、自らが属する経路オブジェクト320Aの異常発生通知()320dを呼び出すことにより、障害の発生を通知する(S201)。経路オブジェクト320Aは、発生した障害に応じて対応策を検討する(しばらく待機してみる、代替手段に移行する等)。   When a failure occurs in a device or the like in a section during the processing by the stream unit 113a, the section object 310A related to the section calls the abnormality occurrence notification () 320d of the route object 320A to which the section belongs, thereby The occurrence is notified (S201). The path object 320A examines countermeasures according to the failure that has occurred (wait for a while, shift to alternative means, etc.).

待機や代替手段への移行等が不可能な場合、経路オブジェクト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 path collection object 330A to which the path object 320A belongs (S202). Subsequently, the route collection object 330A calls the notification () 340d of the route diagram object 340A (S203), the route diagram object 340d calls the notification () 350b of the reception object 350A (S204), and the reception object 350A executes The occurrence of a failure is notified to the control unit 113b (S205). The occurrence of the failure is notified from the execution control unit 113b to the operation subsystem 111, and the user is notified by displaying a message or the like on the operation panel 400. At this time, the user may be requested to select an alternative means, and the process of step S101 may be performed based on the selection according to the request.

一方、代替手段への移行が可能な場合、経路オブジェクト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 route collection object 330A to which the route object 320A belongs. In response to this, the route collection object 330A, for example, selects a route again according to a predetermined priority order (priority order such that the lower the order, the lower the efficiency in terms of productivity). Subsequent processing is as described in and after step S104 in FIG.

なお、代替手段への移行とは、例えば、「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 HDD 18, so that only the printing process is performed without accumulation.

上述したように、本実施の形態における複合機1では、経路及び区間といった汎用的な概念に基づいてストリーム部113aが実現されている。したがって、特定の機能や特定のデバイスに限定されず、各種の機能や各種のデバイスに対応したストリーム制御を容易かつ効率的に実現することができる。   As described above, in the MFP 1 according to the present embodiment, the stream unit 113a is realized based on general concepts such as routes and sections. Therefore, the present invention is not limited to a specific function or a specific device, and stream control corresponding to various functions or various devices can be easily and efficiently realized.

なお、本実施の形態の画像形成装置で実行されるストリーム制御プログラムは、インストール可能な形式または実行可能な形式のファイルで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-P 12, thereby causing the image forming apparatus to realize the above-described steps, units, or units.

また、ストリーム制御プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかるストリーム制御プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。   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 is a network diagram showing a network environment surrounding a multifunction peripheral. 複合機のハードウェアを説明するための説明図である。FIG. 3 is an explanatory diagram for explaining hardware of a multifunction peripheral. 複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining a hierarchical structure of hardware and software in a multifunction peripheral. 統合アプリケーションの構成を説明するための説明図である。It is explanatory drawing for demonstrating the structure of an integrated application. 統合アプリケーションの構成を表したUMLクラス図である。It is a UML class diagram showing the configuration of an integrated application. 複合機の操作パネルを説明するための説明図である。FIG. 6 is an explanatory diagram for explaining an operation panel of the multifunction machine. 経路と区間とを説明するための図である。It is a figure for demonstrating a path | route and an area. ストリーム部のクラス構成を示すUMLクラス図である。It is a UML class diagram which shows the class structure of a stream part. ストリーム部がデータを流す経路の探索要求を受け付けた際の操作の実行手順を説明するためのUMLシーケンス図である。It is a UML sequence diagram for demonstrating the execution procedure of operation when the stream part receives the search request | requirement of the path | route which flows data. 区間において障害が発生した際の操作の実行手順を説明するためのUMLシーケンス図である。It is a UML sequence diagram for demonstrating the execution procedure of operation when a failure generate | occur | produces in the area. 複合機に搭載されるソフトウェア構成の変遷を示す説明図である。FIG. 6 is an explanatory diagram illustrating a transition of a software configuration installed in a multifunction peripheral. 従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。It is explanatory drawing for demonstrating the hierarchical structure of the hardware and software in the conventional multifunction machine.

符号の説明Explanation of symbols

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 SYMBOLS 100 Software 101 Application layer 102 Service layer 102a Scanner control part 102b Plotter control part 102c Accumulation control part 102d Delivery / mail transmission / reception control part 102e FAX transmission / reception control part 102f Network communication control part 102g Other control part 103 Operating system 110 Integrated application 111 Operation System subsystem 112 management system subsystem 113 execution system subsystem 113a stream unit 113b execution control unit 120 copy application 130 scanner application 140 fax application 150 printer application 200 hardware 201 hardware resource 201a scanner 201b plotter 201c HDD
201d network 201e other resources 310 section class 310A section object 310a section state 310b use ()
320 route class 320A route object 320a purpose 320b route state 320c creation ()
320d Abnormality notification ()
330 route collection class 330A route collection object 330a departure place 330b final destination 330c examination ()
330d Abnormality notification ()
340 Route map class 340A Route map object 340a Number of departure places 340b Number of destinations 340c Study ()
340d Notification ()
350 reception class 350a stream ()
350b Notification ()
400 Operation Panel 401 Initial Setting Key 402 Copy Key 403 Copy Server Key 404 Printer Key 405 Send Key 406 Ten Key 407 Clear / Stop Key 408 Start Key 409 Preheat Key 410 Reset Key 420 Liquid Crystal Touch Panel 501 Application Before Service Layer Separation 502 After Service Layer Separation Application 503 Common routine separation application 504 Object-oriented application

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.
前記経路集管理手段は、前記要求された処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項1記載の画像形成装置。 2. The image formation according to claim 1, wherein the route collection management unit selects a route for realizing the requested processing, and requests the route management unit related to the route to secure the route. apparatus. 前記経路管理手段は、当該経路の確保の要求に応じ、当該経路に含まれる各区間に係るそれぞれの前記区間管理手段に対し、当該区間に係るデバイスの確保を要求することを特徴とする請求項2記載の画像形成装置。 The route management means requests each of the section management means related to each section included in the route to secure a device related to the section in response to a request for securing the path. 2. The image forming apparatus according to 2. 前記区間管理手段は、当該区間に係るデバイスの確保の要求に応じ、当該デバイスの状態に応じて当該デバイスを確保することを特徴とする請求項3記載の画像形成装置。 The image forming apparatus according to claim 3, wherein the section management unit secures the device according to a state of the device in response to a request for securing the device related to the section. 前記区間管理手段は、当該区間に係るデバイスが利用できない場合は、その旨を前記経路管理手段を介して前記経路集管理手段に通知し、
前記経路集管理手段は、前記要求された処理の代替処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項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.
全ての前記経路集管理手段を管理し、前記入力手段の選択と前記出力手段の選択とに基づいて、選択された前記入力手段及び選択された前記出力手段に係る前記経路集管理手段に、前記要求された処理を実現するための経路の選択を要求する経路図管理手段を有することを特徴とする請求項2乃至5いずれか一項記載の画像形成装置。 Managing all the route collection management means, and based on the selection of the input means and the selection of the output means, the route collection management means related to the selected input means and the selected output means, 6. The image forming apparatus according to claim 2, further comprising route diagram management means for requesting selection of a route for realizing the requested processing. 複数の入力手段の中から選択された入力手段より入力されたデータに対して要求された処理を施し、複数の出力手段の中から選択された出力手段に出力する画像形成装置を、
前記入力手段から前記出力手段までの間に前記データが経由する各デバイス間の区間の状態を管理する区間管理手段と、
前記入力手段から前記出力手段までの各区間に係る前記区間管理手段に基づいて前記入力手段から前記出力手段までの経路の状態を管理する経路管理手段と、
前記入力手段と前記出力手段とが共通する前記経路の集合を、当該経路に係る前記経路管理手段に基づいて管理する経路集管理手段として機能させるためのストリーム制御プログラム。
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.
前記経路集管理手段は、前記要求された処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項7記載のストリーム制御プログラム。 8. The stream control according to claim 7, wherein the route collection management unit selects a route for realizing the requested processing and requests the route management unit related to the route to secure the route. program. 前記経路管理手段は、当該経路の確保の要求に応じ、当該経路に含まれる各区間に係るそれぞれの前記区間管理手段に対し、当該区間に係るデバイスの確保を要求することを特徴とする請求項8記載のストリーム制御プログラム。 The route management means requests each of the section management means related to each section included in the route to secure a device related to the section in response to a request for securing the path. 8. The stream control program according to 8. 前記区間管理手段は、当該区間に係るデバイスの確保の要求に応じ、当該デバイスの状態に応じて当該デバイスを確保することを特徴とする請求項9記載のストリーム制御プログラム。 The stream control program according to claim 9, wherein the section management unit reserves the device according to a state of the device in response to a request for securing the device related to the section. 前記区間管理手段は、当該区間に係るデバイスが利用できない場合は、その旨を前記経路管理手段を介して前記経路集管理手段に通知し、
前記経路集管理手段は、前記要求された処理の代替処理を実現するための経路を選択し、当該経路に係る前記経路管理手段に当該経路の確保を要求することを特徴とする請求項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.
全ての前記経路集管理手段を管理し、前記入力手段の選択と前記出力手段の選択とに基づいて、選択された前記入力手段及び選択された前記出力手段に係る前記経路集管理手段に、前記要求された処理を実現するための経路の選択を要求する経路図管理手段を有することを特徴とする請求項8乃至11いずれか一項記載のストリーム制御プログラム。 Managing all the route collection management means, and based on the selection of the input means and the selection of the output means, the route collection management means related to the selected input means and the selected output means, 12. The stream control program according to claim 8, further comprising route diagram management means for requesting selection of a route for realizing the requested processing.
JP2005298969A 2005-10-13 2005-10-13 Image forming apparatus and stream control program Pending JP2007110410A (en)

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)

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