JP4082212B2 - Distributed printing system, distributed printing method and program - Google Patents

Distributed printing system, distributed printing method and program Download PDF

Info

Publication number
JP4082212B2
JP4082212B2 JP2002380625A JP2002380625A JP4082212B2 JP 4082212 B2 JP4082212 B2 JP 4082212B2 JP 2002380625 A JP2002380625 A JP 2002380625A JP 2002380625 A JP2002380625 A JP 2002380625A JP 4082212 B2 JP4082212 B2 JP 4082212B2
Authority
JP
Japan
Prior art keywords
printing
terminal
terminals
printer
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002380625A
Other languages
Japanese (ja)
Other versions
JP2004213231A (en
Inventor
英二 波多野
勝紀 筒見
隆保 渡辺
恒治 田村
幸博 新堂
誠 津留見
直樹 福本
洋行 水越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2002380625A priority Critical patent/JP4082212B2/en
Publication of JP2004213231A publication Critical patent/JP2004213231A/en
Application granted granted Critical
Publication of JP4082212B2 publication Critical patent/JP4082212B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、複数の印刷装置の負荷分散および稼動台数の制御を行う分散印刷システム、分散印刷方法及びプログラムに関する。
【0002】
【従来の技術】
従来、複数のプリンタ(印刷装置)を複数の端末で共用している場合には、サーバ側で使用を許可した全てのプリンタの中から各端末が任意のプリンタを選択して使用するのが一般的であった。この場合は各端末のユーザが任意のプリンタを選択するので特定のプリンタに負荷が集中することは避けられなかった。
そこで、特定のプリンタに負荷が集中することを避けるために、プリンタを共有して使用するグループをプリンタに対応付けて設定することにより、そのグループに属する端末ユーザだけが設定されたプリンタを使用できるようにし、例えば、プリンタAはあるグループ内の複数の端末ユーザだけが使用し、プリンタBは他のグループの端末ユーザだけが使用するといった運用を行うセキュリティ機能を組み込んだオペレーティングシステムがマイクロソフト社から提供されている。しかし、この場合は指定されたプリンタに印刷処理が集中した時でも、端末ユーザは他のプリンタを使用できないので、指定されたプリンタに先に投入された印刷データの印刷処理が終了するまで待たされるという問題があった。
また、プリンタの負荷を分散させる他の方法として、プリンタの動作能力に応じて出力するプリンタを振り分けて分配数を決めることが知られている(例えば、特許文献1を参照。)。
【0003】
【特許文献1】
特開2000−151873号公報
【0004】
【発明が解決しようとする課題】
しかしながら、プリンタ毎に使用を許可するグループやユーザの設定をするのは、設定内容を決めるのが難しく手間もかかる作業である。
さらにプリンタの負荷が均等になるように意図して設定したとしても、端末の接続状態は変動しているので接続状態によって負荷が偏る恐れがある。
また、接続している端末が少ない場合でも、全てのプリンタが稼動できる状態なので各々のプリンタが印刷データを受信する度にウォームアップして少ない枚数を印刷してはスリープモードに入るという動作を繰り返すことになり、ウォームアップ時に無駄な電力を使うしプリンタも消耗しやすいという問題があった。
【0005】
本発明は上記実状に鑑みてなされたもので、プリンタ毎の負荷が分散するように端末毎に印刷可能なプリンタを自動割り当てし、プリンタの稼動台数が最少となるように制御する分散印刷システムを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明に係わる分散印刷システムは、印刷装置1台に割り当てる端末の限度台数を記憶した端末台数記憶手段と、前記印刷データの印刷を要求する複数の端末を前記端末台数記憶手段に記憶された前記限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てる割当手段と、を備えたことを特徴とする。
【0007】
このような構成によれば、ネットワークに接続中の端末を対象として、プリンタ毎の負荷が分散するように端末を自動的に割り当てるので、プリンタの設定のための煩雑な作業が不要となり、さらに端末のユーザが任意のプリンタを選択する場合に発生する特定のプリンタに負荷が集中する事態も防げる。
また、接続中の端末台数とプリンタ1台当りの端末の限度台数を基に使用可能なプリンタ台数を決定し、各端末に決定された台数のプリンタを割り当てることによりネットワークに接続されたプリンタの一部を休止させるので、無駄な電力の消費を減少させ、プリンタの消耗を防ぎ、騒音を減少させる効果が得られる。
【0008】
更に、本発明の分散印刷システムは、前記割当手段による割り当ての実行を開始する時間データを記憶する時間データ記憶手段を備えるようにしてもよい。
こうすることにより、端末の接続要求/切断要求の都度、割り当てを行うのではなく、予め設定された一定時間が経過した時点で割り当てを行うので、端末で使用している印刷装置が頻繁に変更になるのを防ぐことができるので、利用者にとって利便性が増す。
【0009】
また、本発明の分散印刷システムは、更に、前記複数の端末に印刷許可されている印刷装置と前記複数の端末に割り当てた印刷装置とが一致するか否かを判別する割当結果判別手段を備え、前記割当手段は、前記割当結果判別手段により印刷許可されている印刷装置と割り当てした印刷装置とが不一致と判別された端末について、割り当てされた印刷装置を端末間で入れ替えることにより端末に既に割り当てられて使用されている印刷装置の変更が最少となるように割り当てを行うようにしてもよい。
こうすることにより、割り当ての処理をした結果、端末で使用している印刷装置が変更になったとしても、入れ替え処理により印刷装置の変更を最少にできるので端末で使用している印刷装置が頻繁に変更になるのを防ぐことができ、利用者にとって利便性が増す。
【0010】
更に、本発明に係わる分散印刷方法は、印刷装置1台に割り当てる端末の限度台数を記憶し、前記印刷データの印刷を要求する複数の端末を前記記憶された限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てるようにしたことを特徴とする。
【0011】
更にまた、本発明に係わるプログラムは、前記印刷データの印刷を要求する複数の端末データを端末接続状態記憶手段に記憶させる処理と、前記端末台数記憶手段に記憶された印刷装置1台に割り当てる端末の限度台数データに基づき前記端末接続状態記憶手段に記憶された複数の端末データを前記限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てる処理と、をコンピュータに行わせるためのプログラムであることを特徴とする。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態に関して図面を参照して説明する。
【0013】
図1は本発明の実施の形態によるネットワーク全体の構成図である。このネットワーク全体は通信ネットワーク5に接続されたサーバ1、端末2−1〜2−n(以下、夫々の端末を端末2と略称する)、プリンタ3−1〜3−m(以下、夫々のプリンタをプリンタ3と略称する)、サーバ1にローカル接続されたプリンタ4−L1、4−L2(以下、夫々のプリンタをプリンタ4と略称する)から構成される。
【0014】
通信ネットワーク5は、例えば電話回線やLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどであり、サーバ1と端末2及びプリンタ3との間でデータを送受信させるものである。なお、本実施の形態では、通信ネットワーク5としてLANが用いられているものとする。
サーバ1は通信ネットワーク5を介して端末2からの接続要求/切断要求を受け取り、詳細は後述するが接続している端末2の台数と予め登録されているプリンタ1台当りの最適な端末台数を元にその時点で使用してよいプリンタの台数を算出し、その結果によりプリンタの割り当てを行う。
【0015】
端末2は、例えば、パソコン、PDA等の携帯情報端末、携帯電話等の移動体通信端末などであり、通信によるデータ送受信が可能な情報端末である。接続要求/切断要求及び印刷すべきファイル(後述するスプールファイル24)をサーバ1に送信する。
プリンタ3は、サーバ1からのプリントファイル(後述するプリントファイル18)を受信して印刷処理を行う。
プリンタ4はプリンタケーブルやUSB(Universal Serial Bus)ケーブル等でサーバ1にローカル接続され、サーバ1からのプリントファイル(後述するプリントファイル18)を受信して印刷処理を行う。
【0016】
図2は図1のサーバ1の構成を示すブロック図である。
サーバ1はサーバモジュール10、割当管理モジュール11、出力モジュール12及びプリンタ制御モジュール(OS)13からなるソフトウェア群と、出力先テーブル14、端末接続テーブル15、割当条件定義ファイル16、割当ファイル17及びプリントファイル18からなるファイル群から構成されている。
まず、ファイル群14乃至18について説明する。
【0017】
出力先テーブル14は、前記通信ネットワーク5およびサーバ1に接続されているプリンタ3、4の定義データを予め記憶するものである。即ち図4に示すようにそのプリンタの定義データとして連番を記憶する「No.」メモリ141、プリンタの識別名を記憶する「プリンタ名」メモリ142、プリンタが使用中(値:1)か非使用(値:0)かの使用状態値を記憶する「使用状態」メモリ143、プリンタの通信ネットワーク5上の論理的なアドレスを記憶するIP(Internet Protocol)アドレスまたはローカルのアドレスを記憶する「アドレス」メモリ144、プリンタの種類を記憶する「種類」メモリ145、メーカ名を記憶する「メーカ名」メモリ146、機種名を記憶する「機種名」メモリ147及び印刷速度を記憶する「印字速度」メモリ148からなっている。
【0018】
端末接続テーブル15は、図5に示すように通信ネットワーク5に接続された端末2の接続状態を表すデータを記憶するものであり、図5に示すように連番を記憶する「No.」メモリ151、端末2のIPアドレスを記憶する「端末IP」メモリ152、端末2が接続中(値:1)か切断(値:0)かの接続状態値を記憶する「接続状態」メモリ153、割り当てされているプリンタを記憶する「割当」メモリ154、再割り当てしたプリンタを記憶する「再割当」メモリ155、及び再割当の内容と割当の内容との比較結果が一致した(値:0)か、不一致で「割当」メモリ154のプリンタ名が「再割当」メモリ155のいずれかに用いられている(値:1)か、あるいは不一致で「割当」メモリ154のプリンタ名が「再割当」メモリ155のいずれにも用いられていない(値:2)かの値を記憶する「再割当結果」メモリ156からなっている。
【0019】
割当条件定義ファイル16は、図6(a)示すようにプリンタを割り当てる時の各種の条件を記憶するものである。そのデータとしてプリンタ1台当りの最適な端末台数が記憶された最適端末台数NTaメモリ161、割り当て処理の間隔時間メモリ162、割り当て処理の日時メモリ163および割り当て処理の曜日・時間メモリ164からなっている。
【0020】
割当ファイル17は、端末2に対して使用を許可するプリンタを指示するデータを記憶するものであり、図6(b)に示すようにプリンタの識別名を記憶する「プリンタ名」メモリ171、プリンタが使用中(印刷許可)か非使用かの使用状態値を記憶する「使用状態」メモリ172及びプリンタの通信ネットワーク5上の論理的なアドレスを記憶するIPアドレスまたはローカルのアドレスを記憶する「アドレス」メモリ173からなっている。
【0021】
プリントファイル18は、印刷すべきデータを受信して、プリンタの機種に合わせたデータフォーマットに変換して格納しておくものである。
【0022】
次に、図2のソフトウェア群10乃至13について説明する。
サーバモジュール10は、端末2からの接続要求/切断要求を受信して、端末接続テーブル15の受信した端末2に対応する接続状態、即ち「接続状態」メモリ153の値を接続要求/切断要求に応じて更新するほか、割当ファイル17を端末2に送信する等の各種のデータの送受信を行う。また、割当管理モジュール11や出力モジュール12との同期をとる。
【0023】
割当管理モジュール11は、詳細は後述するが出力先テーブル14に登録された「プリンタ名」メモリ142のプリンタ名データを端末接続テーブル15の「割当」メモリ154又は「再割当」メモリ155に均等に割り当てをして設定すると共に、端末2別に割当ファイル17を生成する。また、端末接続テーブル15の「割当」メモリ154又は「再割当」メモリ155に記憶された端末毎に割り当てられたプリンタ名のデータを、端末2の接続状態が変化した時点で再割り当てを行うことにより、プリンタの稼動台数を制御する。
【0024】
出力モジュール12は、サーバモジュール10が端末2から受信したスプールファイル24を、出力するプリンタのアドレスを指示し、出力するプリンタの機種に合わせたデータフォーマットに変換するためのパラメータ情報を付加してプリンタ制御モジュール(OS)13に送信する。
【0025】
プリンタ制御モジュール(OS)13は、受信したスプールファイル24とパラメータ情報を元にプリントファイル18を生成し、そのプリントファイル18の出力先がネットワークに接続されたプリンタの場合はサーバモジュール10を経由してプリンタ3に送信し、出力先がローカル接続されたプリンタの場合はプリンタ4に直接送信する。
【0026】
図3は端末2の構成を示すブロック図である。
端末2はアプリケーション20、プリントAPI(Application Program Interface)21及び端末モジュール22からなるソフトウェア群と、割当ファイル23及びスプールファイル24からなるファイル群から構成されている。
【0027】
割当ファイル23は、サーバ1から受信した割当ファイル17をそのまま格納したものである。
スプールファイル24は、プリントAPI21がアプリケーション20の要求により生成するもので、プリンタの識別名等のヘッダーデータおよびプリンタの機種に依存しないデータフォーマットのプリントデータから構成される。
アプリケーション20は、ユーザ任意のアプリケーションでよく、プリントAPI21に対して印刷出力を要求する。
プリントAPI21は、アプリケーション20から印刷出力の要求を受けて、割当ファイル23で指定されたプリンタへ出力するためのスプールファイル24を生成する。
端末モジュール22は、サーバ1に対して端末のIPアドレスと共に接続要求/切断要求を送信する。また、サーバモジュール10から割当ファイル17を受信して割当ファイル23として格納し、プリントAPI21と連係してスプールファイル24をサーバモジュール10へ送信する。
【0028】
次に、本発明のサーバ1が端末2に対して使用を許可するプリンタの割り当て制御処理全体の流れを説明するが、その前に、プリンタの割り当て制御処理の概要として端末接続テーブル15の「接続状態」メモリ153の値と出力先テーブル14の「使用状態」メモリ143の値との関連について説明する。図7(a)の割り当て状態1を例にすると、端末23台が全て接続中でプリンタ4台が全て使用中となっている。端末とプリンタの対応関係は端末のNo.1〜4にプリンタのNo.1〜4が順次対応付けられ、端末のNo.5〜8にプリンタのNo.1〜4が再び対応付けられ、以降端末のNo.23まで同様に対応付けられている。その結果として、プリンタ1台当りの端末台数が均等化している。
【0029】
図7(b)の割り当て状態2の例では、端末23台のうち15台が接続中でプリンタ4台のうち3台が使用中となっている。これは図7(a)の割り当て状態1から接続中の端末が減少したので使用するプリンタを削減した例となっている。端末とプリンタの対応関係はプリンタがNo.3まで割り当てられていたのでプリンタのNo.4から順に割り当てられる。すなわち、端末のNo.1、3、5にプリンタのNo.4、1、2がそれぞれ対応付けられ、端末のNo.8、9、10にプリンタのNo.4、1、2が再び対応付けられ、以降端末のNo.22まで同様に対応付けられている。
【0030】
尚、端末接続テーブル15においては図8(a)に示すように端末接続テーブル15の先頭の行、即ちNo.1の端末に関連するデータが記憶されている行のアドレスをTs、最後の端末(No.n1)に関連するデータが記憶されている行のアドレスをTe、アドレスTs及びTe間において現在アドレス指定されている行のアドレスをTとする。同様に出力先テーブル14においては図8(b)に示すように出力先テーブル14の先頭の行、即ちNo.1のプリンタに関連するデータが記憶されている行のアドレスをPs、最後のプリンタ(No.n2)に関連するデータが記憶されている行のアドレスをPe、アドレスPs及びPe間において現在アドレス指定されている行のアドレスをPとする。
【0031】
次に、サーバ1におけるプリンタの割り当て制御処理全体の流れを図9を参照して説明する。
処理全体の制御はサーバモジュール10と割当管理モジュール11とが連係して行う。
まず、ステップS1(以降S1と記す)でサーバモジュール10が端末2からの接続要求または切断要求をIPアドレスと共に受信すると、端末接続テーブル15を参照し要求のあった端末2のIPアドレスが登録されているか否かを確認する(S2)。S3ではIPアドレスが登録済みか否かの確認結果および接続要求または切断要求かを判別してS4、S5、S6のいずれかの処理に分岐させる。判別結果が未だ登録されていない端末2からの接続要求であれば、S4に進み接続要求してきた端末2が新規の端末2であるとして、新たな領域を新アドレスTとして指定してIPアドレスを書き込み、端末接続テーブル15に追加する。また、S3で判別結果が登録済みの端末2からの接続要求の場合は、更にアドレスTが示す該当する端末の「接続状態」メモリ153の値を“接続中”に更新する(S5)。S3で判別結果が登録済みの端末2からの切断要求の場合は、アドレスTが示す該当する端末2の「接続状態」メモリ153の値を“切断”に設定し(S6)、S8に進む。S4またはS5の処理の後、接続要求のあった端末2へ使用を許可するプリンタ名を通知するためにS7の追加割り当て処理を行う。
【0032】
図10は前記S7の追加割り当て処理の詳細な処理内容である。
まず、図5の端末接続テーブル15の現アドレスTが示している端末2の行に該当する「割当」メモリ154に、図4の出力先テーブル14の現アドレスPが示しているプリンタの行に該当する「プリンタ名」メモリ142の値を書き込む(S11)。これによりプリンタを1台割り当てたので出力先テーブル14の現アドレスPを次に進める(S12)。S13で現アドレスPが終端アドレスPeを超えたか否かを判別する。S13で判別結果がYesならば、現アドレスPを先頭アドレスPsに戻す(S14)。S13で判別結果がNoの場合は、S15に進む。S15では割り当てたプリンタを接続要求のあった端末に通知するために割当ファイル17を生成し、生成した割当ファイル17をその端末に送信して追加割り当て処理を終了する。
図9に戻り、S8では端末2の接続状態によってプリンタの台数を増減させて、各端末2にプリンタを割り当てる割り当て処理を行う。
【0033】
ここで、図11に前記S8の割り当て処理の詳細な処理内容を示す。
この割り当て処理は割当管理モジュール11が行う。
まず、端末接続テーブル15に登録されている全ての端末の「接続状態」メモリ153の値を参照して、「接続状態」メモリ153の値が“接続中”となっている端末台数NTnを算出する(S22)。次に、出力先テーブル14に登録されている全てのプリンタの「使用状態」メモリ143の値を参照して、「使用状態」メモリ143の値が“使用中”となっている端末台数NPnを算出する(S23)。このあと、現時点の端末2の接続状態における最適なプリンタ台数を示す最適割当台数NPaの算出処理(S24)を行う。
【0034】
ここで、図12に前記S24の最適割当台数NPaの算出処理の詳細な処理内容を示す。
まず、出力先テーブル14に登録されている全てのプリンタの台数である総プリンタ台数NPtを算出する(S31)。次に、カウンタNに接続中の端末台数NTnを代入し(S32)、求めようとしている最適割当台数NPaの初期値として1を代入する(S33)。
プリンタ1台当りの最適な端末台数を示す最適端末台数NTaが予め設定されているので、S34ではNが最適端末台数NTaよりも大か否かを判別する。S34の判別結果がYesならば、Nから最適端末台数NTaを減算してその結果をNに代入する(S35)。S36では最適端末台数NPaが総プリンタ台数NPtより小か否かを判別する。S36の判別結果がYesならば、最適割当台数NPaの値を1つカウントアップさせてS34に戻り上述の処理を繰り返す(S37)。S34で判別結果がNoの場合及びS36で判別結果がNoの場合は、最適割当台数NPaの算出処理を終了する。
【0035】
上述した最適割当台数NPaの算出処理を、例えば図7(a)の割り当て状態1から図7(b)の割り当て状態2に変化する例に当てはめてみると、図7(b)の割り当て状態2における総プリンタ台数NPtが4台、接続中の端末台数NTnが15台、最適端末台数NTaが6台なので最適割当台数NPaが3台として算出される。図7(a)の割り当て状態1では最適割当台数NPaが4台だったので、この処理の結果1台削減されることになる。
【0036】
図11に戻り、S25では使用中の端末台数NPnと最適割当台数NPaとを比較し、使用中の端末台数NPnと最適割当台数NPaとが一致しない場合はS26〜S29の一連の再割り当ての処理に進み、一致する場合は再割り当てが不要なので割り当て処理を終了する。
S26では端末接続テーブル15の「再割当」メモリ155の内容を端末の接続状態に合わせて更新する再割り当ての出力処理を行う。
【0037】
ここで、図13に前記S26の再割り当ての出力処理の詳細な処理内容を示す。再割り当ての出力処理では端末接続テーブル15に登録されている端末のうち「接続状態」メモリ153の値が“接続中”の端末について順次、出力先テーブル14に登録されているプリンタのうち最適割当台数NPaと等しい台数のプリンタを用いて割り当てを繰り返し行う。
【0038】
まず、先頭の端末から終端の直前の端末まで順次処理を進めてゆくので、端末接続テーブル15の現アドレスTを先頭アドレスTsに設定する(S41)。次に、現時点で割り当てようとしているプリンタを示している出力先テーブル14の現アドレスPをセーブしておく(S42)。続いて、最適割当台数NPaをカウンタNに設定して(S43)、端末接続テーブル15の「再割当」メモリ155の値を端末の接続状態に合わせて更新するS44〜S56の処理に進む。
【0039】
S44では端末接続テーブル15の「接続状態」メモリ153の値が“接続中”か否かを判別する。S44で判別結果がYesならば、端末接続テーブル15の「再割当」メモリ155の値に出力先テーブル14の現アドレスPが示している「プリンタ名」メモリ142の値を設定して(S45)、S47に進む。S44で判別結果がNoの場合は、端末接続テーブル15の「再割当」メモリ155の値をクリアする(S46)。S47では端末接続テーブル15の現アドレスTを次の行に進め、端末接続テーブル15の現アドレスTが終端アドレスTeを超えていないか否かを判別する(S48)。S48で判別結果がNoならば以下のS49〜S55の処理を行った後にS44へ戻る処理を繰り返す。
【0040】
S49ではNから1を減算してその結果をNに代入する。減算の結果、Nが「0」か否かを判別し(S50)、判別結果がYesならば再度Nに最適割当台数NPaを設定し(S51)、出力先テーブル14の現アドレスPをセーブしておいた値に戻す(S52)。S50で判別結果がNoの場合は、出力先テーブル14の現アドレスPを次の行に進める(S53)。S54で出力先テーブル14の現アドレスPが終端アドレスPeを超えたか否かを判別する。S54で判別結果がYesならば、現アドレスPを先頭アドレスPsに設定して(S55)、S44に戻る。S54で判別結果がNoの場合はそのままS44に戻る。
S48で判別結果がYesの場合は、出力先テーブル14の現アドレスPをセーブしておいた値に戻して(S56)、再割当の出力処理を終了する。
【0041】
上記の再割当の出力処理の結果、図7の(a)割り当て状態1から(b)割り当て状態2に接続状態が遷移した場合は、端末接続テーブル15の「再割当」メモリ155の値は図5に示すようになる。すなわち、割り当てされたプリンタが4台から3台に減少し、プリンタ名が“PRT3”のプリンタは休止状態になる。
【0042】
図11のS27に戻り、端末接続テーブル15の「再割当結果」メモリ156の値を出力する再割当結果の出力処理を行う。
S27では端末接続テーブル15の各行について「割当」メモリ154のプリンタ名と「再割当」メモリ155のプリンタ名とを比較し、その比較結果を判別して「0」、「1」、「2」に分類し「再割当結果」メモリ156の値として設定する。「再割当結果」メモリ156の値は、「割当」メモリ154のプリンタ名と「再割当」メモリ155のプリンタ名とが一致した場合は「0」、「割当」メモリ154のプリンタ名と「再割当」メモリ155のプリンタ名とが不一致で、「割当」メモリ154のプリンタ名が「再割当」メモリ155のいずれかに用いられている場合は「1」、「割当」メモリ154のプリンタ名と「再割当」メモリ155のプリンタ名とが不一致で、「割当」メモリ154のプリンタ名が「再割当」メモリ155のいずれにも用いられていない場合は「2」、がそれぞれ設定される。「1」は再割り当てした結果も現在使用しているプリンタが継続して使用されることを意味し、「2」は再割り当てにより現在使用しているプリンタが使用されなくなったか、あるいは新たなプリンタが使用されるようになったことを意味する。
【0043】
図7(a)の割り当て状態1から図7(b)の割り当て状態2に接続状態が遷移した場合は、端末接続テーブル15の「再割当結果」メモリ156の値は図5に示すようになる。「再割当結果」メモリ156の値のうちカッコで併記されているのは後述する再割当の入れ替え処理を行った結果の内容を示している。
S28では「再割当結果」メモリ156の内容を判別し、再割り当ての結果により使用しているプリンタが変更になることを極力避けるために、すなわち、「再割当結果」メモリ156の「1」や「2」の値の数が最小となるようにするために、端末接続テーブル15の「再割当」メモリ155のプリンタ名を行間で入れ替える再割当の入れ替え処理を行う。
【0044】
ここで、図14に前記S28の再割当の入れ替え処理の詳細な処理内容を示す。この再割当の入れ替え処理は端末接続テーブル15の「再割当結果」メモリ156の値が「1」となっている端末に着目し、その端末と「再割当結果」メモリ156の値が「1」または「2」の端末の「再割当」メモリ155の内容を入れ替えて「再割当結果」メモリ156の値を「0」にする処理を順次繰り返し行うものである。
【0045】
まず、先頭の端末から終端の直前の端末まで順次処理を進めてゆくので、端末接続テーブル15の現アドレスTを先頭アドレスTsに設定する(S61)。
S62では現アドレスTが示す行の「再割当結果」メモリ156の値が「1」か否かを判別する。S62で「再割当結果」メモリ156の値が「1」と判別されると、入れ替えの対象となる行を探索するために、先頭アドレスTsを入れ替え対象のアドレスT2に設定する(S63)。
【0046】
S64で入れ替え対象のアドレスT2が示す行の「再割当結果」メモリ156の値が「1」または「2」か否かを判別する。S64の判別結果がYesであれば、現アドレスTが示す行の「再割当」メモリ155のプリンタ名と入れ替え対象のアドレスT2が示す行の「再割当」メモリ155のプリンタ名とを仮に入れ替えてみる(S65)。入れ替えた結果、現アドレスTが示す行の「割当」メモリ154のプリンタ名と同じ行の「再割当」メモリ155のプリンタ名とが一致するか否かを判別し(S66)、判別結果がYesであれば次のS67〜S69の処理を行い「再割当」メモリ155のプリンタ名を入れ替える。
【0047】
S67では現アドレスTが示す行の「再割当」メモリ155のプリンタ名と入れ替え対象のアドレスT2が示す行の「再割当」メモリ155のプリンタ名とを入れ替える。続けて、現アドレスTが示す行の「再割当結果」メモリ156の値を「0」に設定し(S68)、入れ替え対象のアドレスT2が示す行の「再割当結果」メモリ156を入れ替えた結果の値で更新して(S69)、S72に進める。
【0048】
S66の判別結果がNoの場合は、S70で対象のアドレスT2を次の行に進める。S70により入れ替え対象のアドレスT2を次の行に進めた結果、入れ替え対象のアドレスT2が終端アドレスTeを超えたかを判別し(S71)、S71の判別結果がYesであればS72に進める。S71で判別結果がNoの場合はS64に戻り、入れ替え対象を変えてS64〜S71の処理を繰り返す。
S64で判別結果がNoの場合もS70に進む。
【0049】
S72では現アドレスTを次の行に進める。S72により現アドレスTを次の行に進めた結果、現アドレスTが終端アドレスTeを超えたかを判別し(S73)、S73の判別結果がNoであればS62に戻る。そして次の「再割当結果」メモリ156の値が「1」の行を見つけるS62〜S71の処理を繰り返す。S73で判別結果がYesであれば再割当の入れ替え処理を終了する。
【0050】
上記の再割当の入れ替え処理を行った結果、図5の端末接続テーブル15の「再割当」メモリ155と「再割当結果」メモリ156の値がカッコを付けて示したようになる。この例では6台の端末2の「再割当結果」メモリ156の値が「1」から「0」になっている。
【0051】
図11のS29に戻り、割当ファイルの送信をする処理を行う。
S29ではS28までの処理により端末接続テーブル15の「再割当」メモリ155のプリンタ名が決定したので、各端末2に使用を許可するプリンタ名を通知する処理を行う。使用しているプリンタ名が変更される端末2に対して割当管理モジュール11が割当ファイル17を生成し、その割当ファイル17をサーバモジュール10が該当する各端末2に送信し、各端末2では端末モジュール22が割当ファイル17を受信して割当ファイル23として格納する。
【0052】
以上がプリンタの割り当て制御処理全体の説明である。
サーバ1がこのプリンタの割り当て制御処理を行うことにより端末2毎に使用するプリンタを指示した割当ファイル23が各端末2に格納される。
【0053】
ここで、端末2のアプリケーション20からの印刷データがプリンタで印刷されるまでの処理概要を説明する。
アプリケーション20がプリントAPI21に印刷データを出力すると、プリントAPI21は割当ファイル23を参照してスプールファイル24を生成する。生成したスプールファイル24を端末モジュール22がサーバ1に送信する。
【0054】
サーバ1ではサーバモジュール10を経由して出力モジュール12がスプールファイル24を受信する。出力モジュール12はスプールファイル24を読み込んで、出力先のプリンタがネットワーク接続かリモート接続のいずれかを判別し、プリンタ制御モジュール(OS)13に印刷の指示を行う。
【0055】
プリンタ制御モジュール(OS)は指示されたプリンタの種類に合ったデータフォーマットでプリントファイル18を生成した後、指示された出力先の通信ネットワーク5に接続されたプリンタ3またはローカル接続されたプリンタ4にプリントファイル18を送信する。プリントファイル18を受信した通信ネットワーク5に接続されたプリンタ3またはローカル接続されたプリンタ4はプリントファイル18の内容に従って印刷を行う。
【0056】
次に、図9のプリンタの割り当て制御処理において、S8の割り当て処理を一部変えたものを、図15に示す。図15においては図11に示す割り当て処理の先頭にS21を追加し、予め図6(c)の割当条件定義ファイル16の割り当て処理の間隔時間162に設定した時間が経過した時点で割り当て処理を行うようにしたものである。
【0057】
尚、上記実施の形態における情報処理装置1は、本発明にかかるプログラムを実行可能であれば、任意のコンピュータ装置を用いることができる。この場合、上述の各処理を実行するためのプログラムを格納した媒体(フレクシブルディスク、CD−ROMなど)から当該プログラムをコンピュータ装置にインストールすることにより、上述の処理を実行する情報処理装置1を構成することができる。
【0058】
また、各種通信手段を用いてコンピュータ装置にプログラムを供給することが可能であり、この場合コンピュータ装置にプログラムを供給するための手段は任意である。例えば、プログラムを搬送波に重畳させ、通信回線、通信ネットワーク、通信システムなどを介して供給してもよい。
【0059】
また、上記実施の形態では、再割り当ての処理を端末からの接続要求/切断要求の都度、または予め設定した時間が経過した時点で行っているが、図6(c)の割当条件定義ファイル16に示すように割り当て処理の日時163または割り当て処理の曜日・時間164を設定し、設定した日時や曜日及び時間に一致した時点で割り当て処理を行うようにしてもよい。
【0060】
【発明の効果】
本発明によれば、ネットワークに接続中の端末を対象として、プリンタ毎の負荷が分散するように端末を自動的に割り当てるので、プリンタの設定のための煩雑な作業が不要となり、さらに端末のユーザが任意のプリンタを選択する場合に発生する特定のプリンタに負荷が集中する事態も防げる。
また、接続中の端末台数とプリンタ1台当りの端末の限度台数を基に使用可能なプリンタ台数を決定し、各端末に決定された台数のプリンタを割り当てることによりネットワークに接続されたプリンタの一部を休止させるので、無駄な電力の消費を減少させ、プリンタの消耗を防ぎ、騒音を減少させる効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるネットワーク全体の構成図である。
【図2】サーバ1の構成を示すブロック図である。
【図3】端末2の構成を示すブロック図である。
【図4】図2に示すサーバ1で使用するデータファイルの内容を示す図であり、出力先テーブル14の内容を示す。
【図5】図2に示すサーバ1で使用するデータファイルの内容を示す図であり、端末接続テーブル15の内容を示す。
【図6】図2に示すサーバ1で使用するデータファイルの内容を示す図であり、(a)割当条件定義ファイル16、(b)割当ファイル17(端末2で使用する割当ファイル23も同じ内容)及び(c)割当条件定義ファイル16の第2の実施例の内容を示す。
【図7】端末接続テーブル15と出力先テーブル14との関連を示す図であり、(a)割り当て状態1から(b)割り当て状態2に状態が遷移する例を示している。
【図8】(a)端末接続テーブル15と(b)出力先テーブル14に関するアドレスを示す図である。
【図9】サーバ1におけるプリンタの割り当て制御の動作を説明するためのフローチャートである。
【図10】図9に示す追加割り当て処理の動作を説明するためのフローチャートである。
【図11】図9に示す割り当て処理の動作を説明するためのフローチャートである。
【図12】図11に示す最適割当台数NPaの算出処理の動作を説明するためのフローチャートである。
【図13】図11に示す再割当の出力処理の動作を説明するためのフローチャートである。
【図14】図11に示す再割当の入れ替え処理の動作を説明するためのフローチャートである。
【図15】図9に示す割り当て処理の第2の実施例の動作を説明するためのフローチャートである。
【符号の説明】
1 サーバ
2 端末
3 プリンタ(ネットワーク接続)
4 プリンタ(ローカル接続)
5 通信ネットワーク
10 サーバモジュール
11 割当管理モジュール
12 出力モジュール
13 プリンタ制御モジュール(OS)
14 出力先テーブル
15 端末接続テーブル
16 割当条件定義ファイル
17 割当ファイル
18 プリントファイル
20 アプリケーション
21 プリントAPI
22 端末モジュール
23 割当ファイル
24 スプールファイル
[0001]
[Technical field to which the invention belongs]
The present invention relates to a distributed printing system, a distributed printing method, and a program that perform load distribution and control of the number of operating devices of a plurality of printing apparatuses.
[0002]
[Prior art]
Conventionally, when a plurality of printers (printing devices) are shared by a plurality of terminals, it is common for each terminal to select and use an arbitrary printer from all printers permitted to be used on the server side. It was the target. In this case, since the user of each terminal selects an arbitrary printer, it is inevitable that the load is concentrated on a specific printer.
Therefore, to avoid concentrating the load on a specific printer, by setting a group to share and use the printer in association with the printer, it is possible to use a printer in which only terminal users belonging to that group are set. For example, Microsoft provides an operating system that incorporates a security function that allows printer A to be used only by a plurality of terminal users in a group and printer B to be used only by terminal users in another group. Has been. However, in this case, even when the printing process is concentrated on the designated printer, the terminal user cannot use other printers. Therefore, the terminal user waits until the printing process of the print data previously input to the designated printer is completed. There was a problem.
As another method for distributing the printer load, it is known that the number of distributions is determined by distributing the printers to be output according to the operation capability of the printers (see, for example, Patent Document 1).
[0003]
[Patent Document 1]
JP 2000-151873 A
[0004]
[Problems to be solved by the invention]
However, setting the groups and users permitted to use for each printer is an operation that is difficult and time-consuming to determine the setting contents.
Further, even if the setting is made so that the load on the printer is equalized, the connection state of the terminal varies, so the load may be biased depending on the connection state.
Even when there are few connected terminals, all the printers can be operated, so that each printer repeats the operation of warming up each time it receives print data, printing a small number of sheets, and entering the sleep mode. As a result, there was a problem that wasteful power was consumed during warm-up and the printer was easily consumed.
[0005]
The present invention has been made in view of the above circumstances, and a distributed printing system that automatically assigns printers that can print to each terminal so that the load of each printer is distributed and controls the number of printers to be minimized is provided. The purpose is to provide.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a distributed printing system according to the present invention includes a terminal number storage unit that stores a limit number of terminals allocated to one printing apparatus, and a plurality of terminals that request printing of the print data. Allocating means for allocating to each of the plurality of printing apparatuses so as to minimize the number of printing apparatuses to be allocated without exceeding the limit number stored in the storage means.
[0007]
According to such a configuration, since the terminals are automatically allocated so that the load for each printer is distributed to the terminals connected to the network, complicated work for setting the printer is not necessary, and the terminals It is also possible to prevent a situation where the load is concentrated on a specific printer that occurs when the user selects an arbitrary printer.
Also, the number of printers that can be used is determined based on the number of connected terminals and the maximum number of terminals per printer, and one printer connected to the network is assigned by assigning the determined number of printers to each terminal. As a result, the power consumption is reduced, the printer is prevented from being consumed, and the noise is reduced.
[0008]
Furthermore, the distributed printing system of the present invention may further include a time data storage unit that stores time data for starting execution of the allocation by the allocation unit.
By doing so, instead of assigning each time a terminal connection request / disconnection request is made, assignment is performed when a predetermined time has elapsed, so the printing device used in the terminal frequently changes. Therefore, convenience for the user is increased.
[0009]
In addition, the distributed printing system of the present invention further includes an allocation result determining unit that determines whether or not a printing apparatus permitted to print to the plurality of terminals matches a printing apparatus allocated to the plurality of terminals. The allocating unit allocates a terminal that has been determined to be inconsistent between the printing device permitted to be printed by the allocating result determining unit and the allocated printing device to the terminal by replacing the allocated printing device between the terminals. The assignment may be performed so that the change of the printing apparatus being used is minimized.
As a result, even if the printing device used in the terminal is changed as a result of the assignment process, the change of the printing device can be minimized by the replacement process, so the printing device used in the terminal is frequently used. Therefore, it is possible to prevent the user from being changed, which increases convenience for the user.
[0010]
Furthermore, the distributed printing method according to the present invention stores a limit number of terminals allocated to one printing apparatus, and allows a plurality of terminals that request printing of the print data to be printed without exceeding the stored limit number. The number of apparatuses is allocated to each of the plurality of printing apparatuses so as to minimize the number of apparatuses.
[0011]
Furthermore, the program according to the present invention includes a process for storing a plurality of terminal data for requesting printing of the print data in a terminal connection state storage means, and a terminal assigned to one printing apparatus stored in the terminal number storage means. A process of allocating a plurality of terminal data stored in the terminal connection state storage means to each of the plurality of printing devices so as not to exceed the limit number and the number of printing devices to be allocated is minimized based on the limit number of devices data. Is a program for causing a computer to perform the above.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
FIG. 1 is a configuration diagram of an entire network according to an embodiment of the present invention. The entire network includes a server 1 connected to the communication network 5, terminals 2-1 to 2-n (hereinafter each terminal is abbreviated as terminal 2), printers 3-1 to 3-m (hereinafter each printer). And printers 4-L1 and 4-L2 (hereinafter, each printer is abbreviated as printer 4) locally connected to the server 1.
[0014]
The communication network 5 is, for example, a telephone line, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like, and transmits and receives data between the server 1, the terminal 2, and the printer 3. In this embodiment, it is assumed that a LAN is used as the communication network 5.
The server 1 receives a connection request / disconnection request from the terminal 2 via the communication network 5, and the number of connected terminals 2 and an optimum number of terminals per printer registered in advance will be described in detail later. Based on the result, the number of printers that can be used at that time is calculated.
[0015]
The terminal 2 is, for example, a personal digital assistant such as a personal computer or a PDA, a mobile communication terminal such as a mobile phone, and the like, and is an information terminal capable of transmitting and receiving data by communication. A connection request / disconnection request and a file to be printed (a spool file 24 described later) are transmitted to the server 1.
The printer 3 receives a print file (a print file 18 described later) from the server 1 and performs print processing.
The printer 4 is locally connected to the server 1 via a printer cable, a USB (Universal Serial Bus) cable, or the like, and receives a print file (a print file 18 described later) from the server 1 and performs a printing process.
[0016]
FIG. 2 is a block diagram showing the configuration of the server 1 of FIG.
The server 1 includes a software group including a server module 10, an assignment management module 11, an output module 12, and a printer control module (OS) 13, an output destination table 14, a terminal connection table 15, an assignment condition definition file 16, an assignment file 17, and a print. The file 18 is composed of a file group.
First, the file groups 14 to 18 will be described.
[0017]
The output destination table 14 stores definition data of the printers 3 and 4 connected to the communication network 5 and the server 1 in advance. That is, as shown in FIG. 4, a “No.” memory 141 that stores serial numbers as the definition data of the printer, a “printer name” memory 142 that stores printer identification names, and whether the printer is in use (value: 1) or not. A “use state” memory 143 that stores a use state value of use (value: 0), an IP (Internet Protocol) address that stores a logical address on the communication network 5 of the printer, or an “address that stores a local address "Memory 144", "Type" memory 145 for storing the type of printer, "Manufacturer name" memory 146 for storing manufacturer name, "Model name" memory 147 for storing model name, and "Printing speed" memory for storing printing speed 148.
[0018]
The terminal connection table 15 stores data representing the connection state of the terminal 2 connected to the communication network 5 as shown in FIG. 5, and a “No.” memory for storing serial numbers as shown in FIG. 151, “Terminal IP” memory 152 for storing the IP address of the terminal 2; “Connection status” memory 153 for storing the connection status value indicating whether the terminal 2 is connected (value: 1) or disconnected (value: 0); "Assignment" memory 154 for storing the assigned printer, "reassignment" memory 155 for storing the reassigned printer, and whether the comparison results of the contents of the reassignment and the assignment match (value: 0), The printer name in the “assignment” memory 154 is used in any of the “reassignment” memory 155 due to a mismatch (value: 1), or the printer name in the “assignment” memory 154 is a “reassignment” memory 1 due to a mismatch. It not used in any of the 5 (value: 2) "reallocation result" for storing Kano value consists memory 156.
[0019]
The allocation condition definition file 16 stores various conditions when a printer is allocated as shown in FIG. The data includes an optimum number of terminals NTa memory 161 in which the optimum number of terminals per printer is stored, an allocation processing interval time memory 162, an allocation processing date / time memory 163, and an allocation processing day / time memory 164. .
[0020]
The allocation file 17 stores data instructing the printer to be permitted to use to the terminal 2, and as shown in FIG. 6B, a “printer name” memory 171 for storing the printer identification name, the printer "Use state" memory 172 for storing a use state value indicating whether the printer is in use (printing permitted) or not used, and an "address" for storing a logical address on the communication network 5 of the printer or a local address It consists of a memory 173.
[0021]
The print file 18 receives data to be printed, converts it into a data format suitable for the printer model, and stores it.
[0022]
Next, the software groups 10 to 13 in FIG. 2 will be described.
The server module 10 receives the connection request / disconnection request from the terminal 2, and sets the connection state corresponding to the terminal 2 received in the terminal connection table 15, that is, the value of the “connection state” memory 153 to the connection request / disconnection request. In addition to updating in response, various data such as transmission of the allocation file 17 to the terminal 2 is transmitted and received. Further, synchronization with the allocation management module 11 and the output module 12 is taken.
[0023]
Although details will be described later, the allocation management module 11 equally distributes the printer name data in the “printer name” memory 142 registered in the output destination table 14 to the “allocation” memory 154 or the “reassignment” memory 155 of the terminal connection table 15. The allocation file 17 is generated for each terminal 2 while setting by allocation. In addition, the printer name data assigned to each terminal stored in the “assignment” memory 154 or “reassignment” memory 155 of the terminal connection table 15 is reassigned when the connection state of the terminal 2 changes. Thus, the number of operating printers is controlled.
[0024]
The output module 12 adds parameter information for instructing the address of the printer to output the spool file 24 received from the terminal 2 by the server module 10 and converting the spool file 24 into a data format suitable for the printer model to be output. It transmits to the control module (OS) 13.
[0025]
The printer control module (OS) 13 generates a print file 18 based on the received spool file 24 and parameter information. If the output destination of the print file 18 is a printer connected to the network, the printer control module (OS) 13 passes through the server module 10. If the output destination is a locally connected printer, it is directly transmitted to the printer 4.
[0026]
FIG. 3 is a block diagram showing the configuration of the terminal 2.
The terminal 2 includes a software group including an application 20, a print API (Application Program Interface) 21, and a terminal module 22, and a file group including an allocation file 23 and a spool file 24.
[0027]
The allocation file 23 stores the allocation file 17 received from the server 1 as it is.
The spool file 24 is generated by a request from the application 20 by the print API 21, and is composed of header data such as a printer identification name and print data in a data format independent of the printer model.
The application 20 may be an application arbitrary by the user, and requests the print API 21 to print out.
In response to a print output request from the application 20, the print API 21 generates a spool file 24 for output to the printer specified by the allocation file 23.
The terminal module 22 transmits a connection request / disconnection request to the server 1 together with the IP address of the terminal. Further, the allocation file 17 is received from the server module 10 and stored as the allocation file 23, and the spool file 24 is transmitted to the server module 10 in cooperation with the print API 21.
[0028]
Next, the overall flow of the printer assignment control process that the server 1 of the present invention permits the terminal 2 to use will be described. Before that, as an overview of the printer assignment control process, the “connection” in the terminal connection table 15 is described. The relationship between the value of the “status” memory 153 and the value of the “usage status” memory 143 of the output destination table 14 will be described. Taking assignment state 1 in FIG. 7A as an example, all 23 terminals are connected and all four printers are in use. As for the correspondence relationship between the terminal and the printer, the printer Nos. 1 to 4 are sequentially associated with the terminal Nos. 1 to 4, the printers No. 1 to 4 are again associated with the terminal Nos. 5 to 8, and thereafter. Similarly, up to terminal No. 23 is associated. As a result, the number of terminals per printer is equalized.
[0029]
In the example of allocation state 2 in FIG. 7B, 15 of the 23 terminals are connected and 3 of the 4 printers are in use. This is an example in which the number of connected terminals has decreased from the allocation state 1 in FIG. Since the correspondence relationship between the terminal and the printer is assigned up to No. 3, the printer is assigned in order from No. 4 of the printer. That is, printer Nos. 4, 1, and 2 are associated with terminal Nos. 1, 3, and 5, respectively, and printers No. 4, 9, and 2 are associated with terminal Nos. 8, 9, and 10 again. Thereafter, the correspondence is made in the same manner up to terminal No. 22.
[0030]
In the terminal connection table 15, as shown in FIG. 8A, the address of the first row of the terminal connection table 15, that is, the row where the data related to the No. 1 terminal is stored is Ts, and the last terminal Let Te be the address of the row in which the data related to (No. n1) is stored, and T be the address of the row currently addressed between addresses Ts and Te. Similarly, in the output destination table 14, as shown in FIG. 8B, the address of the first row of the output destination table 14, that is, the row where data related to the No. 1 printer is stored is Ps, and the last printer is stored. Let Pe be the address of the row in which the data related to (No. n2) is stored, and P be the address of the row currently addressed between the addresses Ps and Pe.
[0031]
Next, the overall flow of printer assignment control processing in the server 1 will be described with reference to FIG.
The entire process is controlled by the server module 10 and the allocation management module 11 working together.
First, when the server module 10 receives a connection request or disconnection request from the terminal 2 together with an IP address in step S1 (hereinafter referred to as S1), the IP address of the requested terminal 2 is registered with reference to the terminal connection table 15. (S2). In S3, it is determined whether the IP address has been registered and whether it is a connection request or a disconnection request, and the process branches to one of S4, S5, and S6. If the determination result is a connection request from a terminal 2 that has not yet been registered, the process proceeds to S4, and the terminal 2 that has requested connection is the new terminal 2, and a new area is designated as the new address T, and the IP address is specified. Write and add to terminal connection table 15. If the determination result in S3 is a connection request from the registered terminal 2, the value of the “connection state” memory 153 of the corresponding terminal indicated by the address T is updated to “connected” (S5). If the determination result in S3 is a disconnection request from the registered terminal 2, the value of the “connection state” memory 153 of the corresponding terminal 2 indicated by the address T is set to “disconnected” (S6), and the process proceeds to S8. After the process of S4 or S5, an additional assignment process of S7 is performed in order to notify the terminal 2 that requested the connection of the name of the printer permitted to be used.
[0032]
FIG. 10 shows the detailed processing contents of the additional allocation processing in S7.
First, the “assignment” memory 154 corresponding to the row of the terminal 2 indicated by the current address T of the terminal connection table 15 of FIG. 5 is added to the printer row indicated by the current address P of the output destination table 14 of FIG. The value of the corresponding “printer name” memory 142 is written (S11). As a result, one printer is assigned, and the current address P in the output destination table 14 is advanced (S12). In S13, it is determined whether or not the current address P exceeds the end address Pe. If the determination result is Yes in S13, the current address P is returned to the head address Ps (S14). If the determination result is No in S13, the process proceeds to S15. In S15, an allocation file 17 is generated in order to notify the allocated printer to the terminal that requested the connection, and the generated allocation file 17 is transmitted to the terminal, and the additional allocation process is terminated.
Returning to FIG. 9, in S <b> 8, the number of printers is increased or decreased depending on the connection state of the terminal 2, and an assignment process for assigning a printer to each terminal 2 is performed.
[0033]
Here, FIG. 11 shows the detailed processing contents of the allocation processing in S8.
This allocation process is performed by the allocation management module 11.
First, with reference to the values of the “connection state” memory 153 of all terminals registered in the terminal connection table 15, the number of terminals NTn in which the value of the “connection state” memory 153 is “connected” is calculated. (S22). Next, with reference to the values in the “use state” memory 143 of all the printers registered in the output destination table 14, the number of terminals NPn whose value in the “use state” memory 143 is “in use” is determined. Calculate (S23). Thereafter, a process of calculating the optimum allocated number NPa indicating the optimum number of printers in the current connection state of the terminal 2 (S24) is performed.
[0034]
Here, FIG. 12 shows the detailed processing contents of the calculation processing of the optimum allocated number NPa of S24.
First, the total number of printers NPt, which is the number of all printers registered in the output destination table 14, is calculated (S31). Next, the number of connected terminals NTn is substituted into the counter N (S32), and 1 is substituted as the initial value of the optimum allocated number NPa to be obtained (S33).
Since the optimum number of terminals NTa indicating the optimum number of terminals per printer is preset, it is determined in S34 whether N is larger than the optimum number of terminals NTa. If the determination result in S34 is Yes, the optimum number of terminals NTa is subtracted from N and the result is substituted for N (S35). In S36, it is determined whether or not the optimum terminal number NPa is smaller than the total printer number NPt. If the determination result in S36 is Yes, the value of the optimal allocation number NPa is incremented by one, the process returns to S34, and the above-described processing is repeated (S37). When the determination result is No in S34 and when the determination result is No in S36, the process of calculating the optimum allocated number NPa is terminated.
[0035]
Applying the above-described calculation process of the optimal allocation number NPa to an example in which the allocation state 1 in FIG. 7A changes to the allocation state 2 in FIG. 7B, for example, the allocation state 2 in FIG. 7B. Since the total number of printers NPt is 4, the number of connected terminals NTn is 15, and the optimum number of terminals NTa is 6, the optimum allocated number NPa is calculated as 3. In the allocation state 1 in FIG. 7A, the optimal allocation number NPa is four, and as a result of this processing, one unit is reduced.
[0036]
Returning to FIG. 11, in step S25, the number of used terminals NPn and the optimum allocated number NPa are compared. If the number of used terminals NPn and the optimum allocated number NPa do not match, a series of reassignment processing in steps S26 to S29 is performed. If they match, reassignment is unnecessary and the assignment process is terminated.
In S26, a reassignment output process for updating the contents of the “reassignment” memory 155 of the terminal connection table 15 in accordance with the connection state of the terminal is performed.
[0037]
Here, FIG. 13 shows the detailed processing contents of the reassignment output processing in S26. In the reassignment output process, among the terminals registered in the terminal connection table 15, the terminals in which the value of the “connection state” memory 153 is “connected” are sequentially selected, and the optimal allocation among the printers registered in the output destination table 14 is performed. The assignment is repeated using the number of printers equal to the number NPa.
[0038]
First, since the process proceeds sequentially from the head terminal to the terminal immediately before the terminal, the current address T in the terminal connection table 15 is set as the head address Ts (S41). Next, the current address P of the output destination table 14 indicating the printer to be assigned at this time is saved (S42). Subsequently, the optimal allocation number NPa is set in the counter N (S43), and the process proceeds to S44 to S56 in which the value of the “reassignment” memory 155 in the terminal connection table 15 is updated according to the connection state of the terminal.
[0039]
In S44, it is determined whether or not the value of the “connection state” memory 153 of the terminal connection table 15 is “connected”. If the determination result is Yes in S44, the value of the "printer name" memory 142 indicated by the current address P of the output destination table 14 is set to the value of the "reassignment" memory 155 of the terminal connection table 15 (S45). , Go to S47. If the determination result is No in S44, the value of the “reassignment” memory 155 of the terminal connection table 15 is cleared (S46). In S47, the current address T in the terminal connection table 15 is advanced to the next line, and it is determined whether or not the current address T in the terminal connection table 15 exceeds the end address Te (S48). If the determination result in S48 is No, the following processing of S49 to S55 is performed, and then the processing of returning to S44 is repeated.
[0040]
In S49, 1 is subtracted from N, and the result is substituted into N. As a result of the subtraction, it is determined whether or not N is “0” (S50). If the determination result is Yes, the optimal allocation number NPa is set again to N (S51), and the current address P of the output destination table 14 is saved. The set value is restored (S52). If the determination result is No in S50, the current address P in the output destination table 14 is advanced to the next line (S53). In S54, it is determined whether or not the current address P in the output destination table 14 exceeds the end address Pe. If the determination result is Yes in S54, the current address P is set as the head address Ps (S55), and the process returns to S44. If the determination result is No in S54, the process returns to S44 as it is.
If the determination result is Yes in S48, the current address P in the output destination table 14 is returned to the saved value (S56), and the reallocation output process is terminated.
[0041]
When the connection state transitions from (a) allocation state 1 to (b) allocation state 2 in FIG. 7 as a result of the above-described reassignment output processing, the value of the “reassignment” memory 155 of the terminal connection table 15 is As shown in FIG. That is, the number of assigned printers is reduced from four to three, and the printer whose printer name is “PRT3” is in a dormant state.
[0042]
Returning to S27 of FIG. 11, the reallocation result output process for outputting the value of the “reallocation result” memory 156 of the terminal connection table 15 is performed.
In S27, the printer name in the “assignment” memory 154 and the printer name in the “reassignment” memory 155 are compared for each row of the terminal connection table 15, and the comparison result is discriminated to determine “0”, “1”, “2”. And set as the value of the “reallocation result” memory 156. The value in the “reassignment result” memory 156 is “0” if the printer name in the “assignment” memory 154 matches the printer name in the “reassignment” memory 155, and the printer name in the “assignment” memory 154 If the printer name in the “assignment” memory 155 does not match and the printer name in the “assignment” memory 154 is used in any of the “reassignment” memory 155, the printer name in the “assignment” memory 154 If the printer name in the “reassignment” memory 155 does not match and the printer name in the “assignment” memory 154 is not used in any of the “reassignment” memory 155, “2” is set. “1” means that the currently used printer will continue to be used as a result of the reassignment, and “2” means that the currently used printer is no longer used due to the reassignment or a new printer is used. Means that it is now used.
[0043]
When the connection state transitions from the assignment state 1 in FIG. 7A to the assignment state 2 in FIG. 7B, the value of the “reassignment result” memory 156 of the terminal connection table 15 is as shown in FIG. . Of the values in the “reassignment result” memory 156, the parentheses indicate the contents of the result of the reassignment replacement process described later.
In S28, the contents of the “reassignment result” memory 156 are determined, and in order to avoid changing the printer used by the result of the reassignment as much as possible, that is, “1” in the “reassignment result” memory 156 or In order to minimize the number of values “2”, a reassignment replacement process is performed in which the printer name in the “reassignment” memory 155 of the terminal connection table 15 is replaced between lines.
[0044]
Here, FIG. 14 shows the detailed processing contents of the reassignment replacement processing in S28. In this reassignment replacement process, attention is paid to a terminal whose value of the “reassignment result” memory 156 of the terminal connection table 15 is “1”, and the value of the terminal and the “reassignment result” memory 156 is “1”. Alternatively, the process of changing the contents of the “reassignment” memory 155 of the terminal “2” and setting the value of the “reassignment result” memory 156 to “0” is sequentially repeated.
[0045]
First, since the process proceeds sequentially from the head terminal to the terminal immediately before the terminal, the current address T in the terminal connection table 15 is set as the head address Ts (S61).
In S62, it is determined whether or not the value of the “reallocation result” memory 156 in the row indicated by the current address T is “1”. If the value of the “reallocation result” memory 156 is determined to be “1” in S62, the head address Ts is set to the replacement target address T2 in order to search for the replacement target row (S63).
[0046]
In S64, it is determined whether or not the value of the “reallocation result” memory 156 in the row indicated by the replacement target address T2 is “1” or “2”. If the determination result in S64 is Yes, the printer name in the “reassignment” memory 155 in the row indicated by the current address T and the printer name in the “reassignment” memory 155 in the row indicated by the replacement target address T2 are temporarily replaced. Look (S65). As a result of the replacement, it is determined whether or not the printer name in the “assignment” memory 154 in the row indicated by the current address T matches the printer name in the “reassignment” memory 155 in the same row (S66). If so, the following S67 to S69 are performed, and the printer name in the “reassignment” memory 155 is replaced.
[0047]
In S67, the printer name in the “reassignment” memory 155 in the row indicated by the current address T is replaced with the printer name in the “reassignment” memory 155 in the row indicated by the address T2 to be exchanged. Subsequently, the value of the “reassignment result” memory 156 of the row indicated by the current address T is set to “0” (S68), and the “reassignment result” memory 156 of the row indicated by the address T2 to be exchanged is replaced. (S69) and advance to S72.
[0048]
If the determination result in S66 is No, the target address T2 is advanced to the next line in S70. As a result of advancement of the replacement target address T2 to the next line in S70, it is determined whether the replacement target address T2 exceeds the end address Te (S71). If the determination result in S71 is Yes, the process proceeds to S72. If the determination result is No in S71, the process returns to S64, and the process of S64 to S71 is repeated while changing the replacement target.
If the determination result is No in S64, the process also proceeds to S70.
[0049]
In S72, the current address T is advanced to the next line. As a result of advancing the current address T to the next line in S72, it is determined whether or not the current address T exceeds the end address Te (S73). If the determination result in S73 is No, the process returns to S62. Then, the processing of S62 to S71 for finding the next row with the value “1” in the “reassignment result” memory 156 is repeated. If the determination result is Yes in S73, the reallocation replacement process is terminated.
[0050]
As a result of the above reassignment replacement processing, the values of the “reassignment” memory 155 and the “reassignment result” memory 156 in the terminal connection table 15 of FIG. 5 are shown in parentheses. In this example, the value of the “reallocation result” memory 156 of the six terminals 2 is changed from “1” to “0”.
[0051]
Returning to S29 in FIG. 11, processing for transmitting the allocation file is performed.
In S29, the printer name in the “reassignment” memory 155 of the terminal connection table 15 has been determined by the processing up to S28, so that the process of notifying each terminal 2 of the printer name permitted to be used is performed. The allocation management module 11 generates an allocation file 17 for the terminal 2 whose printer name is changed, and the server module 10 transmits the allocation file 17 to each corresponding terminal 2. The module 22 receives the allocation file 17 and stores it as the allocation file 23.
[0052]
The above is the description of the entire printer assignment control process.
When the server 1 performs the printer assignment control process, an assignment file 23 instructing a printer to be used for each terminal 2 is stored in each terminal 2.
[0053]
Here, an outline of processing until print data from the application 20 of the terminal 2 is printed by the printer will be described.
When the application 20 outputs print data to the print API 21, the print API 21 refers to the allocation file 23 and generates a spool file 24. The terminal module 22 transmits the generated spool file 24 to the server 1.
[0054]
In the server 1, the output module 12 receives the spool file 24 via the server module 10. The output module 12 reads the spool file 24, determines whether the output destination printer is a network connection or a remote connection, and instructs the printer control module (OS) 13 to perform printing.
[0055]
The printer control module (OS) generates a print file 18 in a data format suitable for the type of the instructed printer, and then sends it to the printer 3 connected to the instructed output destination communication network 5 or the locally connected printer 4. The print file 18 is transmitted. The printer 3 connected to the communication network 5 that has received the print file 18 or the locally connected printer 4 performs printing according to the contents of the print file 18.
[0056]
Next, FIG. 15 shows a part of the assignment process of S8 in the assignment control process of the printer shown in FIG. In FIG. 15, S21 is added to the head of the allocation process shown in FIG. 11, and the allocation process is performed when the time set in advance in the allocation process interval time 162 of the allocation condition definition file 16 in FIG. It is what I did.
[0057]
As the information processing apparatus 1 in the above embodiment, any computer apparatus can be used as long as the program according to the present invention can be executed. In this case, the information processing apparatus 1 that executes the above-described processing is configured by installing the program in a computer device from a medium (flexible disk, CD-ROM, or the like) that stores the program for executing the above-described processing. can do.
[0058]
Moreover, it is possible to supply a program to a computer apparatus using various communication means, In this case, the means for supplying a program to a computer apparatus are arbitrary. For example, the program may be superimposed on a carrier wave and supplied via a communication line, a communication network, a communication system, or the like.
[0059]
In the above embodiment, the reassignment process is performed every time a connection request / disconnection request from the terminal or when a preset time has elapsed, but the assignment condition definition file 16 in FIG. As shown in FIG. 4, the allocation process date 163 or the allocation process day / time 164 may be set, and the allocation process may be performed at the time when the set date / time, day of the week, and time match.
[0060]
【The invention's effect】
According to the present invention, since the terminals are automatically allocated so that the load for each printer is distributed to the terminals connected to the network, complicated work for setting the printer is unnecessary, and the user of the terminal It is also possible to prevent a situation where the load is concentrated on a specific printer that occurs when an arbitrary printer is selected.
Also, the number of printers that can be used is determined based on the number of connected terminals and the maximum number of terminals per printer, and one printer connected to the network is assigned by assigning the determined number of printers to each terminal. As a result, the power consumption is reduced, the printer is prevented from being consumed, and the noise is reduced.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an entire network according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a server 1;
3 is a block diagram showing a configuration of a terminal 2. FIG.
4 is a diagram showing the contents of a data file used in the server 1 shown in FIG. 2 and showing the contents of an output destination table 14. FIG.
5 is a diagram showing the contents of a data file used in the server 1 shown in FIG. 2, and shows the contents of the terminal connection table 15. FIG.
6 is a diagram showing the contents of a data file used in the server 1 shown in FIG. 2; (a) an allocation condition definition file 16; (b) an allocation file 17 (the same contents of the allocation file 23 used in the terminal 2); ) And (c) The contents of the second embodiment of the allocation condition definition file 16 are shown.
7 is a diagram showing a relationship between the terminal connection table 15 and the output destination table 14, showing an example in which the state transitions from (a) allocation state 1 to (b) allocation state 2. FIG.
FIG. 8 is a diagram showing addresses related to (a) terminal connection table 15 and (b) output destination table 14;
9 is a flowchart for explaining an operation of printer assignment control in the server 1. FIG.
10 is a flowchart for explaining the operation of the additional assignment process shown in FIG. 9;
11 is a flowchart for explaining the operation of the assignment process shown in FIG. 9;
12 is a flowchart for explaining the operation of the process of calculating the optimum allocated number NPa shown in FIG.
13 is a flowchart for explaining the operation of the reassignment output process shown in FIG. 11; FIG.
14 is a flowchart for explaining the operation of the reassignment replacement process shown in FIG. 11. FIG.
FIG. 15 is a flowchart for explaining the operation of the second example of the assignment process shown in FIG. 9;
[Explanation of symbols]
1 server
2 terminal
3 Printer (network connection)
4 Printer (local connection)
5 Communication network
10 Server module
11 Allocation management module
12 Output module
13 Printer control module (OS)
14 Output destination table
15 Terminal connection table
16 Allocation condition definition file
17 Allocation file
18 Print file
20 applications
21 Print API
22 Terminal module
23 Allocation file
24 Spool file

Claims (7)

ネットワークに接続された複数の端末からの印刷データを前記ネットワークに接続された複数の印刷装置に分散して割り当て、前記複数の印刷装置によってそれぞれ割り当てられた端末からの印刷データを印刷させる分散印刷システムにおいて、
印刷装置1台に割り当てる端末の限度台数を記憶した端末台数記憶手段と、
前記印刷データの印刷を要求する複数の端末を前記端末台数記憶手段に記憶された前記限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てる割当手段と、
を備えたことを特徴とする分散印刷システム。
A distributed printing system that distributes and assigns print data from a plurality of terminals connected to a network to a plurality of printing apparatuses connected to the network, and prints the print data from the terminals respectively assigned by the plurality of printing apparatuses. In
A terminal number storage means for storing a limit number of terminals to be assigned to one printing apparatus;
Allocation means for allocating a plurality of terminals that request printing of the print data to each of the plurality of printing apparatuses so as not to exceed the limit number stored in the terminal number storage means and to minimize the number of printing apparatuses to be allocated. When,
A distributed printing system comprising:
前記端末台数記憶手段及び前記割当手段は、前記ネットワークに接続されたサーバ装置に設けられていることを特徴とする請求項1記載の分散印刷システム。The distributed printing system according to claim 1, wherein the terminal number storage unit and the allocation unit are provided in a server device connected to the network. 更に、前記複数の端末の接続状態データを記憶する接続状態記憶手段を備え、
前記割当手段は、前記接続状態記憶手段に記憶されている前記接続状態データに基づいて割り当てを行うことを特徴とする請求項1又は2に記載の分散印刷システム。
And a connection state storage means for storing connection state data of the plurality of terminals.
The distributed printing system according to claim 1, wherein the allocating unit performs the allocation based on the connection state data stored in the connection state storage unit.
更に、前記割当手段による割り当ての実行を開始する時間データを記憶する時間データ記憶手段を備えていることを特徴とする請求項1又は2に記載の分散印刷システム。3. The distributed printing system according to claim 1, further comprising time data storage means for storing time data for starting execution of assignment by the assignment means. 更に、前記複数の端末に印刷許可されている印刷装置と前記複数の端末に割り当てた印刷装置とが一致するか否かを判別する割当結果判別手段を備え、
前記割当手段は、前記割当結果判別手段により印刷許可されている印刷装置と割り当てした印刷装置とが不一致と判別された端末について、割り当てされた印刷装置を端末間で入れ替えることにより端末に既に割り当てられて使用されている印刷装置の変更が最少となるように割り当てを行うことを特徴とする請求項1または2に記載の分散印刷システム。
Furthermore, it comprises an assignment result judging means for judging whether or not a printing device permitted to print to the plurality of terminals and a printing device assigned to the plurality of terminals match.
The assigning unit is already assigned to the terminal by replacing the assigned printing device between the terminals for which the printing device permitted to be printed by the assignment result judging unit is determined not to match the assigned printing device. 3. The distributed printing system according to claim 1 or 2, wherein the assignment is performed so that the change of the printing apparatus used is minimized.
ネットワークに接続された複数の端末からの印刷データを前記ネットワークに接続された複数の印刷装置に分散して割り当て、前記複数の印刷装置によってそれぞれ割り当てられた端末からの印刷データを印刷させる分散印刷方法であって、
印刷装置1台に割り当てる端末の限度台数を記憶し、
前記印刷データの印刷を要求する複数の端末を前記記憶された限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てるようにしたことを特徴とする分散印刷方法。
A distributed printing method for distributing and assigning print data from a plurality of terminals connected to a network to a plurality of printing apparatuses connected to the network and printing the print data from the terminals respectively assigned by the plurality of printing apparatuses Because
Store the maximum number of terminals that can be assigned to one printing device,
A plurality of terminals that request printing of the print data is allocated to each of the plurality of printing apparatuses so as not to exceed the stored limit number and to minimize the number of printing apparatuses to be allocated. Distributed printing method.
ネットワークに接続された複数の端末からの印刷データを前記ネットワークに接続された複数の印刷装置に分散して割り当て、前記複数の印刷装置によってそれぞれ割り当てられた端末からの印刷データを印刷させる分散印刷の為のプログラムであって、
コンピュータに、
前記印刷データの印刷を要求する複数の端末データを端末接続状態記憶手段に記憶させる処理と、
前記端末台数記憶手段に記憶された印刷装置1台に割り当てる端末の限度台数データに基づき前記端末接続状態記憶手段に記憶された複数の端末データを前記限度台数を超えず且つ割り当てられる印刷装置の台数が最少となるように前記複数の印刷装置それぞれに割り当てる処理と、
を実行させるようにしたことを特徴とするプログラム。
Distributed printing in which print data from a plurality of terminals connected to a network is distributed and assigned to a plurality of printing apparatuses connected to the network, and print data from the terminals respectively assigned by the plurality of printing apparatuses is printed. A program for
On the computer,
A process of storing a plurality of terminal data for requesting printing of the print data in a terminal connection state storage means;
Based on the limit number data of the terminals assigned to one printing device stored in the terminal number storage means, the number of printing devices assigned to the plurality of terminal data stored in the terminal connection state storage means does not exceed the limit number. Assigning to each of the plurality of printing devices so as to minimize
A program characterized in that it is executed.
JP2002380625A 2002-12-27 2002-12-27 Distributed printing system, distributed printing method and program Expired - Fee Related JP4082212B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002380625A JP4082212B2 (en) 2002-12-27 2002-12-27 Distributed printing system, distributed printing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002380625A JP4082212B2 (en) 2002-12-27 2002-12-27 Distributed printing system, distributed printing method and program

Publications (2)

Publication Number Publication Date
JP2004213231A JP2004213231A (en) 2004-07-29
JP4082212B2 true JP4082212B2 (en) 2008-04-30

Family

ID=32816791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002380625A Expired - Fee Related JP4082212B2 (en) 2002-12-27 2002-12-27 Distributed printing system, distributed printing method and program

Country Status (1)

Country Link
JP (1) JP4082212B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4795267B2 (en) * 2007-02-20 2011-10-19 キヤノン株式会社 Image forming apparatus and control method thereof
JP6119151B2 (en) * 2012-09-12 2017-04-26 株式会社リコー Device management apparatus, device management system and program
JP6123472B2 (en) * 2013-05-13 2017-05-10 株式会社リコー Device management apparatus, device management system, device management method and program

Also Published As

Publication number Publication date
JP2004213231A (en) 2004-07-29

Similar Documents

Publication Publication Date Title
EP2428868B1 (en) Printer Wake-up using a proxy
JPH10340167A (en) Printing data generating device, its method, printer and printing system
CN103428198B (en) network device, system and method
JP2007226747A (en) Electronic apparatus and printer device selection method
JP5178230B2 (en) Information processing apparatus, information processing method, and program
KR920009449B1 (en) Common bus controller an its method
JP4142830B2 (en) Printing system
JP4082212B2 (en) Distributed printing system, distributed printing method and program
US8166199B2 (en) Communication apparatus, network system, communication method and program
JP2004046774A (en) Print server, print system, print job management method, program, and recording medium
JP2018041378A (en) Terminal device
JP6812673B2 (en) Image processing systems, image forming equipment, data sharing methods, and computer programs
JP2003296217A (en) Communication terminal device and its control method
US9189717B2 (en) Image forming apparatus that transmits response data for information requesting data and responding method
US7283990B2 (en) Method and system for managing resources for multi-service jobs based on location
JP2002163097A (en) Printing system
JP2002055795A (en) Print managing apparatus and method for controlling the same and storage medium
JP5040603B2 (en) Printing instruction apparatus and program
JP2014010694A (en) Print management device, print management system, control method, and program
JP3710678B2 (en) Printing apparatus and printing method thereof
US8427682B2 (en) Information processing device that performs data access control through connecting to multiple devices and method thereof
JP3661385B2 (en) Output device and host device
JP4690294B2 (en) USB communication device, USB communication device communication method, and USB communication device program
JPH1131050A (en) Printer sharing system and its control method
JP2022177477A (en) image forming system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R150 Certificate of patent or registration of utility model

Ref document number: 4082212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees