(57)【要約】【課題】通信の安全性を向上させる。【解決手段】第１の情報処理装置と、第１の情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルで第１の情報処理装置と接続された第２の情報処理装置と、を備える。第１の情報処理装置が備える送信部は、共有記憶部に完了データが記憶されているか否か判定し、完了データが記憶されていない場合、新たな送信データを共有記憶部に保存し、該新たな送信データの保存後に共有記憶部に完了データを保存する。第２の情報処理装置が備える受信処理部は、共有記憶部に完了データが記憶されているか否か判定し、完了データが記憶されている場合、送信データを前記共有記憶部から読み込み、読み込み完了後に、送信データと前記完了データを共有記憶部から削除する。【選択図】図１
2015114993.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、前記第１の情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルで前記第１の情報処理装置と接続された第２の情報処理装置と、を備える通信システムであって、
前記第２の情報処理装置は、
データを記憶可能な共有記憶部と、
前記インターフェースプロトコルを用いて前記共有記憶部を前記第１の情報処理装置から読み書き可能にするための公開ドライバが記憶されている公開ドライバ記憶部と、
前記公開ドライバ記憶部から前記公開ドライバを読み出して実行する公開ドライバ実行部と、
前記共有記憶部に記憶されたデータを読み込む受信処理部と、
を備え、
前記第１の情報処理装置は、
前記インターフェースプロトコルを用いて前記公開ドライバで公開された前記共有記憶部にアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部と、
送信データと該送信データを前記共有記憶部に保存完了したことを示す完了データを送信可能な送信部と、
前記アクセスドライバ記憶部から前記アクセスドライバを読み出して実行することで、前記送信部による前記ケーブルを介した前記共有記憶部の読み書きを可能にするアクセスドライバ実行部と、
を備え、
前記送信部は、前記共有記憶部に前記完了データが記憶されているか否か判定し、前記完了データが記憶されていない場合、新たな送信データを前記共有記憶部に保存し、該新たな送信データの保存後に前記共有記憶部に完了データを保存し、
前記受信処理部は、前記共有記憶部に前記完了データが記憶されているか否か判定し、完了データが記憶されている場合、前記送信データを前記共有記憶部から読み込み、読み込み完了後に、前記送信データと前記完了データを前記共有記憶部から削除する
通信システム。
【請求項２】
前記受信処理部は、当該受信処理部による送信データの読み込みの成功または失敗を示すステータスデータを前記共有記憶部に記憶させ、
前記送信部は、前記共有記憶部から前記ステータスデータを読み込み、前記読み込んだステータスデータに応じて、前回の送信データの前記共有記憶部への保存、または次の送信データの前記共有記憶部への保存のいずれかを実行する
請求項１に記載の通信システム。
【請求項３】
前記完了データは、送信データの送信完了を示す完了ファイルであり、
前記送信部は、前記送信データ毎に異なるファイル名で前記送信データを前記共有記憶部に保存し、且つ対応する送信データのファイル名を含む完了ファイルを互いに異なるファイル名で前記共有記憶部に保存し、
前記受信処理部は、前記完了ファイルをタイムスタンプの古い順に読み込み、前記完了ファイル内のファイル名の送信データを読み込む
請求項１に記載の通信システム。
【請求項４】
前記第１の情報処理装置は、データを一時格納するバッファ部を備え、
前記送信部は、前記送信データまたは前記完了データを前記共有記憶部に保存できなかった場合、保存できなかったデータをいったん前記バッファ部にバッファデータとして保存し、前記共有記憶部に保存可能になった場合、前記バッファ部からタイムスタンプが古い順にバッファデータを読み出し、読み出したバッファデータを前記共有記憶部に保存する
請求項１に記載の通信システム。
【請求項５】
前記第２の情報処理装置は、複数あり、
前記アクセスドライバ実行部がアクセスドライバを実行することにより、前記送信部は、複数の第２の情報処理装置が備える前記共有記憶部の読み書きが可能になり、
前記送信部は、前記複数の共有記憶部に保存された完了データが全て削除されたか否か確認し、全て削除された場合、次の送信データと完了データを前記複数の共有記憶部に保存する
請求項１に記載の通信システム。
【請求項６】
前記第２の情報処理装置は、
当該第２の情報処理装置が備える前記共有記憶部に第２の送信データと第２の完了データを保存可能な第２の送信部を更に備え、
前記第１の情報処理装置は、
前記ケーブルを介して、前記共有記憶部から第２の送信部が保存した前記第２の送信データと前記第２の完了データを読み出す第２の受信処理部を更に備える
請求項１に記載の通信システム。
【請求項７】
前記第１の情報処理装置は、
当該第１の情報処理装置が接続された第１のネットワーク上の任意の情報処理装置からＩＰ通信により送信されたパケットを受信し、受信したパケットを所定のデータ形式に変換し、変換後のデータを前記送信部に出力する受信変換部を更に備え、
前記第２の情報処理装置は、
前記受信処理部は、前記共有記憶部に記憶された送信データを読み込み、読み込んだ送信データを出力し、
前記受信処理部が出力した送信データをパケットに変換し、変換したパケットを当該第２の情報処理装置が接続された第２のネットワーク上の任意の情報処理装置へＩＰ通信により送信する変換送信部を更に備える
請求項１に記載の通信システム。
【請求項８】
他の情報処理装置とケーブルで接続される情報処理装置であって、
前記インターフェースプロトコルを用いて前記公開ドライバで公開された前記共有記憶部にアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部と、
送信データと該送信データを前記他の情報処理装置が備える共有記憶部に保存完了したことを示す完了データを送信可能な送信部と、
前記アクセスドライバ記憶部に記憶されている前記アクセスドライバを読み出して実行することで、前記送信部から前記ケーブルを介して前記他の情報処理装置が備える共有記憶部にデータを保存可能にするアクセスドライバ実行部と、
を備え、
前記ケーブルは、当該情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルであり、
前記送信部は、前記共有記憶部に前記完了データが記憶されているか否か判定し、前記完了データが記憶されていない場合、新たな送信データと新たな完了データを前記共有記憶部に保存する情報処理装置。
【請求項９】
他の情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルで前記他の情報処理装置と接続される情報処理装置であって、
データを記憶可能な共有記憶部と、
前記インターフェースプロトコルを用いて前記共有記憶部を前記他の情報処理装置からアクセス可能にするための公開ドライバが記憶されている公開ドライバ記憶部と、
前記公開ドライバ記憶部から前記公開ドライバを読み出して実行するドライバ実行部と、
前記共有記憶部に記憶されたデータを読み込む受信処理部と、
を備え、
前記受信処理部は、前記共有記憶部に送信データの送信完了を示す完了データが記憶されているか否か判定し、完了データが記憶されている場合、前記送信データを前記共有記憶部から読み込み、読み込み完了後に、前記送信データと前記完了データを前記共有記憶部から削除する情報処理装置。
【請求項１０】
第１の情報処理装置と、前記第１の情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルで前記第１の情報処理装置と接続された第２の情報処理装置と、を備え、前記第１の情報処理装置は、前記インターフェースプロトコルを用いて前記公開ドライバで公開された前記共有記憶部にアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部を備え、前記第２の情報処理装置は、データを記憶可能な記憶部と、前記インターフェースプロトコルを用いて前記共有記憶部を前記第１の情報処理装置からアクセス可能にするための公開ドライバが記憶されている公開ドライバ記憶部と、を備える通信システムが実行する通信方法であって、
ドライバ実行部が、前記公開ドライバ記憶部から前記公開ドライバを読み出して実行する工程と、
アクセスドライバ実行部が、前記アクセスドライバ記憶部から前記アクセスドライバを読み出して実行することで、前記送信部による前記ケーブルを介した前記共有記憶部の読み書きを可能にする工程と、
送信部が、前記共有記憶部に送信データの送信完了を示す完了データが記憶されているか否か判定し、前記完了データが記憶されていない場合、新たな送信データと新たな完了データを前記共有記憶部に保存する工程と、
受信処理部が、前記共有記憶部に前記完了データが記憶されているか判定し、完了データが記憶されている場合、前記送信データと前記完了データを前記共有記憶部から読み込み、読み込み完了後に、前記送信データと前記完了データを前記共有記憶部から削除する工程と、
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信システム、情報処理装置及び通信方法に関する。
【背景技術】
【０００２】
近年、社会の重要インフラである発電プラント、交通、化学プラント、または原子力などの制御システムのデータを収集し、ビッグデータとして各種解析や活用により、プラントのより効率的な運用につなげるシステムがある。一方でＳＴＵＸＮＥＴ（スタックスネット）に代表される制御システムを狙ったウィルス（ワーム）も報告されており、制御システムのデータをいかに安全に接続し、データを活用できる通信方式が必要となっている。
【０００３】
ここで、通信のセキュリティ性を鑑みるに、片側が危険な脅威ある可能性のある側で、もう片側が守りたいものがある側であることが多い。一般的なファイアウォール（ＦＷ：ＦｉｒｅＷａｌｌ）も同様の考えで外側（脅威ある側）と内側（守りたい側）を定義して設定する場合が多く、場合によっては中間帯（ＤＭＺ：ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）を設けることが有る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９５６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在通信に使用されているＩＰプロトコルは、プロトコル自体が公知であるということに加えて、情報処理装置同士は同一の手順で相互に通信ができるよう等価であるという特徴を持つ。このため、通信している片側の情報処理装置がハッキング（クラッキング）等により悪意を持つ人またはソフトウェアに侵入を許してしまうと、間にファイアウォール（ＦＷ）があったとしても、相手の情報処理装置へその影響を及ぼす場合がある。ＦＷの場合、原則的に双方向の通信が可能となっており、外側からのアクセスに制約を付けられるとしても、ＦＷ自身のセキュリティホールや通信ソフトのセキュリティホールにより内側に侵入される可能性がある。
【０００６】
そこで本発明の一態様は、上記問題に鑑みてなされたものであり、通信の安全性を向上させることを可能とする通信システム、情報処理装置及び通信方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の実施形態に係る通信システムは、第１の情報処理装置と、第１の情報処理装置からのみの発信が可能なインターフェースプロトコルに従うケーブルで第１の情報処理装置と接続された第２の情報処理装置と、を備える。
第２の情報処理装置は、データを記憶可能な共有記憶部と、インターフェースプロトコルを用いて共有記憶部を第１の情報処理装置から読み書き可能にするための公開ドライバが記憶されている公開ドライバ記憶部と、公開ドライバ記憶部から公開ドライバを読み出して実行する公開ドライバ実行部と、共有記憶部に記憶されたデータを読み込む受信処理部と、を備える。第１の情報処理装置は、インターフェースプロトコルを用いて公開ドライバで公開された共有記憶部にアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部と、送信データと該送信データを共有記憶部に保存完了したことを示す完了データを送信可能な送信部と、アクセスドライバ記憶部から上記アクセスドライバを読み出して実行することで、送信部による上記ケーブルを介した共有記憶部の読み書きを可能にするアクセスドライバ実行部と、を備える。送信部は、共有記憶部に上記完了データが記憶されているか否か判定し、完了データが記憶されていない場合、新たな送信データを共有記憶部に保存し、該新たな送信データの保存後に共有記憶部に完了データを保存する。受信処理部は、共有記憶部に上記完了データが記憶されているか否か判定し、完了データが記憶されている場合、送信データを上記共有記憶部から読み込み、読み込み完了後に、送信データと完了データを共有記憶部から削除する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における通信システム１０１の構成を示す概略ブロック図である。
【図２】ＵＳＢケーブル３の端子間の接続図とＴｙｐｅＡのＵＳＢコネクタのピン配置例を示す表Ｔ１である。
【図３】第１の実施形態における第１の情報処理装置１の送信部４と第２の情報処理装置２の受信処理部５の処理の概略例を示すフローチャートである。
【図４】第１の実施形態の変形例における通信システム１０１ａの構成を示す概略ブロック図である。
【図５】第２の実施形態における通信システム１０２の構成を示す概略ブロック図である。
【図６】第２の実施形態における第１の情報処理装置１ｂの送信部４ｂと第２の情報処理装置２ｂの受信処理部５ｂの処理の概略例を示すフローチャートである。
【図７】第３の実施形態における通信システム１０３の構成を示す概略ブロック図である。
【図８】第３の実施形態における第１の情報処理装置１ｃの送信部４ｃと第２の情報処理装置２ｃの受信処理部５ｃの処理の概略例を示すフローチャートである。
【図９】第４の実施形態における通信システム１０４の構成を示す概略ブロック図である。
【図１０】第５の実施形態における通信システム１０５の構成を示す概略ブロック図である。
【図１１】第６の実施形態における通信システム１０６の構成を示す概略ブロック図である。
【図１２】第７の実施形態における通信システム１０７の構成を示す概略ブロック図である。
【発明を実施するための形態】
【０００９】
まず、はじめに各実施形態で共通する事項について説明する。
各実施形態において、通信の脆弱性を招いているＩＰプロトコルにおける情報処理装置（コンピュータ）が相互に等価であるという点に着目し、情報処理装置間の通信が相互に等価でない、例えば一方がホストで一方がターゲットという関係を持つプロトコルを情報処理装置間の通信に使用することで、セキュアな通信を実現する。ここで、ターゲットはホストの命令が無ければ全く動作しないものである。
【００１０】
一方の情報処理装置からのみの発信が可能なインターフェースプロトコルとしては、例えばＵＳＢプロトコルがある。本インターフェースプロトコルで接続される機器は、ホスト（アクセスする側）とターゲット（アクセスされる側）に分類され、ホスト側からの問い合わせに対してターゲットが応答するものであり、ターゲット側からホストに対してアクセスすることは仕組みとして不可能である。なお、ホストには一般的に情報処理装置、ターゲットにはキーボードやマウス、ＵＳＢメモリなどがある。
【００１１】
ただし、２つの情報処理装置間をＵＳＢプロトコルなどの一方の情報処理装置からのみの発信が可能なインターフェースプロトコルで接続するには以下の課題がある。その課題は、一方の情報処理装置から他方の情報処理装置への片方向の通信であるので、他方の情報処理装置がデータを受信したことを一方の情報処理装置へ通知することができないことである。各実施形態では、この課題を解決することで、汎用プロトコルを用いたセキュアな通信を実現する。
【００１２】
また、ＵＳＢプロトコル特有の課題として、以下の課題がある。情報処理装置のＵＳＢコネクタは、通常タイプＡ型のコネクタしかついていないので、タイプＡ型のコネクタ間での通信を可能にすることである。各実施形態では、この課題を解決することで、ＵＳＢプロトコルを用いたセキュアな通信を実現する。
【００１３】
ＵＳＢの端子類／コネクタ形状／ピン配置の仕様は、ＵＳＢ規格で定められており、情報処理装置（ホスト）はタイプＡ型のコネクタ、ＵＳＢメモリなどのターゲットはタイプＢ型のコネクタとなっている必要がある。一方、各実施形態で使用するＵＳＢケーブルは、物理的に２台の情報処理装置を接続することを可能にするため、コネクタの両端がタイプＡ型のＵＳＢケーブルを使用する。また、ＵＳＢのピン配置１番は電源供給用のポートとしてホスト側からターゲット側に電源供給できる規格であるが、２台の情報処理装置で接続した場合には両端とも電源供給側となってしまうため、ピン番号１番については端子間が接続されていないケーブルを使用する。
【００１４】
上記ＵＳＢケーブルにて接続された第１の情報処理装置および第２の情報処理装置の２台の情報処理装置は、第１の情報処理装置がホストとなり第２の情報処理装置がターゲットとなるようにＵＳＢプロトコルを使用してデータ送信を行うように次のように構成される。
【００１５】
データを受信する第２の情報処理装置は、当該第２の情報処理装置がターゲットとしてあたかもＵＳＢメモリのように相手側の第１の情報処理装置から見えるメモリあるいはディスクの一部を第１の情報処理装置を含む他の情報処理装置に公開する共有記憶部を有する。第２の情報処理装置は、共有記憶部に保存されたデータファイルを読み込みまたは書き込みする受信処理部と、ＵＳＢプロトコルを用いて他の情報処理装置から共有記憶部へのアクセスを受け付ける公開ドライバが記憶されている公開ドライバ記憶部と、を備える。また、データを送信する第１の情報処理装置は、データを送信する送信部と、ＵＳＢプロトコルを用いて第２の情報処理装置の共有記憶部へアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部と、を備える。
【００１６】
公開ドライバは、第２の情報処理装置内の任意の保存領域を共有記憶部に設定し、外部情報処理装置からＵＳＢプロトコルにより読み書きできるようにするソフトウェアである。この場合、第２の情報処理装置はＵＳＢのホストとターゲットに分類すると、ターゲット側として振る舞うものであり、第２の情報処理装置から第１の情報処理装置の発信はできないものとして構成される。
【００１７】
アクセスドライバは、ＵＳＢのホストとターゲットに分類するとホスト側として振る舞うようにするソフトウェアであり、ＵＳＢプロトコルにより公開ドライバで公開される共有記憶部に対し、ＵＳＢマスストレージと同様に第１の情報処理装置から読み書きできるようにするソフトウェアである。
【００１８】
これにより、第１の情報処理装置から見ると第２の情報処理装置の共有記憶部はあたかも第１の情報処理装置に挿しこまれたＵＳＢメモリであるかのように見えることになる。
【００１９】
このように構成することにより、第１の情報処理装置および第２の情報処理装置に実装するハードウェアは、一般的なＵＳＢ機器を構成する部品のみを用いて構成することができるため、専用のハードウェアを組み込む必要が無く、安価に２台の情報処理装置の接続を実現することが可能となる。また、第１の情報処理装置からのみの発信が可能な汎用プロトコルを使用して、第１の情報処理装置から第２の情報処理装置にデータを送信するため、第２の情報処理装置側からの不正な通信データが第１の情報処理装置側に侵入されることを阻止することができるようになる。
【００２０】
また、第１の情報処理装置から第２の情報処理装置の共有記憶部の内容が見えるため、データをやり取りする前に共有記憶部の安全性をチェック（ウィルス等のチェック）することが出来るので、より信頼性のある通信が可能となる。このようにして守りたい側（例えば制御システム側）に第１の情報処理装置を、外側に第２の情報処理装置（例えばＯＡシステム側）を配して、上述した構成をとることで、制御システムのシステムの改竄または制御システムからの情報の漏洩を防止することができる。
【００２１】
以下、図面を参照しながら、本発明の実施形態について説明する。但し、ここで記載する実施形態は、本発明をなんら限定するものでは無く、本発明の一態様を例示するものに過ぎない。また、本発明の説明はＵＳＢを事例として記載するが、ＵＳＢコネクタの形状およびピン番号は図２に示す形状以外にも、ＭｉｎｉタイプやＭｉｃｒｏタイプがあり、また規格のバージョンによってもピンの配置や仕様が異なる場合があるがこれを限定するものでは無い。また、本発明で使用するケーブルは、ＵＳＢと同様にホストとターゲットの関係が成り立ち第１の情報処理装置からのみの発信が可能なインターフェースプロトコルであればＵＳＢプロトコルに限定するものではない。例えば同様のプロトコルとしてＳＣＳＩや、Ｓ−ＡＴＡなどを用いても実現できるものである。
【００２２】
（第１の実施形態）
図１は、第１の実施形態における通信システム１０１の構成を示す概略ブロック図である。図１に示すように、第１の実施形態における通信システム１０１は、第１の情報処理装置１と、第１の情報処理装置１からのみの発信が可能なインターフェースプロトコル（ここでは一例としてＵＳＢプロトコル）に従うＵＳＢケーブル３で第１の情報処理装置１と接続された第２の情報処理装置２とを備える。ここで、守りたい側の情報処理装置は第１の情報処理装置１で、脅威ある側を第２の情報処理装置２とし、第１の情報処理装置１の安全性を確保しながら、第１の情報処理装置１から第２の情報処理装置２に対してデータ送信を実現するために以下のような構成をとる。
【００２３】
第１の情報処理装置１は、送信部４、アクセスドライバ記憶部６、及びアクセスドライバ実行部１１を備える。
【００２４】
第２の情報処理装置２は、受信処理部５、共有記憶部８、公開ドライバ記憶部７、及び公開ドライバ実行部１２を備える。
なお、第１の情報処理装置１および第２の情報処理装置２は、上記構成要素が含まれていれば情報処理装置の種類や構成については限定しないものとする。
【００２５】
まず、第１の情報処理装置１の各構成について説明する。
送信部４は、送信データ９を作成する。ここで送信データ９は、送信部４と受信処理部５で予め取り決められたデータファイルであれば、ファイルのフォーマットやサイズについては問わないものとする。
【００２６】
送信部４は、送信データ９とこの送信データ９を共有記憶部８に保存完了したことを示す完了データを送信可能である。ここで、完了データは送信データ９を共有記憶部８に保存完了したことを示すデータで、送信部４による書き込みが完了したことを第２の情報処理装置２に通知するために送信部４が送信データ９を書き込んだ後に作成するファイルである。本実施形態では、完了データは一例として完了ファイル１０である。
【００２７】
ここで完了ファイル１０は、送信部４と受信処理部５で予め取り決められていればファイルのフォーマットは問わないが、ファイルサイズについては送信部４および受信処理部５のファイルシステムがデータの読み書きを行う際のデータの最小単位（ブロックサイズ）であることが好ましい。
【００２８】
これにより、受信処理部５が完了ファイルを読み込んだときには必ず、完了ファイルが完全な構成となっている。このため、送信部４が完了ファイルを書き込んでいる最中に、受信処理部５が完了ファイルを読み込むことで異常な動作をしてしまうことを回避することができる。
【００２９】
アクセスドライバ記憶部６は、インターフェースプロトコルを用いて上記公開ドライバで公開された共有記憶部８に読み書きするためのアクセスドライバが記憶されている。ここでアクセスドライバは、ＵＳＢのホストとターゲットという分類に従った場合にホスト側として振る舞うようにするソフトウェアである。公開ドライバを実行することで公開される共有記憶部８に対し、ＵＳＢプロトコルにより第１の情報処理装置１から読み書きできるように構成される。
【００３０】
アクセスドライバ実行部１１は、アクセスドライバ記憶部６からアクセスドライバを読み出して実行することで、送信部４によるＵＳＢケーブル３を介した共有記憶部８の読み書きを可能にする。
【００３１】
また送信部４は例えば、共有記憶部８にアクセスしてウィルスファイルなどの不正なファイルが無いことなどのチェックを行う。また送信部４は例えば、アクセスドライバ実行部１１がアクセスドライバを実行してＵＳＢケーブル３を介して共有記憶部８に読み書き可能になった場合、共有記憶部８へのファイルの書き込みおよび読み込みを行う。
【００３２】
また、送信部４は、アクセスドライバ実行部１１がアクセスドライバを実行してＵＳＢケーブル３を介して共有記憶部８に読み書き可能になった場合、共有記憶部８に完了データが記憶されているか否か判定する。完了データ（例えば、完了ファイル１０）が記憶されていない場合、送信部４は例えば、第１の情報処理装置１側のデータ送信要求により、新たな送信データを共有記憶部８に保存し、この新たな送信データ９の保存後に共有記憶部８に完了データ（例えば、完了ファイル１０）を保存する。一方、完了データが記憶されている場合、送信部４は、待機する。
【００３３】
続いて、第２の情報処理装置２の各構成について説明する。
【００３４】
受信処理部５は、共有記憶部８に送信データ９および完了ファイル１０が保存されたか否かを監視する。この監視は周期的に行ってもよいし、公開ドライバ実行部１２がイベントを捕らえて受信処理部５に通知してもよい。また、受信処理部５は、送信データ９および完了ファイル１０が保存された場合に、送信データ９を読み込み、データ処理を行う。また、受信処理部５は、データ処理が完了した後に送信データ９および完了ファイル１０を削除する。
【００３５】
このように、受信処理部５は、共有記憶部８に完了データが記憶されているか否か判定する。受信処理部５は、完了データが記憶されている場合、送信データを共有記憶部８から読み込み、読み込み完了後に、送信データと完了データを共有記憶部８から削除する。
【００３６】
公開ドライバ記憶部７は、インターフェースプロトコルを用いて共有記憶部８を第１の情報処理装置１から読み書き可能にするための公開ドライバが記憶されている。
ここで公開ドライバは、第２の情報処理装置２からアクセス可能な任意の保存領域を共有記憶部８として、第１の情報処理装置１からＵＳＢプロトコルにより読み書きできるようにするソフトウェアである。この場合、公開ドライバは、ＵＳＢのホストとターゲットという分類に従った場合にターゲット側として振る舞うようにするものであり、第２の情報処理装置２から第１の情報処理装置１への発信はできないものとして構成される。
【００３７】
公開ドライバ実行部１２は、公開ドライバ記憶部１２から公開ドライバを読み出して実行する。
【００３８】
共有記憶部８は、データを記憶可能である。共有記憶部８は、第２の情報処理装置２からアクセス可能な任意の保存領域から構成できるものとし、内蔵ハードディスクに限らず、メモリや、接続された外部の保存装置でもよい。
【００３９】
図２は、ＵＳＢケーブル３の端子間の接続図とＴｙｐｅＡのＵＳＢコネクタのピン配置例を示す表Ｔ１である。図２のＵＳＢケーブル３の端子間の接続図に示すようにＵＳＢケーブル３は、一般的なＵＳＢケーブルとは異なり、両端の端子の形状はＴｙｐｅＡ（ホスト側）を採用しており、且つピン番号１の電源端子同士は非接続となっている。ピン番号２のＤ−端子同士、ピン番号３のＤ＋端子同士、及びピン番号４のＧＮＤ端子同士は接続されている。
【００４０】
図３は、第１の実施形態における第１の情報処理装置１の送信部４と第２の情報処理装置２の受信処理部５の処理の概略例を示すフローチャートである。
まず、第１の情報処理装置１の送信部４の処理は、以下の通りである。
【００４１】
（ステップＳ１０１）まず、アクセスドライバ実行部１１がアクセスドライバを実行する。これにより、送信部４によるＵＳＢケーブル３を介した共有記憶部８の読み書きが可能になる。
【００４２】
（ステップＳ１０２）次に送信部４は、共有記憶部８に完了ファイルが有るか否か判定する。共有記憶部８に完了ファイルが有る場合（ＹＥＳ）、送信部４は、ステップＳ１０１に戻る。一方、共有記憶部８に完了ファイルが無い場合（ＮＯ）、送信部４は、ステップＳ１０３に進む。
【００４３】
（ステップＳ１０３）送信部４は、送信データを共有記憶部８に保存する。
【００４４】
（ステップＳ１０４）送信部４は、ステップＳ１０３で送信データ９の保存が完了した後、完了ファイル１０を共有記憶部８に保存する。
【００４５】
続いて、第２の情報処理装置２の受信処理部５の処理は、以下の通りである。
【００４６】
（ステップＳ２０１）まず受信処理部５は、例えば、共有記憶部８における完了ファイル１０の作成有無を周期的に監視する。なお、受信処理部５は、共有記憶部８における完了ファイル１０の作成を、公開ドライバ実行部１２からの通知で検知してもよい。
【００４７】
（ステップＳ２０２）次に、受信処理部５は共有記憶部８に完了ファイル１０が有るか否か判定する。共有記憶部８に完了ファイル１０が有る場合すなわち完了ファイル１０が作成された場合（ＹＥＳ）、受信処理部５はステップＳ２０３に進む。一方、共有記憶部８に完了ファイル１０が無い場合すなわち完了ファイル１０が作成されていない場合（ＮＯ）、受信処理部５はステップＳ２０１に戻る。
【００４８】
（ステップＳ２０３）受信処理部５は、送信データ９を読み込み、その送信データ９の内容に応じた処理を実行する。
【００４９】
（ステップＳ２０４）次に、受信処理部５は、ステップＳ２０３で送信データ９の読み込みが完了した後、送信データ９を削除する。
【００５０】
（ステップＳ２０５）次に、受信処理部５は、完了ファイル１０を削除する。
【００５１】
この結果、第１の情報処理装置１からのみの発信が可能なインターフェースプロトコルを使用して、第１の情報処理装置１は、第２の情報処理装置２に継続的にデータ送信を行うことができる。
【００５２】
以上、第１の実施形態における通信システム１０１は、第１の情報処理装置１と、第１の情報処理装置１からのみの発信が可能なインターフェースプロトコルに従うケーブルで第１の情報処理装置１と接続された第２の情報処理装置２と、を備える。
【００５３】
第２の情報処理装置２は、データを記憶可能な共有記憶部８と、インターフェースプロトコルを用いて共有記憶部８を第１の情報処理装置１から読み書き可能にするための公開ドライバが記憶されている公開ドライバ記憶部７と、公開ドライバ記憶部７から公開ドライバを読み出して実行する公開ドライバ実行部１２と、共有記憶部８に記憶されたデータを読み込む受信処理部５と、を備える。
【００５４】
第１の情報処理装置１は、インターフェースプロトコルを用いて公開ドライバで公開された共有記憶部８にアクセスするためのアクセスドライバが記憶されているアクセスドライバ記憶部６と、アクセスドライバ記憶部６から前記アクセスドライバを読み出して実行することで、送信部４による上記ケーブルを介した共有記憶部８の読み書きを可能にするアクセスドライバ実行部１１と、送信データと該送信データを共有記憶部８に保存完了したことを示す完了データを送信可能な送信部４と、を備える。
【００５５】
送信部４は、共有記憶部８に読み書き可能になった場合、共有記憶部８に完了データが記憶されているか否か判定し、完了データが記憶されていない場合、新たな送信データを共有記憶部８に保存し、該新たな送信データの保存後に共有記憶部８に完了データを保存する。受信処理部５は、共有記憶部８に完了データが記憶されているか否か判定し、完了データが記憶されている場合、送信データを共有記憶部８から読み込み、読み込み完了後に、送信データと完了データを共有記憶部８から削除する。
【００５６】
これにより、専用ハードウェアを装置側に準備する必要はなく、ＵＳＢ機器を構成する部品と簡易なケーブルのみ準備して２台の情報処理装置を接続することで通信することができる。また、その通信はプロトコルのレベルで必ずホスト側すなわち第１の情報処理装置１からの発信が必要であるため、第２の情報処理装置２から第１の情報処理装置１に侵入することや、不正なＩＰ通信が流れることを阻止することができる。更に、データを送信する前に共有記憶部の安全性をチェック（ウィルス等のチェック）することが出来るので、より信頼性のある通信が可能となる。
【００５７】
＜第１の実施形態の変形例＞
なお、図４に示すように、第１の情報処理装置１が複数あり、第２の情報処理装置２が、各第１の情報処理装置１から送信データを受信する構成であってもよい。
図４は、第１の実施形態の変形例における通信システム１０１ａの構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。
【００５８】
第１の実施形態の変形例における通信システム１０１ａの構成は、第１の実施形態の変形例における通信システム１０１の構成に対して、第１の情報処理装置１−２が更に追加され、第２の情報処理装置２が第２の情報処理装置２ａに変更されたものになっている。追加された第１の情報処理装置１−２は、ＵＳＢケーブル３−２を介して第２の情報処理装置２ａと接続されている。また、第２の情報処理装置２ａは、第２の情報処理装置２と比べて、更に、受信処理部５−２及び共有記憶部８−２を備える。
【００５９】
第１の情報処理装置１−２の送信部４は、第１の情報処理装置１の送信部４と同様の機能を有するが、第２の情報処理装置２ａの共有記憶部８−２に第２送信データ９−２及び第２完了ファイル１０−２を保存する点が異なっている。
受信処理部５−２は、受信処理部５と同様の機能を有するが、監視対象が共有記憶部８−２であることが異なっている。
【００６０】
以上、第１の実施形態の変形例における通信システム１０１ａによれば、第１の情報処理装置１からの発信が必要であるため、第２の情報処理装置２から第１の情報処理装置１及び第１の情報処理装置１−２に侵入することや、不正なＩＰ通信が流れることを阻止することができるようになる。
【００６１】
（第２の実施形態）
続いて、第２の実施形態について説明する。図５は、第２の実施形態における通信システム１０２の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第２の実施形態における通信システム１０２の構成は、第１の実施形態における通信システム１０１の構成に対して、送信部４が送信部４ｂに変更され、受信処理部５が受信処理部５ｂに変更されたものになっている。それに伴い、第１の情報処理装置１が第１の情報処理装置１ｂに変更され、第２の情報処理装置２が第２の情報処理装置２ｂに変更されたものになっている。
【００６２】
受信処理部５ｂは、第１の実施形態の受信処理部５と同様の機能を有することに加え、共有記憶部８に結果ファイル１１を作成する。結果ファイル１１は、受信処理部５ｂによる読み込みが成功したか否かを示すステータス（ＳＴＳ）を含むファイルである。
受信処理部５は、送信データ９を読み込んだ結果によって、成功（ＯＫ）の場合とエラー（ＥＲＲ）の場合で、結果ファイル１１内のステータス（ＳＴＳ）を切り替えて結果ファイル１１を保存することができる。
【００６３】
また、送信部４ｂは、第１の実施形態の送信部４と同様の機能を有することに加え、上記結果ファイル１１を読み込む機能を有し、読み込まれた結果によって次の送信データを送信するか前回の送信データを送信するかを判断する。
送信部４は、その結果ファイル１１内のステータス（ＳＴＳ）を参照し、ステータス（ＳＴＳ）がエラー（ＥＲＲ）の場合には前回と同じファイルを送信データ９として共有記憶部８に保存する。一方、送信部４は、ステータス（ＳＴＳ）が成功（ＯＫ）の場合、次のファイルを送信データ９として共有記憶部８に保存する。
【００６４】
図６は、第２の実施形態における第１の情報処理装置１ｂの送信部４ｂと第２の情報処理装置２ｂの受信処理部５ｂの処理の概略例を示すフローチャートである。
まず、第２の情報処理装置１ｂの送信部４ｂの処理は、以下の通りである。
【００６５】
（ステップＳ３０１）まず、アクセスドライバ実行部１１がアクセスドライバを実行する。これにより、送信部４ｂによるＵＳＢケーブル３を介した共有記憶部８の読み書きが可能になる。
【００６６】
（ステップＳ３０２）次に送信部４ｂは、共有記憶部８に結果ファイル１１が有るか否か判定する。共有記憶部８に結果ファイル１１が有る場合（ＹＥＳ）、送信部４ｂは、ステップＳ３０３へ進む。一方、共有記憶部８に結果ファイル１１が無い場合（ＮＯ）、送信部４ｂは、ステップＳ３０１へ戻る。結果ファイルを読み込む。
【００６７】
（ステップＳ３０３）ステップＳ３０２で共有記憶部８に結果ファイル１１が有ると判定された場合、送信部４ｂは、結果ファイル１１を読み込む。
【００６８】
（ステップＳ３０４）次に、ステータス（ＳＴＳ）がエラー（ＥＲＲ）か否か判定する。ステータス（ＳＴＳ）がエラー（ＥＲＲ）の場合（ＹＥＳ）、送信部４ｂは、ステップＳ３０５へ進む。一方、ステータス（ＳＴＳ）がエラー（ＥＲＲ）でない場合（ＮＯ）すなわちステータス（ＳＴＳ）が成功（ＯＫ）の場合、送信部４ｂは、ステップＳ３０６へ進む。
【００６９】
（ステップＳ３０５）ステップＳ３０４でステータス（ＳＴＳ）がエラー（ＥＲＲ）と判定された場合、前回の送信データを共有記憶部８に保存する。
【００７０】
（ステップＳ３０６）ステップＳ３０４でステータス（ＳＴＳ）がエラー（ＥＲＲ）と判定された場合、次の送信データを共有記憶部８に保存する。
【００７１】
（ステップＳ３０７）送信部４ｂは、完了ファイルを共有記憶部８に保存する。
【００７２】
続いて、第２の情報処理装置２の受信処理部５ｂの処理は、以下の通りである。
【００７３】
（ステップＳ４０１）まず受信処理部５ｂは、例えば、共有記憶部８における完了ファイル１０の作成有無を周期的に監視する。なお、受信処理部５ｂは、共有記憶部８における完了ファイル１０の作成を、公開ドライバ実行部１２からの通知で検知してもよい。
【００７４】
（ステップＳ４０２）次に、受信処理部５ｂは共有記憶部８に完了ファイル１０が有るか否か判定する。共有記憶部８に完了ファイル１０が有る場合すなわち完了ファイル１０が作成された場合（ＹＥＳ）、受信処理部５ｂはステップＳ４０３に進む。一方、共有記憶部８に完了ファイル１０が無い場合すなわち完了ファイル１０が作成されていない場合（ＮＯ）、受信処理部５ｂはステップＳ４０１に戻る。
【００７５】
（ステップＳ４０３）受信処理部５ｂは、共有記憶部８の送信データを読み込み、この送信データの内容に応じた処理を実施する。
【００７６】
（ステップＳ４０４）次に、受信処理部５ｂは、送信データの読み込みに成功したか否か判定する。送信データの読み込みに成功した場合（ＹＥＳ）、受信処理部５ｂはステータス（ＳＴＳ）を成功（ＯＫ）にしステップＳ４０５へ進む。一方、送信データの読み込みに成功しなかった場合（ＮＯ）、受信処理部５ｂはステータス（ＳＴＳ）を失敗（ＮＯ）にしステップＳ４０５へ進む。
【００７７】
（ステップＳ４０５）次に、受信処理部５ｂは、共有記憶部８に保存されている送信データを削除する。
【００７８】
（ステップＳ４０６）次に、受信処理部５ｂは、共有記憶部８に保存されている完了ファイルを削除する。
【００７９】
（ステップＳ４０７）次に、結果ファイルにステータス（ＳＴＳ）を記載し、ステータス（ＳＴＳ）が記載された結果ファイルを共有記憶部８に保存する。なお、結果ファイルが既にある場合、結果ファイル内のステータス（ＳＴＳ）を更新する。
【００８０】
なお、本実施形態では、一例として、受信処理部５ｂは、ステータスを含む結果ファイルを保存したが、このようなファイル形式で保存する形態に限ったものではない。受信処理部５ｂは、当該受信処理部５ｂによる送信データの読み込みの成功または失敗を示すステータスデータを保存してもよい。このステータスデータの一例が、ステータスを含む結果ファイルである。
【００８１】
以上、第２の実施形態において、受信処理部５ｂは、当該受信処理部による送信データの読み込みの成功または失敗を示すステータスデータ（本実施形態では一例として、ステータスを含む結果ファイル）を共有記憶部８に記憶させる。送信部４ｂは、共有記憶部８からステータスデータを読み込み、読み込んだステータスデータに応じて、前回の送信データの共有記憶部８への保存、または次の送信データの共有記憶部８への保存のいずれかを実行する。
【００８２】
これにより、片方向にしか通信できないＵＳＢプロトコルを使用しながら、第２の情報処理装置２側で受信した送信データ９の処理結果に応じて、第１の情報処理装置１に対してデータを再送要求することができるようになる。このため、第１の実施形態の効果に加えて、データの受信漏れを防止することができる。
【００８３】
（第３の実施形態）
続いて、第３の実施形態について説明する。図７は、第３の実施形態における通信システム１０３の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第３の実施形態における通信システム１０３の構成は、第１の実施形態における通信システム１０１の構成に対して、送信部４が送信部４ｃに変更され、受信処理部５が受信処理部５ｃに変更されたものになっている。それに伴い、第１の情報処理装置１が第１の情報処理装置１ｃに変更され、第２の情報処理装置２が第２の情報処理装置２ｃに変更されたものになっている。
【００８４】
送信部４ｃは、第１の実施形態の送信部４と同様の機能を有することに加え、送信データ９および完了ファイル１０を異なるファイル名で複数個保存することができる。また、送信部４ｃは、完了ファイル１０中に、対応する送信データ９のファイル名を含める点が異なる。これにより、送信部４は、完了ファイルが削除されたことを確認せずに、別のファイル名で次の送信データ９と完了ファイル１０を保存することができる。
【００８５】
受信処理部５ｃは、第１の実施形態の受信処理部５ｃと同様の機能を有することに加え、完了ファイル１０をタイムスタンプが古い順に読み込み、完了ファイル１０中のファイル名の送信データ９を読み込む。受信処理部５ｃは、送信データ９の読み込みが完了した後、読み込んだ送信データ９と読み込んだ完了ファイル１０を削除する。
【００８６】
図８は、第３の実施形態における第１の情報処理装置１ｃの送信部４ｃと第２の情報処理装置２ｃの受信処理部５ｃの処理の概略例を示すフローチャートである。
まず、第３の情報処理装置１ｃの送信部４ｃの処理は、以下の通りである。
【００８７】
（ステップＳ５０１）まず、送信部４ｃは、完了ファイルが削除されたことを確認せずに、別のファイル名で次の送信データ９を共有記憶部８に保存する。これにより、送信データ９を含む送信ファイルが共有記憶部８に保存される。
【００８８】
（ステップＳ５０２）次に、送信部４ｃは、完了ファイルが削除されたことを確認せずに、別のファイル名で次の完了ファイル１０を共有記憶部８に保存する。その際、送信部４ｃは、完了ファイル１０内に、対応する送信データ９のファイル名称を記載して次の完了ファイル１０を保存する。
【００８９】
次に、第３の情報処理装置１ｃの受信処理部５ｃの処理は、以下の通りである。
【００９０】
（ステップＳ６０１）まず受信処理部５ｃは、例えば、共有記憶部８における完了ファイル１０の作成有無を周期的に監視する。なお、受信処理部５は、共有記憶部８における完了ファイル１０の作成を、公開ドライバ実行部１２からの通知で検知してもよい。
【００９１】
（ステップＳ６０２）次に、受信処理部５ｃは共有記憶部８に完了ファイル１０が有るか否か判定する。共有記憶部８に完了ファイル１０が有る場合すなわち完了ファイル１０が作成された場合（ＹＥＳ）、受信処理部５ｃはステップＳ６０３に進む。一方、共有記憶部８に完了ファイル１０が無い場合すなわち完了ファイル１０が作成されていない場合（ＮＯ）、受信処理部５ｃはステップＳ６０１に戻る。
【００９２】
（ステップＳ６０３）次に、受信処理部５ｃは、タイムスタンプが最も古い完了ファイル１０を共有記憶部８から読み込み、完了ファイル１０内に記載されたファイル名を読み出す。
【００９３】
（ステップＳ６０４）次に、受信処理部５ｃは、完了ファイル１０内に記載されたファイル名の送信ファイルを共有記憶部８から読み込み、この送信ファイルの内容に応じた処理を実施する。
【００９４】
（ステップＳ６０５）次に、受信処理部５ｃは、読み込んだ送信ファイルを削除する。
【００９５】
（ステップＳ６０６）次に、受信処理部５ｃは、読み込んだ完了ファイル１０を削除する。
【００９６】
以上、第３の実施形態において、完了データは、送信データの送信完了を示す完了ファイルである。そして、送信部４ｃは、送信データ毎に異なるファイル名で送信データを共有記憶部８に保存し、且つ対応する送信データのファイル名を含む完了ファイルを互いに異なるファイル名で共有記憶部８に保存する。受信処理部５ｃは、完了ファイルをタイムスタンプの古い順に読み込み、完了ファイル内のファイル名の送信データを読み込む。
【００９７】
これにより、送信部４ｃは、受信処理部５ｃで読み込まれた結果を確認せずに、次々に送信データ９と完了ファイル１０を共有記憶部８に保存することができる。このため、第１の実施形態の効果に加えて、連続してデータを送信することが可能となり、通信のスループットを向上することができる。
【００９８】
なお、送信部４ｃは、完了ファイル１０中に、コードナンバーを含めるようにしてもよい。その場合、受信処理部５ｃは、そのコードナンバーのファイル名の送信データ９を読み込んでもよい。例えば、コードナンバーが「１」の場合、受信処理部５ｃは、「１」というファイル名の送信データ９を読み込んでもよい。
【００９９】
（第４の実施形態）
続いて、第４の実施形態について説明する。図９は、第４の実施形態における通信システム１０４の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第４の実施形態における通信システム１０４の構成は、第１の実施形態における通信システム１０１の構成に対して、第１の情報処理装置１が第１の情報処理装置１ｄに変更され、その第１の情報処理装置１ｄにおいて送信部４が送信部４ｄに変更され、バッファ部１３が追加されたものになっている。
【０１００】
送信部４ｄは、第１の実施形態の送信部４と同様の機能を有することに加え、送信データ９または完了ファイル１０を保存できなかった場合に、保存できなかったデータをいったんバッファデータ１４としてバッファ部１３に保存する。その後、送信部４ｄが、送信可能になった場合、タイムスタンプの古い順にバッファデータ１４をバッファ部１３から読み出し、読み出したバッファデータ１４を共有記憶部８に保存する点で第１の実施形態の送信部４とは異なる。
【０１０１】
以上、第４の実施形態において、第１の情報処理装置１ｄは、データを一時格納するバッファ部１３を備える。そして、送信部４ｄは、送信データまたは完了データを共有記憶部８に保存できなかった場合、いったんバッファ部１３にバッファデータとして保存し、共有記憶部８に保存可能になった場合、バッファ部１３からタイムスタンプが古い順にバッファデータを読み出し、読み出したバッファデータを共有記憶部８に保存する。
【０１０２】
これにより、何らかの理由により第２の情報処理装置２が停止していた場合や、共有記憶部８の保存領域が不足している場合などの理由で、共有記憶部８に保存ができなかった場合においても、第１の情報処理装置１の送信部４ｄは、バッファデータ１４をバッファ部１３に保存し、送信可能になった時点で共有記憶部８に保存する。このため、第１の実施形態の効果に加えて、送信データ９の送信漏れを防止することができる。
【０１０３】
（第５の実施形態）
続いて、第５の実施形態について説明する。図１０は、第５の実施形態における通信システム１０５の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第５の実施形態における通信システム１０５の構成は、第１の実施形態における通信システム１０１の構成に対して、第１の情報処理装置１とＵＳＢケーブル３−２で接続された第２の情報処理装置２−２が追加され、送信部４が送信部４ｅに変更されたものになっている。それに伴い、第１の情報処理装置１が第１の情報処理装置１ｅに変更されたものになっている。
【０１０４】
ここで、第２の情報処理装置２−２は、受信処理部５−２、共有記憶部８−２、公開ドライバ記憶部７−２及び公開ドライバ実行部１２−２を備える。これらの構成要素は、対応する第２の情報処理装置２の構成要素と同様の機能を有するので、その具体的な説明を省略する。
【０１０５】
アクセスドライバ記憶部６に記憶されているアクセスドライバは、第１の実施形態に記載する機能を有することに加え、複数の情報処理装置で実装された複数の共有記憶部８、８−２に対し、ＵＳＢプロトコルにより第１の情報処理装置１から読み書きできるように構成される。
【０１０６】
また、送信部４ｅは第１の実施形態に記載する機能を有していることに加え、複数の保存先に対して同じ送信データ９、９−２を保存し、保存後に完了ファイル１０、１０−２を保存することができる機能を有する。そして、さらに、送信部４ｅは保存した完了ファイル１０、１０−２の全てが削除されたことを確認してから次のデータを送信する。
なお、送信部４ｅは、第２の情報処理装置２または２−２の何れかの共有記憶部８にアクセスできない場合には、アクセスできる方を判断して、アクセスできる方の共有記憶部８に送信データ９、９−２と完了ファイル１０、１０−２を保存してもよい。
【０１０７】
続いて、第５の実施形態における通信システム１０５の処理の流れを以下に説明する。
送信部４ｅは、第２の情報処理装置２の共有記憶部８に送信データ９及び完了ファイル１０を保存し、第２の情報処理装置２−２の共有記憶部８−２に、送信データ９と同じ送信データ９−２と、完了ファイル１０−２を保存する。
【０１０８】
受信処理部５は、共有記憶部８に保存された送信データ９のファイルを読み込み、読み込みが完了した後、共有記憶部８に保存された送信データ９と完了ファイル１０を削除する。同様に、受信処理部５−２は、共有記憶部８−２に保存された送信データ９−２のファイルを読み込み、読み込みが完了した後、共有記憶部８−２に保存された送信データ９−２と完了ファイル１０−２を削除する。
【０１０９】
送信部４ｅは、共有記憶部８と共有記憶部８−２の両方の完了ファイル１０、１０−２が削除されたことを確認してから次の送信ファイルを共有記憶部８及び共有記憶部８−２へ送信する。
【０１１０】
以上、第５の実施形態において、第２の情報処理装置は複数あり、アクセスドライバ実行部１１がアクセスドライバを実行することにより、送信部４ｅは、複数の第２の情報処理装置２、２−２が備える共有記憶部８、８−２の読み書きが可能になる。送信部４ｅは、複数の共有記憶部８、８−２に保存された完了データが全て削除されたか否か確認し、全て削除された場合、次の送信データと完了データを複数の共有記憶部８に保存する。
【０１１１】
これにより、第１の情報処理装置１からＵＳＢケーブル３、３−２で接続された複数の情報処理装置２、２−２に対して同じ送信データ９、９−２を送信することが可能になる。このため、第１の実施形態の効果に加えて、処理の異なる二つの第２の情報処理装置２、２−２に同じデータを送信することができる。また、二つの第２の情報処理装置２、２−２が同じ処理を実行する場合、受信側の第２の情報処理装置２及び第２の情報処理装置２−２で多重化しているので、一方の情報処理装置が停止した場合でも、他方の情報処理装置が同じ処理を継続できる。
【０１１２】
（第６の実施形態）
続いて、第６の実施形態について説明する。図１１は、第６の実施形態における通信システム１０６の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第６の実施形態における通信システム１０６の構成は、第１の実施形態の通信システム１０１に比べて、第１の情報処理装置１が第１の情報処理装置１ｆに変更され、第２の情報処理装置２が第２の情報処理装置２ｆに変更されたものになっている。
【０１１３】
第１の情報処理装置１ｆは、第１の実施形態の第１の情報処理装置１に比べて、第２の受信処理部２３が追加されたものになっている。
第２の情報処理装置２ｆは、第１の実施形態の第２の情報処理装置２に比べて、第２の送信部２０が追加されたものになっている。
【０１１４】
第２の送信部２０は、第１の実施形態の送信部４と同様の機能を有するが、第２の送信データ２１および第２の完了ファイル２２の保存先が、ローカルの共有記憶部８である点が異なる。
また、第２の受信処理部２３は、第１の実施形態の受信処理部５と同様の機能を有するが、第２の送信データ２１および第２の完了ファイル２２の読み込み先が第２の情報処理装置２内の共有記憶部８である点が異なる。
【０１１５】
第２の送信部２０は、第２の送信データ２１を作成し、作成した第２の送信データ２１を共有記憶部８に保存する。第２の送信部２０は、第２の送信データ２１の保存が完了した後、第２の完了ファイル２２を保存する。
第２の受信処理部２３は、共有記憶部８に第２の完了ファイル２２が作成されることを周期的に監視する。第２の完了ファイル２２が作成されていた場合、第２の受信処理部２３は、第２の送信データ２１を読み出し、この第２の送信データ２１の内容に応じた処理を実施する。
【０１１６】
以上、第６の実施形態において、第２の情報処理装置２ｆは、当該第２の情報処理装置２ｆが備える共有記憶部８に第２の送信データ２１と第２の完了データ２２を保存可能な第２の送信部２０を更に備える。そして、第１の情報処理装置１ｆは、ＵＳＢケーブル３を介して、共有記憶部８から第２の送信部２０が保存した第２の送信データ２１と第２の完了データ２２を読み出す第２の受信処理部２３を更に備える。
【０１１７】
これにより、第１の実施形態の効果に加えて、第１の情報処理装置１から第２の情報処理装置２に対するデータ送信だけでなく、第２の情報処理装置２から第１の情報処理装置１に対してもデータを送信することが可能となり、双方向での通信を実現できる。
【０１１８】
（第７の実施形態）
続いて、第７の実施形態について説明する。図１２は、第７の実施形態における通信システム１０７の構成を示す概略ブロック図である。なお、図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第７の実施形態における通信システム１０７の構成は、第１の実施形態における通信システム１０１の構成に対して、第１の情報処理装置１が第１の情報処理装置１ｇに、第２の情報処理装置２が第２の情報処理装置２ｇに変更されたものになっている。
【０１１９】
第１の情報処理装置１ｇは、第１の実施形態の第１の情報処理装置１に比べて、第１のネットワーク２４と接続され、送信部４が送信部４ｇに変更され、更に受信変換部２６が追加されたものになっている。第２の情報処理装置２ｇは、第１の実施形態の第１の情報処理装置１に比べて、第２のネットワーク２５と接続され、受信処理部５が受信処理部５ｇに変更され、更に変換送信部２７が追加されたものになっている。
【０１２０】
受信変換部２６は、第１ネットワーク２４にある任意の情報処理装置からＴＣＰ／ＩＰプロトコルに従って送信されたＩＰプロトコルのデータを受信する。受信変換部２６は、その受信したＩＰプロトコルのデータをファイルに変換し、変換して得たファイルを送信部４へ出力する。
【０１２１】
送信部４ｇは、第１の実施形態の送信部４と同様の機能を有することに加え、受信変換部２６から出力されたファイルを送信データとして共有記憶部８に保存する。
【０１２２】
また、受信処理部５ｇは、第１の実施形態の受信処理部５ｇと同様の機能を有することに加え、読み込んだ送信データ９の内容を変換送信部２７へ送信する。
【０１２３】
変換送信部２７は、受信処理部５から出力されたファイルを、送信元として第２の情報処理装置のＩＰアドレスを含むＩＰプロトコルのデータに変換し、変換して得たデータを第２のネットワーク２５にある任意の情報処理装置にＴＣＰ／ＩＰプロトコルに従って送信する。
【０１２４】
これにより、第１のネットワーク２４の任意の情報処理装置から受信変換部２６へ送信されたＩＰパケットは、送信部４および受信処理部５を通して変換送信部２７に送信され、第２のネットワーク２５の任意の情報処理装置に送信される。
【０１２５】
以上、第７の実施形態において、第１の情報処理装置１ｇは、当該第１の情報処理装置１ｇが接続された第１のネットワーク上の任意の情報処理装置からＩＰ通信により送信されたパケットを受信し、受信したパケットを所定のデータ形式に変換し、変換後のデータを送信部４ｇに出力する受信変換部２６を更に備える。第２の情報処理装置２ｇは、受信処理部５ｇは、共有記憶部８に記憶された送信データを読み込み、読み込んだ送信データを出力する。第２の情報処理装置２ｇは、受信処理部５ｇが出力した送信データをパケットに変換し、変換したパケットを当該第２の情報処理装置２ｇが接続された第２のネットワーク２５上の任意の情報処理装置へＩＰ通信により送信する変換送信部２７を更に備える。
【０１２６】
これにより、第１の実施形態の効果に加えて、第１のネットワーク２４上に存在する任意の情報処理装置から第２のネットワーク２５上に存在する任意の情報処理装置に対してＩＰパケットを送信することが可能となる。
【０１２７】
なお、各実施形態の第１の情報処理装置または第２の情報処理装置の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、プロセッサが実行することにより、各実施形態の第１の情報処理装置または第２の情報処理装置に係る上述した種々の処理を行ってもよい。
【０１２８】
なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１３０】
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３１】
１０１、１０１ａ、１０２、１０３、１０４、１０５、１０６、１０７  通信システム
１、１−２、１ｂ、１ｃ、１ｄ、１ｅ、１ｆ、１ｇ  第１の情報処理装置
２、２ａ、２ｂ、２ｃ、２ｆ、２ｇ、２−２  第２の情報処理装置
４、４ｂ、４ｃ、４ｄ、４ｅ、４ｇ  送信部
６  アクセスドライバ記憶部
１１  アクセスドライバ実行部
５、５ｂ、５ｃ、５ｇ  受信処理部
８  共有記憶部
７  公開ドライバ記憶部
１２  公開ドライバ実行部
２０  第２の送信部
２３  第２の受信処理部
２４  第１のネットワーク
２５  第２のネットワーク
２６  受信変換部
【図１】
2015114993.tif 000003
【図２】
2015114993.tif 000004
【図３】
2015114993.tif 000005
【図４】
2015114993.tif 000006
【図５】
2015114993.tif 000007
【図６】
2015114993.tif 000008
【図７】
2015114993.tif 000009
【図８】
2015114993.tif 000010
【図９】
2015114993.tif 000011
【図１０】
2015114993.tif 000012
【図１１】
2015114993.tif 000013
【図１２】
2015114993.tif 000014