以下、図面を参照して、本発明の実施の形態の一例について説明する。
まず図1を参照して、本発明の実施形態における、画像形成システムのシステム構成の一例について説明する。
図1によれば、クライアントPC200、複合機300がそれぞれLAN100(ローカルエリアネットワーク)を介して通信可能に接続されている。
クライアントPC200は、プリンタドライバの機能およびユーザ操作に基づいて印刷データを生成し、複合機300に送出する。また当該印刷データと合わせて当該印刷データを、クライアントPC200にログイン中のユーザである当該印刷データのオーナー(ジョブオーナーであり、印刷データに対応するユーザ)個人に対して印刷を許可する個人印刷データ(個人プリントのデータ)として扱うか、プリンタドライバの表示画面(図12)においてユーザから指定された他ユーザと当該オーナー(複数のユーザ)に対して印刷を許可する共有印刷データ(個人プリントのデータ)として扱うかを示す情報を、複合機300に送信する。
複合機300は、クライアントPC200から送出された印刷データを受信・取得して、記憶装置に記憶する。また、共有印刷データについてはオーナーが印刷を実行した後に、他のユーザが印刷可能になるよう、印刷データの表示・印刷出力の権限を管理する。
なお、本実施形態における画像形成システムのシステム構成においては、記憶装置が複合機300に備える構成としたが、記憶装置を外部サーバ(例えば、プリントサーバ、文書管理さサーバなど)として、この外部サーバと通信して、印刷データの一覧を表示する構成としてもよい。以上が図1の説明である。
次に図2を参照して、本発明の実施形態における、情報処理装置(クライアントPC200)のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要は後述する各種プログラム等が記憶され
ている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示機への表示を制御する。なお、図2では、CRT210と記載しているが、表示機はCRTだけではなく、液晶ディスプレイ等の他の表示機であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HDD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図2の説明である。
次に図3を参照して、本発明の実施形態における、画像形成装置(複合機300)のハードウェア構成の一例について説明する。
図3において、316はコントローラユニットで、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ312と接続する一方、LANや公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行なう。
コントローラユニット316において、301はCPUで、システム全体を制御するプロセッサである。302はRAMで、CPU301が動作するためのシステムネットワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム、画像データ等を格納する。
307は操作部インタフェース(操作部I/F)で、操作部(UI)308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。
また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
305はネットワークインタフェース(Network I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インタフェース(外部I/F)で、USB、IEEE1394,プリンタポート,RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においてはユーザ認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F部318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
320はイメージバスインタフェース(IMAGE BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
310はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインタフェース(プリンタI/F)で、プリンタ312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、313はスキャナインタフェース(スキャナI/F)で、スキャナ314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
317は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、ICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。
以上のような構成によって、複合機300は、スキャナ314から読み込んだ画像データをLAN100上に送信したり、LANから受信した印刷データをプリンタ312により印刷出力したりすることができる。
また、スキャナ314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ312により出力したりすることできる。以上が図3の説明である。
次に図4を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
印刷データ生成部401は、クライアントPC200のプリンタドライバの機能であり、当該プリンタドライバがアプリケーションプログラムから受け取ったデータに基づいて印刷データを作成する機能部である。
印刷データ生成部401が、ユーザ操作で入力された情報に基づいて、生成した印刷データが個人印刷データ(個人ジョブ)か共有印刷データか(共有ジョブ)かを示す属性情報を、当該印刷データの属性として、例えば印刷データのヘッダに挿入する。印刷データ送信部402は、当該印刷データを複合機300へ送信する送信部である。
メール受信部403は、複合機300から送信されたメールをメールサーバ等を介して受信する受信部である。このメール受信部403で受信したメールのリンクを用いて、共有印刷データのロックを所定のユーザに対して解除することができる。
印刷データ受信部411は、クライアントPC200より印刷データを受信する機能部である。受信した印刷データは複合機300の記憶部(例えば外部メモリ)に記憶する。
書誌情報取得部412は受信した印刷データを解析し、印刷データのドキュメント名、部数、ページ数、印刷設定等の書誌情報を抽出する。
印刷データ判定部413は、書誌情報取得部412で取得した書誌情報に基づいて、印刷データが個人印刷データか共有印刷データか判定する。個人印刷データであった場合は、取得した書誌情報を、個人印刷データ管理部414において個人印刷データの書誌情報(図9の900)として記憶管理する。共有印刷データであった場合は、取得した書誌情報を、共有印刷データ管理部415において共有印刷データの書誌情報(図9の910)として記憶管理する。以上が図4の説明である。
<第1の実施形態>
次に、本実施形態のシステムにおける基本処理について図5、図6、図7のフローチャートを用いて説明する。各フローチャートに示す処理は、各装置のCPUが各装置の機能部の機能を用いて実行するものとする。
なお、本実施形態の説明においては、クライアントPC200へのログインに用いるユーザIDと複合機300へのログインに用いるユーザIDは同じであるものとする。
まず、図5を参照して、本発明の第1の実施形態における、印刷データのロック処理の流れについて説明する。
ステップS500では、クライアントPC200の印刷データ生成部401は、ユーザ操作に応じて図12の1200に示すようなプリンタドライバの設定画面を表示画面に表示し、「設定」ボタン1201の押下に応じて共有設定画面1210を表示画面に表示する。そして、部門ID入力受付部1211において入力を受け付けた部門IDをメモリ上に記憶し、共有設定画面1210の「OK」ボタン及び設定画面1200の「OK」ボタンの押下を受け付けることで、当該部門IDを属性値として付与した印刷データを生成して、印刷データ送信部402が、当該印刷データを複合機300に送信する。
部門IDはユーザの属するグループを示すグループIDである。クライアントPC200及び複合機300には図9の920に示すような、いずれのユーザ(ユーザID821)が、いずれのグループ(グループID823)に属しているかを示す情報が記憶されている。なお、メールアドレス822はユーザID821の示すユーザに対応するメールアドレスである。印刷データ生成部401は、図12の1211において、印刷データを共有するユーザのグループとして指定された当該グループID(部門ID)を印刷データの属性として印刷データに付与する。つまり、当該グループIDのグループに属するユーザ(複数のユーザ)に対して表示・印刷が許可される印刷データを生成している。
ステップS501では、複合機300の印刷データ受信部411は、S500においてクライアントPC200が送信した印刷データを受信してメモリ上に保持する(印刷データ記憶手段に該当)。
ステップS502では、複合機300の書誌情報取得部412は、S501で受信した印刷データを解析し、印刷設定などの書誌情報を抽出する。書誌情報の一例として、図9の900又は910に、印刷データのジョブID、印刷データのオーナー(ジョブオーナー)のIDであるユーザID、当該印刷データの名称であるドキュメント名等を示す。
ステップS503では、複合機300の印刷データ判定部413は、S501で受信した印刷データが個人印刷データか共有印刷データかを判定する。具体的には、印刷データから取得した書誌情報の中に、図9の914に示すグループIDが含まれている場合(印刷データに当該印刷データが共有印刷データであることを示す情報が付与されていた場合)に、当該印刷データが共有印刷データであると判定し、処理をステップS505へ移行する。印刷データから取得した書誌情報の中にグループID914が含まれていない場合、当該印刷データを個人印刷データであると判定し、処理をステップS504へ移行する。
ステップS504では、複合機300の個人印刷データ管理部414は、ステップS502で解析した書誌情報を個人データ書誌テーブル900(図9)に格納する。個人書誌情報テーブルにおいては、当該書誌情報の示す印刷データが、当該印刷データのオーナー(印刷データに対応するユーザ個人)により印刷済みか否かを示す(管理する)ステータス904の項目を設け、「未印刷」の値を設定して外部メモリに記憶する。個人データ書誌テーブル900に記憶されている書誌情報を個人書誌情報と呼ぶものとする。
ステップS505では、複合機300の共有印刷データ管理部415は、ステップS502で解析した書誌情報を共有データ書誌テーブル910(図9)に格納する。共有データ書誌テーブル910に記憶されている書誌情報を共有書誌情報と呼ぶものとする。
共有書誌情報テーブルにおいては、当該書誌情報の示す印刷データが、当該印刷データのオーナー(印刷データに対応するユーザ個人)により印刷済みか否か、及び、共有先のユーザとして指定されたグループID914のグループに属するユーザについて、各ユーザが印刷データを印刷済みか否か示す(管理する)ステータス915の項目(ユーザIDと未/済の項目)を設け、全てのユーザのステータスに「未印刷」の値を設定して外部メモリに記憶する。
また、共有印刷データ管理部415は、図9に示すように書誌情報に対応付けてロック情報916を設定し、当該印刷書誌情報の印刷データの印刷を、オーナーであるユーザに許可し、共有先のグループ内の他のユーザにはまだ許可しない旨(不許可である旨)を示す「1:ロック中」の値を挿入する。後述するが、印刷データのオーナーが当該印刷データを削除せずに印刷した場合、(当該印刷データを共有印刷データとして他ユーザに提供してよいと判断し)当該ロック情報916を「0:印刷可能」に変更する。「0:印刷可能」はロックが解除(ロック解除)されたことを示し、ロック情報=「0:印刷可能」はグループID914のユーザ全てに対して印刷が許可する。
ステップS506では、複合機300の印刷プログラムは、S501で受信した印刷データを複合機300のHDD304(記憶部)に保存する。以上が図5の説明である。
次に図6を参照して、本発明の第1の実施形態における、印刷データ一覧画面の表示処理の流れについて説明する。
ステップS600では、複合機300の認証プログラムは、ユーザのログイン処理を行い、ログインユーザ情報(ユーザID・パスワード)を取得する。例えば、カードリーダ319でICカードを検知してカードIDを読み込み、当該カードIDと対応するユーザID・パスワードが不図示の認証サーバに登録されている場合に、当該ユーザIDを認証サーバから取得して複合機300にログインさせる処理を行う。複合機300にログイン中のユーザをログインユーザと呼ぶ。複合機300の認証プログラム及び印刷プログラムは、ログインユーザのユーザIDをログアウトが実行されるまでの間メモリ上に記憶・保持する。
ステップS601では、複合機300の認証プログラムは、ステップS600で取得したログインユーザ情報(ユーザID・パスワード)を、印刷プログラムに送信する。
ステップS602では、複合機300の印刷プログラムは、ステップS601で送信したログインユーザ情報を受信する。
ステップS603では、複合機300の個人印刷データ管理部414は、ログインユーザのユーザIDで個人データ書誌テーブルを検索し、ユーザID902にログインユーザのユーザIDが格納されている個人印刷データの書誌情報(個人書誌情報)を取得する。また、印刷プログラムは、図9に示すようなユーザ情報テーブル930(グループ管理情報)よりログインユーザの所属しているグループIDを取得する。複合機300の共有印刷データ管理部415は、グループIDで共有データ書誌テーブルを検索し、グループID914にログインユーザの属するグループIDが格納されている共有印刷データの書誌情報(共有書誌情報)を取得する。
ステップS604では、複合機300の印刷プログラムは、ステップS603で取得した共有印刷データの書誌情報一覧から書誌情報を1つ取得し、当該取得した書誌情報が共有書誌情報か判定する。当該書誌情報の取得および判定の処理を、ステップS603で取得した全ての共有書誌情報に対して実行した後、処理をステップS609に移行する。
共有書誌情報である場合(複合機300にログインユーザのユーザIDがステータス915に含まれている、ログインユーザに共有される印刷データである場合)、処理をステップS605へ移行する。共有書誌情報でない場合、処理をステップS604の前に戻す。
ステップS605では、複合機300の印刷プログラムは、ステップS604で共有書誌情報であると判定された書誌情報が、ログインユーザがオーナー(所有者)である印刷データの書誌情報であるか否かを判定し、ログインユーザがオーナーの場合、処理をステップS608へ移行する。オーナーでない場合は処理をステップS606へ移行する。
ステップS606では、複合機300の印刷プログラムは、書誌情報のステータス915をチェックし、ロック情報916が「1:ロック中」である場合、処理をステップS607へ移行する。「1:ロック中」でない場合(「0:印刷可能」である場合/ロックが解除されている場合)、処理をステップS608へ移行する。
ステップS607では、複合機300の印刷プログラムは、当該印刷データの書誌情報を、後のステップS609で表示する印刷データ一覧画面(印刷データの選択画面表示手段に該当)において選択不可能な状態で表示する旨を決定し、当該決定に係る情報を当該書誌情報の印刷データIDと対応付けてメモリ上に記憶する。そして処理をステップS604の前に戻す。
ステップS608では、複合機300の印刷プログラムは、当該印刷データの書誌情報を、後のステップS609で表示する印刷データ一覧画面において選択可能な状態で表示する旨を決定し、当該決定に係る情報を当該書誌情報の印刷データIDと対応付けてメモリ上に記憶する。そして処理をステップS604の前に戻す。
複合機300の印刷プログラムは、ステップS603で取得した全ての共有書誌情報に対してステップS604、又はステップS604〜S608の処理を実行した後、処理をステップS609に移行する。ステップS609では、複合機300の印刷プログラムは、ステップS607及びステップS608の処理結果に従って、ログインユーザが印刷不可能な印刷データの書誌情報をグレーアウトさせ、選択できないようにし、ログインユーザが印刷可能な印刷データの書誌情報を印刷可能にした、図10に示すような共有印刷データ一覧画面1000を表示する。
ステップS610では、複合機300の印刷プログラムは、ユーザによる個人印刷データ一覧画面(図10の1010)の表示指示を受け付けたか判定する。個人印刷データ一覧画面の表示指示を受け付けた場合、処理をステップS611へ移行する。
指示しなかった場合、ステップS612へ進む。
ステップS611では、複合機300の印刷プログラムは、ステップS603で取得した個人書誌情報を選択可能にした、図10に示すような個人印刷データ一覧画面1010を表示画面に表示する。ステップS612では、印刷処理(図7の説明で後述)を実行する。以上が図6の説明である。
次に図7を参照して、本発明の第1の実施形態における、印刷処理の流れについて説明する。
ステップS701では、複合機300の印刷プログラムは表示中の印刷データ一覧画面(1000又は1010)において、例えばユーザ操作による印刷データ(書誌情報)の選択を受け付ける(選択受付手段に該当)。
ステップS702では、複合機300の印刷プログラムは、印刷データの選択中に印刷指示(例えば「印刷」ボタンの押下の操作)を受け付けたか判定し、印刷指示を受け付けた場合には処理をステップS703へ移行し、印刷指示を受け付けていない場合には、処理をステップS709に移行する。
ステップS709では、複合機300の印刷プログラムは、印刷データの選択中に印刷データの削除指示(例えば「消去」ボタンの押下の操作)を受け付けたか判定し、印刷データの削除指示を受け付けた場合には処理をステップS710へ移行して選択中の書誌情報の示す印刷データを記憶部から削除し、削除指示を受け付けていない場合には、処理をステップS702の前に移行して指示を待つ。
なお、複合機300の印刷プログラムは、ログインユーザがオーナーの印刷データ(の書誌情報)のみが選択中である場合には「消去」ボタンを押下可能に(アクティブに)表示し、ログインユーザがオーナーではない印刷データが選択中である場合には「消去」ボタンを押下できないようにグレーアウトして表示する。
複合機300の印刷プログラムは、印刷指示を受け付けた時点で選択されている書誌情報を取得して、選択中の全ての書誌情報に対してステップS703以降の処理を実行する。
ステップS703では、複合機300の印刷プログラムは、取得した書誌情報が共有書誌情報であるか判定し、共有書誌情報である場合、処理をステップS704へ移行する。共有書誌情報ではない場合、処理をステップS706へ移行する。
ステップS704では、複合機300の印刷プログラムは、当該共有書誌情報のロック情報916が「1:ロック中」か判定し、「1:ロック中」の場合は処理をステップS705へ移行する。「1:ロック中」ではない場合、処理をステップS706へ移行する。
ステップS705では、複合機300の印刷プログラムは、ログインユーザのユーザIDが当該共有書誌情報の示す印刷データのオーナーか否かを判定する。オーナーである場合は処理をステップS706に移行し、オーナーでない場合(オーナーが共有先として指定したユーザである/共有先として指定したグループに属するユーザである場合)は、処理をステップS703の前に戻す。
ステップS706では、複合機300の印刷プログラムは、ステップS703で取得した共有書誌情報の示す共有印刷データを記憶部から取得して印刷実行する。
ステップS707では、複合機300の印刷プログラムは、印刷した印刷データの書誌情報のステータス915のうち、当該印刷を実行したログインユーザのステータス(未/済の項目)が「未印刷」の場合、これを「印刷済み」に変更する。また、ロック情報916が「1:ロック中」か判定し、「1:ロック中」の場合、処理をステップS708へ移行する。そうではない場合、処理をステップS703の前に戻す。
ステップS708では、複合機300の共有印刷データ管理部415は、共有データ書誌テーブルのロック情報916を「0:印刷可能」に変更する。つまり、ロックを解除すし、オーナー以外の共有先のユーザに対して、当該書誌情報の示す印刷データの選択・印圧を許可する処理を行う。
以上説明したように、本発明によれば、印刷データの印刷を許可するユーザを適切に設定可能な仕組みを提供することができる。
例えば、共有印刷データとして送出・記憶された印刷データを、本当に共有印刷データとして印刷すべきか、まずはジョブオーナーであるユーザに複合機の画面上で確認させ、オーナーによって当該印刷データが印刷された場合には共有印刷データとして当該印刷データを他の共有ユーザに対しても印刷許可する。もしも共有印刷データとして適切でないとユーザが判断した場合は、他のユーザに当該印刷データを印刷される前に、当該印刷データを削除することができる。
次に、上述した実施形態の、より具体的な利用形態を想定した形態について、図13、図15、図16、図17を用いて説明する。
まず、図15を参照して、本発明の第1の実施形態における、図5の具体的な利用形態を想定した印刷データのロック処理の流れについて説明する。
ステップS1500では、クライアントPC200の印刷データ生成部401は、ユーザ操作に応じて図12の1200に示すようなプリンタドライバの設定画面を表示画面に表示し、「設定」ボタン1201の押下に応じて共有設定画面1210を表示画面に表示する。そして、部門ID入力受付部1211において入力を受け付けた部門IDをメモリ上に記憶し、共有設定画面1210の「OK」ボタン及び設定画面1200の「OK」ボタンの押下を受け付けることで、当該部門IDを属性値として付与した印刷データを生成して、印刷データ送信部402が、当該印刷データを複合機300に送信する。
部門IDはユーザの属するグループを示すグループIDである。クライアントPC200及び複合機300には図18の920に示すような、いずれのユーザ(ユーザID821)が、いずれのグループ(グループID823)に属しているかを示す情報が記憶されている。なお、メールアドレス822はユーザID821の示すユーザに対応するメールアドレスである。印刷データ生成部401は、図12の1211において、印刷データを共有するユーザのグループとして指定された当該グループID(部門ID)を印刷データの属性として印刷データに付与する。つまり、当該グループIDのグループに属するユーザ(複数のユーザ)に対して表示・印刷が許可される印刷データを生成している。
ステップS1501では、複合機300の印刷データ受信部411は、S1500においてクライアントPC200が送信した印刷データを受信してメモリ上に保持する(印刷データ記憶手段に該当)。
ステップS1502では、複合機300の書誌情報取得部412は、S1501で受信した印刷データを解析し、印刷設定などの書誌情報を抽出する。書誌情報の一例として、図18の900又は910に、印刷データのジョブID、印刷データのオーナー(ジョブオーナー)のIDであるユーザID、当該印刷データの名称であるドキュメント名等を示す。
ステップS1503では、複合機300の印刷データ判定部413は、S1501で受信した印刷データが個人印刷データか共有印刷データかを判定する。具体的には、印刷データから取得した書誌情報の中に、図18の914に示すグループIDが含まれている場合(印刷データに当該印刷データが共有印刷データであることを示す情報が付与されていた場合)に、当該印刷データが共有印刷データであると判定し、処理をステップS1505へ移行する。印刷データから取得した書誌情報の中にグループID914が含まれていない場合、当該印刷データを個人印刷データであると判定し、処理をステップS1504へ移行する。
ステップS1504では、複合機300の個人印刷データ管理部414は、ステップS1502で解析した書誌情報を個人データ書誌テーブル900(図18)に格納する。個人書誌情報テーブルにおいては、当該書誌情報の示す印刷データが、当該印刷データのオーナー(印刷データに対応するユーザ個人)により印刷済みか否かを示す(管理する)ステータス904の項目を設け、「未印刷」の値を設定して外部メモリに記憶する。個人データ書誌テーブル900に記憶されている書誌情報を個人書誌情報と呼ぶものとする。
ステップS1505では、複合機300の共有印刷データ管理部415は、ステップS1502で解析した書誌情報を共有データ書誌テーブル910(図18)に格納する。共有データ書誌テーブル910に記憶されている書誌情報を共有書誌情報と呼ぶものとする。
共有書誌情報テーブルにおいては、当該書誌情報の示す印刷データが、当該印刷データのオーナー(印刷データに対応するユーザ個人)により印刷済みか否か、及び、共有先のユーザとして指定されたグループID914のグループに属するユーザについて、各ユーザが印刷データを印刷済みか否か示す(管理する)ステータス915の項目(ユーザIDと未/済の項目)を設け、全てのユーザのステータスに「未印刷」の値を設定して外部メモリに記憶する。
また、共有印刷データ管理部415は、図18に示すように書誌情報に対応付けてロック情報1801を設定し、当該印刷書誌情報の印刷データの印刷を、オーナーであるユーザに許可し、共有先のグループ内の他のユーザにはまだ許可しない旨(不許可である旨)を示す「1:ロック中」の値を挿入する。すなわち、特定された共有の印刷データの印刷の出力制御を、当該印刷データに対応するユーザ(オーナー)に許可し、他のユーザに不許可(出力制御を制限する)とするロックの制御を行う処理である。
後述するが、印刷データのオーナーが当該印刷データを共有印刷データとして他ユーザに提供してよいと判断し、ロック解除した場合、当該ロック情報1801を「0:印刷可能」に変更する。「0:印刷可能」はロックが解除(ロック解除)されたことを示し、ロック情報=「0:印刷可能」はグループID914のユーザ全てもしくはロック解除を依頼したユーザに対して印刷が許可する。
ステップS1506では、複合機300の印刷プログラムは、印刷データのユーザIDで図18に示すようなユーザ情報テーブル920(グループ管理情報)よりユーザのメールアドレスを取得する。
ステップS1507では、複合機300の印刷プログラムは、印刷データのPDFファイルを作成する。
ステップS1508では、複合機300の印刷プログラムは、ステップS1507で作成した印刷データのPDFファイルを添付し、ステップS1506で取得したメールアドレスにメールを送信する。
ステップS1509では、複合機300の印刷プログラムは、S1501で受信した印刷データを複合機300のHDD304(記憶部)に保存する。以上が図15の説明である。
次に図16を参照して、本発明の第1の実施形態における、図6の具体的な利用形態を想定した印刷データ一覧画面の表示処理の流れについて説明する。
ステップS1600では、複合機300の認証プログラムは、ユーザのログイン処理を行い、ログインユーザ情報(ユーザID・パスワード)を取得する。例えば、カードリーダ319でICカードを検知してカードIDを読み込み、当該カードIDと対応するユーザID・パスワードが不図示の認証サーバに登録されている場合に、当該ユーザIDを認証サーバから取得して複合機300にログインさせる処理を行う。複合機300にログイン中のユーザをログインユーザと呼ぶ。複合機300の認証プログラム及び印刷プログラムは、ログインユーザのユーザIDをログアウトが実行されるまでの間メモリ上に記憶・保持する。
ステップS1601では、複合機300の認証プログラムは、ステップS1600で取得したログインユーザ情報(ユーザID・パスワード)を、印刷プログラムに送信する。
ステップS1602では、複合機300の印刷プログラムは、ステップS1601で送信したログインユーザ情報を受信する。
ステップS1603では、複合機300の個人印刷データ管理部414は、ログインユーザのユーザIDで個人データ書誌テーブルを検索し、ユーザID902にログインユーザのユーザIDが格納されている個人印刷データの書誌情報(個人書誌情報)を取得する。また、印刷プログラムは、図18に示すようなユーザ情報テーブル920(グループ管理情報)よりログインユーザの所属しているグループIDを取得する。複合機300の共有印刷データ管理部415は、グループIDで共有データ書誌テーブルを検索し、グループID914にログインユーザの属するグループIDが格納されている共有印刷データの書誌情報(共有書誌情報)を取得する。
ステップS1604では、複合機300の印刷プログラムは、ステップS1603で取得した共有印刷データの書誌情報一覧から書誌情報を1つ取得し、当該取得した書誌情報が共有書誌情報か判定する。当該書誌情報の取得および判定の処理を、ステップS1603で取得した全ての共有書誌情報に対して実行した後、処理をステップS1609に移行する。
共有書誌情報である場合(複合機300にログインユーザのユーザIDがステータス915に含まれている、ログインユーザに共有される印刷データである場合)、処理をステップS1605へ移行する。共有書誌情報でない場合、処理をステップS1604の前に戻す。
ステップS1605では、複合機300の印刷プログラムは、ステップS1604で共有書誌情報であると判定された書誌情報が、ログインユーザがオーナー(所有者)である印刷データの書誌情報であるか否かを判定し、ログインユーザがオーナーの場合、処理をステップS1608へ移行する。オーナーでない場合は処理をステップS1606へ移行する。
ステップS1606では、複合機300の印刷プログラムは、書誌情報のステータス915をチェックし、ロック情報1801が「1:ロック中」である場合、処理をステップS1607へ移行する。「1:ロック中」でない場合(「0:印刷可能」である場合/ロックが解除されている場合)、処理をステップS1608へ移行する。
ステップS1607では、複合機300の印刷プログラムは、当該印刷データの書誌情報を、後のステップS1609で表示する印刷データ一覧画面(印刷データの選択画面表示手段に該当)において印刷不可能な状態で表示する旨を決定し、当該決定に係る情報を当該書誌情報の印刷データIDと対応付けてメモリ上に記憶する。そして処理をステップS1604の前に戻す。
ステップS1608では、複合機300の印刷プログラムは、当該印刷データの書誌情報を、後のステップS1609で表示する印刷データ一覧画面において印刷可能な状態で表示する旨を決定し、当該決定に係る情報を当該書誌情報の印刷データIDと対応付けてメモリ上に記憶する。そして処理をステップS1604の前に戻す。
複合機300の印刷プログラムは、ステップS1603で取得した全ての共有書誌情報に対してステップS1604、又はステップS1604〜S1608の処理を実行した後、処理をステップS1609に移行する。ステップS1609では、複合機300の印刷プログラムは、ステップS1607及びステップS1608の処理結果に従って、ログインユーザが印刷不可能な印刷データを選択できるが、印刷実行できないようにし、ログインユーザが印刷可能な印刷データを印刷実行可能にした、図19に示すような共有印刷データ一覧画面1900または1901を表示する。1900は、「id0001」のユーザがログインし、「9月度売上報告書」が選択されている状態で、「9月度売上報告書」が「1:ロック中」である状態を示す画面である。1901は、「id0002」のユーザがログインし、「9月度売上報告書」が選択されている状態で、「9月度売上報告書」が「1:ロック中」である状態を示す画面である。
1900は、印刷データのオーナー(ジョブオーナー)の「id0002」に対してロック解除依頼できるようにすべく「ロック解除依頼」ボタンが選択できる状態となっており、「プリント開始」ボタンは選択できない状態となっている。1901は、グループのユーザ全員あるいはロック解除依頼のあったユーザにジョブのロック解除をすべく「ロック解除」ボタンが選択できる状態となっている。また「プリント開始」ボタンが選択できる状態となっている。
ステップS1610では、複合機300の印刷プログラムは、ユーザによる個人印刷データ一覧画面(図19の1910)の表示指示(「表示切替」ボタンの押下)を受け付けたか判定する。個人印刷データ一覧画面の表示指示を受け付けた場合、処理をステップS1611へ移行する。指示しなかった場合、ステップS1612へ進む。
ステップS1611では、複合機300の印刷プログラムは、ステップS1603で取得した個人書誌情報を選択可能にした、図19に示すような個人印刷データ一覧画面1910を表示画面に表示する。ステップS1612では、印刷処理(図17の説明で後述)を実行する。以上が図16の説明である。
次に図17を参照して、本発明の第1の実施形態における、図7の具体的な利用形態を想定した印刷処理の流れについて説明する。
ステップS1701では、複合機300の印刷プログラムは表示中の印刷データ一覧画面(1900又は1910)において、例えばユーザ操作による印刷データ(書誌情報)の選択を受け付ける(選択受付手段に該当)。
ステップS1702では、複合機300の印刷プログラムは、印刷データの選択中に印刷指示(例えば「プリント開始」ボタンの押下の操作)を受け付けたか判定し、印刷指示を受け付けた場合には処理をステップS1703へ移行し、印刷指示を受け付けていない場合には、処理をステップS1712に移行する。
ステップS1712では、複合機300の印刷プログラムは、印刷データの選択中に印刷データの削除指示(例えば「消去」ボタンの押下の操作)を受け付けたか判定し、印刷データの削除指示を受け付けた場合には処理をステップS1713へ移行して選択中の書誌情報の示す印刷データを記憶部から削除し、削除指示を受け付けていない場合には、処理をステップS1702の前に移行して指示を待つ。
なお、複合機300の印刷プログラムは、ログインユーザがオーナーの印刷データ(の書誌情報)のみが選択中である場合には「消去」ボタンを押下可能に(アクティブに)表示し、ログインユーザがオーナーではない印刷データが選択中である場合には「消去」ボタンを押下できないようにグレーアウトして表示する。
複合機300の印刷プログラムは、印刷指示を受け付けた時点で選択されている書誌情報を取得して、選択中の全ての書誌情報に対してステップS1703以降の処理を実行する。
ステップS1703では、複合機300の印刷プログラムは、取得した書誌情報が共有書誌情報であるか判定し、共有書誌情報である場合、処理をステップS1704へ移行する。共有書誌情報ではない場合、処理をステップS1706へ移行する。
ステップS1704では、複合機300の印刷プログラムは、当該共有書誌情報のロック情報1801が「1:ロック中」か判定し、「1:ロック中」の場合は処理をステップS1705へ移行する。「1:ロック中」ではない場合(0:印刷可能)、処理をステップS1706へ移行する。
ステップS1705では、複合機300の印刷プログラムは、ログインユーザのユーザIDが当該共有書誌情報の示す印刷データのオーナーか否かを判定する。オーナーである場合は処理をステップS1706に移行し、オーナーでない場合(オーナーが共有先として指定したユーザである/共有先として指定したグループに属するユーザである場合)は、処理をステップS1714に移行する。
ステップS1706では、複合機300の印刷プログラムは、印刷を実行するか否かを判定する(「プリント開始ボタン」の押下による判定)。印刷を実行する場合、処理をステップS1707へ移行する。印刷を実行しない場合、処理をステップS1708へ移行する。
ステップS1707では、複合機300の印刷プログラムは、印刷した印刷データの書誌情報のステータス915のうち、当該印刷を実行したログインユーザのステータス(未/済の項目)が「未印刷」の場合、これを「印刷済み」に変更し、処理をステップS1709に移行する。
ステップS1708では、複合機300の印刷プログラムは、ロック解除を実行するか否かを判定する(「ロック解除ボタン)の押下による判定)。ロック解除を実行する場合、処理をステップS1709へ移行する。ロック解除を実行しない場合、処理をステップS1702の前に移行して指示を待つ。
ステップS1709では、複合機300の印刷プログラムは、印刷した印刷データの書誌情報の該当ユーザのロック情報1801が「1:ロック中」か判定し、「1:ロック中」の場合、処理をステップS1710へ移行する。そうではない場合、処理をステップS1703の前に戻す。
ステップS1710では、複合機300の共有印刷データ管理部415は、図20の2000で、共有するか、共有しないかの選択を受け付ける。そして、共有するが選択された場合に、共有データ書誌テーブルのユーザのロック情報1801が「2:ロック解除依頼中」のユーザ一覧を取得し、図20に示すようなロック解除対象の選択画面2010(ロック解除依頼ユーザがいない場合、画面2020)を表示し、ロック解除対象ユーザを選択させ、処理をステップS1711へ移行する。
ステップS1711では、複合機300の共有印刷データ管理部415は、ステップS1710で選択したロック解除対象(グループ全員もしくはロック解除依頼ユーザ)に対し、共有データ書誌テーブルの該当ユーザのロック情報1801を「0:印刷可能」に変更する。つまり、ロックを解除し、オーナー以外の共有先のユーザに対して、当該書誌情報の示す印刷データの印刷を許可する処理を行う。すなわち、共有の印刷データに対応するユーザにより、当該印刷データに対応する出力制御に係る指示を受け付けた場合に、他のユーザに出力制御を許可すべく、出力制御に係る指示を受け付けた印刷データのロックを解除する処理である。
ステップS1714では、複合機300の印刷プログラムは、印刷データの選択中に印刷データのロック解除依頼(例えば「ロック解除依頼」ボタンの押下の操作)を受け付けたか判定し、ロック解除依頼を受け付けた場合には処理をステップS1715へ移行し、ロック解除依頼を受け付けていない場合には、処理をステップS1703の前に戻す。
ステップS1715では、複合機300の印刷プログラムは、印刷データのユーザIDで図18に示すようなユーザ情報テーブル920(グループ管理情報)よりユーザのメールアドレスを取得する。
ステップS1716では、複合機300の印刷プログラムは、図14の画面1400に示すようなメールを、ステップS1715で取得したメールアドレスに印刷データのロック解除メールを送信する。すなわち、共有の印刷データが記憶された場合に、当該共有の印刷データを出力したユーザに対して、ロック解除の通知を出力する処理である。
なお、リンク情報を押下することで、ロック解除ができる仕組みとなっている。リンク情報は、印刷データで対応付く構成となっており、リンク情報には、解除するユーザの範囲が設定されている。
ステップS1717では、複合機300の共有印刷データ管理部415は、共有データ書誌テーブルの該当ユーザのロック情報1801を「2:ロック解除依頼中」に変更する。
次に、図13を参照して、本発明の第1の実施形態における、具体的な利用形態を想定した印刷データのメールによるロック解除処理の流れについて説明する。
ステップS1301では、クライアントPC200のメール受信部403は、ステップS1716で送信したメールを受信し、ステップS1302へ移行する。
ステップS1302では、クライアントPC200は、ユーザ操作に応じて印刷データのロック解除(例えば「ロック解除」リンクの押下の操作)を受け付けたか判定し、ロック解除を受け付けた場合には処理をステップS1303へ移行し、ロック解除を受け付けていない場合には、処理をステップS1302の前に戻す。
ステップS1303では、クライアントPC200の印刷データ送信部402は、複合機にロック解除指令を送信する。なお、リンクのURLには暗号化されたロック解除指令情報が含まれているものとする。また、ロック解除指令情報には、ロック解除範囲(グループ全員orロック解除依頼ユーザ)が含まれている。
ステップS1304では、複合機300の印刷プログラムは、クライアントPC200が送信したロック解除指令を受信し、ステップS1305へ移行する。
ステップS1305では、複合機300の印刷プログラムは、受信したロック解除指令が全員解除指令か判定し、全員解除指令の場合、グループ全員に対し、ステップS1306、S1307の処理を行う。全員解除指令ではない場合(ロック解除依頼ユーザに対する解除指令)、ステップS1307へ移行する。すなわち、メールでの通知に基づき設定されたロックを解除するユーザを特定するユーザ特定処理の一例を示す処理である。
なお、本実施形態では、ロック解除依頼ユーザに対する解除指令の場合に、ステップS1306の処理を実行しない構成としたが、ステップS1306の処理を実行する構成であってもよい。
ステップS1306では、複合機300の印刷プログラムは、印刷データの該当ユーザのロック情報1801が「1:ロック中」か判定し、「1:ロック中」の場合、処理をステップS1307へ移行する。そうではない場合、何の処理も行わない。
ステップS1307では、複合機300の共有印刷データ管理部415は、共有データ書誌テーブルの該当ユーザのロック情報1801を「0:印刷可能」に変更する。つまり、ロックを解除し、オーナー以外の共有先のユーザに対して、当該書誌情報の示す印刷データの印刷を許可する処理を行う。すなわち、共有の印刷データに対応するユーザにより、当該印刷データに対応する出力制御に係る指示を受け付けた場合に、他のユーザに出力制御を許可すべく、出力制御に係る指示を受け付けた印刷データのロックを解除する処理である。
以上説明したように、本発明によれば、共有印刷データの公開を制御することが可能であり、印刷データの印刷を許可するユーザを適切に設定可能な仕組みを提供することができる。
例えば、共有印刷データとして送出・記憶された印刷データを、本当に共有印刷データとして印刷すべきか、まずはジョブオーナーであるユーザに複合機の画面上で確認させ、オーナーによって当該印刷データが印刷された場合には共有印刷データとして当該印刷データを他の共有ユーザに対しても印刷許可する。もしも共有印刷データとして適切でないとユーザが判断した場合は、他のユーザに当該印刷データを印刷される前、当該印刷データを削除することができる。
また、共有印刷データとして登録された場合には、メール等の通知手段を用いて、クライアントPCで共有するかを確認することができ、誤って公開されることを防ぐことができる。さらに、クライアントPCや複合機から、共有として登録された印刷データをどの範囲で共有させるかを後から指定することができるため、セキュリティを考慮した共有印刷データの出力を実現することが可能となる。
<第2の実施形態>
以下、本発明の第2の実施形態について説明する。
第1の実施形態においては、共有印刷データを印刷することでロックを解除する、又は印刷データを消去する処理について説明した。これに対し第2の実施形態においては、共有印刷データとして記憶されている印刷データを、個人印刷データに変更する処理について説明する。
当該変更の処理により、例えば、個人印刷データとして複合機に送出すべきところを間違えて共有印刷データとして送出して複合機に記憶させてしまった場合であっても、当該印刷データの印刷を許可するユーザを適切に設定(設定しなおす/再設定する)ことができる。
図8を参照して、本発明の第2の実施形態における、印刷処理について説明する。なお、図1〜図4、及び第1の実施形態の説明で記載済みの内容については説明を省略する。
複合機300の印刷プログラムは、第1の実施形態において説明した図7のステップS705において、処理中の書誌情報がログインユーザがオーナーである書誌情報であると判定した場合に、図8に記載の処理を開始する。
複合機300の印刷プログラムは、ステップS801において、図11に示すような確認画面1100を表示する。共有の印刷データが記憶された場合に、当該共有の印刷データを出力したユーザに対して、ロック解除の通知を出力する処理の一例を示す処理である。
その後、複合機300の印刷プログラムは、選択中の書誌情報の印刷データを、共有印刷データとして印刷する指示を受け付けたか、個人印刷データとして印刷する指示を受け付けたかを判定する。具体的には、確認画面1100において「共有」ボタンが押下された場合に、選択中の書誌情報の印刷データを、共有印刷データとして印刷する指示を受け付けたと判定して、処理をステップS804に移行する。また、「共有しない」ボタンが押下された場合に、選択中の書誌情報の印刷データを、個人印刷データとして印刷する指示を受け付けたと判定して、処理をステップS803に移行する。
ステップS804では、複合機300の共有印刷データ管理部415は、共有データ書誌テーブル910のロック情報916を「0:印刷可能」に変更する。そして、ログインユーザに対応するステータス915を印刷済みに変更して、処理をステップS805に移行する。グループから共有することが可能なユーザそれぞれに対して、印刷可能に変更する処理である。
ステップS803では、共有データ書誌テーブル910より当該印刷データの書誌情報を削除し、個人データ書誌テーブル900に登録する。つまり、選択中の共有書誌情報を個人書誌情報に変更すべく、選択中の共有書誌情報を共有データ書誌テーブル910から個人データ書誌テーブル900に移動する。個人データ書誌テーブル900への移動にあたり、グループID914の項目は削除し、ステータス915はステータス904に示す形式に変更する。また、ロック情報916も削除する。そして、ステータス904を印刷済みに変更して処理をステップS805に移行する。
ステップS805で、複合機300の印刷プログラムは、対象の印刷データを記憶部から取得して印刷実行する。以上が図8の説明である。
以上説明したように、本発明の第2の実施形態によれば、印刷データの印刷を許可するユーザを適切に設定しなおす/再設定することができる。
<第3の実施形態>
以下、本発明の第3の実施形態について説明する。
第3の実施形態においては、新たに共有印刷データを取得した場合に、当該取得した印刷データのユーザと同じユーザの、直前に取得した印刷データに応じて、新たに取得した共有印刷データをロックするか否かを決定する。
なお、第1の実施形態、及び2の実施形態の説明で記載済みの内容については説明を省略する。
複合機の印刷プログラムは、図5のステップS503で、取得した書誌情報が共有書誌情報であると判定した場合に、当該共有書誌情報の印刷データのオーナーであるユーザの印刷データであって、ステップS501における印刷データの取得の直前に、クライアントPCから受信・記憶した印刷データの書誌情報を取得する(書誌情報には印刷データの受信日時が記憶されているものとする)。
複合機の印刷プログラムは、ステップS501における印刷データの取得日時と、直前の、当該ジョブオーナーの過去の印刷データの取得日時との間の時間が所定時間以内(例えば5分以内)か判定する。当該所定時間の情報は、複合機の外部メモリに予め記憶されているものとする。
複合機の印刷プログラムは、ステップS501における印刷データの取得日時と、直前の、当該ジョブオーナーの過去の印刷データの取得日時との間の時間が所定時間以内であると判定した場合に、処理をステップS505に移行する。また、所定時間内ではないと判定した場合には、ロック情報916を「0:印刷可能」に設定して共有データ書誌テーブルに書誌情報を記憶して、処理をステップS506に移行する。以上が本発明の第3の実施形態の説明である。
上述したように、例えば、個人印刷データとして複合機に送出すべきところを間違えて共有印刷データとして送出して複合機に記憶させてしまった場合とは、具体的には、直前に設定したプリンタドライバの印刷設定の変更忘れによることが考えられる。
第3の実施形態によれば、直前の印刷データの設定と新たな印刷データの設定とを比較し、同じ設定がされている場合には、間違えた設定がされている可能性があるものとして印刷データをロックすることができる。
また、直前に採用した設定でも、直前の印刷からある程度の時間が経過している場合は、例えばアプリケーションの終了やPCの再起動等により、プリンタドライバの設定がリフレッシュされている可能性がある。
以下、本発明の第2の実施形態について説明する。
第3の実施形態によれば、例えば、直前の印刷データの時間と新たな印刷データの時間が所定時間以内である場合に、印刷データをロックすることができる。
以上説明したように、本発明によれば、共有印刷データの公開を制御することが可能であり、印刷データの印刷を許可するユーザを適切に設定可能な仕組みを提供することができる。
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。