以下、本発明の実施の形態について図面を参照しながら説明する。
<図1の説明>
図1は、本実施の形態に係わるシステム構成を概略的に示す図である。
図1に示すように、本実施形態に係るシステムは、クライアント端末(109,110,114)と、DHCP(Dynamic Host Configuration Protocol)サーバ(115)と、プリントサーバ(105)と、プリンタ(107,108,113)と、管理者端末(111)とが、LAN(Local Area Network)等のネットワーク(100)を介して相互に通信可能に接続された構成となっている。
図1には、教室A(101)、教室B(102)、オープンスペース(112)、サーバ室(104)、管理者居室(104)のエリアを示している。
図1に示す教室A(101)や教室B(102)は、授業を行う教室などの場所を示し、それぞれ異なる場所(教室)であることを示している。また、図1に示すオープンスペース(112)は、休憩室等などの場所を示す。また、図1に示すサーバ室(104)は、各種サーバコンピュータが設置された場所を示す。また、図1に示す管理者居室103は、管理者端末111が設置された場所を示す。以下、「場所」を「ロケーション」とも言う。
図1に示す教室A(101)には、クライアント端末A(109)とプリンタA(107)とが、ネットワークを介して相互に通信可能に接続されている。
また、教室Aとは異なる場所である教室B(102)には、クライアント端末B(110)とプリンタB(108)とが相互に通信可能に接続されている。
図1に示すオープンスペース112では、クライアント端末C(114)とプリンタ113とが相互に通信可能に接続されている。
各教室(101,102)やオープンスペース(112)に設置されたクライアント端末(109,110,114)は、プリントサーバ105を介してプリンタ(107,108,113)に印刷要求を出すことができ、当該プリンタは、当該印刷要求に従って印刷することができる。
プリントサーバ105は、クライアント端末からの印刷要求に応じて、印刷を出力(許可)又は禁止(不許可)させることができる。すなわち、出力制限を行なうことができる。
具体的には、プリントサーバ105は、クライアント端末からの印刷要求を受信すると、当該印刷要求を解析し、当該印刷要求を指示したユーザ(ID)(ユーザ情報)や、何枚印刷するのか(出力枚数)、カラー印刷か(カラー印刷かモノクロ印刷のどちらが印刷設定として設定されているか)、など情報を特定することができる。
プリントサーバ105には、ユーザ毎に印刷可能な出力枚数(印刷可能残数)が設定された、ユーザテーブル(ユーザTBL)(図6)を記憶している。したがって、該ユーザTBLに従って、印刷要求の指示を行ったユーザにおける印刷可能残数を特定することができる。当該解析の結果特定された、印刷要求に係る出力枚数と、該印刷可能残数を比較し、該印刷可能残数が該出力枚数以上であれば、印刷を許可し、当該印刷要求に含まれる印刷先であるプリンタに印刷データを送付する。また、該印刷可能残数が該出力枚数以上であれば、当該プリンタへの印刷を禁止し、出力させないように制御を行う。具体的には、印刷データを当該プリンタへ送付せず、該印刷データを消去する。
管理者端末111は、プリントサーバ105に対して、後述する印刷管理システム304のプログラムの起動や停止など要求を行うことができる。
また、管理者端末111は、DBサーバ106に対して、当該DBサーバ106が備えるデータベースに記憶された各種情報の設定や変更の要求を行うことができる。また、当該設定や変更の要求は、管理者端末111が備えた、後述する専用のアプリケーション(時間割設定アプリケーション302)やブラウザなどを介して行うことが可能である。
図1に示すように、プリントサーバ105は、当該印刷要求を出したクライアント端末と同じ設置場所にあるプリンタを認識することができる。
具体的には、印刷制御対象となるクライアント端末とプリンタは、ロケーション毎(教室毎)に割り当てられたIPアドレスを取得して、ネットワークに接続されている。すなわち、プリントサーバ105は、ロケーション毎に割り当てられたIPアドレスを記憶しているため、印刷要求を解析することで、当該印刷要求を出したクライアント端末のIPアドレスを認識でき、該IPアドレスに対応するロケーションを特定することができる。また、プリントサーバ105は、IPアドレスからどこのロケーションに設置されたプリンタかを特定することも可能である。
また、クライアント端末やプリンタのIPアドレスをDHCPサーバから取得する環境では、DHCPサーバに、印刷制御対象の場所(ロケーション)ごとに割り当てるIPアドレスの範囲を決めていることが必要である。この、ロケーション毎に割り当て可能なIPアドレスの範囲は、DHCPサーバに記憶されている。
図1には、教室ごとに、1台のクライアント端末と1台のプリンタが設置されていることを示しているが、それぞれ複数台あっても構わない。
<図2の説明>
図2は、図1におけるクライアント端末(109,110,114)やプリントサーバ105やDBサーバ106や管理者端末111などの情報処理装置のハードウェア構成を概略的に示すブロック図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、サーバ或いは各クライアントの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210への表示を制御する。ディスプレイは、CRTディスプレイでも液晶ディスプレイ等でも構わない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標)(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワーク100を介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。
また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
さらに、本発明を実現するためのプログラムが用いる各種データ及び各種テーブルは外部メモリ211に格納されており、これらについての詳細な説明は後述する。
<図3の説明>
図3は、図1における管理者端末111とプリントサーバ105とDBサーバ106が備えるプログラム等の構成を概略的示すモジュール構成図である。
管理者端末111の外部メモリ211には、管理者端末の実行する機能を実現するために必要な各種プログラムが記憶されている。具体的には、OS(Operating System)300、データベースにアクセスするために用いられるプログラム(例えば、ODBC(Open DataBase Connectivity)ドライバ301)、時間割設定アプリケーション302が該外部メモリ211に記憶されている。
時間割設定アプリケーション302は、ODBCドライバを介して、DBサーバ106の印刷管理システムデータベースプログラム306(以下、単にデータベースプログラムともいう)と相互に通信することができ、DBサーバ106が備えるデータベースに記憶された各種データを変更させることができる。また、同様に、時間割設定アプリケーション302は、データベースに各種データを記憶させることができる。
プリントサーバ105の外部メモリ211には、プリントサーバ105の実行する機能を実現するために必要な各種プログラムが記憶されている。具体的には、OS(Operating System)303、印刷管理システムプリントサーバプログラム304(以下、単にプリントサーバプログラムともいう)が該外部メモリ211に記憶されている。
DBサーバ106は、の外部メモリ211には、管理者端末の実行する機能を実現するために必要な各種プログラムが記憶されている。具体的には、OS(Operating System)305、印刷管理システムデータベースプログラム306(以下、単にデータベースプログラムともいう)が該外部メモリ211に記憶されている。
データベースプログラムは、プリントサーバ105のプリントサーバプログラムと、管理者端末111の時間割設定アプリケーション302と相互に通信可能である。
本実施の形態では、管理者端末とプリントサーバとDBサーバとが異なる筐体として説明するが、管理者端末とプリントサーバとDBサーバとを同じ筐体としても構わない。
<図4の説明>
図4は、管理者端末111の時間割設定アプリケーション302、及び、DBサーバ106のデータベースプログラム305、プリントサーバ105のプリントサーバプログラム304が実現する機能の構成を概略的に示すブロック図である。
管理者端末111の時間割設定アプリケーション302は、休日マスタデータ読み込み・表示部400と、休日マスタデータ書き込み部401と、授業マスタデータ読み込み・表示部402と、授業マスタデータ書き込み部403と、印刷許可データ読み込み・生成部404と、印刷許可データ書き込み部405と、印刷許可データの履歴データ読み込み部406と、印刷許可データの履歴データ移行部407とを備えている。
休日マスタデータ読み込み・表示部400は、DBサーバ106に記憶された休日マスタテーブル(図9)のデータを取得し(読み込み)、ディスプレイ210等の表示部に表示する機能を有する。
休日マスタデータ書き込み部401は、DBサーバ106に記憶された休日マスタテーブルへのデータの書き込み要求を行うことができ、DBサーバ106は、当該要求を受けた場合に、休日マスタテーブルへ該データの書き込みを行う機能を有する。これにより、休日マスタテーブルに記憶された休日扱い日(休日)(日曜日、祝祭日、文化際、試験期間など)の変更や登録を行うことができる。
授業マスタデータ読み込み・表示部402は、DBサーバ106に記憶された授業マスタテーブル(図14)のデータを取得し(読み込み)、表示部に表示する機能を有する。
授業マスタデータ書き込み部403は、DBサーバ106に記憶された授業マスタテーブルへのデータの書き込み要求を行う機能を有する。DBサーバ106は、当該要求を受けた場合に、授業マスタテーブルへ該データの書き込みを行う。これにより、授業マスタテーブルに、ロケーションIDごとに授業情報(何曜日のどの時限(時間帯)に授業が行われるか否か等の情報)(詳細は、図14を参照)を登録したり変更したりできる。
印刷許可データ読み込み・生成部404は、休日マスタテーブル(図9)と授業マスタテーブル(図14)と時間割マスタテーブル(図13)とロケーションテーブル(図15)とからデータを取得し(読み込み)、印刷出力を管理するための管理情報を作成する機能を有する。
印刷許可データ書き込み部405は、当該生成された管理情報を、DBサーバ106に記憶された印刷許可設定テーブル(図16)に記憶する機能を有する。
印刷許可データの履歴データ読み込み部406は、DBサーバ106に記憶された印刷許可設定テーブル(図16)のデータを取得する(読み込む)機能を有する。
印刷許可データの履歴データ移行部407は、当該取得した、印刷許可設定テーブルのデータを、不図示の印刷許可履歴テーブルに記憶させるための指示を行う。DBサーバ106は、当該指示を受けると、当該データを該印刷許可履歴テーブルに記憶保持する機能を有する。
データベースプログラム306は、当該DBサーバのデータベース(外部メモリ)に記憶された、休日マスタテーブル(図9)408、授業マスタテーブル(図14)409、時間割マスタテーブル(図13)410、ロケーションテーブル(図15)411、印刷許可設定テーブル(図16)412、印刷許可履歴テーブル(不図示)413への、データの書き込み(記憶)、及びデータの変更、及びデータの削除などを行うことができる。これら各種テーブルの詳細については、後で説明する。
プリントサーバプログラム304は、印刷データ受信部414、ロケーション不正判定部415、時間割制御による印刷処理部416、後処理部417、ロケーション不正エラー通知処理部418を備える。
印刷データ受信部414は、クライアント端末から印刷要求としての印刷データを受信する機能を備える。
ロケーション不正判定部415は、DBサーバ106のロケーションテーブル(図15)のデータを取得し、印刷要求を出したクライアント端末と当該印刷要求で指示された出力先となるプリンタとのロケーションが同じか否かを判定する機能を備える。
時間割制御による印刷処理部416は、DBサーバ106に記憶された印刷許可設定テーブルのデータを取得し、当該データに従って印刷の出力制御を行う機能を備える。
後処理部417は、プリンタに印刷データを出力した後、当該出力した時間などを印刷履歴として記憶する機能を有する。
ロケーション不正エラー通知処理部418は、ロケーション不正判定部415で、印刷要求を出したクライアント端末と当該印刷要求で指示された出力先となるプリンタとのロケーションが異なると判定された場合(不正と判定された場合)は、管理者にその旨を通知する処理を行う機能を有する。さらに、ロケーション不正エラー通知処理部418は、クライアント端末に、その結果を表示するための指示を行う機能も備えている。
<図5の説明>
図5は、管理者端末111の時間割設定アプリケーション302が実行する管理情報生成処理の手順を示すフローチャートである。
管理者端末111のCPU201は、ステップS501からS516に示す処理(図5)を実行する。
管理者端末111のCPUは、まず、管理者端末(例えばOS300)から現在の日付を取得する。そして、現在の日時から、所定の期間(ここでは、例えば現在から1週間)分の管理情報が、印刷許可設定テーブル(図16)に記憶されているかを検索するための検索指示を、DBサーバに対して行う(ステップS501)。
ここで、管理情報とは、図16に示す印刷許可設定テーブルに記憶された、「ロケーションID」、「年月日」、「開始時間」、「終了時間」、「上限管理」、「印刷方式」、「カラー印刷許可」に設定されたデータをいう。
DBサーバのCPUは、当該指示に従って検索を行い、現在の日付から1週間分の日付が、印刷許可設定テーブルの「年月日」に記憶されているか否かを示す検索結果を、管理者端末に送信する。
管理者端末のCPUは、当該検索結果を受信すると、該検索結果に従って、現在から1週間分の管理情報が、印刷許可設定テーブル(図16)に記憶されているか否かを判定する(ステップS502)。
管理者端末のCPUは、現在から1週間分の管理情報が、印刷許可設定テーブル(図16)に記憶されていると判定した場合は(ステップS502:YES)、プリントサーバの外部メモリに記憶された設定ファイル(図8)の中から、管理者により選択指示された任意のtarget_dayと、休日の条件とを取得し(ステップS504)、ステップS505への処理に移行する。
ステップS504において、「管理者により選択指示された任意のtarget_day」とは、所定の期間分の管理情報が、印刷許可設定テーブル(図16)に記憶されている場合(ステップS502:YES)に、設定ファイルに記憶されたtarget_dayを表示し(図8の例では、target_day=1、target_day=2、target_day=3、target_day=4、target_day=5、target_day=6、target_day=7の7つを表示し)、その中から管理者により選択された1つのtarget_dayのことである。
ここで、図8に示す設定ファイルについて説明する。
設定ファイルは、プリントサーバの外部メモリに記憶されており、「印刷許可設定の対象日」、「休日の条件」とから構成される。
「印刷許可設定の対象日」とは、今日から、何日後の管理情報を生成するかが設定された情報である。
また、「休日の条件」とは、後述するが、休日に設定する「印刷制御情報」のことを示している。
具体的には、Default_limit(休日扱い日の上限管理)、Default_way(休日扱い日の印刷方式)、Default_color(休日扱い日のカラー印刷許可)である。
図8に示す設定ファイルには、[Default_limit=有り]、[Default_way=直接]、[Default_color=可]と設定されている。具体的には、[Default_limit]には、後述する「上限管理」を行うか否かが設定されており、[Default_limit=有り]の場合は、「上限管理」を行うことが設定されていることを示している。一方、[Default_limit=無し]と設定されていれば、「上限管理」を行わない設定がされていることを示している。
また、[Default_way]には、印刷方式が設定されており、[Default_way=オンデマンド=直接」と設定されている場合は、いわゆる直接印刷が設定されていることを示し、[Default_way=オンデマンド]と設定されている場合は、オンデマンド印刷が設定されていることを示す。
[Default_color]には、カラー印刷を許可するか否かが設定されている。[Default_color=可]と設定されている場合は、カラー印刷を許可することを示し、[Default_color=不可]と設定されている場合は、カラー印刷を許可しない(禁止する)ことが設定されている。
また、ここで、設定ファイルにtarget_dayが設定されているが、これが「印刷許可設定の対象日」である。すなわち、「target_day=1」であれば、1日後の管理情報を生成することを示している。よって、図8のように、「target_day=1」「target_day=2」「target_day=3」「target_day=4」「target_day=5」「target_day=6」「target_day=7」と設定されている場合は、明日から7日後(1週間後)までの管理情報を生成することが設定されていることを示している。ステップS503では、これら複数日分を読込む。
以下、図5の説明に戻る。次に、ステップS502で、管理者端末のCPUは、該検索結果に従って、現在から1週間分の管理情報が、印刷許可設定テーブル(図16)に記憶されていないと判定した場合は(ステップS502:NO)、即ち、今後1週間分の管理情報が、印刷許可設定テーブルに記憶されていないと判定された場合は、プリントサーバの外部メモリに記憶された設定ファイル(図8)を取得する(読み込む)(ステップS503)。
管理者端末のCPUは、ステップS503又はステップS504で、設定ファイルを読み込むと、当該読み込んだ設定ファイルに含まれたtarget_dayを設定する(ステップS505)。
ここで、ステップS504で1つのtarget_dayが選択された場合(ここでは、例えばtarget_day=1が選択された場合)は、当該選択された1つのtarget_dayに前記所定の期間分(ここでは、例えば1週間(7日))を加算した値(1+7)を、target_day(=8)として設定する。
また、ステップS503で、複数のtarget_dayを読み込んだ場合は、そのうちの1つのtarget_dayを設定する。
次に、管理者端末のCPUは、ステップS501で取得した現在の年月日(日付)をtoday(変数)に代入(設定)する(ステップS506)。
次に、管理者端末のCPUは、DBサーバに記憶されたロケーションテーブル(図15)を取得する。
そして、管理者端末のCPUは、取得したロケーションテーブルの先頭のレコードにおけるロケーションIDをlocation(変数)に代入(設定)する(ステップS507)。
次に、管理者端末のCPUは、todayとtarget_dayとに代入されている値を足した値(日)(today+target_day)(即ち、管理情報を生成する対象日)が、休日マスタテーブル(図9)の「年月日」に設定されているかを検索させるための検索指示を、DBサーバに送信する(ステップS508)。
ここで、図9に示す休日マスタテーブル(休日マスタTBL)について説明する。
休日マスタテーブルは、DBサーバの外部メモリに記憶され、「年月日」の項目に休日が記憶(登録)されている。また、「SEQ No(自動採番)」はシーケンス番号を示し、「年月日」に登録される休日を区別するための番号である。ここでは、「年月日」に登録された休日は、どの教室においても授業がない日であることを示している。
そして、当該検索指示を受けたDBサーバのCPUは、DBサーバに記憶された休日マスタテーブルの「年月日」に、today+target_dayの値があるか否かを検索する。そして、その検索結果を管理者端末に送信する。
当該検索結果を取得した管理者端末のCPUは、当該検索結果に従って、today+target_dayの値が、休日マスタテーブルに記憶されているか否かを判定する(ステップS509)。すなわち、today+target_dayが示す「管理情報を生成する対象日」が休日か否かを判定する。
管理者端末のCPUは、ステップS509で、today+target_dayの値が、休日マスタテーブルに記憶されている(即ち、「管理情報を生成する対象日」が休日)と判定した場合は(ステップS509:YES)、印刷許可設定テーブル(図16)に、ステップS503又はステップS504で取得した休日の条件と当該today+target_dayと、ステップS507でlocationに設定されたロケーションIDとを対応づけて設定させるための指示を、DBサーバに対して行う。
また、管理者端末のCPUは、ステップS609で休日と判定された場合(ステップS509)は、印刷許可設定テーブルにおける「開始時間」、「終了時間」として「00:00」、「24:00」を、該休日の条件と該today+target_dayと該locationに設定されたロケーションIDと対応付けて設定させるための指示を、DBサーバに対して行う(ステップS510)。
DBサーバ106は、当該指示に従って、該休日の条件と、該today+target_dayに設定された日付と、該locationに設定されたロケーションIDと、「開始時間」(「00:00」)と、「終了時間」(「24:00」)とを対応づけて、印刷許可設定テーブルに記憶(設定)する。
以上の通り、該ロケーションID、該today+target_day(管理情報を生成する対象日:「年月日」)、該休日の条件(「上限管理」、「印刷方式」、「カラー印刷」)、「開始時間」、「終了時間」を生成し、印刷許可設定テーブルに記憶(設定)することができる。
次に、管理者端末のCPUは、ステップS510でDBサーバに対して当該指示を行うと、ステップS508で検索された、today+target_dayに設定された日付において、ステップS507で取得したロケーションテーブルの全てのロケーションIDに対して、印刷許可設定テーブルに設定したか否かを判定する(ステップS513)。
具体的には、ステップS513では、locationがNULLか否かを判定することで、「管理情報を生成する対象日」に対して、ロケーションテーブルに設定された全てのロケーションでの管理情報を生成し、印刷許可設定テーブルに設定したか否かを判定する。
次に、管理者端末のCPUは、ステップS513で、ロケーションテーブルの全てのロケーションIDに対する管理情報を生成していないと判定した場合は(ステップS513:NO)、ロケーションテーブルの次のレコードにおけるロケーションIDをlocationに設定して(ステップS514)、ステップS508に処理を移行する。ここで、ロケーションテーブルの次のレコードにおけるロケーションIDが無い場合は、locationに「NULL」を設定する。
管理者端末のCPUは、ステップS509で、today+target_dayの値が休日マスタテーブルに記憶されていない(即ち、「管理情報を生成する対象日」が休日ではない)と判定した場合は(ステップS509:NO)、ステップS511へ処理を移行する。
管理者端末のCPUは、ステップS511において、当該today+target_dayの値(管理情報を生成する対象日)が曜日かを決定(特定)する(ステップS511)。ここでは、予め記憶されたカレンダーから、当該対象日の曜日を決定する。また、その他の方法で、日にちから該日にちの曜日を決定しても構わない。そして、ステップS511において、特定された曜日が月曜ならばyoubi(変数)に1を、火曜ならばyoubiに2を、水曜ならばyoubiに3を、火曜ならばyoubiに2を、木曜ならばyoubiに4を、金曜ならばyoubiに5を、土曜ならばyoubiに6を、日曜ならばyoubiに7を、設定(代入)する。
次に、管理者端末のCPUは、ステップS512において、該曜日が特定された当該today+target_day(管理情報を生成する対象日)に対する管理情報を生成し、印刷許可設定テーブルに記憶する処理を実行し、ステップS513に処理を移行する。ステップ512の詳細処理については、あとで図7を用いて説明する。
管理者端末のCPUは、ロケーションテーブルの全てのロケーションIDに対する管理情報を生成したと判定した場合(locationがNULLと判定した場合)には(ステップS513:YES)、ステップS515に処理を移行し、ステップS503又はステップS504で取得したtarget_dayの全てに対して、ステップS507からステップS513の処理を実行したか否かを判定し、全てのtarget_dayに対して処理したと判定した場合は(ステップS515:YES)、処理を終了し、全てのtarget_dayに対して処理を終了していないと判定した場合は、処理をまだ行っていないtarget_dayを設定し(ステップS516)、ステップS507に処理を移行する。
図5に示す処理(フローチャート)では、設定ファイル、休日マスタテーブル、時間割マスタテーブル、授業マスタテーブル、ロケーションテーブルから、印刷許可設定テーブルに記憶するデータ(管理情報)を生成したが、例えば、印刷許可設定テーブルに記憶させるデータ(管理情報)を含むCSV形式のファイルを作成し、当該CSV形式のファイルから印刷許可設定テーブルに、該データを登録するようにしてもよい。
<図6の説明>
図6は、プリントサーバ105の外部メモリに記憶されたユーザテーブルの具体例である。
該ユーザIDと印刷可能残枚数とが互いに紐付けられて記憶されている。例えば、図6の例では、ユーザ(ID)「momose」は、印刷出力が可能な枚数(印刷可能残数)(印刷上限値)は、あと84枚であることを示している。このように、ユーザIDごとに、印刷出力を許可する枚数(印刷可能残数)が設定されており、出力される毎に、当該出力する枚数分、印刷可能残数が減る(更新される)。
<図7の説明>
図7は、図5のステップS512の詳細処理を示すフローチャートである。
以下に、図7を用いて、ステップS512の詳細処理について説明する。
ロケーション毎の対象日の印刷許可データ登録処理の手順を示すフローチャートである。
管理者端末のCPUは、Rec(変数)に「0(ゼロ)」を設定(代入)する(ステップS701)。
そして、管理者端末111のCPU201は、ステップS702において、DBサーバに記憶された授業マスタテーブル(図14)から、現在locationに設定されたロケーションIDかつyoubiに設定された値に該当するレコードを取得するための検索指示をDBサーバに送信する。
DBサーバは、当該指示に従って、授業マスタテーブル(図14)の「ロケーションID」と「曜日」を参照し、locationに設定されたロケーションIDかつyoubiに設定された値に該当するレコードを検索して取得し、管理者端末に送信する。
管理者端末のCPUは、DBサーバから、当該レコードを取得すると、そのレコードの数を算出してRec_all(変数)に設定(代入)する。
また、管理者端末のCPUは、当該取得したレコードの先頭のレコードにおける「時限」の値をjigen(変数)に設定(代入)する。また、同様に、当該取得したレコードの先頭のレコードにおける「授業FLG(授業フラグ)」の値をjugyo(変数)に設定(代入)する。
ここで、図14に示す授業マスタテーブル(授業マスタTBL)について、説明する。
授業マスタテーブル(図14)は、「ロケーションID」、「曜日」、「時限」「授業フラグ(授業FLG)」から構成される。
「ロケーションID」とは、後述するが、ロケーションを識別するための識別情報である。この項目には、教室Aを示す「A」や教室Bを示す「B」、オープンスペースを示す「オープンスペース」が記憶(登録)されている。
また、「曜日」の項目には、「日曜」、「月曜」、「火曜」、「水曜」、「木曜」、「金曜」、「土曜」を識別するための数字として「1」から「7」が記憶(登録)されている。
また、「時限」の項目には、後述するが、授業時間の単位を示した数字が記憶(登録)されている。
また、「授業フラグ(授業FLG)」の項目には、本実施例では、「1」から「6」の数字をフラグとして記憶(登録)している。
授業の目的に応じて、「印刷の上限管理をする/しない」、「直接印刷/オンデマンド印刷のどちらの印刷方式にするか」、「カラー印刷を許可する/しない」を、授業フラグによって、設定することができる。
後で説明するが、「授業フラグ(授業FLG)」の値が「1」の場合は、「上限管理」を「無し」、「印刷方式」を「直接(印刷)」、「カラー許可設定」を「可」に設定することを示している。
このように、授業マスタテーブルは、これら「ロケーションID」、「曜日」、「時限」、「授業フラグ(授業FLG)」とが互いに紐付いて(対応して)管理されている。
以下、図7の説明に戻る。
ステップS702において、管理者端末のCPUは、Rec_all(変数)、jigen(変数)、jugyo(変数)に値を設定すると、次に、Recに設定された値が、Rec_all以上の値か否かを判定する(ステップS704)。
そして、管理者端末のCPUは、Recに設定された値が、Rec_all以上と判定した場合(ステップS704:YES)、処理を終了し、図5に示すステップ513に処理を移行する。
また、管理者端末のCPUは、Recに設定された値が、Rec_all未満と判定した場合(ステップS704:NO)には、ステップS705に処理を移行する。
ステップS704では、管理者端末のCPUは、ステップS702で取得したレコードの全てに対して、ステップS705からステップS707の処理を行ったか否かを判定している。即ち、全てのレコードに対して、当該処理を行ったと判定した場合は(ステップS704:YES)、ステップS513(図5)に処理を移行し、また、当該処理を行っていないと判定した場合は(ステップS704:NO)、ステップS705の処理へ移行する。
ステップS705は、ステップS702で設定された、jigenに設定された値(時限)とlocationに設定された値(ロケーションID)における開始時間と終了時間とを取得する処理である。
すなわち、ロケーション毎に設定された授業の時限における開始時間と終了時間とを取得する処理である。
具体的には、管理者端末のCPUは、ステップS705において、DBサーバが記憶している時間割マスタテーブル(図13)から、locationに設定された値(ロケーションID)かつjigenに設定された値に該当するレコードを検索するための検索指示をDBサーバに送信する。
当該指示を受けたDBサーバのCPUは、時間割マスタテーブル(図13)の「ロケーションID」と「時限」とを参照し、locationに設定された値(ロケーションID)かつjigenに設定された値に該当するレコードを検索し、該当するレコードの開始時間と終了時間を管理者端末に送信する。
そして、管理者端末のCPUは、DBサーバから当該開始時間と終了時間を取得すると、当該jigenに設定された値における、該開始時間と該終了時間をRAMなどに記憶保持する。
このように、ステップS705において、授業の時限における開始時間と終了時間とを取得すると、管理者端末のCPUは、処理をステップS706に処理を移行し、印刷制御情報(「上限管理」、「印刷方式」、「カラー印刷許可」)を取得する処理を実行する。
ここで、図13に示す時間割マスタテーブル(時間割マスタTBL)について、説明する。
時間割マスタテーブルは、「ロケーションID」、「時限」、「開始時間」、「終了時間」とから構成されている。「ロケーションID」とは、ロケーションを識別するための識別情報であり、ロケーションIDが同じであれば、同じロケーションであることを示し、異なるロケーションIDであれば、異なるロケーションを示す。また、「時限」とは、授業時間の単位を示し、「1」であれば1時限目を示し、「2」であれば2時限目を示す。図13は、8時限目まで授業があることを想定して作成されている。「開始時間」とは、授業の開始時間を示し、「終了時間」とは、授業の終了時間を示している。これら、「ロケーションID」、「時限」、「開始時間」、「終了時間」とが互いに紐付いて(対応して)管理されている。
以下、図7の説明に戻る。
次に、ステップS706では、管理者端末のCPUは、DBサーバが記憶している授業マスタテーブル(図14)からlocationに設定された値かつ、youbiに設定された値に該当するレコードを検索するための検索指示をDBサーバに送信する。
当該指示を受けたDBサーバは、授業マスタテーブル(図14)の「ロケーションID」と「曜日」とを参照し、locationに設定された値かつ、youbiに設定された値に該当するレコードの授業フラグ(授業FLG)の値を取得し、管理者端末に送信する。
管理者端末のCPUは、当該授業フラグを取得すると、該授業フラグに対応した印刷制御情報を取得し記憶保持する。
ここで、印刷制御情報を取得する具体例としては、例えば、管理者端末の外部メモリには、授業フラグ毎に印刷制御情報が設定された印刷制限テーブル(不図示)を記憶しており、当該印刷制限テーブルを参照(検索)することで、授業フラグに対応した印刷制限情報を取得することができる。
図5及び図7に示す処理を実行する時間割設定アプリケーション302のプログラムにより、取得された授業フラグに従って一意に印刷制御情報が決定されるようにしても構わない。
例えば、「授業フラグ(授業FLG)」の値が、「1」の場合は、「上限管理」を「無し」、「印刷方式」を「直接(印刷)」、「カラー許可設定」を「可」に設定する。また、「授業FLG」の値が「2」の場合は、「上限管理」を「無し」、「印刷方式」を「直接(印刷)」、「カラー許可設定」を「不可」に設定する。また、「授業FLG」の値が「5」の場合は、「上限管理」を「有り」、「印刷方式」を「直接(印刷)」、「カラー許可設定」を「可」に設定する。また、「授業FLG」の値が「6」の場合は「上限管理」を「有り」、「印刷方式」を「直接(印刷)」、「カラー許可設定」を「不可」に設定する。例えば、ロケーションIDで示される教室において、授業がない場合に授業フラグを「5」又は「6」などに設定し、授業がある場合は、「1」又は2「2」を設定することができ、授業フラグによって、授業の有無を設定することもできる。
ステップS706で印刷制御情報を取得すると、管理者端末のCPUは、ステップS705で取得した「開始時間」、「終了時間」と、ステップS706で取得した印刷制御情報(「上限管理」、「印刷方式」、「カラー印刷許可」)と、現在「location」に設定されている値と、「today+target_day」に設定されている値(管理情報を生成する対象日)とを、印刷許可設定テーブル(図16)に記憶させるために、DBサーバに送信する(登録指示する)。
DBサーバのCPUは、当該登録指示を受けると、開始時間」、「終了時間」、印刷制御情報(「上限管理」、「印刷方式」、「カラー印刷許可」)、「location」に設定されている値、「today+target_day」に設定されている値(管理情報を生成する対象日)を印刷許可設定テーブル(図16)に記憶する。
次に、管理者端末のCPUは、Recに代入されている値を1だけインクリメントして(ステップS709)、ステップS702で取得した(授業マスタテーブルの)レコードの次のレコードにおける「時限」の値をjigenに、「授業FLG」の値をjugyoにそれぞれ設定し(ステップS710)、ステップS704に処理を移行する。
以上の処理を実行することで、授業マスタテーブルと時間割マスタとから、印刷許可設定テーブルを生成することができる。
<図10の説明>
図10は、プリントサーバ105のプリントサーバプログラム304が実行する印刷制御処理を示すフローチャートである。
プリントサーバ105のCPUは、クライアント端末から印刷データを含む印刷要求と共に、当該クライアント端末のIPアドレスを取得する(ステップS1001)。
次に、プリントサーバ105のCPUは、DBサーバからロケーションテーブル(図15)取得する。
そして、プリントサーバ105のCPUは、当該取得したロケーションテーブル(ロケーションTBL)を参照し、ステップS1001で取得したクライアント端末のIPアドレスが、ロケーションテーブルに設定されたスタートIPからエンドIPのいずれかに間に含まれるか否かを判定する(ステップS1002)。
プリントサーバ105のCPUは、クライアント端末のIPアドレスが、ロケーションテーブルに設定されたスタートIPからエンドIPの間のいずれかに含まれると判定された場合は(ステップS1002:YES)、ステップS1003に処理を移行する。
また、プリントサーバ105のCPUは、クライアント端末のIPアドレスが、ロケーションテーブルに設定されたスタートIPからエンドIPの間のいずれにも含まれないと判定された場合は(ステップS1002:NO)、ステップS1009に処理を移行する。
プリントサーバ105のCPUは、クライアント端末のIPアドレスが、ロケーションテーブルに設定されたスタートIPからエンドIPのいずれかに間に含まれる場合、当該ロケーションテーブル(ロケーションTBL)を参照し、ステップS1001で取得したクライアント端末のIPアドレスが、どのロケーションIDに含まれるかを特定し、location(変数)に当該ロケーションIDを設定(代入)する(ステップS1003)。
ここで、図15に示すロケーションテーブルについて、簡単に説明する。
図15に示すロケーションテーブルは、ロケーション(ID)毎に割り当てられたIPアドレスの範囲が設定されている。即ち、ロケーションと該ロケーションのネットワークに用いられるIPアドレスとが関連付けられている。
したがって、ロケーションIDが「A」のロケーションでのクライアント端末又はプリンタは、スタートIP「192.168.1.1」からエンドIP「192.168.1.255」の範囲のIPアドレスのいずれかが用いられネットワークに接続されている。
したがって、クライアント端末のIPアドレスから、当該クライアント端末がどこのロケーションのネットワークに接続されたのかを特定することができる。このように、アドレス情報にしたがって、クライアント端末やプリンタのロケーションを特定することができる。
図10に示す印刷制御処理の説明に戻る。
ステップS1003でlocation(変数)に当該ロケーションIDを設定(代入)した後、プリントサーバ105のCPUは、該印刷データに含まれる出力先のプリンタの名前(プリンタ名)から、当該プリンタのIPアドレスを特定する。
具体的には、プリントサーバ105の外部メモリには、プリンタ名と当該プリンタのIPアドレスとが紐付けて管理されたテーブル(不図示)を記憶している。したがって、印刷データに含まれる出力先となるプリンタ名から、出力先(プリンタ)のIPアドレスを特定することができる。
そして、プリントサーバ105のCPUは、ロケーションテーブルを参照し、当該IPアドレスが特定されたプリンタのロケーション(ID)を特定し、当該プリンタと、当該印刷データを送信した(送信元である)クライアント端末とが同じロケーションか否かを判定する(ステップS1004)。
この判定により、教室以外の場所に設置されたプリンタに出力することを防ぎ、結果として、学生による不正な印刷を防止することができる。
そして、プリントサーバ105のCPUは、当該プリンタと、該クライアント端末とが同じロケーション(ID)であると判定した場合(ステップS1004:YES)、ステップS1005の処理に移行し、異なるロケーションと判定した場合(ステップS1004:NO)、ステップS1009の処理へ移行する。
次に、当該プリンタと、該クライアント端末とが同じロケーション(ID)であると判定した場合、プリントサーバ105のCPUは、ステップS1005の処理において、現在の日付(年月日)を(例えばOSから)取得し、today(変数)に代入(設定)する(ステップS1005)。また、現在の時間を(例えばOSから)取得し、time(変数)に代入(設定)する(ステップS1006)。
このように、today(変数)、time(変数)を設定した後、プリントサーバ105のCPUは、管理情報生成処理(図5)で作成した印刷許可設定テーブルに従って、印刷制御処理を実行する(ステップS1007)。この印刷処理(ステップS1007)の詳細処理(図11)については、後述する。
具体的には、印刷許可設定テーブルを参照して、現在、設定されているlocation、today、timeに該当する印刷制御情報(「上限管理」「印刷方式」「カラー許可設定」)に従った印刷制御を実行する。
プリントサーバ105のCPUは、ステップS1007での印刷制御処理を実行した後、後処理として、印刷出力を行った時間やファイル名、出力指示したユーザIDなどを印刷履歴として、DBサーバの外部メモリに記憶する(ステップS1008)。
また、プリントサーバ105のCPUは、ステップS1008において、出力できたか否かを示す画面を表示させる指示をクライアント端末に対して行うこともできる。この場合、当該指示を受けたクライアント端末は、当該指示に従って、出力ができたか否かを示す画面を表示する。
プリンタサーバ105のCPUは、ステップS1002において、クライアント端末のIPアドレスが、ロケーションテーブルに設定されたスタートIPからエンドIPの間のいずれにも含まれないと判定された場合(ステップS1002:NO)、又は、ステップS1004において、印刷要求を行ったクライアント端末と当該印刷要求で指定された出力先であるプリンタとが異なるロケーションと判定した場合(ステップS1004:NO)、ステップS1009のエラー通知処理を実行する。
ステップS1009に示すエラー通知処理は、プリンタサーバ105のCPUは、印刷要求を行ったクライアント端末が、プリントサーバ105が管理するロケーション以外のネットワークに接続されていると判定した場合(ステップS1002:NO)、又は、印刷要求から特定される印刷先となるプリンタと当該印刷要求をしたクライアント端末とが異なるロケーションであると判定した場合(ステップS1004:NO)、当該印刷要求に係る印刷データを当該プリンタへ出力させず(出力禁止して)、印刷データを消去する。また、この際に、管理者端末に、その旨を通知する処理を実行する。また、クライアント端末にもその旨を通知する処理を実行する。クライアントに通知する具体例として、以下にその一例を示す。プリントサーバはクライアント端末のIPアドレスを取得しているので、そのIPアドレスに対して、XML-RPC通信でクライアント端末にポップアップメッセージを出力することができる。
<図11の説明>
図11は、図10のステップS1007における印刷処理の詳細処理を示すフローチャートである。
図10における、ステップS1003、ステップS1005、ステップS1006でそれぞれ設定されたlocationに設定された値、todayに設定された値、timeに設定された値をまとめて、本実施例では、「参照条件」と呼ぶことにする。
プリンタサーバのCPUは、Rec(変数)に「0(ゼロ)」を代入し(ステップS1101)、印刷許可設定テーブルから、locationに設定された値かつtodayに設定された値に該当するレコードの検索の指示をDBサーバに対して行う。
DBサーバは、印刷許可設定テーブル(図16)の「ロケーションID」と「年月日」を参照して、locationに設定された値(ロケーションID)かつtodayに設定された値(年月日)に該当するレコードを検索して特定し、取得(抽出)してプリントサーバに送信する。
そして、プリンタサーバのCPUは、locationに設定された値かつtodayに設定された値に該当するレコードを、DBサーバから取得すると、当該レコードの数を算出して、Rec_all(変数)に代入(設定)する(ステップS1102)。
次に、プリンタサーバのCPUは、ステップS1102で取得したレコードの先頭行の「開始時間」と「終了時間」を、それぞれstart_time(変数)とend_time(変数)に代入(設定)する。
そして、プリンタサーバのCPUは、ステップS1102で取得した全てのレコードに対して、後述するステップS1105の処理を実行したか否かの判定を行う(ステップS1104)。
具体的には、Recに設定された値と、Rec_allに設定された値とを比較し、Recに設定された値がRec_allに設定された値以上であると判定された場合(ステップS1104:YES)に、ステップS1109の処理を実行し、Recに設定された値がRec_allに設定された値よりも小さいと判定された場合(ステップS1104:NO)に、ステップS1105の処理を実行する。
ステップ1105において、プリンタサーバのCPUは、出力指示された現在の時刻(time)が、ステップS1103で設定した「開始時間」と「終了時間」との間か否かを判定する。
具体的には、「timeに設定された値(時間)」が「start_timeに設定された値(時間)」以後で(以上で)かつ、「end_timeに設定された値(時間)」が「timeに設定された値(時間)」以後で(以上で)あるか否かを判定する。
この条件(「timeに設定された値(時間)」が「start_timeに設定された値(時間)」以後で(以上で)かつ、「end_timeに設定された値(時間)」が「timeに設定された値(時間)」以後で(以上で)あるか)を満たさない場合(ステップS1105:NO)、即ち、出力指示された現在の時刻(time)が、ステップS1103で設定した「開始時間」と「終了時間」との間ではないと判定した場合は、Recを「1」だけインクリメントして(ステップS1106)、次のレコードの「開始時間」と「終了時間」をそれぞれstart_time(変数)とend_time(変数)に代入(設定)する(ステップS1107)。そして、ステップS1104に処理を移行する。
ステップS1104で、ステップS1102で取得した全てのレコードに対して、ステップS1105の処理を実行したと判定した場合(ステップS1104:YES)、すなわち、印刷許可設定テーブルに、出力指示された現在の時刻(time)が設定されていないと判定された場合は、プリンタサーバのCPUは、印刷許可設定テーブルの「ロケーションID」、「年月日」、「開始時間」、「終了時間」、「上限管理」、「印刷方式」、「カラー印刷許可」に対し、それぞれ、現在、locationに設定されている値(ロケーションID)、todayに設定されている値(年月日)、「00:00」、「24:00」、「有り」、「直接」、「不可」を設定(登録)するための指示をDBサーバに対して行う(ステップS1109)。このように、印刷許可設定テーブルに、出力指示された現在の時刻(time)が設定されていない場合は、上限管理を行うことを示す管理情報を、印刷許可設定テーブルに設定する。
そして、当該指示を受けたDBサーバは、印刷許可設定テーブルの「ロケーションID」、「年月日」、「開始時間」、「終了時間」、「上限管理」、「印刷方式」、「カラー印刷許可」に対し、それぞれ、現在、locationに設定されている値(ロケーションID)、todayに設定されている値(年月日)、「00:00」、「24:00」、「有り」、「直接」、「不可」を設定する。
また、プリンタサーバのCPUは、ステップS1102で取得したレコード(印刷許可設定テーブル)の「ロケーションID」、「年月日」、「開始時間」、「終了時間」、「上限管理」、「印刷方式」、「カラー印刷許可」に対し、それぞれ、現在、locationに設定されている値(ロケーションID)、todayに設定されている値(年月日)、「00:00」、「24:00」、「有り」、「直接」、「不可」を設定(登録)して、ステップS1108に処理を移行する。
また、ステップ1105において、プリンタサーバのCPUは、出力指示された現在の時刻(time)が、ステップS1103で設定した「開始時間」と「終了時間」との間にあると判定された場合(ステップS1105:YES)、ステップ1108の処理に移行する。
ステップS1108でプリンタサーバのCPUが実行する詳細処理を図12に示す。
ステップS1108では、ステップS1105の条件を満たすレコードに設定されている印刷制御情報、又は、ステップ1109で設定された印刷制御情報を用いて、印刷要求から特定される出力先(プリンタ)への出力制御を実行する。
<図12の説明>
図12は、図11のステップS1108における印刷制御処理の詳細処理を示すフローチャートである。
図12に示す印刷制御処理で用いられる印刷制御情報(「上限管理」、「印刷方式」、「カラー印刷許可」)は、ステップS1105の条件を満たしたレコードに設定されている印刷制御情報、又は、ステップ1109で設定された印刷制御情報である。
プリントサーバ105のCPUは、クライアント端末から受信した印刷要求に含まれる印刷データを解析し、印刷データを出力した場合の枚数を示す「出力枚数」と、印刷要求したユーザを示す「ユーザ(ID)」と、印刷データに設定された印刷設定がカラー印刷かそれともモノクロ印刷かを示す「カラー印刷情報」とを取得する(ステップS1201)。
次に、プリントサーバ105のCPUは、印刷制御情報である「カラー印刷許可」が「可」であるか否か、又は、「カラー印刷許可」が「不可」でかつステップS1201で取得した「カラー印刷情報」が「モノクロ印刷」であるか否かを判定する。(ステップS1202)。
ステップS1202において、「カラー印刷許可」が「可」である、又は、「カラー印刷許可」が「不可」でかつステップS1201で取得した「カラー印刷情報」が「モノクロ印刷」であると判定された場合には(ステップS1202:YES)、プリントサーバ105のCPUは、印刷制御情報に含まれる「上限印刷」が「有り」と設定されているか否かを判定する(ステップS1203)。すなわち、授業中であるか否かを判定する。
そして、プリントサーバ105のCPUは、ステップS1203において、「上限印刷」が「有り」と印刷制御情報に設定されている場合(ステップS1203:YES)(授業中ではないと判定される場合)、ステップS1201で取得したユーザ(ID)に該当する印刷可能残数を、ユーザテーブルから取得する(ステップS1204)。
例えば、ステップS1201で取得したユーザ(ID)がmomoseの場合、ユーザテーブルのユーザIDを参照し「momose」に対応する印刷可能残数(84枚)を取得する。
ここで、図6に示すユーザテーブルについて説明する。
図6は、プリントサーバ105の外部メモリに記憶されたユーザテーブルの一例である。
ユーザテーブルは、「ユーザID」と「印刷可能残数」とか構成される。
「ユーザID」とは、ユーザを識別可能な情報であり、クライアントからの印刷要求から取得することができる。ここでは、ユーザ名をユーザIDとして説明している。
また、「印刷可能残数」とは、印刷出力を許可している印刷枚数である。この印刷可能残数を超えた印刷は禁止する処理を行う。
図6に示すように、ユーザテーブルは、該ユーザIDと印刷可能残枚数とが互いに紐付けられて記憶されている。例えば、図6の例では、ユーザ(ID)「momose」は、印刷出力が可能な枚数(印刷可能残数)は、あと84枚であることを示している。このように、ユーザごとに、印刷出力を許可する枚数(印刷可能残数)が設定されており、出力される毎に、当該出力する枚数分、印刷可能残数が減る(更新される)。
次に、プリントサーバ105のCPUは、当該取得した印刷可能残数と、ステップS1201で取得した「出力枚数」とを比較する(ステップS1205)。即ち、クライアント装置から出された印刷要求に伴う印刷を実行させるか否かを判定する。そして、プリントサーバ105のCPUは、「印刷可能残数」>=「出力枚数」か否かを判定し、印刷可能残数が出力枚数以下であると判定した場合は(ステップS1205:YES)、印刷を出力させないための印刷禁止処理(ステップS1210)を実行し、ステップS1008に処理を移行する。
また、ステップS1205において、印刷可能残数が出力枚数よりも多いと判定した場合は(ステップS1205:NO)、ユーザテーブルの印刷可能残数を更新する(ステップS1206)。
具体的には、ユーザテーブルにおける、ステップS1201で特定されたユーザの印刷可能残数から、「出力枚数」を引いて(減算して)得られる数を、該ユーザにおける印刷可能残数として、ユーザテーブルに上書き記憶(更新)する(ステップS1206)。
次に、プリントサーバ105のCPUは、印刷制御情報に含まれる「印刷方式」が「直接(印刷)」か「オンデマンド(印刷)」か、を判定し、直接印刷である場合は(ステップS1207:YES)、印刷データを出力先となるプリンタに出力する(ステップS1208)。また、「印刷方式」がオンデマンド印刷である場合は(ステップS1207:NO)、当該印刷データをプリンタサーバに記憶保持する(ステップS1209)。
また、プリントサーバ105のCPUは、ステップS1203において、印刷制御情報である「上限印刷」が「有り」と設定されてない場合、すなわち、「上限印刷」が「無し」と設定されている場合は(授業中であると判定される場合)(ステップS1203:NO)、出力先であるプリンタに印刷データを送信する(ステップS1208)。
また、プリントサーバ105のCPUは、ステップS1202で「カラー印刷許可」が「不可」でかつステップS1201で取得した「カラー印刷情報」が「カラー印刷」であると判定された場合には(ステップS1202:NO)、印刷を出力させないための印刷禁止処理(ステップS1210)を実行し、ステップS1008に処理を移行する。
プリントサーバ105のCPUは、ステップS1210において、印刷を出力させないための印刷禁止処理を実行する。具体的には、プリンタに印刷データを送信せず、当該印刷データをメモリから消去する処理を実行する。
ステップS1208の処理のあと、ステップS1008に処理を移行して、プリントサーバ105のCPUは、「印刷データを出力先プリンタに送信した」などの印刷結果情報と、印刷データ情報(印刷日時、出力指示したユーザ(ID)、ドキュメント名、出力枚数)とを印刷履歴として、DBサーバの外部メモリに記憶させるための指示を行う(ステップS1008)。そして、当該指示を受けたDBサーバは、当該指示に従って、当該印刷結果情報と、印刷データ情報とをDBサーバの外部メモリに記憶する。
また、ステップS1209の処理のあと、ステップS1008に処理を移行して、プリントサーバ105のCPUは、「印刷データをオンデマンド印刷するためのプリンタサーバに記憶保持した」などの印刷結果情報と、印刷データ情報(印刷日時、出力指示したユーザ(ID)、ドキュメント名、出力枚数)とを印刷履歴として、DBサーバの外部メモリに記憶させるための指示を行う(ステップS1008)。そして、当該指示を受けたDBサーバは、当該指示に従って、当該印刷結果情報と、印刷データ情報とをDBサーバの外部メモリに記憶する。
また、ステップS1210の処理のあと、ステップS1008に処理を移行して、プリントサーバ105のCPUは、「「カラー許可設定」が不可かつ印刷データがカラー印刷だった」、「印刷データの印刷可能残数<印刷データの出力枚数 であった」などの印刷結果情報と、印刷データ情報(印刷日時、出力指示したユーザ(ID)、ドキュメント名、出力枚数)とを印刷履歴として、DBサーバの外部メモリに記憶させるための指示を行う(ステップS1008)。そして、当該指示を受けたDBサーバは、当該指示に従って、当該印刷結果情報と、印刷データ情報とをDBサーバの外部メモリに記憶する。
<図16の説明>
図16は、印刷許可設定テーブルの一例であり、DBサーバの外部メモリに記憶されている。
印刷許可設定テーブルは、「ロケーションID」、「年月日」、「開始時間」、「終了時間」、「上限管理」、「印刷方式」、「カラー印刷許可」の項目から構成される。
「ロケーションID」の項目には、上述した通り、ロケーションを識別するための識別情報が記憶される。また、「年月日」の項目には、印刷制御情報に従って印刷制御される年月日を示す情報が記憶される。また、「開始時間」の項目には、印刷制御情報に従って印刷制御される開始時間が記憶される。また、「終了時間」の項目には、印刷制御情報に従って印刷制御される終了時間が記憶される。
また、「上限管理」の項目には、上限管理による印刷制御を行うか否かを示す情報が記憶される。授業中は、上限管理をしないように設定する場合、「上限管理」に「無」を設定する。また、授業中ではない場合は、上限管理をするように、「上限管理」に「有」を設定する。
また、「印刷方式」の項目には、「直接印刷」で印刷するか、「オンデマンド印刷」で印刷するかを示す情報が記憶される。授業中は、直接印刷しか許可しない場合、「印刷方式」に「直接印刷」が設定される。また、授業中ではない場合は、オンデマンド印刷を許可することを示す「オンデマンド印刷」が設定される。また、「カラー印刷許可」の項目には、カラー印刷を許可するか否かを示す情報が記憶される。授業中は、カラー印刷をさせないように設定する場合、「カラー印刷許可」に「不可」を設定する。また、授業中ではない場合は、カラー印刷を許可するために、「カラー印刷許可」に「可」を設定する。
<図17の説明>
管理者端末111の外部メモリには、休日マスタテーブル(図9)の「年月日」への休日の登録、休日の編集、休日の削除などを行うことが可能な休日マスタ登録プログラムがインストールされており、当該プログラムを起動すると、管理者端末のCPUは、DBサーバの外部メモリに記憶された休日マスタテーブルを取得し、図17に示す休日マスタ登録画面1700を表示する。図17は、休日マスタ登録画面の一例を示した図である。
休日マスタ登録画面は、図17のように、カレンダーの形式で表示され、休日マスタテーブルの「年月日」に休日として登録されている日付は、日付のボタンが押下されている状態で表示されている。
この日付のボタンは、マウスなどの入力部を介して押下することが可能であり、ユーザ(管理者)により日付ボタンが押下され、更新ボタンが押下されたことを該プログラムが認識することにより、休日マスタテーブルの「年月日」に登録されている休日を更新することができる。
このように、図17に示す画面を介して休日となる日付を変更指示することにより、休日マスタTBLに記憶された休日を更新(変更)することが出来る。
<図18の説明>
管理者端末の外部メモリには、授業マスタテーブル(図14)に記憶されるデータを登録、編集、削除する機能を備えたプログラムを備え、当該プログラムを起動すると、授業マスタテーブルに記憶されているデータを取得し、図18に示す「授業データ登録画面」を表示する。
この画面は、時間割情報の変更を、ユーザからの指示を受付ける。
図18に示す授業データ登録画面1800は、ロケーションを選択可能なオブジェクト(図18の例では、プルダウン)を備えており、このオブジェクトを介してユーザにより選択されると、当該選択されたロケーションの授業マスタテーブルの「授業FLG」に記憶されるデータ(フラグ)を、時限毎、曜日毎に表示する。
具体的には、図18の例では、当該フラグを、縦軸が曜日で横軸が時限のマトリックス状に表示する。
図18に示す画面を用いて、各曜日、各時限の授業フラグを、選択可能なオブジェクト(図18の例ではプルダウン)から、ユーザにより変更指示され、更新ボタンが押下されることにより、授業マスタテーブルの授業フラグを変更することができる。
例えば、ある教室での授業が休講になった場合は、この画面を用いて、該当するロケーション、曜日、時限の授業FLGの値を「2」(上限管理を無、印刷方式を直接、カラー許可設定を可)から「6」(上限管理を有、印刷方式を直接、カラー許可設定を不可)に変更指示し、授業マスタテーブルを更新(生成)することで対応出来る。
これにより、印刷許可設定テーブルを更新することができ、急遽、休講や休日などになったとしても、適切な印刷管理を行うことが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。