JP2008250659A - Information processing system - Google Patents
Information processing system Download PDFInfo
- 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
Links
Images
Abstract
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.
ところで、小切手に関する処理を実行するアプリケーションと、窓口業務に関する処理を実行するアプリケーションとは、別々の独立したプログラムであるため、それぞれのアプリケーションは他のアプリケーションの状態については全く考慮せずに動作するようにプログラムされている。 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
図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
ここで、CPU11は、ROM12およびHDD14に格納されているプログラムおよびデータに基づいて各種の演算処理を実行するとともに、装置の各部を制御する中央演算装置である。
Here, the
ROM12は、CPU11が実行する基本的なプログラムおよびデータを格納する半導体記憶装置である。RAM13は、CPU11が実行する対象となるプログラムおよびデータを一時的に格納する半導体記憶装置である。
The
HDD14は、磁気ディスクとしてのハードディスクに情報を書き込むとともに、書き込まれている情報を読み出す磁気記憶装置である。なお、HDD14には、OS(Operating System)141、および、AP(Application)プログラム142が格納されている。OS141は、I/F16に対する入出力制御を行うとともに、HDD14およびRAM13等の管理を行う。また、OS141は、複数のアプリケーションプログラムから共通して利用される基本的な機能を提供し、装置全体を管理するソフトウエアである。APプログラム142は、例えば、銀行における種々の業務を行うためのプログラムであり、この例では、窓口業務に関する処理を行うためのアプリケーションプログラムA(以下、適宜「apA」と略記する)142aと、小切手に関する処理を行うためのアプリケーションプログラムB(以下、適宜「apB」と略記する)142bとを有している。
The
画像処理部15は、CPU11から供給された描画命令に基づいて描画処理を実行し、得られた画像データを映像信号に変換して表示装置18に供給する。
The
I/F16は、入力装置19から供給された情報の表現形式を内部形式に変換して読み込むとともに、複合機20との間で情報を授受する際に、同様にして表現形式を変換する処理を実行する。なお、複合機20とI/F16との接続には、例えば、USB(Universal Serial Bus)を用いることができる。
The I /
バス17は、CPU11、ROM12、RAM13、HDD14、画像処理部15、および、I/F16を相互に接続し、これらの間で情報の授受を可能とするための信号線群である。
The
表示装置18は、例えば、LCD(Liquid Crystal Display)またはCRT(Cathode Ray Tube)モニタによって構成され、画像処理部15から供給された映像信号に対応する映像を図示せぬ表示部に表示する。
The
入力装置19は、例えば、キーボードまたはマウス等の入力デバイスであり、ユーザの操作に応じた情報を生成して出力する。
The
図3は、図1に示す複合機20の詳細な構成例を示すブロック図である。この図に示すように、複合機20は、メイン制御部21、入力部22、出力部23、プリント機構24、スキャン機構25、および、通信部26を主要な構成要素としている。
FIG. 3 is a block diagram showing a detailed configuration example of the
ここで、メイン制御部21は、入力部22またはホストコンピュータ10−1,10−2から供給された指令に基づいて、装置の各部を制御する制御部である。なお、メイン制御部21は、入出力制御部211、制御部212、メモリ213、画像処理部214、プリンタ制御部215、および、スキャナ制御部216を主要な構成要素としている。
Here, the
入出力制御部211は、入力部22および出力部23との間で情報を授受する際の制御を行う。また、入出力制御部211は、ホストコンピュータ10−1,10−2との間で情報の授受を行う際の制御を行う。制御部212は、メモリ213に格納されているプログラム213aに基づいて、装置の各部を制御する。
The input /
メモリ213は、例えば、半導体記憶装置によって構成されており、制御部212が実行するプログラムおよびデータを格納している。図3の例では、メモリ213は、プログラム213aを格納しており、制御部212は、プログラム213aに基づいて装置の各部を制御する。
The
画像処理部214は、例えば、ホストコンピュータ10−1,10−2から供給された画像データまたはスキャン機構25から供給された画像データに対して所定の画像処理を実行するための処理部である。
The
プリンタ制御部215は、プリント機構24を制御する制御部であり、制御部212から供給された印刷データに基づいて、記録ヘッド241、走査部242、および、用紙搬送部243を制御し、図示せぬ印刷用紙(例えば、ロール紙等)に対して印刷データを印刷する。
The
スキャナ制御部216は、スキャン機構25を制御する制御部であり、制御部212からの指令に応じて、光源251、受光部252、および、走査部253を制御し、図示せぬ原稿(例えば、小切手)に印刷されている情報を光学的にスキャンして対応する画像データを取得する。
The
入力部22は、装置のフロントパネルに設けられた操作ボタン等であり、ユーザの操作に応じて所定の情報を生成し、入出力制御部211に供給する。出力部23は、例えば、フロントパネルに設けられたLCDまたはLED(Light Emitting Diode)等であり、装置の内部の状態等をユーザに対して表示する。
The
プリント機構24は、記録ヘッド241、走査部242、および、用紙搬送部243を主要な構成要素としており、制御部212から供給された画像データを、図示せぬ印刷用紙に印刷する。ここで、記録ヘッド241は、例えば、CMYKに対応する各色のインクを複数のノズルから適宜吐出し、印刷用紙に対応する画像を印刷する。走査部242は、記録ヘッド241を主走査方向(記録ヘッド241に設けられた各色のインク列に直交する方向)に移動させる。用紙搬送部243は、印刷用紙を副走査方向(主走査方向に直交する方向)に移動させる。
The
スキャン機構25は、光源251、受光部252、および、走査部253を主要な構成要素としており、原稿(例えば、小切手)に印刷された画像を光学的に読み取って、対応する画像データを生成して出力する。ここで、光源251は、例えば、冷陰極管によって構成され、原稿の読み取ろうとする領域に対して白色光を照射する。受光部252は、光源251によって照射され、原稿によって反射された光を受光して対応する電気信号に変換するCCD(Charge Coupled Device)等によって構成される。走査部253は、受光部252を副走査方向(走査部253の長手方向に直交する方向)に移動させる。
The
通信部26は、例えば、USB等の規格に基づいて構成され、2台のホストコンピュータ10−1,10−2が接続され、これらとの間で情報を授受する。
The
つぎに、本発明の実施の形態の動作について説明する。以下では、まず、実施の形態の動作の概要を説明した後、詳細な動作について説明する。 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
図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
図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
ここで、第1のドライバとしてのドライバ410,420は、アプリケーションプログラムA,Bからの処理要求を受け付ける働きをし、制御対象である複合機20を制御する処理は実行しない、いわば、仮想的なドライバである。具体的には、ドライバ410は、アプリケーションプログラムAからの要求を受け付け、サーバ430に伝える処理を主に実行する。また、ドライバ420は、アプリケーションプログラムBからの要求を受け付け、サーバ430に伝える処理を主に実行する。なお、ドライバ410,420は、図4(B)のドライバ300と同様のインタフェースを有している。
Here, the
制御手段としてのサーバ430は、ドライバ410,420からの要求を受け付けるとともに、要求が輻輳した場合には調停処理を実行し、調停処理の結果に基づいて、当該要求に応じてドライバ300を排他的に制御する。
The
第2のドライバとしてのドライバ300は、図4(B)に示す従来のドライバ300と同様のドライバであり、サーバ430からの要求に応じて、複合機20を制御する。
A
一方、複合機20に設けられた制御手段としてのサーバ500は、ホストコンピュータ10−1,10−2から供給された要求を受信して格納するとともに、所定の順序に応じて格納された要求を処理する。
On the other hand, the
本発明の実施の形態では、アプリケーションプログラム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
また、アプリケーションプログラム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
ドライバ300は、サーバ430の制御に応じて、複合機20のプリント機構24またはスキャン機構25を制御し、印刷用紙に対して情報を印刷したり、原稿に印刷されている情報を画像データとして読み取り、要求を行ったアプリケーションプログラムに対して供給したりする。これにより、アプリケーションプログラムA,Bが複合機20に対して所定の処理を実行させることができる。
The
複合機20では、サーバ500によって、複数のホストコンピュータ10−1,10−2から受信した要求を格納し、所定の順序に基づいて順番に処理する。すなわち、サーバ500は、複数のホストコンピュータ10−1,10−2からの要求を調停する処理を実行する。このため、各ホストコンピュータ10−1,10−2では、複合機20が使用中であるか否かを考慮することなく、印刷またはスキャンの要求を行うことができる。
In the
このように本発明の実施の形態では、ドライバ410,420およびサーバ430を新たに設け、ドライバ410,420によってアプリケーションプログラムA,Bからの要求を受け付けるとともに、サーバ430によってこれらの要求を調停するようにしたので、一方のアプリケーションプログラムがデバイスを専有して他方のアプリケーションプログラムが動作できなくなったり、エラーが生じたりすることを回避できる。これにより、2つのアプリケーションプログラムA,Bを並行して動作させることが可能になることから、作業の効率を向上させることができる。
As described above, in the embodiment of the present invention, the
また、ドライバ410,420のインタフェースは、ドライバ300と同様のインタフェースを実装するようにしたので、アプリケーションプログラムA,Bに対して修正を加える必要がないため、新たな作業およびコストの発生を防止できる。
In addition, since the interfaces of the
さらに、複合機20側にも、サーバ500を設けるようにしたので、複数のホストコンピュータ10−1,10−2によって複合機20を共用することができる。このため、導入コストをさらに削減するとともに、設置スペースをさらに削減することができる。
Furthermore, since the
また、サーバ500は、ホストコンピュータ10−1,10−2から受信した要求を順番に処理する機能を有しているので、ホストコンピュータ10−1,10−2では、現在、複合機20が使用されているか否かを考慮することなく、印刷またはスキャンの要求を行うことができる。
Further, since the
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
この図に示すように、ドライバ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
ドライバ300は、図4(B)に示すドライバ300と同様の構成を有しており、また、ドライバ410,420と同様に、API301およびスレッド302を有している。
The
複合機20は、サーバ500を有している。このサーバ500は、図3に示す複合機20の電源が投入され、メモリ213に格納されているプログラム213aが起動された際に、複合機20の制御部212を初めとするハードウエア資源と、ソフトウエア資源としてのプログラム213aとが協働することにより実現される。
The
つぎに、電源が投入された際のホストコンピュータ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
つづいて、ユーザが、入力装置19を操作して、アプリケーションプログラムAを起動する指示をしたとすると、CPU11はHDD14からapA142aを読み出し、RAM13上に展開して実行する。これにより、アプリケーションプログラムAが起動されることになる。なお、このとき、CPU11は、ドライバ410をDLLとして読み出し、アプリケーションプログラムAに動的にリンクする。これにより、アプリケーションプログラムAとドライバ410とが起動される。なお、アプリケーションプログラムAとサーバ430とは異なるプロセス領域上において実行される。すなわち、アプリケーションプログラムAとサーバ430とは、マルチタスク処理における別々のプロセス(タスク)として管理される。
Subsequently, if the user operates the
このような状態において、ユーザが、入力装置19を操作し、アプリケーションプログラムAによって所定の処理を実行させた後、処理結果の情報を複合機20のプリント機構24によって印刷する指示を行ったとする。すると、アプリケーションプログラムAからの印刷要求は、ドライバ410を介して、サーバ430に供給される。サーバ430は、ドライバ300を制御し、複合機20との接続ポートをオープンの状態とする。
In this state, it is assumed that the user operates the
つぎに、アプリケーションプログラムAから出力された印刷データは、ドライバ410に供給される。ドライバ410は、通常のドライバと同様のインタフェースを有するとともに、ドライバの振りをするので、アプリケーションプログラムAは、従来と同様の処理により、印刷データを出力することができる。
Next, the print data output from the application program A is supplied to the
つづいて、ドライバ410は、アプリケーションプログラムAから供給された印刷データを、サーバ430に供給する。その時点では、アプリケーションプログラムAだけが起動されているので、サーバ430は要求の調停を行う必要がないことから、ドライバ410から供給された印刷データをドライバ300にそのまま供給する。ドライバ300は、サーバ430から供給された印刷データに対して、所定の処理(例えば、マイクロウィーブ処理等)を施した後、接続ケーブル30−1を介して複合機20に送信する。複合機20では、ホストコンピュータ10から供給された印刷データを通信部26が受信し、サーバ500が取得して処理待ち行列(不図示)に格納する。そして、例えば、サーバ500に格納された順番に基づいて、処理待ち行列に格納された要求が読み出されて実行される。
Subsequently, the
印刷要求が読み出されて実行されると、サーバ500は当該印刷データをプリンタ制御部215に供給する。プリンタ制御部215は、プリント機構24を制御して、印刷データを図示せぬ印刷用紙に印刷する。これにより、窓口業務に関する情報が印刷用紙に印刷されて出力される。そして、処理が終了すると、アプリケーションプログラムAは印刷の終了を指示するので、サーバ430は、ドライバ300を制御し、複合機20との接続ポートをクローズの状態とする。
When the print request is read and executed, the
なお、以上は、アプリケーションプログラムAが単独で実行された場合の動作の説明であるが、アプリケーションプログラムBが単独で実行された場合も同様の処理により、複合機20が制御される。
Although the above is a description of the operation when the application program A is executed alone, the
すなわち、アプリケーションプログラムBが起動されると、ドライバ420が動的にリンクされて起動される。そして、アプリケーションプログラムBから、例えば、小切手をスキャンする要求がなされた場合には、当該要求は、ドライバ420を介して、サーバ430に伝えられる。サーバ430は、アプリケーションプログラムBだけが起動された状態で、要求の輻輳は生じていないことから、複合機20との間の接続ポートを直ちにオープンの状態とする。また、このとき、スレッド422およびスレッド302には、スキャンが終了された場合にコールされるコールバック関数がそれぞれ登録される。また、複合機20では、スキャン要求が受信され、サーバ500の処理待ち行列に格納される。
That is, when the application program B is activated, the
このような状態において、サーバ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
そして、スキャン処理が完了すると、アプリケーションプログラムBはスキャンの終了を指示するので、サーバ430は、ドライバ300を制御し、複合機20との接続ポートをクローズの状態とする。
When the scan process is completed, the application program B instructs the end of the scan, so the
なお、以上は、ホストコンピュータ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
ところで、アプリケーションプログラム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
さらに、アプリケーションプログラムAおよびドライバ410と、アプリケーションプログラムBおよびドライバ420と、サーバ430とはそれぞれ異なるプロセス領域上において実行されるため、これらは独立して動作することができる。すなわち、アプリケーションプログラムAによってドライバ410が専有された状態であっても、サーバ430は独立して動作することができる。一方、アプリケーションプログラムBについても同様であり、アプリケーションプログラムBによってドライバ420が専有された状態であっても、サーバ430は独立して動作することができる。これにより、アプリケーションプログラムAおよびアプリケーションプログラムBの双方を同時に起動し、動作させることができる。
Furthermore, since application program A and
つぎに、ホストコンピュータ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
図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
ステップS11:サーバ430は、複合機20を制御するためのハンドルを格納する変数Handleに対して、Null(空)を格納する。
Step S11: The
ステップS12:サーバ430は、アプリケーションプログラムAまたはアプリケーションプログラムBからオープン要求がなされたか否かを判定し、要求がなされた場合にはステップS13に進み、それ以外の場合にはステップS18に進む。
Step S12: The
ステップS13:サーバ430は、変数Counterの値が、0より大きいか否かを判定し、大きい場合にはステップS16に進み、それ以外の場合にはステップS14に進む。変数Counterには、現在受け付けられているオープン要求の数が格納されている。したがって、Counterの値が0である場合には、初めてのオープン要求であるので、ステップS14に進み、それ以外の場合にはステップS16に進む。
Step S13: The
ステップS14:サーバ430は、ドライバ300を制御して、複合機20との接続ポートをオープンする処理を実行する。ここで、複合機20がホストコンピュータ10−1,10−2のそれぞれに対して異なる2つのポートを有している場合には、それぞれのポートに対するオープン処理が実行される。また、複合機20が有するポートが1つである場合には、他のホストコンピュータ10−2が既にオープンしている場合には、重ねてオープンすることができないので、その場合には「待ち」の状態となる。
Step S14: The
ステップS15:サーバ430は、ステップS14において、接続ポートをオープンする際に使用したハンドルを変数Handleに格納する。
Step S15: The
ステップS16:サーバ430は、Counterの値を1だけインクリメントする。
Step S16: The
ステップS17:サーバ430は、Handleに格納されているハンドルを、要求を行ったアプリケーションプログラムに対して返す。これにより、アプリケーションプログラムは、当該ハンドルを利用して、複合機20の制御が可能になる。
Step S17: The
ステップS18:サーバ430は、アプリケーションプログラムAまたはアプリケーションプログラムBからクローズ要求がなされたか否かを判定し、要求がなされた場合にはステップS19に進み、それ以外の場合にはステップS24に進む。
Step S18: The
ステップS19:サーバ430は、変数Counterの値を1だけデクリメントする。
Step S19: The
ステップS20:サーバ430は、変数Counterの値が0より大きいか否かを判定し、大きい場合にはステップS23に進み、それ以外の場合にはステップS21に進む。前述のように、変数Counterには、現在受け付けられているオープン要求の数が格納されている。したがって、Counterの値が0より大きい場合には、複合機20を利用しているアプリケーションプログラムが存在していることから、ステップS23に進み、それ以外の場合にはステップS21に進む。
Step S20: The
ステップS21:サーバ430は、ドライバ300を制御して、複合機20との接続ポートをクローズする処理を実行する。ここで、複合機20がホストコンピュータ10−1,10−2のそれぞれに対して異なる2つのポートを有している場合には、それぞれのポートに対するクローズ処理が実行される。また、複合機20が有するポートが1つである場合には、当該ポートに対するクローズ処理が実行され、他のホストコンピュータ10−2は、複合機20との間の接続ポートをオープンすることができる。
Step S21: The
ステップS22:サーバ430は、変数HandleをNullの状態にする。
Step S22: The
ステップS23:サーバ430は、要求を行ったアプリケーションプログラムに対して、クローズ要求の実行が終了したことを通知する。
Step S23: The
ステップS24:サーバ430は、処理を終了するか否かを判定し、終了しない場合にはステップS12に戻って同様の処理を繰り返し、それ以外の場合には処理を終了する。
Step S24: The
以上の処理によれば、複数のアプリケーションプログラムからサーバ430に対して、オープンの要求が重複してなされた場合、最初の要求に応じて接続ポートをオープンし、それ以降の要求に対してはオープン処理は実行しない。これにより、重複してオープン処理が実行されることを防止できる。また、クローズの要求が重複してなされた場合、利用中のアプリケーションプログラムが存在している場合にはクローズを実行せず、最後の1つのアプリケーションプログラムからの要求に応じて、クローズ処理を実行する。これにより、複合機20を利用しているアプリケーションプログラムが存在しているにも拘わらず、接続ポートがクローズされることを防止できる。
According to the above processing, when multiple open requests from a plurality of application programs are made to the
つぎに、いずれかのホストコンピュータにおいて起動された複数のアプリケーションプログラムから複合機20を利用する場合の動作について説明する。
Next, an operation when using the
以上のようにして、例えば、ホストコンピュータ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
このような場合、サーバ430は、ドライバ410,420を介してアプリケーションプログラムA,Bからの要求を受け付ける。そして、サーバ430は、これらの要求を、例えば、受け付け順に優先順位を付与し、当該優先順位にしたがって、要求に対応する処理を実行する。例えば、アプリケーションプログラムAからの印刷要求の方が先になされた場合には、アプリケーションプログラムAの要求の優先順位を高く設定し、アプリケーションプログラムBの要求の優先順位を低く設定する。そして、優先順位が高いアプリケーションプログラムAの要求に応じて、印刷データを受信して、ドライバ300を介して複合機20に印刷データを供給する。複合機20では、受信した印刷データをサーバ500が格納するとともに、印刷処理を実行する。全ての印刷データの受信が完了すると、アプリケーションプログラムAは処理が終了したとして、クローズの要求を行い、処理を完了する。なお、このとき、アプリケーションプログラムBが要求を行っていることから、接続ポートはクローズされない。
In such a case, the
つづいて、サーバ430は、つぎに優先順位が高いアプリケーションプログラムBの要求を受け付け、複合機20に対して、小切手に印刷された情報を読み込む処理を実行させる。その結果、アプリケーションプログラムBは、複合機20から読み取りデータを受信する。そして、受信が完了すると、アプリケーションプログラムBはクローズの要求を行い、処理を完了する。なお、このとき、他に要求を行っているアプリケーションプログラムが存在していないことから、接続ポートはクローズされる。
Subsequently, the
以上の処理によれば、いずれかのホストコンピュータ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
つぎに、図8を参照して、複合機20のサーバ500の動作について説明する。図8のフローチャートの処理が実行されると、以下のステップが実行される。
Next, the operation of the
ステップS40:サーバ500は、ホストコンピュータ10−1,10−2から処理の要求が有ったか否かを判定し、処理の要求が有った場合にはステップS41に進み、それ以外の場合にはステップS43に進む。例えば、ホストコンピュータ10−1から印刷要求があった場合にはステップS41に進む。
Step S40: The
ステップS41:サーバ500は、通信部26を介してホストコンピュータからの要求を受信する。例えば、いまの例では、ホストコンピュータ10−1からの印刷要求が受信される。
Step S41: The
ステップS42:サーバ500は、ステップS41で受信した要求を、受付順に処理待ち行列(不図示)に格納する。
Step S42: The
ステップS43:サーバ500は、処理待ち行列を参照し、待ち状態の処理要求が存在しているか否かを判定する。その結果、待ち状態の処理要求が存在している場合にはステップS44に進み、それ以外の場合にはステップS46に進む。
Step S43: The
ステップS44:サーバ500は、待ち状態となっている処理要求を、処理待ち行列から取得するとともに、当該要求を処理待ち行列から削除する。なお、このとき、先着順に処理待ち行列から要求を取得する。いまの例では、処理待ち行列からホストコンピュータ10−1からの印刷要求が取得される。
Step S44: The
ステップS45:サーバ500は、要求に対応する処理を実行する。いまの例では、ホストコンピュータ10−1からの印刷要求に基づく印刷処理が実行される。
Step S45: The
ステップS46:サーバ500は、処理を終了するか否かを判定し、処理を終了しない場合にはステップS40に戻って同様の処理を繰り返し、それ以外の場合には処理を終了する。例えば、装置の電源が切られた場合には処理を終了し、それ以外の場合にはステップS40に戻って同様の処理を繰り返す。
Step S46: The
以上の処理によれば、複数のホストコンピュータ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
以上に説明したように、本発明の実施の形態によれば、仮想的なドライバ410,420を設けるとともに、サーバ430を設けるようにしたので、複数のアプリケーションプログラムを同時に起動することが可能になる。
As described above, according to the embodiment of the present invention, since the
また、本発明の実施の形態によれば、複数のアプリケーションプログラムからオープンまたはクローズの要求がなされた場合には、これらの回数をカウントして、カウント結果に応じてオープンまたはクローズ処理を実行するようにしたので、オープン処理を重ねて行ったり、複合機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
また、本発明の実施の形態によれば、サーバ430によって、複数のアプリケーションプログラムからの要求を調停するようにしたので、複数の要求が輻輳した場合であっても、複合機20を正常に利用することができる。
Further, according to the embodiment of the present invention, requests from a plurality of application programs are arbitrated by the
また、本発明の実施の形態によれば、アプリケーションプログラム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
また、本発明の実施の形態では、複合機20側にサーバ500を設け、当該サーバ500によって複数のホストコンピュータ10−1,10−2からの要求を順次受け付けて処理するようにした。これにより、複数のホストコンピュータ10−1,10−2によって複合機20を共用することができるので、導入コストおよび設置スペースをさらに削減することが可能になる。
Further, in the embodiment of the present invention, the
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
また、以上の実施の形態では、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
また、以上の実施の形態では、アプリケーションプログラム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
また、以上の実施の形態では、アプリケーションプログラム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
10 ホストコンピュータ(情報処理装置)、20 複合機、300 ドライバ(第2のドライバ、第2のドライバモジュール)、410,420 ドライバ(第1のドライバ、第1のドライバモジュール)、430 サーバ(制御手段、制御モジュール)、500 処理手段
DESCRIPTION OF
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.
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)
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 |
-
2007
- 2007-03-30 JP JP2007090973A patent/JP2008250659A/en not_active Withdrawn
Cited By (2)
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 |