(57)【要約】【課題】  ネットワーク環境を構築するためのデータを伝送する情報処理装置、データ伝送システム、データ伝送方法および該データ伝送方法を情報処理装置に対して実行させるための情報処理装置実行可能なプログラムを提供する。【解決手段】  本発明の情報処理装置４４は、データリンク層レベルでデータ伝送するネットワークに接続されたネットワーク・アダプタ５０と、ネットワークに接続されたネットワーク・アダプタ５０をメモリに登録し、登録されたネットワーク・アダプタ５０を介してネットワークに対してデータリンク層レベルで応答を要求するブロードキャスト・パケットを送出し、ネットワークを介して受信したレスポンス・パケットを検証し、レスポンス・パケットからハードウェア・アドレスとIPアドレスとを取得してデータリンク層レベルおよびトランスポート層レベルでのデータ伝送をセットアップするセットアップ処理部４８とを含んでおり、情報処理装置間のデータ移行または交換の処理を自動的に実行する。【選択図】  図３
2006129355.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された情報処理装置の間でデータ伝送するための情報処理装置であって、前記情報処理装置は、
データリンク層レベルでのデータ伝送を実行させるための中央処理装置と、
データリンク層レベルでデータ伝送するネットワークに接続されたネットワーク・アダプタと、
前記ネットワークに接続されたネットワーク・アダプタを登録し、登録された前記ネットワーク・アダプタを介して前記ネットワークに対してデータリンク層レベルでブロードキャスト・パケットを送出し、前記ネットワークを介して受信したレスポンス・パケットを検証し、前記レスポンス・パケットからハードウェア・アドレスとIPアドレスとを取得してデータ伝送をセットアップするセットアップ処理手段とを含み、
前記登録されたネットワーク・アダプタを介して前記セットアップ処理手段により設定された前記ハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送する
情報処理装置。
【請求項２】
前記レスポンス・パケットが所定のフォーマットであることを検証する手段と、
前記所定のフォーマットを有するレスポンス・パケットを選択し、選択された前記レスポンス・パケットから前記ハードウェア・アドレスと前記IPアドレスとを取得する手段とを含む
請求項１に記載の情報処理装置。
【請求項３】
前記ブロードキャスト・パケットのペイロード領域は、サブネットマスクを含む、請求項１に記載の情報処理装置。
【請求項４】
ネットワークに接続された情報処理装置の間でデータ伝送するための情報処理装置であって、前記情報処理装置は、
データリンク層レベルでのデータ伝送を実行させるための中央処理装置と、
データリンク層レベルでデータ伝送するネットワークに接続されたネットワーク・アダプタと、
前記ネットワークからのデータリンク層レベルでブロードキャスト・パケットを受信し、前記ブロードキャスト・パケットを検証し、検証結果に応答して生成されたIPアドレスを記述したレスポンス・パケットを生成し、前記ネットワークに対してレスポンス・パケットを送信することにより、データ伝送をセットアップするセットアップ処理手段と、
前記ブロードキャスト・パケットを受信した前記ネットワーク・アダプタを機能させて前記セットアップ処理手段により設定されたハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送を実行する情報処理装置。
【請求項５】
前記セットアップ処理手段は、前記ブロードキャスト・パケットが所定のフォーマットであることを検証する手段と、
前記所定のフォーマットを有する場合には、前記IPアドレスを生成し、生成された前記IPアドレスおよびハードウェア・アドレスを記述したレスポンス・パケットを生成する手段を含む
請求項４に記載の情報処理装置。
【請求項６】
前記IPアドレスを、前記ブロードキャスト・パケットのペイロード領域に含まれるサブネットマスクを読み出し、前記サブネットマスクを使用して生成する手段を含む、請求項４に記載の情報処理装置。
【請求項７】
情報処理装置に対してネットワークを介してデータ伝送を実行させる方法であって、前記方法は、前記情報処理装置に対して、
前記ネットワークに接続されたネットワーク・アダプタを識別して、メモリに登録するステップと、
登録された前記ネットワーク・アダプタを介して前記ネットワークに対してデータリンク層レベルでブロードキャスト・パケットを送出するステップと、
前記ネットワークを介して受信したレスポンス・パケットを検証し、前記レスポンス・パケットからハードウェア・アドレスとIPアドレスとを取得してデータ伝送をセットアップするステップと、
前記登録されたネットワーク・アダプタを呼出して機能させ、前記セットアップ処理手段により設定された前記ハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送するステップと
を実行させる、データ伝送方法。
【請求項８】
前記セットアップするステップは、前記レスポンス・パケットが所定のフォーマットであることを検証するステップと、
前記所定のフォーマットであると判断された場合には、前記所定のフォーマットを有するレスポンス・パケットを選択し、選択された前記レスポンス・パケットから前記ハードウェア・アドレスと前記IPアドレスとを取得するステップを含む、請求項７に記載のデータ伝送方法。
【請求項９】
前記セットアップするステップは、前記ブロードキャスト・パケットのペイロード領域にサブネットマスクを書込むステップを含む、請求項７に記載のデータ伝送方法。
【請求項１０】
情報処理装置に対してネットワークを介してデータ伝送を実行させる方法であって、前記方法は、前記情報処理装置に対して、
前記ネットワークからのデータリンク層レベルで応答を要求するブロードキャスト・パケットを受信するステップと、
前記ブロードキャスト・パケットを受信したネットワーク・アダプタをメモリに登録するステップと、
前記ブロードキャスト・パケットを検証し、検証結果に応答して生成されたIPアドレスおよびハードウェア・アドレスを記述したレスポンス・パケットを生成するステップと、
前記ブロードキャスト・パケットを受信し、登録された前記ネットワーク・アダプタを呼出して機能させ、前記ネットワークに対してレスポンス・パケットを送信するステップとを含み、
前記ハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送するステップと
を実行させる、データ伝送方法。
【請求項１１】
前記生成するステップは、前記ブロードキャスト・パケットが所定のフォーマットであることを検証するステップと、
前記検証の結果、前記ブロードキャスト・パケットが前記所定のフォーマットを有する場合には、前記IPアドレスを生成するステップと、
生成された前記IPアドレスをレスポンス・パケットに書込むステップとを含む
請求項１０に記載のデータ伝送方法。
【請求項１２】
前記IPアドレスを生成するステップは、さらに、前記ブロードキャスト・パケットのペイロード領域に含まれるサブネットマスクを読み出し、前記サブネットマスクを使用して前記IPアドレスを生成するステップを含む、請求項１０に記載のデータ伝送方法。
【請求項１３】
データリンク層レベルでのデータ伝送を行うためのデータ伝送システムであって、前記データ伝送システムは、
データリンク層レベルでデータ伝送を行うネットワークに接続されたマスタ装置と、
前記データリンク層レベルでデータ伝送を行うネットワークに接続されたスレーブ装置とを含み、
前記マスタ装置は、
前記ネットワークに接続されたネットワーク・アダプタを登録し、登録された前記ネットワーク・アダプタを介して前記ネットワークに対してデータリンク層レベルでブロードキャスト・パケットを送出し、前記ネットワークを介して受信したレスポンス・パケットを検証し、前記レスポンス・パケットからハードウェア・アドレスとIPアドレスとを取得し、
前記スレーブ装置は、
前記ネットワークからのデータリンク層レベルでのブロードキャスト・パケットを受信し、前記ブロードキャスト・パケットを検証し、検証結果に応答して生成されたIPアドレスおよびハードウェア・アドレスを記述した前記レスポンス・パケットを生成し、前記ネットワークに対してレスポンス・パケットを送信する
データ伝送システム。
【請求項１４】
前記マスタ装置は、前記ネットワーク内において前記スレーブ装置に対して、１：１のペア、または複数の１：１のペアまたは１：多のペアとして接続される、
請求項１３に記載のデータ伝送システム。
【請求項１５】
伝送される前記データは、データベース・サーバのアドレス、プリンタ・サーバのアドレス、メール・サーバのアドレス、DNSサーバのアドレス、特定のインターネット・サイトのURLアドレス、前記マスタ装置の管理するRAM内のデータ、ハードディスク内に格納されたデータ、またはバックアップ・データを含む群から選択される少なくとも１つのデータから選択され、ユーザがスレーブ装置を利用するために前記マスタ装置から前記スレーブ装置への移行を支援するためのデータである、請求項１４に記載のデータ伝送システム。
【請求項１６】
マスタ装置に対してネットワークを介してデータ伝送するための装置実行可能なプログラムであって、前記プログラムは、前記マスタ装置に対して、
前記ネットワークに接続されたネットワーク・アダプタを識別して、メモリに登録するステップと、
登録された前記ネットワーク・アダプタを介して前記ネットワークに対してデータリンク層レベルでブロードキャスト・パケットを送出するステップと、
前記ネットワークを介して受信したレスポンス・パケットを検証し、前記レスポンス・パケットからハードウェア・アドレスとIPアドレスとを取得してデータ伝送をセットアップするステップと、
前記登録されたネットワーク・アダプタを呼出して機能させ、前記セットアップ処理手段により設定された前記ハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送するステップと
を実行させる、プログラム。
【請求項１７】
前記セットアップするステップは、前記レスポンス・パケットが所定のフォーマットであることを検証するステップと、
前記所定のフォーマットであると判断された場合には、前記所定のフォーマットを有するレスポンス・パケットを選択し、選択された前記レスポンス・パケットから前記ハードウェア・アドレスと前記IPアドレスとを取得するステップとを含む、
請求項１６に記載のプログラム。
【請求項１８】
前記セットアップするステップは、前記マスタ装置が、前記マスタ装置のIPアドレスに宛てられた単一の前記IPアドレスを含む前記レスポンス・パケットを受信して検証するステップ、または、前記マスタ装置のそれぞれが、前記ブロードキャスト・パケットに対応した１つの前記レスポンス・パケットを受信して検証するステップ、または、前記マスタ装置が前記マスタ装置のIPアドレスに宛てられた複数の異なるIPアドレスを含む前記レスポンス・パケットを受信して検証するステップ
を含む
請求項１７に記載のプログラム。
【請求項１９】
スレーブ装置に対してネットワークを介してデータ伝送するための装置実行可能なプログラムであって、前記プログラムは、前記スレーブ装置に対して、
前記ネットワークからのデータリンク層レベルでのブロードキャスト・パケットを受信するステップと、
前記ブロードキャスト・パケットを受信したネットワーク・アダプタをメモリに登録するステップと、
前記ブロードキャスト・パケットを検証し、検証結果に応答して生成されたIPアドレスおよびハードウェア・アドレスを記述したレスポンス・パケットを生成するステップと、
前記ブロードキャスト・パケットを受信し、登録された前記ネットワーク・アダプタを呼出して機能させ、前記ネットワークに対してレスポンス・パケットを送信するステップと、
前記ハードウェア・アドレスと前記IPアドレスとを使用して、データリンク層レベルおよびトランスポート層レベルでデータ伝送させるステップと
を実行させる、プログラム。
【請求項２０】
前記生成するステップは、前記ブロードキャスト・パケットが所定のフォーマットであることを検証するステップと、
前記検証の結果、前記ブロードキャスト・パケットが前記所定のフォーマットを有する場合には、前記IPアドレスを生成するステップと、
生成された前記IPアドレスをレスポンス・パケットに書込むステップとを含む
請求項１８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してデータを伝送する情報処理装置に関し、より詳細には、既存のネットワーク環境に参加する情報処理装置などの情報処理装置に対して、ネットワーク環境を構築するためのデータを伝送する情報処理装置、データ伝送システム、データ伝送方法および該データ伝送方法を情報処理装置に対して実行させるための情報処理装置実行可能なプログラムに関する。
【背景技術】
【０００２】
ネットワーク環境には、通常、多数の情報処理装置が接続されており、アプリケーション、データベース、プリンタなどの共有が行われている。このようなネットワーク環境は、オフィス業務の効率化を可能とすることから、近年、一般的な情報処理装置の接続形態となっている。このため、ネットワーク環境に接続された情報処理装置の保守・管理や、情報処理装置自体の交換などの要求もますます増えている。ネットワークに対し、新たな情報処理装置を接続する場合を考えると、ユーザは、情報処理装置をネットワークに接続し、ネットワークに対して登録を行った後にＤＨＣＰサーバなどから空いているIPアドレスを取得し、ネットワーク環境をセットアップする操作が必要とされる。その後、ユーザは、新規に接続された情報処理装置に対し、ネットワークを介して所定のネットワーク経路を経由して、データベース・サーバや、プリンタへの接続を実行し、さらには必要なアプリケーションをインストールするなどの手続を行う。
【０００３】
この手続について考えると、ユーザが直接管理を行う１台の情報処理装置の環境設定だけでも、ユーザは、時間と労力とを要するといえる。このため、例えば、所定の企業の各ユーザのデスクトップに配置された情報処理装置のすべて、またはその一部を交換し、ネットワーク環境に接続させて業務を可能とすることを考えると、ユーザにおいては、時間および労力的に極めて高いコストを必要とするといえる。また、このようなコストが、ユーザ側における情報処理装置の交換などに対して心理的に大きな障害となっている。また、メンテナンスを行うサービス・エンジニアについても同様に、時間と労力とを消費する処理であり、メンテナンス側にとってもコストおよび効率の面で問題を生じる。
【０００４】
このためネットワークに新たに接続される情報処理装置に対して、すでに接続された情報処理装置からネットワークへの接続データを伝送することができれば、１台の情報処理装置の設定を実行するだけで、ローカルエリア・ネットワーク（LAN）に接続された他の情報処理装置について、ネットワーク接続を確立させることが可能となり、ネットワーク環境の保守性およびユーザビリティを向上させることができる。
【０００５】
これまで、少なくとも２つの情報処理装置間において、データの伝送を可能とする方法としては、例えば、特許第２５４６１７７号明細書（特許文献１）では、他の情報処理装置上のオンライン情報処理プログラムと自情報処理装置上のオンライン情報処理プログラムとの間において、データリンクに失敗した時に代替通信回線選択情報手段にデータリンク開設処理を繰り返し実行させることにより通信回線を自動選択する方法が開示されている。しかしながら、特許文献１の方法は、すでにネットワーク上での通信が可能とされた後の処理である点で、ネットワークを確立させるためのデータの送信を確立させる技術ではない。
【０００６】
また、特開２００２−１９７０５１号公報（特許文献２）では、相手側の情報処理装置が複数の通信アダプタを含む場合に、通信アダプタを選択する方法を開示している。この方法も、基本的に相手側の情報処理装置がネットワーク設定されていることを前提としており、ネットワーク環境が設定されていない情報処理装置に対してデータを伝送させる方法ではない。
【０００７】
さらに特開２００４−２５２７３２号公報（特許文献３）では、P2P型の通信を使用してデータを共有させるために、所望するデータを有する他のデータ共有装置に対してブロードキャスト・パケットを送信し、応答したデータ共有装置を示すアドレス情報とデータ名情報とを取得するデータ共有装置を開示している。しかしながら、この装置も、データ共有装置がすでにネットワーク環境内に存在していることを前提としており、ネットワーク接続データを有しない情報処理装置との通信を開設させるプロトコルについては何ら開示するものではない。
【０００８】
一方、特開２００３−４４５６０号公報（特許文献４）では、設定元情報機器内の設定などを取得して、ユーザの購入する設定先情報機器に取得したデータを、ネットワークを通じて転送し、設定先情報機器に設定やデータを保存させたうえで、設定先情報機器をユーザ側に提供する取引方法を開示している。この方法は、設定元の情報を設定先情報機器に転送することを可能とすることは記載するものの、設定は、メーカなど、情報機器を提供する側が行うものであり、提供すべき情報機器がなんらの不都合もなくすでにネットワークに接続できることを前提とされている。そして、そもそもネットワークに接続するためのデータをネットワーク環境に登録されていない情報機器に対して伝送することについては何ら開示するものではないし、ネットワークに接続するためのデータには、IPアドレスの他、サブネットマスクや、MACアドレスなど、ユーザの物理接続に必要なすべてのデータをネットワーク上で伝送させる必要があり、セキュリティ上極めて重要な問題を生じさせることも想定される。
【０００９】
また、ローカルエリア・ネットワークでは、データリンク層における自動アドレス解決プロトコル(ARP)を使用することで、所定のIPアドレスに対応するMACアドレスを知ることができる。しかしながら、ARPもIPアドレスが既知でなければ利用することができず、相手方のIPアドレスが不明な段階でより高度な情報信頼性および情報量で２つの情報処理装置の間のハンドシェイク・プロトコルを確立させるには不向きである。さらに、オンサイトでのネットワーク環境構築について考えると、ユーザがすでに使用し、ネットワーク環境に接続されている情報処理装置は、ユーザの個別的な設定により、情報処理装置ごとに、どのネットワーク・アダプタがユーザにおいて優先順位が高くされているのかが異なる場合もある。これに対応するべく、ユーザが管理するパーソナル・情報処理装置の情報を、サービス先で不必要に確認および変更することは、セキュリティ管理上の点で一般的に適用できることではない。
【特許文献１】特許第２５４６１７７号明細書
【特許文献２】特開２００２−１９７０５１号公報
【特許文献３】特開２００４−２５２７３２号公報
【特許文献４】特開２００３−４４５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したようにこれまで、すでにネットワークに接続された環境にある情報処理装置に対してデータを伝送する方法および装置は開示されているものの、ネットワークに未だ接続されていない情報処理装置に対してネットワーク環境を整備する処理は、ユーザがまず行うか、または製造元において取得した情報に基づき、製造元で初期設定にある情報処理装置に対して処理を行うことを前提とするものである。
【００１１】
一方で、情報処理装置は、近年ではダイアルアップ・アダプタ、ワイヤレスLANアダプタ、イーサネット（登録商標）・アダプタなど複数の通信アダプタを含むことが普通である。さらに、どのようなアダプタが優先されるか、または含まれているかについては、ユーザ設定に応じて異なるのが通常である。また、この理由により、オンサイトでのネットワーク環境設定が、ユーザにより行われることが多かった理由となっている。
【００１２】
すなわち、本発明は、ネットワーク環境に接続されてはいるものの、そのためのデータを有しない情報処理装置に対してネットワーク経路を自動的に確立させ、そしてネットワーク環境への移行のためのデータの取得を自動的に実行することを可能とする、情報処理装置、データ伝送システム、データ伝送方法、および情報処理装置に対してデータ伝送方法を実行させるための情報処理装置実行可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、ネットワーク環境に接続されていない、または新たなネットワーク環境に接続する必要のある情報処理装置に対するネットワーク環境の設定を、オンサイトで自動的に実行することができれば、ユーザおよびサービス・エンジニアの時間的および労力を低減することにより、より効率的に情報処理装置のメンテナンスを可能とすることができるという着想の下になされたものである。
【００１４】
すなわち、本発明は、複数搭載されていることが通常となっているネットワーク・アダプタのうち、ネットワーク構築に使用できるネットワーク・アダプタを自動的に認識させる。その後、データリンク層レベルでのブロードキャスト通信を使用して、ネットワーク環境を構築させる必要のある情報処理装置を発見し、過渡的に生成されるIPアドレスを使用してトランスポート層レベルでのデータ伝送を実行することにより、高い信頼性および効率で、発見された情報処理装置に対してネットワーク環境を構築させるためのデータを伝送する。
【００１５】
ブロードキャスト・パケットには、送信側の情報が含まれていて、受信側の情報処理装置は、特定の実施の形態では、送信側のIPアドレスを参照して、送り手側のIPアドレスに近い過渡的IPアドレスを生成させる。また、別の実施の形態では、ブロードキャスト・パケットには、少なくともサブネットマスクが含まれていて、受信側の情報処理装置は、ブロードキャスト・パケットを受け取ると、サブネットマスクと、送信側のIPアドレスとを使用して、ネットワークを介して行なわれる処理の間だけ有効な過渡的IPアドレスをネットワーク・アダプタに付与し、送信側の情報処理装置（マスタ装置）にブロードキャスト・パケットに対する返信、すなわちレスポンス・パケットとしてUDPで生成されたHandshakeパケットを送信する。
【００１６】
ブロードキャスト・パケットの送信側の情報処理装置（マスタ装置）は、Handshakeパケットの内容を分析し、検証を行い、検証の結果、正当なHandshakeパケットであると判断した場合に、HandshakeResponseを生成し、検証の結果をHandshakeResponseに書き込み、Handshakeパケットを送出した情報処理装置へとHandshakeResponseを、特定されたネットワーク・アダプタを機能させて送出させる。
【発明の効果】
【００１７】
本発明の上記構成により、複数のネットワーク・アダプタが搭載されることが普通である多数の情報処理装置が接続されたネットワーク環境においても、少なくとも１台の情報処理装置をLAN環境を確立させるだけで、他の情報処理装置に対して１：１または複数の１：１または１：多の環境で、多の情報処理装置に対し、ネットワークに接続するためのデータを効率的かつ高いセキュリティ性を付与させつつ、伝送することが可能な、情報処理装置、データ伝送システム、データ伝送方法、および情報処理装置に対してデータ伝送方法を実行させるための情報処理装置実行可能なプログラムを提供することができる。この結果、多数の情報処理装置を同時に交換する必要のあるユーザにおける労力およびそのためのコスト、並びに情報処理装置の保守・点検を行うサービス・エンジニアの労力を削減することができ、情報処理装置の新旧交換などのメンテナンスをスムーズに達成することができ、メンテナンス・コストおよび効率を改善させることができる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の情報処理装置１０の概略的な機能構成を示した図である。図１に示される情報処理装置１０としては、ノートブック型コンピュータ、デスクトップ型パーソナル・コンピュータなどのパーソナル・コンピュータやワークステーションなどを挙げることができ、例えば、Windows（登録商標）XP、Windows（登録商標）2000、Windows（登録商標）サーバなどのオペレーション・システム（OS)を実行することができる情報処理装置の他、例えばアプライアンス・サーバなどにも適用することができる。より詳細に説明すると、情報処理装置１０は、中央処理装置（MPU）１２と、メモリ１４とを含んでいて、各種のアプリケーションを実行すると共に、内部バス１６により相互接続されたインタフェース１８を介して外部からの入力を受け取り、処理を実行し、その結果を例えばハードディスク２０といった記憶装置に格納させている。
【００１９】
また、中央処理装置１２は、ROMなどに書き込まれたBIOSにより各周辺装置の監視および管理を実行していると共に、内部バス１６を介して各ネットワーク・アダプタ２２、２４、２６、２８を制御して、情報処理装置１０を、ローカルエリア・ネットワーク（LAN）、ワイドエリア・ネットワーク（WAN）またはインターネットといったネットワーク基盤３０へと接続させている。ネットワーク・アダプタ２２〜２８は、例えば、イーサネット（登録商標）ボード、光通信ボード、ワイヤレス通信ボード、ダイアルアップ・アダプタなど複数の種類のハードウェア仕様のネットワークに対応するボード、カードなどとして情報処理装置に実装されている。また、ネットワーク・アダプタの種類および数は、ユーザによる情報処理装置１０の個別的な設定または規格に応じて、数やその優先順位が異なっているのが通常である。
【００２０】
図２は、本発明の情報処理装置１０の構成を、ＯＳＩ参照モデルを使用して表した図である。図２に示されるように、情報処理装置１０は、第１層の物理層３２と、第２層のデータリンク層３４と、第３層のネットワーク層３６とを含んでいる。一度IPアドレスが設定され、ネットワーク環境が構築されると、さらに上層のトランスポート層３８、セッション層４０およびアプリケーション層４２へとネットワークを介して得られたデータが送られ、ネットワーク環境による情報または機器の共有が可能とされる。しかしながら、ユーザが情報処理装置を購入した段階では、まだ情報処理装置は、接続するべきネットワークに対して接続するデータを有していない。また、IPアドレスも当該ネットワークに使用できる値を有していないので、基本的には、TCP/IPといったプロトコルによるフロー制御による管理が実行できない。このため、まず、データリンク層３４内だけでデータ伝送が可能な通信リンクを自動的に確立させるプロトコルを提供する必要がある。
【００２１】
図３は、本発明によりデータ伝送を実行させる場合の２つの情報処理装置４４、５６の、接続を示した実施の形態と、その機能構成とを示した図である。図３中、情報処理装置４４（以下、マスタ装置として参照する。）が、すでにネットワークに接続され、ネットワークに対して接続するためのデータを含み、また他の情報処理装置５６（以下、スレーブ装置として参照する。）へとデータを伝送しなければならない情報処理装置であるものと仮定する。
【００２２】
マスタ装置４４は、アプリケーション・ソフトウェアとして提供され、本発明のデータ伝送方法を実行させるためのセットアップ処理部４８と、ネットワーク・アダプタの管理を実行し、ＯＳにより提供されるプロトコル・スタックを含む通信処理部４６と、通信処理部４６により管理・制御されるネットワーク・アダプタ＃１〜＃３とを含む。なお、ネットワーク・アダプタは、複数搭載されるのが通常であり、本発明ではさらに多くの、また少ないネットワーク・アダプタに対しても適用することができる。さらに、スレーブ装置５６は、機能構成的には、マスタ装置４４と同様の構成とされている。
【００２３】
また、図３に示した特定の実施の形態では、マスタ装置４４およびスレーブ装置５６は、さらに、HUB６８によりLANを経由して他の情報処理装置７０、７２に接続されている。しかしながら、この状況では、スレーブ装置５６は接続されているとはいえ、LANに対してネットワーク登録されていない状態である。本発明では、最も基本的な実施の形態では、図３に示されるように、例えば、その時点で空いているネットワーク・アダプタ＃１（イーサネット（登録商標））同士をクロスケーブル５４で接続することにより、本発明のデータ転送を実行させる通信リンクを構成させる。また、本発明のさらに別の実施の形態では、本発明では、HUB６８で相互接続される範囲内のLANに接続されるべきスレーブ装置に対して、HUB６８を経由した情報処理装置の間でも同様に１：多のデータ伝送を実行することができる。
【００２４】
図４は、本発明のマスタ装置が実行するデータ伝送方法を示したフローチャートである。図４の処理は、ステップ４００から開始し、ステップ４０２において、ネットワーク・アダプタの検索を実行させる。このネットワーク・アダプタの検索は、マスタ装置において、図３に示したネットワーク・アダプタ＃１が、ユーザの設定に応じて必ずしも最優先になっていないことに対応する処理である。ステップ４０２の処理では、例えば、マスタ装置が含むネットワーク・アダプタのリストなどをルックアップして、説明している実施の形態では、イーサネット（登録商標）ボードを検索する処理を実行させる。
【００２５】
ステップ４０２が実行され、ステップ４０４において該当するネットワーク・アダプタが検索された場合(yes)には、ネットワーク・アダプタのアドレス情報を取得し、以後のデータ通信において都度検索せずとも良いようにメモリなどの記憶装置に格納する。その後、マスタ装置は、当該ネットワーク・アダプタからConnectionRequestをブロードキャスト送信させる。ConnectionRequestは、スレーブ装置とのリンクを確立させるためのコマンドであり、特別のコマンドを使用することもできるし、例えばPingなど、ブロードキャスト・パケットに含ませることができる限り、いかなるコマンドでも使用することができる。本発明でConnectionRequestとして送信されるブロードキャスト・パケットおよびそれに対するレスポンス・パケットであるHandshakeパケットの構成については、より詳細に後述する。
【００２６】
さらに図４のフローチャートについて説明すると、ステップ４０８では、送信したConnectionRequestに対応するHandshakeパケットの受信を待機し、ステップ４１０において、例えば、Pingに対応して、特定のポートに対するマスタ装置宛のＵＤＰフォーマットのパケットを受信すると(yes)、これがHandshakeパケットであると判断する。ステップ４１２では、チェックサムを検証してHandshakeパケットが正しいフォーマットであることを確認し、さらにコネクション識別子およびHandshakeパケットの送信元により行われた電子署名を用いて、P2Pの接続を行うべき正しい相手であるかどうかを検証する。この処理は、例えば、スレーブ装置が複数台存在し、それぞれの装置から複数のHandshakeパケットを受信した場合にトランザクションを整理して適切な処理を実行させること、およびHandshakeパケットを詐称して他のネットワークから侵入する悪意のアタックから情報処理装置を保護するため、および１：１でのデータ伝送を行っている複数のマスタ装置−スレーブ装置が存在する場合、各マスタ装置−スレーブ装置が混信しないようにさせるために必要とされる。
【００２７】
同時に、Handshakeパケットが、マスタ装置側から送られたどのConnectionRequestに対応するものであるかを、Handshakeパケットに含まれるコネクション識別値を使用して判断することができる。この判断は、１：１の擬似的なP2P環境でセットアップを実行している場合には発生しないが、１：多の環境でセットアップを実行する場合や、同一のLAN中に複数の１：１の本発明の擬似的なP2P環境が生成される場合に、UDPフォーマットのConnectionRequestに含ませたコネクション識別値が、Handshakeパケットが含むか否かにより判断することができる。本発明では、Handshakeパケットが複数検出された場合には、最先に到着したHandshakeパケットのみを選択し、それ以外のパケットを廃棄する処理を実行させることができる。また、他の実施の形態では、FIFOバッファなどを使用して、入来HandshakeパケットをFIFOバッファに格納しておき、順次処理することができる。
【００２８】
ステップ４１４でHandshakeパケットが正当なものであると判断された場合(yes)には、ステップ４１６において、スレーブ装置に検証結果である結果コード、例えばresult=acceptedを書き込んだHandshakeResponseを送信して、ステップ４２０で本発明のデータ伝送方法を終了する。その後、マスタ装置は、送信するべきネットワーク・データや、その他のデータなどを、スレーブ装置へと自動的に送信する。
【００２９】
また、図４のフローチャートのステップ４０４でネットワーク・アダプタが見つからない場合(no)には、例えばイーサネット（登録商標）ボードが搭載されていないか、または機能していない可能性があるので、ステップ４２０に分岐して処理を終了させる。また、ステップ４１０においてHandshakeパケットを受信できない場合(no)には、Handshakeパケットの受信に時間がかかっているだけの場合、または同種のネットワーク・アダプタが複数存在し、同種のネットワーク・アダプタから、他のネットワーク・アダプタを選択する必要があるか、またはまったく異なる種類のネットワーク・アダプタを選択する必要がある場合の判断が必要とされる。このため、ステップ４２２へと進んで、タイムアウトか否かを判断し、タイムアウトでない場合(no)には、ステップ４０８へと処理を戻してHandshakeパケットの到着を待機させる。また、タイムアウトの場合(yes)には、ステップ４０２へと処理を戻して異なるネットワーク・アダプタを検索させる。
【００３０】
また、ステップ４１４において正当なHandshakeパケットでなかった場合(no)には、ステップ４１８へと分岐させ、HandshakeResponseを生成し、結果コードに拒否の値例えば、result=deniedを記述してスレーブ装置へと送信させて拒否を通知した後、ステップ４０８へと処理を戻して正当なスレーブ装置からのHandshakeパケットの受信に備える。
【００３１】
図５は、スレーブ装置が実行する本発明のデータ伝送方法の処理を示したフローチャートである。図５に示した処理は、ステップ５００から開始し、ステップ５２０においてすべてのアダプタを起動して、マスタ装置からのConnectionRequestを受信する用意をさせ、ステップ５０４でマスタからのConnectionRequestの受信を待機する。ステップ５０６では、ブロードキャスト・パケットを受信すると、それがConnectionRequestか否かを判断する。ConnectionRequestであるか否かの判断は、１：１のコネクションを確立することが目的である場合には必要とはされず、スキップさせることもできるが、複数の１：１の環境や、１：多の環境でセットアップを実行している場合には、まったく別の情報処理装置により発行されたブロードキャスト・パケットと区別するために必要とされる。
【００３２】
より具体的には、この判断は、当該２台の情報処理装置が単一のネットワークアダプタにより、他のシステムを介さずに接続されている場合には、後述する宛先HWアドレスを検査し、宛先HWアドレスが、例えば、ネットワーク・アダプタがイーサネット（登録商標）に対応する場合には、FF.FF.FF.FF.FF.FFのデータリンク層レベルでのブロードキャスト・パケットであることを使用して実行することができる。これ以外のデータリンク形式では、別に規定されるブロードキャスト・アドレスを使用することができる。また、該当する情報処理装置以外がLANに接続されている場合、１：多の場合、および１：１のペアとされたマスタ装置−スレーブ装置が複数存在する場合には、後述するように、受信したConnectionRequestのペイロードのチェックサムが一致したかどうかの判断により行うことができる。また、UDPフォーマットの場合には、上述した判断の他、宛先IPアドレスが、IPブロードキャスト・パケットであること、UDPデータグラム内に、サブネットマスクが含まれているかいないか、などを使用して判断することができる。ブロードキャスト・パケットがConnectionRequestである場合(yes)には、ステップ５０８で受信パケットから送信元のMACアドレス、IPアドレス、およびマスタ識別情報を取得する。さらにステップ５１０では、スレーブ装置に対して、マスタ装置のIPアドレスを参照して、マスタ装置IPアドレス付近の値をランダムに選択させるか、またはマスタ装置のIPアドレスと、受信したサブネットマスクとを使用して、当該LANにおいて使用可能なIPアドレスを生成し、該当するネットワーク・アダプタに付与する。
【００３３】
ステップ５１２では、Handshakeパケットを作成し、マスタ装置へと送信する。この場合、Handshakeパケットには、スレーブ装置の識別情報を含ませることにより、複数の１：１のセットアップ１：多のセットアップにおける識別性および検査性を向上させることができる。同時に、Handshakeパケットには、マスタ装置における検査性を向上させるため、チェックサム、またはRSA規格などの電子署名を含ませることができる。Handshakeパケットの詳細な構成については、図９においてより詳細に説明する。
【００３４】
ステップ５１４では、マスタ装置からのHandshakeResponseの受信を待機させ、ステップ５１６で、HandshakeResponseを受信すると(yes)、結果コードresult=()の値を取得して判断を行った後、図５の処理を完了させ、ネットワーク・データや他のリソース・データなどの伝送処理のための準備へと処理を進ませる。
【００３５】
また、ステップ５０６でHandshakeResponseを受信できない場合(no)には、ステップ５２０においてタイムアウトの判断を実行し、タイムアウトの場合(yes)、処理をステップ５１８へと分岐させ処理を中止させる。また、タイムアウトを経過していない場合(no)には、処理をステップ５０４へと戻して、さらにHandshakeResponseの受信を待機する。また、ステップ５１６でHandshakeResponseが受信できない場合(no)には、マスタ側において何らかの障害が発生した場合や、単にマスタ側での処理が遅れている場合が考えられるので、ステップ５２２において、タイムアウトの判断を実行し、タイムアウトの場合(yes)処理をステップ５１８へと分岐させ処理を中止させる。また、タイムアウトを経過していない場合(no)には、処理をステップ５０４へと戻して、さらにHandshakeResponseの受信を待機する。
【００３６】
図６は、本発明において、マスタ装置側が実行する図４の処理を実行させるプログラムの擬似コードを示した図である。図６に示した擬似コードでは、まず、マスタの識別情報を取得または生成させ、利用可能なネットワーク・アダプタを検索させている。その後、検索されたネットワーク・アダプタに対して順次ConnectionRequestを作成させる。ConnectionRequestには、データリンク層に関連するデータ、ネットワーク層に関連するデータの他、UDPフォーマットのパケットを使用する場合には、サブネットマスク、識別情報、チェックサムまたは電子署名データなどを書き込み、送信する。
【００３７】
Handshakeパケットが到着すると、特定の実施の形態ではチェックサムおよびマスタ側の送った識別情報を使用して検査を実行し、正当性の検査が行われる。その後、識別情報の検査において正当性が保証されると、HandshakeResponseを生成し、再度識別情報を計算させ、HandshakeResponseにセットし、結果コードに受容の値result=acceptedを書き込み、チェックサムと共にスレーブ装置へと送り一連の処理を終了させる。
【００３８】
図７は、スレーブ装置が実行する図５の処理を実行させるプログラムの擬似コードを示した図である。まず、スレーブ装置側においても識別情報を取得し、利用可能なネットワーク・アダプタを検索させ、利用可能なネットワーク・アダプタに同時にConnectionRequestの受信を待機させる。その後、ConnectionRequestの書式をチェックサムで確認し、書式が合わなければ廃棄、再び受信を待機する。書式が一致すれば、パケットからマスタ装置のHWアドレス、IPアドレスなどを取特する。さらに、以後の通信で受信したネットワーク・アダプタを固定するため、受信に成功したアダプタのアドレス状態を保存させる。さらに、スレーブ装置のIPアドレスをマスタ装置のIPアドレス付近に設定するか、または受信したサブネットマスク値を使用して当該LANにおけるマスタ装置のIPアドレスを計算し、その付近の値のIPアドレスを生成させる。その後、識別情報、スレーブ装置のMACアドレス、IPアドレスなどをHandshakeパケットに書き込み、マスタ装置へと送信し、チェックサムを使用した検証を経て、一連の処理を完了させる。
【００３９】
上述した処理により、ConnectionRequest−Handshake−HandshakeResponseプロトコルが終了した段階では、マスタ装置およびスレーブ装置のいずれもが互いに相手側のMACアドレスおよびIPアドレスおよび通信可能なアダプタ識別情報を取得しており、データリンク層の他、トランスポート層レベルでの通信が可能な状態に設定されている。
【００４０】
図８は、本発明において使用されるConnectionRequestの実施の形態を示す。図８（ａ）は、ConnectionRequestとして、OSに標準的に添付されるPingプログラムを用いてICMP
ECHOコマンドをネットワークのブロードキャスト・アドレスに対して送信することで生成した、データリンク層におけるブロードキャストを使用する場合の実施の形態を示した図であり、図８（ｂ）は、ConnectionRequestをUDP（User
Datagram Protocol)を使用して必要なデータを書き込む場合の実施の形態である。
【００４１】
まず、図８（ａ）から説明すると、本発明のConnectionRequestは、データリンク・ヘッダ７４と、IPヘッダ７６と、ICMPヘッダおよびICMPペイロードを含むICMPデータ領域７８とから構成されている。データリンク・ヘッダ７４には、宛先ハードウェア・アドレス（宛先HWアドレス）８０、具体的には、MACアドレスが書き込まれ、さらに、送信元ハードウェア・アドレス（送信元HWアドレス）８２と、追加の情報を書き込むための領域であるオプション領域８４とが含まれる。本発明では、宛先HWアドレスには、接続の最初には、相手側情報がまったく不明なので、データリンク・レベルのブロードキャストを生成させるため、ネットワーク層におけるブロードキャスト・パケットを送出する。特定の実施の形態としてイーサネット（登録商標）を使用する場合には、ブロードキャスト・アドレスとして確保されているFF.FF.FF.FF.FF.FFが書き込まれる。送信元HWアドレス８２には、自己のMACアドレスを書き込み、必要に応じて、オプション領域に書き込みが行なわれる。これらの処理は、OSが保有するプロトコル・スタックにより自動的に行われる。また、本発明において別のネットワーク規格を使用する場合には、そのネットワーク規格に該当するブロードキャスト・アドレスを書き込むことができる。
【００４２】
さらにIPヘッダ７６は、オプション領域８６と、送信元アドレス８８と、宛先アドレス９０とを含む。送信元アドレス８８には、マスタ装置のIPアドレスが書き込まれ、宛先アドレス９０には、少なくともマスタ装置は、当該LANのネットワーク層におけるブロードキャスト・アドレスが知らされているはずなので、IPブロードキャスト・アドレスを書き込む。本発明の特定の実施の形態では、例えば、abc.def.1.0/255.255.255.0で与えられるIPアドレスに対しては、abc.def.1.255が書き込まれる。また、ICMPデータ記述部７８は、パケットのタイプを記述するＩＣＭＰヘッダ９２と、ペイロード部９４とを含む。ペイロード部９４には、Pingなどのコマンドの指定などが通常にしたがって記述される。
【００４３】
図８（ａ）に示したConnectionRequestは、主として１台のマスタ装置に対して１台のスレーブ装置がクロスケーブルにより接続され、マスタ装置が、複数のスレーブ装置からのHandshakeパケットを処理しなくとも良い、最も基本的な実施の形態の場合に適切に使用することができるパケット・フォーマットである。ただし、ネットワーク内に本発明のP2P接続に関与している情報処理装置が存在しない場合には、図８（ａ）に示したパケット・フォーマットのままで、１対多のデータ伝送処理を行うことができる。
【００４４】
図８（ｂ）は、本発明のConnectionRequestの他の実施の形態を示した図である。図８（ｂ）に示した実施の形態のパケットは、データリンク・ヘッダ９６と、IPヘッダ９８と、UDPデータ記述部１００とを含む。データリンク・ヘッダ９６およびIPヘッダ９８の構成は、図８（ａ）で説明したと同様の構成とされている。UDPデータ記述部１００は、UDPヘッダ１１４と、UDPペイロード１１６とから構成され、UDPヘッダ１１４には、例えば、パケットのフォーマットが記述され、UDPペイロード１１６には、複数の１：１のデータ伝送または１対多のデータ伝送を可能とするためのデータが記述されている。本発明の特定の実施の形態では、UDPペイロードに記述されるデータとしては、ConnectionRequestであることを示すタイプ識別値、コネクション識別値、サブネットマスク値、および混信を防ぎ、他の箇所で別に動作する可能性のある他のマスタ装置から所定のマスタ装置を識別させるためのマスタ識別情報およびチェックサムや電子署名などを挙げることができる。
【００４５】
コネクション識別値は、発行したConnectionRequestに固有に付される値とすることもできる。また、例えばマスタ装置がConnectionRequestを発行した時刻をタイムスタンプとし、コネクション識別値として使用することができる。さらに、本発明においてプログラムのサイズに制限がない場合には、さらに別の値を生成させて使用することもできる。マスタ識別情報は、マスタを識別させることができる限り、例えば乱数などにより指定される値とすることができるし、またマスタ装置やスレーブ装置のMACアドレスなどの固有情報から適切なHASH関数を使用して生成される値を使用することもできる。
【００４６】
また、１対１のデータ伝送を確立させる場合には、マスタ装置に与えられたユーザにより指定されたコンピュータの名前を使用することもできる。また、チェックサムは、パケットの形式が正しいかどうかを検証するために使用される。またRSAなどの電子署名は、データ伝送の途中におけるデータ改ざん、または悪意のある外部からの攻撃を防止するために使用することができ、本発明では、電子署名は、データ改ざんや外部からの攻撃を受ける可能性がない場合には、必ずしも必要とされるものではない。
【００４７】
図９には、本発明において、スレーブ装置側から送信されるHandshakeパケットの実施の形態を示す。図９に示されるHandshakeパケットは、概ね、図８（ｂ）に示したUDPフォーマットとして構成されていて、データリンク・ヘッダ１１８と、IPヘッダ１２０と、UDPデータ記述部１２２とを含む。データリンク・ヘッダ１１８は、宛先HWアドレス１２４と、送信元HWアドレス１２６と、オプション記述部１２８とを含んでいる。宛先HWアドレス１２４には、それぞれマスタ装置から送信されたマスタ装置のMACアドレスが、ConnectionRequestから読み出されて記述される。また送信元HWアドレス１２６には、スレーブ装置のMACアドレスが記述される。また、IPヘッダ１２０には、ConnectionRequestから読み出されたマスタ装置のIPアドレスが宛先アドレス１３４に記述される。送信元アドレスは、１：１のデータ伝送の場合には、受信したマスタ装置のIPアドレスに近い値として生成することができる。また、本発明の別の実施の形態では、マスタから送られたIPアドレスと、サブネットマスクとを使用してマスタ装置に対して送信可能なIPアドレスを生成させ、生成されたIPアドレスを送信元アドレス１３２に書き込むこともできる。
【００４８】
また、UDPデータ記述部１２２は、UDPヘッダ１３６とUDPペイロード１３８とを含み、UDPヘッダ１３６には、UDPペイロード１３８のフォーマットなどが指定され、UDPペイロード１３８には、ConnectionRequestと同様に、Handshakeパケットであることを示すタイプ識別子、ConnectionRequestから読み出されたコネクション識別値、混信を防ぐためのスレーブ識別情報およびチェックサムまたはRSA電子署名が記述される。図９に示したHandshakeパケットは、ネットワークへと送出され、マスタ装置によりより受信される。
【００４９】
Handshakeパケットを受信したマスタ装置は、まず、チェックサム、電子署名などからデータを検証し、検証後、Handshakeパケットの対応する領域からからスレーブ装置のMACアドレス、IPアドレスを取得する。その後、受信したHandshakeパケットに対する検証結果などを記述したHandshakeResponse（パケット）をスレーブ装置に向けて送信する。
【００５０】
図１０には、マスタ装置から送信されるHandshakeResponseの実施の形態を示す。HandshakeResponseは、UDPフォーマットとして記述され、図８（ｂ）に示したと同様に概ね、データリンク・ヘッダ１４０とIPヘッダ１４２と、UDPデータ記述部１４４とから構成されている。ただし、図１０に示したHandshakeResponseでは、UDPデータ記述部１４４に含まれるUDPペイロード１６０には、パケット・タイプがHandshakeResponseであることを示すタイプ識別値と、マスタ側での検証結果である結果コード値(result=())と、コネクション識別値やチェックサムなどが記述されている。スレーブ側では、UDPペイロード１６０の領域から、チェックサムを検証してパケットの正当性を検証し、その後タイプ識別値を読み出して結果コードの値から、Handshakeパケットに対するマスタ装置の応答を判断する。その後、スレーブ装置では、以後にマスタ側から送信されるデータの受信および処理のためのセットアップを開始する。本発明において、セットアップ処理後にマスタ装置から伝送されるデータとしては、データベース・サーバ、プリンタ・サーバ、メール・サーバのアドレス、DNSサーバのアドレス、特定のインターネット・サイトのURLアドレスの他、マスタ装置の管理するRAM内のデータ、ハードディスク内に格納されたデータ、バックアップ・データの少なくとも１種類のデータといった、ユーザによるスレーブ装置の利用を支援するため、マスタ装置が保有するデータを、スレーブ装置へと移行する処理を支援するデータを例示的に挙げることができる。ただし、本発明においては、これら以外のデータでも、マスタ装置とスレーブ装置との間で伝送することが可能なデータであれば、特に伝送されるデータは制限されるものではない。
【００５１】
図１１は、本発明のデータ伝送方法を最小単位で実行させるデータ伝送システムの実施の形態を示した図である。マスタ装置１６２は、例えばユーザが、それまで使用していたノートブック型パーソナル・コンピュータであり、すでにネットワーク（LAN）１６８に接続され、業務のために使用されている。スレーブ装置１６４は、ユーザがアップデートしようとする、新たに導入されたノートブック型パーソナル・コンピュータであり、まだ出荷時の設定とされている。例えばこの状態でスレーブ装置１６４をLANに接続したとしても、ネットワークには識別されない場合もあり、ユーザは自分でネットワーク環境を設定し、必要なデータを取得させる必要がある。また、データの移行を行う相手方のホスト名やアドレスは自動的には提供されないので、ユーザが自分で必要な情報を設定する必要がある。
【００５２】
本発明では、スレーブ装置１６４と、マスタ装置１６２とをまず、クロスケーブル１６６により接続し、外見上では、P2Pの接続状態とさせつつ、マスタ装置１６２とスレーブ装置との間におけるネットワーク環境設定を可能させている。マスタ装置１６２およびスレーブ装置１６４には、本発明のデータ伝送方法を実行させるためのプログラムが、ユーザ側に配布された記憶媒体または適切なウェブ・ページからのダウンロードを介して予め導入されている。この操作は、例えばサービス・エンジニアが行うこともできるが、本発明のデータ伝送方法を実行するプログラムを記憶した記憶媒体だけをユーザに提供し、ユーザがプログラムを起動するだけで、例えばマスタ装置１６２では本発明のプログラムをアンダーグラウンドで実行させながら業務を続行させつつ、スレーブ装置のセットアップを続行させることができる。
【００５３】
図１２は、本発明のデータ伝送システムのさらに別の実施の形態を示した図である。図１２（ａ）は、オフィス環境で確立される基本単位のLAN環境を示し、図１２（ｂ）は、さらに複数のLAN環境１８０、１８２が存在するLAN環境での実施の形態を示す。図１２（ａ）に示した実施の形態では、所定のLAN環境内に、複数のP2P環境でのネットワークを実行しているマスタ装置−スレーブ装置のペア（１６２、１６４）、および（１７２、１７４）が存在する。また、これ以外にも、LAN１６８に接続された別の情報処理装置１７６が存在する。この場合でも、本発明では、マスタ装置１６２からのConnectionReqtestを受信したスレーブ装置１６４は、ConnectionRequestを送出したマスタ装置１６２に対して、コネクション識別子・ディジタル署名を用いてマスタ装置１６２を識別し、マスタ装置１６２に宛ててHandshakeパケットを返す。この際に、スレーブ装置１６４は、自己のHWアドレスとIPアドレスとをマスタ装置１６２に返すので、マスタ装置は、Handshakeパケットを送信したスレーブ装置を正確に識別して、以後の通信を確立させることができる。したがって、所定のLAN環境内に複数のP2P接続状態にある情報処理装置のペアが存在しても、互いに別々のマスタ装置やスレーブ装置の状態との混信を避けつつ、ネットワーク・データの伝送を行うことが可能となる。
【００５４】
図１２（ｂ）では、LAN１６８の他、LAN１８２に接続されたマスタ装置でもスレーブ装置でもない情報処理装置１７６が存在している。また、スレーブ装置１７４は、LAN１６８の他にも無線LAN１８０を介してマスタ装置１６２に接続されている。さらに、マスタ装置１６２と本発明によりマスタ−スレーブ・ペアとされたスレーブ装置１６４は、LAN１８２に接続されている。これらの場合でも、本発明の各マスタ装置と各スレーブ装置とは、それぞれが接続されたLANに存在するマスタ装置からのConnectionRequestを受信し、スレーブ装置１６４、１７４は、それぞれ対応するマスタ装置１６２、１７２に対してHandshakeパケットを返すことが可能となり、また混信も防止されている。
【００５５】
図１３は、本発明のデータ伝送システムのさらに他の好ましい実施の形態を示した図である。図１３に示された実施の形態では、マスタ装置１６２と、複数のスレーブ装置１６４〜１７４とは、HUB１８４により接続されたLAN１６８の構成メンバーとされている。LAN１６８は、さらにRouter１８６を介してインターネット、ワイドエリア・ネットワーク（WAN)といったネットワーク１８８に接続されている。また、図１３に示すように、LAN内には、ワイヤレス通信または赤外線通信のネットワークを介して接続された情報処理装置が含まれていても良い。
【００５６】
図１３に示した実施の形態では、ConnectionRequest、Handshake、および
HandshakeResponseの各パケットにUDPフォーマットを適用し、１台のマスタ装置１６２が、HUB１８４を介して、複数のスレーブ装置１６４〜１７４に対してネットワーク環境に接続するためのデータ伝送を実行させている。図１３に示した形態では、HUB１８４により接続されたマスタ装置が複数のスレーブ装置１６４〜１７４に対してセットアップを実行し、さらに情報処理装置の移行または交換に必要なデータ伝送を行うことができるので、ユーザ側およびメンテナンス・サービスを実行する側における情報処理装置のメンテナンス処理に伴う時間および労力を含むコストを低減させることができる。なお、１台で複数のスレーブ装置に対して設定を行った場合でも、本発明のデータ伝送方法の終了時には、スレーブ側が取得したIPアドレスは削除され、ユーザによる設定が可能とされる。このため、スレーブ装置は、再起動などによりネットワークに参加する場合にDHCPサーバなどから新たなIPアドレスを各別に取得することができるので、ネットワーク参加後には、スレーブ装置間のネットワーク層レベルでのコリジョンは発生しない。
【００５７】
本発明の上述したデータ伝送方法を実行させるための情報処理装置実行可能なプログラムは、種々のプログラミング言語により記述することができ、これらのプログラミング言語としては、例えば、C++、JAVA（登録商標）、JAVA（登録商標） Applet、JAVA（登録商標） Beans、JAVA（登録商標） Scriptなどのオブジェクト指向言語を挙げることができる。さらに、本発明のプログラムは、フレキシブル・ディスク、CD-ROM、CD-RW、DVD、MDなどの情報処理装置可読な記憶媒体に格納して、サービス・エンジニアが管理することもできるし、また本発明のプログラムを記憶媒体の形態として、またはユーザ・サイトによるウェブ・ページからのダウンロードなどにより、ユーザに頒布することもできる。
【産業上の利用可能性】
【００５８】
上述したように、本発明によれば、オフィス環境といった多数の情報処理装置が接続されたネットワーク環境において、情報処理装置のネットワーク接続操作に伴うコストを低減させると同時に、ネットワーク移行処理の効率を向上させることができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の情報処理装置の概略的な機能構成を示した図。
【図２】本発明の情報処理装置の構成を、ＯＳＩ参照モデルを使用して表した図。
【図３】本発明によりデータ伝送を実行させる場合の２つの情報処理装置の接続を示した実施の形態と、その機能構成とを示した図。
【図４】本発明のマスタ装置が実行するデータ伝送方法を示したフローチャート。
【図５】スレーブ装置が実行する本発明のデータ伝送方法の処理を示したフローチャート。
【図６】本発明において、マスタ装置側が実行する図４の処理を実行させるプログラムの擬似コードを示した図。
【図７】スレーブ装置が実行する図５の処理を実行させるプログラムの擬似コードを示した図。
【図８】本発明において使用されるConnectionRequestの実施の形態を示した図。
【図９】本発明において、スレーブ装置側から送信されるHandshakeパケットの実施の形態を示した図。
【図１０】マスタ装置から送信されるHandshakeResponseの実施の形態を示した図。
【図１１】本発明のデータ伝送方法を最小単位で実行させるための好ましいデータ伝送システムの実施の形態を示した図。
【図１２】本発明において、複数の１：１のデータ伝送を実行するデータ伝送システムの実施の形態を示した図。
【図１３】本発明において、１：多のデータ伝送を実行するデータ伝送システムの実施の形態を示した図。
【符号の説明】
【００６０】
１０…情報処理装置：１２…中央処理装置：１４…メモリ：１６…内部バス：１８…インタフェース：２０…ハードディスク：２２〜２８…ネットワーク・アダプタ：３０…ネットワーク基盤：３２…物理層：３４…データリンク層：３６…ネットワーク層：３８…トランスポート層：４０…セッション層：４２…アプリケーション層：４４…マスタ装置：４６…通信処理部：４８…セットアップ処理部：５６…スレーブ装置：６８…HUB：７０、７２…情報処理装置
【図１】
2006129355.tif 000003
【図２】
2006129355.tif 000004
【図３】
2006129355.tif 000005
【図４】
2006129355.tif 000006
【図５】
2006129355.tif 000007
【図６】
2006129355.tif 000008
【図７】
2006129355.tif 000009
【図８】
2006129355.tif 000010
【図９】
2006129355.tif 000011
【図１０】
2006129355.tif 000012
【図１１】
2006129355.tif 000013
【図１２】
2006129355.tif 000014
【図１３】
2006129355.tif 000015