JP2008250659A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2008250659A
JP2008250659A JP2007090973A JP2007090973A JP2008250659A JP 2008250659 A JP2008250659 A JP 2008250659A JP 2007090973 A JP2007090973 A JP 2007090973A JP 2007090973 A JP2007090973 A JP 2007090973A JP 2008250659 A JP2008250659 A JP 2008250659A
Authority
JP
Japan
Prior art keywords
driver
application program
information
request
server
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.)
Withdrawn
Application number
JP2007090973A
Other languages
Japanese (ja)
Inventor
Yukinobu Momozono
幸信 桃薗
Atsushi Sakai
淳 酒井
Michikazu Iwakura
路和 岩倉
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007090973A priority Critical patent/JP2008250659A/en
Publication of JP2008250659A publication Critical patent/JP2008250659A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system, in which a plurality of applications smoothly use a multifunction machine, and the use efficiency can be enhanced. <P>SOLUTION: Each of hosts 10-1 and 10-2 comprises first drivers 410 and 420 provided respectively in association with the plurality of applications using the multifunction machine to exchange information with the respective application programs; a second driver 300 which exchanges information with the multifunction machine; and a control means 430 provided between the first drivers and the second driver to control information exchange between the plurality of programs and the multifunction machine. The multifunction machine includes a processing means 500 which stores information supplied from the hosts and processes the stored information based on a predetermined order. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、情報処理システムに関する。   The present invention relates to an information processing system.

例えば、米国では、商取引等において小切手を用いる習慣があるため、このような小切手を店舗等において利用するための小切手処理装置が存在する(特許文献1参照)。   For example, in the United States, there is a custom of using checks in commerce and the like, so there exists a check processing device for using such checks in stores and the like (see Patent Document 1).

また、米国等の銀行においては、小切手を電子的に読み取り、文字認識処理、磁気データ処理、および、手書き認識処理等を実行するスキャナが用いられているとともに、窓口業務に関する情報を印刷するプリンタが用いられている。   Banks in the United States and the like use a scanner that electronically reads a check and executes character recognition processing, magnetic data processing, handwriting recognition processing, and the like, and a printer that prints information related to counter operations. It is used.

近年では、小切手を電子的に読み取るスキャナと、窓口業務に関する情報を印刷するプリンタとが同じ筐体に収められた複合機が流通している。このような複合機を利用することにより、設置スペースを削減するとともに、導入コストを削減することが可能になる。   In recent years, multifunction devices in which a scanner that electronically reads a check and a printer that prints information related to a counter service are housed in the same housing are in circulation. By using such a multifunction device, it is possible to reduce the installation space and the installation cost.

特開2005−56333号公報(要約書、請求項)JP 2005-56333 A (abstract, claim)

ところで、小切手に関する処理を実行するアプリケーションと、窓口業務に関する処理を実行するアプリケーションとは、別々の独立したプログラムであるため、それぞれのアプリケーションは他のアプリケーションの状態については全く考慮せずに動作するようにプログラムされている。   By the way, the application that executes processing related to checks and the application that executes processing related to counter work are separate and independent programs, so that each application operates without considering the state of other applications at all. Is programmed.

複合機では、スキャナとプリンタとが1つのデバイスとして構成されているため、例えば、一方のアプリケーションプログラムが起動されると、当該アプリケーションプログラムは他のアプリケーションプログラムの状態については全く考慮せずに、デバイス(複合機)を専有してしまう。そのため、他のアプリケーションプログラムが複合機を使用できない状態が生じる場合があるという問題点がある。   In the multi-function peripheral, the scanner and the printer are configured as one device. For example, when one application program is started, the application program does not consider the state of the other application program at all, and the device (Multifunction device) is occupied. For this reason, there is a problem that other application programs may not be able to use the MFP.

また、このような複合機は、行員のそれぞれが有するホストコンピュータに1対1の割合で接続されて使用されるが、行員は複合機を常に使用しているわけではないので、使用されずに待機状態となっている時間が長く、使用効率が高くないという問題もある。   In addition, such a multi-function device is used by being connected to the host computer of each employee at a ratio of 1: 1, but since the employee does not always use the multi-function device, it is not used. There is also a problem that the waiting time is long and usage efficiency is not high.

本発明は、上記の事情に基づきなされたもので、その目的とするところは、複数のアプリケーションが複合機を円滑に利用することが可能であるとともに、複合機の使用効率を高めることができる情報処理システムを提供しよう、とするものである。   The present invention has been made on the basis of the above circumstances, and the object of the present invention is information that allows a plurality of applications to smoothly use the multifunction device and increase the use efficiency of the multifunction device. It is intended to provide a processing system.

上述の目的を達成するため、本発明の情報処理システムは、プリンタおよびスキャナとしての機能を少なくとも有する複合機と、複数のホストとが接続された情報処理システムにおいて、ホストのそれぞれは、複合機を利用する複数のアプリケーションプログラムのそれぞれに対応して設けられ、それぞれのアプリケーションプログラムとの間で情報の授受を行う第1のドライバと、複合機との間で情報の授受を行う第2のドライバと、第1のドライバと、第2のドライバの間に設けられ、複数のアプリケーションプログラムと、複合機との間における情報の授受の制御を行う制御手段と、を有し、複合機は、ホストから供給された情報を格納し、格納された情報を所定の順序に基づいて処理する処理手段を有するようにしている。このため、複数のアプリケーションが複合機を円滑に利用することが可能であるとともに、複合機の使用効率を高めることができる情報処理システムを提供することができる。   In order to achieve the above object, an information processing system according to the present invention is an information processing system in which a multifunction device having at least functions as a printer and a scanner and a plurality of hosts are connected. A first driver that is provided corresponding to each of the plurality of application programs to be used, and that exchanges information with each application program; and a second driver that exchanges information with the multifunction peripheral , Provided between the first driver and the second driver, and having a plurality of application programs and a control means for controlling exchange of information with the multifunction device. The apparatus includes processing means for storing the supplied information and processing the stored information based on a predetermined order. Therefore, it is possible to provide an information processing system in which a plurality of applications can smoothly use the multifunction peripheral and can improve the usage efficiency of the multifunction peripheral.

また、他の発明の情報処理システムは、上述の発明に加えて、制御手段が、複数のアプリケーションプログラムから複合機へのアクセス要求が輻輳した場合には、これらのアクセス要求に対する調停処理を実行する。このため、複数のアプリケーションプログラムからの要求が輻輳した場合であっても、これを調停して、順次処理していくことができる。   In addition to the above-described invention, the information processing system according to another invention performs arbitration processing for these access requests when the control unit is congested with access requests from a plurality of application programs to the multifunction peripheral. . For this reason, even when requests from a plurality of application programs are congested, the requests can be arbitrated and sequentially processed.

また、他の発明の情報処理システムは、上述の発明に加えて、制御手段が、複数のアプリケーションプログラムのいずれかにより第2のドライバが既にオープンされている場合には、他のアプリケーションプログラムからオープンの要求がなされた場合であってもオープン処理を実行せず、また、複数のアプリケーションプログラムのいずれかにより第2のドライバが使用されている場合には、他のアプリケーションプログラムからクローズの要求がなされた場合であってもクローズ処理を実行しない。これにより、オープン処理を繰り返し実行したり、アプリケーションプログラムが複合機を使用中であるにも拘わらずクローズ処理を実行したりすることを防止できる。   In addition to the above-described invention, the information processing system according to another invention may be configured such that the control unit opens from another application program when the second driver is already opened by any one of the plurality of application programs. Even if the request is made, the open process is not executed, and when the second driver is used by any of the plurality of application programs, the closing request is made by another application program. Even if this happens, close processing is not executed. Accordingly, it is possible to prevent the open process from being repeatedly executed and the close process from being executed even when the application program is using the multifunction peripheral.

また、他の発明の情報処理システムは、上述の発明に加えて、アプリケーションプログラムと、制御手段とは、異なるプロセス領域において実行されるようにしている。これにより、制御手段が停止した場合であっても、アプリケーションプログラムが実行不能になることを防止できる。   In addition to the above-described invention, the information processing system of another invention is configured such that the application program and the control means are executed in different process areas. Thereby, even if the control means is stopped, it is possible to prevent the application program from being disabled.

また、他の発明の情報処理システムは、上述の発明に加えて、制御手段が、複合機から供給された所定の情報については、要求を行った複数のアプリケーションプログラムに対して並行して当該情報を供給するようにしている。これにより、複数のアプリケーションプログラムによって連携して同じ情報を処理することができる。   In addition to the above-described invention, the information processing system according to another aspect of the invention may be configured such that the control unit is configured to execute predetermined information supplied from the multifunction peripheral in parallel with a plurality of application programs that have requested the information. To supply. Thereby, the same information can be processed in cooperation with a plurality of application programs.

また、他の発明の情報処理システムは、上述の発明に加えて、処理手段が、ホストからの処理の要求が印刷要求である場合には印刷データを受信し、処理の順序が回ってきたときには当該印刷データに対する印刷処理を実行し、ホストからの要求がスキャン要求である場合には、処理の順序が回ってきたときに、要求を行ったホストに対してスキャンが可能になった旨を通知するようにしている。このため、複数のホストから複数の異なる要求がなされた場合であっても、これを調停して、順次処理することが可能になる。   In addition to the above-described invention, the information processing system according to another aspect of the invention receives the print data when the processing request from the host is a print request, and when the processing order has arrived. When print processing is executed for the print data and the request from the host is a scan request, when the order of processing comes, a notification is sent to the requesting host that scanning is possible. Like to do. For this reason, even when a plurality of different requests are made from a plurality of hosts, it is possible to arbitrate the requests and sequentially process them.

以下、本発明の一実施の形態について、「1.実施の形態の構成例」、「2.実施の形態の動作の概要」、「3.実施の形態の動作の詳細」、「4.変形実施の形態」の順に説明する。   Hereinafter, with respect to one embodiment of the present invention, “1. Configuration example of embodiment”, “2. Outline of operation of embodiment”, “3. Details of operation of embodiment”, “4. This will be described in the order of the “embodiments”.

1.実施の形態の構成例 1. Configuration example of the embodiment

図1は、本発明の実施の形態に係る情報処理システムの構成例を示す図である。この図に示すように、情報処理システムは、情報処理装置としてのホストコンピュータ10−1,10−2、および、複合機20を主要な構成要素としている。なお、ホストコンピュータ10−1,10−2と、複合機20とは、接続ケーブル30−1,30−2によってそれぞれ接続されている。   FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. As shown in this figure, the information processing system includes host computers 10-1 and 10-2 as information processing apparatuses and a multifunction device 20 as main components. The host computers 10-1 and 10-2 and the multi-function device 20 are connected by connection cables 30-1 and 30-2, respectively.

図2は、図1に示すホストコンピュータ10−1,10−2の詳細な構成例を示すブロック図である。なお、ホストコンピュータ10−1,10−2は同様の構成とされているので、ここでは、ホストコンピュータ10−1を例に挙げて説明を行い、ホストコンピュータ10−2の説明については省略する。この図に示すように、ホストコンピュータ10−1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、HDD(Hard Disk Drive)14、画像処理部15、I/F(Interface)16、バス17、表示装置18、および、入力装置19を主要な構成要素としており、I/F16には複合機20が接続されている。   FIG. 2 is a block diagram showing a detailed configuration example of the host computers 10-1 and 10-2 shown in FIG. Since the host computers 10-1 and 10-2 have the same configuration, the host computer 10-1 will be described as an example here, and the description of the host computer 10-2 will be omitted. As shown in this figure, a host computer 10-1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an HDD (Hard Disk Drive) 14, and an image processing unit 15. , An I / F (Interface) 16, a bus 17, a display device 18, and an input device 19 are main components, and a multifunction device 20 is connected to the I / F 16.

ここで、CPU11は、ROM12およびHDD14に格納されているプログラムおよびデータに基づいて各種の演算処理を実行するとともに、装置の各部を制御する中央演算装置である。   Here, the CPU 11 is a central processing unit that executes various arithmetic processes based on programs and data stored in the ROM 12 and the HDD 14 and controls each part of the apparatus.

ROM12は、CPU11が実行する基本的なプログラムおよびデータを格納する半導体記憶装置である。RAM13は、CPU11が実行する対象となるプログラムおよびデータを一時的に格納する半導体記憶装置である。   The ROM 12 is a semiconductor storage device that stores basic programs and data executed by the CPU 11. The RAM 13 is a semiconductor storage device that temporarily stores programs and data to be executed by the CPU 11.

HDD14は、磁気ディスクとしてのハードディスクに情報を書き込むとともに、書き込まれている情報を読み出す磁気記憶装置である。なお、HDD14には、OS(Operating System)141、および、AP(Application)プログラム142が格納されている。OS141は、I/F16に対する入出力制御を行うとともに、HDD14およびRAM13等の管理を行う。また、OS141は、複数のアプリケーションプログラムから共通して利用される基本的な機能を提供し、装置全体を管理するソフトウエアである。APプログラム142は、例えば、銀行における種々の業務を行うためのプログラムであり、この例では、窓口業務に関する処理を行うためのアプリケーションプログラムA(以下、適宜「apA」と略記する)142aと、小切手に関する処理を行うためのアプリケーションプログラムB(以下、適宜「apB」と略記する)142bとを有している。   The HDD 14 is a magnetic storage device that writes information to a hard disk as a magnetic disk and reads the written information. The HDD 14 stores an OS (Operating System) 141 and an AP (Application) program 142. The OS 141 performs input / output control for the I / F 16 and manages the HDD 14 and the RAM 13 and the like. The OS 141 is software that provides basic functions commonly used by a plurality of application programs and manages the entire apparatus. The AP program 142 is, for example, a program for performing various operations in a bank. In this example, an application program A (hereinafter abbreviated as “apA” as appropriate) 142a for performing processing related to a counter service, a check, Application program B (hereinafter abbreviated as “apB” where appropriate) 142b.

画像処理部15は、CPU11から供給された描画命令に基づいて描画処理を実行し、得られた画像データを映像信号に変換して表示装置18に供給する。   The image processing unit 15 executes a drawing process based on the drawing command supplied from the CPU 11, converts the obtained image data into a video signal, and supplies the video signal to the display device 18.

I/F16は、入力装置19から供給された情報の表現形式を内部形式に変換して読み込むとともに、複合機20との間で情報を授受する際に、同様にして表現形式を変換する処理を実行する。なお、複合機20とI/F16との接続には、例えば、USB(Universal Serial Bus)を用いることができる。   The I / F 16 converts and reads the representation format of the information supplied from the input device 19 into an internal format, and similarly performs processing for converting the representation format when exchanging information with the multifunction device 20. Execute. For example, a USB (Universal Serial Bus) can be used for the connection between the MFP 20 and the I / F 16.

バス17は、CPU11、ROM12、RAM13、HDD14、画像処理部15、および、I/F16を相互に接続し、これらの間で情報の授受を可能とするための信号線群である。   The bus 17 is a signal line group for mutually connecting the CPU 11, ROM 12, RAM 13, HDD 14, image processing unit 15, and I / F 16, and enabling exchange of information among them.

表示装置18は、例えば、LCD(Liquid Crystal Display)またはCRT(Cathode Ray Tube)モニタによって構成され、画像処理部15から供給された映像信号に対応する映像を図示せぬ表示部に表示する。   The display device 18 is configured by, for example, an LCD (Liquid Crystal Display) or a CRT (Cathode Ray Tube) monitor, and displays a video corresponding to the video signal supplied from the image processing unit 15 on a display unit (not shown).

入力装置19は、例えば、キーボードまたはマウス等の入力デバイスであり、ユーザの操作に応じた情報を生成して出力する。   The input device 19 is an input device such as a keyboard or a mouse, for example, and generates and outputs information corresponding to a user operation.

図3は、図1に示す複合機20の詳細な構成例を示すブロック図である。この図に示すように、複合機20は、メイン制御部21、入力部22、出力部23、プリント機構24、スキャン機構25、および、通信部26を主要な構成要素としている。   FIG. 3 is a block diagram showing a detailed configuration example of the multifunction machine 20 shown in FIG. As shown in the figure, the multi-function device 20 includes a main control unit 21, an input unit 22, an output unit 23, a print mechanism 24, a scan mechanism 25, and a communication unit 26 as main components.

ここで、メイン制御部21は、入力部22またはホストコンピュータ10−1,10−2から供給された指令に基づいて、装置の各部を制御する制御部である。なお、メイン制御部21は、入出力制御部211、制御部212、メモリ213、画像処理部214、プリンタ制御部215、および、スキャナ制御部216を主要な構成要素としている。   Here, the main control unit 21 is a control unit that controls each unit of the apparatus based on a command supplied from the input unit 22 or the host computers 10-1 and 10-2. The main control unit 21 includes an input / output control unit 211, a control unit 212, a memory 213, an image processing unit 214, a printer control unit 215, and a scanner control unit 216 as main components.

入出力制御部211は、入力部22および出力部23との間で情報を授受する際の制御を行う。また、入出力制御部211は、ホストコンピュータ10−1,10−2との間で情報の授受を行う際の制御を行う。制御部212は、メモリ213に格納されているプログラム213aに基づいて、装置の各部を制御する。   The input / output control unit 211 performs control when information is exchanged between the input unit 22 and the output unit 23. The input / output control unit 211 performs control when information is exchanged with the host computers 10-1 and 10-2. The control unit 212 controls each unit of the apparatus based on a program 213a stored in the memory 213.

メモリ213は、例えば、半導体記憶装置によって構成されており、制御部212が実行するプログラムおよびデータを格納している。図3の例では、メモリ213は、プログラム213aを格納しており、制御部212は、プログラム213aに基づいて装置の各部を制御する。   The memory 213 is constituted by, for example, a semiconductor storage device, and stores programs and data executed by the control unit 212. In the example of FIG. 3, the memory 213 stores a program 213a, and the control unit 212 controls each unit of the apparatus based on the program 213a.

画像処理部214は、例えば、ホストコンピュータ10−1,10−2から供給された画像データまたはスキャン機構25から供給された画像データに対して所定の画像処理を実行するための処理部である。   The image processing unit 214 is a processing unit for executing predetermined image processing on image data supplied from the host computers 10-1 and 10-2 or image data supplied from the scan mechanism 25, for example.

プリンタ制御部215は、プリント機構24を制御する制御部であり、制御部212から供給された印刷データに基づいて、記録ヘッド241、走査部242、および、用紙搬送部243を制御し、図示せぬ印刷用紙(例えば、ロール紙等)に対して印刷データを印刷する。   The printer control unit 215 is a control unit that controls the print mechanism 24, and controls the recording head 241, the scanning unit 242, and the paper transport unit 243 based on the print data supplied from the control unit 212. Print data is printed on unprinted paper (for example, roll paper).

スキャナ制御部216は、スキャン機構25を制御する制御部であり、制御部212からの指令に応じて、光源251、受光部252、および、走査部253を制御し、図示せぬ原稿(例えば、小切手)に印刷されている情報を光学的にスキャンして対応する画像データを取得する。   The scanner control unit 216 is a control unit that controls the scanning mechanism 25, and controls the light source 251, the light receiving unit 252, and the scanning unit 253 in response to a command from the control unit 212, and an original (not shown) (for example, The information printed on the check) is optically scanned to obtain the corresponding image data.

入力部22は、装置のフロントパネルに設けられた操作ボタン等であり、ユーザの操作に応じて所定の情報を生成し、入出力制御部211に供給する。出力部23は、例えば、フロントパネルに設けられたLCDまたはLED(Light Emitting Diode)等であり、装置の内部の状態等をユーザに対して表示する。   The input unit 22 is an operation button or the like provided on the front panel of the apparatus, generates predetermined information according to a user operation, and supplies the information to the input / output control unit 211. The output unit 23 is, for example, an LCD or LED (Light Emitting Diode) provided on the front panel, and displays the internal state of the apparatus to the user.

プリント機構24は、記録ヘッド241、走査部242、および、用紙搬送部243を主要な構成要素としており、制御部212から供給された画像データを、図示せぬ印刷用紙に印刷する。ここで、記録ヘッド241は、例えば、CMYKに対応する各色のインクを複数のノズルから適宜吐出し、印刷用紙に対応する画像を印刷する。走査部242は、記録ヘッド241を主走査方向(記録ヘッド241に設けられた各色のインク列に直交する方向)に移動させる。用紙搬送部243は、印刷用紙を副走査方向(主走査方向に直交する方向)に移動させる。   The print mechanism 24 includes a recording head 241, a scanning unit 242, and a paper transport unit 243 as main components, and prints image data supplied from the control unit 212 on a printing paper (not shown). Here, for example, the recording head 241 appropriately discharges ink of each color corresponding to CMYK from a plurality of nozzles, and prints an image corresponding to printing paper. The scanning unit 242 moves the recording head 241 in the main scanning direction (direction orthogonal to the ink rows of the respective colors provided on the recording head 241). The paper transport unit 243 moves the printing paper in the sub-scanning direction (direction orthogonal to the main scanning direction).

スキャン機構25は、光源251、受光部252、および、走査部253を主要な構成要素としており、原稿(例えば、小切手)に印刷された画像を光学的に読み取って、対応する画像データを生成して出力する。ここで、光源251は、例えば、冷陰極管によって構成され、原稿の読み取ろうとする領域に対して白色光を照射する。受光部252は、光源251によって照射され、原稿によって反射された光を受光して対応する電気信号に変換するCCD(Charge Coupled Device)等によって構成される。走査部253は、受光部252を副走査方向(走査部253の長手方向に直交する方向)に移動させる。   The scanning mechanism 25 includes a light source 251, a light receiving unit 252, and a scanning unit 253 as main components, and optically reads an image printed on a document (for example, a check) and generates corresponding image data. Output. Here, the light source 251 is composed of, for example, a cold cathode tube, and irradiates white light onto an area to be read of a document. The light receiving unit 252 is configured by a CCD (Charge Coupled Device) or the like that receives the light irradiated by the light source 251 and reflected by the document and converts it into a corresponding electrical signal. The scanning unit 253 moves the light receiving unit 252 in the sub-scanning direction (a direction orthogonal to the longitudinal direction of the scanning unit 253).

通信部26は、例えば、USB等の規格に基づいて構成され、2台のホストコンピュータ10−1,10−2が接続され、これらとの間で情報を授受する。   The communication unit 26 is configured based on a standard such as USB, for example, and is connected to two host computers 10-1 and 10-2, and exchanges information with them.

つぎに、本発明の実施の形態の動作について説明する。以下では、まず、実施の形態の動作の概要を説明した後、詳細な動作について説明する。   Next, the operation of the embodiment of the present invention will be described. In the following, first, the outline of the operation of the embodiment will be described, and then the detailed operation will be described.

2.実施の形態の動作の概要 2. Overview of operation of the embodiment

図4(A)は、従来において、プリンタ301aとスキャナ301bとが独立した構成である場合の、アプリケーションプログラム142a,142bと、プリンタ301aおよびスキャナ301bとの接続関係を示す図である。従来においては、プリンタ301aと、スキャナ301bとは独立した構成(製品)として存在しており、それぞれを制御するためのドライバ300aおよびドライバ300bも独立して存在している。アプリケーションプログラムAおよびアプリケーションプログラムBは、それぞれ専用のドライバ300a,300bを介してプリンタ301aおよびスキャナ301bを制御する。このため、アプリケーションプログラムAおよびアプリケーションプログラムBは、他のアプリケーションプログラムの状態を考慮することなく、それぞれのデバイス(プリンタ301aまたはスキャナ301b)を任意に制御することができる。しかしながら、このような構成では、プリンタ301aと、スキャナ301bとが独立した構成であり、それぞれが筐体と、電源部等とを有するので、大きな設置スペースが必要となるとともに、導入コストも高くつく。   FIG. 4A is a diagram illustrating a connection relationship between the application programs 142a and 142b and the printer 301a and the scanner 301b when the printer 301a and the scanner 301b are configured independently. Conventionally, the printer 301a and the scanner 301b exist as independent configurations (products), and a driver 300a and a driver 300b for controlling each of them exist independently. The application program A and the application program B control the printer 301a and the scanner 301b via dedicated drivers 300a and 300b, respectively. Therefore, the application program A and the application program B can arbitrarily control each device (the printer 301a or the scanner 301b) without considering the state of other application programs. However, in such a configuration, the printer 301a and the scanner 301b are independent, and each has a casing, a power supply unit, and the like. Therefore, a large installation space is required and the introduction cost is high. .

図4(B)は、従来における、複合機20とアプリケーションプログラムA,Bおよびドライバ300の他の接続関係を示す図である。この図に示すように、プリンタおよびスキャナが複合機20として単一のデバイスとして構成された場合、アプリケーションプログラムA,Bが同時に処理要求を行うと、エラーが発生してしまう場合がある。すなわち、アプリケーションプログラムA,Bは、前述したように、他のアプリケーションプログラムの状態を考慮することなく、所望のデバイスに対して処理要求を行う。この場合、例えば、一方のアプリケーションプログラムが複合機20の使用を開始すると、当該アプリケーションプログラムは複合機20を専有してしまうため、後から起動された他のアプリケーションプログラムは複合機20を利用することができなくなってしまう。また、アプリケーションプログラムがドライバ300を専有してしまう場合には、一方のアプリケーションプログラムを起動すると、他方のアプリケーションプログラムを起動できなくなる状況も発生していた。   FIG. 4B is a diagram showing another connection relationship between the multi-function device 20 and the application programs A and B and the driver 300 in the related art. As shown in this figure, when the printer and the scanner are configured as a single device as the multifunction device 20, an error may occur if the application programs A and B simultaneously request processing. That is, as described above, the application programs A and B make a processing request to a desired device without considering the state of other application programs. In this case, for example, when one application program starts using the multi-function device 20, the application program occupies the multi-function device 20, so that another application program started later uses the multi-function device 20. Will not be able to. In addition, when an application program occupies the driver 300, there is a situation in which when one application program is activated, the other application program cannot be activated.

図5は、本発明の実施の形態における構成例の概略を示す図である。この図に示すように、本実施の形態では、各ホストコンピュータにおいて、図4(B)に示すドライバ300と、アプリケーションプログラムA,Bとの間に、新たなドライバ410,420と、サーバ430とが追加されている。また、複合機20において、サーバ500が追加されている。なお、ホストコンピュータ10−2は、ホストコンピュータ10−1と同様の構成とされているので、その詳細な説明は省略する。   FIG. 5 is a diagram showing an outline of a configuration example in the embodiment of the present invention. As shown in this figure, in this embodiment, in each host computer, between the driver 300 shown in FIG. 4B and the application programs A and B, new drivers 410 and 420, a server 430, Has been added. Further, a server 500 is added in the multifunction machine 20. Since the host computer 10-2 has the same configuration as the host computer 10-1, detailed description thereof is omitted.

ここで、第1のドライバとしてのドライバ410,420は、アプリケーションプログラムA,Bからの処理要求を受け付ける働きをし、制御対象である複合機20を制御する処理は実行しない、いわば、仮想的なドライバである。具体的には、ドライバ410は、アプリケーションプログラムAからの要求を受け付け、サーバ430に伝える処理を主に実行する。また、ドライバ420は、アプリケーションプログラムBからの要求を受け付け、サーバ430に伝える処理を主に実行する。なお、ドライバ410,420は、図4(B)のドライバ300と同様のインタフェースを有している。   Here, the drivers 410 and 420 as the first drivers function to accept processing requests from the application programs A and B, and do not execute processing for controlling the MFP 20 that is a control target. It is a driver. Specifically, the driver 410 mainly executes processing for receiving a request from the application program A and transmitting it to the server 430. The driver 420 mainly executes processing for receiving a request from the application program B and transmitting it to the server 430. Note that the drivers 410 and 420 have the same interface as that of the driver 300 in FIG.

制御手段としてのサーバ430は、ドライバ410,420からの要求を受け付けるとともに、要求が輻輳した場合には調停処理を実行し、調停処理の結果に基づいて、当該要求に応じてドライバ300を排他的に制御する。   The server 430 serving as a control unit receives requests from the drivers 410 and 420, executes arbitration processing when the requests are congested, and makes the driver 300 exclusive according to the request based on the result of the arbitration processing. To control.

第2のドライバとしてのドライバ300は、図4(B)に示す従来のドライバ300と同様のドライバであり、サーバ430からの要求に応じて、複合機20を制御する。   A driver 300 as a second driver is a driver similar to the conventional driver 300 shown in FIG. 4B, and controls the multi-function device 20 in response to a request from the server 430.

一方、複合機20に設けられた制御手段としてのサーバ500は、ホストコンピュータ10−1,10−2から供給された要求を受信して格納するとともに、所定の順序に応じて格納された要求を処理する。   On the other hand, the server 500 serving as a control means provided in the multi-function device 20 receives and stores the requests supplied from the host computers 10-1 and 10-2 and also stores the requests stored in a predetermined order. Process.

本発明の実施の形態では、アプリケーションプログラムA,Bは、それぞれ専用のドライバ410,420を有している。また、これらのドライバ410,420は、それぞれのアプリケーションプログラムからの要求をサーバ430に伝えるだけで、デバイスを制御する処理はサーバ430等が行っている。したがって、アプリケーションプログラムA,Bの少なくとも一方がドライバを専有するプログラムであったとしても、専有しているドライバ410,420は仮想的なドライバであって、実際の制御処理はサーバ430以降が行うため、一方のアプリケーションプログラムを起動すると、他方を起動できないという事態を回避することができる。   In the embodiment of the present invention, the application programs A and B have dedicated drivers 410 and 420, respectively. Further, these drivers 410 and 420 simply transmit a request from each application program to the server 430, and the server 430 and the like perform processing for controlling the device. Therefore, even if at least one of the application programs A and B is a program that occupies a driver, the exclusive drivers 410 and 420 are virtual drivers, and the actual control processing is performed by the server 430 and later. When one application program is activated, it is possible to avoid a situation in which the other cannot be activated.

また、アプリケーションプログラムA,Bが同時に処理要求を行った場合、それぞれの要求は、ドライバ410,420に対して供給される。このとき、ドライバ410,420は独立した構成とされているので、アプリケーションプログラムA,Bからの要求は相互に影響を与えることはない。そして、サーバ430は、ドライバ410,420を介してこれらの要求を受け付ける。このとき、要求が輻輳している場合には、サーバ430は、例えば、先着順にこれらの要求に対して優先順位を付与し、当該優先順位にしたがって、ドライバ300を排他的に制御する。すなわち、アプリケーションプログラムA,Bは任意のタイミングで要求を行うことができる。   When the application programs A and B make processing requests at the same time, the respective requests are supplied to the drivers 410 and 420. At this time, since the drivers 410 and 420 are configured independently, requests from the application programs A and B do not affect each other. The server 430 receives these requests via the drivers 410 and 420. At this time, if the request is congested, the server 430 gives priority to these requests in the order of arrival, for example, and exclusively controls the driver 300 according to the priority. That is, the application programs A and B can make a request at an arbitrary timing.

ドライバ300は、サーバ430の制御に応じて、複合機20のプリント機構24またはスキャン機構25を制御し、印刷用紙に対して情報を印刷したり、原稿に印刷されている情報を画像データとして読み取り、要求を行ったアプリケーションプログラムに対して供給したりする。これにより、アプリケーションプログラムA,Bが複合機20に対して所定の処理を実行させることができる。   The driver 300 controls the print mechanism 24 or the scan mechanism 25 of the multifunction machine 20 according to the control of the server 430, prints information on the printing paper, and reads information printed on the document as image data. Or to the application program that made the request. As a result, the application programs A and B can cause the multifunction device 20 to execute predetermined processing.

複合機20では、サーバ500によって、複数のホストコンピュータ10−1,10−2から受信した要求を格納し、所定の順序に基づいて順番に処理する。すなわち、サーバ500は、複数のホストコンピュータ10−1,10−2からの要求を調停する処理を実行する。このため、各ホストコンピュータ10−1,10−2では、複合機20が使用中であるか否かを考慮することなく、印刷またはスキャンの要求を行うことができる。   In the multifunction device 20, the server 500 stores requests received from the plurality of host computers 10-1 and 10-2, and processes them in order based on a predetermined order. That is, the server 500 executes processing for arbitrating requests from the plurality of host computers 10-1 and 10-2. Therefore, the host computers 10-1 and 10-2 can make a print or scan request without considering whether or not the multifunction device 20 is in use.

このように本発明の実施の形態では、ドライバ410,420およびサーバ430を新たに設け、ドライバ410,420によってアプリケーションプログラムA,Bからの要求を受け付けるとともに、サーバ430によってこれらの要求を調停するようにしたので、一方のアプリケーションプログラムがデバイスを専有して他方のアプリケーションプログラムが動作できなくなったり、エラーが生じたりすることを回避できる。これにより、2つのアプリケーションプログラムA,Bを並行して動作させることが可能になることから、作業の効率を向上させることができる。   As described above, in the embodiment of the present invention, the drivers 410 and 420 and the server 430 are newly provided, and the requests from the application programs A and B are received by the drivers 410 and 420, and these requests are arbitrated by the server 430. Therefore, it can be avoided that one application program occupies the device and the other application program cannot operate or an error occurs. As a result, the two application programs A and B can be operated in parallel, so that work efficiency can be improved.

また、ドライバ410,420のインタフェースは、ドライバ300と同様のインタフェースを実装するようにしたので、アプリケーションプログラムA,Bに対して修正を加える必要がないため、新たな作業およびコストの発生を防止できる。   In addition, since the interfaces of the drivers 410 and 420 are the same as those of the driver 300, it is not necessary to modify the application programs A and B, so that new work and cost can be prevented. .

さらに、複合機20側にも、サーバ500を設けるようにしたので、複数のホストコンピュータ10−1,10−2によって複合機20を共用することができる。このため、導入コストをさらに削減するとともに、設置スペースをさらに削減することができる。   Furthermore, since the server 500 is also provided on the multifunction device 20 side, the multifunction device 20 can be shared by a plurality of host computers 10-1 and 10-2. For this reason, the introduction cost can be further reduced and the installation space can be further reduced.

また、サーバ500は、ホストコンピュータ10−1,10−2から受信した要求を順番に処理する機能を有しているので、ホストコンピュータ10−1,10−2では、現在、複合機20が使用されているか否かを考慮することなく、印刷またはスキャンの要求を行うことができる。   Further, since the server 500 has a function of sequentially processing requests received from the host computers 10-1 and 10-2, the host computer 10-1 and 10-2 currently uses the multifunction device 20. It is possible to make a print or scan request without considering whether or not it has been done.

3.実施の形態の動作の詳細 3. Details of operation of the embodiment

つぎに、本発明の実施の形態の詳細な動作について説明する。   Next, the detailed operation of the embodiment of the present invention will be described.

図6は、本発明の実施の形態の詳細な動作を説明するための機能ブロック図である。なお、この図では、ホストコンピュータ10−1のみを示してあるが、ホストコンピュータ10−2についても同様の構成であるのでその詳細な説明は省略する。   FIG. 6 is a functional block diagram for explaining the detailed operation of the embodiment of the present invention. In this figure, only the host computer 10-1 is shown, but the host computer 10-2 has the same configuration, and a detailed description thereof will be omitted.

この図の機能ブロックは、ホストコンピュータ10−1に電源が投入され、HDD14に格納されているOS141が起動された際に、ホストコンピュータ10のCPU11を初めとするハードウエア資源と、ソフトウエア資源としてのOS141とが協働することにより実現される。   The functional blocks in this figure include hardware resources such as the CPU 11 of the host computer 10 and software resources when the host computer 10-1 is powered on and the OS 141 stored in the HDD 14 is activated. This is realized by cooperating with the OS 141.

この図に示すように、ドライバ410は、API(Application Program Interface)411およびスレッド412を有している。APIは、種々の処理を行う関数群であり、例えば、DLL(Dynamic Link Library)として提供される。スレッド412には、アプリケーションプログラムAからの要求に応じて生成されるタスクの実行単位が登録されており、サーバ430からイベントシグナルが通知された場合には、コールバック関数によってアプリケーションプログラムAを呼び出す。ドライバ420は、ドライバ410と同様の構成とされている。ドライバ410およびドライバ420のインタフェースは、図4(B)に示すドライバ300と同様の構成を有している。   As shown in this figure, the driver 410 has an API (Application Program Interface) 411 and a thread 412. The API is a group of functions that perform various processes, and is provided as, for example, a DLL (Dynamic Link Library). An execution unit of a task generated in response to a request from the application program A is registered in the thread 412. When an event signal is notified from the server 430, the application program A is called by a callback function. The driver 420 has the same configuration as the driver 410. The interfaces of the driver 410 and the driver 420 have the same configuration as that of the driver 300 illustrated in FIG.

ドライバ300は、図4(B)に示すドライバ300と同様の構成を有しており、また、ドライバ410,420と同様に、API301およびスレッド302を有している。   The driver 300 has the same configuration as that of the driver 300 shown in FIG. 4B, and also has an API 301 and a thread 302, like the drivers 410 and 420.

複合機20は、サーバ500を有している。このサーバ500は、図3に示す複合機20の電源が投入され、メモリ213に格納されているプログラム213aが起動された際に、複合機20の制御部212を初めとするハードウエア資源と、ソフトウエア資源としてのプログラム213aとが協働することにより実現される。   The multifunction machine 20 has a server 500. The server 500 includes hardware resources including the control unit 212 of the multifunction device 20 when the power of the multifunction device 20 illustrated in FIG. 3 is turned on and the program 213a stored in the memory 213 is activated. This is realized by the cooperation of the program 213a as a software resource.

つぎに、電源が投入された際のホストコンピュータ10−1の動作について説明する。なお、ホストコンピュータ10−2も同様の動作であるので、その説明は省略する。   Next, the operation of the host computer 10-1 when the power is turned on will be described. Since the host computer 10-2 operates in the same manner, the description thereof is omitted.

電源が投入されると、図示せぬ電源部から装置の各部への電源電力の供給が開始される。CPU11は、ROM12に格納されている基本的なプログラムを実行して、各部の設定等を行った後、HDD142に格納されているOS141の起動を開始する。すなわち、CPU11は、OS141をHDD14から読み出し、RAM13上に展開して実行する。このとき、図6に示す、サーバ430およびドライバ300はDLLとして、OS141に動的にリンクされる。これにより、サーバ430およびドライバ300がRAM13上に展開されて動作可能な状態となる。   When the power is turned on, supply of power from a power supply unit (not shown) to each unit of the apparatus is started. The CPU 11 executes a basic program stored in the ROM 12, sets each part, etc., and then starts the OS 141 stored in the HDD 142. That is, the CPU 11 reads the OS 141 from the HDD 14, expands it on the RAM 13, and executes it. At this time, the server 430 and the driver 300 shown in FIG. 6 are dynamically linked to the OS 141 as a DLL. As a result, the server 430 and the driver 300 are expanded on the RAM 13 and become operable.

つづいて、ユーザが、入力装置19を操作して、アプリケーションプログラムAを起動する指示をしたとすると、CPU11はHDD14からapA142aを読み出し、RAM13上に展開して実行する。これにより、アプリケーションプログラムAが起動されることになる。なお、このとき、CPU11は、ドライバ410をDLLとして読み出し、アプリケーションプログラムAに動的にリンクする。これにより、アプリケーションプログラムAとドライバ410とが起動される。なお、アプリケーションプログラムAとサーバ430とは異なるプロセス領域上において実行される。すなわち、アプリケーションプログラムAとサーバ430とは、マルチタスク処理における別々のプロセス(タスク)として管理される。   Subsequently, if the user operates the input device 19 to give an instruction to start the application program A, the CPU 11 reads apA 142a from the HDD 14, and develops it on the RAM 13 for execution. As a result, the application program A is started. At this time, the CPU 11 reads the driver 410 as a DLL and dynamically links to the application program A. As a result, the application program A and the driver 410 are activated. The application program A and the server 430 are executed on different process areas. That is, the application program A and the server 430 are managed as separate processes (tasks) in multitask processing.

このような状態において、ユーザが、入力装置19を操作し、アプリケーションプログラムAによって所定の処理を実行させた後、処理結果の情報を複合機20のプリント機構24によって印刷する指示を行ったとする。すると、アプリケーションプログラムAからの印刷要求は、ドライバ410を介して、サーバ430に供給される。サーバ430は、ドライバ300を制御し、複合機20との接続ポートをオープンの状態とする。   In this state, it is assumed that the user operates the input device 19 to execute predetermined processing by the application program A, and then gives an instruction to print processing result information by the print mechanism 24 of the multifunction machine 20. Then, the print request from the application program A is supplied to the server 430 via the driver 410. The server 430 controls the driver 300 to open the connection port with the multifunction device 20.

つぎに、アプリケーションプログラムAから出力された印刷データは、ドライバ410に供給される。ドライバ410は、通常のドライバと同様のインタフェースを有するとともに、ドライバの振りをするので、アプリケーションプログラムAは、従来と同様の処理により、印刷データを出力することができる。   Next, the print data output from the application program A is supplied to the driver 410. The driver 410 has the same interface as that of a normal driver and acts as a driver. Therefore, the application program A can output print data by the same processing as that of the prior art.

つづいて、ドライバ410は、アプリケーションプログラムAから供給された印刷データを、サーバ430に供給する。その時点では、アプリケーションプログラムAだけが起動されているので、サーバ430は要求の調停を行う必要がないことから、ドライバ410から供給された印刷データをドライバ300にそのまま供給する。ドライバ300は、サーバ430から供給された印刷データに対して、所定の処理(例えば、マイクロウィーブ処理等)を施した後、接続ケーブル30−1を介して複合機20に送信する。複合機20では、ホストコンピュータ10から供給された印刷データを通信部26が受信し、サーバ500が取得して処理待ち行列(不図示)に格納する。そして、例えば、サーバ500に格納された順番に基づいて、処理待ち行列に格納された要求が読み出されて実行される。   Subsequently, the driver 410 supplies the print data supplied from the application program A to the server 430. At that time, since only the application program A is activated, it is not necessary for the server 430 to perform request arbitration, so the print data supplied from the driver 410 is supplied to the driver 300 as it is. The driver 300 performs predetermined processing (for example, microweave processing) on the print data supplied from the server 430, and then transmits the print data to the multi-function device 20 via the connection cable 30-1. In the MFP 20, the communication unit 26 receives the print data supplied from the host computer 10, and the server 500 acquires it and stores it in a processing queue (not shown). Then, for example, based on the order stored in the server 500, the requests stored in the processing queue are read out and executed.

印刷要求が読み出されて実行されると、サーバ500は当該印刷データをプリンタ制御部215に供給する。プリンタ制御部215は、プリント機構24を制御して、印刷データを図示せぬ印刷用紙に印刷する。これにより、窓口業務に関する情報が印刷用紙に印刷されて出力される。そして、処理が終了すると、アプリケーションプログラムAは印刷の終了を指示するので、サーバ430は、ドライバ300を制御し、複合機20との接続ポートをクローズの状態とする。   When the print request is read and executed, the server 500 supplies the print data to the printer control unit 215. The printer control unit 215 controls the print mechanism 24 to print the print data on a print sheet (not shown). As a result, information on the counter service is printed on the printing paper and output. When the process ends, the application program A instructs the end of printing, so the server 430 controls the driver 300 to close the connection port with the multifunction device 20.

なお、以上は、アプリケーションプログラムAが単独で実行された場合の動作の説明であるが、アプリケーションプログラムBが単独で実行された場合も同様の処理により、複合機20が制御される。   Although the above is a description of the operation when the application program A is executed alone, the multifunction machine 20 is controlled by the same processing when the application program B is executed alone.

すなわち、アプリケーションプログラムBが起動されると、ドライバ420が動的にリンクされて起動される。そして、アプリケーションプログラムBから、例えば、小切手をスキャンする要求がなされた場合には、当該要求は、ドライバ420を介して、サーバ430に伝えられる。サーバ430は、アプリケーションプログラムBだけが起動された状態で、要求の輻輳は生じていないことから、複合機20との間の接続ポートを直ちにオープンの状態とする。また、このとき、スレッド422およびスレッド302には、スキャンが終了された場合にコールされるコールバック関数がそれぞれ登録される。また、複合機20では、スキャン要求が受信され、サーバ500の処理待ち行列に格納される。   That is, when the application program B is activated, the driver 420 is dynamically linked and activated. For example, when a request for scanning a check is made from the application program B, the request is transmitted to the server 430 via the driver 420. Since only the application program B has been activated and no request congestion has occurred, the server 430 immediately opens the connection port with the MFP 20. At this time, a callback function that is called when the scan is completed is registered in each of the thread 422 and the thread 302. Further, the multifunction device 20 receives the scan request and stores it in the processing queue of the server 500.

このような状態において、サーバ500がスキャン要求に対する処理を開始すると、スキャンが可能になったことがホストコンピュータ10−1に伝えられる。すると、ホストコンピュータ10−1では、ドライバ300のスレッド302が、登録されているコールバック関数によってサーバ430を呼び出す。その結果、サーバ430は、イベントシグナルをドライバ420のスレッド422に通知する。スレッド422は、登録されているコールバック関数によってアプリケーションプログラムBをコールバックする。すると、アプリケーションプログラムBは、スキャンが可能になったことを、例えば、表示装置18に表示する。その結果、ユーザが、複合機20のスキャン機構25に対して小切手を載置して、当該小切手を読み取る指示を、入力部22に対して行ったとすると、スキャナ制御部216は、スキャン機構25を制御し、小切手の読み取りを実行する。読み取りが完了すると、読み取りデータがアプリケーションプログラムBに受け渡される。   In this state, when the server 500 starts processing for the scan request, the host computer 10-1 is notified that the scan is possible. Then, in the host computer 10-1, the thread 302 of the driver 300 calls the server 430 using the registered callback function. As a result, the server 430 notifies the event signal to the thread 422 of the driver 420. The thread 422 calls back the application program B using the registered callback function. Then, the application program B displays, for example, on the display device 18 that scanning is possible. As a result, if the user places a check on the scanning mechanism 25 of the multi-function device 20 and instructs the input unit 22 to read the check, the scanner control unit 216 causes the scanning mechanism 25 to move. Control and perform check readings. When the reading is completed, the read data is transferred to the application program B.

そして、スキャン処理が完了すると、アプリケーションプログラムBはスキャンの終了を指示するので、サーバ430は、ドライバ300を制御し、複合機20との接続ポートをクローズの状態とする。   When the scan process is completed, the application program B instructs the end of the scan, so the server 430 controls the driver 300 to close the connection port with the multifunction device 20.

なお、以上は、ホストコンピュータ10−1における処理の説明であるが、ホストコンピュータ10−2における処理も同様である。   The above is the description of the processing in the host computer 10-1, but the processing in the host computer 10-2 is the same.

以上に説明したように、本実施の形態では、ホストコンピュータ10−1,10−2のそれぞれにおいて単一のアプリケーションプログラムが起動された場合には、従来と同様に、それぞれのアプリケーションプログラムが複合機20を利用することができる。   As described above, in the present embodiment, when a single application program is started in each of the host computers 10-1 and 10-2, each application program is stored in the multifunction peripheral as in the conventional case. 20 can be used.

つぎに、ホストコンピュータ10−1,10−2のそれぞれにおいて、アプリケーションプログラムAが起動された状態において、アプリケーションプログラムBを起動する場合について説明する。すなわち、例えば、ホストコンピュータ10−1において、アプリケーションプログラムAが起動された状態において、ユーザが入力装置19を操作して、アプリケーションプログラムBを起動する指示を行ったとすると、CPU11は、HDD14からapB142bを読み出して、RAM13上に展開して、実行する。なお、このとき、CPU11は、ドライバ420をDLLとして読み出し、アプリケーションプログラムBに動的にリンクさせる。これにより、アプリケーションプログラムBとドライバ420とが起動される。   Next, the case where the application program B is activated in the state where the application program A is activated in each of the host computers 10-1 and 10-2 will be described. That is, for example, when the user operates the input device 19 and gives an instruction to start the application program B in the state where the application program A is started in the host computer 10-1, the CPU 11 receives the apB 142b from the HDD 14. The data is read out, expanded on the RAM 13, and executed. At this time, the CPU 11 reads the driver 420 as a DLL and dynamically links it to the application program B. As a result, the application program B and the driver 420 are activated.

ところで、アプリケーションプログラムAがドライバを専有するタイプのプログラムである場合、アプリケーションプログラムAは、ドライバ410を専有することになる。しかしながら、ドライバ410は、仮想的なドライバであり、アプリケーションプログラムAから受け取った情報をサーバ430に受け渡す処理のみを実行する。つまり、デバイスを制御する処理は、サーバ430およびドライバ300が実行する。このため、アプリケーションプログラムBは、サーバ430およびサーバ300を依然として利用することが可能であるので、アプリケーションプログラムBを起動することができる。また、アプリケーションプログラムBが同様にドライバを専有するプログラムである場合であっても、アプリケーションプログラムBは、仮想的なドライバ420を専有できることから、アプリケーションプログラムBを起動することができる。   By the way, when the application program A is a type of program that occupies the driver, the application program A occupies the driver 410. However, the driver 410 is a virtual driver, and executes only a process of transferring information received from the application program A to the server 430. That is, the server 430 and the driver 300 execute processing for controlling the device. For this reason, since the application program B can still use the server 430 and the server 300, the application program B can be started. Further, even when the application program B is a program that exclusively occupies the driver, the application program B can occupy the virtual driver 420 and thus can start the application program B.

さらに、アプリケーションプログラムAおよびドライバ410と、アプリケーションプログラムBおよびドライバ420と、サーバ430とはそれぞれ異なるプロセス領域上において実行されるため、これらは独立して動作することができる。すなわち、アプリケーションプログラムAによってドライバ410が専有された状態であっても、サーバ430は独立して動作することができる。一方、アプリケーションプログラムBについても同様であり、アプリケーションプログラムBによってドライバ420が専有された状態であっても、サーバ430は独立して動作することができる。これにより、アプリケーションプログラムAおよびアプリケーションプログラムBの双方を同時に起動し、動作させることができる。   Furthermore, since application program A and driver 410, application program B and driver 420, and server 430 are executed on different process areas, they can operate independently. That is, even if the driver 410 is exclusively used by the application program A, the server 430 can operate independently. On the other hand, the same applies to the application program B. Even when the driver 420 is exclusively used by the application program B, the server 430 can operate independently. Thereby, both the application program A and the application program B can be started and operated simultaneously.

つぎに、ホストコンピュータ10−1,10−2のいずれかにおいて、2つのアプリケーションプログラムA,Bが起動されている状態において、これらのアプリケーションプログラムA,Bが複合機20に対して、接続ポートのオープンまたはクローズの要求を行う場合の処理について説明する。   Next, in the state where the two application programs A and B are activated in either of the host computers 10-1 and 10-2, these application programs A and B are connected to the MFP 20 with connection ports. Processing when an open or close request is made will be described.

図7は、ホストコンピュータ10−1において実行されている処理の一例を説明するフローチャートである。ホストコンピュータ10−2についても同様の処理が実行されるので、その説明は省略する。このフローチャートの処理が実行されると、以下のステップが実行される。   FIG. 7 is a flowchart for explaining an example of processing executed in the host computer 10-1. Since the same processing is executed for the host computer 10-2, the description thereof is omitted. When the processing of this flowchart is executed, the following steps are executed.

ステップS10:サーバ430は、接続ポートに対するオープンの要求数をカウントするための変数Counterに初期値として“0”を代入する。   Step S10: The server 430 assigns “0” as an initial value to a variable Counter for counting the number of open requests for the connection port.

ステップS11:サーバ430は、複合機20を制御するためのハンドルを格納する変数Handleに対して、Null(空)を格納する。   Step S11: The server 430 stores Null (empty) for a variable Handle that stores a handle for controlling the multifunction machine 20.

ステップS12:サーバ430は、アプリケーションプログラムAまたはアプリケーションプログラムBからオープン要求がなされたか否かを判定し、要求がなされた場合にはステップS13に進み、それ以外の場合にはステップS18に進む。   Step S12: The server 430 determines whether or not an open request is made from the application program A or the application program B. If a request is made, the process proceeds to step S13, and otherwise proceeds to step S18.

ステップS13:サーバ430は、変数Counterの値が、0より大きいか否かを判定し、大きい場合にはステップS16に進み、それ以外の場合にはステップS14に進む。変数Counterには、現在受け付けられているオープン要求の数が格納されている。したがって、Counterの値が0である場合には、初めてのオープン要求であるので、ステップS14に進み、それ以外の場合にはステップS16に進む。   Step S13: The server 430 determines whether or not the value of the variable Counter is greater than 0, the process proceeds to step S16 if it is greater, and the process proceeds to step S14 otherwise. The variable Counter stores the number of open requests currently accepted. Therefore, if the value of Counter is 0, it is the first open request, so the process proceeds to step S14, and otherwise, the process proceeds to step S16.

ステップS14:サーバ430は、ドライバ300を制御して、複合機20との接続ポートをオープンする処理を実行する。ここで、複合機20がホストコンピュータ10−1,10−2のそれぞれに対して異なる2つのポートを有している場合には、それぞれのポートに対するオープン処理が実行される。また、複合機20が有するポートが1つである場合には、他のホストコンピュータ10−2が既にオープンしている場合には、重ねてオープンすることができないので、その場合には「待ち」の状態となる。   Step S14: The server 430 controls the driver 300 to execute processing for opening a connection port with the multifunction device 20. Here, when the multifunction machine 20 has two different ports for the host computers 10-1 and 10-2, an open process is executed for each port. Further, when the multifunction device 20 has one port, if another host computer 10-2 is already open, it cannot be opened repeatedly. It becomes the state of.

ステップS15:サーバ430は、ステップS14において、接続ポートをオープンする際に使用したハンドルを変数Handleに格納する。   Step S15: The server 430 stores the handle used when opening the connection port in the variable Handle in step S14.

ステップS16:サーバ430は、Counterの値を1だけインクリメントする。   Step S16: The server 430 increments the value of Counter by 1.

ステップS17:サーバ430は、Handleに格納されているハンドルを、要求を行ったアプリケーションプログラムに対して返す。これにより、アプリケーションプログラムは、当該ハンドルを利用して、複合機20の制御が可能になる。   Step S17: The server 430 returns the handle stored in the Handle to the requesting application program. As a result, the application program can control the multifunction device 20 by using the handle.

ステップS18:サーバ430は、アプリケーションプログラムAまたはアプリケーションプログラムBからクローズ要求がなされたか否かを判定し、要求がなされた場合にはステップS19に進み、それ以外の場合にはステップS24に進む。   Step S18: The server 430 determines whether or not a close request is made from the application program A or the application program B. If a request is made, the process proceeds to step S19, and otherwise proceeds to step S24.

ステップS19:サーバ430は、変数Counterの値を1だけデクリメントする。   Step S19: The server 430 decrements the value of the variable Counter by 1.

ステップS20:サーバ430は、変数Counterの値が0より大きいか否かを判定し、大きい場合にはステップS23に進み、それ以外の場合にはステップS21に進む。前述のように、変数Counterには、現在受け付けられているオープン要求の数が格納されている。したがって、Counterの値が0より大きい場合には、複合機20を利用しているアプリケーションプログラムが存在していることから、ステップS23に進み、それ以外の場合にはステップS21に進む。   Step S20: The server 430 determines whether or not the value of the variable Counter is greater than 0, the process proceeds to step S23 if it is greater, and the process proceeds to step S21 otherwise. As described above, the number of open requests currently accepted is stored in the variable Counter. Therefore, if the value of Counter is greater than 0, there is an application program that uses the multifunction device 20, and therefore the process proceeds to step S23. Otherwise, the process proceeds to step S21.

ステップS21:サーバ430は、ドライバ300を制御して、複合機20との接続ポートをクローズする処理を実行する。ここで、複合機20がホストコンピュータ10−1,10−2のそれぞれに対して異なる2つのポートを有している場合には、それぞれのポートに対するクローズ処理が実行される。また、複合機20が有するポートが1つである場合には、当該ポートに対するクローズ処理が実行され、他のホストコンピュータ10−2は、複合機20との間の接続ポートをオープンすることができる。   Step S21: The server 430 controls the driver 300 to execute processing for closing the connection port with the multifunction device 20. Here, when the multifunction machine 20 has two different ports for the host computers 10-1 and 10-2, close processing for each port is executed. Further, when the multifunction device 20 has one port, a closing process for the port is executed, and the other host computer 10-2 can open a connection port with the multifunction device 20. .

ステップS22:サーバ430は、変数HandleをNullの状態にする。   Step S22: The server 430 sets the variable Handle to a null state.

ステップS23:サーバ430は、要求を行ったアプリケーションプログラムに対して、クローズ要求の実行が終了したことを通知する。   Step S23: The server 430 notifies the requesting application program that the execution of the close request has been completed.

ステップS24:サーバ430は、処理を終了するか否かを判定し、終了しない場合にはステップS12に戻って同様の処理を繰り返し、それ以外の場合には処理を終了する。   Step S24: The server 430 determines whether or not to end the process. If not, the server 430 returns to step S12 and repeats the same process. Otherwise, the process ends.

以上の処理によれば、複数のアプリケーションプログラムからサーバ430に対して、オープンの要求が重複してなされた場合、最初の要求に応じて接続ポートをオープンし、それ以降の要求に対してはオープン処理は実行しない。これにより、重複してオープン処理が実行されることを防止できる。また、クローズの要求が重複してなされた場合、利用中のアプリケーションプログラムが存在している場合にはクローズを実行せず、最後の1つのアプリケーションプログラムからの要求に応じて、クローズ処理を実行する。これにより、複合機20を利用しているアプリケーションプログラムが存在しているにも拘わらず、接続ポートがクローズされることを防止できる。   According to the above processing, when multiple open requests from a plurality of application programs are made to the server 430, the connection port is opened in response to the first request, and the subsequent requests are opened. Processing is not executed. Thereby, it is possible to prevent the open processing from being executed repeatedly. Also, when the close request is made in duplicate, if there is an application program being used, the close process is not executed but the close process is executed in response to a request from the last one application program. . As a result, it is possible to prevent the connection port from being closed despite the presence of an application program that uses the multifunction device 20.

つぎに、いずれかのホストコンピュータにおいて起動された複数のアプリケーションプログラムから複合機20を利用する場合の動作について説明する。   Next, an operation when using the multi-function device 20 from a plurality of application programs activated in any of the host computers will be described.

以上のようにして、例えば、ホストコンピュータ10−1において、複数のアプリケーションプログラムが起動され、また、複数のアプリケーションプログラムによって複合機20との接続ポートがオープンされた状態になった後に、例えば、アプリケーションプログラムAが複合機20によって印刷データを印刷する要求を行うとともに、アプリケーションプログラムBが複合機20によって小切手を読み取る要求を行ったとする。   As described above, for example, after a plurality of application programs are started in the host computer 10-1 and the connection port with the multifunction device 20 is opened by the plurality of application programs, for example, the application Assume that the program A makes a request for printing print data by the multifunction device 20 and the application program B makes a request for reading a check by the multifunction device 20.

このような場合、サーバ430は、ドライバ410,420を介してアプリケーションプログラムA,Bからの要求を受け付ける。そして、サーバ430は、これらの要求を、例えば、受け付け順に優先順位を付与し、当該優先順位にしたがって、要求に対応する処理を実行する。例えば、アプリケーションプログラムAからの印刷要求の方が先になされた場合には、アプリケーションプログラムAの要求の優先順位を高く設定し、アプリケーションプログラムBの要求の優先順位を低く設定する。そして、優先順位が高いアプリケーションプログラムAの要求に応じて、印刷データを受信して、ドライバ300を介して複合機20に印刷データを供給する。複合機20では、受信した印刷データをサーバ500が格納するとともに、印刷処理を実行する。全ての印刷データの受信が完了すると、アプリケーションプログラムAは処理が終了したとして、クローズの要求を行い、処理を完了する。なお、このとき、アプリケーションプログラムBが要求を行っていることから、接続ポートはクローズされない。   In such a case, the server 430 receives requests from the application programs A and B via the drivers 410 and 420. Then, the server 430 assigns priorities to these requests, for example, in the order of acceptance, and executes processing corresponding to the requests according to the priorities. For example, when the print request from the application program A is made first, the priority of the request of the application program A is set high, and the priority of the request of the application program B is set low. In response to a request from the application program A having a higher priority, the print data is received and supplied to the multi-function device 20 via the driver 300. In the multi-function device 20, the server 500 stores the received print data and executes print processing. When the reception of all the print data is completed, the application program A makes a close request and completes the processing, assuming that the processing is completed. At this time, since the application program B makes a request, the connection port is not closed.

つづいて、サーバ430は、つぎに優先順位が高いアプリケーションプログラムBの要求を受け付け、複合機20に対して、小切手に印刷された情報を読み込む処理を実行させる。その結果、アプリケーションプログラムBは、複合機20から読み取りデータを受信する。そして、受信が完了すると、アプリケーションプログラムBはクローズの要求を行い、処理を完了する。なお、このとき、他に要求を行っているアプリケーションプログラムが存在していないことから、接続ポートはクローズされる。   Subsequently, the server 430 receives a request from the application program B having the next highest priority, and causes the multi-function device 20 to execute processing for reading information printed on the check. As a result, the application program B receives the read data from the multifunction device 20. When the reception is completed, the application program B issues a close request and completes the process. At this time, the connection port is closed because there is no other application program making the request.

以上の処理によれば、いずれかのホストコンピュータ10−1において、複数のアプリケーションA,Bが起動され、これらのアプリケーションプログラムから複合機20に対して処理の要求がなされた場合、サーバ430がこれらの要求を調停するようにしたので、アプリケーションプログラムA,Bは他のアプリケーションプログラムの状態を考慮せずに、任意のタイミングで処理の要求を行うことができる。   According to the above processing, when a plurality of applications A and B are activated in any of the host computers 10-1 and processing requests are made to the multi-function device 20 from these application programs, the server 430 Therefore, the application programs A and B can request processing at an arbitrary timing without considering the state of other application programs.

つぎに、図8を参照して、複合機20のサーバ500の動作について説明する。図8のフローチャートの処理が実行されると、以下のステップが実行される。   Next, the operation of the server 500 of the multifunction machine 20 will be described with reference to FIG. When the process of the flowchart of FIG. 8 is executed, the following steps are executed.

ステップS40:サーバ500は、ホストコンピュータ10−1,10−2から処理の要求が有ったか否かを判定し、処理の要求が有った場合にはステップS41に進み、それ以外の場合にはステップS43に進む。例えば、ホストコンピュータ10−1から印刷要求があった場合にはステップS41に進む。   Step S40: The server 500 determines whether or not there is a processing request from the host computers 10-1 and 10-2. If there is a processing request, the server 500 proceeds to step S41, otherwise. Advances to step S43. For example, if there is a print request from the host computer 10-1, the process proceeds to step S41.

ステップS41:サーバ500は、通信部26を介してホストコンピュータからの要求を受信する。例えば、いまの例では、ホストコンピュータ10−1からの印刷要求が受信される。   Step S41: The server 500 receives a request from the host computer via the communication unit 26. For example, in this example, a print request is received from the host computer 10-1.

ステップS42:サーバ500は、ステップS41で受信した要求を、受付順に処理待ち行列(不図示)に格納する。   Step S42: The server 500 stores the request received in step S41 in a processing queue (not shown) in the order of acceptance.

ステップS43:サーバ500は、処理待ち行列を参照し、待ち状態の処理要求が存在しているか否かを判定する。その結果、待ち状態の処理要求が存在している場合にはステップS44に進み、それ以外の場合にはステップS46に進む。   Step S43: The server 500 refers to the processing queue and determines whether or not there is a waiting processing request. As a result, if there is a waiting process request, the process proceeds to step S44; otherwise, the process proceeds to step S46.

ステップS44:サーバ500は、待ち状態となっている処理要求を、処理待ち行列から取得するとともに、当該要求を処理待ち行列から削除する。なお、このとき、先着順に処理待ち行列から要求を取得する。いまの例では、処理待ち行列からホストコンピュータ10−1からの印刷要求が取得される。   Step S44: The server 500 acquires the processing request in the waiting state from the processing queue and deletes the request from the processing queue. At this time, requests are acquired from the processing queue in the order of arrival. In this example, a print request from the host computer 10-1 is acquired from the processing queue.

ステップS45:サーバ500は、要求に対応する処理を実行する。いまの例では、ホストコンピュータ10−1からの印刷要求に基づく印刷処理が実行される。   Step S45: The server 500 executes processing corresponding to the request. In the present example, a printing process based on a print request from the host computer 10-1 is executed.

ステップS46:サーバ500は、処理を終了するか否かを判定し、処理を終了しない場合にはステップS40に戻って同様の処理を繰り返し、それ以外の場合には処理を終了する。例えば、装置の電源が切られた場合には処理を終了し、それ以外の場合にはステップS40に戻って同様の処理を繰り返す。   Step S46: The server 500 determines whether or not to end the process. If the process is not ended, the server 500 returns to step S40 to repeat the same process, and otherwise ends the process. For example, if the power of the apparatus is turned off, the process is terminated. Otherwise, the process returns to step S40 and the same process is repeated.

以上の処理によれば、複数のホストコンピュータ10−1,10−2からの要求が輻輳した場合であっても、これらをサーバ500によって順次受け付けて処理待ち行列に格納し、例えば、受付順に処理するようにしたので、複数のホストコンピュータ10−1,10−2によって複合機20を共用することができる。例えば、ホストコンピュータ10−1から印刷要求がなされ、つづいて、ホストコンピュータ10−2からスキャン要求がなされた場合、サーバ500はこれらの要求を受け付けて処理待ち行列に格納する。そして、サーバ500は受け付けたこれらの要求を受け付けた順番に処理する。   According to the above processing, even when requests from a plurality of host computers 10-1 and 10-2 are congested, these are sequentially received by the server 500 and stored in the processing queue. Thus, the multi-function device 20 can be shared by a plurality of host computers 10-1 and 10-2. For example, when a print request is made from the host computer 10-1, and subsequently a scan request is made from the host computer 10-2, the server 500 accepts these requests and stores them in the processing queue. Then, the server 500 processes these received requests in the order received.

以上に説明したように、本発明の実施の形態によれば、仮想的なドライバ410,420を設けるとともに、サーバ430を設けるようにしたので、複数のアプリケーションプログラムを同時に起動することが可能になる。   As described above, according to the embodiment of the present invention, since the virtual drivers 410 and 420 are provided and the server 430 is provided, a plurality of application programs can be started simultaneously. .

また、本発明の実施の形態によれば、複数のアプリケーションプログラムからオープンまたはクローズの要求がなされた場合には、これらの回数をカウントして、カウント結果に応じてオープンまたはクローズ処理を実行するようにしたので、オープン処理を重ねて行ったり、複合機20を使用中のアプリケーションプログラムが存在するにも拘わらずクローズ処理を実行してしまったりすることを防止できる。   Further, according to the embodiment of the present invention, when an open or close request is made from a plurality of application programs, the number of times is counted, and the open or close process is executed according to the count result. Therefore, it is possible to prevent the open process from being repeated and the close process from being executed even though there is an application program that is using the multifunction machine 20.

また、本発明の実施の形態によれば、サーバ430によって、複数のアプリケーションプログラムからの要求を調停するようにしたので、複数の要求が輻輳した場合であっても、複合機20を正常に利用することができる。   Further, according to the embodiment of the present invention, requests from a plurality of application programs are arbitrated by the server 430, so that even when a plurality of requests are congested, the MFP 20 is normally used. can do.

また、本発明の実施の形態によれば、アプリケーションプログラムA,Bと、サーバ430とを異なるプロセス領域において実行するようにした。このため、サーバ430に不具合が生じた場合であっても、アプリケーションプログラムA,Bが影響を受けることを防止できる。すなわち、サーバ430が動作を停止した場合であっても、別プロセスであるアプリケーションプログラムA,Bが巻き込まれて停止することを防止できる。   Further, according to the embodiment of the present invention, the application programs A and B and the server 430 are executed in different process areas. For this reason, even when a problem occurs in the server 430, the application programs A and B can be prevented from being affected. That is, even when the server 430 stops operating, it is possible to prevent the application programs A and B which are separate processes from being caught and stopped.

また、本発明の実施の形態では、複合機20側にサーバ500を設け、当該サーバ500によって複数のホストコンピュータ10−1,10−2からの要求を順次受け付けて処理するようにした。これにより、複数のホストコンピュータ10−1,10−2によって複合機20を共用することができるので、導入コストおよび設置スペースをさらに削減することが可能になる。   Further, in the embodiment of the present invention, the server 500 is provided on the multifunction machine 20 side, and the server 500 sequentially receives and processes requests from the plurality of host computers 10-1 and 10-2. Thereby, since the multi-function device 20 can be shared by the plurality of host computers 10-1 and 10-2, the introduction cost and the installation space can be further reduced.

4.変形実施の形態 4). Modified embodiment

なお、以上の実施の形態は、一例であって、これ以外にも種々の変形実施態様が存在する。例えば、以上の実施の形態では、2種類のアプリケーションプログラムA,Bの場合について説明したが、3種類以上のアプリケーションプログラムを利用することが可能である。   The above embodiment is merely an example, and there are various other modified embodiments. For example, in the above embodiment, the case of two types of application programs A and B has been described, but three or more types of application programs can be used.

また、以上の実施の形態では、2台のホストコンピュータ10−1,10−2が複合機20を共用する構成としたが、3台以上のホストコンピュータによって複合機20を共用する構成としてもよい。   In the above embodiment, the two host computers 10-1 and 10-2 share the multifunction device 20. However, the multifunction device 20 may be shared by three or more host computers. .

また、以上の実施の形態では、USBによってホストコンピュータ10−1,10−2と複合機20とを接続するようにしたが、例えば、ネットワーク(例えば、LAN(Local Area Network)等)によって、これらを接続するようにすることも可能である。その場合には、複合機20をネットワークに直接接続することも可能であるし、または、複合機20用のサーバコンピュータを設け、当該サーバコンピュータに複合機20を接続するとともに、当該サーバコンピュータをネットワークに接続するようにすればよい。   In the above embodiment, the host computers 10-1 and 10-2 and the multifunction device 20 are connected by USB. However, for example, these are connected by a network (for example, a LAN (Local Area Network) or the like). It is also possible to connect them. In that case, the multifunction device 20 can be directly connected to the network, or a server computer for the multifunction device 20 is provided, the multifunction device 20 is connected to the server computer, and the server computer is connected to the network. It should be connected to.

また、以上の実施の形態では、アプリケーションプログラムAは複合機20のプリンタを利用し、アプリケーションプログラムBは複合機20のスキャナを利用する設定としたが、これ以外の組み合わせであってもよい。具体的には、一例として、アプリケーションプログラムA,Bがプリンタとスキャナの双方を利用してもよい。そのような場合、例えば、アプリケーションプログラムA,Bから、プリンタの使用要求またはスキャナの使用要求が輻輳した場合には、これらの要求をサーバ430が調停するので、アプリケーションプログラムA,Bによってプリンタまたはスキャナを共用できる。   In the above embodiment, the application program A is set to use the printer of the multifunction device 20 and the application program B is set to use the scanner of the multifunction device 20. However, other combinations may be used. Specifically, as an example, the application programs A and B may use both a printer and a scanner. In such a case, for example, when a request for using a printer or a request for using a scanner is congested from the application programs A and B, the server 430 arbitrates these requests. Can be shared.

また、以上の実施の形態では、アプリケーションプログラムA,Bは独立して動作する構成としたが、例えば、これらが連携して動作するようにしてもよい。具体的には、例えば、いずれか一方のアプリケーションプログラムがスキャンの要求を行った場合、得られた読み取りデータを、双方のアプリケーションプログラムA,Bに並行して供給し、それぞれのアプリケーションプログラムA,Bにおいて所定の処理を実行するようにしてもよい。一例として、小切手を読み取って得られた読み取りデータを、アプリケーションプログラムAによって偽造でないか否かの認証処理をし、アプリケーションプログラムBによって登録処理するようにしてもよい。   In the above embodiment, the application programs A and B are configured to operate independently. However, for example, they may operate in cooperation with each other. Specifically, for example, when any one of the application programs makes a scan request, the obtained read data is supplied to both the application programs A and B in parallel, and the respective application programs A and B are supplied. A predetermined process may be executed in step (b). For example, the read data obtained by reading the check may be authenticated by the application program A and registered by the application program B.

また、以上の実施の形態では、複合機20はスキャナとプリンタの機能を有するようにしたが、これ以外の機能(例えば、コピー機能、FAX機能)を有するようにしてもよい。さらに、小切手に印刷されている磁気インク文字(MICR:Magnetic Ink Character Recognition)を読み込む読取機能を具備するようにしてもよい。   In the above embodiment, the multifunction machine 20 has the functions of the scanner and the printer. However, the multifunction machine 20 may have other functions (for example, a copy function and a FAX function). Furthermore, a reading function for reading a magnetic ink character (MICR) printed on a check may be provided.

本発明の実施の形態の情報処理システムの構成例である。It is a structural example of the information processing system of embodiment of this invention. 図1に示すホストコンピュータの詳細な構成例を示す図である。It is a figure which shows the detailed structural example of the host computer shown in FIG. 図1に示す複合機の詳細な構成例を示す図である。FIG. 2 is a diagram illustrating a detailed configuration example of a multifunction machine illustrated in FIG. 1. 従来の技術の動作の概略を説明するための図である。It is a figure for demonstrating the outline of operation | movement of a prior art. 本発明の実施の形態の動作の概略を説明するための図である。It is a figure for demonstrating the outline of operation | movement of embodiment of this invention. 本発明の実施の形態の詳細な動作を説明するための図である。It is a figure for demonstrating the detailed operation | movement of embodiment of this invention. オープンおよびクローズ処理を説明するフローチャートである。It is a flowchart explaining an open and close process. 図1に示す複合機のサーバの動作を説明するためのフローチャートである。3 is a flowchart for explaining the operation of the server of the multifunction machine shown in FIG. 1.

符号の説明Explanation of symbols

10 ホストコンピュータ(情報処理装置)、20 複合機、300 ドライバ(第2のドライバ、第2のドライバモジュール)、410,420 ドライバ(第1のドライバ、第1のドライバモジュール)、430 サーバ(制御手段、制御モジュール)、500 処理手段   DESCRIPTION OF SYMBOLS 10 Host computer (information processing apparatus), 20 MFP, 300 driver (2nd driver, 2nd driver module), 410,420 driver (1st driver, 1st driver module), 430 server (control means) , Control module), 500 processing means

Claims (6)

プリンタおよびスキャナとしての機能を少なくとも有する複合機と、複数のホストとが接続された情報処理システムにおいて、
上記ホストのそれぞれは、
上記複合機を利用する複数のアプリケーションプログラムのそれぞれに対応して設けられ、それぞれのアプリケーションプログラムとの間で情報の授受を行う第1のドライバと、
上記複合機との間で情報の授受を行う第2のドライバと、
上記第1のドライバと、上記第2のドライバの間に設けられ、上記複数のアプリケーションプログラムと、上記複合機との間における情報の授受の制御を行う制御手段と、を有し、
上記複合機は、
上記ホストから供給された情報を格納し、格納された情報を所定の順序に基づいて処理する処理手段を有する、
ことを特徴とする情報処理システム。
In an information processing system in which a multifunction device having at least functions as a printer and a scanner and a plurality of hosts are connected,
Each of the above hosts
A first driver that is provided corresponding to each of a plurality of application programs that use the multi-function peripheral, and that exchanges information with each application program;
A second driver for exchanging information with the multifunction device;
A controller provided between the first driver and the second driver, the plurality of application programs, and a control unit configured to control exchange of information with the multifunction peripheral;
The above multifunction machine
Processing means for storing information supplied from the host and processing the stored information based on a predetermined order;
An information processing system characterized by this.
前記制御手段は、前記複数のアプリケーションプログラムから前記複合機へのアクセス要求が輻輳した場合には、これらのアクセス要求に対する調停処理を実行することを特徴とする請求項1記載の情報処理システム。   The information processing system according to claim 1, wherein when the access requests from the plurality of application programs to the multi-function peripheral are congested, the control unit executes an arbitration process for the access requests. 前記制御手段は、前記複数のアプリケーションプログラムのいずれかにより第2のドライバが既にオープンされている場合には、他のアプリケーションプログラムからオープンの要求がなされた場合であってもオープン処理を実行せず、また、前記複数のアプリケーションプログラムのいずれかにより第2のドライバが使用されている場合には、他のアプリケーションプログラムからクローズの要求がなされた場合であってもクローズ処理を実行しないことを特徴とする請求項1記載の情報処理システム。   If the second driver has already been opened by any one of the plurality of application programs, the control means does not execute the opening process even when another application program requests opening. In addition, when the second driver is used by any one of the plurality of application programs, the closing process is not executed even when a closing request is made from another application program. The information processing system according to claim 1. 前記アプリケーションプログラムと、前記制御手段とは、異なるプロセス領域において実行されることを特徴とする請求項1記載の情報処理システム。   The information processing system according to claim 1, wherein the application program and the control unit are executed in different process areas. 前記制御手段は、前記複合機から供給された所定の情報については、要求を行った複数のアプリケーションプログラムに対して並行して当該情報を供給することを特徴とする請求項1記載の情報処理システム。   The information processing system according to claim 1, wherein the control unit supplies the predetermined information supplied from the multifunction peripheral in parallel to a plurality of application programs that have requested the information. . 前記処理手段は、前記ホストからの処理の要求が印刷要求である場合には印刷データを受信し、処理の順序が回ってきたときには当該印刷データに対する印刷処理を実行し、前記ホストからの要求がスキャン要求である場合には、処理の順序が回ってきたときに、要求を行ったホストに対してスキャンが可能になった旨を通知する、ことを特徴とする請求項1記載の情報処理システム。   The processing means receives print data when the processing request from the host is a print request, executes print processing for the print data when the processing order comes around, and the request from the host 2. The information processing system according to claim 1, wherein in the case of a scan request, when the order of processing comes, the host that has made the request is notified that scanning is possible. .
JP2007090973A 2007-03-30 2007-03-30 Information processing system Withdrawn JP2008250659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007090973A JP2008250659A (en) 2007-03-30 2007-03-30 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007090973A JP2008250659A (en) 2007-03-30 2007-03-30 Information processing system

Publications (1)

Publication Number Publication Date
JP2008250659A true JP2008250659A (en) 2008-10-16

Family

ID=39975533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007090973A Withdrawn JP2008250659A (en) 2007-03-30 2007-03-30 Information processing system

Country Status (1)

Country Link
JP (1) JP2008250659A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198823A (en) * 2011-03-22 2012-10-18 Fujitsu Ltd Sequence processing program, sequence processing device, and sequence processing method
JP2016139441A (en) * 2016-05-12 2016-08-04 ブラザー工業株式会社 Device control program and device control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198823A (en) * 2011-03-22 2012-10-18 Fujitsu Ltd Sequence processing program, sequence processing device, and sequence processing method
JP2016139441A (en) * 2016-05-12 2016-08-04 ブラザー工業株式会社 Device control program and device control method

Similar Documents

Publication Publication Date Title
US8861010B2 (en) Notifying a print client of an end of an image process on print data
US7382484B2 (en) Information processing apparatus and its control method
US6412022B1 (en) Simultaneous print and scan logical channel network multifunction peripheral
JP2002082806A (en) Device and method for forming image and program
JPH114335A (en) Image processing system, and coordinate operation control method for the image processing system
US20050275883A1 (en) Information processing apparatus and its control method
US20060082827A1 (en) Network printer to control a print queue and method thereof
JP5718305B2 (en) Image forming apparatus
JP2008250659A (en) Information processing system
JP2008250658A (en) Information processor and information processing program
JP2017067972A (en) Image forming apparatus and image forming method
JP2011015093A (en) Image forming apparatus, control method thereof and program
JP2007140952A (en) Distributed processing system and its processing method
JP4743597B2 (en) Image forming apparatus, image forming system, and image control apparatus
US8411302B2 (en) Printing system, printing apparatus and print control method therefor
JP2012165229A (en) Image forming method and image forming apparatus
US11829670B2 (en) Information processing apparatus and control method for information processing apparatus
JP2003219089A (en) Control apparatus for electronic device
JP5370065B2 (en) Image forming apparatus, image forming apparatus control method, and control program
JP2006309444A (en) Data processing system
JP2005304016A (en) Image forming device, method, and program
KR20130078473A (en) Image forming apparatus connectable to multiple hosts and method for controlling image forming job thereof
US20120072625A1 (en) Data processing apparatus capable of communicating with external device via a plurality of logical line, data processing system, data processing device storing data processing program, and device driver
JPH04233028A (en) Printer
JP2000122881A (en) Image forming device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100601