説明

デバイス管理システム

【課題】
サーバクライアント方式のシステムにおいて、利用者の利便性を損なわず、安全にデバ
イスを共有する機能を備えるデバイス管理システムを提供する。
【解決手段】
クライアントへデバイスを接続し、接続されたデバイスにサーバからアクセスするにあ
たり、デバイスを接続するのみで、他の操作なしでサーバ側からクライアントに接続され
たデバイスを使用可能とするために、クライアント側に、クライアントに接続されたデバ
イスとクライアントのアプリケーションとの間のデータの送受信と、前記デバイスとサー
バとの間のデータの送受信と、を排他的に制御するフィルタ手段を設け、サーバ側に、ク
ライアントとの通信手段とアプリケーションとの間で仮想的にデバイスドライバとして機
能する擬似バスドライバ手段を設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介してサーバに接続するデバイスへのアクセスを管理する技
術に関する。特に、デバイスがサーバに直接接続している場合と同様に、当該デバイスを
仮想的に利用可能なシステムにおいて、安全かつ簡便に遠隔操作可能とする技術に関する

【背景技術】
【0002】
遠隔地にあるパーソナルコンピュータ(PC)やワークステーションなどのサーバをP
Cやパーソナルデジタルアシスタント(PDA)、携帯電話などの手元の情報端末を用い
てコントロールする手法が、一般的になっている。このような手法は、サーバクライアン
ト方式と呼ばれる。サーバクライアント方式は、大規模なサーバを時分割等の手法でクラ
イアント側の端末である手元の情報端末の間で分け合って利用する。クライアント側の端
末の処理能力が低い場合やクライアント側の端末に一定のセキュリティが確保できない場
合に利用されている。サーバクライアント方式ではサーバとクライアントとの間でインタ
ーネットやイントラネットを介した通信を行う。これらの通信に広帯域低料金のサービス
が提供されるようになったことが、その普及の一因となっている。
【0003】
サーバクライアント方式では、遠隔地にあるサーバを手元の情報端末(クライアント端
末)からを制御するために、サーバには、サーバを制御するためのプログラムをサーバに
インストールし、クライアント端末にサーバを制御した結果を表示するためのプログラム
をインストールする。また、サーバとクライアント端末との間の通信路に盗聴改ざんなど
の危険性がある場合は、通信路の暗号化のためにバーチャルプライベートネットワーク(
VPN)を構築するためのプログラムが利用される。サーバを制御する権限が、クライア
ント端末やそのクライアント端末を利用する利用者に与えられているか否かを確認するた
めに、クライアント端末に特定の認証情報を格納したり、クライアント端末に認証情報を
格納したデバイスを接続したり、利用者の生体認証情報をクライアント端末に入力し、ク
ライアント端末やサーバ等で確認を行うことも一般的である。
【0004】
サーバ及びクライアント端末を業務で利用する利用者は、オフィス内や自宅や車の中等
のオフィス外の場所でクライアント端末にサーバを遠隔操作した結果を表示させ、サーバ
上のプログラムを用いて業務を遂行する。また、業務以外であっても、例えば家庭内やデ
ータセンタに設置したサーバとクライアント端末とを接続し、サーバ上に表示される画面
をクライアント端末に表示し、サーバ上のプログラムを用いて、情報処理(例えば、電子
メールの読み書きや、ブラウザプログラムを起動しWEB情報を閲覧する等)を行う。一
連の動作の前に、サーバとクライアント端末との間の通信は、必要に応じて例えばIPs
ec VPNやSSL−VPNといった暗号通信手法で保護される。
【0005】
このようにサーバクライアント方式によるクライアント端末によるサーバの利用形態は
、サーバクライアント方式のシステムを用いない場合に比べ、全体の機器コストや危機管
理コストを削減できたり、情報の紛失の確率を低減したり、いつでもどこでも手元の情報
端末の種別を問わずに必要な情報処理を可能にするという簡便さを提供したりするという
特長を持つ。このような手元の情報端末によるサーバ利用形態の一例は、例えば特許文献
1に述べられている。
【0006】
サーバクライアント方式では、サーバは、クライアント端末から物理的に離れた場所に
設置されているケースが大半である。この場合、利用者は、例えばサーバに直接接続され
たCD−ROMドライブなどの、情報機器に接続される周辺機器(以後、本明細書ではデ
バイスと呼ぶ。)をクライアントからサーバを経由して利用することは可能である。しか
し、CD−ROMの取り出しなどの操作は容易ではなく、利用者はこの点に不便さを感じ
る。
【0007】
これを解決するものとして、例えば、イントラネットなどのネットワーク上にCD−R
OMドライブ等の、ネットワーク上のいずれの情報機器からもアクセス可能な、いわゆる
共有のデバイスを配置し、仮想的にサーバ上でCD−ROMドライブを利用するものがあ
る。例えば特許文献2、特許文献3は、このようなネットワーク上の第一の機器に接続さ
れたデバイスを、ネットワーク上の第一の機器とは異なる第二の機器から利用する利用形
態について開示している。
【0008】
【特許文献1】特開2005−235159号公報
【特許文献2】US6904489B2号米国特許公報
【特許文献3】US20050240712号米国公開特許公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、特許文献2には、デバイスが接続されているネットワーク上の機器(上記の第
一の機器)からデバイスを利用することは開示されていない。そのため、本文献に開示の
方法によれば、サーバクライアント方式の構成に於けるサーバとクライアント、すなわち
、上記の第一、第二、いずれの機器からでもデバイスを利用できるという構成が実現でき
ない。
【0010】
また、特許文献3に記載の方法では、サーバクライアント方式の構成に於いて、サーバ
とクライアント両方、すなわち、上記の第一、第二の機器両方から、当該デバイスを利用
することを容易に実現できない。
【0011】
画面転送型などのシンクライアントシステムにおいては、実際の処理装置はサーバであ
るため、利用者の手元にあるクライアントにデバイスを接続し、接続されたデバイスをサ
ーバから容易に利用できることが望ましい。すなわち、クライアントが行うデバイスの接
続や切り離し処理、および、クライアントが独自に行うデバイスの利用処理と、サーバが
行うデバイスの利用処理と、を切り替えながら行う必要があり、クライアントとデバイス
間の要求と返答の送受信と、サーバとデバイス間の要求と返答の送受信と、が正しく行わ
れるよう、排他的に制御する必要があるとともに、これらの切り替え処理を、利用者の利
便性を損なわないように行う必要がある。
【0012】
本発明は、上記事情に鑑みてなされたもので、サーバクライアント方式においてデバイ
スを共有する場合、利用者の利便性を損なわず、システム内のセキュリティを向上させる

【0013】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述および添付図面から
明らかになるであろう。
【課題を解決するための手段】
【0014】
クライアントへデバイスを接続し、さらに、接続された該デバイスにサーバからアクセ
スするにあたり、デバイスを接続するのみで、他の操作なしでサーバ側からクライアント
に接続されたデバイスを使用可能とするために、クライアント側に、クライアントに接続
されたデバイスとクライアントのアプリケーションとの間のデータの送受信と、前記デバ
イスとサーバとの間のデータの送受信と、を排他的に制御するフィルタ手段を設け、サー
バ側に、クライアントとの通信手段とアプリケーションとの間で仮想的にデバイスドライ
バとして機能する擬似バスドライバ手段を設ける。
【0015】
具体的には、アプリケーションプログラムを実行するサーバと、前記サーバに前記アプ
リケーションプログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライ
アントと、前記クライアントを認証する認証サーバとがネットワークで接続されたシステ
ムにおいて、前記クライアントに接続されたデバイスを前記サーバから制御するデバイス
管理システムであって、前記クライアントは、当該クライアントに接続しているデバイス
のデバイスドライバとの間でデータを送受信するとともに前記サーバとの間で当該データ
を送受信するデバイス管理手段を備え、前記認証サーバは、当該デバイス管理システム内
の各デバイスの利用権限を管理するデバイス情報保持利用権限管理手段を備え、前記サー
バは、当該サーバ内で動作するアプリケーションと前記デバイス管理手段との間で前記ネ
ットワークを介して行われるデータの送受信を前記デバイス情報保持利用権限管理手段に
保持されている前記利用権限に従って制御する仮想デバイス管理手段を備え、前記デバイ
ス管理手段は、前記デバイスドライバと当該クライアントのアプリケーションとのデータ
の送受信および前記デバイスドライバと前記サーバとのデータの送受信の間で排他制御を
行うフィルタ手段を備えることを特徴とするデバイス管理システムを提供する。
【発明の効果】
【0016】
本発明によれば、サーバクライアント方式においてデバイスを共有する場合、利用者の
利便性を損なわず、システム内のセキュリティを向上させることができる。
【発明を実施するための最良の形態】
【0017】
本発明の実施の形態について、添付図面を参照しながら以下詳細に説明する。なお、図
面中にて同一の参照番号を付したものは、同一の機能を有する構成要素を示し、説明の便
宜上、その詳細な説明は省略する。
【0018】
<<第一の実施形態>>
以下図面を用いて、本発明に係るデバイス管理システムの第一の実施形態を説明する。
【0019】
図1は、本実施形態のデバイス管理システムの詳細なブロック図である。本実施形態の
デバイス管理システムは、認証管理サーバ101、ネットワーク103、ブレードサーバ
106を備える情報センタ102と、当該情報センタのネットワーク103に接続するP
C等のクライアント装置とを備える。
【0020】
情報センタ102は、情報機器を管理するセンタで通常入退室を制限され、設置する機
器が管理監視されているエリアである。情報センタ102の設置場所は、限定されない。
例えば、利用者がクライアント装置などの端末を利用する場所に設置されても良いし、離
れた場所に設置されていても良い。利用者が端末をオフィスなどで利用する場合、情報セ
ンタ102は利用者を管理する企業団体の建屋内に設置されてもよい。利用者が一般消費
者で自宅やホテル、街頭などからサービス提供企業のサーバを利用する場合、情報センタ
102はインターネットサービスプロバイダやサーバレンタル企業、アプリケーションサ
ービスプロバイダ等の管理する建屋内に設置されていてもよい。また、利用者自宅やオフ
ィスの一角にサーバを集中させたエリアであっても良い。
【0021】
認証管理サーバ101は、デバイスや利用者の認証と管理とを行うサーバで、情報セン
タ102の管理者が管理する。認証管理サーバ101がこれらを実現するために保持する
各種のデータについては、後述する。認証管理サーバ101は、通信インタフェース、C
PUおよびメモリを備える情報処理装置で実現され、CPUがメモリに格納されたプログ
ラムを実行することにより、各機能を実現する。なお、各機能を実現するプログラムは、
記憶媒体、または、搬送波、デジタル信号、通信線を含む通信媒体を介して、他の装置か
ら取得してもよい。
【0022】
ブレードサーバ106は、内部に複数のサーバもしくはPCを有する機器であり、図示
しない電源、内部機器とネットワーク103とを結線するインタフェース機能、管理装置
などを備える。本実施形態では、PC−A110、PC−B111、PC−C112を内
部に備える場合を例にあげて説明する。もちろん、ブレードサーバ106の構成は、これ
に限られず、これら以外のPCやサーバを着脱可能である。
【0023】
ネットワーク103は、認証管理サーバ101、PC−A110、PC−B111、P
C−C112等を相互に接続する。本実施形態では、TCP/IPプロトコルを用いて通
信を行うネットワークとして以下に説明する。もちろん、それ以外のプロトコルに従った
通信を行うものであっても良い。
【0024】
なお、本実施形態の、PC−A110、PC−B111、PC−C112は、ブレード
サーバ106内部に構成されているが、ブレードサーバ106内部やさらには情報センタ
102内に設置されていなくともネットワーク103上に存在していればよい。PC−A
110、PC−B111、PC−C112は、PCと記述しているが、サーバでもワーク
ステーションでも組み込み機器でも、記憶媒体に格納しているOSやアプリケーションを
メモリとCPU上で実行する情報機器であれば特に限定されない。
【0025】
図13は、PC−A110のハードウェア構成図である。PC−A110は、ハードデ
ィスクドライブやフラッシュメモリなどのストレージ160とCPU110aとメモリ1
10bと通信のためのインタフェースである通信インタフェース110cとを備える。P
C−A110においては、メモリ110bに読み込まれたプログラムがCPU110aに
より実行されることにより、各処理部が実現される。なお、各プログラムは、記憶媒体、
または通信媒体を介して、他の装置から取得することも可能である。なお、通信媒体とは
、搬送波、デジタル信号、通信線を含む。
【0026】
PC−A110は、利用者の指示に従って、演算を行う。演算結果はPC−A110ま
たはブレードサーバ106に接続された図示しないディスプレィに表示される。ストレー
ジ160には、後述する仮想デバイスマネージャ120が管理者によりインストールされ
ている。PC−A110が起動されるとストレージ160からOSがメモリ110bに読
み込まれ、CPU110aにより実行されて利用可能状態になった後、仮想デバイスマネ
ージャ120がメモリ110bに読み込まれ、CPU110aにより実行されて仮想デバ
イスが利用可能になる。
【0027】
ここで言う仮想デバイスとは、PC−A110にネットワーク103などを介して接続
されているデバイスを、あたかもPC−A110に直接接続されているデバイスであるか
のように利用可能とする仕組みである。本仕組みにより、離れた場所に接続されているデ
バイスが、PC−A110に物理的に接続されているデバイスと同様に利用可能となる。
【0028】
仮想デバイスマネージャ120は、PC−A110にネットワーク103を介して接続
されているデバイスA151との間でのデータの送受信を行うための制御を行うソフトウ
ェアである。デバイスA151を、仮想的に、サーバに直接接続している場合と同様に使
用可能にする機能を実現するものである。詳細については、後述のデバイス管理マネージ
ャ123の動作とともに後述する。
【0029】
また、ストレージ160には、仮想デバイスマネージャ120が送受信したデータおよ
び仮想デバイスマネージャ120で発生したイベントがログ170として蓄積される。ロ
グ170の詳細については後述する。
【0030】
PC−B111及びPC−C112もPC−A110と同様の構成を備え、それぞれ内
部にストレージ161、162を備えると共に、仮想デバイスマネージャ121、122
がインストールされ、起動後に動作する。以後、特にPC−A110、PC−B111、
PC−C112を区別する必要がない場合、PC−A110を代表として説明する。
【0031】
なお、ストレージ160〜162は、ブレードサーバ106内に存在せず、ネットワー
ク103上に存在していてもよい。
【0032】
次に、クライアント装置としてネットワーク103に接続されている機器について説明
する。
【0033】
本実施形態では、クライアント装置として、PC−D113と、PC−E114と、P
C−F115と、ハブ116と、ファイヤウォール105およびインターネット104を
介して接続するPC−Z117とを備える場合を例に挙げて説明する。また、PC−D1
13にはデバイスA151が、PC−F115にはデバイスB152が、ハブ116には
デバイスC153およびデバイスD154が、PC−Z117にはデバイスZ155が接
続される場合を例にあげて説明する。各クライアント装置およびデバイスの接続構成はこ
れに限られない。
【0034】
PC−D113は、利用者の指示に従って演算を行い、必要に応じてデバイスを利用し
、演算結果を利用者に提示する情報処理装置である。ハードウェア構成、各処理部の実現
方法は、上記PC−A110と基本的に同様である。PC−D113は、ネットワーク1
03に図示しないネットワークインタフェースを介して接続している。PC−D113は
、ハードディスクドライブもしくはフラッシュメモリなどストレージ163及び図示しな
いメモリ及びCPUを備え、利用者の指示によって演算を行う。演算結果は、PC−D1
13に接続されている図示しないディスプレィに表示される。利用者からの指示は図示し
ないキーボードやマウスといったユーザインタフェースを介してPC−D113へ送信さ
れる。
【0035】
また、PC−D113において、ストレージ163には、後述するデバイス管理マネー
ジャ123がインストールされている。PC−D113が起動されるとストレージ163
からOSがメモリに読み込まれ、CPUが実行することにより利用可能状態になった後、
デバイス管理マネージャ123がメモリに読み込まれ、CPUが実行することにより、接
続されたデバイスA151がPC−A110において仮想デバイスとして利用可能となる
。また、ストレージ163には、デバイス管理マネージャ123が送受信したデータ等が
ログ173として蓄積される。ログ173の詳細については後述する。
【0036】
デバイス管理マネージャ123は、PC−D113が、デバイスA151を、ブレード
サーバ106のPC−A110の仮想デバイスとして利用するためのソフトウェアである
。詳細については、仮想デバイスマネージャ120の動作とともに後述する。
【0037】
PC−E114、PC−F115、PC−Z117は基本的にPC−D113と同様の
構成を備え、それぞれ、ストレージ164、165、167を備える。また、デバイス管
理マネージャ124、125、127が実現される。また、各ストレージには、ログ17
4、175、177がそれぞれ格納される。
【0038】
さらに、ハブ116は、PC−D113から表示画面などの一般的なPCの機能の一部
が削られたものである。すなわち、図示しないネットワークインタフェースを介してネッ
トワーク103に接続し、ハードディスクドライブもしくはフラッシュメモリなどストレ
ージ166及び図示しないメモリ及びCPUを備え、演算を行う。ハードウェア構成、各
処理部の実現方法は、PC−A110と基本的に同様である。デバイス管理マネージャ1
26を実現するとともに、ストレージ166にはログ176を保持する。以後、特にPC
−D113、PC−E114、PC−F115、PC−Z117、ハブ116を区別する
必要がない場合、PC−D113を代表として説明する。
【0039】
デバイスA151は、情報機器に接続される、例えば、CD−ROMやプリンタなどの
周辺機器である。デバイスA151は、PC−D113とデバイス接続用のインタフェー
スを介して接続されている。デバイス接続用のインタフェースは、例えばユニバーサルシ
リアルバス(USB)、ワイヤレスUSB、近距離無線通信インタフェース、赤外線通信
インタフェース、シリアルポートインタフェース、パラレルポートインタフェース、IE
EE1394インタフェース、PS/2インタフェース(登録商標)、オーディオインタ
フェースといったデバイスをPCに接続するためのインタフェースが考えられる。本実施
形態では、インタフェースがUSBである場合を例にあげて説明を行うが、インタフェー
スはこれに限られない。
【0040】
また、デバイスA151は、接続されているPC−D113にインストールされている
デバイス管理マネージャ123により、仮想デバイスとして本システムで用いられる。以
後、デバイス管理マネージャ123を、デバイスA151を管理するデバイス管理マネー
ジャと呼ぶ。
【0041】
その他、各PCおよびハブに接続されているデバイスB152、C153、D154も
デバイスA151と同様の周辺機器であり、本実施形態では、一例としてUSBインタフ
ェースを介してPCまたはハブに接続されている。以後、特にデバイスA151、デバイ
スB152、デバイスC153、デバイスD154を区別する必要がない場合、デバイス
A151を代表として説明する。
【0042】
次に、PC−A110の仮想デバイスマネージャ120と、PC−D113のデバイス
管理マネージャ123との詳細な構成について説明する。
【0043】
図8は、デバイス管理マネージャ123及び仮想デバイスマネージャ120とデバイス
ドライバ及びアプリケーションとの関係を説明するための図である。ここでは、PC−A
110とPC−D113とにおいてデバイスA151を利用するために必要となるソフト
ウェアのスタックを中心に説明する。
【0044】
PC−D113は、デバイス管理マネージャ123と、物理バスドライバ1515と、
デバイスクラスドライバ1513と、上位ドライバ1512と、アプリケーション151
1とを備える。また、デバイス管理マネージャ123は、フィルタドライバ1514と、
通信プログラム1510と、GUIアプリケーション1509とを備える。なお、各ドラ
イバについて、アプリケーション1511に近い側を上位、PC−D113に接続される
デバイスA151に近い側を下位と呼ぶ。PC−D113では、下位から順に、物理バス
ドライバ1515、フィルタドライバ1514、デバイスクラスドライバ1513、上位
ドライバ1512、の順にスタックされている。
【0045】
PC−A110は、仮想デバイスマネージャ120と、デバイスクラスドライバ150
3と、上位ドライバ1502と、アプリケーション1501と、を備える。仮想デバイス
マネージャ120は、擬似バスドライバ1504と通信プログラム1508とGUIアプ
リケーション1507とを備える。また、擬似バスドライバ1504は、起動用物理デバ
イスオブジェクト1505と、エニュメレータ機能デバイスオブジェクト1506(以下
、エニュメレータ1506と呼ぶ。)とを備える。PC−A110では、下位から順に、
擬似バスドライバ1504、デバイスクラスドライバ1503、上位ドライバ1502の
順にスタックされている。
【0046】
物理バスドライバ1515は、PC−D113に接続された物理バス上に接続されたデ
バイスA151への通信を制御するプログラム(デバイスドライバ)である。バス上のデ
バイスA151の状態、接続、切断を監視する、デバイスA151からの割り込みをOS
および上位のデバイスドライバに通知する、上位に位置するドライバであるデバイス管理
マネージャ123内のフィルタドライバ1514から転送されたデータをデバイスA15
1に送信する、などの処理を行う。なお、ここでは、物理バスはユニバーサルシリアルバ
ス(USB)とする。物理バスドライバ1515は、接続されるデバイスA151毎に用
意される。
【0047】
デバイスクラスドライバ1513は、デバイスA151の種別に対応して設けられてい
るプログラム(デバイスドライバ)である。アプリケーション1511から上位ドライバ
1512を介して送信された要求をデバイスA151が理解できる命令やデータに変換し
てデバイスフィルタドライバ1514および物理バスドライバ1515を介して送信する
。また、デバイスA151から送信された割り込みおよび命令に対するレスポンスをOS
および上位ドライバに送信する。
【0048】
上位ドライバ1512は、デバイスA151の種別に対応して設けられている1以上の
デバイスクラスドライバ1513をまとめる役割をするプログラム(デバイスドライバ)
である。アプリケーション1511から送られた要求をデバイスクラスドライバ1513
が理解できる命令やデータに変換してデバイスクラスドライバ1513に送信する。また
、デバイスクラスドライバ1513およびその他のデバイスクラスドライバから送信され
た割り込みおよび命令に対するレスポンスをOSおよびアプリケーション1511に送信
する。
【0049】
フィルタドライバ1514は、デバイスA151がPC−D113上のデバイスとして
有効になった場合、PC−D113のメモリ上にロードされる。物理バスドライバ151
5とデバイスクラスドライバ1513との間に配置され、デバイスクラスドライバ151
3の下位のドライバとして動作する。
【0050】
フィルタドライバ1514は、通信プログラム1510またはデバイスクラスドライバ
1513より送信されるリクエストを物理バスドライバ1515に送信し、物理バスドラ
イバ1515より送信されるレスポンスを通信プログラム1510またはデバイスクラス
ドライバ1513に返信する。また、通信プログラム1510、物理バスドライバ151
5間のリクエスト及びレスポンスと、デバイスクラスドライバ1513、物理バスドライ
バ1515間のリクエスト及びレスポンスのいずれかを有効とし、いずれかを無効とする
。どちらのリクエスト及びレスポンスを有効とするかは、GUIアプリケーション150
7及びGUIアプリケーション1509の指示に従って、または、デバイスA151のプ
ラグイン、プラグアウト、イジェクトのタイミングもしくは、通信プログラム1510の
起動、終了のタイミングで、変更される。ここで、プラグインは、デバイスA151をP
C−D113の物理バスに接続すること、プラグアウトは、デバイスA151とPC−D
113との接続を絶つこと、イジェクトはデバイスA151をPC−D113から取り外
したり、取り外すために動作を停止することをそれぞれ意味する。
【0051】
フィルタドライバ1514は、デバイスクラスドライバ1513から物理バスドライバ
1515へのリクエストを無効にする場合は、該当するリクエストがフィルタドライバ1
514に入力されると、無効であるというレスポンスをデバイスクラスドライバ1513
に返信する、または、「デバイスが有効では無い」「デバイスにメディアが挿入されてい
ない」などの予め決められたエラーを含んだレスポンスをデバイスクラスドライバ151
3に返信する。
【0052】
同様に、フィルタドライバ1514は、通信プログラム1510から物理バスドライバ
1515へのリクエストを無効にする場合は、該当するリクエストがフィルタドライバ1
514に入力されると、無効であることを示すレスポンスを通信プログラム1510に返
信する、あるいは、「デバイスが有効では無い」「デバイスにメディアが挿入されていな
い」などの予め決められたエラーを含んだレスポンスを通信プログラム1510に返信す
る。
【0053】
フィルタドライバ1514は、デバイスA151に対応するデバイスクラスドライバ1
513に対応してPC−D113のメモリ上にロードされる。接続されているデバイスA
151が複数の場合、各デバイスA151毎に、または、デバイスA151に対応して設
けられる物理バスドライバ1515毎に、用意される。
【0054】
PC−D113側の通信プログラム1510は、通信プログラム1508及びフィルタ
ドライバ1514と通信を行う機能を持つ。通信プログラム1510は、通信プログラム
1508及びフィルタドライバ1514の状態を常に監視し、フィルタドライバ1514
との通信に異常が発生した場合は、通信プログラム1508に異常信号を送信する。フィ
ルタドライバ1514との通信が予め定められた時間で復活しない場合、通信プログラム
1508にさらに異常信号を送信させ、GUIアプリケーション1509に状態を表示さ
せ、利用者の指示を受け付ける。例えば利用者の指示により、デバイスクラスドライバ1
513からのリクエストを物理バスドライバ1515に送信するように変更を行い、通信
プログラム1510とフィルタドライバ1514との通信を中断する。また、通信プログ
ラム1510は、通信プログラム1508との通信が異常になった場合は、フィルタドラ
イバ1514に異常信号を送信する。通信プログラム1508との通信がある程度の時間
で復帰しない場合、フィルタドライバ1514にさらに異常信号を送信し、GUIアプリ
ケーション1509に状態を表示させ、利用者の指示を受ける。例えば利用者の指示によ
り、すべてのエニュメレータ1506や起動用物理デバイスオブジェクト1505を消滅
させる要求を通信プログラム1508に送信する、通信プログラム1510自身を終了さ
せる、などの処理を行う。通信プログラム1510は、通信プログラム1508と常に通
信を行い、PC−D113に接続されたデバイスからプラグアウト、プラグイン、イジェ
クトの通知を受けるのを待つ。通信プログラム1508はデバイスA151のプラグイン
、プラグアウト、イジェクトの通知を受けると、擬似バスドライバ1504が適切に動作
するように通信プログラム1508に通知を行う。
【0055】
擬似バスドライバ1504は、後述するPC−D113上の物理バスドライバ1515
に相当し、デバイスへの通信を制御するプログラム(デバイスドライバ)である。バス上
のデバイスの状態および接続切断を監視し、デバイスからの割り込みをOSおよび上位の
デバイスドライバに通知し、上位のデバイスドライバから転送されたデータをデバイスに
送信する。擬似バスドライバ1504は、PC−A110上で動作するアプリケーション
1501から、PC−D113のバスに接続されたデバイスA151を、PC−A110
のバスに接続されたデバイスと同様に扱わせる。擬似バスドライバ1504は、PC−D
113に接続されたデバイスA151を、PC−A110の擬似バスとしてOSが認識す
るバスに接続されたデバイスとしてPC−A110のOSに認識させる。PC−A110
のOSにとって、擬似バスは前述したPC−D113のバスと同様の機能を持つ。擬似バ
スドライバ1504は、PC−A110のメモリにロードされると、その内部にエニュメ
レータ機能デバイスオブジェクト1506を作成する。
【0056】
擬似バスドライバ1504は通信プログラム1510を介してデバイスA151がプラ
グインされたことを示す通知を受けると、エニュメレータ機能デバイスオブジェクト15
06に該当するデバイスに対応する起動用物理デバイスオブジェクト1505を生成させ
、PC−A110からデバイスA151を利用できる状態にする。また、擬似バスドライ
バ1504は通信プログラム1510を介してデバイスA151がプラグアウトされたこ
とを示す通知を受けると、エニュメレータ機能デバイスオブジェクト1506にプラグア
ウトの通知をする。擬似バスドライバ1504は、デバイスA151がイジェクトされた
ことを示す通知を受けた場合、エニュメレータ機能デバイスオブジェクト1506にイジ
ェクトの通知をする。
【0057】
また、擬似バスドライバ1504は、起動用物理デバイスオブジェクト1505がPC
−A110のメモリからアンロード(以下、削除と略することがある)された場合、通信
プログラム1508及び通信プログラム1510を通じて削除された状態をPC−D11
3に通知する。PC−A110のOSから擬似バスドライバ1504を削除するよう擬似
バスドライバ1504に命令があった場合、すべての起動用物理デバイスオブジェクト1
505を削除した後にエニュメレータ1506及び擬似バスドライバ1504自身を削除
する。上記の各処理中にエラーが発生した場合、擬似バスドライバ1504は、エラーの
内容を通信プログラム1508に送信する。通信プログラム1508への送信を行う際に
通信内容に異常が発生した場合、擬似バスドライバ1504は、すべての起動用物理デバ
イスオブジェクト1505を削除するなどの初期化処理を行い、通信プログラム1508
との通信状態の回復を待つ。
【0058】
エニュメレータ機能デバイスオブジェクト1506は、擬似バスドライバ1504の内
部に生成されるデバイスオブジェクトである。後述する起動用物理デバイスオブジェクト
1505の生成、削除等の管理を行う。また、通信プログラム1508と通信を行う。エ
ニュメレータ1506は、PC−D113から通信プログラム1510および通信プログ
ラム1508を介して擬似バスドライバ1504からデバイスA151のプラグインを示
す通知とともにプラグインされたデバイスA151のパラメータを受信すると、受け取っ
たパラメータを用いて、起動用物理デバイスオブジェクト1505を作成する。また、エ
ニュメレータ1506は、PC−D113から通信プログラム1510及び通信プログラ
ム1508を経由して擬似バスドライバ1504からデバイスA151のプラグアウトも
しくはイジェクト通知を受信すると、プラグアウトまたはイジェクト通知を送信したデバ
イスA151に対応づけて生成された起動用物理デバイスオブジェクト1505を削除す
る。
【0059】
起動用物理デバイスオブジェクト1505は、仮想デバイスドライバ120から仮想的
にデバイスA151を動作させるためのドライバである。通信プログラム1510および
通信プログラム1508を介してデバイスA151がプラグインされた通知をエニュメレ
ータ1506が受ける毎に生成される。すなわち、起動用物理デバイスオブジェクト15
05は、PC−D113に接続されてPC−A110上の擬似バスから制御されるデバイ
ス1つに対し、1つ生成される。従って、起動用物理デバイスオブジェクト1505は、
1以上のオブジェクトからなる。起動用物理デバイスオブジェクト1505は、PC−D
113から後述するデバイスA151のプラグイン操作により送信されるデバイスID、
シリアル番号などを用いて、デバイスと1対1に対応付けられ、エニュメレータ1506
に管理される。
【0060】
PC−A110側の通信プログラム1508は、通信プログラム1510と擬似バスド
ライバ1504との間の通信を実現する。通信プログラム1508は、通信プログラム1
510および擬似バスドライバ1504の状態を常に監視し、擬似バスドライバ1504
との通信に異常が発生した場合は、通信プログラム1510に異常信号を送信する。擬似
バスドライバ1504との通信が予め定められた時間内に復帰しない場合、通信プログラ
ム1510にさらに異常信号を送信する。異常が発生した場合は、通信プログラム150
8は、GUIアプリケーション1507に状態を表示させ、利用者の指示を受け付ける。
例えば利用者の指示により、すべての起動用物理デバイスオブジェクト1505および擬
似バスドライバ1504を消滅させる命令をOSに送信する、通信プログラム1508自
身を終了させるなどの処理を行う。また、通信プログラム1508は、通信プログラム1
510との通信に異常が発生した場合は、擬似バスドライバ1504に異常信号を送信す
る。通信プログラム1510との通信が予め定められた時間内に復帰しない場合、擬似バ
スドライバ1504にさらに異常信号を送信し、GUIアプリケーション1507に状態
を表示させ利用者の指示を受け付ける。例えば利用者の指示により、すべての起動用物理
デバイスオブジェクト1505や擬似バスドライバ1504を消滅させる命令をPC−A
110のOSに送信する、自身を終了させるなどの処理を行う。通信プログラム1508
は、通信プログラム1510と常に通信を行い、PC−D113に接続されたデバイスか
らプラグアウト、プラグイン、イジェクトの通知を受けるのを待つ。
【0061】
デバイスクラスドライバ1503、上位ドライバ1502は、後述するデバイス管理マ
ネージャ123の同名のものと基本的に同様の機能を有する。
【0062】
次に認証管理サーバ101が保持する、ポリシーテーブル1400、デバイス管理テー
ブル200および利用者情報データベース300について説明する。認証管理サーバ10
1は、仮想デバイスマネージャ120とデバイス管理マネージャ123とともに、各デバ
イスへのアクセスを制御する。
【0063】
ポリシーテーブル1400は、本システム内で管理者が管理するデバイスに関するアク
セスポリシーが登録される。例えば、デバイス毎の利用権限、デバイスが接続されるクラ
イアント装置に応じた利用権限などが登録される。本テーブルは、予め管理者などにより
設定される。ポリシーテーブル1400は、システムの管理者が自由に変更することが可
能である。また、ポリシーテーブル1400を設定しないことにより、自動的にはデバイ
ス情報テーブル200上のルールを変更できず、手動でのみ変更できるようにシステムを
構成することも可能である。管理者は自分の管理するシステムに定めるべきポリシーにし
たがってポリシーテーブル1400を構成する。
【0064】
図2にポリシーテーブル1400の一例を示す。本図に示すように、ポリシーテーブル
1400は、ポリシー毎に、ポリシー番号1401、デバイス名1402、接続アプリケ
ーションのアドレス1403、接続アプリケーションのネットワークインタフェースID
1404、ベンダID1405、製品ID1406、シリアル番号1407、デバイス種
別1408、排他制御1409、利用可否1410、利用可能ID1411が記録される
。もちろん、その他の項目が記録されていてもよい。
【0065】
ポリシー番号1401は、ポリシーテーブル1401に管理者によってポリシーが登録
される際、各ポリシーに自動的に付与される識別番号である。本システム上で利用可能な
機器やデバイスが増減したとき、ポリシーテーブル1400に登録されているポリシーに
従って後述するデバイス情報テーブル200のレコードが生成される。複数のポリシーに
当てはまる機器やデバイスがシステム上に増減したとき、ポリシーは、予め定められた優
先順序で適用される。
【0066】
デバイス名1402、接続アプリケーションのアドレス1403、接続アプリケーショ
ンのネットワークインタフェースID1404、ベンダID1405、製品ID1406
、シリアル番号1407、デバイス種別1408は、後述するデバイス情報テーブル20
0に記載される内容と同様で、機器もしくはデバイスの情報を示している。管理者は各々
のポリシーごとに該当するデバイス名、接続アプリケーションのアドレス、接続アプリケ
ーションのネットワークインタフェースID、ベンダID、製品ID、シリアル番号、デ
バイス種別の条件を設定する。これらの詳細は、デバイス情報テーブル200の説明にお
いて説明する。
【0067】
排他制御1409は、デバイスを利用者が利用するとき、他の利用者からの利用を禁止
するか否かを定義する値である。「必須」「可能」「不要」「不問(*)」の設定が可能
である。「不問(*)」の場合、基本的には不要と同様に扱うが、デバイスの種別、クラ
スごとに自動設定されるように構成してもよい。ここで、クラスとは、例えば、キーボー
ド、ストレージ等、同一のデバイスドライバ(クラスドライバ)にて動作するデバイス種
別のことである。
【0068】
利用可否1410は、デバイスの利用許可を行う際の認証管理サーバ101の挙動を示
すもので、「可能」「禁止」「警告」の設定が可能である。「可能」が設定されているポ
リシーは、該当する機器やデバイスを、後述する利用可能ID1411に記載されている
利用者に自動的に利用可能とするポリシーである。「禁止」が設定されているポリシーは
、該当する機器やデバイスを、後述する利用可能ID1411に記載されている利用者に
自動的に利用不可能とするポリシーである。「警告」が設定されているポリシーは、該当
する機器やデバイスを、後述する利用可能ID1411に記載されている利用者に警告表
示後に自動的に利用可能とするポリシーである。警告表示はポリシーごとに設定可能であ
る。
【0069】
なお、図中の*印は不問(定義なし)の意味であり、管理認証サーバ101は記述内容
と実際の情報とのマッチングを行う。
【0070】
例えば、図2では、ポリシー番号1401が1のポリシーは、デバイス名1402、接
続アプリケーションのアドレス1403、接続アプリケーションのネットワークインタフ
ェースID1404、シリアル番号1407、デバイス種別1408は不問のポリシーで
ある。すなわち、ベンダID1405が「1001」で、製品ID1406が「1001
」のデバイスについてのポリシーの問い合わせがあった場合、そのデバイス名、接続アプ
リケーションのアドレス、接続アプリケーションのネットワークインタフェースID、シ
リアル番号、デバイス種別に係わらず、排他制御1409は「不要」、利用可否1410
「可能」、利用可能ID1411は20000001、20000010等がデバイス情
報テーブル200に記録される。
【0071】
また、ポリシー番号1401が2のポリシーは、ベンダIDが「1105」でデバイス
種別が「B Ltd.」より始まるデバイスのみに対し、自動的に排他制御「必須」で利
用可能IDは20000011と設定されるポリシーである。
【0072】
そして、ポリシー番号1401が3のポリシーは、接続アプリケーションのアドレス1
403が192.168.1.1で接続アプリケーションのネットワークインタフェース
ID1404が「00:00:00:00:00:01」のクライアント装置に接続され
ているデバイスに対して、自動的に排他制御1409は「不問」で利用可否1410につ
いては「警告」表示をしてすべてのユーザに利用可能と設定されるポリシーである。
【0073】
また、ポリシー番号1401がnのポリシーは、すべてのデバイスについて利用が禁止
される設定のポリシーである。すなわち、ポリシーテーブル1400に未登録のデバイス
についての登録の依頼があった場合、認証管理サーバ101は、ポリシー番号1401が
nの欄を参照し、デバイス情報テーブル200に排他制御1409は「不要」、利用可否
1410は「禁止」と設定する。
【0074】
次にデバイス情報テーブル200について説明する。デバイス情報テーブル200は、
本システムに接続されている各デバイスのアクセスを管理するために必要な情報を管理す
るものである。登録される各レコードは、デバイス管理マネージャ123から、自身が管
理しているデバイスを本システム内で共有可能にする要求(以後、デバイス接続要求と呼
ぶ。)とともに送信されるデバイスを特定する各種の情報(以後、デバイス情報と呼ぶ。
)に、ポリシーテーブル1400に登録されているポリシーを加えたものに従って生成さ
れる。仮想デバイスマネージャ120は、デバイス情報テーブル200を用いて、各デバ
イスの利用の可否を制御する。
【0075】
デバイス管理マネージャ123からは、デバイスが接続された際、または、取り外され
た際、デバイス情報として、送信元のクライアント装置をネットワーク103上で特定す
る情報(本実施形態では、IPアドレスとMACアドレス)と、当該デバイスを特定する
情報(本実施形態では、ベンダIDと製品IDとシリアル番号)と、接続されたか、また
は、取り外されたかを示す情報とが少なくとも送信される。認証管理サーバ101は、ポ
リシーテーブル1400に従って、レコードを生成し、デバイス情報テーブル200に登
録する。
【0076】
また、クライアント装置自体がネットワーク103から切り離される場合、当該クライ
アント装置を特定する情報と、切り離されたことを示す情報とが認証管理サーバ101に
送信される。
【0077】
認証管理サーバ101は、例えば、デバイスが増減した時、クライアント装置が切り離
された時、システムを利用する利用者が増減したとき、ネットワークの構成が変更された
ときなどの、認証管理サーバ101が管理するシステムの構成に変更があったとき、ポリ
シーテーブル1400のレコードに変更があったとき、管理者からデバイス情報テーブル
200の更新の指示を受け付けたとき、デバイス情報テーブル200を更新する。また、
後述するように、ステータスについては、所定期間毎に更新される。
【0078】
図3は、デバイス情報テーブル200の一例を示す図である。本図に示すように、デバ
イス情報テーブル200は、デバイスID201、デバイス名202、接続アプリケーシ
ョンのアドレス203、接続アプリケーションのネットワークインタフェースID204
、ベンダID205、製品ID206、シリアル番号207、デバイス種別208、排他
制御209、ステータス210、利用可能ID211、利用ユーザID212を備える。
【0079】
デバイスID201は、管理する各デバイスを一意に識別するためのもので、新たに登
録の要求がある毎に自動的に作成される。また、認証管理サーバ101やデバイス管理マ
ネージャ123の起動や終了、デバイスの挿抜などのたびに変更される可能性のある一時
的なIDである。
【0080】
デバイス名202は、デバイスを呼び易くするための名称であり、予め管理者または利
用者が設定する。管理者が設定する場合は、ポリシーテーブル1400にデバイス名を登
録しておき、デバイス情報テーブル200のレコードを生成する際にポリシーテーブル1
400から抽出して登録される。一方、利用者が設定する場合は、デバイス情報に含めて
認証管理サーバ101に通知される。
【0081】
接続アプリケーションのアドレス203は、デバイスが接続されているクライアント装
置(デバイスA151の例ではPC−D113)のIPアドレスが記録される。これらは
、デバイス情報として通知される。このアドレスは上記クライアント装置がサブネット間
を移動するなどした場合、利用中であっても適宜変更される可能性がある。
【0082】
ネットワークインタフェースID204は、デバイスが接続されているクライアント装
置(デバイスA151の例ではPC−D113)のネットワークインタフェースのIDを
示す番号が記録される。本実施形態のようにネットワークがTCP/IPプロトコルを利
用している場合、ネットワークインタフェースIDとしてMACアドレスが使われる。ネ
ットワークインタフェースID204は、接続アプリケーションのアドレスと異なり、機
器に固有のものであり、機器が変更にならなければ変更されない。
【0083】
ベンダID205、製品ID206、シリアル番号207は、デバイス自体に予め付与
されているデバイスの識別番号で、クライアント装置(デバイスA151の例ではPC−
D113)にデバイスが接続された際、デバイス情報として取得される。これらの情報は
、デバイス情報としてクライアント装置から認証管理サーバ101に送信される。各デバ
イスは、ベンダID、製品ID、シリアル番号の組により識別される。ベンダID及び製
品IDは、ベンダ及び製品ごとに一意に付けられるIDである。また、シリアル番号は、
製品一つ一つに個別に付けられる番号である。
【0084】
デバイス種別208は、利用者の理解の為にベンダや管理者が付ける名称である。ベン
ダが付す場合は、デスクリプタのようなデバイス情報から抽出され、デバイス情報に含め
て通知される。一方、管理者が付す場合は、ポリシーデータベース1400に予め登録さ
れる。
【0085】
排他制御209は、デバイスを利用者が利用するとき、他の利用者からの利用を禁止す
るか否かを示す定義情報である。排他制御209が「必須」となっている場合、デバイス
の利用に関して排他制御がなされ、デバイスの利用開始から利用者が利用を終了するまで
、当該デバイスは他の利用者のアクセスから守られる。排他制御209が「可能」となっ
ている場合、デバイスへ情報を送受信している期間のみデバイスは他の利用者の利用から
守られる。排他制御209が「不要」となっている場合は、排他制御は行われない。本情
報は、ポリシーテーブル1400から抽出され、登録される。
【0086】
ステータス210は、デバイスの利用状況を示す情報である。本情報は、認証管理サー
バ101が所定時間毎に各接続クライアント装置にポーリングを行い、取得する。ステー
タス210が「占有中」となっている場合、利用者が排他処理をしながら当該デバイスを
利用している状態を示す。ステータス210が「利用中」となっている場合、利用者が排
他処理は行わずに当該デバイスを利用している状態を示す。ステータス210が「通信中
」となっている場合、利用者が、通信中のみ排他制御を利用し、通信が終了次第速やかに
占有状態を解消する状況を示す。ステータス210が「不明」となっている場合、例えば
、認証管理サーバ101への通知無しにデバイス管理マネージャ123が通信できなくな
った状態を示す。ステータス210が「不明」状態になった場合、一定時間を過ぎると認
証管理サーバ101は、該当するデバイス管理マネージャ123の停止と当該デバイス管
理マネージャ123がインストールされているPC−D113に接続されていたデバイス
A151を停止するよう制御する。ステータス210が「切断」となっている場合、仮想
デバイスマネージャ120は、デバイス管理マネージャ123と通信は出来ているが、デ
バイス管理マネージャ123と当該デバイスA151との間の通信が出来ない状態を示す
。また、ステータス210が「未使用」となっている場合は、どのクライアント装置も使
用していない状態を示す。
【0087】
利用可能ID211は、当該デバイスへ接続が許可される利用者もしくはグループのI
Dが記録される。本情報は、ポリシーテーブル1400から抽出される。複数の利用者も
しくはグループに当該デバイスへの接続が許可されている場合は、全ての許可されている
利用者もしくはグループのIDが登録される。利用可能ID211は、未定義、すなわち
、いずれのIDも登録されていない状態であってもよい。未定義の場合、いずれの利用者
もしくはグループも、接続が許可される。
【0088】
利用ユーザID212は、現在、当該デバイスを利用している利用者のIDが記録され
る。本情報は、認証管理サーバ101が所定時間毎に各接続機器にポーリングを行い、取
得する。
【0089】
次に、認証管理サーバ101が保持する利用者情報データベース300について説明す
る。本データベース300は、利用者がネットワーク103に接続されている情報センタ
102外の機器から、情報センタ102内の機器への接続を要求した場合、接続を要求す
る利用者が許可可能な利用者権限を保持しているか否かを判定(認証)するために利用さ
れる。本データベースは、予め管理者により登録される。
【0090】
図4は、認証管理サーバ101が保持する利用者情報データベース300の一例である
。本図に示すように、利用者情報データベース300には、利用者ID301、利用者名
302、所属グループ303、証明書304、有効期間305、証明書認証可306、暗
号ハッシュ方式307、パスワード308、パスワード認証可否309の各項目が、ユー
ザごとに登録される。
【0091】
利用者ID301は利用者を識別するためのIDであり、利用者ごとに予め付与される
。利用者の利用権利が変更されなければ通常変更はされない。利用者名302は、利用者
の名称を示す文字列である。利用者名302は、利用情報を表示する際に用いられる。所
属グループ303は、利用者の所属するグループを示す情報である。本実施形態では、各
種の利用権限はグループ単位で割り当てられるよう構成されている。所属グループ303
は、各利用者が与えられている権限に該当するグループが示される。一人の利用者が複数
のグループに所属、すなわち、所属グループ303に複数のグループが登録されていても
よい。また、所属グループは未定義であってもよい。未定義の場合、当該利用者には、い
ずれの利用権限が与えられていないこととなる。
【0092】
証明書304は、利用者の認証に用いる公開鍵証明書を特定する情報である。証明書3
04として記録されている公開鍵証明書は、その有効性が認証管理サーバにおいて検証可
能になっているものである必要がある。例えば、認証管理サーバ101内に認証局を持ち
、その認証局が発行を行うよう構成してもよい。
【0093】
有効期間305は、利用者が、ブレードサーバ106内のPCやデバイスを利用する権
利を持つ期間である。有効期間305が未定義の場合、利用者はPCを利用する権利がな
い。有効期間は年、月、日などを用いた期間の設定のほかに毎週月曜日、毎日8時45分
から17時15分といった期間の設定も可能である。有効期間305は、証明書304に
示される公開鍵証明書の有効期限とは独立に設定できる。
【0094】
証明書認証可306は、証明書認証を認めるか否かを示す情報である。暗号ハッシュ方
式307は、認める公開鍵インフラストラクチャを利用して認証する場合の暗号ハッシュ
の方式の記載である。暗号ハッシュ方式307が未定義の場合は、認証管理サーバから暗
号ハッシュの方式についての制限はない。この場合であっても、クライアント(利用者が
使用するPC等)等に実装されていない方式では認証は行えない。パスワード308は、
パスワードを利用して認証が行われる場合のパスワードである。パスワード308として
、ハッシュ値や暗号化などが施された情報が記録される。パスワード認証可否309は、
パスワードを利用して認証することが可能か不可能かを示す情報である。
【0095】
ブレードサーバ106が認証管理サーバ101に認証情報を確認して認証を得るのは、
利用者情報データベース300に基づいたパスワードや公開鍵インフラストラクチャを用
いた認証をへて、利用者がブレードサーバ106内のPCを利用可能な権限を取得した場
合である。
【0096】
本実施形態では、認証は、1)アクセスしてきた利用者が、ブレードサーバ106への
アクセスする権限を有する者であるか否か、そして、2)ブレードサーバ106内のPC
−A110が割り当てられた後、当該PC−A110の資源(プログラムや仮想デバイス
)を利用する権限を有する者であるか否か、の2段階で行われる。いずれの場合も、利用
者は利用者認証用情報を少なくとも含む認証要求をブレードサーバ106またはPC−A
110に送信し、認証要求を受け取ったブレードサーバ106またはPC−A110は、
認証管理サーバ101にアクセスし、利用者情報データベース300に登録されているレ
コードと照合し、認証を行う。ここで、利用者認証用情報とは、利用者IDおよびパスワ
ード、もしくは、利用者毎に登録された公開鍵情報に対応する署名のことを言う。
【0097】
次に、情報センタ102内の各PCの利用状況の管理に用いられるPC利用管理テーブ
ル400ついて説明する。図5は、ブレードサーバ106が保持する、PC利用管理テー
ブル400の一例である。
【0098】
PC利用管理テーブル400には、情報センタ102内の各PC毎に、PC名401、
ネットワーク名402、IPアドレス403、MACアドレス404、利用元端末405
、利用元ネットワーク名406、利用元IPアドレス407、利用元MACアドレス40
8、利用者ID409、ステータス410、接続開始時刻411、接続終了時刻412、
動作確認時刻413が登録される。
【0099】
PC名401は、情報センタ102内のPCを識別するPCの名称である。これは、管
理者が重複の無いよう予め定めて登録する。ネットワーク名402は、ネットワーク上で
PCを識別する際に利用される名称である。これは、管理者が重複の無いように予め定め
て登録する。各PCについて、ネットワーク名402とPC名401とは同じ名称が付与
されても異なる名称が付与されてもよい。
【0100】
IPアドレス403は、それぞれのPCに付与されたIPアドレスである。MACアド
レス404は、それぞれのPC上のネットワークインタフェースに一意に定められている
アドレスである。
【0101】
利用元端末405は、現時点でこの情報センタ102内のPCを遠隔操作しているクラ
イアント装置の名称である。この名称も、管理者が重複の無いよう予め定めて登録する。
管理者は名称を自由に設定、変更することができる。当該情報センタ102内のPCがク
ライアント装置によって利用されていない場合、利用元端末405は未定義となる。利用
元ネットワーク名406は、ネットワーク103上で利用元を識別する際に利用される名
称である。管理者が重複の無いよう予め定めて登録する。なお、利用元端末405および
利用元ネットワーク名とは同じ名称であってもよい。
【0102】
利用元IPアドレス407は、クライアント装置のIPアドレスである。利用元MAC
アドレス408は、クライアント装置のネットワークインタフェースに一意に定められた
アドレスである。
【0103】
利用者ID409は、クライアント装置を利用している利用者の利用者IDである。ク
ライアント装置が使用されていない場合、利用者ID409は未定義となる。
【0104】
ステータス410は、当該PCが稼動中か否かを示す情報である。ステータス410に
記録される情報には、「稼動中」、「確認中」、「待機中」の3種類がある。ステータス
410が「稼動中」であるPCは、利用者ID409に登録されているIDを有する利用
者が利用元端末405に特定されているクライアント装置を介して利用中であることを示
す。ステータス410が「確認中」である場合、認証管理サーバ101においてクライア
ント装置がPCを利用しているか否かを確認中である状態、または、確認が完了していな
い状態であることを示す。ステータス408が「待機中」であるPCは、クライアント装
置がPCの利用を待機している状態、すなわち、クライアント装置がPCを利用していな
い状態であることを示している。
【0105】
接続開始時刻411は、利用者ID409で特定される利用者が利用元端末405で特
定されるクライアント装置を介してPCの操作を開始した時刻を示す。接続終了時刻41
2は、利用者ID409で特定される利用者が利用元端末405で特定されるクライアン
ト装置を介して行うPCの操作を終了した時刻を示す。動作確認時刻413は、仮想デバ
イスマネージャ120から認証管理サーバ101に対してチャネルの生成、消滅等の発生
した際に行われた通信の最終時刻を示す。
【0106】
ブレードサーバ106は、構成する各PCの利用状況に変更がある度に、本データベー
スを更新する。
【0107】
次に、本実施形態のデバイス管理システムにおいて、デバイスを共有可能な状態に設定
し、設定後にデバイスを共有する処理(以後、デバイス共有処理と呼ぶ。)について説明
する。ここでは、利用者がクライアント装置であるPC−D113を利用して情報センタ
102内のブレードサーバ106を構成する機器のうちPC−A110を遠隔操作し、P
C−D113に接続されているデバイスA151を共有可能とする場合を例にあげて説明
する。もちろん、他の利用者端末、他のブレードサーバ106を構成する機器、他のデバ
イスであっても、デバイス共有処理の手順は同様である。
【0108】
ここでデバイス共有処理とは、下記の2つの状態において、デバイスA151を,排他
的に利用可能にする処理である。
【0109】
第1の状態は、デバイスA151がPC−D113から利用可能であるがPC−A11
0からは利用できない状態であり、第2の状態は、デバイスA151がネットワークを介
してPC−A110から利用可能であるが,PC−D110からは利用できない状態であ
る。
【0110】
第1の状態では、PC−A110上で動作するアプリケーションは、デバイスを認識で
きないが、PC−D113上で動作するアプリケーションからデバイスA151へのリク
エストは、デバイスA151に正常に送信され、デバイスA151からレスポンスが返信
される。
【0111】
第2の状態では、PC−A110上で動作するアプリケーションからデバイスA151
へのリクエストは、デバイスA151に正常に送信され、デバイスA151からレスポン
スが返信される。しかし、PC−D113上で動作するアプリケーションからデバイスA
151へのリクエストは、デバイスに送信されず、デバイス管理マネージャ123からエ
ラーを含んだレスポンスが返信される。
【0112】
システムが第1の状態で動作するか、第2の状態で動作するかは、利用者の指示により
切り替えられる。また、デバイス管理マネージャ123と仮想デバイスマネージャ120
の通信が切断された場合、デバイス管理マネージャ123は、システムが第1の状態で動
作するよう処理を行う。
【0113】
以上に説明したデバイス共有処理により、利用者はPC−A110もしくはPC−D1
13どちらかから独占的(排他的)にデバイスA151を利用することが可能である。上
記のようなリクエストを排他制御する処理を行うことにより、デバイスA151は、アプ
リケーションからのリクエストのシーケンス管理を行っている場合や、デバイスの状態遷
移の管理をデバイスドライバで行っている場合に、デバイスA151がデバイスドライバ
からの要求に誤動作を起さない。
【0114】
図6は、上記例におけるデバイス共有処理の処理フローである。
【0115】
利用者はPC−D113に起動指示を行う(501)。利用者からの起動指示を受け付
けたPC−D113は、ストレージ163からOSやアプリケーションをロードし起動す
る(502)。ここで、OSやアプリケーションは、ネットワーク上に存在するストレー
ジからロードしても良い。このとき、デバイス管理マネージャ123も起動される。
【0116】
ステップ502で起動されたデバイス管理マネージャ123は、PC−D113に接続
されているデバイスA151の情報を取得する(503)。接続されているデバイスの情
報の取得は、起動時に、ホスト(本実施形態では、PC−D113)側からの要求に応え
てデバイス側からホストにデバイス全体の情報に関するデータであるデスクリプタの情報
が送信されることにより行なわれる(504)。デスクリプタには、例えば、デバイスの
種別をあらわすコード、デバイスのクラスのコード、当該デバイスの製造ベンダのID、
製品ID、シリアル番号などが含まれる。PC−D113ではステップ503で取得した
デバイスの情報にデータに基づいてデバイスA151を駆動するデバイスドライバが読み
込まれ、動作する。デバイス管理マネージャ123は、管理するデバイス(ここでは、デ
バイスA151)のドライバもしくはフィルタドライバの機能を実現することにより、本
デバイスを本システム内で共有可能な状態とし、当該デバイスに送受信される情報を制御
する。
【0117】
デバイス管理マネージャ123は、PC−D113に接続されているデバイスA151
の動作を確認した後、デバイス接続要求とともにステップ503において取得したデバイ
スA151のデバイスの情報から抽出したデバイス情報を認証管理サーバ101に送信す
る(504)。認証管理サーバ101では、デバイス接続要求およびデバイス情報を受信
すると、ポリシーテーブル1400内のデータと照合し、デバイス接続要求のあったデバ
イスに関するポリシーをデバイス情報管理テーブル200に登録する(505)。
【0118】
一方、PC−D113の起動が完了すると、PC−D113は、起動が完了した旨をデ
ィスプレィに表示する(506)。利用者は、起動が完了したことを確認すると、情報セ
ンタ102内のブレードサーバ106を構成するPCの利用を開始するよう指示を行う。
本実施形態では、利用開始の指示は、利用者IDおよびパスワードの入力である。
【0119】
PC−D113は、利用者から利用開始の指示を受け付ける(507)と、ブレードサ
ーバ106を利用する要求(以後、サーバ利用開始要求と呼ぶ。)として、受け付けた利
用者認証用情報をブレードサーバ106に送信する(508)。
【0120】
ブレードサーバ106は、サーバ利用開始要求を受け取ると、利用者がブレードサーバ
106の適切な利用権限を持つかどうかの認証を行う(509)。具体的には、ブレード
サーバ106は、利用開始要求に含まれる利用者IDおよびパスワードを認証管理サーバ
101に送信し、認証を依頼する(510)。認証管理サーバ101では、受け取った利
用者認証用情報を利用者情報データベースと照合し、認証を行い、結果をブレードサーバ
106に返信する。ここでは、利用者がブレードサーバ106自体にアクセス権限を有す
る者であるか否かを認証する。
【0121】
ブレードサーバ106が、認証管理サーバ101から認証成功の返信を受けた場合、ブ
レードサーバ106は、アクセスしてきた利用者がブレードサーバ106の利用を許可さ
れたものと判断し、ブレードサーバ106を構成するPCの中から、当該利用者が利用す
べきPCを決定する。PCは、利用順序に応じて適切に割り当てられるか、予め利用者に
1対1などに割り付けられるか、利用者に割り当てられた何らかの権限に応じて割り付け
られるか、のいずれの形態であってもよい。いずれの形態を取るかは管理者が決定する。
ここでは、ブレードサーバ106が、アクセスしてきた利用者にPC−A110を割り当
てたものとして、説明する。他のPCを割り当てた場合も、処理は同様である。
【0122】
ブレードサーバ106は、PC−D113に割り当てるPCをPC−A110と決定す
ると、PC−A110の起動状況の確認を行う(511)。PC−A110が起動してい
ない場合、PC−A110を起動する要求をPC−A110に行う(512)。送信した
要求に従ってPC−A110が起動すると(513)、PC−A110は、起動完了を示
す情報をブレードサーバ106に通知する(514)。なお、PC−A110が既に起動
している場合、例えば、PC−A110がサーバ機能を持ち、複数人が同時に利用できる
環境であり、常時通電されている場合など、ステップ511からのPCの起動操作は不要
である。
【0123】
なお、PCの稼動状況は、PC利用管理テーブル400にアクセスし、該当するPC名
401のステータス410を確認することにより行う。起動後、割り当てたクライアント
装置を、該当するPC名401の利用元端末405として追記する。
【0124】
一方、PC−A110が起動すると、PC−A110内にインストールされている仮想
デバイスマネージャ120は、利用可能なデバイスを確認する(515)。具体的には、
仮想デバイスマネージャ120は、認証管理サーバ101に、仮想デバイスマネージャ1
20が稼動するPC(ここでは、PC−A110)が利用可能なデバイスの調査の要求(
以後、利用可能デバイス調査要求と呼ぶ。)を送信する(516)。
【0125】
利用可能デバイス調査要求を受け取った認証管理サーバ101は、デバイスの調査と確
認とを行う(517)。具体的には、利用可能デバイス調査要求を受け取った認証管理サ
ーバ101は、まず、新規デバイスが新たに登録されているか否かを確認し、既に保持し
ているデバイス情報テーブル200の更新を行う(518)。認証管理サーバ101は、
利用可能デバイス調査要求を受けて、現時点でデバイス情報テーブル200に登録されて
いる各デバイスについて、当該デバイスが接続されているそれぞれのPCまたはハブなど
のクライアント装置のデバイス管理マネージャに向けて、登録されている各デバイスが依
然として利用可能か否かの問い合わせを行う(519)。
【0126】
認証管理サーバ101から問合せを受けた各クライアント装置のデバイス管理マネージ
ャは、現時点での問合せを受けたデバイスの利用の可否を認証管理サーバ101に返信す
る(520)。なお、各デバイス管理マネージャは、利用の可否を示す情報として、当該
デバイスが既に切断されていた場合は、切断されていることを、接続されている場合は、
各デバイスの「占有中」、「利用中」、「通信中」といった現在のステータスを返信する
。認証管理サーバ101は各デバイス管理マネージャから受け取った情報を用いて、デバ
イス情報テーブル200を更新する。切断されているとの情報を受けた場合は、当該デバ
イスに関するレコードを削除する。
【0127】
そして、認証管理サーバ101は、デバイス情報テーブル200に登録されているデバ
イスを現時点での利用可能デバイスとして、問合せ元の仮想デバイスマネージャ120に
送信する(521)。
【0128】
次に、仮想デバイスマネージャ200は、デバイス情報テーブル200の情報に基づき
、デバイスを共有する処理を行う。現時点では、仮想デバイスマネージャ120は、利用
者の認証を行っていない状態なので、利用可能デバイスのチェックを行う際にデバイス情
報テーブルにおいて利用可能IDの制限のあるデバイスについては共有処理を行うことが
できない。従って、仮想デバイスマネージャ200は、デバイス情報テーブル200に登
録されているデバイスであって、利用可能ID211が未定義のデバイスを抽出し、これ
らの利用可能なデバイスとの間で、チャネルを生成するなどの通信準備を行う(522、
523)。なお、認証管理サーバ101は、仮想デバイスマネージャ120から利用可能
デバイス調査要求を受けた場合(516)、各デバイス管理マネージャ123に問い合わ
せを行わず、その時点でデバイス情報テーブル200に登録されているデバイスであって
、利用可能ID211が未定義のデバイスを抽出し、問合せ元の仮想デバイスマネージャ
120に返信するよう構成してもよい(521)。この場合、ステップ517〜520の
処理は行われない。
【0129】
なお、チャネルの生成は、仮想デバイスマネージャ120が、ステップ521で利用可
能デバイスとして受け取った各デバイスが接続されているクライアント装置が備えるデバ
イス管理マネージャとの間で、お互いのIPアドレスと認証管理サーバ101から与えら
れた情報とを元に相互認証、鍵交換を行い、暗号通信路を形成することにより行なわれる
(523)。
【0130】
相互認証の方法の一例として、認証管理サーバ101が、デバイス管理マネージャ12
3についてはデバイス情報送受信時に、また仮想デバイスマネージャ120については利
用デバイス返信時に、それぞれプリシェアードキー(事前共有鍵)を安全に送付しておき
、その事前共有鍵を元に認証を行う方式が挙げられる。相互認証の方式は特に本方法に限
らず、チャネルの生成を行っている相手が、特定のデバイス管理マネージャと仮想デバイ
スマネージャとであることが確認できれば良い。
【0131】
相互認証が終了した後、仮想デバイスマネージャ120とデバイス管理マネージャとの
間でID情報およびデータをやり取りするための暗号用の鍵が交換される。以降、ここで
交換された暗号用の鍵を用いてデバイス管理マネージャと仮想デバイスマネージャ120
とが通信を行う。このため、第三者にはID情報およびデータをやり取りする通信は盗聴
不可能になる。この暗号用の鍵は、固定値でもよいが、1回の利用ごともしくは一定の期
間で破棄され、新たな暗号用の鍵が生成されるようにしてもよい。
【0132】
本実施形態では、このように仮想デバイスマネージャ120とデバイス管理マネージャ
123との間でチャネルが生成された場合、当該デバイス管理マネージャ123が管理す
るデバイスが共有可能な状態となったと呼ぶ。このような第三者に盗聴不可能な通信路(
チャネル)により、PC−A110は、PC−A110にデバイスA151が直接接続さ
れた場合と同様に、デバイスA151を制御することができる。
【0133】
すなわち、本実施形態において、「デバイスの共有」とは、PC−A110にデバイス
A151が直接接続された時と同様にPC−A110が処理を行うことができるようPC
−A110が動作することである。例えば、PC−D113に接続されているデバイスA
151について「デバイスの共有」が実現された場合、デバイスA151からデバイス管
理マネージャ123、仮想デバイスマネージャ120を介してPC−A110がデバイス
A151内に設定されている通信方式やデスクリプタを読み出したり、リセットしたりす
ることができる。
【0134】
なお、PC−A110において、デバイスA151を過去に利用したことがない場合、
必要なデバイスドライバをインストールする。一般的には、デバイスの共有が行われた際
、PC−A110上で動作しているオペレーティングシステムが新しく追加されたデバイ
スを自動的に認識し、当該デバイスの動作に必要なデバイスドライバのインストール作業
を行う。このようなインストール作業は、PC−A110において初めて使用するデバイ
スがPC−A110と他の機器との間で共有された際に発生し、過去に使用したデバイス
であれば、既に必要なドライバがPC−A110にインストールされているため、発生し
ない。
【0135】
なお、PC−A110上で動作しているオペレーティングシステムが上記のような自動
的にデバイスを認識し、必要なデバイスドライバのインストールを行う機能を持たない場
合は、管理者または利用者が手動でデバイスドライバのインストールを行い、デバイスが
利用可能となるようPC−A110の設定を変更する。
【0136】
また、複数の利用者がデバイスA151を共有している場合、各利用者がそれぞれ独立
にリセットを指示したり、通信したりする場合がある。このような場合は、デバイス管理
マネージャ123は、リセットを受け付けないような手順に変更したり、すでにデバイス
A151より取得し、デバイス管理マネージャ123内に保存していた情報を代わりに送
信したりするよう構成する。具体的には、仮想デバイスマネージャ120からの特定の通
信に対し、予め定められた応答を行う。
【0137】
なお、ここで生成されたチャネルの情報は、認証管理サーバ101に送信され(591
)、認証管理サーバ101では、受け取った情報を用いてデバイス情報テーブル200を
更新する(592)。
【0138】
以上の処理によりPC−A110がPC−D113の利用者により利用可能となる。
【0139】
次に、利用者がPC−D113を介してPC−A110の利用を要求する。すなわち、
PC−D113は利用者からPC−A110を利用する指示を受け付けると、PC−D1
13はPCを利用する要求(以後、PC利用要求と呼ぶ、)を生成し、それをPC−A1
10に送信する(524)。このPC利用要求には、利用者を特定する情報、例えば、利
用者ID、パスワードなどが含まれる。
【0140】
PC−A110は、PC利用者要求を受け取り、ログイン処理を行う(525)。ログ
イン処理は、まず、PC−A110は、利用者要求に含まれる利用者を特定する情報を認
証管理サーバ101に送信する。認証管理サーバ101は、受け取った利用者を特定する
情報と利用者情報データベース300に格納されている情報とを対比し、利用者の認証を
行い、結果をPC−A110に返信する。なお、予め、利用者情報データベース300の
中の項目のうち、ログイン時の利用者認証に必要な項目のみPC−A110も保持し、ロ
グイン時の認証をPC−A110において行うよう構成してもよい。
【0141】
次に、仮想デバイスマネージャ120は、利用可能デバイスのチェックを行う。ここで
は、仮想デバイスマネージャ120は、ログインした利用者についての利用可能デバイス
を抽出する。利用可能デバイスを抽出する手順は、上記516で説明したものと基本的に
同様である。ログインした利用者のIDも問い合わせ時に認証管理サーバ101に送信し
、当該利用者のIDが利用可能IDとして登録されているもののみの返信を受けてもよい

【0142】
認証管理サーバ101は、上述の処理と同様に、デバイス情報テーブル200に登録さ
れているデバイス全てについて、当該デバイスが接続されているクライアント装置のデバ
イス管理マネージャに最新の情報を問い合わせ、返信を受け、デバイス情報テーブル20
0を更新した後、問合せ元の仮想デバイスマネージャ120に返信する(529〜532
)。なお、上述同様、認証管理サーバ101は、利用可能デバイス調査要求に応じ、デバ
イス情報テーブル200を参照し、現時点で当該利用者に利用可能なものとして登録され
ているデバイスを、問合せ元の仮想デバイスマネージャ120に返信するよう構成しても
よい(532)。
【0143】
初回の利用可能デバイスのチェック(516〜521)では、利用者が特定されていな
かったので、利用可能IDが限定されているデバイスについては、共有処理、すなわち、
通信路を設定することができなかった。しかし、利用者のログイン(525)以降は、利
用可能IDの中に利用者のIDもしくは利用者の所属するグループのIDが入っているデ
バイスは利用が可能になる。従って、この時点で新たに利用が可能となったデバイスとの
間で、上述と同様、通信路(チャネル)を開設する(533〜534)。
【0144】
なお、利用可能デバイスとの通信準備(533)の段階で、利用可能デバイスの一覧を
PC−A110の画面、PC−D113、または、情報センタ102内の管理者が確認可
能な画面に表示するよう構成してもよい。この場合、これらの画面には、現在共有されて
いるデバイスと、接続可能なデバイスなどのリストが表示されることとなる。仮想デバイ
スマネージャ120が保持している前回終了時刻にデバイス共有リストにあり、現在利用
可能なデバイスは利用者の指示無しにチャネルの生成を行うこと、すなわち、デバイスの
共有を行うことができる。デバイスの共有を行うことが可能なデバイスについての共有設
定を、利用者の指示無しに行うか否かは、管理者または利用者により設定できるよう構成
することが可能である。
【0145】
生成されたチャネルの情報は、認証管理サーバ101に送信される(593)。認証管
理サーバ101では、受け取ったチャネルの情報に従ってデバイス情報テーブル200を
更新する(594)。その後、PC−A110の利用が開始される(535)。
【0146】
ここで、利用可能デバイスのチェック、利用可能デバイス調査要求、デバイスの調査と
確認、デバイス利用可不可問合せ、デバイス情報取得、デバイス情報送信利用可能デバイ
ス返信(526〜534)、チャネル生成情報の送信593、およびテーブルの更新59
4は、PCの利用(535)の間中適宜繰り返し実行され、認証管理サーバ101の持つ
デバイス情報テーブルは常に最新の状態に更新され続ける。
【0147】
ここで、利用者がログインした後の仮想デバイスマネージャ120による利用可能デバ
イスのチェックは、定期的に行うことが望ましい。仮想デバイスマネージャ120は、定
期的にデバイス情報テーブル200を確認し、ステータスの変更による共有の可否の変化
を確認する。
【0148】
一方デバイス情報テーブル200は、デバイス管理マネージャ120により、デバイス
の接続状況の変化、ステータスの変化など、デバイスに関する状態の変化が発生する毎に
、変化後の状態を示す情報とともに更新するよう認証管理サーバ101に通知がなされる

【0149】
以上の処理を経て、デバイス管理マネージャ123と仮想デバイスマネージャ120と
が動作し、通信することによりデバイスA151は、PC−A110のデバイスとして動
作することが出来る。すなわち、デバイスA151について、デバイスの共有が実現する

【0150】
次に、本実施形態のデバイス管理システムにおけるデバイス共有終了時の処理について
説明する。図7は、本実施形態のデバイス共有処理終了時の処理フローである。
【0151】
本図に示す通り、利用者はPC−D113を利用してPC−A110を遠隔操作し、デ
バイスA151の利用を終了し、他の利用者にデバイスA151を解放する。
【0152】
利用者は、PC−D113に対しデバイス利用終了指示を行う(601)。PC−D1
13は、利用者よりデバイス利用終了の指示を受け取ると、仮想デバイスマネージャ12
0にデバイス利用終了の要求(以後、デバイス利用終了要求と呼ぶ。)を送信する(60
2)。仮想デバイスマネージャ120は、デバイス利用終了要求を受け取ると、利用終了
デバイスのチェックを行う(603)。具体的には、仮想デバイスマネージャ120は、
PC−A110において、デバイスの利用を終了してよいかどうか判断する。
【0153】
例えば、PC−A110上のアプリケーションや他のクライアント装置がデバイス利用
終了要求の対象デバイスを利用中である場合、利用は終了できない。この場合は、これら
のアプリケーションや他のクライアント装置がデバイス利用終了要求の対象デバイスの利
用を終了するまで終了処理を待つ。この場合、PC−D113に指示されたデバイスの終
了はできない旨を通知する。PC−D113は受け取った通知を利用者に表示などにより
通知する。
【0154】
なお、この通知は必ずしも行う必要はなく、例えば、所定時間以上待機後であっても利
用終了が行えない場合のみ通知するよう構成してもよい。もちろん、利用終了デバイスの
チェック(603)において、利用終了が可能な場合は、デバイスを特定する情報ととも
に、当該デバイスの利用を終了した旨の通知である利用終了デバイス送信を、認証管理サ
ーバ101に行う(604)。
【0155】
次に、認証管理サーバ101は、利用終了デバイス送信を受けて、デバイスの調査と確
認を行う(605)。具体的には、デバイス利用終了要求元のデバイス管理マネージャ1
23に、指示されたデバイスの利用が終了したことを示す情報であるデバイス解放情報送
信を行う(606)。
【0156】
デバイス管理マネージャ123は、デバイスの調査と確認を行う(607)。ここでは
、デバイスからの応答の有無を調べるなどの調査が行われる。応答がなければ、デバイス
情報テーブル200の該当するデバイスのステータスを「不明」とする。
【0157】
一方、デバイスから通常の応答が得られた場合は、デバイス管理マネージャ123は、
仮想デバイスマネージャ120との間に確立されていたチャネルを破棄し(608)、チ
ャネルの破棄に成功した場合、認証管理サーバ101にチャネルの破棄を終えたことを示
す情報であるチャネル破棄情報を送信する(609)。
【0158】
認証管理サーバ101は、チャネル破棄情報を受け、デバイス情報テーブル200の更
新(610)を行う。すなわち、この時点で、認証管理サーバ101は、チャネルが破棄
されたデバイスについて、デバイス情報テーブル200のステータス210を、例えば、
「占有中」、「利用中」、「通信中」などから、「未使用」に変更する。
【0159】
認証管理サーバ101、デバイス管理マネージャ123および仮想デバイスマネージャ
120は、図6および図7を用いて説明した一連の動作において送信もしくは受信したデ
ータを、それぞれログ191、173、170としてストレージ190、163、160
に記録する。
【0160】
次に、本実施形態のデバイス管理システムのデバイス共有処理におけるPC−A110
側の擬似バスドライバ1504および通信プログラム1508、PC−D113側の通信
プログラム1510およびフィルタドライバ1514の処理の詳細について説明する。
【0161】
図14は、本実施形態のデバイス共有処理の中のPC−D113起動時(図6の502
)のフィルタドライバ1514及び通信プログラム1510の処理を説明するための図で
ある。
【0162】
利用者からPC−D113の起動の指示を受け取ると、まず、デバイス管理マネージャ
123は、通信プログラム1510をPC−D113のメモリ上にロードして起動させる
(1605)。また、同様にフィルタドライバ1514を起動する(1606)。通信プ
ログラム1510は、フィルタドライバのオープン処理を行い(1607)、フィルタド
ライバ1514は、通信プログラム1510から利用可能な状態となる。次に通信プログ
ラム1510からイベント待ち要求がフィルタドライバ1514に送信され(1608)
、フィルタドライバ1514は、イベント待ち状態となる(1609)。
【0163】
イベント待ち状態においては、フィルタドライバ1514は、デバイスA151より発
せられた割り込みを通信プログラム1510に送信することが可能であり、通信プログラ
ム1510は、フィルタドライバ1514へ命令を送信することが可能である。なお、イ
ベント待ち状態において、フィルタドライバ1514がPC−D113上に保存されたデ
ータを読み込むか、GUIアプリケーション1509より入力される利用者の指示を通信
アプリケーション1510を介して受け取ることにより、デバイスA151より発せられ
た割り込みをデバイスクラスドライバ1513に送信する設定とすることが出来る。デバ
イスクラスドライバ1513に割込みを送信する設定の場合、図6の起動(502)後は
、デバイスA151をPC−D113より直接操作できる。ここで、通信プログラム15
10がフィルタドライバ1514のオープンに失敗した場合、通信プログラム1510は
、GUIアプリケーション1509にフィルタドライバ1514のオープンに失敗した旨
を通知すると共に、PC−D113内のログにエラー情報を記録し、認証管理サーバ10
1にエラーを報告する。GUIアプリケーション1509は、フィルタドライバ1514
のオープンに失敗した旨の通知を受けると、それを示す画面を図示しない表示装置に表示
させる。
【0164】
次にPC−A110の起動時(図6の513)の擬似バスドライバ1504及び通信プ
ログラム1508の処理について説明する。図15は、本実施形態のデバイス共有処理の
中のPC−A110起動時(図6の513)の擬似バスドライバ1504及び通信プログ
ラム1508の処理を説明するための図である。
【0165】
利用者からPC−A110の起動の指示を受け取ると、仮想デバイスマネージャ120
は、まず、擬似バスドライバ1504をPC−A110のメモリ上にロードして起動する
(1601)。次に、擬似バスドライバ1504は、内部にエニュメレータ1506を作
成する(1602)。次に、仮想デバイスマネージャ120は、通信プログラム1603
をPC−A110のメモリ上にロードして起動する(1603)。通信プログラム150
8は、擬似バスドライバ1504のオープン処理を行い(1604)、擬似バスドライバ
1504は、通信プログラム1508から利用可能な状態となる。ここで、通信プログラ
ム1508が擬似バスドライバ1504のオープンに失敗した場合、通信プログラム15
08は、GUIアプリケーション1507に擬似バスドライバ1504のオープンに失敗
した旨を通知すると共に、PC−A110内のログにエラー情報を記録し、認証管理サー
バ101にエラーを報告する。GUIアプリケーション1509は、フィルタドライバ1
514のオープンに失敗した旨の通知を受けると、それを示す画面を図示しない表示装置
に表示させる。
【0166】
次に、チャネル生成(図6の523および534)における擬似バスドライバ1504
、通信プログラム1508、通信プログラム1510およびフィルタドライバ1514に
てPC−A110の仮想デバイスマネージャ120とPC−D113のデバイス管理マネ
ージャ123との間にチャネルを生成する処理について説明する。図16は、本実施形態
のデバイス共有処理の中のチャネル生成時の擬似バスドライバ1504、通信プログラム
1508、通信プログラム1510およびフィルタドライバ1514の処理を説明するた
めの図である。
【0167】
チャネルの生成時は、まず通信プログラム1508が、チャネル生成要求を通信プログ
ラム1510に送信する(1611)。次に通信プログラム1510がチャネル生成要求
に対する応答を送信する(1612)。チャネル生成要求1611には、通信プログラム
1508と通信プログラム1510との間で行う暗号通信に利用される鍵を選定するため
の情報が含まれる。また、チャネル生成要求に対する応答1612には、通信プログラム
1508と通信プログラム1510との間で行う暗号通信に利用される鍵を決定するため
の情報が含まれる。
【0168】
チャネル生成要求1611及びチャネル生成要求に対する応答1612の送受信を経て
通信プログラム1508及び通信プログラム1510は、2者の通信内容を傍受されても
通信内容が露呈しないチャネル(暗号通信路)を生成し、通信を開始する。なお、チャネ
ル生成要求1611及びチャネル生成要求に対する応答1612で用いられる暗号鍵情報
として、通信プログラム1508及び通信プログラム1510で独自に生成する暗号鍵情
報、GUIアプリケーション1507及びGUIアプリケーション1509が独自に入手
する暗号鍵情報、すでにPC−A110もしくはPC−D113内に保存されている暗号
鍵情報、認証管理サーバ101などが生成する暗号鍵情報を用いてもよい。
【0169】
チャネル生成要求1611および応答1612の送受信後、通信プログラム1508は
、受信イベント待ち状態となる(1613)。また、通信プログラム1510は、フィル
タドライバ1514にフィルタ開始要求1614を送信する。フィルタ開始要求をフィル
タドライバ1514が受信した後は、フィルタ処理が開始され(1615)、フィルタド
ライバ1514は、物理バスドライバ1515を介して入出力されるデバイスA151の
データを独占的に通信プログラム1510が扱えるようにする。次に、通信プログラム1
510は、受信イベント待ち(1616)状態となる。
【0170】
ここで、フィルタドライバ1514が、フィルタ開始要求を受信し、フィルタ処理を開
始(1615)する際の、デバイスA151の初期化処理について説明する。
【0171】
フィルタ処理が開始されると、デバイスクラスドライバ1503からのリクエストが、
フィルタドライバ1514を経てデバイスA151に送信され、PC−A110よりデバ
イスA151が利用可能となる。フィルタドライバ1514がフィルタ開始要求を受信し
た際に、PC−D113がデバイスA151を利用中であると、処理の競合が生じる。こ
れを避けるため、本実施形態のデバイス管理システムにおいては、フィルタドライバ15
14がフィルタ処理を開始する際、以下に示すようにPC−D113からのリクエストの
キャンセル処理とデバイスA151の初期化処理とを行い、デバイスA151に対するP
C−A110とPC−D113とからのリクエストに競合が発生しないよう管理する。以
下に、処理の詳細を説明する。
【0172】
図22は、本実施形態のデバイス管理システムにおけるフィルタ開始時のOSおよび各
デバイスドライバの処理及び通信を説明するフロー図である。
【0173】
フィルタ開始要求1704を受け、フィルタ処理を開始する際、フィルタドライバ15
14は、デバイスA151に対する発行済みのリクエストのうち、処理が終了していない
リクエストのキャンセル処理を行うため、キャンセル要求をデバイスクラスドライバ15
13に送信する(2201)。
【0174】
全ての発行済みのリクエストのキャンセル処理が終わると、フィルタドライバ1514
は、デバイスA151が通信プログラム1510から送信されるリクエストに対して正常
に反応するように、デバイスA151の初期化を行う(2202)。
【0175】
初期化は、デバイスA151が抜き差しされたような通知をOS1702に対して送信
する、デバイスA151を一旦無効化した後に改めて有効化する命令を発行する、などの
方法により行われる。
【0176】
フィルタドライバ1514がこの初期化を行うことにより、PC−D113上では、デ
バイスA151がPC−D113から切断後に再接続された場合と同様の処理が行われる
。具体的には、OS1702からデバイスクラスドライバ1513を介してID等データ
の要求(初期化要求)がデバイスA151に送信される(2203〜2205)。デバイ
スA151はすべてのID等データの要求に対する返答をデバイスクラスドライバ151
3に対して送信する(2206〜2208)。なお、フィルタドライバ1514が初期化
要求を受け取った際、受け取った初期化要求をデバイスA151に送信せずに保持してい
るデバイスA151のID等データを要求に対する返答としてフィルタドライバ1514
からデバイスクラスドライバ1513に送信するよう構成してもよい。ここで、フィルタ
ドライバ1514が保持しているデバイスA151のID等データは、前回のプラグイン
処理時などに取得したものである。
【0177】
初期化要求の処理が終了した後、デバイスA151に対するリクエストがデバイスクラ
スドライバ1513から送信された場合(2209)、フィルタドライバ1514は、デ
バイスA151は存在しているが、処理が出来ないことを示すエラーデータをデバイスク
ラスドライバ1513に送信する(2210)。このエラーデータは、例えば、「デバイ
スA151内に適切なメディアが挿入されていない」、「デバイスA151が準備中であ
る」といったものであり、デバイスA151の製造元、種別に対応したメッセージが選択
される。
【0178】
処理2210が行われた以降は、フィルタドライバ1514は、デバイスクラスドライ
バ1513から送信されたリクエストに対して、処理できないことを示すエラーデータを
含んだレスポンスをデバイスクラスドライバ1513に返信することにより、デバイスク
ラスドライバ1513からのリクエストの遮断を行う。
【0179】
以降、システムは前述した第2の状態(デバイスA151がPC−A110から利用可
能であるが,PC−D113からは利用できない)で動作するように,制御が切り替わる
。より具体的には,PC−A110上で動作するアプリケーションからデバイスA151
へのリクエストは、デバイスA151に送信されて処理され,デバイスA151からレス
ポンスが返信されるが、PC−D113上で動作するアプリケーションからデバイスA1
51へのリクエストは、デバイスに送信されず、デバイス管理マネージャ123からエラ
ーを含んだレスポンスが返信されるようになる。
【0180】
フィルタドライバ1514がデバイスクラスドライバ1513からのリクエストの送信
に対して適切なエラーを返答できる状態になると、フィルタドライバ1514は、擬似バ
スドライバ1514に対して、デバイスA151が接続された旨を通知する。この処理は
、図17に示す1704〜1719と同様の処理である。
【0181】
以上の処理をフィルタドライバ1514が行うことにより、PC−D113からのデバ
イスA151へのリクエストと独立して、デバイスA151をPC−A110に直接接続
されているのと同様に利用者に利用させることが出来る。すなわち、物理バスドライバ1
515を介して入出力されるデバイスA151のデータを独占的に通信プログラム151
0が扱うことができるよう、制御することができる。
【0182】
なお、図6のチャネルの生成523及び534の処理では、PC−D113上の複数の
デバイスがフィルタされる場合、図6の利用可能デバイス返信521もしくは利用可能デ
バイス返信532により利用可能デバイスであると仮想デバイスマネージャ120におい
て判断されたデバイスに対応したフィルタドライバ1514だけに対してフィルタ開始の
処理が行われ、PC−A110からPC−D113に接続されたデバイスが利用可能とな
る。
【0183】
次に、図6の処理を終え、デバイスA151が共有可能となりPC−A110のデバイ
スとして動作させることができるようになった後の、デバイス管理マネージャ123と仮
想デバイスマネージャ120との間のデータの送受信制御の詳細について図8を用いて説
明する。ここでは、PC−A110およびPC−D113がネットワーク103を介して
通信を行っている状態で、PC−D113に接続されたデバイスA151を利用者がPC
−A110から利用しようとしているものとする。
【0184】
PC−D113にデバイスA151が接続されると、デバイスA151が接続されてい
るPC−D113の物理バス(本実施形態ではUSBバス)用の物理バスドライバ151
5がデバイスA151を検知し、図示しないOSに対してデバイスA151に対応したデ
バイスドライバの利用準備を行うようにメモリ上にプログラム(デバイスドライバ)をロ
ードするよう指示を出す。そして、OSは予め定められたデバイスドライバ群をロードす
る。
【0185】
通常、アプリケーション1511とデバイスA151とのデータの送受信には、上位ド
ライバ1512、デバイスクラスドライバ1513、物理バスドライバ1515が介在す
る。しかし、利用者が、デバイスA151をPC−A110より利用する場合、PC−D
113側ではデバイス管理マネージャ123の一部であるフィルタドライバ1514がメ
モリ上の適切な位置にロードされ、物理バスドライバ1515及びデバイスクラスドライ
バ1513の間に配置される。
【0186】
PC−D113が動作している間、デバイス管理マネージャ123がメモリ上にロード
されて動作している場合は、デバイス管理マネージャ123が、デバイス種別や物理バス
を適切に監視する。
【0187】
一般にPC−D113のアプリケーション1511からデバイスA151を使用する場
合、デバイス管理マネージャ123は、利用者の意図に応じて適切なデバイスクラスドラ
イバ1513と物理バスドライバ1515との通信がフィルタドライバ1514を介して
行われるように適切にデバイスクラスドライバ1513と物理バスドライバ1515とフ
ィルタドライバ1514とを動作させる。
【0188】
しかし、ここでの前提のようにPC−A110からデバイスA151を利用する場合は
、フィルタドライバ151は、物理バスドライバ1515とデバイスクラスドライバ15
13との間の直接の通信を禁止する。すなわち、通信プログラム1510と物理バスドラ
イバ1515との間のリクエスト及びレスポンスを有効とする。なお、デバイスA151
がPC−D113に接続された一連のデバイスドライバのメモリ上へのロード時にフィル
タドライバ1514をロードし、デバイスクラスドライバ1513及び物理バスドライバ
の通信をすべてフィルタドライバ1514を介して行う。ただし、利用者の指示があった
ときに手動で行うよう構成してもよいし、PC−A110上のアプリケーション1501
から指示があった際に行うよう構成してもよい。
【0189】
なお、フィルタドライバ1514が通信するデバイスクラスドライバ1513及び物理
バスドライバ1515は、それぞれ利用しようとするデバイスの種別および/またはデバ
イスが接続する物理バスが異なることにより異なる。このため、デバイスクラスドライバ
1513及び物理バスドライバ1515がメモリ上にロードされるごとに適切に変更され
る。
【0190】
一方、PC−A110内では、仮想デバイスマネージャ120が動作している。仮想デ
バイスマネージャ120は、GUIアプリケーション1507を介してデバイスA151
を利用する指示を受け付けると、仮想デバイスマネージャ120は、すでに説明したよう
にPC−A110においてデバイスA151を利用可能か調査し、利用可能であれば、P
C−A110からデバイスA151が利用可能となるように処理を進める。
【0191】
PC−D113にデバイスA151が接続され、PC−A110からデバイスA151
を利用可能な条件が整うと、すでに通信路が構築されている通信プログラム1508及び
通信プログラム1510を介してデバイスA151の情報が擬似バスドライバ1504に
送信される。メモリにロードされた擬似バスドライバ1504は内部に起動用物理デバイ
スオブジェクト1505及びエニュメレータ1506の2つのプログラムを生成し動作さ
せる。
【0192】
エニュメレータ1506は、通信プログラム1508と通信し、デバイスA151に対
応したデバイスドライバの利用準備を行うため図示しないOSに対してメモリ上に起動用
物理デバイスオブジェクト1505のロードを行うよう指示する。そしてOSは、指示に
従ってロードする。
【0193】
PC−A110上の利用者が利用するアプリケーション1501からデバイスA151
への通信が行われる場合、データは、上位ドライバ1502、デバイスクラスドライバ1
503、起動用物理デバイスオブジェクト1505、エニュメレータ1506、通信プロ
グラム1508、通信プログラム1510、フィルタドライバ1514、物理バスドライ
バ1515を経てデバイスA151に送信される。また、送信データに対する返答や割込
みは逆順で送信される。
【0194】
すなわち、デバイスクラスドライバ1503から発行されたデバイスA151に対する
リクエストは、デバイスA151に対応した起動用物理デバイスオブジェクト1505か
らエニュメレータ1506に送信され、通信プログラム1508を経て、PC−D113
に送信される。送信されたリクエストに対するレスポンスは、逆順にPC−D113から
、通信プログラム1508、エニュメレータ1506、起動用物理デバイスオブジェクト
1505を経てデバイスクラスドライバ1503に送信される。送受信の間、デバイスA
151に対するリクエストやレスポンスは、他のデバイスに対するリクエストやレスポン
スと混同しないように通信プログラム1510および通信プログラム1508によってI
Dやリクエスト番号などの制御データが付加される。最終的にデバイスA151にリクエ
ストが送信される段階もしくはデバイスクラスドライバ1503にレスポンスが戻される
段階で付加した制御データは取り除かれる。
【0195】
前述したように、デバイスクラスドライバ1503より発行されたデバイスに対するリ
クエストは、擬似バスドライバ1504から通信プログラム1508をへて通信プログラ
ム1510に送信される。また、送信されたリクエストに対するレスポンスは、逆順に通
信プログラム1510から、通信プログラム1508、擬似バスドライバ1504を経て
デバイスクラスドライバ1503に送信される。途中、デバイスに対するリクエストやレ
スポンスは、他のデバイスに対するリクエストやレスポンスと混同しないように通信プロ
グラム1510及び通信プログラム1508でIDやリクエスト番号などの制御データが
付加される。
【0196】
このとき、通信プログラム1508は、通信の内容を監視し、一部の通信に対しては、
ネットワーク103を介して通信プログラム1510にリクエストを送信することなく通
信プログラム1508自身で擬似バスドライバ1504にレスポンスをする、送信を遅ら
せる、などの対応を行うことにより通信プログラム1508と通信プログラム1510と
の間の通信量を削減する機能を持つ。
【0197】
具体的には、通信プログラム1508は、周期的に行われる生存確認等の予め返答が定
まっているリクエスト等に対する返答を予め保持し、これらのリクエストを擬似バスドラ
イバ1504から受信した場合、当該登録されている返答を自ら擬似バスドライバ150
4に返信する。このような通信量を削減する機能の設定は、GUIアプリケーション15
07またはGUIアプリケーション1509を介して利用者から指示を受け付けて行われ
る。あるいは、認証管理サーバ101を介してシステムの管理者からの指示を受け付ける

【0198】
PC−A110及びPC−D113が省電力のために休止またはサスペンド状態となる
設定が成されている場合、デバイスA151がPC−A110から利用可能になっている
状態で、休止またはサスペンド状態になることがある。このような場合、OSは、休止や
サスペンド状態になることを示す通知を通信プログラム1508、通信プログラム151
0、フィルタドライバ1514、擬似バスドライバ1504に送信する。擬似バスドライ
バ1504、フィルタドライバ1514は、休止またはサスペンド状態にならないようそ
れぞれPC−A110とPC−D113との画面上に警告を表示するようそれぞれGUI
アプリケーション1507と1509に指示を行い、OSに対してエラーを送信する。エ
ラーを受信したOSは、休止またはサスペンド状態になることを抑止する。
【0199】
利用者の設定によっては、デバイスA151がPC−A110から利用可能になってい
る状態で、PC−A110及びPC−D113が休止またはサスペンド状態になる場合、
休止またはサスペンド状態になることを示す通知をOSから受信した通信プログラム15
08、通信プログラム1510、フィルタドライバ1514、擬似バスドライバ1504
は、PC−A110およびPC−D113の画面上に警告を表示するようGUIアプリケ
ーション1507と1509に指示を行うと共に、擬似バスドライバ上のすべての起動用
物理デバイスオブジェクト1505を削除し、通信プログラム1508、1510、フィ
ルタドライバ1514、擬似バスドライバ1504相互間の通信を終了するよう処理を行
う。なお、ここで終了した通信は、PC−A110もしくはPC−D113が休止もしく
はサスペンド状態から復帰した際に、通常の再開手順で通信プログラム1508、151
0、フィルタドライバ1514、擬似バスドライバ1504によって再度開始される。
【0200】
次に、PC−A110からデバイスA151を利用する場合の、データ形式の変換につ
いて説明する。
【0201】
PC−D113上のアプリケーション1511から発生するデバイスA151へのリク
エストは、上述のように上位ドライバ1512、デバイスクラスドライバ1513、フィ
ルタドライバ1514、物理バスドライバ1515と、各種のプログラム間を介してデバ
イスA151に送信される。
【0202】
ところが、PC−A110上で動作するアプリケーション1501においてデバイスA
151へのリクエストを送受信する際、各プログラム間でやり取りするリクエストの中に
はPC−A110に固有の情報が含まれている。このPC−A110固有の情報とは、例
えば、DMA(ダイレクトメモリアクセス)転送を行うメモリやバッファのアドレス情報
等である。
【0203】
このようなPC−A110固有の情報を含むリクエストをPC−D113上で動作する
通信プログラム1510、フィルタドライバ1514、物理バスドライバ151などのプ
ログラムにそのまま送信すると、PC−D113上の各プログラムが参照不能なアドレス
へアクセスし、デバイス管理システムとしての正常な動作を行うことが出来ない。
【0204】
本実施形態のデバイス管理システムにおいては、上記問題を避けるため、各プログラム
間で、リクエストや返答などの情報を送受信する際に、データ形式の変換を行い、リクエ
ストや返答に含まれる情報が動作するPCによる依存しないよう管理する。以下に、処理
の詳細を説明する。
【0205】
図23は、擬似バスドライバ1504と通信プログラム1508との間で送受信される
データ、通信プログラム1508と通信プログラム1510との間で送受信されるデータ
、通信プログラム1510とフィルタドライバ1514との間で送受信されるデータのデ
ータ構造と、データ構造の変換処理について説明するための図である。
【0206】
擬似バスドライバ1504が扱うリクエストおよびレスポンスは、構造体2351に示
す構造体の形式を有する。構造体2351は、データA2301、データB2302、…
、データN2303及び、ポインタA2304、ポインタB2305を備える。ポインタ
A2304及びポインタB2305は、PC−A110上のメモリ2352に格納される
情報のメモリアドレス(論理アドレス)を示す。格納される情報はそれぞれ、データX2
306、データY2307である。なお、メモリ2352は、構造体2351がロードさ
れているメモリ領域、もしくは、デバイスの処理用に特別に設けられたメモリ領域、もし
くは、構造体2351がロードされているメモリとは性質の異なるデバイスバスを制御す
るコントローラドライバがCPUを介さずダイレクトにアクセス可能である等デバイスの
処理用に特別に設けられたメモリ領域である。
【0207】
一方、擬似バスドライバ1504と通信プログラム1508との間、通信プログラム1
508と通信プログラム1510との間、通信プログラム1510とフィルタドライバ1
514との間で送受信されるデータは、構造体2353に示す構造体形式を有する。構造
体2353は、データA2308、データB2309、…、データN2310、データX
2311、データY2312を備える。すなわち、PCを超えて送受信される構造体には
、ポインタの代わりに、データそのものが格納される。擬似バスドライバ1504、通信
プログラム1508、通信プログラム1510、フィルタドライバ1514は、構造体2
353の形式のデータを送受信することにより、お互いが要求するリクエストを送受信し
、リクエストに対する返答を送受信する。
【0208】
擬似バスドライバ1504は、構造体2351に格納されたリクエストをデバイスクラ
スドライバ1503から受け取る。この構造体2351に格納されたリクエストは、デバ
イスクラスドライバ1503の上位のドライバである上位ドライバ1502もしくはアプ
リケーション1501から与えられる命令によりデバイスクラスドライバ1503が生成
するものである。
【0209】
擬似バスドライバ1504は、構造体2351に格納されたリクエストを示すデータと
メモリ2352に格納されたデータとを構造体2353の形式に変換し、変換した構造体
2353の形式を有するデータを通信プログラム1508に送信する。また、擬似バスド
ライバ1504は、構造体2353の形式を有するデータを通信プログラム1508から
受信し、構造体2351の形式に変換し、デバイスクラスドライバ1503および上位ド
ライバ1502を介してアプリケーション1501に送信する。このとき、例えばデータ
X2306、データY2307といったメモリ2352に格納すべきデータは、メモリ2
352上に展開する。メモリ2352上に展開されたデータは、他のドライバやアプリケ
ーション、OS1701に利用される。
【0210】
PC−D113側では、フィルタドライバ1514が扱うリクエストおよびレスポンス
は、構造体2354に示すような構造体の形式を有する。
【0211】
構造体2354は、データA2313、データB2314、…、データN2315及び
、ポインタC2316、ポインタD2317を格納する。ポインタC2316及びポイン
タD2317は、PC−D113上のメモリ2355に格納された情報のメモリアドレス
(論理アドレス)を示し、格納された情報はそれぞれ、データX2318、データY23
19である。メモリ2355は、構造体2354がロードされているメモリかもしくは構
造体2354がロードされているメモリとは性質の異なる、デバイスバスを制御するコン
トローラドライバがCPUを介さずダイレクトにアクセス可能である等デバイスの処理用
に特別に設けられたメモリ領域である。
【0212】
フィルタドライバ1514は、通信プログラム1510から送信された構造体2353
に格納されたリクエストを構造体2354の形式に変換し、フィルタドライバ1514内
に保持する。このとき、例えばデータX2311、データY2312がメモリ2355に
格納すべきデータである場合は、メモリ2355上に展開する。メモリ2355に展開さ
れたデータは他のデバイスドライバやOS1702に利用される。フィルタドライバ15
14は、データX2318、データY2319をメモリ2355上に展開すべきか否かを
、予め決められたポリシーに従って判断する。このポリシーは利用者により、設定および
変更される。
【0213】
構造体2351、構造体2353、構造体2354、メモリ2352、および、メモリ
2355に格納されるデータは、リクエストの長さ、番号などのヘッダ情報、送信するデ
ータ本体、送信すべきデバイスの番号などの情報、送信すべきデバイスの内部のインタフ
ェースの種別や番号、送信するリクエストの性質や種類、実行中のステータス情報等の情
報である。
【0214】
擬似バスドライバ1504およびフィルタドライバ1514は、データ内に記録されて
いるメモリアドレス情報とメモリアドレスが示すデータとが擬似バスドライバ1504と
フィルタドライバ1514との間で正しく送受信されるよう、上述のように、それぞれ構
造体2351と構造体2353との間、構造体2353と構造体2354との間でデータ
構造を変換する。本変換を行うことにより、擬似バスドライバ1504およびフィルタド
ライバ1514との間で送受信するデータ内に存在するメモリアドレス情報が適切ではな
い機器上で参照されてエラーが発生することを避けることができる。
【0215】
ここで、改めて、擬似バスドライバ1504に送信されたリクエストに含まれる要求が
、擬似バスドライバ1504からデバイスA151に,どのように送信され、リクエスト
に対するレスポンスが,どのように擬似バスドライバ1504に返信されるかを説明する

【0216】
擬似バスドライバ1504に送信されたリクエストは、前述のように,PC−D113
内のメモリを参照するポインタを持たない構造体2353に変換される。変換された構造
体2353が、ネットワーク103にて利用可能なプロトコルの仕様にのっとっていない
場合は、通信プログラム1508がネットワーク103上を伝送可能な形式である第二の
リクエストに変換する。
【0217】
第二のリクエストとは、具体的には,構造体2353にネットワークプロトコルで必要
なヘッダなどを付加したものである。例えば、ネットワーク103にてTCP/IPプロ
トコルが利用可能である場合、第二のリクエストは、ヘッダ長とパケット長、識別子、フ
ラグ、生存期間、プロトコル番号、ヘッダチェックサム、始点IPアドレス、終点IPア
ドレス、オプションとデータである構造体2353を含む。
【0218】
通信プログラム1508は,この第二のリクエストを、ネットワーク103を経由して
通信プログラム1510に送信する。
【0219】
通信プログラム1510は、受信した第二のリクエストから構造体2353を取り出し
、フィルタドライバ1514に送信する。フィルタドライバ1514は、構造体2353
を前述のように構造体2354へ変換する。
【0220】
すなわち,フィルタドライバ1514は、メモリ2355にデータX2318、データ
Y2319をコピーし、書き込み先のメモリアドレスをそれぞれ、ポインタC2316及
びポインタD2317に格納する。ここで、フィルタドライバ1514は、データX23
18及びデータY2319の容量がメモリ2355に記憶可能な容量以下であるか否かを
チェックし、必要ならば容量の確保を行う。
【0221】
構造体2354の形式に変換されたリクエストは、フィルタドライバ1514により、
物理バスドライバ1515を介してデバイスA151に送信される。
【0222】
デバイスA151は、図示しないバスコントローラ及びバスを介して物理バスドライバ
1515から送信されるリクエストに対するレスポンスを物理バスドライバ1515に返
信する。フィルタドライバ1514は、物理バスドライバ1515から受け取ったレスポ
ンスがポインタC2316やポインタD2317を用いてデータX2318やデータY2
319を参照していれば,前述のようにPC−D113内のメモリを参照するポインタを
持たず,データX2318やデータY2319そのものを含む構造体2353に変換し,
変換した構造体2353を通信プログラム1510に送信する。
【0223】
通信プログラム1510は、送信された構造体2353の情報を用いて、ネットワーク
103にて利用可能なプロトコルの仕様にのっとってネットワーク103上を伝送可能な
形式の第二のレスポンスを作成する。第二のレスポンスとは、具体的には,構造体235
3にネットワークプロトコルで必要なヘッダなどを付加したものである。例えば、ネット
ワーク103にてTCP/IPプロトコルが利用可能である場合、第二のレスポンスは、
ヘッダ長とパケット長、識別子、フラグ、生存期間、プロトコル番号、ヘッダチェックサ
ム、始点IPアドレス、終点IPアドレス、オプションとデータである構造体2353を
含む。
【0224】
通信プログラム1510は,この第二のレスポンスを、ネットワーク103を経由して
通信プログラム1508に送信する。
【0225】
通信プログラム1508は、送信された第二のレスポンスから構造体2353を取り出
し、擬似バスドライバ1504に送信する。擬似バスドライバ1504は、構造体235
3を前述のように構造体2351へ変換する。
【0226】
すなわち,擬似バスドライバ1504は、メモリ2352にデータX2306、データ
Y2307をコピー(又は移動)し、書き込み先のメモリアドレスをそれぞれ、ポインタ
A2304及びポインタB2305に格納する。ここで、擬似バスドライバ1504は、
データX2306及びデータY2307のサイズがメモリ2352に記憶可能な領域の容
量以下であるか否かをチェックし、必要ならば容量の確保を行う。
【0227】
前述のように、フィルタドライバ1514による構造体2353から構造体2354へ
の変換における、メモリ2355へのデータX2318、データY2319のコピーまた
は移動と,書き込み先のメモリアドレスのポインタC2316及びポインタD2317へ
の格納は、予め決められたポリシーに従い行われる。このポリシーは、PC−D113の
メモリ上にあり、フィルタドライバ1514が受け取った第二のリクエストを、物理バス
ドライバ1515に送信する際に用いられる。
【0228】
同様に,フィルタドライバ1514による構造体2354から,メモリ2355のデー
タX2318、データY2319を含んだ構造体2353への変換も、上記ポリシーに従
い行われる。
【0229】
ポリシーは、利用者によりデバイスドライバやその他のプログラムがPC−D113に
インストールされるときや、デバイスを利用しているときなどに利用者により定められる
か、認証管理サーバ101からPC−D113に通知され、PC−D113のメモリに格
納される。
【0230】
このポリシーは、デバイスA151のようなデバイスの種別(クラス)やデバイスの製
造メーカ、デバイスの種類、デバイスの製造番号、デバイスの接続されているバスやコン
トローラの番号のいずれか1つ以上に従って、定められる。これら,デバイスの種別(ク
ラス)やデバイスの製造メーカといった情報は、デバイスがPC−D113に接続された
際にデバイスの中に保持されている識別子をPC−D113上のデバイスドライバ等のプ
ログラムが読み出し、PC−D113上のメモリに保持する。
【0231】
フィルタドライバ1514による構造体2354から構造体2353への変換における
、ポインタC2316及びポインタD2317が指し示すメモリ2355上のデータX2
318及びデータY2319の、構造体2353へのコピーまたは移動は、予め決められ
たポリシーに従い行われる。このポリシーは、PC−D113のメモリ上にある予め決め
られたもので、フィルタドライバ1514が,物理バスドライバ1515から受け取った
レスポンスを,通信プログラム1510,1508を介して擬似バスドライバ1504に
送信する際に用いられる。
【0232】
また、同様に擬似バスドライバ1504による構造体2353から構造体2351への
変換における、メモリ2352へのデータX2306、データY2307のコピーまたは
移動と,書き込み先のメモリアドレスのポインタA2304及びポインタB2305への
格納も、予め決められたポリシーに従って行われる。このポリシーは、PC−A110の
メモリ上にあり、擬似バスドライバ1504が,受け取ったレスポンスをデバイスクラス
ドライバ1503に送信する際に用いられる。
【0233】
PC−A110に格納されるポリシーは、利用者によりデバイスドライバやその他のプ
ログラムがPC−A110にインストールされるときや、デバイスを利用しているときな
どに利用者により定められるか、認証管理サーバ101からPC−A110上に送信され
,PC−A110上のメモリに格納される。
【0234】
同様に、PC−D113に格納されるポリシーは、利用者によりデバイスドライバやそ
の他のプログラムがPC−D113にインストールされるときや、デバイスを利用してい
るときなどに利用者により定められるか、認証管理サーバ101からPC−D113上に
送信され,PC−A113上のメモリに格納される。
【0235】
このポリシーは、デバイスA151のようなデバイスの種別(クラス)やデバイスの製
造メーカ、デバイスの種類、デバイスの製造番号、デバイスの接続されているバスやコン
トローラの番号に従って、定められる。これら,デバイスの種別(クラス)やデバイスの
製造メーカといったID情報は、デバイスがPC−D113に接続された際にデバイスの
中に保持されている識別子をPC−D113上のデバイスドライバ等のプログラム(例え
ば物理バスドライバ1515)が読み出し、PC−D113のメモリ上に保持すると共に
,例えばフィルタドライバ1514が、通信アプリケーション1510及び通信アプリケ
ーション1508を介して、擬似バスドライバ1504に通知する。
【0236】
デバイス管理マネージャ123は、PC−D113のメモリ上に保持されたID情報を
読み出し、ID情報に適合したポリシーを特定し,利用する。また、デバイス管理マネー
ジャ123は、読み出したID情報を,ネットワークを介して,PC−A110の仮想デ
バイスマネージャ120に送信する。仮想デバイスマネージャ120は、受信したID情
報に適合したポリシーを特定し,利用する。
【0237】
上記のように、仮想デバイスマネージャ120及びデバイス管理マネージャ123をそ
れぞれ動作させることにより、PC−D113上のアプリケーション及びPC−A110
からデバイスA151を動作させることが可能となる。
【0238】
フィルタドライバ1514は、デバイスA151がPC−D113のデバイスとして利
用されるのか、PC−A110のデバイスとして利用されるのかに応じて、通信プログラ
ム1510と物理バスドライバ1515間の通信と,デバイスクラスドライバ1513及
び物理バスドライバ1515間の通信と,の一方を遮断し,排他制御を行う。一方が利用
できるように切り替えることにより、利用者にPC−D113及びPC−A110からデ
バイスB152をあたかもPCとデバイスが接続されているように利用させる。フィルタ
ドライバ1514での通信の切り替えは、自動的、通信プログラム1510,または,通
信プログラム1510を介した通信プログラム1508からの指示で行われる。または,
これらの通信プログラムに対する、GUIアプリケーション1507、GUIアプリケー
ション1509からの指示で行われる。
【0239】
切り替えが発生した際には、アプリケーション1501及びアプリケーション1511
、上位ドライバ1502及び上位ドライバ1512、デバイスクラスドライバ1503及
びデバイスクラスドライバ1513が正常に動作するように、各デバイスドライバやアプ
リケーションの初期化がGUIアプリケーションまたは通信アプリケーションから行われ
る。例えば、デバイスA151が一度擬似的に活線挿抜されたような信号をOS、各アプ
リケーション、各デバイスドライバに送信するよう構成する。このような各デバイスドラ
イバやアプリケーションの初期化は、通信プログラム1508、通信プログラム1510
間の通信の不正が検知される、各デバイスドライバやアプリケーションの動作が不正であ
ることが検知される、などの場合に常に実行される。
【0240】
次に、図6に示したチャネルの生成(523及び534)が終了し、仮想デバイスマネ
ージャ120がデバイスA151をコントロール可能になった後に、デバイスA151を
利用する命令が仮想デバイスマネージャ120に与えられた場合の動作を説明する。図9
は、本実施形態のデバイス管理システムにおけるデバイス利用時の、デバイス管理マネー
ジャ123および仮想デバイスマネージャ120の動作を説明するフローである。ここで
は、仮想デバイスマネージャ120側からトリガがかかった場合の処理について説明する

【0241】
図6に示したチャネルの生成(523及び534)が終了し、仮想デバイスマネージャ
120がデバイスA151をコントロール可能になった後に、デバイスA151を利用す
る命令が仮想デバイスマネージャ120に与えられると(開始700)、仮想デバイスマ
ネージャ120は、デバイスA151が動作するかどうかを確認する(701)。具体的
には、仮想デバイスマネージャ120は、デバイス管理マネージャ123に所定のコマン
ドを送信し、デバイスA151のステータスの取得の可否、通信可能な状態であるか否か
を問い合わせる。または、通信経路が確保されている状態であるかを確認する。そして、
デバイス管理マネージャ123からの返信内容により判断する。
【0242】
動作していない場合、デバイスA151が不正な状態にあることを認証管理サーバ10
1に通知し、認証サーバ101および仮想デバイスマネージャ120各々がログ191、
170に記載する(702)。仮想デバイスマネージャ120は、ログ170への記載を
終えると、与えられた命令に対する処理を不正終了する(716)。この際、仮想デバイ
スマネージャ120は、不正終了を示すエラーメッセージを利用者に通知してもよい。さ
らに、不正な状態にあることの通知を受けた際、自動的にデバイスA151との通信の終
了処理を行うよう構成してもよい。また、動作確認の試行は複数回行い、複数回行ったと
しても不正な状態であるとの通知が続く場合、702に進むよう構成してもよい。
【0243】
一方、ステップ701においてデバイスA151の動作が確認された場合、仮想デバイ
スマネージャ120は認証管理サーバ101およびデバイス管理マネージャ123に必要
に応じて生存確認の為の通知を行う(703)。本処理により認証管理サーバ101およ
びデバイス管理マネージャ123はデバイスA151とのチャネルが確立していることの
確認が可能になる。
【0244】
次に、仮想デバイスマネージャ120は、デバイスA151を利用するトリガとなる指
示(例えばPC−A110から)を受けたか否かを判別する(704)。トリガとなる指
示がないと判別された場合、ステップ701に戻る。
【0245】
一方、トリガとなる指示があったと判別された場合、仮想デバイスマネージャ120に
おいて、デバイスインタフェースプロトコルにのっとったトランザクションを生成する(
705)。そして、生成されたトランザクションはネットワークプロトコルに規定された
プロトコルに変換されてデバイス管理マネージャ123に送信される(706)。
【0246】
次に、仮想デバイスマネージャ120は、デバイス管理マネージャ123にトランザク
ション(データ)が正しく到達しているか、正しく到達していない場合その回数が予め指
定した回数を超えていないかを判断する。
【0247】
具体的には、まず、仮想デバイスマネージャ120は、デバイス管理マネージャ123
にデータが正しく到達していない回数が指定回数に達しているか否かを判別する(707
)。
【0248】
指定回数に達している場合、仮想デバイスマネージャ120は、通信が不正な状態にあ
ると判断し、これを認証管理サーバ101に通知するとともに、ログ170に記録する。
通信が不正な状態にあるとの情報は、認証管理サーバ101のログ191でも記録するよ
う構成してもよい。仮想デバイスマネージャ120は、ログ170への記載が終了した後
、不正終了する(709)。仮想デバイスマネージャ120は、エラーを利用者に通知し
てもよいし、自動的にデバイスA151との通信の終了処理に入っても良い。
【0249】
一方、ステップ707において回数が指定回数に達していない場合、仮想デバイスマネ
ージャ120は、デバイス管理マネージャ123に正しくデータが届いているか否かのチ
ェックを行う(710)。具体的には、送信したデータに対するレスポンスにより、不正
と判断された場合、あるいは、所定の時刻までにレスポンスがない場合、正しく到達して
いないと判断する。そして、正しく到達していないと判断された場合、正しく到達してい
ない回数を1インクリメントし、ステップ707に戻る。
【0250】
ステップ710において正しくデータが届いている場合、仮想デバイスマネージャ12
0は、送信してないトランザクションがあるか否かを確認する(711)。そして、未送
信のトランザクションがある場合、ステップ706に戻り、処理を繰り返す。
【0251】
未送信のトランザクションがない場合、仮想デバイスマネージャ120は、受信すべき
トランザクションがあるか否かのチェックを行う(712)。これは、両者間の通信路を
設定した際に予め定められたデータ量分のデータの送信が終わったか否かにより判断する

【0252】
受信すべきトランザクションがある場合、仮想デバイスマネージャ120は、受信した
データをデバイスインタフェースプロトコルに変換する(713)。次に抽出したデータ
をデバイスドライバに送信し(714)、ステップ712へ戻る。
【0253】
一方、ステップ712において受信すべきトランザクションがない場合、仮想デバイス
マネージャ120は、処理を終了する(715)。
【0254】
なお、上記処理において、処理が不正終了した場合(ステップ716、709)、認証
管理サーバ101、デバイス管理マネージャ123および仮想デバイスマネージャ120
は、処理が不正終了した時点で、適切に利用できるデバイスを再確認し、認証管理サーバ
101内のデバイス情報管理テーブル200を更新する。すなわち、仮想デバイスドライ
バ120は、デバイスが再確認できれば、再び正常な通信を行い、チャネルの生成が可能
であれば生成し、デバイス情報テーブル200のステータスを「占有中」、「通信中」、
「利用中」とする。
【0255】
次に、図6に示したチャネルの生成(523及び534)が終了し、デバイス管理マネ
ージャ123がデバイスA151をコントロール可能になった後に、デバイスA151が
デバイス管理マネージャ123に対し、情報を送信する場合の動作を説明する。図10は
、本実施形態のデバイス管理システムにおけるデバイス利用時のデバイス管理マネージャ
123および仮想デバイスマネージャ120の動作を説明するフローである。ここでは、
デバイスA151側からトリガがかかった場合の処理について説明する。
【0256】
図6に示したチャネルの生成(523及び534)が終了し、デバイス管理マネージャ
123がデバイスA151をコントロール可能になった後に、デバイスA151がデバイ
ス管理マネージャ123へ情報を送信すると(開始800)、デバイス管理マネージャ1
23は、デバイスA151が動作するかどうかを確認する(801)。動作確認は、図9
の処理と同様である。
【0257】
動作していない場合、デバイスA151が不正な状態にあることを認証管理サーバ10
1に通知し、認証サーバ101およびデバイス管理マネージャ123各々がログ191、
173に記載する(802)。デバイス管理マネージャ123は、ログ173への記載を
終えると、不正終了する(816)。この際、デバイス管理マネージャ123は、不正終
了を示すエラーメッセージを利用者に通知してもよい。さらに、不正な状態にあることの
通知を受けた際、自動的にデバイスA151との通信の終了処理を行うように構成しても
よい。また、動作確認の試行は複数回行い、複数回行ったとしても不正な状態であるとの
通知が続く場合、802に進むよう構成してもよい。
【0258】
一方、ステップ801においてデバイスA151の動作が確認された場合、デバイス管
理マネージャ123は、認証管理サーバ101及び仮想デバイスマネージャ120に必要
に応じて生存確認の為の通知を行う(803)。本処理により認証管理サーバ101及び
仮想デバイスマネージャ120はデバイスA151とのチャネルが確立していることの確
認が可能になる。
【0259】
次に、デバイス管理マネージャ123は、デバイスA151を利用するトリガとなる指
示を(例えばPC−A110から)受けたか否かを判別する(804)。トリガとなる指
示がないと判別された場合、ステップ801に戻る。
【0260】
一方、トリガとなる指示があったと判別された場合、デバイス管理マネージャ123に
おいて、デバイスインタフェースプロトコルにのっとったトランザクションを生成する(
805)。そして、生成されたトランザクションはネットワークプロトコルで定義された
パケットに変換されて仮想デバイスマネージャ120に送信される(806)。
【0261】
次に、デバイス管理マネージャ123は、仮想デバイスマネージャ120に正しくトラ
ンザクション(データ)が到達しているか、正しく到達していない場合、その回数が予め
指定した回数を超えていないかを判断する。
【0262】
具体的には、まず、デバイス管理マネージャ123は、仮想デバイスマネージャ120
にデータが正しく到達していない回数が指定回数に達しているか否かを判別する(807
)。
【0263】
指定回数に達している場合、デバイス管理マネージャ123は、通信が不正な状態にあ
ると判断し、これを認証管理サーバに通知するとともに、ログ173に記録する。通信が
不正な状態にあるとの情報は、認証管理サーバ101のログ191でも記録するよう構成
してもよい。デバイス管理マネージャ123は、ログ173への記載が終了した後、不正
終了する(809)。デバイス管理マネージャ123は、エラーを利用者に通知してもよ
いし、自動的にデバイスA151との通信の終了処理に入っても良い。
【0264】
一方、ステップ807において回数が指定回数に達しない場合、デバイス管理マネージ
ャ123は、仮想デバイスマネージャ120に正しくデータが届いているか否かのチェッ
クを行う(810)。ここで、正しく到達していないと判断された場合、正しく到達して
いない回数を1インクリメントし、ステップ807に戻る。
【0265】
ステップ810において正しくデータが届いている場合、デバイス管理マネージャ12
3は、送信してないトランザクションが残っているか否かのチェックを行う(811)。
そして、未送信のトランザクションが残っている場合、ステップ806に戻り、処理を繰
り返す。
【0266】
未送信のトランザクションが残っていない場合、デバイス管理マネージャ123は、受
信すべきトランザクションがあるか否かのチェックを行う(812)。
【0267】
受信すべきトランザクションがある場合、デバイス管理マネージャ123は、受信した
データをデバイスインタフェースプロトコルに変換する(813)。そして、抽出したデ
ータをデバイスドライバに送信し(814)、ステップ812へ戻る。
【0268】
一方、ステップ812において受信すべきトランザクションがない場合、デバイス管理
マネージャ123は、処理を終了する(815)。
【0269】
なお、上記処理において、処理が不正終了した場合(ステップ816、809)、認証
管理サーバ101、デバイス管理マネージャ123および仮想デバイスマネージャ120
は、処理が不正終了した時点で、適切に利用できるデバイスを再確認し、認証管理サーバ
101内のデバイス情報管理テーブル200を更新する。すなわち、デバイス管理マネー
ジャ120は、デバイスが再確認できれば、再び正常な通信を行い、チャネルの生成が可
能であればチャネルを生成し、デバイス情報管理テーブル200のステータスを「占有中
」、「通信中」、「利用中」とする。
【0270】
以上の動作によって認証管理サーバ101及び仮想デバイスマネージャ120及びデバ
イス管理マネージャ123により蓄積されたログ191、170、173は、ネットワー
ク管理者により、認証管理サーバ101もしくはその他の管理機器にインストールされた
管理アプリケーションによって表示される。
【0271】
図11に管理アプリケーションにより表示されるログ管理画面の一例を示す。本図に示
した管理ログは、認証管理サーバ101、仮想デバイスマネージャ120およびデバイス
管理マネージャ123内に保存されたログ191、170、173を、認証管理サーバ1
01が収集し、自身のストレージ190もしくはメモリに蓄積したものを表示したもので
ある。
【0272】
この表示のためのアプリケーション(管理アプリケーション)は、認証管理サーバ10
1以外にあっても良い。その場合、認証管理サーバ101からの許諾を受けて表示が行わ
れる。情報センタ102およびブレードサーバ106が複数存在する構成では、管理アプ
リケーションは、認証管理サーバ101以外の認証管理サーバとその管理するアプリケー
ションとからログを収集し、集めたログを合わせたものを表示しても良い。
【0273】
デバイス管理画面1000は、管理アプリケーションが表示するデバイスの管理を行う
ための画面である。デバイス管理画面1000には、蓄積された各ログ191、170、
173の、番号1001、時刻1002、デバイスID1003、デバイス名1004、
アドレス(ソース)1005、ネットワークインタフェースID(ソース)1006、ア
プリケーションID1007、アドレス(ホスト)1008、ネットワークインタフェー
スID(ホスト)1009、アプリケーションID1010、ベンダID1011、製品
ID1012、シリアル番号1013、デバイス名1014、利用ユーザID1015、
情報1016、備考1017の各項目が表示される。
【0274】
番号1001は、ログを管理するための番号であり、ログが蓄積される毎に自動的に付
与される。時刻1002は、ログが記録された日時である。情報1016は、ログ170
、173、191にログとして記録されたイベントの内容が詳細に表示される。
【0275】
アドレス(ソース)1005、アドレス(ホスト)1008は、ソース及びホスト(デ
ィスティネーション)のアドレスを示す。ネットワークインタフェースID(ソース)1
006及びネットワークインタフェースID(ホスト)1009は、ソース及びホスト(
ディスティネーション)のネットワークインタフェースIDを示す。備考1017には、
情報1016にて表示しきれない情報、例えば、管理者に注意を促す情報、情報1016
を補足する情報が表示される。
【0276】
その他の項目は図2〜4を用いて説明したデバイス情報テーブル200、利用者情報デ
ータベース300、PC利用管理テーブル400の同名の項目と同じものである。
【0277】
また、認証管理サーバ101は、デバイス管理画面1000に表示される各情報を検索
する機能を持った管理アプリケーションを搭載している。デバイス管理画面1000に示
す情報を管理アプリケーションが表示することにより、どの機器やデバイスがどのような
状態であるのかを瞬時に把握することができ、システム全体の利便性が向上する。例えば
、不正な認証が起こった場合の情報のみを検索して表示し、監視することにより、不正ア
クセスを発見し、その対策を講じることができる。また、適切にデバイスを利用できない
場合の情報のみを検索して表示し、監視することにより、システム内で発生しているトラ
ブルを早期発見し、対応することができる。さらに、管理アプリケーションによりログ全
体を一覧することと比較して表示を見やすくすることにより、管理者のオペレーションミ
スを減らすことができる。これらにより、システム全体のセキュリティが向上するという
効果が得られる。
【0278】
また、認証管理サーバ101が収集したログ191、170、173は、収集時に認証
管理サーバ101とは別のサーバにコピーされ、改ざん防止の措置が行われる。この改ざ
ん防止措置の行われたログは、企業内で情報漏えい等の不正が起こった際に、情報がどこ
でどのように不正に処理されたり、持ち出されたかなどの検証に用いることが出来る。こ
の際、改ざん防止措置の行われたログの変更権限を認証管理サーバ等の機器及びシステム
管理者に与えないことが必要となる。
【0279】
次に、図6に示したチャネルの生成(523及び534)が終了した後に、利用者によ
ってPC−A110から利用可能な新たなデバイス(以後、デバイスA151aと呼ぶ。
)がPC−D113に接続された際のプラグイン処理について説明する。図17は、本実
施形態のデバイス管理システムにおける新たなデバイスA151aがPC−D113に接
続された際の動作を説明するフローである。
【0280】
新たなデバイスA151aがPC−D113に接続(プラグイン)されると、PC−D
113上のOS1702がプラグインを検知し、フィルタドライバ1514にプラグイン
通知を行う(1703)。フィルタドライバ1514、通信プログラム1510、通信プ
ログラム1508は、それぞれ通信プログラム1510、通信プログラム1508、擬似
バスドライバ1504にプラグイン通知を順に送信する(1704〜1706)。
【0281】
ここで、仮想デバイスマネージャ120は、新しいデバイスA151aを利用者が利用
可能であるか否かの判断を行い、利用可能である場合、擬似バスドライバ1504内に起
動用物理デバイスオブジェクト1505を生成する(1707)。上述したように、起動
用物理デバイスオブジェクト1505は仮想デバイスマネージャ120内に複数作成する
ことが可能で、原則として個々のデバイスに対応して作成される。
【0282】
擬似バスドライバ1504は、通信プログラム1508にイベント待ち要求を返信し(
1708)、通信プログラム1508は、イベント待ち状態となる。
【0283】
擬似バスドライバ1504は、PC−A110のOS1701に対し、デバイス接続の
有効無効確認を要求する(1709)。OS1701は、デバイス接続の有効無効確認の
ため、擬似バスドライバ1504及びその他のバスドライバに対し、オブジェクトのポイ
ンタ要求を行う(1710)。擬似バスドライバ1504及びその他のバスドライバは、
自身の管理するドライバに対応する起動用物理デバイスオブジェクト1505やエニュメ
レータ1506等のオブジェクトポインタをOS1701に送信する(1711)。次に
OS1701は、存在確認の完了したデバイスA151aのデバイス名の要求を行う(1
712)。これに応答して擬似バスドライバ1504及びその他のバスドライバは、自身
の管理するデバイスA151aのデバイス名をOS1701に送信する(1713)。次
にOS1701は、存在確認の完了したデバイスA151aのIDの要求を行う(171
4)。これに応答して擬似バスドライバ1504及びその他のバスドライバは、自身の管
理するデバイスA151aのデバイスIDやデバイスの製造元IDや製品IDなどのID
情報をOS1701に送信する(1715)。以上の処理が正常に完了した際に、OS1
701は、擬似バスドライバ1504にデバイスA151aの利用開始を許可する(17
16)。また、ここで返信するデバイス、ID等のデスクリプタは、フィルタドライバ1
514が、デバイスA151aから受け取った情報でありプラグイン通知(1704〜1
706)により擬似バスドライバ1504に送信されている。
【0284】
1710〜1715のデバイス情報の取得処理(プラグイン処理)が正常に行われない
場合は、OS1701は、利用者に対し、デバイスA151aが正常に利用できない旨を
グラフイカルユーザインターフェース(GUI)アプリケーション1501等を通じて利
用者に示すとともに、PC−A110内や認証管理サーバ101のログに記録する。次に
、擬似バスドライバ1504及び通信プログラム1508は、それぞれ通信プログラム1
510及びフィルタドライバ1514にプラグイン完了通知を行う(1717、1718
)。通信プログラム1510は、イベント待ち要求をフィルタドライバ1514に送信す
る(1719)。
【0285】
以上の処理により、新しくPC−D113に接続されたデバイスがPC−A110より
利用が可能となる。
【0286】
次に、図6に示したチャネルの生成(523及び534)が終了した後に、PC−A1
10から利用可能であったデバイスA151が利用者によりPC−D113から切断もし
くは利用不能状態とされた際のプラグアウト処理について説明する。図18は、本実施形
態のデバイス管理システムにおいて、デバイスA151がPC−D113から切断もしく
は利用不能状態(プラグアウト)にされた際の動作を説明するフローである。
【0287】
デバイスA151がPC−D113からプラグアウトされると、PC−D113上のO
S1702がプラグアウトを検知し、フィルタドライバ1514にプラグアウト通知を行
う(1801)。フィルタドライバ1514及び通信プログラム1510及び通信プログ
ラム1508は、それぞれ通信プログラム1510、通信プログラム1508、擬似バス
ドライバ1504にプラグアウト通知を順に送信する(1802〜1804)。
【0288】
ここで、仮想デバイスマネージャ120は、デバイスA151を利用中のアプリケーシ
ョン等がないかなど、デバイスA151のプラグアウトの可否の判断を行う。
【0289】
プラグアウト可能である場合、擬似バスドライバ1504は、以下に述べる起動用物理
デバイスオブジェクト1505を消滅させるための手続きを行う。
【0290】
まず、擬似バスドライバ1504は、通信プログラム1508にイベント待ち要求を送
信する(1805)と共に、OS1701にデバイス接続の無効確認を要求する(180
6)。
【0291】
OS1701は、デバイス接続の無効確認のため、擬似バスドライバ1504及びその
他のバスドライバに対し、オブジェクトのポインタ要求を行う(1807)。擬似バスド
ライバ1504及びその他のバスドライバは、自身の管理するドライバに対応する起動用
物理デバイスオブジェクト1505やエニュメレータ1506等のオブジェクトポインタ
をOS1701に送信する。ここで、擬似バスドライバ1504は、デバイスA151に
対応するオブジェクトポインタが無効である旨を送信する(1808)。
【0292】
以上の処理が正常に完了した際に、OS1701は、擬似バスドライバ1504にデバ
イスの終了を許可する(1809)。処理が正常に完了しない場合は、デバイスの終了が
認められない。1806〜1808の手続きが正常に行われない場合は、擬似バスドライ
バ1504は、利用者に対し、デバイスA151が正常にプラグアウトできない旨を通信
プログラム1508を介しGUIアプリケーション1507に表示するよう指示し、利用
者に示すとともに、PC−A110内や認証管理サーバ101のログに記録する。
【0293】
次に、擬似バスドライバ1504及び通信プログラム1508は、それぞれ通信プログ
ラム1510及びフィルタドライバ1514にプラグアウト完了通知を行う(1811、
1812)。この時点でデバイスA151用に生成した起動用物理デバイスオブジェクト
1505は消滅する(1810)。通信プログラム1510は、イベント待ち要求をフィ
ルタドライバ1514に送信し(1813)、以上の処理により、デバイスA151がP
C−D113からプラグアウトされる。
【0294】
なお、1804後のプラグアウトの可否の判断において、プラグアウト不可(利用中)
と判断された場合、プラグアウト完了通知の替わりにプラグアウト不可通知が同様に擬似
バスドライバ1504から通信プログラム1508、通信プログラム1510を介してフ
ィルタドライバ1514に送信される。
【0295】
図17及び図18を用いて説明した新しいデバイスのプラグイン及びプラグアウト時に
は、新規のフィルタドライバ1514のインストールやアンインストールは行われていな
い。このため、PC−D113が利用者に対してデバイスドライバのインストール権限を
与えないシステムである場合、PC−D113のOSがシンクライアント用の限定的なも
のである場合などであっても、利用者は新しくプラグインされたデバイスをPC−A11
0から容易に利用することができるとともに、安全に取り外し(プラグアウト)すること
が出来る。
【0296】
次に、以上のように説明したプラグインの処理中やプラグイン後にデバイスを利用して
いる間に、デバイスドライバにおいて通信エラーなどが発生した場合や、利用者が、デバ
イスをプラグアウトした場合のシステムの動作を、図26を用いて説明する。
【0297】
図26は、デバイス管理マネージャ123にて管理されている、デバイスA151の利
用状態の状態遷移図である。デバイス管理マネージャ123は,デバイスA151の状態
を以下の3状態のいずれかとして管理する。すなわち,
「PC−A110から制御可であり、PC−D113へはエラー応答を返し、PC−A1
10へ接続可能」である状態2601と、
「PC−A110では検知できない状態であり、PC−D113から制御可であり、PC
−A110へ接続可能」である状態2602と、
「PC−A110では検知できない状態であり、PC−D113から制御可であり、PC
−A110へ接続不可」である状態2603,である。
【0298】
デバイスA151がPC−D113に接続された直後は、デバイスA151は、状態2
602であるとデバイス管理マネージャ123内に記録される。この状態2602では、
デバイスA151は、PC−D113上のアプリケーション等から利用が可能である。
【0299】
この状態2602で、図17を用いて説明したプラグイン動作が完了し、プラグイン完
了通知1718をデバイス管理マネージャ123が受信した後、デバイスA151は、状
態2601に遷移(2611)したとデバイス管理マネージャ123は認識し,記録する
。この状態2601では、デバイスA151は、PC−A110上のアプリケーション等
から制御が可能な状態になっている。また、PC−D113上のアプリケーション等から
送信されるデバイスA151へのリクエストは、フィルタドライバ1514からエラーを
含むリクエストが返されるなどするため、デバイスA151へ到達せず,結果的に,PC
−D113からは制御できない状態になっている。
【0300】
状態2601から、図18を用いて説明したプラグアウト処理が行われると、デバイス
A151の状態は、状態2602へ遷移(2612)し、遷移した状態は,デバイス管理
マネージャ123が認識し,記録する。
【0301】
デバイスA151の状態が状態2601であって、仮想デバイスマネージャ120内で
エラーが検知されるか、利用者の指示により、図18を用いて説明したデバイスA151
のプラグアウト処理が行われた場合、デバイスA151の状態は、状態2603へ遷移(
2613)する。
【0302】
状態2603は、プラグアウトされたデバイスA151を一旦PC−A110に再接続
できない状態にするために設けている。この状態2603に遷移することにより、仮想デ
バイスマネージャ120内でデバイスA151に関するエラーが検知されて,または、デ
バイスA151が利用者の指示により,デバイスA151がプラグアウトされた場合に、
デバイス管理マネージャ123がデバイスA151をプラグインし、再び同じエラーが起
こるのを防ぐことが可能になる。
【0303】
状態2603は、デバイスA151を物理的にデバイスバスから切り離した後、再度物
理的にデバイスバスに接続することにより状態2602に遷移(2614)する。利用者
は、一度デバイス管理マネージャ123にて状態2603であると記憶されているデバイ
スを再びPC−A120上のアプリケーション等から利用するためには、物理的にデバイ
スバスから切り離す必要がある。
【0304】
次に、PC−D113またはPC−A110の電源が切断、もしくは休止状態もしくは
サスペンド状態(省電力状態)への移行が起こった場合のシステムの動作について図24
及び図25を用いて説明する。
【0305】
図24は、PC−D113にて電源が切断されたか、もしくは休止状態もしくはサスペ
ンド状態への移行が起こった場合のシーケンス図である。PC−D113のOSから電源
の切断もしくは休止状態もしくはサスペンド状態への移行がデバイス管理マネージャ12
3に指示される(2401)と、デバイス管理マネージャ123は、認証管理サーバ10
1及び仮想デバイスマネージャ120に切断要求を送信する(2402,2403)。
【0306】
切断要求2402を受信した認証管理サーバ101は、テーブルの更新(601)を行
い、システム内で接続されているデバイスと例えばPC−A110やPC−D113のよ
うな機器との関係を示すテーブルの更新を行う。
【0307】
切断要求2403を受信した仮想デバイスマネージャ120は、仮想デバイスマネージ
ャ120内で処理している、PC−D113に接続されているデバイスに関連する処理中
のリクエストを完了する(2407)。完了の方法は、デバイスの種別に依存するが、例
えば、リクエストに対して,タイムアウトが発生したなどのエラー情報を含んだ返答を送
信する。次に仮想デバイスマネージャ120は、PC−D113に接続されているデバイ
スに関連するデバイスドライバの無効化を行う(2408)。次に、仮想デバイスマネー
ジャ120は、デバイス管理マネージャ123との間に構築した通信チャネルの破棄(セ
ッションの切断)を行う(2409)。
【0308】
通信チャネルの破棄(セッションの切断)(2409)と処理中リクエストの完了(2
407)やドライバの無効化(2408)を行う順序は、デバイスドライバがデバイス管
理マネージャ123との通信が途絶えていることによって、ハングアップする可能性を極
力低めるために、先に処理中リクエストの完了(2407)やドライバの無効化(240
8)の処理を行い、その後にタイムアウトが起きてしまっている通信チャネルの破棄(セ
ッションの切断)を行うことが望ましい。 切断要求を送信したデバイス管理マネージャ
123は、全てのデバイスのプラグアウト処理を行い(2404)、プラグアウトに成功
したデバイスのデバイスドライバは、PC−D113のメモリ上からアンロードされる(
2405)。次にデバイス管理マネージャ123は、仮想デバイスマネージャ120との
間に構築した全ての通信チャネルの破棄(セッションの切断)を行う(2406)。
【0309】
通信チャネルの破棄(セッションの切断)(2406)とデバイスのプラグアウト処理
(2404)や再有効化(2405)を行う順序は、デバイスドライバやデバイスA15
1上で動作しているファームウェアが仮想デバイスマネージャ120との通信が途絶えて
いることによって、ハングアップする可能性を極力低めるために、先にデバイスのプラグ
アウト処理(2404)や再有効化(2405)の処理を行い、その後にタイムアウトが
起きてしまっている通信チャネルの破棄(セッションの切断)(2406)を行うことが
望ましい。
【0310】
図25は、PC−A110にて電源の切断処理が開始されたか、もしくは休止状態もし
くはサスペンド状態への移行が起こった場合のシーケンス図である。PC−A110のO
Sから電源の切断処理開始もしくは休止状態もしくはサスペンド状態への移行が仮想デバ
イスマネージャ120に指示される(2501)と、仮想デバイスマネージャ120は、
認証管理サーバ101及びデバイス管理マネージャ123に切断要求を送信する(250
2,2503)。
【0311】
切断要求2502を受信した認証管理サーバ101は、テーブルの更新(601)を行
い、システム内で接続されているデバイスと例えばPC−A110やPC−D113のよ
うな機器との関係を示すテーブルの更新を行う。
【0312】
切断要求2503を受信したデバイス管理マネージャ123は、PC−A110に関連
する全てのデバイスのプラグアウト処理を行い(2504)、プラグアウトに成功したデ
バイスのデバイスドライバは、再度有効化される(2505)。この再有効化処理250
5の中で、デバイスA151には再起動用の信号が送信される。このため再有効化処理2
505の後には、処理2210に示したデバイスクラスドライバ1513からのリクエス
トの遮断が解除され、デバイスA151は、PC−D113上のアプリケーションから利
用可能となる。
【0313】
次にデバイス管理マネージャ123は、仮想デバイスマネージャ120との間に構築し
た通信チャネルの破棄(セッションの切断)を行う(2406)。
【0314】
通信チャネルの破棄(セッションの切断)(2406)とデバイスのプラグアウト処理
(2504)や再有効化(2505)を行う順序は、デバイスドライバやデバイスA15
1上で動作しているファームウェアが仮想デバイスマネージャ120との通信が途絶えて
いることによって、ハングアップする可能性を極力低めるために、先にデバイスのプラグ
アウト処理(2504)や再有効化(2505)の処理を行い、後にタイムアウトが起き
てしまっている通信チャネルの破棄(セッションの切断)(2406)を行うことが望ま
しい。
【0315】
無効化したデバイスドライバを再度有効化する処理2505を行う理由を説明する。デ
バイスA151のような周辺機器は、電源投入後から、接続されているPC−D113の
OSとデバイスドライバの指示により動作する。デバイスドライバがデバイスに送信する
リクエストは、一般的にリクエストの順番が管理されている。よって、リクエストの遮断
を解除する際、デバイスとデバイスドライバの無効化と再有効化を行うことにより、デバ
イスの状態を初期化し、新たにデバイスをPC−D113上のアプリケーションから利用
可能となる。
【0316】
切断要求を送信した仮想デバイスマネージャ120は、仮想デバイスマネージャ120
内で処理している全てのデバイスに関連する処理中のリクエストを完了する(2507)
。完了の方法は、デバイスの種別に依存するが、例えば、タイムアウトが発生したなどの
エラー情報を含んだリクエストに対するレスポンスを送信する。次に仮想デバイスマネー
ジャ120は、PC−D113に接続されているデバイスに関連するデバイスドライバの
無効化を行う(2508)。次に、仮想デバイスマネージャ120は、デバイス管理マネ
ージャ123との間に構築した全ての通信チャネルの破棄(セッションの切断)を行う(
2409)。
【0317】
通信チャネルの破棄(セッションの切断)(2409)と処理中リクエストの完了(2
507)やドライバの無効化(2508)を行う順序は、デバイスドライバがデバイス管
理マネージャ123との通信が途絶えていることによって、ハングアップする可能性を極
力低めるために、先に処理中リクエストの完了(2507)やドライバの無効化(250
8)の処理を行い、その後に通信チャネルの破棄(セッションの切断)(2409)を行
うことが望ましい。
【0318】
ここで、認証管理サーバ101への切断要求の送信を行う手順2402及び2502は
必須ではなく、PC−D113に接続されたデバイスが図18を用いて説明した状態遷移
の中で、どの状態になっているかを仮想デバイスマネージャ120及びデバイス管理マネ
ージャ123が共有できていればよい。
【0319】
次に、仮想デバイスマネージャ120もしくは、デバイス管理マネージャ123におい
て、通信のタイムアウトが検出され、仮想デバイスマネージャ120もしくは、デバイス
管理マネージャ123が構築した通信チャネルを破棄(セッションを切断)する場合のシ
ステムの動作について図26、図27を用いて説明する。
【0320】
図27は、PC−D113において、デバイス管理マネージャ123が,予め定められ
た時間,仮想デバイスマネージャ120との通信を確認できず、タイムアウトと判断した
場合のシーケンス図である。
【0321】
デバイス管理マネージャ123が、タイムアウトを検出する(2701)と、デバイス
管理マネージャ123は、認証管理サーバ101にタイムアウトを検知したという検知結
果を送信する(2702)。検知結果を受信した認証管理サーバ101は、テーブルの更
新(610)を行い、システム内で接続されているデバイスと例えばPC−A110やP
C−D113のような機器との関係を示すテーブルの更新を行う。
【0322】
タイムアウトを検知したデバイス管理マネージャ123は、仮想デバイスマネージャ1
20に関連するPC−D113上のデバイスのプラグアウト処理を行い(2504)、プ
ラグアウトに成功したデバイスのデバイスドライバ,すなわち,上位ドライバ1512,
デバイスクラスドライバ1513,フィルタドライバ1514を、再度有効化する(25
05)。
【0323】
この再有効化処理2505の中で、フィルタドライバ1514は,デバイスA151に
再起動用の信号を送信し,また,2210に示したデバイスクラスドライバ1513から
のリクエストの遮断を解除する。これらの処理により、デバイスA151は、PC−D1
13上のアプリケーションから利用可能となる。
【0324】
次にデバイス管理マネージャ123は、仮想デバイスマネージャ120との間に構築し
た通信チャネルの破棄(セッションの切断)を行う(2406)。
【0325】
通信チャネルの破棄(セッションの切断)(2406)とデバイスのプラグアウト処理
(2504)や再有効化(2505)を行う順序は、デバイスドライバやデバイスA15
1上で動作しているファームウェアが仮想デバイスマネージャ120との通信が途絶えて
いることによって、ハングアップする可能性を極力低めるために、先にデバイスのプラグ
アウト処理(2504)や再有効化(2505)の処理を行い、その後にタイムアウトが
起きてしまっている通信チャネルの破棄(セッションの切断)(2406)を行うことが
望ましい。
【0326】
図28は、PC−A110において、仮想デバイスマネージャ120が,予め定められ
た時間,デバイス管理マネージャ123との通信を確認できず、タイムアウトと判断した
場合のシーケンス図である。仮想デバイスマネージャ120が、タイムアウトを検出する
(2801)と、仮想デバイスマネージャ120は、認証管理サーバ101にタイムアウ
トを検知したという検知結果を送信する(2802)。検知結果を受信した認証管理サー
バ101は、テーブルの更新(610)を行い、システム内で接続されているデバイスと
例えばPC−A110やPC−D113のような機器との関係を示すテーブルの更新を行
う。
【0327】
タイムアウトを検知した仮想デバイスマネージャ120は、PC−D113上のデバイ
ス管理マネージャ123に関連するデバイスに対して行っている処理中のリクエストを処
理する(2407)。処理の方法は、デバイスの種別に依存するが、例えば、タイムアウ
トが発生したなどのエラー情報を含んだ,リクエストに対する返答を送信する。 次に仮
想デバイスマネージャ120は、PC−D113に接続されているデバイスに関連するデ
バイスドライバの無効化を行う(2408)。次に、仮想デバイスマネージャ120は、
デバイス管理マネージャ123との間に構築した通信チャネルの破棄(セッションの切断
)を行う(2409)。
【0328】
通信チャネルの破棄(セッションの切断)(2409)と処理中リクエストの完了(2
407)やドライバの無効化(2408)を行う順序は、デバイスドライバがデバイス管
理マネージャ123との通信が途絶えていることによって、ハングアップする可能性を極
力低めるために、先に処理中リクエストの完了(2407)やドライバの無効化(240
8)の処理を行い、その後にタイムアウトが起きてしまっている通信チャネルの破棄(セ
ッションの切断)(2409)を行うことが望ましい。
【0329】
ここで、認証管理サーバ101への検知結果の送信を行う手順2702及び2802は
必須ではない。PC−D113に接続されたデバイスが図18を用いて説明した状態遷移
の中で、どの状態になっているかを仮想デバイスマネージャ120もしくはデバイス管理
マネージャ123が検知していれば良い。
【0330】
仮想デバイスマネージャ120とデバイス管理マネージャ123の通信が復旧した場合
、PC−D113に接続されたデバイスの状態を仮想デバイスマネージャ120とデバイ
ス管理マネージャ123の間で共有し、共有した結果は、認証管理サーバ101へ送信さ
れる。 次に、仮想デバイスマネージャ120が生成し表示させるデバイス管理画面の詳
細について説明する。図12は、仮想デバイスマネージャ120のデバイス管理画面の一
例である。
【0331】
本図に示すように、デバイス管理画面900は、認証管理サーバ表示部901と、接続
PCハブ表示部902、905、908、911と、デバイス表示部903、906、9
09、912と、接続切断指示部904、907、910、913とを備える。
【0332】
仮想デバイスマネージャ120は、起動されると予め指定されている認証管理サーバ1
01に、利用可能なデバイス情報を取得するよう要求を送る。
【0333】
認証管理サーバ101において、利用者の認証に成功した後、デバイス管理マネージャ
123からデバイス管理情報が仮想デバイスマネージャ120に送付される。受け取った
デバイス管理情報に従って、仮想デバイスマネージャ120は、利用可能なデバイスの情
報などを管理する。
【0334】
図12において認証管理サーバ表示部901には、仮想デバイスマネージャ120が通
信している認証管理サーバ101が表示される。図12に示す例では仮想デバイスマネー
ジャ120が認証管理サーバ101と通信に成功している様子が表示されている。ここで
、192.168.0.1と表示されているのは、認証管理サーバ101のアドレスであ
る。
【0335】
ステータス920には、認証管理サーバ101のステータスが表示される。ここでは、
ステータスとして利用可能ユーザIDは何か、利用者名は何かなどが表示されている。図
12の例ではユーザAが認証されている様子が表示されている。
【0336】
接続PCハブ表示部902、905、908、911は、接続されているPC、ハブの
情報が表示される。また、利用者が現在使用中のデバイスが色分けされ表示されている。
【0337】
デバイス表示部903、906、909、912には、デバイスの名称やステータス、
利用者IDなどの情報が表示され、利用者がどのデバイスを使用可能なのかといった情報
が分かり易く表示される。
【0338】
接続切断指示部904、907、910、913には、デバイスの利用や専有化、利用
停止、予約など、利用者が指示を与えることの出来る選択肢を表示させる。仮想デバイス
マネージャ120は、予約ボタンの押下を受け付けることにより、現在他者が利用中のデ
バイスの利用予約を行う。そして、デバイスが利用可能となった場合、認証管理サーバ1
01もしくはデバイス管理マネージャ123に利用可能となった旨の通知を行う。通知を
受けたデバイス管理マネージャ123は、利用者に利用可能となった旨の通知を行う。図
12の例では、利用者が利用できるデバイスはハッチングで示され、また利用者が行うこ
とが可能な操作は太字のボタンで示され、操作しやすくなるように配慮されている。
【0339】
以上、PC−D113を用いてブレードサーバ106内のPC−A110を利用するサ
ーバクライアント方式について説明を行った。
【0340】
すでに説明した例と同様にネットワーク103及びインターネット104に接続された
クライアント装置から、ブレードサーバ106内のいずれかのPCを利用し、また、デバ
イスA151〜デバイスZ155を使うことが可能である。
【0341】
ここで、ハブ116は、PCとしての機能は持たないが、内部に管理マネージャ126
およびストレージ176を持つ組み込み機器である。PC−E114のようにデバイスを
接続していないPCを利用する場合も、PC−D113の例と同様に他のPC等に接続さ
れているデバイスを使用することが可能である。また、ハブ116のように複数台のデバ
イスを接続していても同様である。
【0342】
さらに、インターネット104及びファイヤウォール105を介したPC−Z117を
利用してネットワーク103上のPCやデバイスを利用する場合も、基本的に同様である
。ただし、この場合、PC−Z117は、インターネット104上の通信を暗号化する暗
号化アプリケーション190を内部に持ち、暗号化して通信を行うことが望ましい。
【0343】
以上説明したように、本実施形態のデバイス管理システムによれば、デバイス管理マネ
ージャ123が稼動するPC等の情報機器に接続されたデバイスをサーバ上にインストー
ルされた仮想デバイスマネージャ120がサーバに仮想的に接続しているように設定する
。従って、利用者が手元で操作するPC、シンクライアントなどの手元の情報端末と利用
者が手元の情報端末を利用する場所と隔たりのある場所に設置されたサーバとの間でデバ
イスを安全かつ簡便に共有することができ、利用者の利便性が向上する。また、デバイス
を共有する手順の中で認証を行い、デバイスを利用者が利用できるかどうかをルール付け
ることにより、システム利用時のセキュリティの向上を図ることができる。
【0344】
また、本実施形態によれば、クライアント側にデバイスを動作させる物理バスドライバ
とのデータの送受信相手を排他制御するフィルタドライバを設け、サーバ側には通信プロ
グラムとの間で擬似的に物理バスドライバと同様の動きをする擬似バスドライバを設けた
ため、デバイスを接続するのみで、他の操作なしでサーバ側からクライアントに接続され
たデバイスを使用することができる(プラグアンドプレイ)。
【0345】
サーバとデバイスとが仮想的に接続されるため、操作したPC等の情報機器に残る機密
情報を低減することができ、サーバクライアント方式の情報処理システムにおいて、利用
者の情報機器利用時のセキュリティを向上させることができる。
【0346】
また、本実施形態によれば、サーバ及びクライアント側に電源切断処理やサスペンドも
しくは休止状態への移行が行われた際や、サーバとクライアントの間の通信が途絶えた際
に、クライアント側でリクエストの遮断の解除やデバイスの無効化及び有効化を行い、ク
ライアントに接続していながら,クライアントからの利用を禁止しサーバから利用可能と
していたデバイスを,再度クライアントから利用可能とすることにより、利用者の利便性
を向上させることができる。
【0347】
<<第二の実施形態>>
次に、本発明を適用した第二の実施形態について説明する。本実施形態は、基本的に上
述の第一の実施形態と同様の構成を有する。ただし、第一の実施形態では、通信プログラ
ム1508と通信プログラム1510とがネットワーク103を介して直接通信していた
が、本実施形態では、遠隔操作プログラムを介して通信を行う。遠隔操作プログラムとは
、2台のPC上で動作する2つのプログラムがネットワークを介して通信を行い、一方の
プログラムが動作するPCの画面上に他方のプログラムが動作するPCの画面の全部また
は一部を表示するものである。利用者は、遠隔操作プログラムが動作している間は一方の
PCの画面上に他方のPCの画面を表示される。このとき、利用者が物理的に利用してい
るPCへのマウスやキーボード、マイク等を利用した入力操作は、すべて遠隔操作してい
るPCへ送信されるため、利用者は簡単に遠隔地からPCを遠隔操作することが出来る。
【0348】
以下に,第一の実施形態との相違点を説明する。その他の処理は,第一の実施形態と同
様である。
【0349】
図19は、本実施形態のデバイス管理システムにおける、第一の実施形態の図1に示す
PC−A110とPC−D113との間でのデバイス共有時のデータ送受信制御に必要と
なるソフトウェアを説明するための図である。
【0350】
第一の実施形態に示したデバイス管理システムでは、通信プログラム1508と通信プ
ログラム1510とが直接ネットワーク103を介して通信している。一方、本実施形態
では、通信プログラム1508は、PC−A110のメモリ上にロードされた遠隔操作プ
ログラム1901と通信を行い、PC−D113の通信プログラム1510は、PC−D
113のメモリ上にロードされた遠隔操作プログラム1902と通信を行う。そして、遠
隔操作プログラム1901と遠隔操作プログラム1902とが互いに通信を行う。
【0351】
遠隔操作プログラム1901及び遠隔操作プログラム1902は、利用者がPC−D1
13からPC−A110にログインする、PC−A110のメモリ上で動作するプログラ
ムの処理結果をPC−D113の画面上に表示させる、等の機能を実現するプログラムで
ある。
【0352】
遠隔操作プログラム1901は、予め定められた認証を経て遠隔操作プログラム190
2と接続を行っている。このため、仮想デバイスマネージャ120は、デバイス管理マネ
ージャ123に認証要求を行う必要がない。従って、PC−D113の内部に認証管理サ
ーバ101にアクセスするために必要な認証管理サーバ101のIPアドレス情報等を保
持する、あるいは、利用者に認証管理サーバ101にアクセスするための情報の入力を強
いる必要がない。デバイスA151が接続されているか否かといった情報、接続されてよ
いデバイスの種別といったポリシーは、認証管理サーバ101から仮想デバイスマネージ
ャ120を介してデバイス管理システムに送信される。このため、本実施形態では、PC
−D113側が、例えば、シンクライアントのように、単純な機能のみを有する情報処理
装置であってもよい。
【0353】
また、本実施形態においては、PC−D113のデバイス管理マネージャ123側から
認証管理サーバ101にアクセスしないため、デバイス共有処理時の処理フローおよびデ
バイス共有終了処理の処理フローは、以下の通りである。
【0354】
図20は、本実施形態のデバイス管理システムにおけるデバイス共有処理の処理フロー
である。ここでは、第一の実施形態の図6と同じ処理には同じ符号を付す。
【0355】
本実施形態では、デバイス管理マネージャ123及び仮想デバイスマネージャ120は
、遠隔操作プログラム1901及び遠隔操作プログラム1902を介して通信を行う。
【0356】
本図に示すように、本実施形態のデバイス共有処理の処理フローは、基本的に第一の実
施形態の図6に記載のものと同様である。しかし、本実施形態の処理フローでは第一の実
施形態に示したデバイス共有処理の処理フローと異なり、図6の504、505、515
〜523、591、592、529、530、531の処理が省略される。これは、上述
したように、デバイス管理マネージャ123から認証サーバ101へのアクセスを行わな
いからである。
【0357】
また、第一の実施形態の処理フローと異なり、チャネル生成(534)の後に、生成さ
れたチャネルの情報が仮想デバイスマネージャ120から遠隔操作プログラム1901を
介して認証管理サーバ101に送信される(チャネル生成情報の送信の処理;2001)
。これは、デバイス管理マネージャ123は、遠隔操作プログラム1902経由で接続さ
れた仮想デバイスマネージャ120に対して、デバイス管理マネージャ123の管理下に
あるすべてのデバイスの利用権限を付与することを意味する。
【0358】
次に図21を用いて、本実施形態のデバイス管理システムにおけるデバイス共有終了処
理の処理フローを説明する。ここでは、第一の実施形態の図7と同じ処理には同じ符号を
付す。
【0359】
本実施形態のデバイス共有終了処理時の処理フローは基本的に第一の実施形態の図7に
示す処理と同様である。ただし、本実施形態の場合、認証管理サーバ101からデバイス
解放情報送信(606)を行わない。その替わり、仮想デバイスマネージャ120が、デ
バイス利用終了要求元のデバイス管理マネージャ123に、指示されたデバイスの利用が
終了したことを示す情報であるデバイス解放情報送信を行う(2101)。また、仮想デ
バイスマネージャ120との間に確立されていたチャネルを破棄し、チャネルの破棄に成
功した場合、デバイス管理マネージャ123から認証管理サーバ101へチャネル破棄情
報の送信(609)を行わない。その替わり、仮想デバイスマネージャ120がチャネル
破棄後(608)、認証管理サーバ101にチャネルの破棄を終えたことを示す情報であ
るチャネル破棄情報を送信する(2102)。これは、上述したように、デバイス管理マ
ネージャ123から認証サーバ101へのアクセスを行わないからである。
【0360】
以上説明したように、図20及び図21にて示した処理フローにおいては、デバイス管
理マネージャ123が認証管理サーバ101の例えばIPアドレスのようなアクセス先ア
ドレスを示すデータを保持しなくても処理フローが成立する。
【0361】
以上説明したように、本実施形態のデバイス管理システムによれば、デバイス管理マネ
ージャ123が稼動するPC等の情報機器に接続されたデバイスをサーバ上にインストー
ルされた仮想デバイスマネージャ120がサーバに仮想的に接続しているように設定する
。従って、利用者が手元で操作するPC、シンクライアントなどの手元の情報端末と利用
者が手元の情報端末を利用する場所と隔たりのある場所に設置されたサーバとの間でデバ
イスを安全かつ簡便に共有することができ、利用者の利便性が向上する。また、デバイス
を共有する手順の中で認証を行い、デバイスを利用者が利用できるかどうかをルール付け
ることにより、システム利用時のセキュリティの向上を図ることができる。
【0362】
また、本実施形態によれば、クライアント側にデバイスを動作させる物理バスドライバ
とのデータの送受信相手を排他制御するフィルタドライバを設け、サーバ側には通信プロ
グラムとの間で擬似的に物理バスドライバと同様の動きをする擬似バスドライバを設けた
ため、デバイスを接続するのみで、他の操作なしでサーバ側からクライアントに接続され
たデバイスを使用することができる(プラグアンドプレイ)。
【0363】
サーバとデバイスとが仮想的に接続されるため、操作したPC等の情報機器に残る機密
情報を低減することができ、サーバクライアント方式の情報処理システムにおいて、利用
者の情報機器利用時のセキュリティを向上させることができる。
【0364】
さらに、本実施形態のデバイス管理システムにおいては、遠隔操作プログラム1901
と遠隔操作プログラム1902とが通信を開始していないとデバイス管理マネージャ12
3及び仮想デバイスマネージャ120が接続されない。このため、仮想デバイスマネージ
ャ120は、デバイス管理マネージャ123に認証要求を行う必要がなく、第一の実施形
態のデバイス管理システムと比較し、デバイス処理のフローを簡略化することが可能にな
り、不必要な通信コストが発生しない。また、管理認証サーバ101とデバイス管理マネ
ージャ123とが直接通信を行わないため、ネットワーク構成を簡略化することが可能と
なる。
【0365】
上記のように、第一及び第二の実施形態に示したデバイス管理システムは、仮想デバイ
スマネージャ120とデバイス管理マネージャ123と認証管理サーバ101とによりク
ライアント装置であるPC−D113等を介してネットワーク103に接続されたデバイ
スを管理することにより、システム内でのデバイスの共有を、安全かつ利用者に使い勝手
良く実現することができる。
【0366】
また、第一及び第二の実施形態によれば、他のクライアント装置に接続されているデバ
イスであっても、あたかもサーバ106に直接接続されたデバイスであるかのように使用
することが可能となる。すなわち、デバイスが、他のクライアント装置に接続されている
場合であっても、そのデバイスを使用するために、各クライアント装置には特別な構成が
必要とならない。従って、デバイスを、仮想的にサーバに接続する場合も、直接サーバに
接続する場合も、同じ構成をとることが可能となり、システム全体の製造コストを低減で
きる。
【0367】
また、第一及び第二の実施形態によれば、認証管理サーバ101により、デバイスの許
可、不許可を管理し、許可されないデバイスは共有するデバイス(仮想デバイス)として
利用できないように設定することができる。このため、ネットワーク103上に接続され
るデバイスの適切な管理を行うことが出来、サーバクライアントシステムにおいて、遠隔
地にあるサーバとの間で、デバイスを共有する場合の安全性を高めることができる。
【0368】
また、第一及び第二の実施形態においては、主なプログラムやデータをサーバ側に蓄積
し、クライアント側は主にサーバに操作指示を与えるだけの構成を有するサーバクライア
ントシステムである。従って、操作側のクライアント装置内に残る機密情報を低減すると
いった特徴を残しつつ、クライアント利用時のセキュリティ及び利便性を向上させた情報
処理システムを提供できる。
【0369】
また、第一及び第二の実施形態では、デバイスがあたかもサーバに接続されているよう
に振舞うため、ウィルスチェッカ等のセキュリティツールやデバイスを動作させるための
プログラムなど、デバイスを利用し、管理するプログラムはサーバ側のみにインストール
すればよく、クライアント側には当該プログラムをインストール不要である。このため、
システム全体のコストをさらに低減する効果がある。
【0370】
なお、上記の第一及び第二の実施形態では、サーバやクライアントにあたる情報機器を
共にPCとして説明を行ったが、一方及び両方がサーバ、Personal Digit
al Assistants(PDA)、ワークステーション、高機能複写機、現金自動
支払機(ATM)、携帯電話、デジタルスチルカメラ、音楽再生(録音)装置、販売時点
商品管理システム、街角端末、Intelligent Transport Syst
ems(ITS)用送信機、券売機、決済端末、自動販売機、入退室管理装置、ゲーム機
、公衆電話、注文取り用携帯端等であってもよい。これらの場合も同様の効果が得られる

【図面の簡単な説明】
【0371】
【図1】第一の実施形態のデバイス管理システムのブロック図である。
【図2】第一の実施形態のポリシーテーブルの一例である。
【図3】第一の実施形態のデバイス情報テーブルの一例を示す図である。
【図4】第一の実施形態の認証管理サーバが保持する利用者情報データベースの一例である。
【図5】第一の実施形態のブレードサーバが保持する、PC利用管理テーブルの一例である。
【図6】第一の実施形態のデバイス共有処理の処理フローである。
【図7】第一の実施形態のデバイス共有処理終了時の処理フローである。
【図8】第一の実施形態のデバイス管理マネージャ及び仮想デバイスマネージャとデバイスドライバ及びアプリケーションとの関係の説明図である。
【図9】第一の実施形態のデバイス利用時の動作を説明するフローである。
【図10】第一の実施形態のデバイス利用時の動作を説明するフローである。
【図11】管理アプリケーションにより表示されるログ管理画面の一例である。
【図12】第一の実施形態の仮想デバイスマネージャのデバイス管理画面の一例である。
【図13】第一の実施形態のPC−Aのハードウェア構成図である。
【図14】第一の実施形態のフィルタドライバ及び通信プログラムのデバイス共有処理時の起動処理の説明図である。
【図15】第一の実施形態の擬似バスドライバ及び通信プログラムのデバイス共有処理時の起動処理の説明図である。
【図16】第一の実施形態の擬似バスドライバと通信プログラムとフィルタドライバとにおいてチャネルを生成する際の処理の説明図である。
【図17】第一の実施形態のPC−Dに新たなデバイスが接続された際の動作を説明するフローである。
【図18】第一の実施形態のデバイスAがPC−Dからプラグアウトされた際の動作を説明するフローである。
【図19】第二の実施形態のプログラムの通信を説明する図である。
【図20】第二の実施形態のデバイス共有処理の処理フローである。
【図21】第二の実施形態のデバイス共有終了処理の処理フローである。
【図22】第一の実施形態のデバイス管理システムにおけるフィルタ開始時の各ドライバ間の処理および通信フローである。
【図23】第一の実施形態の各PC間で送受信されるデータの変換を説明する図である。
【図24】実施形態のPC−Dにおいて電源が切断、もしくは休止状態もしくはサスペンド状態への移行が起こった場合のシーケンスを説明する図である。
【図25】実施形態のPC−Aにおいて電源が切断、もしくは休止状態もしくはサスペンド状態への移行が起こった場合のシーケンスを説明する図である。
【図26】実施形態のデバイス管理マネージャにて管理されている、デバイスAの利用状態の状態遷移図である。
【図27】実施形態のPC−Dにおいて、デバイス管理マネージャが仮想デバイスマネージャとの通信においてタイムアウトを検出した場合のシーケンスを説明する図である。
【図28】実施形態のPC−Aにおいて、仮想デバイスマネージャがデバイス管理マネージャとの通信においてタイムアウトを検出した場合のシーケンスを説明する図である。
【符号の説明】
【0372】
101:認証管理サーバ、102:情報センタ、103:ネットワーク、104:インタ
ーネット、105:ファイヤウォール、106:ブレードサーバ、110:PC−A、1
11:PC−B、112:PC−C、113:PC−D、114:PC−E、115:P
C−F、116:ハブ、117:PC−Z、120:仮想デバイスマネージャ、121:
仮想デバイスマネージャ、122:仮想デバイスマネージャ、123:デバイス管理マネ
ージャ、124:デバイス管理マネージャ、125:デバイス管理マネージャ、126:
デバイス管理マネージャ、127:デバイス管理マネージャ、151:デバイスA、15
2:デバイスB、153:デバイスC、154:デバイスD、155:デバイスZ、16
0:ストレージ、161:ストレージ、162:ストレージ、163:ストレージ、16
4:ストレージ、165:ストレージ、167:ストレージ、170:ログ、171:ロ
グ、172:ログ、173:ログ、174:ログ、175:ログ、176:ログ、177
:ログ、1501:アプリケーション、1502:上位ドライバ、1503:デバイスク
ラスドライバ、1504:擬似バスドライバ、1505:起動用物理デバイスオブジェク
ト、1506:エニュメレータ機能デバイスオブジェクト、1507:GUIアプリケー
ション、1508:通信プログラム、1509:GUIアプリケーション、1510:通
信プログラム、1511:アプリケーション、1512:上位ドライバ、1513:デバ
イスクラスドライバ、1514:フィルタドライバ、1515:物理バスドライバ

【特許請求の範囲】
【請求項1】
アプリケーションプログラムを実行するサーバと、前記サーバに前記アプリケーション
プログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライアントと、前
記クライアントを認証する認証サーバとがネットワークで接続されたシステムにおいて、
前記クライアントに接続されたデバイスを前記サーバから制御するデバイス管理システム
であって、
前記クライアントは、当該クライアントに接続しているデバイスのデバイスドライバと
の間でデータを送受信するとともに前記サーバとの間で当該データを送受信するデバイス
管理手段を備え、
前記認証サーバは、当該デバイス管理システム内の各デバイスの利用権限を管理するデ
バイス情報保持利用権限管理手段を備え、
前記サーバは、当該サーバ内で動作するアプリケーションと前記デバイス管理手段との
間で前記ネットワークを介して行われるデータの送受信を前記デバイス情報保持利用権限
管理手段に保持されている前記利用権限に従って制御する仮想デバイス管理手段を備え、
前記デバイス管理手段は、前記デバイスドライバと当該クライアントのアプリケーショ
ンとのデータの送受信および前記デバイスドライバと前記サーバとのデータの送受信の間
で排他制御を行うフィルタ手段を備えること
を特徴とするデバイス管理システム。
【請求項2】
アプリケーションプログラムを実行するサーバと、前記サーバに前記アプリケーション
プログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライアントと、前
記クライアントを認証する認証サーバとがネットワークで接続されたシステムにおいて、
前記クライアントに接続されたデバイスを前記サーバから制御するデバイス管理システム
であって、
前記クライアントは、当該クライアントに接続しているデバイスのデバイスドライバと
データを送受信するとともに前記サーバとの間で当該データを送受信するデバイス管理手
段を備え、
前記認証サーバは、当該デバイス管理システム内の各デバイスの利用権限を管理するデ
バイス情報保持利用権限管理手段を備え、
前記サーバは、当該サーバ内で動作するアプリケーションと前記デバイス管理手段との
間で前記ネットワークを介して行われるデータの送受信を前記デバイス情報保持利用権限
管理手段に保持されている前記利用権限に従って制御する仮想デバイス管理手段を備え、
前記仮想デバイス管理手段は、前記クライアントに接続しているデバイスとの間で前記
デバイス管理手段を介してデータを送受信し、前記サーバ内で動作するアプリケーション
に対して当該デバイスのドライバとして動作する擬似バスドライバ手段を備えること
を特徴とするデバイス管理システム。
【請求項3】
請求項2記載のデバイス管理システムであって、
前記擬似バスドライバ手段は、
前記デバイスが前記クライアントに接続すると生成され、当該デバイスを動作させる起
動用デバイスオブジェクトと、
前記デバイスが接続された場合、当該デバイスに対応づけて前記起動用デバイスオブジ
ェクトを生成し、当該デバイスの接続が解除された場合、当該デバイスに対応づけて生成
した前記起動用デバイスオブジェクトを削除するエニュメレータと、を備えること
を特徴とするデバイス管理システム。
【請求項4】
請求項2または3に記載のデバイス管理システムであって、
前記クライアントと前記サーバとはそれぞれ遠隔操作プログラムを備え、
前記デバイス管理手段と前記仮想デバイス管理手段とは、それぞれ前記遠隔操作プログ
ラムを介して前記データの送受信を行うこと
を特徴とするデバイス管理システム。
【請求項5】
請求項2から4のいずれか1項に記載のデバイス管理システムであって、
前記擬似バスドライバ手段は、前記デバイス管理手段から前記クライアントに新規にデ
バイスが接続されたことを示す通知を受け取ると、前記サーバのOS(Operatio
n System)との間で当該擬似デバイスドライバが前記新規に接続されたデバイス
のデバイスドライバとして動作するために必要なデバイス情報の取得処理を行い、当該デ
バイス情報の取得処理が正常に完了した場合、前記デバイス管理手段に正常に完了したこ
とを通知すること
を特徴とするデバイス管理システム。
【請求項6】
請求項2から5のいずれか1項に記載のデバイス管理システムであって、
前記サーバは表示手段を備え、
前記仮想デバイス管理手段は、前記デバイス管理手段から前記クライアントに既に接続
されているデバイスとの接続が切断されたことを示す通知を受け取ると、当該デバイスを
利用中のアプリケーションの有無を判別し、
前記擬似バスドライバ手段は、前記利用中のアプリケーションがないと判別された場合
、前記デバイスのデバイスドライバとしての動作を終了するために必要な手続きを行い、
当該手続きが正常に完了した場合、前記デバイス管理手段に正常に完了したことを通知し
、前記手続きが正常に完了しなかった場合、前記表示手段にその旨を通知すること
を特徴とするデバイス管理システム。
【請求項7】
請求項1から6のいずれか1項に記載のデバイス管理システムであって、
前記仮想デバイス管理手段は、前記サーバが前記クライアントに接続されたデバイスを
制御可能な状態となっているとき、当該サーバのOSから省電力のための休止状態となる
旨の通知を受けると、前記サーバのOSにエラー通知をし、
前記デバイス管理手段は、前記サーバが前記クライアントに接続されたデバイスを制御
可能な状態となっているとき、当該クライアントのOSから省電力のための休止状態とな
る旨の通知を受けると、前記クライアントのOSにエラー通知をすること
を特徴とするデバイス管理システム。
【請求項8】
アプリケーションプログラムを実行するサーバと、前記サーバに前記アプリケーション
プログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライアントと、前
記クライアントを認証する認証サーバとがネットワークで接続され、前記クライアントに
接続されたデバイスを前記サーバから制御するデバイス管理システムにおける前記クライ
アントであって、
当該クライアントに接続しているデバイスのデバイスドライバとの間でデータを送受信
するとともに前記サーバとの間で当該データを送受信するデバイス管理手段を備え、
前記デバイス管理手段は、前記デバイスドライバと当該クライアントのアプリケーショ
ンとのデータの送受信および前記デバイスドライバと前記サーバとのデータの送受信の間
で排他制御を行うフィルタ手段を備えること
を特徴とするクライアント。
【請求項9】
アプリケーションプログラムを実行するサーバと、前記サーバに前記アプリケーション
プログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライアントと、前
記クライアントを認証する認証サーバとがネットワークで接続され、前記クライアントに
接続されたデバイスを前記サーバから制御するデバイス管理システムにおける前記サーバ
であって、
前記サーバは、当該サーバ内で動作するアプリケーションと前記デバイス管理手段との
間で前記ネットワークを介して行われるデータの送受信を前記認証サーバに保持されてい
る前記デバイス管理システム内の各デバイスの利用権限に従って制御する仮想デバイス管
理手段を備え、
前記仮想デバイス管理手段は、前記クライアントに接続しているデバイスとの間でデー
タを送受信し、前記サーバ内で動作するアプリケーションに対して当該デバイスのドライ
バとして動作する擬似バスドライバ手段を備えること
を特徴とするサーバ。
【請求項10】
アプリケーションプログラムを実行するサーバと、前記サーバに前記アプリケーション
プログラムの実行の指示を与え、当該サーバから実行結果を受け取るクライアントと、前
記クライアントを認証する認証サーバとがネットワークで接続されたデバイス管理システ
ムにおいて、前記クライアントに接続されたデバイスを前記サーバから制御するために共
有するデバイス共有方法であって、
前記クライアントは遠隔操作プログラムを介して前記サーバに利用開始を要求し、
前記サーバは、前記利用開始の要求を受け取ると、前記認証サーバにアクセスして要求
元の前記クライアントを認証し、
認証が成功した場合、前記サーバは前記認証サーバにアクセスし、前記利用開始の要求
元のクライアントが利用可能なデバイスを抽出し、
前記サーバは前記クライアントとの間に前記抽出したデバイスを利用可能とする通信路
を形成するとともに、当該通信路を形成したことを前記認証サーバに通知すること
を特徴とするデバイス共有方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2008−4110(P2008−4110A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2007−196886(P2007−196886)
【出願日】平成19年7月30日(2007.7.30)
【分割の表示】特願2007−100028(P2007−100028)の分割
【原出願日】平成19年4月6日(2007.4.6)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】