(57)【要約】【課題】  ある情報システムから他の情報システムの装置を利用するためには、OS（オペレーティングシステム）上のアプリケーションプログラムを利用しなければならない。【解決手段】  サブシステムがネットワークを介して、他の情報システムのサブシステムを介さずに他の情報システムのデバイスドライバと通信することにより他の情報システムのデバイスにアクセスする。【選択図】    図４
2010061264.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバとネットワークを備え、前記クライアントと前記サーバが前記ネットワークによって接続された情報システムであって、
前記クライアント及び前期サーバが、ハードウエアであるデバイスと、前記デバイスに直接命令を渡すデバイスドライバと、前記デバイスドライバに直接命令を渡すサブシステムとを備え、
前記サーバが、前記デバイスである第１デバイスとしてネットワークインターフェースと前記ネットワークインターフェースに直接命令を渡すデバイスドライバであるネットワークドライバと前記ネットワークドライバに直接命令を渡すサブシステムであるネットワーク処理サブシブテムと、前記デバイスである第２デバイスと前記第２デバイスに直接命令を渡す第２デバイスドライバと前記ネットワークサブシステムから命令を受け取り前記受け取った命令を前記第２デバイスドライバに渡す第２デバイスドライバネットワークインターフェースとを備え、
前記クライアントが前記デバイスである第３デバイスとしてネットワークインターフェースと前記ネットワークインターフェースに直接命令を渡すデバイスドライバであるネットワークドライバと前記ネットワークドライバに直接命令を渡すサブシステムであるネットワーク処理サブシブテムと、前記ネットワーク処理サブシステムに命令を渡す第４仮想デバイスドライバと前記第４仮想デバイスドライバに直接命令を渡すサブシステムである第４サブシステムを備え、
前記クライアントにおいて、
前記クライアントの前記第４サブシステムが前記第４仮想デバイスドライバに命令を渡し、前記クライアントの前記第４サブシステムが前記第４仮想デバイスドライバに命令を渡すと、前記第４仮想デバイスドライバが前記渡された命令を前記ネットワーク処理サブシステムに渡し、前記第４仮想デバイスドライバが前記渡された命令を前記ネットワーク処理サブシステムに渡すと、前記ネットワーク処理サブシステムが前記受け取った命令を前記ネットワークドライバに渡し、前記ネットワーク処理サブシステムが前記受け取った命令を前記ネットワークドライバに渡すと、前記ネットワークドライバが前記受け取った命令を前記ネットワークインターフェースに渡し、前記ネットワークドライバが前記受け取った命令を前記ネットワークインターフェースに渡すと、前記ネットワークインターフェースが前記受け取った命令を前記ネットワークを経由して前記サーバのネットワークインターフェースに送信し、前記クライアントのネットワークインターフェースが前記受け取った命令を前記ネットワークを経由して前記サーバのネットワークインターフェースに送信すると、
前記サーバにおいて、
前記サーバの前期ネットワークインターフェースがネットワークから前記クライアントのネットワークインターフェースが送信した命令を受信し、前記サーバの前記ネットワークインターフェースがネットワークから前記クライアントのネットワークインターフェースが送信した命令を受信すると、前記サーバの前記ネットワークドライバが前記ネットワークインターフェースから命令を受け取り、前記サーバの前記ネットワークドライバが前記ネットワークインターフェースから前記命令を受け取ると、前記サーバの前記ネットワーク処理サブシステムが前記サーバの前記ネットワークドライバから前記命令を受け取り、前記サーバの前記ネットワーク処理サブシステムが前記サーバの前記ネットワークドライバから前記命令を受け取ると、前記サーバの前記第２デバイスドライバネットワークインターフェースが前記サーバの前記ネットワークサブシステムから前記受け取った命令を取得し、前記サーバの前記第２デバイスドライバネットワークインターフェースが前記サーバの前記ネットワークサブシステムから前記受け取った命令を取得すると、前記サーバの前記第２デバイスドライバネットワークインターフェースが前記サーバの前記第２デバイスドライバに前記受け取った命令を渡し、前記サーバの前記第２デバイスドライバネットワークインターフェースが前記サーバの前記第２デバイスドライバに前記受け取った命令を渡すと、前記サーバの前記第２デバイスドライバが前記サーバの前記第２デバイスに前記受け取った命令を渡し前期第２デバイスを操作することを特徴とする情報システム。
【請求項２】
クライアント装置であって、
請求項１に記載の情報システムのクライアントとして使用可能なクライアント装置。
【請求項３】
サーバ装置であって、
請求項１に記載の情報システムのサーバとして使用可能なサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークでデバイスを接続する情報システムに関する。
【背景技術】
【０００２】
図１は、コンピュータシステムの一例である。コンピュータシステムは、ＣＰＵ、メモリ（メインメモリ）、ハードディスク、表示装置、キーボード、マウス、ネットワークインターフェースなどのデバイスと呼ばれるハードウエアを備えている。これらの、デバイスはバスと呼ばれるハードウエアに接続され、このバスを介して他のデバイスとの間で命令や情報を送受信している。これらのハードウエアは低レベルな機能しか備えていないので、このような低レベルの機能を使ってプログラムを書くことは事情に煩雑である。例えば、特定のアドレスにデバイスに対する命令であるビット列を書き込む必要がある。デバイスドライバと呼ばれるプログラムは、このような煩雑で定型的な操作をするようにあらかじめ作られたプログラムである。別の言い方をすると、デバイスに依存したプログラムを集めたものをデバイスドライバと言うこともできる。また、デバイスドライバは、個々のデバイスを認識し記憶している。デバイスドライバはデバイスの定型的な操作を簡便に行うものであるが、デバイスが備える機能を提供するだけである。たとえば、Ｗｉｎｄｏｗｓ（登録商標）で利用する階層構造でファイルを保存・参照する仕組（ファイルシステム）は、デバイスドライバが提供するものではない。ファイルシステムと言うサブシステムがデバイスドライバを操作しながら、階層構造でデータを管理する機能を提供している。また、サブシステムは、デバイスドライバが認識しているデバイスのうちどのデバイスを使うかという情報を記憶している。たとえば、ハードディスクが２台接続されているとすると、ファイルがどちらのディスクにあるかを判断し、ディスクドライバを介してファイルのあるディスクに命令を出す。
ネットワークインターフェースというデバイスは、デバイス固有の識別番号を持っており、識別番号を指定して情報を送信し、自分の識別番号を持った情報を受信する。ネットワークドライバというデバイスドライバは、コンピュータ内にある個々のネットワークインターフェースを識別し記憶している。図５ではネットワークインターフェースというデバイスは一つであるが、複数のネットワークインターフェースというデバイスがあってもよい。ネットワークドライバでは、前記識別番号を指定した通信しかできない。そこで、ネットワーク処理サブシステムにおいて、たとえばＩＰアドレスといネットワーク機能を提供している。ネットワーク処理サブシステムの機能により、ＩＰアドレスを指定して情報を送受信することが可能になる。
ハードディスク、ネットワークインターフェースというデバイスについて説明したが、マウス、キーボード、メモリ、表示装置などあらゆるデバイスがこのような方法で利用される。
通常のユーザプログラムやアプリケーションプログラムは、このサブシステムを使ってデバイスにアクセスしている。
【０００３】
ネットワークを通じて他の情報システムのデバイスを使いたいという要求は強く、既にそのような仕組は存在する。
【０００４】
例えば、図２のＦＴＰというアプリケーションプログラムは、他のコンピュータのファイルシステムに対してネットワーク経由でファイルの転送ができる。ＦＴＰは、他のコンピュータのファイルシステムに対してファイルの転送を行うアプリケーションプログラムである。
【０００５】
図３のＮＦＳというアプリケーションプログラムは、ネットワークを経由して、他のコンピュータのファイルシステムを自分のコンピュータのファイルシステムの一部のように見せて、他のコンピュータのファイルを読み書きするものである。ＮＦＳは、他のコンピュータのファイルシステムを操作できるようにするアプリケーションプログラムである。
【０００６】
図４は、ハードウエアであるハードディスクというデバイスそのものにネットワークインターフェースを備え、デバイスドライバやサブシステムを介さずにデバイス同士をネットワークで接続するものである。重要なデータを二重化し安全性を高める場合に用いられる装置である。
【０００７】
Ｗｉｎｄｏｗｓ（登録商標）では、ネットワークを介して他のコンピュータに接続されたプリンタで印刷できる。プリンタを共有しているように見えるが、実際は、アプリケーションプログラムで印刷データをファイル転送している。
Ｘ−ｗｉｎｄｏｗ（登録商標）というアプリケーションプログラムがある。これは、コンピュータの表示装置、キーボード、及びマウスをネットワークを介して他のコンピュータに接続することにより、コンピュータを遠隔操作するものである。しかし、これもアプリケーションプログラムで画面の情報、キー入力、及びマウス操作を送受信するものであり、ネットワークを介してデバイスドライバとサブシステムが直接通信するものではない。
【０００８】
前記従来技術は、アプリケーションプログラムを介してサブシステム間で通信するか、ハードウエアを使ってデバイス同士を直接接続するものである。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
係る従来の実情に鑑みて、本発明の目的は、サーバ装置のデバイスドライバがサーバ装置の当該デバイスのサブシステムを介さずに、クライアント装置の当該デバイスを扱うサブシステムと通信することにより、サーバ装置のデバイスがクライアント装置で利用できるようにすることである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の情報システムの特徴は、
クライアント装置において、仮想デバイスドライバと呼ばれるデバイスドライバを備え、クライアント装置のサブシステムが前記仮想デバイスドライバに命令を渡し、前記仮想デバイスドライバは、ネットワークを介してサーバ装置のデバイスネットワークインターフェースに前記受け取った命令を渡し、前記デバイスネットワークインターフェースがサーバ装置のデバイスドライバに前記受け取った命令を渡すことにより、サーバ装置のデバイスをクライアント装置から使用することにある。
【発明の効果】
【００１１】
このように上記本発明の特徴によれば、サーバ装置の当該デバイスを扱うサブシステムを介することなくサーバ装置のデバイスをネットワーク経由で、クライアント装置から利用できるようになった。
【産業上の利用可能性】
【００１２】
従来技術では、コンピュータのデバイスはバスと呼ばれるハードウエアに物理的に接続されて使われている。バスは、情報や命令を送受信する共有の伝送路である。遠くにあるデバイスを使うためには、０００４から０００８で述べたように専用のアプリケーションプログラムとネットワークを使うか、デバイス同士を専用の通信路で接続するしかない。そのため、専用のアプリケーションプログラムや専用のプロトコル、あるいは専用のハードウエアが必要であり汎用性が無い。
【００１３】
前記バスをネットワークを介して延長し、ネットワーク上にあるデバイスを組み合わせて一つの情報システムを形成できれば、ネットワーク全体が情報システムになり、情報システムの柔軟性は大幅に向上する。
【００１４】
本発明の技術を使うと、すべてのデバイスがネットワークを介して利用可能になる。ＩＰＶ６と呼ばれる次世代ネットワークでは、ネットワーク自身が暗号機能を備えている。本発明とのＩＰＶ６と呼ばれるネットワークを組み合わせると、仮想デバイスドライバとデバイスネットワークインターフェース間の通信が暗号化され、安全性の高い情報システムになる。さらに、そのデバイスにかかわるサブシステムやアプリケーションプログラムを介さないため、処理速度が速くなる。
【００１５】
表示装置、キーボード、マウス、及びネットワークインターフェースを備えた本発明のサーバ装置を自宅に設置し、ＣＰＵ、メモリ、ハードディスク、及びネットワークインターフェースを備えた本発明のクライアント装置を会社に設置し、双方をネットワークで接続すれば、会社にいるときと同じようにコンピュータを利用できる。また、前記サーバ装置を持ち運び型にすれば、インターネット経由で世界中から会社のコンピュータを利用できる。
【発明を実施するための最良の形態】
【００１６】
以下、図面５，６、７を参照しながら、本発明の一実施形態を詳細に説明する。
【００１７】
図５は、デバイスの一例としてハードディスク使った例である。図６はクライアント装置での処理の流れを示し、図７はサーバ装置での処理の流れを示している。なお、この実施の形態ではハードディスクというデバイスを取り上げているが、他のデバイスでも同様である。たとえば、キーボード、マウス、表示装置、メモリ、ＣＰＵなども同様である。
【００１８】
ユーザプログラム５−２がファイルシステム５−４にファイル操作、たとえばファイルの読み込みの命令を出したとする。ファイルシステムは、そのファイルがどのデバイスにあるかという情報を記憶している。そのファイルが、クライアント装置内のハードディスク５−１０にある場合、ファイルシステムはデバイスドライバ５−９にファイル読み込みのための命令を出し、デバイスドライバは、その命令に従ってハードディスク５−１０からファイルの情報を読み出す。ファイルサブシステムは、デバイスドライバが読み出したファイルの情報をデバイスドライバから受けとり、受け取った情報をファイルとして形を整え、前記形を整えられた情報を前記ユーザプログラムに渡す。
【００１９】
読み出すファイルがサーバ装置５−２１のハードディスク５−１３にある場合は、次のようにしてファイルが読み出される。ファイルシステム５−４は、仮想ディスクドライバ５−８にファイル読み込みのための命令を出す。前記仮想ディスクドライバは、当該デバイスが存在するサーバ装置のネットワークアドレスをあらかじめ保持している。仮想ディスクドライバは、前記あらかじめ保持されたネットワークアドレスに対して、ファイルシステムから受け取ったファイル読み出しのための命令を送信するように、ネットワーク処理サブシステム５−５に命令を出す。前記ネットワークサブシステムは、前記受け取った命令をネットワークドライバ５−７に渡す。前記ネットワークドライバは、ネットワーク５−１２を介してサーバ装置５−２１に前記受け取った命令を送信する。
【００２０】
サーバ装置において、ネットワークインターフェース５−１４が前記送信された命令を
受け取ると、ネットワークドライバ５−１６に前記受け取った命令を渡す。ネットワークドライバは、前記受け取った命令をネットワーク処理サブシステム５−１９に渡す。ディスクドライバネットワークインターフェースは、前記ネットワークサブシステムから前記受け取った命令を取得する。前記取得された命令には、ディスクドライバ５−１５によって認識されたハードディスクのうちどのハードディスクを操作対象としているかとい情報が含まれている。前記ディスクドライバネットワークインターフェースは、前記受け取った命令で指定されたハードディスクに命令を送るよう、ディスクドライバ５−１５に命令を渡す。命令を受け取った前記ディスクドライバは、ハードディスク５−１３から前記受け取った命令に従って情報を読み出す。前記ディスクドライバネットワークインターフェースは、前記ディスクドライバが読み出した情報を受け取り、前記ディスクドライバから受け取った情報をクライアント装置５−２２に送るよう、ネットワーク処理サブシステム５−１９に命令を出す。前記ネットワーク処理サブシステムは、前記受け取った命令に従ってネットワークデバイスドライバに前記受け取った情報を送信する命令を出す。前記ネットワークデバイスドライバは、前記受け取った命令に従って前記ネットワークインターフェースに送信命令を出す。前記ネットワークインターフェースは、受け取った命令に従って、クライアント装置５−２２に前記情報を送信する。
【００２１】
クライアント装置５−２２のネットワークインターフェース５−１１は、前記サーバ装置５−２１のネットワークインターフェース５−１４から送信された前記情報を受信する。前記ネットワークインターフェースが前記サーバ装置から前記情報を受け取ると、ネットワークドライバ５−７に前記受け取った情報が渡される。ネットワーク処理サブシステム５−５は、前記ネットワークドライバが前記受け取った情報を受け取る。前記ネットワーク処理サブシステムが前記クライアント装置からの前記情報を受け取ると、仮想ディスクドライバ５−８は、前記ネットワーク処理サブシステムから前記受け取った情報を取得し、ファイルサブシステム５−４に渡す。前記ファイルサブシステムは、前記受け取ったファイルの情報をデバイスドライバから受けとると、前記受け取った情報をファイルとして形を整え、前記形を整えられた情報をユーザプログラムに渡す。
【００２２】
上記実施形態において、本発明を情報システムとして実施した。しかし、本発明は、クライアント装置、サーバ装置、システム構成方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体として実施することもできる。
【図面の簡単な説明】
【００２３】
【図１】コンピュータの構成図。
【図２】ＦＴＰシステムの構成図。
【図３】ＮＦＳシステムの構成図。
【図４】デバイス同士を直接ネットワーク接続するシステムの構成図。
【図５】本発明の一実施形態に係る情報システムの構成図。
【図６】図５のクライアント装置の処理手順を示すフローチャート。
【図７】図５のサーバ装置の処理手順を示すフローチャート。
【符号の説明】
【００２４】
１−１：ユーザプログラム、  １−２：オペレーティングシステム、  １−３〜１−６：サブシステム、１−３：プロセス管理サブシステム、  １−４：メモリ管理サブシステム、  １−５：ファイルシステムサブシステム、  １−６：ネットワーク管理サブシステム、  １−７〜１−１２：デバイスドライバ、  １−７：メモリマネージャ、  １−８：ディスクドライバ、  １−９：ディスプレイドライバ、  １−１０：キーボードドライバ、  １−１１：マウスドライバ、  １−１２：ネットワークドライバ、１−１３〜１−１９：デバイス、  １−１３：ネットワークインターフェース、  １−１４：マウス、  １−１５：キーボード、  １−１６：表示装置、  １−１７：ハードディスク、  １−１８：メモリ、  １−１９：ＣＰＵ、
２−１：ユーザプログラムとアプリケーションプログラム、  ２−２：ユーザプログラム、  ２−３：ＦＴＰクライアント、  ２−４：オペレーティングシステム（ＯＳ）、  ２−５：サブシステム全体、  ２−６：ファイルシステム、  ２−７：ネットワーク処理サブシステム、  ２−８：デバイスドライバ全体、  ２−９：ディスクドライバ、  ２−１１０：ネットワークドライバ、  ２−１１：ネットワークインターフェース、  ２−１２：ハードディスク、  ２−１３：ネットワーク、  ２−１４：ネットワークインターフェース、  ２−１５：ハードディスク、２−１６：ネットワークドライバ、  ２−１７：ディスクドライバ、  ２−１８：デバイスドライバ全体、  ２−１９：ネットワーク処理サブシステム、  ２−２０：サブシステム全体、  ２−２１：ＦＴＰクライアント、  ２−２２：ユーザプログラムとアプリケーションプログラム全体、  ２−２３：サーバ装置、  ２−２４：クライアント装置、
３−１：ユーザプログラムとアプリケーションプログラム全体、  ３−２：ユーザプログラム、  ３−３：ＮＴＳクライアント、  ３−４：オペレーティングシステム全体、  ３−５：サブシステム全体、  ３−６：ファイルシステム、  ３−７：ネットワーク処理サブシステム、  ３−８：デバイスドライバ全体、  ３−９：ディスクドライバ、  ３−１０：ネットワークドライバ、  ３−１１：ネットワークインターフェース、  ３−１２：ハードディスク、  ３−１３：クライアント装置全体、  ３−１４：ネットワークインターフェース、  ３−１５：ハードディスク、  ３−１６：ネットワークドライバ、  ３−１７：ディスクドライバ、  ３−１８：デバイスドライバ全体、  ３−１９：ネットワーク処理サブシステム、  ３−２０：ファイルシステム、  ３−２１：サブシステム全体、  ３−２２：ＮＦＳサーバ、  ３−２３：ユーザプログラムとアプリケーションプログラム全体、  ３−２４：サーバ装置、  ３−２５：クライアント装置、
４−１：ユーザプログラムとアプリケーションプログラム全体、  ４−２：ユーザプログラム、  ４−３：オペレーティングシステム、  ４−４：サブシステム全体、  ４−５：ファイルシステム、  ４−６：ネットワーク処理サブシステム、  ４−７：デバイスドライバ全体、  ４−８：ディスクドライバ、  ４−９：ネットワークドライバ、  ４−１０：ハードディスク、  ４−１１：ネットワークインターフェース、  ４−１２：ネットワーク、  ４−１３：コンピュータ全体、  ４−１４：ネットワークインターフェース、  ４−１５：ハードディスク、
５−１：ユーザプログラムとアプリケーションプログラム全体、  ５−２：ユーザプログラム、  ５−３：オペレーティングシステム、  ５−４：ファイルシステム、  ５−５：ネットワーク処理サブシステム、  ５−６：デバイスドライバ全体、  ５−７：ネットワークドライバ、  ５−８：仮想ディスクドライバ、  ５−９：ディスクドライバ、  ５−１０：ハードディスク、  ５−１１：ネットワークインターフェース、  ５−１２：ネットワーク、  ５−１３：ハードディスク、  ５−１４：ネットワークインターフェース：  ５−１５：ディスクドライバ、  ５−１６：ネットワークドライバ、  ５−１７：デバイスドライバ全体、  ５−１８：ディスクドライバネットワークインターフェース、  ５−１９：ネットワーク処理サブシステム、  ５−２０：サブシステム全体、  ５−２１：サーバ装置、  ５−２２：クライアント装置、
６−１〜６−８：  クライアントの処理のステップ、  ７−１〜７−７：  サーバの処理のステップ
【図１】
2010061264.tif 000003
【図２】
2010061264.tif 000004
【図３】
2010061264.tif 000005
【図４】
2010061264.tif 000006
【図５】
2010061264.tif 000007
【図６】
2010061264.tif 000008
【図７】
2010061264.tif 000009