ネットワークシステム、サーバ装置、および、プリンタドライバ
【課題】企業内の情報機器にインストールされているプリンタドライバやファームウェアについてバージョン管理を行う技術を提供する。
【解決手段】本出願のサーバ装置100は、複数のプリンタホスト200にインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、プリンタホスト200にインストールされているプリンタドライバについてのバージョン情報を複数のプリンタホスト200から定期的に取得するバージョン管理手段と、前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備える。
【解決手段】本出願のサーバ装置100は、複数のプリンタホスト200にインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、プリンタホスト200にインストールされているプリンタドライバについてのバージョン情報を複数のプリンタホスト200から定期的に取得するバージョン管理手段と、前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続されているプリンタを管理する技術に関する。
【背景技術】
【0002】
従来、プリンタを購入したユーザ、或いは、プリンタドライバをインストールしたユーザが、メーカに対して個別にユーザ登録を行うとともに、プリンタドライバやプリンタのファームウェアなどのバージョン管理も行っている。
【0003】
企業などでも、企業が所有するプリンタなどの情報機器について、プリンタドライバやファームウェアなどのバージョン管理を、個々のユーザに任せている場合がある。このような場合、個々のユーザが、メーカのサーバから最新バージョンのプリンタドライバやファームウェアを検索し、各自でインストールなどを実施する。
【0004】
例えば、特許文献1には、メーカのWEBサーバから最新バージョンのプリンタファームウェアをダウンロード(自動更新)する技術について記載されている。
【特許文献1】特開2006−235739号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、企業によっては、企業内の各情報機器にインストールするプリンタドライバやファームウェアのバージョンを指定している場合がある。例えば、モノクロ印刷などに限定する指定などを行う企業もある。このような場合において、各ユーザが、企業の指定と異なるバージョンのプリンタドライバやファームウェアを不正にインストールしてしまうと、企業にとって不都合が生じる。
【0006】
本発明は、上記課題を解決する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するための本願発明は、サーバ装置と、当該サーバ装置にローカルネットワークを介して接続される複数のプリンタホストと、を有するネットワークシステムであって、前記サーバ装置は、前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、前記プリンタホストは、前記サーバ装置から送信された適正バージョン情報のプリンタドライバをインストールするプリンタドライバ管理手段、を備える。
【発明を実施するための最良の形態】
【0008】
以下、本発明の実施形態の一例を図面を参照して説明する。
【0009】
図1は、本発明の一実施形態が適用されたネットワークシステム10のハードウェア構成の概要を説明するためのブロック図である。図示するように、ネットワークシステム10は、第1のサーバ400と、第2のサーバ100と、複数の情報処理端末200と、複数のプリンタ300と、を有する。
【0010】
第1のサーバ400は、プリンタ300のメーカー(製造会社)内に配置されるサーバであり、プリンタ300を購入したユーザ(企業、組織、個人を含む)に対して、最新のプリンタドライバやファームウェアを提供するサービスを行う。
【0011】
第2のサーバ100は、プリンタ300を所有するユーザ(企業、組織、個人を含む)によって構築されたローカルネットワーク(例えば、LANなど)50内に配置されるサーバであり、グローバルネットワーク(例えば、インターネットなど)60を介して、第1のサーバが提供するサービスを享受する。また、第2のサーバ100は、ローカルネットワーク50に接続されている情報処理端末200やプリンタ300などの情報機器を管理する。
【0012】
情報処理端末200は、ローカルネットワーク50に接続しており、プリンタ300のプリンタホストとして機能する。
【0013】
プリンタ300は、ローカルネットワーク50に接続しており、情報処理端末200によって制御され、印刷を行う。
【0014】
例えば、上述の第1のサーバ400、第2のサーバ100、情報処理端末200は、それぞれ、不図示の、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、ハードディスクと、ネットワークインタフェースと、を備えた一般的なコンピュータで実現される。ただし、各コンピュータの構成はこれに限定されるものではなく、例えば、USBインタフェースや搬可型記憶媒体の読取装置などを備えていてもよい。
【0015】
また、例えば、プリンタ300は、不図示の、CPUと、RAMと、ROMと、ネットワークインタフェースと、印刷エンジンと、を備えている。ただし、プリンタ300の構成はこれに限定されるものではなく、例えば、USBインタフェースなどを備えていてもよい。また、プリンタ300は、プリンタに限定されず、例えば、スキャナ装置、FAX装置、複合機などでもよい。
【0016】
また、第2のサーバ100と第1のサーバ400との間には、セキュリティ対策のために、ファイアウォール機能を有するサーバなどを設置しておいてもよい。もしくは、第2のサーバ100がファイアウォール機能を有していてもよい。
【0017】
次に、上記ネットワークシステム10における第1のサーバ400に実現される機能構成について説明する。
【0018】
図2は、第1のサーバ400の機能構成の一例を示すブロック図である。図示するように、第1のサーバ400は、サービス提供部410と、記憶部420と、を有する。サービス提供部410は、第1のサーバ400が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、記憶部420は、ROM或いはハードディスクといった記憶装置により構築される。
【0019】
記憶部420は、図示するように、企業管理テーブル421と、プログラム管理テーブル422と、を記憶する。
【0020】
企業管理テーブル421は、第1のサーバ400が提供するサービスの享受を許可している企業(以下では、「サービス許可企業」とよぶ)を特定するためのデータを格納している。なお、企業には、組織や個人も含まれるが、以下では、まとめて「企業」と記す。
【0021】
図3は、企業管理テーブル421の概略データ構造の一例を示す図である。図示するように、企業管理テーブル421は、サービス許可企業ごとのレコード4215からなる。各レコード4215は、プリンタ300を所有する企業によって所定の登録処理が行われた場合に追加される。各レコード4215には、企業識別情報(企業ID)4211と、企業名4212と、企業情報4213と、パスワード4214と、が対応付けて格納されている。
【0022】
企業ID4211は、サービス許可企業を識別するための文字列(数字列も含む)からなる。また、企業ID4211は、サービス許可企業に配置されている第2のサーバ100からアクセスの要求がされたときの照合に用いられる。
【0023】
企業名4212は、サービス許可企業の名称を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0024】
企業情報4213は、サービス許可企業の住所や電話番号などを特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0025】
パスワード4214は、企業により指定された文字列(数字列も含む)からなり、上記の企業ID4211と同様に、サービス許可企業に配置されている第2のサーバ100からアクセスの要求がされたときの照合に用いられる。
【0026】
次に、プログラム管理テーブル422は、最新バージョンのプリンタドライバ(インストール用)、及び、最新バージョンのファームウェア(インストール用)を管理するためのデータを格納している。
【0027】
図4は、プログラム管理テーブル422の概略データ構造の一例を示す図である。図示するように、プログラム管理テーブル422は、メーカが製造しているプリンタの機種名及び端末機種名ごとのレコードからなる。各レコードは、ファームウェア(インストール用)、又は、プリンタドライバ(インストール用)の最新バージョンが作成される毎に更新される。各レコードには、プリンタ機種名4221と、最新ファームウェア4222と、プリンタ機種名4221のプリンタを制御可能な情報処理端末(複数ある場合には複数個)についての端末機種名4223と、最新プリンタドライバ4224と、が対応付けて格納されている。
【0028】
プリンタ機種名4221は、メーカが製造しているプリンタの機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0029】
最新ファームウェア4222は、プリンタ機種名4221で特定される機種のプリンタにインストール可能な最新バージョンのファームウェア(インストール用)からなる。ただし、最新ファームウェア4222は、ファーウェア(プログラム)そのものでなくてもよく、ファームウェアのバージョン情報や、ファームウェアの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。
【0030】
端末機種名4223は、プリンタ機種名4221のプリンタを制御可能な情報処理端末(PC)の機種名を特定するデータであり、例えば、所定の文字列(数字列を含む)からなる。
【0031】
最新プリンタドライバ4224は、端末機種名4223で特定される機種の情報処理端末(PC)にインストール可能な最新バージョンのプリンタドライバ(インストール用)からなる。ただし、最新プリンタドライバ4224は、最新バージョンのプリンタドライバでなくても、最新ファームウェア4222に対応していればよい。また、プリンタドライバ(プログラム)そのものでなくてもよく、プリンタドライバのバージョン情報や、プリンタドライバの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。
【0032】
図2に戻り、サービス提供部410は、プリンタ300を購入したユーザ(企業)からサービスの提供開始を要求された場合に、当該ユーザ(企業)を登録する処理を行う。具体的には、サービス提供部410は、企業管理テーブル421に、上述したデータ(企業ID4211、企業名4212、企業情報4213、パスワード4214)を追加する。これにより、第2のサーバ100を所有する企業は、第1のサーバ400においてサービス許可企業として登録される。
【0033】
また、サービス提供部410は、プリンタ300を購入したユーザ(企業)に対して、最新バージョンのプリンタドライバ(インストール用)及びファームウェア(インストール用)を提供する。具体的には、サービス提供部410は、第2のサーバ100からの定期的な問い合わせに応じて、情報処理端末200にインストールされているプリンタドライバよりも新しいバージョンのプリンタドライバ、或いは、プリンタ300にインストールされているファームウェアよりも新しいバージョンのファームウェアを、プログラム管理テーブル422から検索し、提供する。
【0034】
次に、ネットワークシステム10における第2のサーバ100と、情報処理端末200と、プリンタ300に実現される機能構成について説明する。
【0035】
図5は、第2のサーバ100と、情報処理端末200と、プリンタ300と、の機能構成の一例を示すブロック図である。図示するように、第2のサーバ100は、管理部110と、不正検出部120と、記憶部130と、を有する。管理部110及び不正検出部120は、第2のサーバ100が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、記憶部130は、ROM或いはハードディスクといった記憶装置により構築される。
【0036】
記憶部130は、図示するように、端末情報テーブル131と、プリンタ情報テーブル132と、プログラム管理テーブル133と、ユーザ管理テーブル134と、を記憶する。
【0037】
端末情報テーブル131は、第2のサーバ100(企業)で管理している情報処理端末(PC)200についての情報を格納している。
【0038】
図6は、端末情報テーブル131の概略データ構造の一例を示す図である。図示するように、端末情報テーブル131は、第2のサーバ100(企業)で管理している情報処理端末(PC)200ごとのレコード1216からなる。各レコード1216は、情報処理端末200が企業(ローカルネットワーク50)内に導入された場合に追加される。各レコードには、端末識別情報(端末ID)1311と、IPアドレス1312と、端末機種名1313と、プリンタドライババージョン情報1314(複数ある場合には複数個)と、登録プリンタ1315(複数ある場合には複数個)と、が対応付けて格納されている。
【0039】
端末ID1311は、情報処理端末(PC)200を識別するための文字列(数字列も含む)であり、例えば、情報処理端末(PC)200に割り当てられている固有のMACアドレスからなる。
【0040】
IPアドレス1312は、ローカルネットワーク50上において、情報処理端末(PC)200に割り当てられているIPアドレスである。情報処理端末(PC)200の実際のIPアドレスに変更があった場合には、端末情報テーブル131のIPアドレス1312も随時、更新される。
【0041】
端末機種名1313は、ローカルネットワーク50に接続されている情報処理端末200の機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0042】
プリンタドライババージョン情報1314は、情報処理端末200に実際にインストールされているプリンタドライバのバージョンを特定するデータであり、例えば、所定の数字列(文字列を含む)からなる。なお、情報処理端末200に複数のプリンタドライバがインストールされている場合には、プリンタドライバごとに、バージョンを特定するデータを有している。情報処理端末200にインストールされているプリンタドライバのバージョンに変更があった場合には、端末情報テーブル131のプリンタドライババージョン情報1314も随時、更新される。
【0043】
登録プリンタ1315は、端末ID1311の情報処理端末200で制御するプリンタとして登録されているプリンタを識別するための文字列(数字列も含む)であり、例えば、プリンタに割り当てられている固有のシリアル番号からなる。
【0044】
次に、プリンタ情報テーブル132は、第2のサーバ100(企業)で管理しているプリンタ300についての情報を格納している。
【0045】
図7は、プリンタ情報テーブル132の概略データ構造の一例を示す図である。図示するように、プリンタ情報テーブル132は、第2のサーバ100(企業)で管理しているプリンタ300ごとのレコード1325からなる。各レコード1325は、プリンタ300が企業(ローカルネットワーク50)内に導入された場合に追加される。各レコード1325には、プリンタ識別情報(プリンタID)1321と、IPアドレス1322と、プリンタ機種名1323と、ファームウェアバージョン情報1324と、が対応付けて格納されている。
【0046】
プリンタID1321は、登録プリンタ1314に対応するデータであり、例えば、プリンタ300に割り当てられている固有のシリアル番号からなる。
【0047】
IPアドレス1322は、ローカルネットワーク50上において、プリンタ300に割り当てられているIPアドレスである。
【0048】
プリンタ機種名1323は、ローカルネットワーク50に接続されているプリンタ300の機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0049】
ファームウェアバージョン情報1324は、プリンタ300に実際にインストールされているファームウェアのバージョンを特定するデータであり、例えば、所定の数字列(文字列を含む)からなる。プリンタ300にインストールされているファームウェアのバージョンに変更があった場合には、プリンタ情報テーブル132のファームウェアバージョン情報1324も随時、更新される。
【0050】
次に、プログラム管理テーブル133は、第2のサーバ100(企業)で管理しているプリンタ300に実際にインストールされているファームウェアを格納している。これとともに、第2のサーバ100(企業)で管理している情報処理端末200に実際にインストールされているプリンタドライバを格納している。
【0051】
図8は、プログラム管理テーブル133の概略データ構造の一例を示す図である。図示するように、プログラム管理テーブル133は、第2のサーバ100(企業)で管理しているプリンタ300のプリンタ機種名及び端末機種名ごとのレコードからなる。各レコードは、第2のサーバ100が管理したことのない機種のプリンタ300又は情報処理端末200が、企業(ローカルネットワーク50)内に導入された場合に、追加される。各レコードは、プリンタ機種名1331と、ファームウェア1332と、プリンタ機種名1331のプリンタを制御可能な情報処理端末(複数ある場合には複数個)についての端末機種名1333と、プリンタドライバ1334と、が対応付けて格納されている。
【0052】
プリンタ機種名1331は、プリンタ情報テーブル132のプリンタ機種名1323に対応するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0053】
ファームウェア1332は、プリンタ機種名1331で特定される機種のプリンタに員ストールすべき最新バージョンのファームウェアからなる。ただし、ファームウェア1332は、ファーウェア(プログラム)そのものでなくてもよく、ファームウェアのバージョン情報や、ファームウェアの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。なお、ファームウェア1332は、第1のサーバ400から最新ファームウェア4222を取得する毎に更新される。
【0054】
端末機種名1333は、端末情報テーブル131の端末機種名1313に対応するデータであり、例えば、例えば、所定の文字列(数字列も含む)からなる。
【0055】
プリンタドライバ1334は、端末機種名1333で特定される機種の情報処理端末にインストールすべき最新バージョンのプリンタドライバからなる。ただし、プリンタドライバ1334は、プリンタドライバ(プログラム)そのものでなくてもよく、プリンタドライバのバージョン情報や、プリンタドライバの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。なお、プリンタドライバ1334は、第1のサーバ400から最新プリンタドライバ4224を取得する毎に更新される。
【0056】
また、プリンタドライバ1334は、最新バージョンでなくとも、企業によって推奨(指定)されている適正バージョンのプリンタドライバとしてもよい。この場合、プリンタドライバ1334は、管理ユーザにより、適宜、更新される。
【0057】
次に、ユーザ管理テーブル134は、第2のサーバ100を所有する企業に所属しているユーザ(社員)を管理するためのデータを格納している。
【0058】
図9は、ユーザ管理テーブル134の概略データ構造の一例を示す図である。図示するように、ユーザ管理テーブル134は、ユーザ(社員)ごとのレコード1344からなる。各レコード1344は、ユーザ(社員)の所定の登録処理が行われた場合に追加される。各レコード1344には、社員識別情報(社員ID)1341と、名前1342と、使用許可端末1343と、が対応付けて格納されている。
【0059】
社員ID1341は、ユーザ(社員)を識別するための文字列(数字列も含む)からなる。また、社員ID1341は、情報処理端末200からアクセスの要求がされたときの照合に用いられる。
【0060】
名前1342は、ユーザ(社員)の名前を特定するデータであり、例えば、所定の文字列からなる。
【0061】
使用許可端末1343は、ユーザ(社員)に使用することを許可している情報処理端末200を特定するデータであり、例えば、端末ID1311に対応するデータである。
【0062】
図5に戻り、管理部110は、ローカルネットワーク50に接続されている情報処理端末200と、プリンタ300と、を管理する。例えば、管理部110は、ローカルネットワーク50に接続されている情報処理端末200およびプリンタ300について、登録を行う(以下では、「登録処理」とよぶ)。また、管理部110は、最新バージョンのプリンタドライバおよびファームウェアの有無について、第1のサーバ400に定期的に問い合わせ、存在する場合には取得する(以下では、「バージョン更新処理」とよぶ)。
【0063】
不正検出部120は、情報処理端末200に不正にインストールされたプリンタドライバを検出する(以下では、「不正検出処理」とよぶ)。具体的には、不正検出部120は、情報処理端末200にインストールされているプリンタドライバのバージョン情報を取得し、取得したバージョン情報がプログラム管理テーブル133に登録されているプリンタドライバ1334のバージョン情報と一致しない場合には、不正にインストールされたと特定する。
【0064】
次に、情報処理端末200は、図示するように、管理部210と、端末情報記憶部220と、プリンタドライバ部230と、を有する。管理部210とプリンタドライバ部230は、それぞれ、情報処理端末200が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、端末情報記憶部220は、ROM或いはハードディスクといった記憶装置により構築される。
【0065】
管理部210は、情報処理端末200におけるプリンタドライバ(後述するプリンタドライバ部230を含む)を管理する。例えば、管理部210は、プリンタドライバを情報処理端末200にインストールする処理を行う。購入してから初めてプリンタドライバをインストールする場合には、管理部210は、プリンタドライバに対応しているプリンタ300から、プリンタ300についてのプリンタ情報を取得し、取得したプリンタ情報とともに情報処理端末200についての端末情報を、第2のサーバ100に登録させる。また、管理部210は、プリンタドライバを更新(アップデート、ダウンデートを含む)する処理を行う。
【0066】
端末情報記録部220は、情報処理端末200に関する端末情報を記録する。例えば、端末情報には、インストールされているプリンタドライバのバージョン情報や、端末ID(MACアドレス)や、割り当てられているIPアドレスや、端末機種名や、情報処理端末200で制御可能なプリンタ(シリアル番号)などが含まれる。
【0067】
プリンタドライバ部230は、ローカルネットワーク50に接続されているプリンタ300を制御するプリンタドライバとして機能する。ここで、プリンタドライバ部230は、情報処理端末200にインストールされたプリンタドライバであり、インストールされていないプリンタドライバ(インストール用)は含まれない。
【0068】
次に、プリンタ300は、図示するように、管理部310と、プリンタ情報記憶部320と、ファームウェア部330と、を有する。管理部310とファームウェア部330は、それぞれ、プリンタ300が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。或いは、管理部310とファームウェア部330は、各機能を実現するための専用のASIC(Application Specific Integrated Circuit)が動作することにより構築されてもよい。また、プリンタ情報記憶部320は、ROMなどの記憶装置により構築される。
【0069】
管理部310は、プリンタ300におけるファームウェア(後述するファームウェア部330を含む)を管理する。例えば、管理部310は、プリンタ300にインストールされているファームウェアをアップデートする処理を行う。また、管理部310は、情報処理端末200からの要求に応じて、後述するプリンタ情報を情報処理端末200に送信する。
【0070】
プリンタ情報記録部320は、プリンタ300に関するプリンタ情報を記録する。例えば、プリンタ情報には、インストールされているファームウェアのバージョン情報や、プリンタID(シリアル番号)や、割り当てられているIPアドレスや、プリンタ機種名などが含まれる。
【0071】
ファームウェア部330は、プリンタ300を制御するファームウェアとして機能する。
【0072】
次に、上記構成からなるネットワークシステム10の特徴的な動作について説明する。
【0073】
<登録処理>
図10は、ネットワークシステム10における登録処理を示すタイミングチャートである。
【0074】
まず、情報処理端末200の管理部210は、インストール用に圧縮などされたプリンタドライバを、情報処理端末200にインストールする処理を行う(ステップS1)。例えば、管理部210は、可搬型記憶媒体(CD−ROMやUSBメモリなど)に格納されているプリンタドライバ(インストール用プログラム)を読み出し、インストールを行う。或いは、管理部210は、ローカルネットワーク50を介して、第2のサーバ100に格納されているプリンタドライバ(インストール用プログラム)を取得し、インストールを行う。
【0075】
インストールを行った後、管理部210は、インストールしたプリンタドライバ(プリンタドライバ部230)が制御可能なプリンタ300と通信を開始する(ステップS2)。例えば、管理部210は、ローカルネットワーク50を介して、プリンタ300にプリンタ情報を要求する。
【0076】
プリンタ300の管理部310は、情報処理端末200との通信を開始すると、プリンタ情報記憶部320が記憶しているプリンタ情報を、情報処理端末200に送信する(ステップS3)。
【0077】
情報処理端末200の管理部210は、プリンタ300から送信されたプリンタ情報を受信すると、端末情報記憶部220が記憶している端末情報を読み出し、受信したプリンタ情報と、読み出した端末情報と、ユーザによってキーボードなどから入力された社員IDと、を第2のサーバ100に送信する(ステップS4)。
【0078】
ここで、情報処理端末200の管理部210は、各情報を第2のサーバに送信する前に、ローカルネットワーク50上の第2のサーバ100を特定しておかなければならない。第2のサーバを特定する方法は、任意の方法でよいが、例えば、下記の3つの方法がある。
【0079】
(1)第1の特定方法
メーカから配布される可搬型記憶媒体には、プリンタドライバ(インストール用)とともに、予め、第2のサーバ100の特定情報(例えば、URL情報)が格納されており、管理部210は、当該特定情報を読み出して、第2のサーバ100を特定する。
【0080】
(2)第2の特定方法
プリンタドライバ(インストール用)が格納された可搬型記憶媒体がメーカから配布されると、第2のサーバ100(管理部110)は、当該可搬型記憶媒体に第2のサーバ100の特定(例えば、URL情報)を格納する。そして、当該可搬型記憶媒体は各社員に配布され、情報処理端末200の管理部210は、配布された可搬型記憶媒体から特定情報を読み出して、第2のサーバ100を特定する。
【0081】
(3)第3の特定方法
ステップS1でインストールを行うためのインストーラ(プログラム)には、ローカルネットワーク50上の第2のサーバ100を検索するモジュールが含まれおり、情報処理端末200の管理部210は、当該モジュールに従って、第2のサーバ100を特定する。
【0082】
なお、管理部110は、上記の特定方法によって第2のサーバ100を特定した後、特定情報を記憶部110に記憶しておく。管理部110は、第2のサーバ100にデータを送信する(第2のサーバ100と通信する)場合には、ここで記憶部110に記憶した特定情報を用いて、前もって第2のサーバ100を特定する。
【0083】
次に、第2のサーバ100の管理部110は、情報処理端末200から送信された、端末情報、プリンタ情報、社員IDを受信すると、各情報の登録を行う(ステップS5)。
【0084】
例えば、管理部110は、まず、受信した社員IDを、ユーザ管理テーブル134から検索する。該当する社員ID1341がユーザ管理テーブル134に存在する場合には、端末情報とプリンタ情報について登録を行う。具体的には、管理部110は、受信した端末情報に含まれている各情報(端末ID、IPアドレス、端末機種名、プリンタドライババージョン、登録プリンタ)を対応付けたレコード1316を、端末情報テーブル131に追加する。これとともに、管理部110は、受信したプリンタ情報に含まれている各情報(プリンタID、IPアドレス、プリンタ機種名、ファームウェアバージョン)を対応付けたレコード1325を、プリンタ情報テーブル132に追加する。
【0085】
一方、管理部110は、受信した社員IDがユーザ管理テーブル134に存在しない場合には、情報処理端末200に対してエラーを通知する。
【0086】
また、管理部110は、該当する社員ID134がユーザ管理テーブル134に存在する場合であっても、情報処理端末200を使用する許可がない社員(ユーザ)である場合には、登録を行わず、エラーを通知するようにしてもよい。具体的には、管理部110は、検索した社員ID134に対応付けられている使用許可端末1343をユーザ管理テーブル134から読み出し、読み出した使用許可端末1343と、受信した端末情報に含まれる端末IDと、を比較して、一致していない場合には、エラーを通知する。
【0087】
以上の登録処理により、本実施形態のネットワークシステム10は、第2のサーバ100において、企業(ローカルネットワーク50)内の情報機器(複数の情報処理端末200、複数のプリンタ300)について登録を行うことができる。また、これによって、第2のサーバ100は、情報処理端末200にインストールされているプリンタドライバや、プリンタ300にインストールされているファームウェアについて、バージョン管理を行うことができるようになる。
【0088】
<バージョン更新処理>
図11は、ネットワークシステム10におけるバージョン更新処理を示すタイミングチャートである。
【0089】
まず、第2のサーバ100の管理部110は、第1のサーバ400に対して、最新バージョンのプリンタドライバ及びファームウェアの有無について、定期的に問い合わせを行う(ステップS11)。具体的には、管理部110は、端末情報テーブル131に格納されている全ての端末機種名1313及びプリンタドライババージョン情報1314と、プリンタ情報テーブル132に格納されている全てのプリンタ機種名1323及びファームウェアバージョン情報1324と、第2のサーバ100を所有している企業を識別するための企業IDと、ユーザから入力されたパスワードと、を一括して、第1のサーバ100に(グローバルネットワーク60を介して)送信する。なお、上述した通り、端末情報テーブル131のプリンタドライババージョン情報1314は、各情報処理端末200に実際にインストールされているプリンタドライバのバージョンを示しており、プリンタ情報テーブル132のファームウェアバージョン情報1324は、各プリンタ300に実際にインストールされているプリンタドライバのバージョンを示している。
【0090】
続いて、第1のサーバ400のサービス提供部410は、第2のサーバ100からの問い合わせを受け付けると、最新バージョン(実際にインストールされているバージョンよりも新しいバージョン)のプリンタドライバ及びファームウェアの有無について判定し、有る場合には、当該最新バージョンのプリンタドライバ及びファームウェアを特定する(ステップS12)。
【0091】
具体的には、サービス提供部410は、まず、第2のサーバから送信された企業IDを、前もって登録されている企業管理テーブル421から検索する。該当する企業ID4211が企業管理テーブル421に存在する場合には、第2のサーバから送信されたパスワードが、企業ID4211に対応付けられているパスワード4214に一致するか否か判定する。該当する企業IDが企業管理テーブル421に存在しない場合、或いは、パスワードが一致しない場合には、最新バージョンのプリンタドライバ及びファームウェアの有無について判定する処理を行わずに、エラーを第2のサーバ100に通知する。
【0092】
一方、パスワードが一致する場合には、サービス提供部410は、プログラム管理テーブル422を読み出して、第2のサーバ100から送信されたプリンタ機種名1323と、端末機種名1313と、をともに有するレコードを検索する。そして、サービス提供部410は、検索したレコードに対応付けられている最新ファームウェア4222と、最新プリンタドライバ4224のバージョン情報を抽出する。
【0093】
ここで、サービス提供部410は、抽出した最新ファームウェア4222と、第2のサーバ100から送信されたファームウェアバージョン情報1324と、を比較する。比較した結果、プログラム管理テーブル422に格納されている最新ファームウェアの方が新しいバージョンである場合には、当該最新ファームウェア4222を、最新バージョンのファームウェアとして特定する。
【0094】
プリンタドライバについても同様に、サービス提供部410は、抽出した最新プリンタドライバ4224と、第2のサーバ100から送信されたプリンタドライババージョン情報1314と比較する。比較した結果、プログラム管理テーブル422に格納されている最新プリンタドライバ4224の方が新しいバージョンである場合には、当該最新プリンタドライバ4224を、最新バージョンのプリンタドライバとして特定する。
【0095】
そして、サービス提供部410は、特定した最新ファームウェア4222や最新プリンタドライバ4224を、当該最新ファームウェア4222に対応するプリンタ機種名4221と、当該最新プリンタドライバ4224に対応する端末機種名4223とともに、第2のサーバ100に送信する(ステップS13)。なお、一つとして、各情報機器(情報処理端末200、プリンタ300)にインストールされているプリンタドライバやファームウェアよりも新しいバージョン(最新バージョン)のものがプログラム管理テーブル422に無かった場合には、サービス提供部410は、最新バージョンのプリンタドライバ或いはファームウェアが存在しないことを第2のサーバ100に通知する。
【0096】
第2のサーバ100の管理部110は、ステップS13で最新ファームウェア4222を受信すると、受信した最新ファームウェア4222を、プリンタ300にインストール(アップデート)する(ステップS14)。具体的には、まず、管理部110は、最新ファームウェア4222とともに受信したプリンタ機種名4221を、プリンタ情報テーブル132から検索する。そして、検索したプリンタ機種名1323に対応付けられているプリンタID1321(IPアドレス1322)で特定されるプリンタ300に対して、受信した最新ファームウェア4222を送信する。このとき、プリンタ300の管理部310は、最新ファームウェア4222を受信して、インストールされているファームウェアをアップデートする。
【0097】
また、第2のサーバ100の管理部110は、ステップS13で最新プリンタドライバ4224を受信すると、情報処理端末200にアップデートの通知を行う(ステップS15)。具体的には、まず、管理部110は、最新プリンタドライバ4224とともに受信した端末機種名4223を、端末情報テーブル131から検索する。そして、検索した端末機種名1313に対応付けられている端末ID1311(IPアドレス1312)で特定される情報処理端末200に対して、アップデートの通知を行う。
【0098】
情報処理端末200の管理部210は、アップデートの通知を受けると、ユーザからの指示に基づき、最新バージョンのプリンタドライバ(最新プリンタドライバ4224)を、第2のサーバ100に要求する(ステップS16)。
【0099】
この要求を受け付けた第2のサーバ100の管理部110は、ステップS13で受信した最新プリンタドライバ4224を、ステップS16で要求してきた情報処理端末200に送信する(ステップS17)。
【0100】
最新プリンタドライバ4224を受信した情報処理端末200の管理部210は、受信した最新プリンタドライバ4224を、情報処理端末200にインストール(アップデート)する(ステップS18)。
【0101】
インストール(アップデート)を完了すると、管理部210は、インストール(アップデート)の完了を、第2のサーバ100に通知する(ステップS19)。
【0102】
続いて、第2のサーバ100の管理部110は、プログラム管理テーブル133のデータを更新する(ステップS20)。
【0103】
具体的には、管理部110は、ステップS13で最新ファームウェア4222を受信している場合には、プログラム管理テーブル133を読み出して、最新ファームウェア4222とともに受信したプリンタ機種名4221を、プログラム管理テーブル133から検索する。そして、検索したプリンタ機種名1331に対応するファームウェア1332を、ステップS13で受信した適正バージョンの最新ファームウェア4222で更新(上書き)する。なお、管理部110は、ステップS19で通知を受けていない場合であっても、最新ファームウェア4222については更新を行う。
【0104】
また、ステップS13で最新プリンタドライバ4224を受信し、かつ、ステップS19で通知を受けた場合には、管理部110は、プログラム管理テーブル133を読み出して、ステップS13で最新プリンタドライバ4224とともに受信した端末機種名4223を、プログラム管理テーブル133から検索する。そして、検索した端末機種名1333に対応するプリンタドライバ1334を、ステップS13で受信した適正バージョンの最新プリンタドライバ4224で更新(上書き)する。
【0105】
さらに、管理部110は、プリンタ情報テーブル132及び端末情報テーブル131についても更新する。例えば、管理部110は、ステップS14でアップデートしたプリンタ300のプリンタID1321に対応付けられているファームウェアバージョン情報1324を、ステップS14でアップデートした最新ファームウェア4222のバージョン情報で更新(上書き)する。また、管理部110は、ステップS18でインストール(アップデート)した情報処理端末200の端末ID1331に対応付けられているプリンタドライババージョン情報1334を、ステップS18でインストール(アップデート)した最新フプリンタドライバ4224のバージョン情報で更新(上書き)する。
【0106】
以上のバージョン更新処理を行うネットワークシステム10では、第1のサーバ100との通信を、各情報機器(情報処理端末200、プリンタ300)単位で行わずに、企業(第2のサーバ100)単位で行っているため、グローバルネットワーク60における負荷を軽減することができる。さらには、各情報機器から、第1のサーバ100に対して各種情報を送信することはないので、個人情報などの漏洩を防止することができ、セキュリティ上の問題が発生しにくい。
【0107】
<不正検出処理>
図12は、ネットワークシステム10における不正検出処理を示すタイミングチャートである。
【0108】
なお、情報処理端末200の管理部210が、何らかの方法により、第1のサーバ400などから不正バージョンのプリンタドライバを取得(インストール)しているとする(ステップS21)。ここで、不正バージョンとは、プログラム管理テーブル133に格納されているプリンタドライバ1334のバージョン(適正バージョン)と異なるバージョンを指す。
【0109】
第2のサーバ100の不正検出部120は、不正バージョンのプリンタドライバが情報処理端末200にインストールされているか否かにかかわらず、情報処理端末200にインストールされているプリンタドライバのバージョン情報について定期的に問い合わせる(ステップS22)。具体的には、不正検出部120は、定期的に、ローカルネットワーク50に接続されている情報処理端末200に対して、インストールされているプリンタドライバのバージョン情報を要求する。
【0110】
情報処理端末200の管理部210は、インストールされているプリンタドライバのバージョン情報と、端末IDと、を第2のサーバ100に通知する(ステップS23)。具体的には、管理部210は、端末情報記憶部220が記憶しているバージョン情報と、端末IDと、を読み出して、読み出したバージョン情報を、第2のサーバ100に送信する。
【0111】
ここで、バージョン情報と、端末IDと、を受信した第2のサーバ100の不正検出部120は、端末情報テーブル131を読み出して、情報処理端末200から受信した端末IDを検索する。そして、検索した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、情報処理端末200から受信したバージョン情報で更新する。
【0112】
続いて、不正検出部120は、情報処理端末200に不正にインストールされているプリンタドライバを検出する(ステップS24)。具体的には、まず、不正検出部120は、ステップS23で受信した端末ID1311に対応付けられている端末機種名1313を端末情報テーブル131から特定する。そして、特定した端末機種名1313(端末機種名1333)に対応付けられているプリンタドライバ1334のバージョン情報(適正バージョン)を、プログラム管理テーブル133から抽出する。さらに、不正検出部120は、ステップS23で受信したバージョン情報と、プログラム管理テーブル133から抽出したバージョン情報(適正バージョン)を比較する。ここで、両バージョン情報が一致する場合には、情報処理端末200にインストールされているプリンタドライバは適正バージョンと判定する。一方、両バージョンが一致しない場合には、情報処理端末200にインストールされているプリンタドライバは不正バージョンと判定する。
【0113】
不正検出部120は、ステップS24で不正バージョンと判定したプリンタドライバをインストールしている情報処理端末200に対して、不正を通知する(ステップS25)。具体的には、まず、不正検出部120は、端末情報テーブル131を読み出して、不正バージョンと判定したプリンタドライバのプリンタドライババージョン1314に対応付けられている端末ID1311(IPアドレス1312)を特定する。そして、特定した端末ID1311(IPアドレス1312)で特定される情報処理端末200に対して、不正を通知する。
【0114】
さらに、不正検出部120は、適正バージョンのプリンタドライバを、情報処理端末200に送信する(ステップS26)。具体的には、不正検出部120は、ステップS24でプログラム管理テーブル133から抽出した適正バージョンのプリンタドライバ1334を、ステップS25で不正を通知した情報処理端末200に対して送信する。
【0115】
情報処理端末200の管理部210は、適正バージョンのプリンタドライバ1334を受け付けると、当該プリンタドライバ1334を情報処理端末200にインストール(アップデート又はダウンデート)する(ステップS27)。
【0116】
インストール(アップデート又はダウンデート)を完了すると、管理部210は、インストール(アップデート又はダウンデート)の完了を、第2のサーバ100に通知する(ステップS28)。
【0117】
続いて、第2のサーバ100の管理部110は、プログラム管理テーブル133のデータを更新する(ステップS29)。
【0118】
具体的には、管理部110は、ステップS26でプリンタドライバ1334を送信した情報処理端末200の端末ID1311を、端末情報テーブル131から特定する。そして、特定した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、情報処理端末200に送信したプリンタドライバのバージョン情報(適正バージョン)で更新(上書き)する。
【0119】
以上の不正検出処理により、本実施形態におけるネットワークシステム10では、不正バージョン、すなわち、最新バージョンではないバージョン、或いは、企業が指定(推奨)していないバージョンのプリンタドライバが情報処理端末200にインストールされることを防ぐことができる。
【0120】
本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【0121】
例えば、プリンタ300に割り当てているIPアドレスに変更があった場合に、第2のサーバ100において、プリンタ300についての登録情報(プリンタ情報テーブル132)を随時、更新するようにしてもよい。
【0122】
図13(上段)は、プリンタ300のIPアドレスに変更があった場合の処理を示すフローチャートである。
【0123】
図示するように、プリンタ300に割り当てられているIPアドレスに変更があると(ステップ31)、プリンタ300の管理部310は、プリンタ情報記憶部320が記憶しているIPアドレスを変更する。
【0124】
情報処理端末200の管理部210は、通信ができなくなったプリンタ300と再通信を開始する(ステップS32)。具体的には、管理部210は、通信ができなくなったプリンタ300のプリンタIDを有しているプリンタ300をローカルネットワーク50から検索し、検索したプリンタ300と通信を再開する。
【0125】
そして、プリンタ300の管理部310は、プリンタ情報記憶部320が記憶しているプリンタ情報を、通信を再開した情報処理端末200に送信する(ステップS33)。
【0126】
情報処理装置200の管理部210は、受信したプリンタ情報を、第2のサーバ100に送信する(ステップS34)。
【0127】
第2のサーバ100の管理部110は、プリンタ情報を受信すると、プリンタ300についての登録情報(プリンタ情報テーブル132)を変更する(ステップS35)。具体的には、管理部110は、情報処理端末200から受信したプリンタ情報に含まれているプリンタIDを、プリンタ情報テーブル132から検索する。そして、検索したプリンタID1321に対応付けられているIPアドレス1322を、受信したプリンタ情報に含まれているIPアドレスで更新(上書き)する。
【0128】
以上の処理により、プリンタ300に割り当てているIPアドレスに変更があった場合でも、第2のサーバ100で管理しているプリンタ情報テーブル132を適切に更新することができる。
【0129】
また、例えば、情報処理端末200にインストールされているプリンタドライバが削除された場合に、第2のサーバ100において、情報処理端末200についての登録情報(プ端末情報テーブル131)を、更新するようにしてもよい。
【0130】
図13(下段)は、情報処理端末200にインストールされているプリンタドライバが削除された場合の処理を示すフローチャートである。
【0131】
図示するように、情報処理端末200にインストールされているプリンタドライバが削除されると(ステップS41)、情報処理端末200の管理部210は、端末情報記憶部220が記憶しているバージョン情報を削除する。
【0132】
続いて、管理部210は、プリンタドライバを削除したことを、端末IDとともに第2のサーバ100に通知する(ステップS42)。
【0133】
そして、第2のサーバ100の管理部110は、情報処理端末200からの通知を受けると、情報処理端末200についての登録情報(端末情報テーブル131)を変更する(ステップS43)。具体的には、管理部110は、情報処理端末200から受信した端末IDを、端末情報テーブル131から検索する。そして、検索した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、無効データ(例えば、「なし」)に変更する。
【0134】
以上の処理により、情報処理端末200にインストールされているプリンタドライバが削除された場合でも、第2のサーバ100で管理している端末情報テーブル131を適切に変更することができる。
【図面の簡単な説明】
【0135】
【図1】本発明の実施形態に係るネットワークシステムのハードウェア構成図である。
【図2】第1のサーバの機能構成の一例を示す図である。
【図3】企業管理テーブルの概略データ構造の一例を示す図である。
【図4】第1のサーバにおけるプログラム管理テーブルの概略データ構造の一例を示す図である。
【図5】第2のサーバ、情報処理端末、プリンタの機能構成の一例を示す図である。
【図6】端末情報テーブルの概略データ構造の一例を示す図である。
【図7】プリンタ情報テーブルの概略データ構造の一例を示す図である。
【図8】第2のサーバにおけるプログラム管理テーブルの概略データ構造の一例を示す図である。
【図9】ユーザ管理テーブルの概略データ構造の一例を示す図である。
【図10】登録処理を示すタイミングチャートである。
【図11】バージョン更新処理を示すタイミングチャートである。
【図12】不正検出処理を示すタイミングチャートである。
【図13】(上段)プリンタのIPアドレスに変更があった場合の処理を示すタイミングチャートである。(下段)情報処理端末にインストールされているプリンタドライバが削除された場合の処理を示すタイミングチャートである。
【符号の説明】
【0136】
10・・・ネットワークシステム、50・・・ローカルネットワーク、60・・・グローバルネットワーク、100・・・第2のサーバ、110・・・管理部(第2のサーバ)、120・・・不正検出部、130・・・記憶部(第2のサーバ)、131・・・端末情報テーブル、132・・・プリンタ情報テーブル、133・・・プログラム管理テーブル(第2のサーバ)、134・・・ユーザ管理テーブル、200・・・情報処理端末、210・・・管理部(情報処理端末)、220・・・端末情報記憶部、230・・・プリンタドライバ部、300・・・プリンタ、310・・・管理部(プリンタ)、320・・・プリンタ情報記憶部、330・・・ファームウェア部、400・・・第1のサーバ、410・・・サービス提供部、420・・・記憶部(第1のサーバ)、421・・・企業管理テーブル、422・・・プログラム管理テーブル(第1のサーバ)。
【技術分野】
【0001】
本発明は、ネットワークに接続されているプリンタを管理する技術に関する。
【背景技術】
【0002】
従来、プリンタを購入したユーザ、或いは、プリンタドライバをインストールしたユーザが、メーカに対して個別にユーザ登録を行うとともに、プリンタドライバやプリンタのファームウェアなどのバージョン管理も行っている。
【0003】
企業などでも、企業が所有するプリンタなどの情報機器について、プリンタドライバやファームウェアなどのバージョン管理を、個々のユーザに任せている場合がある。このような場合、個々のユーザが、メーカのサーバから最新バージョンのプリンタドライバやファームウェアを検索し、各自でインストールなどを実施する。
【0004】
例えば、特許文献1には、メーカのWEBサーバから最新バージョンのプリンタファームウェアをダウンロード(自動更新)する技術について記載されている。
【特許文献1】特開2006−235739号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、企業によっては、企業内の各情報機器にインストールするプリンタドライバやファームウェアのバージョンを指定している場合がある。例えば、モノクロ印刷などに限定する指定などを行う企業もある。このような場合において、各ユーザが、企業の指定と異なるバージョンのプリンタドライバやファームウェアを不正にインストールしてしまうと、企業にとって不都合が生じる。
【0006】
本発明は、上記課題を解決する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するための本願発明は、サーバ装置と、当該サーバ装置にローカルネットワークを介して接続される複数のプリンタホストと、を有するネットワークシステムであって、前記サーバ装置は、前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、前記プリンタホストは、前記サーバ装置から送信された適正バージョン情報のプリンタドライバをインストールするプリンタドライバ管理手段、を備える。
【発明を実施するための最良の形態】
【0008】
以下、本発明の実施形態の一例を図面を参照して説明する。
【0009】
図1は、本発明の一実施形態が適用されたネットワークシステム10のハードウェア構成の概要を説明するためのブロック図である。図示するように、ネットワークシステム10は、第1のサーバ400と、第2のサーバ100と、複数の情報処理端末200と、複数のプリンタ300と、を有する。
【0010】
第1のサーバ400は、プリンタ300のメーカー(製造会社)内に配置されるサーバであり、プリンタ300を購入したユーザ(企業、組織、個人を含む)に対して、最新のプリンタドライバやファームウェアを提供するサービスを行う。
【0011】
第2のサーバ100は、プリンタ300を所有するユーザ(企業、組織、個人を含む)によって構築されたローカルネットワーク(例えば、LANなど)50内に配置されるサーバであり、グローバルネットワーク(例えば、インターネットなど)60を介して、第1のサーバが提供するサービスを享受する。また、第2のサーバ100は、ローカルネットワーク50に接続されている情報処理端末200やプリンタ300などの情報機器を管理する。
【0012】
情報処理端末200は、ローカルネットワーク50に接続しており、プリンタ300のプリンタホストとして機能する。
【0013】
プリンタ300は、ローカルネットワーク50に接続しており、情報処理端末200によって制御され、印刷を行う。
【0014】
例えば、上述の第1のサーバ400、第2のサーバ100、情報処理端末200は、それぞれ、不図示の、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、ハードディスクと、ネットワークインタフェースと、を備えた一般的なコンピュータで実現される。ただし、各コンピュータの構成はこれに限定されるものではなく、例えば、USBインタフェースや搬可型記憶媒体の読取装置などを備えていてもよい。
【0015】
また、例えば、プリンタ300は、不図示の、CPUと、RAMと、ROMと、ネットワークインタフェースと、印刷エンジンと、を備えている。ただし、プリンタ300の構成はこれに限定されるものではなく、例えば、USBインタフェースなどを備えていてもよい。また、プリンタ300は、プリンタに限定されず、例えば、スキャナ装置、FAX装置、複合機などでもよい。
【0016】
また、第2のサーバ100と第1のサーバ400との間には、セキュリティ対策のために、ファイアウォール機能を有するサーバなどを設置しておいてもよい。もしくは、第2のサーバ100がファイアウォール機能を有していてもよい。
【0017】
次に、上記ネットワークシステム10における第1のサーバ400に実現される機能構成について説明する。
【0018】
図2は、第1のサーバ400の機能構成の一例を示すブロック図である。図示するように、第1のサーバ400は、サービス提供部410と、記憶部420と、を有する。サービス提供部410は、第1のサーバ400が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、記憶部420は、ROM或いはハードディスクといった記憶装置により構築される。
【0019】
記憶部420は、図示するように、企業管理テーブル421と、プログラム管理テーブル422と、を記憶する。
【0020】
企業管理テーブル421は、第1のサーバ400が提供するサービスの享受を許可している企業(以下では、「サービス許可企業」とよぶ)を特定するためのデータを格納している。なお、企業には、組織や個人も含まれるが、以下では、まとめて「企業」と記す。
【0021】
図3は、企業管理テーブル421の概略データ構造の一例を示す図である。図示するように、企業管理テーブル421は、サービス許可企業ごとのレコード4215からなる。各レコード4215は、プリンタ300を所有する企業によって所定の登録処理が行われた場合に追加される。各レコード4215には、企業識別情報(企業ID)4211と、企業名4212と、企業情報4213と、パスワード4214と、が対応付けて格納されている。
【0022】
企業ID4211は、サービス許可企業を識別するための文字列(数字列も含む)からなる。また、企業ID4211は、サービス許可企業に配置されている第2のサーバ100からアクセスの要求がされたときの照合に用いられる。
【0023】
企業名4212は、サービス許可企業の名称を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0024】
企業情報4213は、サービス許可企業の住所や電話番号などを特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0025】
パスワード4214は、企業により指定された文字列(数字列も含む)からなり、上記の企業ID4211と同様に、サービス許可企業に配置されている第2のサーバ100からアクセスの要求がされたときの照合に用いられる。
【0026】
次に、プログラム管理テーブル422は、最新バージョンのプリンタドライバ(インストール用)、及び、最新バージョンのファームウェア(インストール用)を管理するためのデータを格納している。
【0027】
図4は、プログラム管理テーブル422の概略データ構造の一例を示す図である。図示するように、プログラム管理テーブル422は、メーカが製造しているプリンタの機種名及び端末機種名ごとのレコードからなる。各レコードは、ファームウェア(インストール用)、又は、プリンタドライバ(インストール用)の最新バージョンが作成される毎に更新される。各レコードには、プリンタ機種名4221と、最新ファームウェア4222と、プリンタ機種名4221のプリンタを制御可能な情報処理端末(複数ある場合には複数個)についての端末機種名4223と、最新プリンタドライバ4224と、が対応付けて格納されている。
【0028】
プリンタ機種名4221は、メーカが製造しているプリンタの機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0029】
最新ファームウェア4222は、プリンタ機種名4221で特定される機種のプリンタにインストール可能な最新バージョンのファームウェア(インストール用)からなる。ただし、最新ファームウェア4222は、ファーウェア(プログラム)そのものでなくてもよく、ファームウェアのバージョン情報や、ファームウェアの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。
【0030】
端末機種名4223は、プリンタ機種名4221のプリンタを制御可能な情報処理端末(PC)の機種名を特定するデータであり、例えば、所定の文字列(数字列を含む)からなる。
【0031】
最新プリンタドライバ4224は、端末機種名4223で特定される機種の情報処理端末(PC)にインストール可能な最新バージョンのプリンタドライバ(インストール用)からなる。ただし、最新プリンタドライバ4224は、最新バージョンのプリンタドライバでなくても、最新ファームウェア4222に対応していればよい。また、プリンタドライバ(プログラム)そのものでなくてもよく、プリンタドライバのバージョン情報や、プリンタドライバの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。
【0032】
図2に戻り、サービス提供部410は、プリンタ300を購入したユーザ(企業)からサービスの提供開始を要求された場合に、当該ユーザ(企業)を登録する処理を行う。具体的には、サービス提供部410は、企業管理テーブル421に、上述したデータ(企業ID4211、企業名4212、企業情報4213、パスワード4214)を追加する。これにより、第2のサーバ100を所有する企業は、第1のサーバ400においてサービス許可企業として登録される。
【0033】
また、サービス提供部410は、プリンタ300を購入したユーザ(企業)に対して、最新バージョンのプリンタドライバ(インストール用)及びファームウェア(インストール用)を提供する。具体的には、サービス提供部410は、第2のサーバ100からの定期的な問い合わせに応じて、情報処理端末200にインストールされているプリンタドライバよりも新しいバージョンのプリンタドライバ、或いは、プリンタ300にインストールされているファームウェアよりも新しいバージョンのファームウェアを、プログラム管理テーブル422から検索し、提供する。
【0034】
次に、ネットワークシステム10における第2のサーバ100と、情報処理端末200と、プリンタ300に実現される機能構成について説明する。
【0035】
図5は、第2のサーバ100と、情報処理端末200と、プリンタ300と、の機能構成の一例を示すブロック図である。図示するように、第2のサーバ100は、管理部110と、不正検出部120と、記憶部130と、を有する。管理部110及び不正検出部120は、第2のサーバ100が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、記憶部130は、ROM或いはハードディスクといった記憶装置により構築される。
【0036】
記憶部130は、図示するように、端末情報テーブル131と、プリンタ情報テーブル132と、プログラム管理テーブル133と、ユーザ管理テーブル134と、を記憶する。
【0037】
端末情報テーブル131は、第2のサーバ100(企業)で管理している情報処理端末(PC)200についての情報を格納している。
【0038】
図6は、端末情報テーブル131の概略データ構造の一例を示す図である。図示するように、端末情報テーブル131は、第2のサーバ100(企業)で管理している情報処理端末(PC)200ごとのレコード1216からなる。各レコード1216は、情報処理端末200が企業(ローカルネットワーク50)内に導入された場合に追加される。各レコードには、端末識別情報(端末ID)1311と、IPアドレス1312と、端末機種名1313と、プリンタドライババージョン情報1314(複数ある場合には複数個)と、登録プリンタ1315(複数ある場合には複数個)と、が対応付けて格納されている。
【0039】
端末ID1311は、情報処理端末(PC)200を識別するための文字列(数字列も含む)であり、例えば、情報処理端末(PC)200に割り当てられている固有のMACアドレスからなる。
【0040】
IPアドレス1312は、ローカルネットワーク50上において、情報処理端末(PC)200に割り当てられているIPアドレスである。情報処理端末(PC)200の実際のIPアドレスに変更があった場合には、端末情報テーブル131のIPアドレス1312も随時、更新される。
【0041】
端末機種名1313は、ローカルネットワーク50に接続されている情報処理端末200の機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0042】
プリンタドライババージョン情報1314は、情報処理端末200に実際にインストールされているプリンタドライバのバージョンを特定するデータであり、例えば、所定の数字列(文字列を含む)からなる。なお、情報処理端末200に複数のプリンタドライバがインストールされている場合には、プリンタドライバごとに、バージョンを特定するデータを有している。情報処理端末200にインストールされているプリンタドライバのバージョンに変更があった場合には、端末情報テーブル131のプリンタドライババージョン情報1314も随時、更新される。
【0043】
登録プリンタ1315は、端末ID1311の情報処理端末200で制御するプリンタとして登録されているプリンタを識別するための文字列(数字列も含む)であり、例えば、プリンタに割り当てられている固有のシリアル番号からなる。
【0044】
次に、プリンタ情報テーブル132は、第2のサーバ100(企業)で管理しているプリンタ300についての情報を格納している。
【0045】
図7は、プリンタ情報テーブル132の概略データ構造の一例を示す図である。図示するように、プリンタ情報テーブル132は、第2のサーバ100(企業)で管理しているプリンタ300ごとのレコード1325からなる。各レコード1325は、プリンタ300が企業(ローカルネットワーク50)内に導入された場合に追加される。各レコード1325には、プリンタ識別情報(プリンタID)1321と、IPアドレス1322と、プリンタ機種名1323と、ファームウェアバージョン情報1324と、が対応付けて格納されている。
【0046】
プリンタID1321は、登録プリンタ1314に対応するデータであり、例えば、プリンタ300に割り当てられている固有のシリアル番号からなる。
【0047】
IPアドレス1322は、ローカルネットワーク50上において、プリンタ300に割り当てられているIPアドレスである。
【0048】
プリンタ機種名1323は、ローカルネットワーク50に接続されているプリンタ300の機種名を特定するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0049】
ファームウェアバージョン情報1324は、プリンタ300に実際にインストールされているファームウェアのバージョンを特定するデータであり、例えば、所定の数字列(文字列を含む)からなる。プリンタ300にインストールされているファームウェアのバージョンに変更があった場合には、プリンタ情報テーブル132のファームウェアバージョン情報1324も随時、更新される。
【0050】
次に、プログラム管理テーブル133は、第2のサーバ100(企業)で管理しているプリンタ300に実際にインストールされているファームウェアを格納している。これとともに、第2のサーバ100(企業)で管理している情報処理端末200に実際にインストールされているプリンタドライバを格納している。
【0051】
図8は、プログラム管理テーブル133の概略データ構造の一例を示す図である。図示するように、プログラム管理テーブル133は、第2のサーバ100(企業)で管理しているプリンタ300のプリンタ機種名及び端末機種名ごとのレコードからなる。各レコードは、第2のサーバ100が管理したことのない機種のプリンタ300又は情報処理端末200が、企業(ローカルネットワーク50)内に導入された場合に、追加される。各レコードは、プリンタ機種名1331と、ファームウェア1332と、プリンタ機種名1331のプリンタを制御可能な情報処理端末(複数ある場合には複数個)についての端末機種名1333と、プリンタドライバ1334と、が対応付けて格納されている。
【0052】
プリンタ機種名1331は、プリンタ情報テーブル132のプリンタ機種名1323に対応するデータであり、例えば、所定の文字列(数字列も含む)からなる。
【0053】
ファームウェア1332は、プリンタ機種名1331で特定される機種のプリンタに員ストールすべき最新バージョンのファームウェアからなる。ただし、ファームウェア1332は、ファーウェア(プログラム)そのものでなくてもよく、ファームウェアのバージョン情報や、ファームウェアの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。なお、ファームウェア1332は、第1のサーバ400から最新ファームウェア4222を取得する毎に更新される。
【0054】
端末機種名1333は、端末情報テーブル131の端末機種名1313に対応するデータであり、例えば、例えば、所定の文字列(数字列も含む)からなる。
【0055】
プリンタドライバ1334は、端末機種名1333で特定される機種の情報処理端末にインストールすべき最新バージョンのプリンタドライバからなる。ただし、プリンタドライバ1334は、プリンタドライバ(プログラム)そのものでなくてもよく、プリンタドライバのバージョン情報や、プリンタドライバの格納場所(例えば、メモリ上のアドレス)を示すデータで構成されていてもよい。なお、プリンタドライバ1334は、第1のサーバ400から最新プリンタドライバ4224を取得する毎に更新される。
【0056】
また、プリンタドライバ1334は、最新バージョンでなくとも、企業によって推奨(指定)されている適正バージョンのプリンタドライバとしてもよい。この場合、プリンタドライバ1334は、管理ユーザにより、適宜、更新される。
【0057】
次に、ユーザ管理テーブル134は、第2のサーバ100を所有する企業に所属しているユーザ(社員)を管理するためのデータを格納している。
【0058】
図9は、ユーザ管理テーブル134の概略データ構造の一例を示す図である。図示するように、ユーザ管理テーブル134は、ユーザ(社員)ごとのレコード1344からなる。各レコード1344は、ユーザ(社員)の所定の登録処理が行われた場合に追加される。各レコード1344には、社員識別情報(社員ID)1341と、名前1342と、使用許可端末1343と、が対応付けて格納されている。
【0059】
社員ID1341は、ユーザ(社員)を識別するための文字列(数字列も含む)からなる。また、社員ID1341は、情報処理端末200からアクセスの要求がされたときの照合に用いられる。
【0060】
名前1342は、ユーザ(社員)の名前を特定するデータであり、例えば、所定の文字列からなる。
【0061】
使用許可端末1343は、ユーザ(社員)に使用することを許可している情報処理端末200を特定するデータであり、例えば、端末ID1311に対応するデータである。
【0062】
図5に戻り、管理部110は、ローカルネットワーク50に接続されている情報処理端末200と、プリンタ300と、を管理する。例えば、管理部110は、ローカルネットワーク50に接続されている情報処理端末200およびプリンタ300について、登録を行う(以下では、「登録処理」とよぶ)。また、管理部110は、最新バージョンのプリンタドライバおよびファームウェアの有無について、第1のサーバ400に定期的に問い合わせ、存在する場合には取得する(以下では、「バージョン更新処理」とよぶ)。
【0063】
不正検出部120は、情報処理端末200に不正にインストールされたプリンタドライバを検出する(以下では、「不正検出処理」とよぶ)。具体的には、不正検出部120は、情報処理端末200にインストールされているプリンタドライバのバージョン情報を取得し、取得したバージョン情報がプログラム管理テーブル133に登録されているプリンタドライバ1334のバージョン情報と一致しない場合には、不正にインストールされたと特定する。
【0064】
次に、情報処理端末200は、図示するように、管理部210と、端末情報記憶部220と、プリンタドライバ部230と、を有する。管理部210とプリンタドライバ部230は、それぞれ、情報処理端末200が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。また、端末情報記憶部220は、ROM或いはハードディスクといった記憶装置により構築される。
【0065】
管理部210は、情報処理端末200におけるプリンタドライバ(後述するプリンタドライバ部230を含む)を管理する。例えば、管理部210は、プリンタドライバを情報処理端末200にインストールする処理を行う。購入してから初めてプリンタドライバをインストールする場合には、管理部210は、プリンタドライバに対応しているプリンタ300から、プリンタ300についてのプリンタ情報を取得し、取得したプリンタ情報とともに情報処理端末200についての端末情報を、第2のサーバ100に登録させる。また、管理部210は、プリンタドライバを更新(アップデート、ダウンデートを含む)する処理を行う。
【0066】
端末情報記録部220は、情報処理端末200に関する端末情報を記録する。例えば、端末情報には、インストールされているプリンタドライバのバージョン情報や、端末ID(MACアドレス)や、割り当てられているIPアドレスや、端末機種名や、情報処理端末200で制御可能なプリンタ(シリアル番号)などが含まれる。
【0067】
プリンタドライバ部230は、ローカルネットワーク50に接続されているプリンタ300を制御するプリンタドライバとして機能する。ここで、プリンタドライバ部230は、情報処理端末200にインストールされたプリンタドライバであり、インストールされていないプリンタドライバ(インストール用)は含まれない。
【0068】
次に、プリンタ300は、図示するように、管理部310と、プリンタ情報記憶部320と、ファームウェア部330と、を有する。管理部310とファームウェア部330は、それぞれ、プリンタ300が備えるRAMにロードされたコンピュータプログラムを、CPUが実行することにより構築される。或いは、管理部310とファームウェア部330は、各機能を実現するための専用のASIC(Application Specific Integrated Circuit)が動作することにより構築されてもよい。また、プリンタ情報記憶部320は、ROMなどの記憶装置により構築される。
【0069】
管理部310は、プリンタ300におけるファームウェア(後述するファームウェア部330を含む)を管理する。例えば、管理部310は、プリンタ300にインストールされているファームウェアをアップデートする処理を行う。また、管理部310は、情報処理端末200からの要求に応じて、後述するプリンタ情報を情報処理端末200に送信する。
【0070】
プリンタ情報記録部320は、プリンタ300に関するプリンタ情報を記録する。例えば、プリンタ情報には、インストールされているファームウェアのバージョン情報や、プリンタID(シリアル番号)や、割り当てられているIPアドレスや、プリンタ機種名などが含まれる。
【0071】
ファームウェア部330は、プリンタ300を制御するファームウェアとして機能する。
【0072】
次に、上記構成からなるネットワークシステム10の特徴的な動作について説明する。
【0073】
<登録処理>
図10は、ネットワークシステム10における登録処理を示すタイミングチャートである。
【0074】
まず、情報処理端末200の管理部210は、インストール用に圧縮などされたプリンタドライバを、情報処理端末200にインストールする処理を行う(ステップS1)。例えば、管理部210は、可搬型記憶媒体(CD−ROMやUSBメモリなど)に格納されているプリンタドライバ(インストール用プログラム)を読み出し、インストールを行う。或いは、管理部210は、ローカルネットワーク50を介して、第2のサーバ100に格納されているプリンタドライバ(インストール用プログラム)を取得し、インストールを行う。
【0075】
インストールを行った後、管理部210は、インストールしたプリンタドライバ(プリンタドライバ部230)が制御可能なプリンタ300と通信を開始する(ステップS2)。例えば、管理部210は、ローカルネットワーク50を介して、プリンタ300にプリンタ情報を要求する。
【0076】
プリンタ300の管理部310は、情報処理端末200との通信を開始すると、プリンタ情報記憶部320が記憶しているプリンタ情報を、情報処理端末200に送信する(ステップS3)。
【0077】
情報処理端末200の管理部210は、プリンタ300から送信されたプリンタ情報を受信すると、端末情報記憶部220が記憶している端末情報を読み出し、受信したプリンタ情報と、読み出した端末情報と、ユーザによってキーボードなどから入力された社員IDと、を第2のサーバ100に送信する(ステップS4)。
【0078】
ここで、情報処理端末200の管理部210は、各情報を第2のサーバに送信する前に、ローカルネットワーク50上の第2のサーバ100を特定しておかなければならない。第2のサーバを特定する方法は、任意の方法でよいが、例えば、下記の3つの方法がある。
【0079】
(1)第1の特定方法
メーカから配布される可搬型記憶媒体には、プリンタドライバ(インストール用)とともに、予め、第2のサーバ100の特定情報(例えば、URL情報)が格納されており、管理部210は、当該特定情報を読み出して、第2のサーバ100を特定する。
【0080】
(2)第2の特定方法
プリンタドライバ(インストール用)が格納された可搬型記憶媒体がメーカから配布されると、第2のサーバ100(管理部110)は、当該可搬型記憶媒体に第2のサーバ100の特定(例えば、URL情報)を格納する。そして、当該可搬型記憶媒体は各社員に配布され、情報処理端末200の管理部210は、配布された可搬型記憶媒体から特定情報を読み出して、第2のサーバ100を特定する。
【0081】
(3)第3の特定方法
ステップS1でインストールを行うためのインストーラ(プログラム)には、ローカルネットワーク50上の第2のサーバ100を検索するモジュールが含まれおり、情報処理端末200の管理部210は、当該モジュールに従って、第2のサーバ100を特定する。
【0082】
なお、管理部110は、上記の特定方法によって第2のサーバ100を特定した後、特定情報を記憶部110に記憶しておく。管理部110は、第2のサーバ100にデータを送信する(第2のサーバ100と通信する)場合には、ここで記憶部110に記憶した特定情報を用いて、前もって第2のサーバ100を特定する。
【0083】
次に、第2のサーバ100の管理部110は、情報処理端末200から送信された、端末情報、プリンタ情報、社員IDを受信すると、各情報の登録を行う(ステップS5)。
【0084】
例えば、管理部110は、まず、受信した社員IDを、ユーザ管理テーブル134から検索する。該当する社員ID1341がユーザ管理テーブル134に存在する場合には、端末情報とプリンタ情報について登録を行う。具体的には、管理部110は、受信した端末情報に含まれている各情報(端末ID、IPアドレス、端末機種名、プリンタドライババージョン、登録プリンタ)を対応付けたレコード1316を、端末情報テーブル131に追加する。これとともに、管理部110は、受信したプリンタ情報に含まれている各情報(プリンタID、IPアドレス、プリンタ機種名、ファームウェアバージョン)を対応付けたレコード1325を、プリンタ情報テーブル132に追加する。
【0085】
一方、管理部110は、受信した社員IDがユーザ管理テーブル134に存在しない場合には、情報処理端末200に対してエラーを通知する。
【0086】
また、管理部110は、該当する社員ID134がユーザ管理テーブル134に存在する場合であっても、情報処理端末200を使用する許可がない社員(ユーザ)である場合には、登録を行わず、エラーを通知するようにしてもよい。具体的には、管理部110は、検索した社員ID134に対応付けられている使用許可端末1343をユーザ管理テーブル134から読み出し、読み出した使用許可端末1343と、受信した端末情報に含まれる端末IDと、を比較して、一致していない場合には、エラーを通知する。
【0087】
以上の登録処理により、本実施形態のネットワークシステム10は、第2のサーバ100において、企業(ローカルネットワーク50)内の情報機器(複数の情報処理端末200、複数のプリンタ300)について登録を行うことができる。また、これによって、第2のサーバ100は、情報処理端末200にインストールされているプリンタドライバや、プリンタ300にインストールされているファームウェアについて、バージョン管理を行うことができるようになる。
【0088】
<バージョン更新処理>
図11は、ネットワークシステム10におけるバージョン更新処理を示すタイミングチャートである。
【0089】
まず、第2のサーバ100の管理部110は、第1のサーバ400に対して、最新バージョンのプリンタドライバ及びファームウェアの有無について、定期的に問い合わせを行う(ステップS11)。具体的には、管理部110は、端末情報テーブル131に格納されている全ての端末機種名1313及びプリンタドライババージョン情報1314と、プリンタ情報テーブル132に格納されている全てのプリンタ機種名1323及びファームウェアバージョン情報1324と、第2のサーバ100を所有している企業を識別するための企業IDと、ユーザから入力されたパスワードと、を一括して、第1のサーバ100に(グローバルネットワーク60を介して)送信する。なお、上述した通り、端末情報テーブル131のプリンタドライババージョン情報1314は、各情報処理端末200に実際にインストールされているプリンタドライバのバージョンを示しており、プリンタ情報テーブル132のファームウェアバージョン情報1324は、各プリンタ300に実際にインストールされているプリンタドライバのバージョンを示している。
【0090】
続いて、第1のサーバ400のサービス提供部410は、第2のサーバ100からの問い合わせを受け付けると、最新バージョン(実際にインストールされているバージョンよりも新しいバージョン)のプリンタドライバ及びファームウェアの有無について判定し、有る場合には、当該最新バージョンのプリンタドライバ及びファームウェアを特定する(ステップS12)。
【0091】
具体的には、サービス提供部410は、まず、第2のサーバから送信された企業IDを、前もって登録されている企業管理テーブル421から検索する。該当する企業ID4211が企業管理テーブル421に存在する場合には、第2のサーバから送信されたパスワードが、企業ID4211に対応付けられているパスワード4214に一致するか否か判定する。該当する企業IDが企業管理テーブル421に存在しない場合、或いは、パスワードが一致しない場合には、最新バージョンのプリンタドライバ及びファームウェアの有無について判定する処理を行わずに、エラーを第2のサーバ100に通知する。
【0092】
一方、パスワードが一致する場合には、サービス提供部410は、プログラム管理テーブル422を読み出して、第2のサーバ100から送信されたプリンタ機種名1323と、端末機種名1313と、をともに有するレコードを検索する。そして、サービス提供部410は、検索したレコードに対応付けられている最新ファームウェア4222と、最新プリンタドライバ4224のバージョン情報を抽出する。
【0093】
ここで、サービス提供部410は、抽出した最新ファームウェア4222と、第2のサーバ100から送信されたファームウェアバージョン情報1324と、を比較する。比較した結果、プログラム管理テーブル422に格納されている最新ファームウェアの方が新しいバージョンである場合には、当該最新ファームウェア4222を、最新バージョンのファームウェアとして特定する。
【0094】
プリンタドライバについても同様に、サービス提供部410は、抽出した最新プリンタドライバ4224と、第2のサーバ100から送信されたプリンタドライババージョン情報1314と比較する。比較した結果、プログラム管理テーブル422に格納されている最新プリンタドライバ4224の方が新しいバージョンである場合には、当該最新プリンタドライバ4224を、最新バージョンのプリンタドライバとして特定する。
【0095】
そして、サービス提供部410は、特定した最新ファームウェア4222や最新プリンタドライバ4224を、当該最新ファームウェア4222に対応するプリンタ機種名4221と、当該最新プリンタドライバ4224に対応する端末機種名4223とともに、第2のサーバ100に送信する(ステップS13)。なお、一つとして、各情報機器(情報処理端末200、プリンタ300)にインストールされているプリンタドライバやファームウェアよりも新しいバージョン(最新バージョン)のものがプログラム管理テーブル422に無かった場合には、サービス提供部410は、最新バージョンのプリンタドライバ或いはファームウェアが存在しないことを第2のサーバ100に通知する。
【0096】
第2のサーバ100の管理部110は、ステップS13で最新ファームウェア4222を受信すると、受信した最新ファームウェア4222を、プリンタ300にインストール(アップデート)する(ステップS14)。具体的には、まず、管理部110は、最新ファームウェア4222とともに受信したプリンタ機種名4221を、プリンタ情報テーブル132から検索する。そして、検索したプリンタ機種名1323に対応付けられているプリンタID1321(IPアドレス1322)で特定されるプリンタ300に対して、受信した最新ファームウェア4222を送信する。このとき、プリンタ300の管理部310は、最新ファームウェア4222を受信して、インストールされているファームウェアをアップデートする。
【0097】
また、第2のサーバ100の管理部110は、ステップS13で最新プリンタドライバ4224を受信すると、情報処理端末200にアップデートの通知を行う(ステップS15)。具体的には、まず、管理部110は、最新プリンタドライバ4224とともに受信した端末機種名4223を、端末情報テーブル131から検索する。そして、検索した端末機種名1313に対応付けられている端末ID1311(IPアドレス1312)で特定される情報処理端末200に対して、アップデートの通知を行う。
【0098】
情報処理端末200の管理部210は、アップデートの通知を受けると、ユーザからの指示に基づき、最新バージョンのプリンタドライバ(最新プリンタドライバ4224)を、第2のサーバ100に要求する(ステップS16)。
【0099】
この要求を受け付けた第2のサーバ100の管理部110は、ステップS13で受信した最新プリンタドライバ4224を、ステップS16で要求してきた情報処理端末200に送信する(ステップS17)。
【0100】
最新プリンタドライバ4224を受信した情報処理端末200の管理部210は、受信した最新プリンタドライバ4224を、情報処理端末200にインストール(アップデート)する(ステップS18)。
【0101】
インストール(アップデート)を完了すると、管理部210は、インストール(アップデート)の完了を、第2のサーバ100に通知する(ステップS19)。
【0102】
続いて、第2のサーバ100の管理部110は、プログラム管理テーブル133のデータを更新する(ステップS20)。
【0103】
具体的には、管理部110は、ステップS13で最新ファームウェア4222を受信している場合には、プログラム管理テーブル133を読み出して、最新ファームウェア4222とともに受信したプリンタ機種名4221を、プログラム管理テーブル133から検索する。そして、検索したプリンタ機種名1331に対応するファームウェア1332を、ステップS13で受信した適正バージョンの最新ファームウェア4222で更新(上書き)する。なお、管理部110は、ステップS19で通知を受けていない場合であっても、最新ファームウェア4222については更新を行う。
【0104】
また、ステップS13で最新プリンタドライバ4224を受信し、かつ、ステップS19で通知を受けた場合には、管理部110は、プログラム管理テーブル133を読み出して、ステップS13で最新プリンタドライバ4224とともに受信した端末機種名4223を、プログラム管理テーブル133から検索する。そして、検索した端末機種名1333に対応するプリンタドライバ1334を、ステップS13で受信した適正バージョンの最新プリンタドライバ4224で更新(上書き)する。
【0105】
さらに、管理部110は、プリンタ情報テーブル132及び端末情報テーブル131についても更新する。例えば、管理部110は、ステップS14でアップデートしたプリンタ300のプリンタID1321に対応付けられているファームウェアバージョン情報1324を、ステップS14でアップデートした最新ファームウェア4222のバージョン情報で更新(上書き)する。また、管理部110は、ステップS18でインストール(アップデート)した情報処理端末200の端末ID1331に対応付けられているプリンタドライババージョン情報1334を、ステップS18でインストール(アップデート)した最新フプリンタドライバ4224のバージョン情報で更新(上書き)する。
【0106】
以上のバージョン更新処理を行うネットワークシステム10では、第1のサーバ100との通信を、各情報機器(情報処理端末200、プリンタ300)単位で行わずに、企業(第2のサーバ100)単位で行っているため、グローバルネットワーク60における負荷を軽減することができる。さらには、各情報機器から、第1のサーバ100に対して各種情報を送信することはないので、個人情報などの漏洩を防止することができ、セキュリティ上の問題が発生しにくい。
【0107】
<不正検出処理>
図12は、ネットワークシステム10における不正検出処理を示すタイミングチャートである。
【0108】
なお、情報処理端末200の管理部210が、何らかの方法により、第1のサーバ400などから不正バージョンのプリンタドライバを取得(インストール)しているとする(ステップS21)。ここで、不正バージョンとは、プログラム管理テーブル133に格納されているプリンタドライバ1334のバージョン(適正バージョン)と異なるバージョンを指す。
【0109】
第2のサーバ100の不正検出部120は、不正バージョンのプリンタドライバが情報処理端末200にインストールされているか否かにかかわらず、情報処理端末200にインストールされているプリンタドライバのバージョン情報について定期的に問い合わせる(ステップS22)。具体的には、不正検出部120は、定期的に、ローカルネットワーク50に接続されている情報処理端末200に対して、インストールされているプリンタドライバのバージョン情報を要求する。
【0110】
情報処理端末200の管理部210は、インストールされているプリンタドライバのバージョン情報と、端末IDと、を第2のサーバ100に通知する(ステップS23)。具体的には、管理部210は、端末情報記憶部220が記憶しているバージョン情報と、端末IDと、を読み出して、読み出したバージョン情報を、第2のサーバ100に送信する。
【0111】
ここで、バージョン情報と、端末IDと、を受信した第2のサーバ100の不正検出部120は、端末情報テーブル131を読み出して、情報処理端末200から受信した端末IDを検索する。そして、検索した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、情報処理端末200から受信したバージョン情報で更新する。
【0112】
続いて、不正検出部120は、情報処理端末200に不正にインストールされているプリンタドライバを検出する(ステップS24)。具体的には、まず、不正検出部120は、ステップS23で受信した端末ID1311に対応付けられている端末機種名1313を端末情報テーブル131から特定する。そして、特定した端末機種名1313(端末機種名1333)に対応付けられているプリンタドライバ1334のバージョン情報(適正バージョン)を、プログラム管理テーブル133から抽出する。さらに、不正検出部120は、ステップS23で受信したバージョン情報と、プログラム管理テーブル133から抽出したバージョン情報(適正バージョン)を比較する。ここで、両バージョン情報が一致する場合には、情報処理端末200にインストールされているプリンタドライバは適正バージョンと判定する。一方、両バージョンが一致しない場合には、情報処理端末200にインストールされているプリンタドライバは不正バージョンと判定する。
【0113】
不正検出部120は、ステップS24で不正バージョンと判定したプリンタドライバをインストールしている情報処理端末200に対して、不正を通知する(ステップS25)。具体的には、まず、不正検出部120は、端末情報テーブル131を読み出して、不正バージョンと判定したプリンタドライバのプリンタドライババージョン1314に対応付けられている端末ID1311(IPアドレス1312)を特定する。そして、特定した端末ID1311(IPアドレス1312)で特定される情報処理端末200に対して、不正を通知する。
【0114】
さらに、不正検出部120は、適正バージョンのプリンタドライバを、情報処理端末200に送信する(ステップS26)。具体的には、不正検出部120は、ステップS24でプログラム管理テーブル133から抽出した適正バージョンのプリンタドライバ1334を、ステップS25で不正を通知した情報処理端末200に対して送信する。
【0115】
情報処理端末200の管理部210は、適正バージョンのプリンタドライバ1334を受け付けると、当該プリンタドライバ1334を情報処理端末200にインストール(アップデート又はダウンデート)する(ステップS27)。
【0116】
インストール(アップデート又はダウンデート)を完了すると、管理部210は、インストール(アップデート又はダウンデート)の完了を、第2のサーバ100に通知する(ステップS28)。
【0117】
続いて、第2のサーバ100の管理部110は、プログラム管理テーブル133のデータを更新する(ステップS29)。
【0118】
具体的には、管理部110は、ステップS26でプリンタドライバ1334を送信した情報処理端末200の端末ID1311を、端末情報テーブル131から特定する。そして、特定した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、情報処理端末200に送信したプリンタドライバのバージョン情報(適正バージョン)で更新(上書き)する。
【0119】
以上の不正検出処理により、本実施形態におけるネットワークシステム10では、不正バージョン、すなわち、最新バージョンではないバージョン、或いは、企業が指定(推奨)していないバージョンのプリンタドライバが情報処理端末200にインストールされることを防ぐことができる。
【0120】
本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【0121】
例えば、プリンタ300に割り当てているIPアドレスに変更があった場合に、第2のサーバ100において、プリンタ300についての登録情報(プリンタ情報テーブル132)を随時、更新するようにしてもよい。
【0122】
図13(上段)は、プリンタ300のIPアドレスに変更があった場合の処理を示すフローチャートである。
【0123】
図示するように、プリンタ300に割り当てられているIPアドレスに変更があると(ステップ31)、プリンタ300の管理部310は、プリンタ情報記憶部320が記憶しているIPアドレスを変更する。
【0124】
情報処理端末200の管理部210は、通信ができなくなったプリンタ300と再通信を開始する(ステップS32)。具体的には、管理部210は、通信ができなくなったプリンタ300のプリンタIDを有しているプリンタ300をローカルネットワーク50から検索し、検索したプリンタ300と通信を再開する。
【0125】
そして、プリンタ300の管理部310は、プリンタ情報記憶部320が記憶しているプリンタ情報を、通信を再開した情報処理端末200に送信する(ステップS33)。
【0126】
情報処理装置200の管理部210は、受信したプリンタ情報を、第2のサーバ100に送信する(ステップS34)。
【0127】
第2のサーバ100の管理部110は、プリンタ情報を受信すると、プリンタ300についての登録情報(プリンタ情報テーブル132)を変更する(ステップS35)。具体的には、管理部110は、情報処理端末200から受信したプリンタ情報に含まれているプリンタIDを、プリンタ情報テーブル132から検索する。そして、検索したプリンタID1321に対応付けられているIPアドレス1322を、受信したプリンタ情報に含まれているIPアドレスで更新(上書き)する。
【0128】
以上の処理により、プリンタ300に割り当てているIPアドレスに変更があった場合でも、第2のサーバ100で管理しているプリンタ情報テーブル132を適切に更新することができる。
【0129】
また、例えば、情報処理端末200にインストールされているプリンタドライバが削除された場合に、第2のサーバ100において、情報処理端末200についての登録情報(プ端末情報テーブル131)を、更新するようにしてもよい。
【0130】
図13(下段)は、情報処理端末200にインストールされているプリンタドライバが削除された場合の処理を示すフローチャートである。
【0131】
図示するように、情報処理端末200にインストールされているプリンタドライバが削除されると(ステップS41)、情報処理端末200の管理部210は、端末情報記憶部220が記憶しているバージョン情報を削除する。
【0132】
続いて、管理部210は、プリンタドライバを削除したことを、端末IDとともに第2のサーバ100に通知する(ステップS42)。
【0133】
そして、第2のサーバ100の管理部110は、情報処理端末200からの通知を受けると、情報処理端末200についての登録情報(端末情報テーブル131)を変更する(ステップS43)。具体的には、管理部110は、情報処理端末200から受信した端末IDを、端末情報テーブル131から検索する。そして、検索した端末ID1311に対応付けられているプリンタドライババージョン情報1314を、無効データ(例えば、「なし」)に変更する。
【0134】
以上の処理により、情報処理端末200にインストールされているプリンタドライバが削除された場合でも、第2のサーバ100で管理している端末情報テーブル131を適切に変更することができる。
【図面の簡単な説明】
【0135】
【図1】本発明の実施形態に係るネットワークシステムのハードウェア構成図である。
【図2】第1のサーバの機能構成の一例を示す図である。
【図3】企業管理テーブルの概略データ構造の一例を示す図である。
【図4】第1のサーバにおけるプログラム管理テーブルの概略データ構造の一例を示す図である。
【図5】第2のサーバ、情報処理端末、プリンタの機能構成の一例を示す図である。
【図6】端末情報テーブルの概略データ構造の一例を示す図である。
【図7】プリンタ情報テーブルの概略データ構造の一例を示す図である。
【図8】第2のサーバにおけるプログラム管理テーブルの概略データ構造の一例を示す図である。
【図9】ユーザ管理テーブルの概略データ構造の一例を示す図である。
【図10】登録処理を示すタイミングチャートである。
【図11】バージョン更新処理を示すタイミングチャートである。
【図12】不正検出処理を示すタイミングチャートである。
【図13】(上段)プリンタのIPアドレスに変更があった場合の処理を示すタイミングチャートである。(下段)情報処理端末にインストールされているプリンタドライバが削除された場合の処理を示すタイミングチャートである。
【符号の説明】
【0136】
10・・・ネットワークシステム、50・・・ローカルネットワーク、60・・・グローバルネットワーク、100・・・第2のサーバ、110・・・管理部(第2のサーバ)、120・・・不正検出部、130・・・記憶部(第2のサーバ)、131・・・端末情報テーブル、132・・・プリンタ情報テーブル、133・・・プログラム管理テーブル(第2のサーバ)、134・・・ユーザ管理テーブル、200・・・情報処理端末、210・・・管理部(情報処理端末)、220・・・端末情報記憶部、230・・・プリンタドライバ部、300・・・プリンタ、310・・・管理部(プリンタ)、320・・・プリンタ情報記憶部、330・・・ファームウェア部、400・・・第1のサーバ、410・・・サービス提供部、420・・・記憶部(第1のサーバ)、421・・・企業管理テーブル、422・・・プログラム管理テーブル(第1のサーバ)。
【特許請求の範囲】
【請求項1】
サーバ装置と、当該サーバ装置にローカルネットワークを介して接続される複数のプリンタホストと、を有するネットワークシステムであって、
前記サーバ装置は、
前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、
前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、
前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、
前記プリンタホストは、
前記サーバ装置から送信された適正バージョン情報のプリンタドライバをインストールするプリンタドライバ管理手段、を備える、
ことを特徴とするネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記サーバ装置は、
前記ローカルネットワークに接続されている複数のプリンタにインストールされているファームウェアについてのバージョン情報と、前記ローカルネットワークにおける当該複数のプリンタのIPアドレスと、を対応付けて記憶している記憶手段、を備え、
前記バージョン管理手段は、
前記プリンタのIPアドレスに変更があった場合に、前記記憶手段に記憶されているIPアドレスを、変更後のIPアドレスに変更する、
ことを特徴とするネットワークシステム。
【請求項3】
請求項1又は2に記載のネットワークシステムであって、
前記プリンタホストのプリンタドライバ管理手段は、
インストールされているプリンタドライバが削除された場合には、削除されたことを前記サーバ装置に通知し、
前記サーバ装置のバージョン管理手段は、
前記プリンタホストにインストールされていたプリンタドライバに関するバージョン情報を更新する、
ことを特徴とするネットワークシステム。
【請求項4】
サービスを提供する所定のサーバ装置から当該サービスを享受するサーバ装置であって、
当該サーバ装置側のローカルネットワークには、複数のプリンタホストが接続されており、
前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、
前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、
前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、
前記バージョン管理手段は、
前記バージョン情報を前記サーバ装置に定期的に送信することによって、最新バージョンのプリンタドライバ又はファームウェアの有無について問い合わせを行い、
前記最新バージョンのプリンタドライバが前記所定のサーバ装置から提供された場合には、最新バージョンのプリンタドライバが提供された旨を、プリンタホストに通知する、
ことを特徴とするサーバ装置。
【請求項5】
サービスを提供する第1のサーバから当該サービスを享受する第2のサーバと、複数のプリンタと、にローカルネットワークを介して接続され、当該複数のプリンタを制御可能なプリンタホストであって、
前記第2のサーバからの要求に応じて、当該プリンタホストにインストールされているプリンタドライバのバージョン情報を送信するバージョン送信手段と、
前記第2のサーバにおいて前記バージョン情報が適正バージョンではないと判断された場合には、前記第2のサーバから適正バージョンのプリンタドライバを取得し、インストールするプリンタドライバ管理手段と、
前記プリンタドライバのインストールが完了した場合に、インストールの完了を前記第2のサーバに通知する通知手段と、
を備えることを特徴とするプリンタホスト。
【請求項1】
サーバ装置と、当該サーバ装置にローカルネットワークを介して接続される複数のプリンタホストと、を有するネットワークシステムであって、
前記サーバ装置は、
前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、
前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、
前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、
前記プリンタホストは、
前記サーバ装置から送信された適正バージョン情報のプリンタドライバをインストールするプリンタドライバ管理手段、を備える、
ことを特徴とするネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記サーバ装置は、
前記ローカルネットワークに接続されている複数のプリンタにインストールされているファームウェアについてのバージョン情報と、前記ローカルネットワークにおける当該複数のプリンタのIPアドレスと、を対応付けて記憶している記憶手段、を備え、
前記バージョン管理手段は、
前記プリンタのIPアドレスに変更があった場合に、前記記憶手段に記憶されているIPアドレスを、変更後のIPアドレスに変更する、
ことを特徴とするネットワークシステム。
【請求項3】
請求項1又は2に記載のネットワークシステムであって、
前記プリンタホストのプリンタドライバ管理手段は、
インストールされているプリンタドライバが削除された場合には、削除されたことを前記サーバ装置に通知し、
前記サーバ装置のバージョン管理手段は、
前記プリンタホストにインストールされていたプリンタドライバに関するバージョン情報を更新する、
ことを特徴とするネットワークシステム。
【請求項4】
サービスを提供する所定のサーバ装置から当該サービスを享受するサーバ装置であって、
当該サーバ装置側のローカルネットワークには、複数のプリンタホストが接続されており、
前記複数のプリンタホストにインストールされているプリンタドライバについての適正バージョン情報を登録する登録手段と、
前記プリンタホストにインストールされているプリンタドライバについてのバージョン情報を前記複数のプリンタホストから定期的に取得するバージョン管理手段と、
前記登録手段で登録された前記適正バージョン情報と、前記バージョン管理手段で取得した前記バージョン情報と、が一致しない場合には、当該適正バージョン情報のプリンタドライバを、前記プリンタホストに送信する不正検知手段と、を備え、
前記バージョン管理手段は、
前記バージョン情報を前記サーバ装置に定期的に送信することによって、最新バージョンのプリンタドライバ又はファームウェアの有無について問い合わせを行い、
前記最新バージョンのプリンタドライバが前記所定のサーバ装置から提供された場合には、最新バージョンのプリンタドライバが提供された旨を、プリンタホストに通知する、
ことを特徴とするサーバ装置。
【請求項5】
サービスを提供する第1のサーバから当該サービスを享受する第2のサーバと、複数のプリンタと、にローカルネットワークを介して接続され、当該複数のプリンタを制御可能なプリンタホストであって、
前記第2のサーバからの要求に応じて、当該プリンタホストにインストールされているプリンタドライバのバージョン情報を送信するバージョン送信手段と、
前記第2のサーバにおいて前記バージョン情報が適正バージョンではないと判断された場合には、前記第2のサーバから適正バージョンのプリンタドライバを取得し、インストールするプリンタドライバ管理手段と、
前記プリンタドライバのインストールが完了した場合に、インストールの完了を前記第2のサーバに通知する通知手段と、
を備えることを特徴とするプリンタホスト。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−97302(P2010−97302A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−266033(P2008−266033)
【出願日】平成20年10月15日(2008.10.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願日】平成20年10月15日(2008.10.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]