(57)【要約】【課題】アプリケーションプログラムを変更することなくネットワークを使用するアプリケーションプログラムでネットワークアプリケーションの向けのハードウェアを使用可能にすることが出来るハードウェア制御方法および情報処理システムを提供することにある。【解決手段】ネットワークを利用する既存アプリケーションがすでにネットワークに対応していることを利用し、サーバ機能としてのネットワークインタフェースを提供するソケットインタフェース対応部１０３を持つハードウェア制御プログラム１０２によって解決する。これによりネットワークを利用する既存アプリケーションはネットワークインタフェースを介してハードウェア制御プログラムのソケットインタフェース対応部にアクセスできるのでハードウェアデバイスの利用が可能となる。【選択図】  図１
2004355511.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースと、ネットワークアプリケーションの処理を受け持つハードウェアデバイスとを有し、ＯＳによって管理されて動作する情報処理システムであって、
前記ＯＳには、ループバックアドレス又は自局アドレスのポートを使用するサーバ機能を有し、前記ハードウェアデバイスを制御するデバイスドライバからなるハードウェア制御プログラムを有することを特徴とする情報処理システム。
【請求項２】
前記ＯＳには、更に前記ネットワークインタフェースを利用して通信を行うインターネットプロトコルを処理するプロトコルスタックからなるハードウェア制御プログラムを有することを特徴とする請求項１記載の情報処理システム。
【請求項３】
アプリケーションプログラムが、接続先アドレスとして前記サーバ機能が使用しているループバックアドレス又は自局アドレスのポートを指定することにより前記ハードウェア制御プログラムと通信を行うことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記ハードウェア制御プログラムが、アプリケーションプログラムと外部ネットワーク上のサーバとの間で通信することを特徴とする請求項１又は２記載の情報処理システム。
【請求項５】
前記ハードウェア制御プログラムが、アプリケーションプログラムと外部ネットワーク上のサーバ間の通信を中継することを特徴とする請求項１又は２記載の情報処理システム。
【請求項６】
前記デバイスドライバには、プロトコル変換部と、プロトコル変換テーブルとを有することを特徴とする請求項１又は２記載の情報処理システム。
【請求項７】
前記デバイスドライバは、アプリケーションプログラムと通信するＴＣＰ／ＩＰより上のプロトコルと、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバと通信するＴＣＰ／ＩＰより上のプロトコルとが異なるとき、前記アプリケーションプログラムから受信したデータを前記プロトコル変換部により前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバの使用するプロトコルにあわせ変換してそのサーバに送信することを特徴とする請求項６記載の情報処理システム。
【請求項８】
前記デバイスドライバは、アプリケーションプログラムと通信するＴＣＰ／ＩＰより上のプロトコルと、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバと通信するＴＣＰ／ＩＰより上のプロトコルとが異なるとき、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバから受信したデータを前記プロトコル変換部により前記アプリケーションプログラムの使用するプロトコルにあわせて変換してアプリケーションプログラムに送信することを特徴とする請求項６記載の情報処理システム。
【請求項９】
ネットワークを利用するネットワークアプリケーションと、
該ネットワークアプリケーションの処理を受け持つハードウェアデバイスと、
サーバ機能としてのネットワークインタフェースを提供するソケットインタフェース対応部を有し、前記ハードウェアデバイスを制御するデバイスドライバからなるハードウェア制御プログラムとを有し、
前記ネットワークアプリケーションは、ネットワークインタフェースを介して前記ハードウェア制御プログラムのソケットインタフェース対応部にアクセスして前記ハードウェアデバイスの利用を可能とすることを特徴とする情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを利用した情報処理システムに関し、特に該情報処理システム上のアプリケーションプログラムで利用するハードウェアの効率的な制御技術に関する。
【０００２】
【従来の技術】
情報処理システムは、ＣＰＵ、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク）、入出力装置（キーボード、マウス、ディスプレイ、ネットワーク）など様々なハードウェア資源を持つ。一般に異なるハードウェアの仕様の違いを吸収し、そのシステム上のアプリケーションプログラムに共通の環境を提供するためＯＳによってシステムの管理を行う。
【０００３】
ＯＳによるデバイスの管理は、特開平７−１３７７８号公報に記載されているように、図７に示す構成で行われる。ＯＳ２０１はメモリの管理、スケジューリング、入出力の管理を行い、ハードウェアデバイス２０２の制御はその固有のデバイスドライバ２０３を介して行う。アプリケーションプログラム２０４、２０５は、ＯＳの用意するＡＰＩ２０６を介してデバイスドライバ２０３を制御し、ハードウェアデバイス２０２を利用する。図２中にデバイスを一つしか示していないが、通常デバイスは複数存在し、夫々のデバイスにデバイスドライバが用意される。
【０００４】
ＴＣＰ／ＩＰ等を利用するネットワークを用いる場合も、ＮＩＣ（ネットワークインタフェースカード）２０７のデバイスドライバ２０８を介してＮＩＣ２０７を制御するが、特開平７−２７３８０３号公報にあるようにデバイスドライバ２０８の上位にＩＰモジュール２０９、ＴＣＰモジュール２１０、ＵＤＰモジュール２１１等からなるプロトコルスタックが構成される。ネットワークを使用するアプリケーションは、ソケットインタフェース２１２を介してプロトコルスタックを利用し、デバイスドライバ２０８によるＮＩＣ２０７の制御を行って通信を行う。アプリケーションプログラム２０４、２０５は、ソケットインタフェース２１２によりＩＰモジュール２０９、ＴＣＰモジュール２１０、ＵＤＰモジュール２１１を利用でき、インターネット上の様々なサービスに接続できる。
【０００５】
しかし、アプリケーション２０４、２０５の利用するハードウェアデバイス２０２は、ＯＳ２０１によって定められたデバイスドライバ２０３によって制御され、ネットワークとしてのインタフェースとは関連性が無く、アプリケーション２０４、２０５でデバイスを使用するためにはデバイスごとにＯＳの定めたＡＰＩ対応部２１３を設ける必要があった。
【０００６】
【発明が解決しようとする課題】
従来、ＴＣＰ／ＵＤＰより上位のプロトコル及び通信データの処理を行うハードウェアをアプリケーションで使用するには、アプリケーションにそのハードウェア専用のインタフェースを設ける必要があった。この為、ＴＣＰ／ＵＤＰより上位のプロトコル及び通信データの処理を行うハードウェアをシステムに追加しても既存のアプリケーションプログラムでは使用することができない。使用するためには、既存のアプリケーションの変更も必要となり膨大なソフトウェア資産の変更が必要となるので、新規ハードウェアデバイスの利用が難しいという課題を有していた。
【０００７】
また、アプリケーションプログラムで新規ハードウェアデバイスに対応するとデバイスの有無でソフトウェアの構成の種類も増え、アプリケーションプログラムの移植性を損なうという課題も有していた。
【０００８】
また、ＳＳＬアクセラレータなど新規のデバイスが開発され、そのデバイスを既存アプリケーションより使用しようとすると、上述したようにアプリケーションにＡＰＩ対応部を追加し、デバイスの制御を行うよう変更を加える必要がある。
【０００９】
この様に、従来のデバイスドライバによるデバイスの制御方法では、ハードウェアによる既存アプリケーションの拡張はＯＳ、追加デバイスごとにアプリケーションに変更を加える必要があり、工数がかかり、ハードウェアデバイスの追加による機能拡張が難しいという課題を有していた。
【００１０】
【課題を解決するための手段】
本発明は、ネットワークを利用する既存アプリケーションがすでにネットワークに対応していることを利用し、サーバとしてのネットワークインタフェースを提供するソケットインタフェース対応部を持つハードウェア制御プログラムによって上記課題を解決する。これにより、ネットワークを利用する既存アプリケーションは、ネットワークインタフェースを介してハードウェア制御プログラムのソケットインタフェース対応部にアクセスできるので、ハードウェアデバイスの利用が可能となる。
【００１１】
また、本発明は、ネットワークインタフェースと、ネットワークアプリケーションの処理を受け持つハードウェアデバイスとを有し、ＯＳによって管理されて動作する情報処理システムであって、前記ＯＳには、ループバックアドレス又は自局アドレスのポートを使用するサーバ機能を有し、前記ハードウェアデバイスを制御するデバイスドライバからなるハードウェア制御プログラムを有することを特徴とする情報処理システムである。
【００１２】
また、本発明は、前記ＯＳには、更に前記ネットワークインタフェースを利用して通信を行うインターネットプロトコルを処理するプロトコルスタックからなるハードウェア制御プログラムを有することを特徴とする。
【００１３】
また、本発明は、前記情報処理システムにおいて、アプリケーションプログラムが、接続先アドレスとして前記サーバ機能が使用しているループバックアドレス又は自局アドレスのポートを指定することにより前記ハードウェア制御プログラムと通信を行うことを特徴とする。
【００１４】
また、本発明は、前記ハードウェア制御プログラムが、アプリケーションプログラムと外部ネットワーク上のサーバとの間で通信することを特徴とする。また、本発明は、前記ハードウェア制御プログラムが、アプリケーションプログラムと外部ネットワーク上のサーバ間の通信を中継することを特徴とする。
【００１５】
また、本発明は、前記デバイスドライバには、プロトコル変換部と、プロトコル変換テーブルとを有することを特徴とする。
【００１６】
また、本発明は、前記デバイスドライバは、アプリケーションプログラムと通信するＴＣＰ／ＩＰより上のプロトコルと、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバと通信するＴＣＰ／ＩＰより上のプロトコルとが異なるとき、前記アプリケーションプログラムから受信したデータを前記プロトコル変換部により前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバの使用するプロトコルにあわせ変換してそのサーバに送信することを特徴とする。
【００１７】
また、本発明は、前記デバイスドライバは、アプリケーションプログラムと通信するＴＣＰ／ＩＰより上のプロトコルと、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバと通信するＴＣＰ／ＩＰより上のプロトコルとが異なるとき、前記プロトコル変換テーブルに登録されている外部ネットワーク上のサーバから受信したデータを前記プロトコル変換部により前記アプリケーションプログラムの使用するプロトコルにあわせて変換してアプリケーションプログラムに送信することを特徴とする。
【００１８】
また、本発明は、ネットワークを利用するネットワークアプリケーションと、該ネットワークアプリケーションの処理を受け持つハードウェアデバイスと、サーバ機能としてのネットワークインタフェースを提供するソケットインタフェース対応部を有し、前記ハードウェアデバイスを制御するデバイスドライバからなるハードウェア制御プログラムとを有し、前記ネットワークアプリケーションは、ネットワークインタフェースを介して前記ハードウェア制御プログラムのソケットインタフェース対応部にアクセスして前記ハードウェアデバイスの利用を可能とすることを特徴とする情報処理システムである。
【００１９】
【発明の実施の形態】
本発明に係る実施の形態について図面を用いて説明する。
【００２０】
まず、本発明に係る第１の実施の形態について図１及び図２を用いて説明する。図１は、本発明に係るネットワークアプリケーション向けハードウェア制御方法の第１の実施の形態の説明図である。
【００２１】
ＯＳ２０１はメモリの管理、スケジューリング、入出力の管理を行うものである。ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等を利用するネットワークを用いる場合も、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ：ネットワークインタフェースカード）２０７のデバイスドライバ２０８を介してＮＩＣ２０７を制御する。デバイスドライバ２０８の上位には、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）モジュール２０９、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）モジュール２１０、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）モジュール２１１等からなるプロトコルスタックが構成される。ネットワークを使用するアプリケーション１０４は、ソケットインタフェース２１２を介してプロトコルスタックを利用し、デバイスドライバ２０８によるＮＩＣ２０７の制御を行って通信を行う。アプリケーションプログラム１０４は、ソケットインタフェース２１２によりＩＰモジュール２０９、ＴＣＰモジュール２１０、ＵＤＰモジュール２１１を利用でき、インターネット上の様々なサービスに接続できる。
【００２２】
更に、１０１はネットワークアプリケーション向けハードウェアデバイスである。１０２はハードウェアデバイス１０１のデバイスドライバであり、ソケットインタフェースを使用するネットワークインタフェース機能部１０３を有する。そして、１０４はソケットインタフェースを利用しネットワークを利用するアプリケーションプログラムである。
【００２３】
なお、アプリケーションプログラム１０４は、ＯＳの用意するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）２０６を介してデバイスドライバ１０２を制御し、ハードウェアデバイス１０１を利用することも可能である。
【００２４】
アプリケーション１０４は、ハードウェアデバイス１０１を使用しない場合にはソケットインタフェース２１２を介し、ＴＣＰモジュール２１０、ＵＤＰモジュール２１１、ＩＰモジュール２０９などのプロトコルスタックを利用し、デバイスドライバ２０８を介してＮＩＣ２０７の制御を行って通信する。このとき、アプリケーション１０４の接続するサーバは、ＮＩＣ２０７により繋がっている外部のネットワーク上にある。
【００２５】
本発明では、アプリケーション１０４がハードウェアデバイス１０１を使用するために、デバイスドライバ１０２にネットワークインタフェース機能部１０３を設け、デバイスドライバ１０２をループバックアドレス又は自局アドレスで動作するサーバとして機能させることにある。そして、アプリケーション１０４は、アプリケーション１０４の接続するサーバのアドレスとして、ループバックアドレス又は自局アドレスを指定することによって、デバイスドライバ１０２と通信し、ハードウェアデバイス１０１の制御を可能とする。
【００２６】
図２は、デバイスドライバ１０２の動作フローチャートを示している。デバイスドライバ１０２は、まず、ステップ３０１において、ハードウェアデバイス１０１の初期化を行う。これによりハードウェアデバイス１０１が使用可能な状態になる。次に、ステップ３０２において、ソケットインタフェース２１２との通信路を確保し、ソケットインタフェースを使用可能な状態にする。そして、確保した通信路のポート番号とＩＰアドレスをステップ３０３において決定する。このとき設定するＩＰアドレスはループバックアドレス（１２７．０．０．１）又は自局アドレスとする。
【００２７】
ネットワーク使用可能状態となったところで、ステップ３０４においてアプリケーション１０４からの接続を受け付ける。アプリケーション１０４からの接続を受け付け完了後、ステップ３０５においてアプリケーション１０４からの要求を受信する。その受信内容からアプリケーションの最終的に接続しようとしているネットワーク上のサーバのアドレスを取り出し、ステップ３０６でネットワーク上のサーバに接続する。さらに、ステップ３０７においてアプリケーション１０４からの要求を受信した後、ステップ３０８でその受信した要求データの加工及び要求データの生成をハードウェアデバイス１０１を用いて行う。そして、ステップ３０９において、ステップ３０７で加工または生成された要求データをステップ３０６で接続を確立したネットワーク上のサーバに送信する。次に、ステップ３０６で接続を確立したネットワーク上のサーバからの応答をステップ３１０にて行い、その受信した応答データの加工または応答データの生成をハードウェアデバイス１０１を利用して行うステップ３１１を実行する。そして、次のステップ３１２において、ステップ３１１で加工または生成された応答データをステップ３０４において接続を確立しているアプリケーションプログラム１０４へ送信する。このステップ３０５から３１２実行中にアプリケーションプログラム１０４からの切断要求またはエラーがないかをステップ３１３において判定し、切断要求、エラーがなければステップ３０７から３１２を繰り返す。切断要求またはエラーがあった場合は再びステップ３０４にもどりアプリケーション１０４からの接続を受け付ける。
【００２８】
このフローチャート中のハードウェアデバイス１０１を制御するステップ３０１、３０８、３１１を除くステップはネットワークインタフェース機能部１０３を介してアプリケーションプログラム１０４またはネットワーク上のサーバと通信することによって実現される。
【００２９】
この様に、デバイスドライバ１０２が動作することにより、アプリケーションプログラム１０４の設定でプロキシサーバとしてループバックアドレスまたは自局アドレスで動作するサーバを指定するだけで、アプリケーションプログラム１０４でＡＰＩ対応部の用意されていないハードウェアデバイス１０１を使用できるようになる。
【００３０】
ステップ３０３で決定されるＩＰアドレスが自局アドレスである場合には、ＮＩＣ２０７、デバイスドライバ２０８、ＩＰモジュール２０９、ＴＣＰモジュール２１０、ＵＤＰモジュール２１１、ソケットインタフェース２１２を介してネットワーク上の他局からハードウェアデバイス１０１が使用可能となる。ハードウェアデバイス１０１がセキュリティ上外部から使用されてはならない場合や、システム固有のデバイスである場合はステップ３０３で決定するアドレスはループバックアドレスが望ましいと考えられる。
【００３１】
図２ではデバイスドライバ１０２がプロキシサーバとして機能する場合の動作を示したが、デバイスドライバ１０２はプロキシサーバとしてだけでなく、ｈｔｔｐｄ，  ｆｔｐｄ，  ｔｅｌｎｅｔｄ  等、使用するアプリケーションのプロトコルに対応したサーバの形式をとってハードウェアデバイス１０１を制御しても良い。
【００３２】
また、図１においてネットワークアプリケーション向けハードウェアデバイス１０１が１つである場合を示しているが、ネットワークアプリケーション向けハードウェアデバイス１０１は複数あっても良い。この場合は、夫々のデバイスにデバイスドライバ１０２を用意することでＡＰＩ対応部を持たないアプリケーション１０４で各デバイスが使用可能となる。また、複数のハードウェアデバイスを連携して動作させて効果が得られる場合は一つのデバイスドライバ１０２で複数のネットワークアプリケーション向けハードウェアデバイス１０１を制御しても良い。
【００３３】
次に、本発明に係るネットワークアプリケーション向けハードウェア制御方法をＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）アクセラレータに適用した第２の実施の形態について説明する。図４はＳＳＬアクセラレータを持つ情報処理システムの一実施例を示すブロック図である。ＳＳＬアクセラレータを持つ情報処理システムは、ＣＰＵ４０１、ＲＯＭ４０２、メインメモリ４０３、キーボードやマウスなどのＩ／Ｏ４０４、ＳＳＬアクセラレータ４０５、ディスプレイ４０７に表示する画像を表示するための表示コントローラ４０６、ＮＩＣ４０８がバスで接続されている構成をとっている。そして、ディスプレイコントローラ４０６にディスプレイ４０７が接続されており、画像を表示できる構成となっている。ＳＳＬアクセラレータ４０５は、ＳＳＬで使用する暗号の高速な暗号化及び復号化機能を提供する。これらの機能は暗号、復号演算の専用ハードウェアで構成されるため、ＣＰＵ４０１によりソフトウェアで行うのに比べ高速に暗号及び復号処理が可能となる。また、ＮＩＣ４０８はネットワークにつながり、サーバ４０９に接続可能となっている。この様なハードウェアシステム上で図４の構成のソフトウェアが動作する。
【００３４】
図４において、５０２はＳＳＬアクセラレータのデバイスドライバであり、ネットワークインタフェース機能部１０３を持つ。そして、このＳＳＬアクセラレータのデバイスドライバ５０２は図２のフローチャートに従い動作し、プロキシサーバとして機能する。また、５０４はネットワークを利用するアプリケーションでＷｅｂブラウザであり、図５に示すような画面でｈｔｔｐ  （ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ），  ｈｔｔｐｓ  （ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ，  ｓｅｃｕｒｅ），  ｆｔｐ  （ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ），  ｇｏｐｈｅｒ  のプロキシサーバを設定可能である。この画面でｈｔｔｐｓ  のプロキシサーバの項目に図２のステップ３０３で決定したアドレスとポート番号を設定することで、ＳＳＬを使用するｈｔｔｐ  プロトコルである  ｈｔｔｐｓ  を使用するサーバ４０９にアクセスするときには直接サーバ４０９に接続するのではなくｈｔｔｐｓプロキシサーバとして機能しているＳＳＬアクセラレータデバイスドライバ５０２を経由してサーバ４０９に接続するようになる。この為、図２のステップ３０８でＳＳＬアクセラレータ４０５の暗号化機能を利用して送信データの暗号化を高速に行い、ステップ３０９でサーバ４０９に送信できるようになる。
【００３５】
またステップ３１０でサーバ４０９より受信したデータを、ステップ３１１でＳＳＬアクセラレータ４０５の復号化機能を利用して受信データの高速な復号を行い、復号結果をＷｅｂブラウザ５０４に送信できるようになる。この結果Ｗｅｂブラウザ５０４は復号結果を受信できる。
【００３６】
この様にＣＰＵ４０１で行うと処理時間のかかるＳＳＬの暗号及び復号処理をＷｅｂブラウザ５０４の変更を行うことなく、ＳＳＬアクセラレータ４０５で行うことによって高速に処理可能となる。
【００３７】
Ｗｅｂブラウザ５０４の中には図５の様にｈｔｔｐｓ  プロキシサーバを設定できないものもある。この場合は、図６に示すようにプロトコル変換部であるｈｔｔｐ，  ｈｔｔｐｓ  変換部７０１とプロトコル変換テーブルであるｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２を持つＳＳＬアクセラレータデバイスドライバ７０３で対応できる。この、ＳＳＬアクセラレータのデバイスドライバ７０３はＷｅｂブラウザ５０４に対してはｈｔｔｐ  プロキシサーバとして働く。Ｗｅｂブラウザ５０４のプロキシサーバの設定ではｈｔｔｐ  プロキシサーバとしてＳＳＬアクセラレータデバイスドライバ７０３のステップ３０３で決定したＩＰアドレスとポートを設定して使用する。このＳＳＬアクセラレータのデバイスドライバ７０３は、ほぼ図２のフローチャートに従って動作するが、ステップ３０５でＷｅｂブラウザから受信した後に、ステップ７０４（ステップ３１１に対応する）でサーバから受信したデータを復号し、該復号した後にステップ７０５（図示せず）を挿入した形で動作する。
【００３８】
ステップ３１１と３１２との間に挿入されるステップ７０５は、ｈｔｔｐ，  ｈｔｔｐｓ変換部７０１で行われ、ｈｔｍｌデータの加工を行う。受信した  ｈｔｍｌ  データ中に  ｈｔｔｐｓ  サーバに対するリンクを発見すると、ｈｔｔｐｓ  を  ｈｔｔｐ  に変換し、そのサーバに対するアドレスをｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２に登録する。ステップ７０４も、ｈｔｔｐ，  ｈｔｔｐｓ変換部７０１で行う。このステップ７０４では、次に接続しようとするサーバがｈｔｔｐ，  ｈｔｔｐｓ変換テーブル７０２を確認し、そのサーバが変換テーブル７０２に登録されていれば使用するプロトコルをｈｔｔｐｓとし、次のステップ３０６で接続を確立する。また、ステップ３０８、及びステップ３１１ではステップ３０６で接続されたプロトコルがｈｔｔｐｓである場合のみ働き、ＳＳＬ処理のアクセラレートを行い、ｈｔｔｐで接続されている場合はデータの加工を行わない。この様にＳＳＬアクセラレータデバイスドライバ５０２にｈｔｔｐ，  ｈｔｔｐｓ  変換部７０１とｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２を付加し、ステップ７０４及び７０５（図示せず）を追加し、ステップ３０８，３１１の動作を変更した  ｈｔｔｐプロキシサーバとして機能するＳＳＬアクセラレータデバイスドライバ７０３により、ｈｔｔｐｓプロキシサーバの設定のできないＷｅｂブラウザ５０４であってもＳＳＬアクセラレータ４０５が使用可能となる。
【００３９】
なお、これらｈｔｔｐおよびｈｔｔｐｓは、共にＴＣＰ／ＩＰより上のプロトコルであり、互いに異なることになる。従って、ＳＳＬアクセラレータデバイスドライバ７０３は、アプリケーションプログラムであるＷｅｂブラウザ５０４と通信するプロトコルであるｈｔｔｐと、ｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２に登録されているｈｔｔｐｓ  プロキシサーバと通信するプロトコルであるｈｔｔｐｓとが異なるとき、上記Ｗｅｂブラウザ５０４から受信したデータを上記ｈｔｔｐ，  ｈｔｔｐｓ  変換部７０１により上記ｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２に登録されているｈｔｔｐｓ  プロキシサーバの使用するｈｔｔｐｓにあわせ変換してそのサーバに送信することになる。
【００４０】
また、ＳＳＬアクセラレータデバイスドライバ７０３は、Ｗｅｂブラウザ５０４と通信するプロトコルであるｈｔｔｐと、ｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２に登録されているｈｔｔｐｓ  プロキシサーバと通信するプロトコルであるｈｔｔｐｓとが異なるとき、上記ｈｔｔｐ，  ｈｔｔｐｓ  変換テーブル７０２に登録されているｈｔｔｐｓ  プロキシサーバから受信したデータを上記ｈｔｔｐ，  ｈｔｔｐｓ  変換部７０１により上記Ｗｅｂブラウザ５０４の使用するｈｔｔｐにあわせて変換してＷｅｂブラウザ５０４に送信することになる。
【００４１】
ここまでネットワークと関連をもつハードウェアデバイスとしてＳＳＬアクセラレータを適用した場合について説明したが、音声合成、音声認識、生体認証、画像音声圧縮、伸張アクセラレータ、描画アクセラレータ、構文解析アクセラレータ描画、アクセラレータ、ｊｐｅｇ，  ｐｎｇ，  ｘｍｌ，  ｈｔｍｌ  のアクセラレータ等ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）以上のプロトコル及びネットワークと結びついたアプリケーションの処理をハードウェアデバイスで行う場合も、同様のデバイスドライバによりアプリケーションの変更をすることなくそのハードウェアデバイスドライバが使用可能となる。
【００４２】
【発明の効果】
本発明によれば、ネットワークアプリケーション向けハードウェア制御方法を用いることによって、アプリケーションプログラムを変更することなくネットワークを使用するアプリケーションプログラムでネットワークアプリケーションの向けのハードウェアを使用可能にすることが出来る。
【００４３】
また、本発明によれば、ネットワークと結びついたアプリケーションをサポートするハードウェアの制御をＯＳごとに異なるデバイスドライバのインタフェースでなく、ネットワークインタフェースで取り扱えるためアプリケーションの移植が容易になる。
【００４４】
また、本発明によれば、センサ等、今までネットワークと関連の無かったデバイスの制御を容易にネットワークに関連付けることが可能となる。
【図面の簡単な説明】
【図１】本発明に係るネットワークアプリケーション向けハードウェア制御方法を実行するデバイスドライバを備えた情報処理システムの一実施の形態を示す図である。
【図２】本発明に係るデバイスドライバの動作フローチャートの一実施例を示す図である。
【図３】本発明に係るＳＳＬアクセラレータを持つ情報処理システムの一実施の形態を示すブロック構成図である。
【図４】本発明に係るＳＳＬアクセラレータ制御方法を実行するＳＳＬアクセラレータデバイスドライバデバイスドライバを備えた情報処理システムの一実施の形態を示す図である。
【図５】プロキシサーバ設定画面の一実施例を示す図である。
【図６】本発明に係るｈｔｔｐ，  ｈｔｔｐｓ  変換機能付きＳＳＬアクセラレータ制御方法を実行するＳＳＬアクセラレータデバイスドライバデバイスドライバを備えた情報処理システムの一実施の形態を示す図である。
【図７】従来のハードウェア制御方法の説明図である。
【符号の説明】
１０１…ネットワークアプリケーション向けハードウェアデバイス、
１０２…ハードウェアデバイス１０１のデバイスドライバ、
１０３…ネットワークインタフェース機能部、
１０４…ネットワークを利用するアプリケーションプログラム、
２０１…ＯＳ（オペレーティングシステム）、
２０６…ＡＰＩ（アプリケーションプログラムインタフェース）、
２０７…ＮＩＣ（ネットワークインタフェースカード）、
２０８…ＮＩＣのデバイスドライバ、
２０９…ＩＰモジュール、２１０…ＴＣＰモジュール、
２１１…ＵＤＰモジュール、２１２…ソケットインタフェース、
４０１…ＣＰＵ、４０２…ＲＯＭ、４０３…メインメモリ、４０４…Ｉ／Ｏ、
４０５…ＳＳＬアクセラレータ、４０６…ディスプレイコントローラ、
４０７…ディスプレイ、４０８…ＮＩＣ、
４０９…ｈｔｔｐｓ  を使用するサーバ、
５０２…ＳＳＬアクセラレータデバイスドライバ、
５０４…Ｗｅｂブラウザ（アプリケーションプログラム）、
７０１…ｈｔｔｐ、ｈｔｔｐｓ変換部（プロトコル変換部）、
７０２…ｈｔｔｐ、ｈｔｔｐｓ変換テーブル（プロトコル変換テーブル）、
７０３…ＳＳＬアクセラレータデバイスドライバ。
【図１】
2004355511.tif 000003
【図２】
2004355511.tif 000004
【図３】
2004355511.tif 000005
【図４】
2004355511.tif 000006
【図５】
2004355511.tif 000007
【図６】
2004355511.tif 000008
【図７】
2004355511.tif 000009