(57)【要約】【課題】クライアント装置から外部ネットワークへの接続を制限した環境を維持し、且つ、クライアント装置への制御プログラムのインストール時における管理者側の負担軽減を図る。【解決手段】クライアント装置１２は、第１のネットワーク２０を介して機器に接続され、且つ、第２のネットワーク２２に接続されていない。取得部は、切替部によって第１接続から第２接続へ切り替えるように制御された後に、外部装置１８から制御プログラムを取得する。第１送信部は、切替部によって第２接続から第１接続へ切り替えるように制御された後に、制御プログラムをクライアント装置１２へ送信する。クライアント装置１２の第１受信部は、制御プログラムを情報処理装置１６から受信する。実行部は、受信した制御プログラムを当該クライアント装置１２へインストールする。【選択図】図１
2016177777.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークを介して少なくとも１つのクライアント装置と接続し、第２のネットワークを介して外部装置と接続可能な情報処理装置であって、
前記クライアント装置から第１のネットワークを介して、クライアント装置に関するクライアント情報を受信する第１の受信手段と、
前記第１のネットワークに接続され、前記クライアント装置による制御の可能な機器を特定する特定手段と、
前記第１のネットワークから前記第２のネットワークに接続を切り替える第１の切替手段と、
前記クライアント情報と前記特定手段によって特定された前記機器とに基づいて、前記外部装置から前記第２のネットワークを介して、該機器を制御するための制御プログラムを受信する第２の受信手段と、
前記第２のネットワークから前記第１のネットワークに接続を切り替える第２の切替手段と、
前記第１のネットワークを介して前記クライアント装置に、前記第２の受信手段によって受信した前記制御プログラムを送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の受信手段は、
前記第１のネットワークに接続され且つ前記クライアント装置による制御の可能な機器の特定情報を前記クライアント装置から更に受信し、
前記特定手段は、前記特定情報によって特定される前記機器を、前記第１のネットワークに接続され且つ前記クライアント装置による制御の可能な機器として特定する、
請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、
複数の前記クライアント装置の内、前記情報処理装置から前記制御プログラムを取得するためのクライアントアプリケーションがインストール済の、前記クライアント装置を更に特定し、
前記送信手段は、
特定した前記クライアント装置に、当該情報処理装置の識別情報と、前記制御プログラムのダウンロード依頼情報の送信要求と、を送信する、
請求項１に記載の情報処理装置。
【請求項４】
最新のバージョンの前記クライアントアプリケーションを前記外部装置から取得する取得手段と、
保持している前記クライアントアプリケーションを、取得した最新のバージョンの前記クライアントアプリケーションに更新する更新手段と、
を備える、請求項３に記載の情報処理装置。
【請求項５】
前記第１の受信手段は、
前記特定手段が特定した前記クライアント装置から、前記第１のネットワークを介して、該クライアント装置にインストール済の前記クライアントアプリケーションのバージョンを更に受信し、
前記送信手段は、
前記第１の受信手段が受信したバージョンが、前記取得手段が取得した最新のバージョンより古い場合に、前記第１のネットワークを介して、該クライアント装置に最新のバージョンの前記クライアントアプリケーションへのアップデートの指示情報を送信する、
請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、携帯可能である、請求項１〜請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記機器は、画像形成装置であり、前記制御プログラムは、プリンタドライバである、請求項１〜請求項６の何れか１項に記載の情報処理装置。
【請求項８】
第１のネットワークを介して少なくとも１つのクライアント装置と接続し、第２のネットワークを介して外部装置と接続可能な情報処理装置と、前記第１のネットワークを介して機器に接続し、前記第２のネットワークに接続されていないクライアント装置と、を備える情報処理システムであって、
前記情報処理装置は、
前記クライアント装置から第１のネットワークを介してクライアント装置に関するクライアント情報を受信する第１の受信手段と、
前記第１のネットワークに接続され、前記クライアント装置による制御の可能な機器を特定する特定手段と、
前記第１のネットワークから前記第２のネットワークに接続を切り替える第１の切替手段と、
前記クライアント情報と前記特定手段によって特定された前記機器とに基づいて、前記第２のネットワークを介して該機器を制御するための制御プログラムを受信する第２の受信手段と、
前記第２のネットワークから前記第１のネットワークに接続を切り替える第２の切替手段と、
前記第１のネットワークを介して、前記クライアント装置に前記第２の受信手段によって受信した前記制御プログラムを送信する送信手段と、
を備える、情報処理システム。
【請求項９】
前記クライアント装置は、
前記情報処理装置から受信した前記制御プログラムを当該クライアント装置にインストールするインストール手段を備える、
請求項８に記載の情報処理システム。
【請求項１０】
第１のネットワークを介して少なくとも１つのクライアント装置と接続し、第２のネットワークを介して外部装置と接続可能な情報処理装置で実行する情報処理プログラムであって、
前記クライアント装置から第１のネットワークを介してクライアント装置に関するクライアント情報を受信するステップと、
前記第１のネットワークに接続され、前記クライアント装置による制御の可能な機器を特定するステップと、
前記第１のネットワークから前記第２のネットワークに接続を切り替えるステップと、
前記クライアント情報と特定された前記機器とに基づいて、前記第２のネットワークを介して該機器を制御するための制御プログラムを受信するステップと、
前記第２のネットワークから前記第１のネットワークに接続を切り替えるステップと、
前記第１のネットワークを介して前記クライアント装置に、受信した前記制御プログラムを送信するステップと、
を含む情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、および情報処理プログラムに関する。
【背景技術】
【０００２】
セキュリティなどの観点から、社内ネットワークなどのローカルネットワークに接続されたクライアント装置が、外部ネットワークへ接続を制限した環境を構築することが行われている。しかし、複数のクライアント装置とプリンタがネットワークを介して接続された環境において、クライアント装置にインストールするデバイスドライバを管理する管理者は、デバイスドライバの更新や新たなクライアント装置の導入のたびにインストールやアップデートなどのための処理を行う必要があり、手間がかかっていた。
【０００３】
このため、例えば、ローカルネットワークに接続されたプリンタが、ルータおよび外部ネットワークを介して外部装置からドライバを取得し、プリンタがドライバをローカルネットワークに接続されたクライアント装置へ配信する技術が開示されている（特許文献１）。また、セキュリティなどの観点から、社内ネットワークなどのローカルネットワークに接続された装置の、外部ネットワークへの接続を制御した環境を構築することが行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このような環境下におけるローカルネットワークに接続された各装置では、機器を制御するための制御プログラムを、外部ネットワークを介して外部装置からダウンロードすることは出来ない。このため、従来では、クライアント装置から外部ネットワークへの接続を制御した環境を維持し、且つ、クライアント装置への制御プログラムのインストール時における管理者側の負担軽減を図ることは困難であった。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、第１のネットワークを介して少なくとも１つのクライアント装置と接続し、第２のネットワークを介して外部装置と接続可能な情報処理装置であって、前記クライアント装置から第１のネットワークを介して、クライアント装置に関するクライアント情報を受信する第１の受信手段と、前記第１のネットワークに接続され、前記クライアント装置による制御の可能な機器を特定する特定手段と、前記第１のネットワークから前記第２のネットワークに接続を切り替える第１の切替手段と、前記クライアント情報と前記特定手段によって特定された前記機器とに基づいて、前記外部装置から前記第２のネットワークを介して、該機器を制御するための制御プログラムを受信する第２の受信手段と、前記第２のネットワークから前記第１のネットワークに接続を切り替える第２の切替手段と、前記第１のネットワークを介して、前記クライアント装置に前記第２の受信手段によって受信した前記制御プログラムを送信する送信手段と、を備える、情報処理装置である。
【発明の効果】
【０００６】
本発明によれば、クライアント装置から外部ネットワークへの接続を制御した環境を維持し、且つ、クライアント装置への制御プログラムのインストール時における管理者側の負担軽減を図ることができる、という効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、情報処理システムの一例を示す図である。
【図２】図２は、ハードウェア構成の一例を示す図である。
【図３】図３は、情報処理装置の機能ブロック図である。
【図４】図４は、ダウンロード依頼情報のデータ構成の一例を示す図である。
【図５】図５は、クライアント装置の機能ブロック図である。
【図６】図６は、情報処理の流れを示すシーケンス図である。
【図７】図７は、情報処理装置の機能ブロック図である。
【図８】図８は、クライアント装置の機能ブロック図である。
【図９】図９は、情報処理の流れを示すシーケンス図である。
【図１０】図１０は、情報処理装置の機能ブロック図である。
【図１１】図１１は、クライアント装置の機能ブロック図である。
【図１２】図１２は、情報処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理装置、情報処理システム、および情報処理プログラムの一の実施の形態を詳細に説明する。
【０００９】
（第１の実施の形態）
図１は、情報処理システム１０の一例を示す図である。
【００１０】
情報処理システム１０は、クライアント装置１２と、情報処理装置１６と、を備える。
【００１１】
クライアント装置１２は、第１のネットワーク２０を介してプリンタ１４などの機器に接続されている。また、クライアント装置１２は、第２のネットワーク２２に接続されていない。
【００１２】
第１のネットワーク２０は、クライアント装置１２およびプリンタ１４と接続しているネットワークである。第１のネットワーク２０は、例えば、イントラネットでインターネットに接続するためには、インターネット許可用のプロキシサーバでの認証が必要となるネット―ワークである。第１のネットワーク２０は、具体的には、社内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのローカルネットワークである。社内ＬＡＮとは、限られた端末のみが接続できるように構成されたネットワークである。社内ＬＡＮは、例えば、会社内に設置されているＰＣ（パーソナルコンピュータ）やプリンタ１４等の機器のみが接続可能に構成されたネットワークである。
【００１３】
第１のネットワーク２０に接続された各装置（クライアント装置１２やプリンタ１４）は、例えば、ＴＣＰ／ＩＰなどの公知のプロトコルに従って通信する。
【００１４】
第１のネットワーク２０には、１または複数のクライアント装置１２と、１または複数の機器と、が接続されている。すなわち、クライアント装置１２は、第１のネットワーク２０を介して機器に接続されている。
【００１５】
機器は、クライアント装置１２からの指示に応じた各種処理を実行する。機器は、例えば、公知の画像形成装置や、スキャナ装置や、ファックス装置や、複数の機能を有する複合機などである。
【００１６】
なお、本実施の形態では、一例として、第１のネットワーク２０に接続されている機器の種類は、プリンタ１４である場合を説明する。プリンタ１４は、公知の画像形成装置である。
【００１７】
第２のネットワーク２２は、クライアント装置１２にインストールされる制御プログラム（詳細後述）を記憶している外部装置１８に接続したネットワークである。第２のネットワーク２２は、例えば、インターネットなどの外部ネットワークに接続可能なネットワークである。すなわち、第２のネットワーク２２は、例えば、第１のネットワーク２０などの社内ネットワークのプロキシサーバを超えて、インターネットに接続可能なネットワークである。第２のネットワーク２２に接続された装置は、公知の通信プロトコルに従って通信する。
【００１８】
上述したように、クライアント装置１２は、第２のネットワーク２２に接続されていない。すなわち、クライアント装置１２は、第１のネットワーク２０に接続された機器や他のクライアント装置１２には接続可能である。しかし、クライアント装置１２は、第２のネットワーク２２に接続された外部装置１８へのアクセス（接続）は、制限されている。これは、セキュリティ上の観点から、クライアント装置１２を外部のネットワーク（第２のネットワーク２２）に接続不可能とするためである。なお、第１のネットワーク２０と、第２のネットワーク２２とは、接続されていない。
【００１９】
外部装置１８は、プリンタ１４（機器）を制御するための制御プログラムを記憶した、公知のコンピュータである。外部装置１８は、例えば、クラウドサーバなどである。機器を制御するための制御プログラムは、機器がプリンタ１４である場合、例えば、プリンタドライバである。また、機器がスキャナ装置である場合、機器を制御するための制御プログラムは、例えば、スキャナドライバである。なお、外部装置１８に記憶されている制御プログラムは、最新のバージョンのものである。
【００２０】
情報処理装置１６は、第１のネットワーク２０を介してクライアント装置１２に接続し、第２のネットワーク２２を介して外部装置１８に接続する。すなわち、情報処理装置１６は、クライアント装置１２と第２のネットワーク２２の双方に接続可能である。但し、情報処理装置１６は、クライアント装置１２と第２のネットワーク２２の双方に、同時に接続することは出来ない（詳細後述）。
【００２１】
情報処理装置１６は、携帯可能であることが好ましい。情報処理装置１６を携帯可能とすることで、管理者が任意の場所で情報処理装置１６に後述する各処理を実行させることができる。情報処理装置１６は、具体的には、タブレット端末や、スマートデバイス等である。
【００２２】
なお、情報処理システム１０のネットワーク構成は、制御プログラムを記憶する外部装置１８が接続する第２のネットワーク２２と、クライアント装置１２が接続する第１のネットワーク２０と、が別々のネットワークであって、クライアント装置１２から第１のネットワーク２０へ接続できない状態であればよく、図１に示す構成に限定されない。
【００２３】
次に、本実施の形態における、クライアント装置１２、情報処理装置１６、および、外部装置１８のハードウェア構成を説明する。
【００２４】
図２は、本実施の形態におけるクライアント装置１２、情報処理装置１６、外部装置１８のハードウェア構成の一例を示す図である。
【００２５】
本実施の形態におけるクライアント装置１２、情報処理装置１６、および、外部装置１８は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５４、ＨＤＤ（ハードディスクドライブ）５６、およびＩ／Ｆ（ＩｎｔｅｒＦａｃｅ）５８を有する。ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、および、Ｉ／Ｆ５８は、バス６４により相互に接続されている。また、Ｉ／Ｆ５８には、公知の表示装置などのディスプレイ６０や、ユーザによる各種操作を受け付ける操作部６２が接続されている。
【００２６】
ディスプレイ６０は、各種画像を表示する。ディスプレイ６０は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）等の公知の表示装置である。操作部６２は、ユーザが各種の操作入力を行うための部材である。操作部６２は、例えば、マウス、ボタン、リモコン、キーボード、および、マイクなどの音声認識装置等である。
【００２７】
なお、ディスプレイ６０および操作部６２は、一体的に構成されていてもよい。具体的には、ディスプレイ６０および操作部６２は、入力機能および表示機能の双方を備えたタッチパネルであってもよい。
【００２８】
次に、情報処理装置１６について説明する。図３は、情報処理装置１６の機能ブロック図である。
【００２９】
情報処理装置１６は、サーバアプリケーション２４と、記憶部２８と、を備える。記憶部２８は、ハードディスクドライブ装置（ＨＤＤ５６）や内部メモリ等の記憶媒体である。記憶部２８は、各種データを記憶する。
【００３０】
本実施の形態では、記憶部２８は、クライアントアプリケーションインストーラ２８Ａと、クライアント情報２８Ｂと、を記憶する。
【００３１】
クライアントアプリケーションインストーラ２８Ａは、クライアントアプリケーション（後述するクライアントアプリケーション３０）をクライアント装置１２にインストールするための実行ファイル（エグゼ（ｅｘｅ）ファイル）である。クライアントアプリケーションは、クライアント装置１２が情報処理装置１６から制御プログラムを取得するためのアプリケーションプログラムである。
【００３２】
すなわち、クライアントアプリケーションインストーラ２８Ａは、クライアントアプリケーションを有する。クライアントアプリケーションインストーラ２８Ａは、実行されると、クライアント装置１２にクライアントアプリケーションをセットアップする。
【００３３】
クライアント情報２８Ｂは、クライアント装置１２に関する情報である。本実施の形態では、クライアント情報２８Ｂは、クライアント装置１２の識別情報（例えば、ＩＰアドレス）である。
【００３４】
サーバアプリケーション２４は、外部装置１８から制御プログラムを取得し、クライアント装置１２へ送信するためのアプリケーションプログラムである。サーバアプリケーション２４は、情報処理装置１６に予めインストールされている。
【００３５】
サーバアプリケーション２４は、受信部２４Ａ（第２の受信手段）と、ＷｅｂＡＰＩ（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）２４Ｂ（第１の受信手段、送信手段）と、切替部２４Ｃ（第１の切替手段、第２の切替手段）と、特定部２４Ｄ（特定手段）と、を備える。
【００３６】
本実施の形態では、例えば、情報処理装置１６のプロセッサがサーバアプリケーション２４を実行することによって、受信部２４Ａ、ＷｅｂＡＰＩ２４Ｂ、切替部２４Ｃ、および特定部２４Ｄが主記憶装置上にロードされ、主記憶装置上に生成される。
【００３７】
切替部２４Ｃは、第１のネットワーク２０から第２のネットワーク２２に接続を切替える。また、切替部２４Ｃは、第２のネットワーク２２から第１のネットワーク２０に接続を切替える。具体的には、切替部２４Ｃは、第２のネットワーク２２との接続が必要になった時に、第１のネットワーク２０との接続を解除して、第２のネットワーク２２に接続する。また、切替部２４Ｃは、第１のネットワーク２０との接続が必要になった時に、第２のネットワーク２２との接続を解除して、第１のネットワーク２０に接続する。すなわち、情報処理装置１６は、同じタイミングで第１のネットワーク２０と第２のネットワーク２２の双方に接続することは出来ない。
【００３８】
切替部２４Ｃは、例えば、４Ｇ回線などの、携帯端末向けの回線を用いて第２のネットワーク２２に接続する。また、切替部２４Ｃは、例えば、ＷｉＦｉ（登録商標）接続などを用いて第１のネットワーク２０へ接続する。
【００３９】
ＷｅｂＡＰＩ２４Ｂは、ＨＴＴＰを利用して外部のプログラムから、他のプログラムの機能を利用する仕組みのことである。本実施の形態では、クライアント装置１２のクライアントアプリケーション３０が、サーバアプリケーション２４の機能を使うために、ＷｅｂＡＰＩ２４Ｂを利用する。
【００４０】
ＷｅｂＡＰＩ２４Ｂは、第１の受信手段および送信手段に相当する。ＷｅｂＡＰＩ２４Ｂは、クライアント装置１２から第１のネットワーク２０を介して、クライアント装置１２に関するクライアント情報２８Ｂを受信する。
【００４１】
特定部２４Ｄは、第１のネットワーク２０に接続され、且つ、クライアント装置１２による制御の可能な機器を特定する。本実施の形態では、機器が、プリンタ１４である場合を一例として説明する。
【００４２】
本実施の形態では、ＷｅｂＡＰＩ２４Ｂが、第１のネットワーク２０を介してクライアント装置１２から、特定情報を受信する。特定情報は、第１のネットワーク２０に接続され、且つ、クライアント装置１２による制御の可能な機器を特定するための情報である。特定情報は、プリンタ１４（機器）を特定可能な情報である。本実施の形態では、特定情報が、プリンタ１４の機器名であるものとして説明する。そして、特定部２４Ｄは、ＷｅｂＡＰＩ２４Ｂで受信した機器名（特定情報）によって特定されるプリンタ１４（機器）を、第１のネットワーク２０に接続され且つクライアント装置１２による制御の可能な機器として特定する。
【００４３】
受信部２４Ａは、クライアント装置１２から受信したクライアント情報２８Ｂと、特定部２４Ｄによって特定されたプリンタ１４とに基づいて、第２のネットワーク２２を介して外部装置１８から、該プリンタ１４を制御するための制御プログラムをダウンロード（受信）する。
【００４４】
受信部２４Ａは、以下の流れで、外部装置１８から制御プログラムをダウンロードする。
【００４５】
詳細には、切替部２４Ｃが第２のネットワーク２２から第１のネットワーク２０へ接続を切替えたときに、ＷｅｂＡＰＩ２４Ｂが、クライアント装置１２からダウンロード依頼情報を受け付ける。
【００４６】
ダウンロード依頼情報は、第１のネットワーク２０に接続されている少なくとも一部のプリンタ１４を制御するための、制御プログラムのダウンロードを依頼する情報である。
【００４７】
ダウンロード依頼情報は、該ダウンロード依頼情報の送信元のクライアント装置１２のクライアント情報２８Ｂ（例えば、ＩＰアドレス）と、第１のネットワーク２０に接続されている機器（本実施の形態ではプリンタ１４）の機器名（特定情報）と、該クライアント装置１２のＯＳ（オペレーティング・システム）の情報と、を含む。クライアント装置１２のＯＳの情報とは、クライアント装置１２にインストールされているＯＳの種類やバージョンを示す情報などである。
【００４８】
なお、ダウンロード依頼情報は、機器名に対応する機器で用いる言語の種類（例えば、ＲＰＣＳ（Ｒｅｆｉｎｅｄ  Ｐｒｉｎｔｉｎｇ  Ｃｏｍｍａｎｄ  Ｓｔｒｅａｍ）やＰＳ（Ｐｏｓｔ  Ｓｃｒｉｐｔ）などのページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ＰＤＬ））を更に含んでいてもよい。
【００４９】
また、第１のネットワーク２０に複数のプリンタ１４が接続されている場合には、ダウンロード依頼情報は、複数のプリンタ１４の各々の機器名を含む。この場合、例えば、ダウンロード依頼情報は、複数のクライアント装置１２の各々ごとの、クライアント情報２８Ｂ（例えばＩＰアドレス）と、複数の機器名（特定情報）と、複数の機器名の各々に対応する言語の種類と、該クライアント装置１２のＯＳの情報と、を含む。
【００５０】
図４は、ダウンロード依頼情報のデータ構成の一例を示す図である。図４に示すように、情報処理装置１６がクライアント装置１２から取得するダウンロード依頼情報は、該クライアント装置１２のＩＰアドレスと、機器名（特定情報）と、該機器名の機器で用いる言語の種類と、を含む。なお、図４では、ＯＳの情報の記載を省略して示した。
【００５１】
図３に戻り、ＷｅｂＡＰＩ２４Ｂは、クライアント装置１２から受信したダウンロード依頼情報を、記憶部２８に記憶する。この処理により、記憶部２８には、クライアント情報２８Ｂが記憶された状態となる。記憶部２８では、該ダウンロード依頼情報に含まれるクライアント情報２８Ｂによって特定されるクライアント装置１２へ、制御プログラムのダウンロード完了通知を送信するまで、該ダウンロード依頼情報を記憶する。
【００５２】
そして、切替部２４Ｃは、第１のネットワーク２０から第２のネットワーク２２への接続を切替える。すると、受信部２４Ａは、第２のネットワーク２２を介して、外部装置１８から制御プログラムをダウンロードする。
【００５３】
ＷｅｂＡＰＩ２４Ｂは、受信部２４Ａがダウンロードした制御プログラムを、クライアント装置１２へ送信すればよい。
【００５４】
詳細には、切替部２４Ｃが、第２のネットワーク２２から第１のネットワーク２０への接続を切替える。すると、ＷｅｂＡＰＩ２４Ｂは、ダウンロード依頼情報の送信元のクライアント装置１２に、制御プログラムを送信する。ＷｅｂＡＰＩ２４Ｂは、記憶部２８に記憶されているダウンロード依頼情報に含まれるクライアント装置１２のクライアント情報２８Ｂ（ＩＰアドレス）を読取ることによって、ダウンロード依頼情報の送信元のクライアント装置１２を特定すればよい。
【００５５】
なお、ＷｅｂＡＰＩ２４Ｂは、第１のネットワーク２０に接続されている全てのクライアント装置１２に、制御プログラムを送信してもよい。
【００５６】
図５は、クライアント装置１２の機能ブロック図である。
【００５７】
クライアント装置１２は、クライアントアプリケーション３０と、記憶部３４と、ウェブブラウザ３５と、を備える。
【００５８】
クライアントアプリケーション３０は、情報処理装置１６から制御プログラムを取得するためのアプリケーションプログラムである。クライアントアプリケーション３０は、クライアントアプリケーションインストーラ２８Ａを実行することで、クライアント装置１２にインストールされる。
【００５９】
クライアントアプリケーション３０は、検索部３０Ａと、ＷｅｂＡＰＩ３０Ｂと、インストール部３０Ｃと、送信部３０Ｄと、表示制御部３０Ｅと、を備える。
【００６０】
本実施の形態では、クライアント装置１２のプロセッサが、クライアントアプリケーション３０を実行することによって、検索部３０Ａ、ＷｅｂＡＰＩ３０Ｂ、インストール部３０Ｃ、送信部３０Ｄ、および表示制御部３０Ｅが、主記憶装置上にロードされ、主記憶装置上に生成される。
【００６１】
ウェブブラウザ３５は、制御プログラムの取得時に接続する情報処理装置１６の識別情報（例えば、ＩＰアドレス）を、クライアント装置１２の操作部６２から受け付ける。ユーザは、操作部６２を操作することで、ウェブブラウザ３５を介して、情報処理装置１６の識別情報を、入力する。ウェブブラウザ３５は、操作部６２の操作によって入力された、情報処理装置１６の識別情報を受付ける。
【００６２】
また、ウェブブラウザ３５は、受け付けた識別情報によって識別される情報処理装置１６にアクセスし、クライアントアプリケーションインストーラ２８Ａをダウンロードする。
【００６３】
なお、ウェブブラウザ３５は、操作部６２から情報処理装置１６の識別情報を受付けると、情報処理装置１６のサーバアプリケーション２４で用意された表示画面をクライアント装置１２のディスプレイ６０へ表示してもよい。この表示画面は、例えば、「クライアントアプリケーションのインストール開始」を示すボタン画像を含む。ウェブブラウザ３５は、ユーザによって該ボタン画像の表示領域が選択されたときに、クライアントアプリケーションインストーラ２８Ａを情報処理装置１６からダウンロードしてもよい。さらに、ウェブブラウザ３５は、ユーザによる操作部６２の操作指示によって、クライアントアプリケーションインストーラ２８Ａの実行指示を受付けたときに、該クライアントアプリケーションインストーラ２８Ａを実行してもよい。
【００６４】
本実施の形態では、クライアント装置１２のプロセッサは、情報処理装置１６からダウンロードしたクライアントアプリケーションインストーラ２８Ａを実行することで、クライアント装置１２にクライアントアプリケーション３０をインストールする。そして、クライアント装置１２のプロセッサが、該クライアントアプリケーション３０を実行することによって、検索部３０Ａ、ＷｅｂＡＰＩ３０Ｂ、およびインストール部３０Ｃが主記憶装置上にロードされ、主記憶装置上に生成される。
【００６５】
なお、クライアント装置１２に、クライアントアプリケーション３０が既にインストール済である場合がある。この場合には、ウェブブラウザ３５は、インストール済のクライアントアプリケーション３０の各々が接続する対象の情報処理装置１６の識別情報（例えば、ＩＰアドレス）の一覧を、ディスプレイ６０に表示してもよい。そして、ウェブブラウザ３５は、表示した識別情報の一覧の中から、ユーザによる操作部６２の操作指示によって選択された、接続対象の情報処理装置１６の識別情報を受付けてもよい。そして、クライアント装置１２のプロセッサは、ユーザによって選択された接続対象の情報処理装置１６に対応する、インストール済のクライアントアプリケーション３０を実行すればよい。
【００６６】
検索部３０Ａは、第１のネットワーク２０に接続されている全ての機器（本実施の形態ではプリンタ１４）を検索する。検索部３０Ａは、第１のネットワーク２０を検索することによって、第１のネットワーク２０に接続されている全てのプリンタ１４の各々の機器名およびプリンタ１４のＩＰアドレスを得る。なお、検索部３０Ａは、情報処理装置１６のサーバアプリケーション２４に含まれるものであってもよい。
【００６７】
ＷｅｂＡＰＩ３０Ｂは、ＨＴＴＰを利用して外部のプログラムから、他のプログラムの機能を利用する仕組みのことである。本実施の形態では、情報処理装置１６のサーバアプリケーション２４が、クライアント装置１２のクライアントアプリケーション３０の機能を使うために、ＷｅｂＡＰＩ３０Ｂを利用する。
【００６８】
送信部３０Ｄは、ウェブブラウザ３５が受け付けた識別情報によって識別される情報処理装置１６へ、ダウンロード依頼情報を送信する。ダウンロード依頼情報は、上述したように、クライアント装置１２のクライアント情報２８Ｂ（例えば、ＩＰアドレス）と、検索部３０Ａが検索したプリンタ１４の各々の機器名と、クライアント装置１２のＯＳの情報と、を含む。また、上述したように、ダウンロード依頼情報は、ダウンロード依頼情報に含まれる機器名の機器で用いる言語の種類を更に含んでいてもよい。
【００６９】
表示制御部３０Ｅは、検索部３０Ａが検索したプリンタ１４の各々の機器名の一覧をディスプレイ６０に表示し、取得対象の制御プログラムを用いる機器をユーザに選択させてもよい。この場合、ウェブブラウザ３５は、検索部３０Ａが検索したプリンタ１４の機器名の一覧をディスプレイ６０に表示する。そして、ユーザによる操作部６２の操作によって、１または複数の機器名が選択される。すると、ウェブブラウザ３５は、ユーザによって選択された機器名を操作部６２から受け付ける。そして、ＷｅｂＡＰＩ３０Ｂは、受付けた機器名を含むダウンロード依頼情報を、情報処理装置１６へ送信してもよい。
【００７０】
また、ＷｅｂＡＰＩ３０Ｂは、情報処理装置１６が外部装置１８から取得した制御プログラムを受信する。
【００７１】
具体的には、ＷｅｂＡＰＩ３０Ｂは、情報処理装置１６からダウンロード完了通知を受信する。そして、ＷｅｂＡＰＩ３０Ｂは、ダウンロード完了通知を受信すると、該情報処理装置１６から制御プログラムを受信（すなわち、ダウンロード）する。
【００７２】
インストール部３０Ｃは、ＷｅｂＡＰＩ３０Ｂが受信した制御プログラムを、当該クライアント装置１２へインストールする。例えば、ＷｅｂＡＰＩ３０Ｂが受信した制御プログラムが、プリンタドライバである場合、インストール部３０Ｃは、受信したプリンタドライバをクライアント装置１２へインストールする。なお、インストール時に、インストール部３０Ｃは、検索部３０Ａが検索したプリンタ１４の各々のＩＰアドレスを用いて、プリンタドライバの設定を行えばよい。
【００７３】
このため、クライアント装置１２には、最新のバージョンの制御プログラム（例えば、最新バージョンのプリンタドライバ）がインストールされる。なお、クライアント装置１２は、既にインストールされている制御プログラムのバージョンが、情報処理装置１６から取得した対応する機器の制御プログラムのバージョンと同じ、またはインストール済の方が最新バージョンである場合、インストールを行わなくてもよい。
【００７４】
次に、情報処理システム１０で実行する情報処理の流れを説明する。図６は、情報処理システム１０で実行する情報処理の流れを示すシーケンス図である。
【００７５】
まず、情報処理装置１６の切替部２４Ｃが、第２のネットワーク２２から第１のネットワーク２０に接続を切替える（ＳＥＱ１００）。
【００７６】
なお、切替部２４Ｃは、複数のネットワークの中から、どのネットワークが第１のネットワーク２０であり、どのネットワークが第２のネットワーク２２であるかを判別し、切り替える必要がある。この判別には、例えば、以下の判別方法を用いればよい。
【００７７】
例えば、切替部２４Ｃは、第１のネットワーク２０を、以下の判別方法で判別すればよい。
【００７８】
具体的には、サーバアプリケーション２４は、いずれのネットワークが第１のネットワーク２０であるかを示す情報を、予め記憶する。例えば、サーバアプリケーション２４は、第１のネットワーク２０へ接続するためのアクセスポイントの情報（ＳＳＩＤやパスワード等）を記憶しておく。そして、切替部２４Ｃは、この情報を用いて、第１のネットワーク２０を判別すればよい。
【００７９】
また、サーバアプリケーション２４が、接続の候補となる（電波を受信している）ネットワークの一覧を含む表示画面を、ディスプレイ６０へ表示してもよい。この場合、切替部２４Ｃは、ユーザによる操作部６２の操作指示によって選択されたネットワークを、第１のネットワーク２０として判別すればよい。
【００８０】
また、切替部２４Ｃは、第２のネットワーク２２を、以下の判別方法で判別すればよい。
【００８１】
例えば、サーバアプリケーション２４は、いずれのネットワークが第２のネットワーク２２であるかを示す情報を、予め記憶する。例えば、サーバアプリケーション２４は、３ＧやＬＴＥ等のモバイルネットワーク（携帯電話回線）や、インターネットに接続可能なＷｉＦｉのアクセスポイントの情報を、第２のネットワーク２２を示す情報として予め記憶する。そして、切替部２４Ｃは、この情報を用いて、第１のネットワーク２０を判別すればよい。
【００８２】
また、切替部２４Ｃは、ＳＥＱ１００において第２のネットワーク２２から第１のネットワーク２０へ接続を切り替える前に、この切り替える前に接続しているネットワークの情報を、第２のネットワーク２２の情報として記憶しておいてもよい。
【００８３】
次に、クライアント装置１２のウェブブラウザ３５が、制御プログラムの取得時に接続する情報処理装置１６の識別情報を、操作部６２から受け付ける（ＳＥＱ１０２）。次に、ウェブブラウザ３５が、ＳＥＱ１０２で受け付けた識別情報によって識別される情報処理装置１６にアクセスし、該情報処理装置１６に対応するクライアントアプリケーションインストーラ２８Ａをダウンロードする（ＳＥＱ１０４、ＳＥＱ１０６）。
【００８４】
クライアント装置１２のプロセッサは、情報処理装置１６からダウンロードしたクライアントアプリケーションインストーラ２８Ａを実行することで、クライアント装置１２にクライアントアプリケーション３０をインストールする。そして、クライアント装置１２のプロセッサが、該クライアントアプリケーション３０を実行することによって、検索部３０Ａ、ＷｅｂＡＰＩ３０Ｂ、およびインストール部３０Ｃが主記憶装置上にロードされ、主記憶装置上に生成される。
【００８５】
次に、クライアント装置１２の検索部３０Ａが、第１のネットワーク２０に接続されている全ての機器（本実施の形態ではプリンタ１４）を検索する（ＳＥＱ１０８、ＳＥＱ１１０）。この検索によって、検索部３０Ａは、第１のネットワーク２０に接続されている全てのプリンタ１４の各々の機器名と、各プリンタ１４のＩＰアドレスを得る。
【００８６】
次に、クライアント装置１２の送信部３０Ｄが、ＳＥＱ１０２でウェブブラウザ３５が受け付けた識別情報によって識別される情報処理装置１６へ、ＳＥＱ１０８、ＳＥＱ１１０で検索した機器名（特定情報）を含む、制御プログラムのダウンロード依頼情報を送信する（ＳＥＱ１１２）。ＳＥＱ１１２で送信するダウンロード依頼情報は、上述したように、クライアント装置１２のクライアント情報２８Ｂ（例えば、ＩＰアドレス）と、検索部３０Ａが検索したプリンタ１４の各々の機器名と、クライアント装置１２のＯＳの情報と、を含む。
【００８７】
情報処理装置１６のＷｅｂＡＰＩ２４Ｂは、クライアント装置１２から取得したダウンロード依頼情報を記憶部２８に記憶する。情報処理装置１６の特定部２４Ｄは、取得したダウンロード依頼情報から、クライアント装置１２による制御の可能なプリンタ１４を特定する（ＳＥＱ１１３）。次に、切替部２４Ｃが、第１のネットワーク２０から第２のネットワーク２２へ接続を切替える（ＳＥＱ１１４）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００と同様にして行えばよい。
【００８８】
次に、情報処理装置１６のＷｅｂＡＰＩ２４Ｂは、ＳＥＱ１１２で受付けたダウンロード依頼情報に含まれる機器名と、クライアント装置１２のＯＳを示す情報と、に基づいて、機器名の各々に対応する機器（プリンタ１４）を制御するための制御プログラム（例えば、プリンタドライバ）を、第２のネットワーク２２に接続された外部装置１８から取得する（ＳＥＱ１１６、ＳＥＱ１１８）。そして、受信部２４Ａは、取得した制御プログラムを、対応するダウンロード依頼情報に対応づけて、記憶部２８に記憶する。
【００８９】
次に、切替部２４Ｃは、第２のネットワーク２２から第１のネットワーク２０へ接続を切り替える（ＳＥＱ１２０）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００と同様にして行えばよい。なお、ＳＥＱ１１４で接続を切り替えたときに、サーバアプリケーション２４は、ユーザに対して何れのネットワークに接続されているのかを示す表示画面（ユーザインターフェース）を、ディスプレイ６０へ表示してもよい。
【００９０】
次に、情報処理装置１６のＷｅｂＡＰＩ２４Ｂは、ＳＥＱ１１２で受け付けたダウンロード依頼情報の送信元のクライアント装置１２へ、制御プログラムのダウンロード完了通知を送信する（ＳＥＱ１２２）。
【００９１】
クライアント装置１２のＷｅｂＡＰＩ３０Ｂは、情報処理装置１６からダウンロード完了通知を受信すると、該情報処理装置１６から制御プログラムを受信（すなわち、ダウンロード）する（ＳＥＱ１２４、ＳＥＱ１２６）。
【００９２】
次に、クライアント装置１２のインストール部３０Ｃは、ＳＥＱ１２４、ＳＥＱ１２６でＷｅｂＡＰＩ３０Ｂがダウンロードした制御プログラムを、当該クライアント装置１２へインストールする（ＳＥＱ１２８）。インストール時に、インストール部３０Ｃは、検索部３０Ａが検索したプリンタ１４の各々のＩＰアドレスを用いて、プリンタドライバの設定を行う。そして、本シーケンスを終了する。
【００９３】
以上説明したように、本実施の形態の情報処理装置１６は、第１のネットワーク２０を介して少なくとも１つのクライアント装置１２と接続し、第２のネットワーク２２を介して外部装置１８と接続可能である。情報処理装置１６は、ＷｅｂＡＰＩ２４Ｂ（第１の受信手段、送信手段）と、特定部２４Ｄ（特定手段）と、切替部２４Ｃ（第１の切替手段、第２の切替手段）と、受信部２４Ａ（第２の受信手段）と、を備える。
【００９４】
ＷｅｂＡＰＩ２４Ｂ（第１の受信手段）は、クライアント装置１２から第１のネットワーク２０を介して、クライアント装置１２に関するクライアント情報２８Ｂを受信する。特定部２４Ｄは、第１のネットワーク２０に接続され、クライアント装置１２による制御の可能なプリンタ１４（機器）を特定する。切替部２４Ｃ（第１の切替手段）は、第１のネットワーク２０から第２のネットワーク２２に接続を切り替える。受信部２４Ａ（第２の受信手段）は、クライアント情報２８Ｂと特定部２４Ｄ（特定手段）によって特定されたプリンタ１４（機器）とに基づいて、外部装置１８から第２のネットワーク２２を介して、該プリンタ１４（機器）を制御するための制御プログラムを受信する。切替部２４Ｃ（第２の切替手段）は、第２のネットワーク２２から第１のネットワーク２０に接続を切り替える。ＷｅｂＡＰＩ２４Ｂ（送信手段）は、第１のネットワーク２０を介して、クライアント装置１２に、ＷｅｂＡＰＩ２４Ｂ（第２の受信手段）によって受信した制御プログラムを送信する。
【００９５】
このように、本実施の形態の情報処理装置１６では、クライアント装置１２が第２のネットワーク２２への接続を制限した環境を維持し、情報処理装置１６を第１のネットワーク２０と第２のネットワーク２２へ接続を切り替える。そして、情報処理装置１６は、第２のネットワーク２２に接続を切り替えたときに、制御プログラムを、第２のネットワーク２２を介して外部装置１８から受信する。そして、情報処理装置１６は、第２のネットワーク２２から第１のネットワーク２０へ接続を切り替えたときに、制御プログラムを、第１のネットワーク２０を介してクライアント装置１２へ送信する。
【００９６】
このため、クライアント装置１２が第２のネットワーク２２（外部ネットワーク）へアクセス不可能な環境を維持することができる。また、クライアント装置１２や第１のネットワーク２０の管理者による、クライアント装置１２への制御プログラムのインストール時における作業の軽減を図ることができる。
【００９７】
従って、本実施の形態の情報処理装置１６では、クライアント装置１２から第２のネットワーク２２（外部ネットワーク）への接続を制御した（すなわち、接続を制限した）環境を維持し、且つ、クライアント装置１２への制御プログラムのインストール時における管理者側の負担軽減を図ることができる。
【００９８】
また、ＷｅｂＡＰＩ２４Ｂ（第１の受信手段）は、第１のネットワーク２０に接続され且つクライアント装置１２による制御の可能なプリンタ１４（機器）の特定情報をクライアント装置１２から更に受信する。そして、特定部２４Ｄ（特定手段）は、特定情報によって特定されるプリンタ１４（機器）を、第１のネットワーク２０に接続され且つクライアント装置１２による制御の可能なプリンタ１４（機器）として特定する。
【００９９】
ここで、クライアント装置１２は、状況に応じて様々なプリンタ１４に接続されている。このため、取得する制御プログラムは、クライアント装置１２によって異なる。本実施の形態の情報処理装置１６では、上記構成であることから、管理者がクライアント装置１２に、ドライバなどの制御プログラムを手動で導入しなくても、クライアント装置１２に適した制御プログラムが自動で導入される。このため、上記効果に加えて、管理者側の更なる負担軽減を図ることができる。
【０１００】
また、クライアント装置１２のインストール部３０Ｃ（インストール手段）は、情報処理装置１６から受信した制御プログラムを当該クライアント装置１２にインストールする。
【０１０１】
また、本実施の形態の情報処理システム１０では、クライアント装置１２のユーザの操作は、情報処理装置１６の識別情報の入力のみである（図６のＳＥＱ１０２参照）。このため、ユーザ（管理者含む）の負担軽減を図ることができる。
【０１０２】
従って、本実施の形態の情報処理装置１６では、クライアント装置１２が第２のネットワーク２２（外部ネットワーク）への接続を制限した環境を維持し、且つ、クライアント装置１２への制御プログラムのインストール時における管理者側の負担軽減を図ることができる。
【０１０３】
また、本実施の形態の情報処理装置１６は、携帯可能であることが好ましい。また、機器は、例えば、プリンタ１４などの画像形成装置であり、制御プログラムは、例えば、プリンタドライバである。
【０１０４】
なお、ネットワークに接続可能な、モバイルデバイス等の情報処理装置１６は、複数のＷｉＦｉや４Ｇ等の携帯電話回線が混在する環境においては、基本的にどちらか一方のネットワークにのみ接続して通信を行う。すなわち、第１のネットワーク２０をＷｉＦｉ接続、第２のネットワーク２２を４Ｇ等の携帯電話回線とした場合に、情報処理装置１６が第２のネットワーク２２に接続されている状態であると、第１のネットワーク２０にのみ接続されているクライアント装置１２のクライアントアプリケーション３０は、情報処理装置１６のサーバアプリケーション２４に接続することは出来ない。この場合、クライアント装置１２の切替部２４Ｃが、第２のネットワーク２２から第１のネットワーク２０へ接続を切り替えることで、クライアント装置１２のクライアントアプリケーション３０は、情報処理装置１６のサーバアプリケーション２４に接続することができる。
【０１０５】
また、情報処理装置１６を何れのネットワークに接続するかは、情報処理装置１６のＯＳの設定（デフォルトのネットワーク設定やネットワークの接続の優先度の設定）によって定まる。本実施の形態では、情報処理装置１６の切替部２４Ｃが、ＯＳの機能を用いて、接続を切り替えることができる。
【０１０６】
（第２の実施の形態）
次に、第２の実施の形態の情報処理システムを説明する。
【０１０７】
図１は、本実施の形態の情報処理システム１１の一例を示す図である。
【０１０８】
情報処理システム１１は、クライアント装置１３と、情報処理装置１７と、を備える。
【０１０９】
なお、情報処理システム１１は、複数のクライアント装置１３を備えた構成であってもよい。また、情報処理システム１１は、複数の情報処理装置１７を備えた構成であってもよい。クライアント装置１３は、第１のネットワーク２０を介してプリンタ１４などの機器に接続されている。
【０１１０】
第１のネットワーク２０およびプリンタ１４は、第１の実施の形態と同様である。また、本実施の形態では、第１のネットワーク２０に接続される機器が、プリンタ１４である場合を一例として説明する。
【０１１１】
クライアント装置１３は、第２のネットワーク２２に接続されていない。第２のネットワーク２２には、外部装置１８が接続されている。外部装置１８および第２のネットワーク２２は、第１の実施の形態と同様である。すなわち、クライアント装置１３は、第１のネットワーク２０に接続された機器や他のクライアント装置１３には接続可能である。しかし、クライアント装置１３は、第２のネットワーク２２に接続出来ない。
【０１１２】
情報処理装置１７は、第１のネットワーク２０を介してクライアント装置１３に接続し、第２のネットワーク２２を介して外部装置１８に接続する。すなわち、情報処理装置１７は、クライアント装置１３と第２のネットワーク２２の双方に接続可能である。但し、情報処理装置１７は、クライアント装置１３と第２のネットワーク２２の双方に、同時に接続することは出来ない。
【０１１３】
次に、本実施の形態における、クライアント装置１３、情報処理装置１７、および、外部装置１８のハードウェア構成を説明する。
【０１１４】
図２は、本実施の形態におけるクライアント装置１３、情報処理装置１７、外部装置１８のハードウェア構成の一例を示す図である。
【０１１５】
本実施の形態におけるクライアント装置１３、情報処理装置１７、および、外部装置１８は、ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、およびＩ／Ｆ５８を有する。ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、および、Ｉ／Ｆ５８は、バス６４により相互に接続されている。また、Ｉ／Ｆ５８には、ディスプレイ６０や、操作部６２が接続されている。ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、Ｉ／Ｆ５８、バス６４、ディスプレイ６０、および、操作部６２は、第１の実施の形態と同様である。
【０１１６】
図７は、情報処理装置１７の機能ブロック図である。
【０１１７】
情報処理装置１７は、サーバアプリケーション２５と、記憶部２８と、を備える。記憶部２８は、第１の実施の形態と同様である。
【０１１８】
サーバアプリケーション２５は、外部装置１８から制御プログラムを取得し、クライアント装置１３へ送信するためのアプリケーションプログラムである。サーバアプリケーション２５は、情報処理装置１７に予めインストールされている。
【０１１９】
サーバアプリケーション２５は、受信部２４Ａ（第２の受信手段）と、ＷｅｂＡＰＩ２５Ｂ（第１の受信手段）と、切替部２４Ｃ（第１の切替手段、第２の切替手段）と、特定部２５Ｄ（特定手段）と、送信部２５Ｅ（送信手段）と、を備える。
【０１２０】
本実施の形態では、例えば、情報処理装置１７のプロセッサがサーバアプリケーション２５を実行することによって、受信部２４Ａ、ＷｅｂＡＰＩ２５Ｂ、切替部２４Ｃ、および特定部２５Ｄが主記憶装置上にロードされ、主記憶装置上に生成される。
【０１２１】
切替部２４Ｃ、および、受信部２４Ａは、第１の実施の形態と同様である。
【０１２２】
特定部２５Ｄは、第１ネットワーク２０に接続され、且つ、クライアント装置１３による制御の可能なプリンタ１４（機器）を特定する。このプリンタ１４（機器）の特定は、第１の実施の形態の特定部２４Ｄと同様である。
【０１２３】
本実施の形態では、特定部２５Ｄは、クライアント装置１３の内、情報処理装置１７から制御プログラムを取得するためのクライアントアプリケーション３１（図８参照）がインストール済の、クライアント装置１３を更に特定する。クライアントアプリケーション３１は、第１の実施の形態のクライアントアプリケーション３０と同様に、クライアント装置１３が情報処理装置１７から制御プログラムを取得するためのアプリケーションプログラムである。
【０１２４】
特定部２５Ｄは、例えば、サブネットが同一のネットワーク（第１のネットワーク２０）に接続されたクライアント装置１３に対して、クライアントアプリケーション３１用のＷｅｂＡＰＩ３１Ｂ（図８参照）を呼び出す。そして、呼出せた場合、特定部２５Ｄは、クライアントアプリケーション３１がインストール済のクライアント装置１３であると判定する。なお、クライアントアプリケーション３１用のＷｅｂＡＰＩ３１Ｂ（図８参照）を呼び出せた場合とは、サーバアプリケーション２５からの要求に対して、クライアント装置１３から応答が帰ってきた場合、を示す。
【０１２５】
ここで、情報処理システム１１が複数の情報処理装置１７を備える場合、クライアントアプリケーション３１は、複数の情報処理装置１７の各々ごとに存在する。すなわち、複数の情報処理装置１７の各々ごとに、制御プログラムを外部装置１８から取得するためのクライアントアプリケーション３１がある。このため、各情報処理装置１７では、各情報処理装置１７用のクライアントアプリケーション３１のクライアントアプリケーションインストーラ２８Ａを予め記憶部２８に記憶している。
【０１２６】
このため、特定部２５Ｄは、当該情報処理装置１７用のクライアントアプリケーション３１をインストール済のクライアント装置１３を特定する。
【０１２７】
ＷｅｂＡＰＩ２５Ｂは、第１の実施の形態のＷｅｂＡＰＩ２４Ｂと同様である。
【０１２８】
送信部２５Ｅは、特定部２５Ｄが特定したクライアント装置１３に対して、当該情報処理装置１７の識別情報（例えば、ＩＰアドレス）と、制御プログラムのダウンロード依頼情報の送信要求と、を送信する。ダウンロード依頼情報は、第１の実施の形態と同様である。
【０１２９】
このため、本実施の形態では、クライアント装置１３は、ユーザによる情報処理装置１７の識別情報の操作を受付ける事なく、情報処理装置１７から受付けた識別情報によって識別される情報処理装置１７へ、ダウンロード依頼情報を送信することができる。
【０１３０】
図８は、本実施の形態のクライアント装置１３の機能ブロック図である。
【０１３１】
クライアント装置１３は、クライアントアプリケーション３１と、記憶部３４と、を備える。
【０１３２】
クライアントアプリケーション３１は、第１の実施の形態のクライアントアプリケーション３０と同様に、情報処理装置１７から制御プログラムを取得するためのアプリケーションプログラムである。クライアントアプリケーション３１は、クライアントアプリケーションインストーラ２８Ａを実行することで、クライアント装置１３にインストールされる。
【０１３３】
クライアントアプリケーション３１は、検索部３０Ａと、ＷｅｂＡＰＩ３１Ｂと、インストール部３０Ｃと、送信部３０Ｄと、表示制御部３０Ｅと、を備える。
【０１３４】
本実施の形態では、クライアント装置１３のプロセッサが、クライアントアプリケーション３１を実行することによって、検索部３０Ａ、ＷｅｂＡＰＩ３１Ｂ、インストール部３０Ｃ、送信部３０Ｄ、および表示制御部３０Ｅが主記憶装置上にロードされ、主記憶装置上に生成される。検索部３０Ａ、インストール部３０Ｃ、送信部３０Ｄ、および表示制御部３０Ｅは、第１の実施の形態と同様である。
【０１３５】
ＷｅｂＡＰＩ３１Ｂは、情報処理装置１７から、情報処理装置１７の識別情報と、制御プログラムのダウンロード依頼情報の送信要求と、を受信する。すなわち、第１の実施の形態では、クライアント装置１２のウェブブラウザ３５が、情報処理装置１６の識別情報を操作部６２から受け付けた（図５参照）。一方、本実施の形態では、クライアントアプリケーション３１では、ＷｅｂＡＰＩ３１Ｂが、情報処理装置１７から、情報処理装置１７の識別情報を受信する。
【０１３６】
送信部３０Ｄは、情報処理装置１７の識別情報および送信要求を受信したときに、該識別情報によって識別される情報処理装置１７へ、ダウンロード依頼情報を送信する。
【０１３７】
このため、本実施の形態では、クライアント装置１３を操作するユーザは、制御プログラムの取得時に接続する情報処理装置１７の識別情報の入力のために、クライアント装置１３の操作部６２を操作する必要がない。
【０１３８】
次に、情報処理システム１１で実行する情報処理の流れを説明する。図９は、情報処理システム１１で実行する情報処理の流れを示すシーケンス図である。
【０１３９】
まず、情報処理装置１７の切替部２４Ｃが、第２ネットワーク２２から第１ネットワーク２０に接続を切替える（ＳＥＱ２００）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１４０】
次に、情報処理装置１７の特定部２５Ｄが、第１のネットワーク２０に接続されている複数のクライアント装置１３の内、当該情報処理装置１７に対応するクライアントアプリケーション３１をインストール済の、クライアント装置１３を特定する（ＳＥＱ２０２）。
【０１４１】
次に、情報処理装置１７の送信部２５Ｅが、ＳＥＱ２０２で特定したクライアント装置１３に対して当該情報処理装置１７の識別情報（例えば、ＩＰアドレス）と、制御プログラムのダウンロード依頼情報の送信要求と、を送信する（ＳＥＱ２０４）。
【０１４２】
そして、情報処理システム１１では、第１の実施の形態の情報処理システム１０におけるＳＥＱ１０８〜ＳＥＱ１２８（図６参照）と同様にして、ＳＥＱ２０６〜ＳＥＱ２２６の処理を実行する。
【０１４３】
すなわち、クライアント装置１３の検索部３０Ａが、第１ネットワーク２０に接続されている全ての機器（プリンタ１４）を検索する（ＳＥＱ２０６、ＳＥＱ２０８）。この検索によって、検索部３０Ａは、第１ネットワーク２０に接続されている全てのプリンタ１４の各々の機器名と、各プリンタ１４のＩＰアドレスを得る。
【０１４４】
次に、クライアント装置１３の送信部３０Ｄが、ＳＥＱ２０４で情報処理装置１７から取得した識別情報によって識別される情報処理装置１７へ、ＳＥＱ２０６、ＳＥＱ２０８で検索した機器名（特定情報）を含む、制御プログラムのダウンロード依頼情報を送信する（ＳＥＱ２１０）。ＳＥＱ２１０で送信するダウンロード依頼情報は、上述したように、クライアント装置１３のクライアント情報２８Ｂ（例えば、ＩＰアドレス）と、検索部３０Ａが検索したプリンタ１４の各々の機器名と、クライアント装置１３のＯＳの情報と、を含む。
【０１４５】
情報処理装置１７のＷｅｂＡＰＩ２５Ｂは、クライアント装置１３から取得したダウンロード依頼情報を記憶部２８に記憶する。また、情報処理装置１７の特定部２５Ｄは、取得したダウンロード依頼情報から、クライアント装置１３による制御の可能なプリンタ１４を特定する（ＳＥＱ２１１）。次に、切替部２４Ｃが、第１ネットワーク２０から第２ネットワーク２２へ接続を切替える（ＳＥＱ２１２）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１４６】
次に、情報処理装置１７のＷｅｂＡＰＩ２５Ｂは、ＳＥＱ２１０で受付けたダウンロード依頼情報に含まれる機器名と、クライアント装置１３のＯＳを示す情報と、に基づいて、機器名の各々に対応する機器（プリンタ１４）を制御するための制御プログラム（例えば、プリンタドライバ）を、第２ネットワーク２２に接続された外部装置１８から取得する（ＳＥＱ２１４、ＳＥＱ２１６）。そして、受信部２４Ａは、取得した制御プログラムを、対応するダウンロード依頼情報に対応づけて、記憶部２８に記憶する。
【０１４７】
次に、切替部２４Ｃは、第２ネットワーク２２から第１ネットワーク２０へ接続を切り替える（ＳＥＱ２１８）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１４８】
次に、情報処理装置１７のＷｅｂＡＰＩ２５Ｂは、ＳＥＱ２１０で受け付けたダウンロード依頼情報の送信元のクライアント装置１３へ、制御プログラムのダウンロード完了通知を送信する（ＳＥＱ２２０）。
【０１４９】
クライアント装置１３のＷｅｂＡＰＩ３１Ｂは、情報処理装置１７からダウンロード完了通知を受信すると、該情報処理装置１７から制御プログラムを受信（すなわち、ダウンロード）する（ＳＥＱ２２２、ＳＥＱ２２４）。
【０１５０】
次に、クライアント装置１３のインストール部３０Ｃは、ＳＥＱ２２２、ＳＥＱ２２４でＷｅｂＡＰＩ３０Ｂがダウンロードした制御プログラムを、当該クライアント装置１３へインストールする（ＳＥＱ２２６）。インストール時に、インストール部３０Ｃは、検索部３０Ａが検索したプリンタ１４の各々のＩＰアドレスを用いて、プリンタドライバの設定を行う。そして、本シーケンスを終了する。
【０１５１】
以上説明したように、本実施の形態の情報処理装置１７は、特定部２５Ｄ（特定手段）が、複数のクライアント装置１３の内、情報処理装置１７から制御プログラムを取得するためのクライアントアプリケーション３１がインストール済の、クライアント装置１３を更に特定する。送信部２５Ｅ（送信手段）は、特定したクライアント装置１３に、当該情報処理装置１７の識別情報と、制御プログラムのダウンロード依頼情報の送信要求と、を送信する。
【０１５２】
このため、クライアント装置１３は、情報処理装置１７から受信した識別情報によって識別される情報処理装置１７へ、ユーザによる操作指示無しで、ダウンロード依頼情報を送信することができる。
【０１５３】
すなわち、本実施の形態の情報処理システム１１では、クライアント装置１３を操作するユーザ（管理者も含む）は、制御プログラムの取得時に接続する情報処理装置１７の識別情報の入力のために、クライアント装置１３の操作部６２を操作する必要がない。
【０１５４】
従って、本実施の形態の情報処理装置１７では、第１の実施の形態の効果に加えて、クライアント装置１３への制御プログラムのインストール時における管理者側の負担軽減を、更に図ることができる。
【０１５５】
（第３の実施の形態）
本実施の形態では、最新のバージョンのクライアントアプリケーションを、クライアント装置１５で利用可能とする。
【０１５６】
図１は、本実施の形態の情報処理システム９の一例を示す図である。
【０１５７】
情報処理システム９は、クライアント装置１５と、情報処理装置１９と、を備える。
【０１５８】
なお、情報処理システム９は、複数のクライアント装置１５を備えた構成であってもよい。また、情報処理システム９は、複数の情報処理装置１９を備えた構成であってもよい。
【０１５９】
クライアント装置１５は、第１のネットワーク２０を介してプリンタ１４などの機器に接続されている。第１のネットワーク２０およびプリンタ１４は、第１の実施の形態と同様である。
【０１６０】
クライアント装置１５は、第２のネットワーク２２に接続されていない。第２のネットワーク２２には、外部装置１８が接続されている。外部装置１８および第２のネットワーク２２は、第１の実施の形態と同様である。すなわち、クライアント装置１５は、第１のネットワーク２０に接続された機器や他のクライアント装置１５には接続可能である。しかし、クライアント装置１５は、第２のネットワーク２２に接続出来ない。
【０１６１】
情報処理装置１９は、第１のネットワーク２０を介してクライアント装置１５に接続し、第２のネットワーク２２を介して外部装置１８に接続する。すなわち、情報処理装置１９は、クライアント装置１５と第２のネットワーク２２の双方に接続可能である。但し、情報処理装置１９は、クライアント装置１５と第２のネットワーク２２の双方に、同時に接続することは出来ない。
【０１６２】
次に、本実施の形態における、クライアント装置１５、情報処理装置１９、および、外部装置１８のハードウェア構成を説明する。
【０１６３】
図２は、本実施の形態におけるクライアント装置１５、情報処理装置１９、外部装置１８のハードウェア構成の一例を示す図である。
【０１６４】
本実施の形態におけるクライアント装置１５、情報処理装置１９、および、外部装置１８は、ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、およびＩ／Ｆ５８を有する。ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、および、Ｉ／Ｆ５８は、バス６４により相互に接続されている。また、Ｉ／Ｆ５８には、ディスプレイ６０や、操作部６２が接続されている。ＣＰＵ５０、ＲＡＭ５２、ＲＯＭ５４、ＨＤＤ５６、Ｉ／Ｆ５８、バス６４、ディスプレイ６０、および、操作部６２は、第１の実施の形態と同様である。
【０１６５】
図１０は、情報処理装置１９の機能ブロック図である。
【０１６６】
情報処理装置１９は、サーバアプリケーション２７と、記憶部２８と、を備える。記憶部２８は、第１の実施の形態と同様である。
【０１６７】
サーバアプリケーション２７は、外部装置１８から制御プログラムを取得し、クライアント装置１５へ送信するためのアプリケーションプログラムである。サーバアプリケーション２７は、情報処理装置１９に予めインストールされている。
【０１６８】
サーバアプリケーション２７は、受信部２４Ａ（第２の受信手段）と、ＷｅｂＡＰＩ２７Ｂ（第１の受信手段）と、切替部２４Ｃ（第１の切替手段、第２の切替手段）と、特定部２５Ｄ（特定手段）と、送信部２５Ｅ（送信手段）と、更新部２７Ｅと、取得部２７Ｆと、を備える。
【０１６９】
本実施の形態では、例えば、情報処理装置１９のプロセッサがサーバアプリケーション２７を実行することによって、受信部２４Ａ、ＷｅｂＡＰＩ２７Ｂ、切替部２４Ｃ、特定部２５Ｄ、送信部２５Ｅ、更新部２７Ｅ、および、取得部２７Ｆが主記憶装置上にロードされ、主記憶装置上に生成される。
【０１７０】
切替部２４Ｃ、および、受信部２４Ａは、第１の実施の形態と同様である。特定部２５Ｄ、および送信部２５Ｅは、第２の実施の形態と同様である。
【０１７１】
取得部２７Ｆは、最新のバージョンのクライアントアプリケーション３６（図１１参照）を、外部装置１８から取得する。クライアントアプリケーション３６は、クライアントアプリケーション３０と同様に、クライアント装置１５が情報処理装置１９から制御プログラムを取得するためのアプリケーションプログラムである。
【０１７２】
外部装置１８には、最新のバージョンのクライアントアプリケーション３６が格納されているものとする。情報処理装置１９の取得部２７Ｆは、第２のネットワーク２２を介して外部装置１８から、外部装置１８に格納されているクライアントアプリケーション３６のバージョンを取得する。
【０１７３】
そして、取得部２７Ｆは、情報処理装置１９の記憶部２８に格納されている、クライアントアプリケーションインストーラ２８Ａに含まれるクライアントアプリケーション３６のバージョンを読取る。取得部２７Ｆは、外部装置１８から取得したバージョンが、記憶部２８に格納されているクライアントアプリケーションインストーラ２８Ａに含まれるクライアントアプリケーション３６のバージョンより新しい場合、外部装置１８から、最新のバージョンのクライアントアプリケーション３６を取得する。
【０１７４】
更新部２７Ｅは、取得部２７Ｆが取得した最新のバージョンのクライアントアプリケーション３６で、記憶部２８に記憶されたクライアントアプリケーション３６を更新する。
【０１７５】
本実施の形態では、取得部２７Ｆは、最新のバージョンのクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａを、外部装置１８からダウンロードする。そして、更新部２７Ｅは、記憶部２８に記憶されているクライアントアプリケーションインストーラ２８Ａを、最新のバージョンのクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａに更新する。
【０１７６】
ＷｅｂＡＰＩ２７Ｂは、第２の実施の形態のＷｅｂＡＰＩ２５Ｂと同様である。本実施の形態では、ＷｅｂＡＰＩ２７Ｂ（第１の受信手段）は、更に、特定部２５Ｄ（特定手段）が特定したクライアント装置１５から、第１のネットワーク２０を介して、該クライアント装置１５にインストール済のクライアントアプリケーション３６のバージョンを更に受信する。そして、送信部２５Ｅ（送信手段）は、ＷｅｂＡＰＩ２７Ｂ（第１の受信手段）が受信したバージョンが、取得部２７Ｆが取得した最新のバージョンより古い場合に、第１のネットワーク２０を介して、該クライアント装置１５に最新のバージョンのクライアントアプリケーション３６へのアップデートの指示情報を送信する。
【０１７７】
次に、クライアント装置１５の機能を説明する。図１１は、本実施の形態のクライアント装置１５の機能ブロック図である。
【０１７８】
クライアント装置１５は、クライアントアプリケーション３６と、記憶部３４と、を備える。
【０１７９】
クライアントアプリケーション３６は、第１の実施の形態のクライアントアプリケーション３０と同様に、情報処理装置１９から制御プログラムを取得するためのアプリケーションプログラムである。クライアントアプリケーション３６は、クライアントアプリケーションインストーラ２８Ａを実行することで、クライアント装置１５にインストールされる。
【０１８０】
クライアントアプリケーション３６は、検索部３０Ａと、ＷｅｂＡＰＩ３５Ｂと、インストール部３０Ｃと、送信部３０Ｄと、表示制御部３０Ｅと、を備える。
【０１８１】
本実施の形態では、クライアント装置１５のプロセッサが、クライアントアプリケーション３６を実行することによって、検索部３０Ａ、ＷｅｂＡＰＩ３５Ｂ、インストール部３０Ｃ、送信部３０Ｄ、および表示制御部３０Ｅが主記憶装置上にロードされ、主記憶装置上に生成される。検索部３０Ａ、インストール部３０Ｃ、送信部３０Ｄ、および表示制御部３０Ｅは、第１の実施の形態と同様である。
【０１８２】
ＷｅｂＡＰＩ３５Ｂは、第２の実施の形態のＷｅｂＡＰＩ３１Ｂと同様である。本実施の形態では、ＷｅｂＡＰＩ３５Ｂは、更に、情報処理装置１９から、最新のバージョンのクライアントアプリケーション３６へのアップデートの指示情報を受信する。すると、ＷｅｂＡＰＩ３５Ｂは、情報処理装置１９から最新のクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａをダウンロードし、該クライアントアプリケーションインストーラ２８Ａを実行する。この処理により、クライアント装置１５のクライアントアプリケーション３６が、最新のバージョンにアップデートされる。
【０１８３】
次に、情報処理システム９で実行する情報処理の流れを説明する。図１２は、情報処理システム９で実行する情報処理の流れを示すシーケンス図である。
【０１８４】
まず、情報処理装置１９の切替部２４Ｃが、第１のネットワーク２０から第２のネットワーク２２へ接続を切替える（ＳＥＱ３００）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１８５】
次に、情報処理装置１９の取得部２７Ｆが、外部装置１８へアクセスし、外部装置１８に格納されているクライアントアプリケーション３６の、バージョンを取得する（ＳＥＱ３０２、ＳＥＱ３０４）。そして、情報処理装置１９の取得部２７Ｆは、情報処理装置１９の記憶部２８に格納されている、クライアントアプリケーションインストーラ２８Ａに含まれるクライアントアプリケーション３６のバージョンと、外部装置１８から取得したバージョンと、を比較する（ＳＥＱ３０６）。
【０１８６】
そして、情報処理装置１９の取得部２７Ｆは、外部装置１８から取得したバージョンが、記憶部２８に格納されているクライアントアプリケーションインストーラ２８Ａに含まれるクライアントアプリケーション３６のバージョンより新しい場合、外部装置１８から、最新のバージョンのクライアントアプリケーション３６を取得する（ＳＥＱ３０８、ＳＥＱ３１０）。本実施の形態では、上述したように、取得部２７Ｆは、最新のバージョンのクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａを、外部装置１８からダウンロードする。
【０１８７】
そして、情報処理装置１９の更新部２７Ｅは、記憶部２８に記憶されているクライアントアプリケーションインストーラ２８Ａを、最新のバージョンのクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａに更新する（ＳＥＱ３１２）。
【０１８８】
次に、情報処理装置１９の切替部２４Ｃが、第２ネットワーク２２から第１ネットワーク２０に接続を切替える（ＳＥＱ３１４）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１８９】
次に、情報処理装置１９の特定部２５Ｄが、第１のネットワーク２０に接続されている複数のクライアント装置１５の内、当該情報処理装置１９に対応するクライアントアプリケーション３６をインストール済の、クライアント装置１５を特定する（ＳＥＱ３１６）。
【０１９０】
次に、情報処理装置１９のＷｅｂＡＰＩ２７Ｂが、ＳＥＱ３１６で特定したクライアント装置１５から、該クライアント装置１５にインストール済のクライアントアプリケーション３６のバージョンを受信する（ＳＥＱ３１８、ＳＥＱ３２０）。そして、ＷｅｂＡＰＩ２７Ｂは、ＳＥＱ３２０で受信したバージョンと、記憶部２８に記憶されているクライアントアプリケーションインストーラ２８Ａのクライアントアプリケーション３６のバージョンと、を比較する（ＳＥＱ３２２）。
【０１９１】
ＷｅｂＡＰＩ２７Ｂは、クライアント装置１５にインストール済のクライアントアプリケーション３６のバージョンが、記憶部２８におけるクライアントアプリケーションインストーラ２８Ａのクライアントアプリケーション３６のバージョンより古い場合、該クライアント装置１５に最新のバージョンのクライアントアプリケーション３６へのアップデートの指示情報を送信する（ＳＥＱ３２４）。
【０１９２】
クライアント装置１５のＷｅｂＡＰＩ３５Ｂは、情報処理装置１９から最新のクライアントアプリケーション３６のクライアントアプリケーションインストーラ２８Ａをダウンロードする（ＳＥＱ３２６、ＳＥＱ３２８）。そして、ＷｅｂＡＰＩ３５Ｂは、ダウンロードしたクライアントアプリケーションインストーラ２８Ａを実行する。これによって、クライアント装置１５のクライアントアプリケーション３６が、最新のバージョンにアップデートされる（ＳＥＱ３３０）。
【０１９３】
そして、情報処理システム９では、第２の実施の形態のＳＥＱ２０４〜ＳＥＱ２２６と同様にして（図９参照）、ＳＥＱ３３２〜ＳＥＱ３５６の処理を行う。
【０１９４】
すなわち、情報処理装置１９の送信部２５Ｅが、ＳＥＱ３１６で特定したクライアント装置１５に対して当該情報処理装置１９の識別情報（例えば、ＩＰアドレス）と、制御プログラムのダウンロード依頼情報の送信要求と、を送信する（ＳＥＱ３３２）。
【０１９５】
すると、クライアント装置１５の検索部３０Ａが、第１ネットワーク２０に接続されている全ての機器（プリンタ１４）を検索する（ＳＥＱ３３４、ＳＥＱ３３６）。この検索によって、検索部３０Ａは、第１ネットワーク２０に接続されている全てのプリンタ１４の各々の機器名と、各プリンタ１４のＩＰアドレスを得る。
【０１９６】
次に、クライアント装置１５の送信部３０Ｄが、ＳＥＱ３３２で情報処理装置１９から取得した識別情報によって識別される情報処理装置１９へ、ＳＥＱ３３４、ＳＥＱ３３６で検索した機器名（特定情報）を含む、制御プログラムのダウンロード依頼情報を送信する（ＳＥＱ３３８）。ＳＥＱ３３８で送信するダウンロード依頼情報は、上述したように、クライアント装置１５のクライアント情報２８Ｂ（例えば、ＩＰアドレス）と、検索部３０Ａが検索したプリンタ１４の各々の機器名と、クライアント装置１５のＯＳの情報と、を含む。
【０１９７】
情報処理装置１９のＷｅｂＡＰＩ２７Ｂは、クライアント装置１５から取得したダウンロード依頼情報を記憶部２８に記憶する。また、情報処理装置１９の特定部２５Ｄは、取得したダウンロード依頼情報から、クライアント装置１５による制御の可能なプリンタ１４を特定する（ＳＥＱ３４０）。次に、切替部２４Ｃが、第１ネットワーク２０から第２ネットワーク２２へ接続を切替える（ＳＥＱ３４２）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０１９８】
次に、情報処理装置１９のＷｅｂＡＰＩ２７Ｂは、ＳＥＱ３３８で受付けたダウンロード依頼情報に含まれる機器名と、クライアント装置１５のＯＳを示す情報と、に基づいて、機器名の各々に対応する機器（プリンタ１４）を制御するための制御プログラム（例えば、プリンタドライバ）を、第２ネットワーク２２に接続された外部装置１８から取得する（ＳＥＱ３４４、ＳＥＱ３４６）。そして、受信部２４Ａは、取得した制御プログラムを、対応するダウンロード依頼情報に対応づけて、記憶部２８に記憶する。
【０１９９】
次に、切替部２４Ｃは、第２ネットワーク２２から第１ネットワーク２０へ接続を切り替える（ＳＥＱ３４８）。なお、切替部２４Ｃによる、第１のネットワーク２０および第２のネットワーク２２の判別は、上記ＳＥＱ１００（図６参照）と同様にして行えばよい。
【０２００】
次に、情報処理装置１９のＷｅｂＡＰＩ２７Ｂは、ＳＥＱ３３８で受け付けたダウンロード依頼情報の送信元のクライアント装置１５へ、制御プログラムのダウンロード完了通知を送信する（ＳＥＱ３５０）。
【０２０１】
クライアント装置１５のＷｅｂＡＰＩ３５Ｂは、情報処理装置１９からダウンロード完了通知を受信すると、該情報処理装置１９から制御プログラムを受信（すなわち、ダウンロード）する（ＳＥＱ３５２、ＳＥＱ３５４）。
【０２０２】
次に、クライアント装置１５のインストール部３０Ｃは、ＳＥＱ３５２、ＳＥＱ３５４でＷｅｂＡＰＩ３５Ｂがダウンロードした制御プログラムを、当該クライアント装置１５へインストールする（ＳＥＱ３５６）。インストール時に、インストール部３０Ｃは、検索部３０Ａが検索したプリンタ１４の各々のＩＰアドレスを用いて、プリンタドライバの設定を行う（ＳＥＱ３５８）。そして、本シーケンスを終了する。
【０２０３】
以上説明したように、本実施の形態の情報処理装置１９は、取得部２７Ｆ（取得手段）と、更新部２７Ｅ（更新手段）と、を更に備える。取得部２７Ｆは、最新のバージョンのクライアントアプリケーション３６を外部装置１８から取得する。更新部２７Ｅは、保持しているクライアントアプリケーション３６を、取得した最新のバージョンのクライアントアプリケーション３６に更新する。
【０２０４】
このため、本実施の形態の情報処理装置１９は、第１の実施の形態および第２の実施の形態の効果に加えて、容易に、最新のバージョンのクライアントアプリケーション３６に更新することができる。
【０２０５】
また、情報処理装置１９のＷｅｂＡＰＩ２７Ｂ（第１の受信手段）は、特定部２５Ｄ（特定手段）が特定したクライアント装置１５から、第１のネットワーク２０を介して、該クライアント装置１５にインストール済のクライアントアプリケーション３６のバージョンを更に受信する。そして、ＷｅｂＡＰＩ２７Ｂ（送信手段）は、ＷｅｂＡＰＩ２７Ｂ（第１の受信手段）が受信したバージョンが、取得部２７Ｆが取得した最新のバージョンより古い場合に、第１のネットワーク２０を介して、該クライアント装置１５に最新のバージョンのクライアントアプリケーション３６へのアップデートの指示情報を送信する。
【０２０６】
このため、本実施の形態の情報処理装置１９は、上記効果に加えて、更に容易に、クライアント装置１５のクライアントアプリケーション３６を最新のバージョンに更新することができる。
【０２０７】
上記実施の形態におけるクライアント装置１２、１３、１５、情報処理装置１６、１７、１９、外部装置１８で実行される上記各種処理を実行するためのプログラムは、ＲＯＭ等に予め組み込んで提供される。
【０２０８】
なお、上記実施の形態におけるクライアント装置１２、１３、１５、情報処理装置１６、１７、外部装置１８で実行される上記各種処理を実行するためのプログラムは、これらの装置にインストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録されて提供するように構成してもよい。
【０２０９】
また、上記実施の形態におけるクライアント装置１２、１３、１５、情報処理装置１６、１７、外部装置１８で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態におけるクライアント装置１２、１３、１５、情報処理装置１６、１７、外部装置１８で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０２１０】
上記実施の形態における上記実施の形態におけるクライアント装置１２、１３、１５、情報処理装置１６、１７、外部装置１８で実行される上記各種処理を実行するためのプログラムは、上述した各部を含むモジュール構成となっている。実際のハードウェアとしてはＣＰＵがＲＯＭ等の記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
【０２１１】
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１２】
９、１０、１１  情報処理システム
１２、１３、１５  クライアント装置
１６、１７、１９  情報処理装置
２０  第１のネットワーク
２２  第２のネットワーク
２４、２５、２７  サーバアプリケーション
２４Ａ  受信部
２４Ｂ、２５Ｂ、２７Ｂ  ＷｅｂＡＰＩ
２４Ｃ  切替部
２４Ｄ、２５Ｄ  特定部
２７Ｅ  更新部
２７Ｆ  取得部
３０、３１、３６  クライアントアプリケーション
３０Ａ  検索部
３０Ｂ、３１Ｂ、３５Ｂ  ＷｅｂＡＰＩ
３０Ｃ  インストール部
３５  ウェブブラウザ
【先行技術文献】
【特許文献】
【０２１３】
【特許文献１】特開２００８−０５９２３９号公報
【図１】
2016177777.tif 000003
【図２】
2016177777.tif 000004
【図３】
2016177777.tif 000005
【図４】
2016177777.tif 000006
【図５】
2016177777.tif 000007
【図６】
2016177777.tif 000008
【図７】
2016177777.tif 000009
【図８】
2016177777.tif 000010
【図９】
2016177777.tif 000011
【図１０】
2016177777.tif 000012
【図１１】
2016177777.tif 000013
【図１２】
2016177777.tif 000014