(57)【要約】【課題】 ブロードキャスティングのためのＴＦＴＰオプションを定義することでブロードキャスティング機能を追加して、多数のクライアントが一つのサーバーにファイル伝送を要請した際に、ブロードキャストでファイルを伝送することのできる簡易なファイル伝送システムを提供する。【解決手段】  ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、それについてのオプション応答メッセージを受信した後に、ブロードキャスティングされたデータを順次受信する多数のクライアントシステムと、前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、それについてのオプション応答メッセージを伝送し、さらにデータを順次ブロードキャスティングするサーバーシステムと、を含む構成とする。  【選択図】  図４
2005228313.tif 000002
【特許請求の範囲】
【請求項１】
ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、それについてのオプション応答メッセージを受信した場合に、さらにブロードキャスティングされたデータを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、それについてのオプション応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントから受領応答メッセージを受信するごとに次のデータを順次ブロードキャスティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項２】
ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、それについてのオプション応答メッセージを受信した後に、ブロードキャスティングされたデータを順次受信する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、それについてのオプション応答メッセージを伝送し、さらにデータを順次ブロードキャスティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項３】
ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、マスタークライアントに設定されたことを知らせる応答メッセージを受信した場合に、ブロードキャスティングされたデータを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、マスタークライアントに選定したか又は選定しなかったことを知らせる拡張子を含んだオプション応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントの中のマスタークライアントに設定したクライアントから受領応答メッセージを受信するごとに次のデータを順次ブロードキャスティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項４】
前記サーバーシステムは、前記マスタークライアントから所定時間内に受領応答メッセージを受信しない場合に他のクライアントを新たなマスタークライアントに選定し、新たなマスタークライアントに設定したことを知らせる応答メッセージを前記他のクライアントに伝送し、さらにデータをブロードキャスティングした後に前記新たなマスタークライアントから受領応答メッセージを受信するごとに次のデータを順次ブロードキャスティングすること
を特徴とする請求項３記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項５】
前記拡張された読み取り要請メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、
ファイル名をＡＳＣIIコードにより符号化したファイル名フィールドと、
伝送モードを設定するモードフィールドと、
ブロードキャスティングオプションを設定するためのオプションフィールドと、
オプションフィールドの値を設定するためのマスクビットフィールドと、を含むこと
を特徴とする請求項３又は４に記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項６】
前記サーバーシステムが伝送するオプション応答メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、
ブロードキャスティングオプションを設定するためのブロードキャスティングフィールドと、
マスクビット、ポート番号及びマスタークライアント選定可否を知らせるための情報を設定するフィールドと、を含むこと
を特徴とする請求項３記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項７】
前記拡張された読み取り要請メッセージを最先に伝送したクライアントをマスタークライアントに選定すること
を特徴とする請求項３記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項８】
多数のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記多数のクライアントにオプション応答メッセージを伝送する第２のステップと、
前記サーバーが、データをブロードキャスティングした後に前記多数のクライアントから受領応答メッセージが送られてくるのを待つ第３のステップと、
前記サーバーが、前記多数のクライアントから受信応答メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第３のステップを繰り返し実行する第４のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項９】
多数のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記多数のクライアントにオプション応答メッセージを伝送する第２のステップと、
前記サーバーが、多数のクライアントにデータを順次ブロードキャスティングする第３のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項１０】
第１のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記第１のクライアントに対しマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送する第２のステップと、
第２のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第３のステップと、
前記サーバーが、前記第２のクライアントに対しマスタークライアントに選定しなかったことを知らせる情報を含むオプション応答メッセージを伝送する第４のステップと、
前記サーバーが、データをブロードキャスティングした後に前記第１のクライアントから受領応答メッセージが送られてくるのを待つ第５のステップと、
前記サーバーが、前記第１のクライアントから受領応答メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第５のステップを繰り返し実行する第６のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項１１】
前記サーバーは、前記第１のクライアントから所定時間内にデータ受信に関する受領応答メッセージが送られてこない場合に、前記第２のクライアントを新たなマスタークライアントに選定する第７のステップと、
前記第２のクライアントに対し、新たなマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送した後にデータをブロードキャスティングする第８のステップと、をさらに含むこと
を特徴とする請求項１０記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項１２】
所定の待ち時間が経過した後に、前記サーバーがブロードキャスティングを要請する前記拡張された読み取り要請メッセージを他のクライアントから受信した場合に、別のファイル伝送プログラムにより１対１で処理するか、又は新たにポートを割り当ててブロードキャスティングする第９のステップをさらに含むこと
を特徴とする請求項１０記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項１３】
前記サーバーに異常が発生した際に、各クライアントにエラーメッセージを伝送する第１０のステップをさらに含むこと
を特徴とする請求項１０記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項１４】
前記サーバーがブロードキャスティングオプション機能を支援することができない場合に、任意のクライアントから前記サーバーに対しブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーはこのクライアントにエラーメッセージを伝送すること
を特徴とする請求項１０記載のブロードキャスティング機能が具備された簡易なファイル伝送方法。
【請求項１５】
前記サーバーがブロードキャスティングオプション機能の全てを支援することができない場合には、任意のクライアントから前記サーバーに対しブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーは支援できる機能のみを追加してクライアントにオプション応答メッセージを送信すること
を特徴とする請求項１０記載のブロードキャスティング機能が具備された簡易なファイル伝送方法。
【請求項１６】
ブロードキャスティングオプション及び/又はブロックサイズオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、マスタークライアントに選定したことを知らせる応答メッセージを受信した場合に、ブロードキャストされたデータを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、オプション応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントからの受領応答メッセージを受信すれば、データをブロックサイズ単位でブロードキャストティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項１７】
ブロードキャスティングオプション及び/又はブロックサイズオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、マスタークライアントに選定したことを知らせる応答メッセージを受信した後に、ブロードキャストされたデータを順次受信する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、ブロックサイズ情報を含むオプション応答メッセージを伝送し、このブロックサイズ情報に基づくブロックサイズ単位のデータを順次ブロードキャスティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項１８】
ブロードキャスティングオプション及び/又はブロックサイズオプションを含むＴＦＴＰファイル伝送プロトコルの拡張されたデータ読み取り要請メッセージを伝送し、マスタークライアントに選定したことを知らせる応答メッセージを受信した場合に、データを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、マスタークライアントに選定したか又は選定しなかったことを知らせる拡張子及びブロックサイズ情報を含む応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントの中のマスタークライアントに選定したクライアントから受領応答メッセージがあれば、データを前記ブロックサイズ情報に基づくブロックサイズ単位でブロードキャスティングするサーバーシステムと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項１９】
前記サーバーシステムは、前記マスタークライアントからの受領応答メッセージを所定の時間内に受信しない場合に他のクライアントを新たなマスタークライアントに選定し、新たなマスタークライアントに選定したことを当該他のクライアントに知らせる応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記新たなマスタークライアントから受領応答メッセージを受信すれば次のデータを順次ブロードキャスティングすること
を特徴とする請求項１８記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項２０】
前記拡張された読み取り要請メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、
ファイル名をＡＳＣIIコードにより符号化したファイル名フィールドと、
伝送モードを設定するモードフィールドと、
ブロードキャスティングオプションを設定するための第１のオプションフィールドと、
オプションフィールドの値を設定するためのマスクビットフィールドと、
ブロックサイズを設定するための第２のオプションフィールドと、
ブロックサイズ値フィールドと、を含むこと
を特徴とする請求項１８記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項２１】
前記サーバーシステムが伝送するオプションメッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、
ブロードキャスティングオプションを設定するためのブロードキャスティングフィールドと、
マスクビット、ポート番号及びマスタークライアントに選定したか又は選定しなかったことを知らせるためのフィールドと、
ブロックサイズを設定するためのオプションフィールドと、
ブロックサイズ値フィールドと、を含むこと
を特徴とする請求項１８記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項２２】
前記拡張されたデータ読み取り要請メッセージを最先に伝送したクライアントをマスタークライアントに選定すること
を特徴とする請求項１８記載のブロードキャスティング機能を備えた簡易なファイル伝送システム。
【請求項２３】
多数のクライアントがサーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記多数のクライアントにブロックサイズ情報を含むオプション応答メッセージを伝送する第２のステップと、
前記サーバーが、前記ブロックサイズ情報により再設定されたブロックサイズ単位のデータをブロードキャスティングした後に前記多数のクライアントから受領メッセージが送られてくるのを待つ第３のステップと、
前記サーバーが、前記多数のクライアントから受信メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第３のステップを繰り返し実行する第４のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２４】
多数のクライアントがサーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記多数のクライアントにブロックサイズ情報を含むオプション応答メッセージを伝送する第２のステップと、
前記サーバーが、前記ブロックサイズ情報により再設定されたブロックサイズ単位のデータをブロードキャスティングする第３のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２５】
第１のクライアントがサーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、
前記サーバーが、前記第１のクライアントに対しマスタークライアントに選定したことを知らせる情報及びブロックサイズ情報を含むオプションメッセージを伝送する第２のステップと、
第２のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第３のステップと、
前記サーバーが、前記第２のクライアントに対しマスタークライアントに選定しなかったことを知らせる情報及び再設定されたブロックサイズ情報を含むオプション応答メッセージを伝送する第４のステップと、
前記サーバーが、前記ブロックサイズ情報に基づいて再設定されたブロックサイズ単位でデータをブロードキャスティングした後に前記第１のクライアントから受領メッセージが送られてくるのを待つ第５のステップと、
前記サーバーが、前記第１のクライアントから受信メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第５のステップを繰り返し実行する第６のステップと、を含むこと
を特徴とするブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２６】
前記サーバーは、前記第１のクライアントから所定の時間内にデータ受信についての受領応答メッセージが送られてこない場合に、前記第２のクライアントを新たなマスタークライアントに選定する第７のステップと、
前記第２のクライアントに新たなマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送した後に、データ伝送を実行する第８のステップと、をさらに含むこと
を特徴とする請求項２５記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２７】
所定の待ち時間が経過した後に、前記サーバーがブロードキャスティングを要請する前記拡張された読み取り要請メッセージを他のクライアントから受信した場合には、別の簡易なファイル伝送プログラムにより１対１で処理するか、又は新たなポートを割り当ててブロードキャスティングする第９のステップをさらに含むこと
を特徴とする請求項２５記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２８】
前記サーバーに異常が発生した際に、各クライアントにエラーメッセージを伝送する第１０のステップをさらに含むこと
を特徴とする請求項２５記載のブロードキャスティング機能を備えた簡易なファイル伝送方法。
【請求項２９】
前記サーバーがブロードキャスティングオプション機能及び/又はブロックサイズオプション機能を支援することができない場合には、任意のクライアントから前記サーバーに対しブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーはこのクライアントにエラーメッセージを伝送すること
を特徴とする請求項２５記載のブロードキャスティング機能が具備された簡易なファイル伝送方法。
【請求項３０】
前記サーバーがブロードキャスティングオプション機能及び/又はブロックサイズオプション機能の全てを支援することができない場合には、任意のクライアントから前記サーバーに対しブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーは支援できる機能のみを追加してクライアントにオプション応答メッセージを送信すること
を特徴とする請求項２５記載のブロードキャスティング機能が具備された簡易なファイル伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、簡易なファイル伝送システム(Trivial File Transfer Protocol System; 以下、「ＴＦＴＰシステム」と称する)及びその方法に関し、より詳しくは、簡易なファイル伝送プロトコル(ＴＦＴＰ)に新しいオプションを追加することにより、一つのサーバーに多数のクライアントが接続されたネットワークにおいて同時にファイルの伝送をすることができるブロードキャスティング機能を備えた簡易なファイル伝送システム及びその方法に関する。
【背景技術】
【０００２】
従来において、大部分のシステムに保存されているデータはファイル単位で表示され、システム間でデータを受け渡しするためには、ファイル又はファイルの一部の形態で受け渡ししなければならない。
【０００３】
ネットワークにより連結されたシステム間において、ある一つのシステムの使用者が他のシステムにあるデータを伝送により自分のシステムで受け取る場合、反対に自分のシステムにあるデータを他のシステムに伝送しようとする場合、即ち、システム間で互いにデータ通信しようとする場合には、これらシステム間で通信できるようにするための規則及び規定などが必要であり、その規則及び規定などがプロトコル（Protocol）である。
【０００４】
また、データ通信を行なうシステムのうち、データの伝送を要請するシステムがクライアントシステムであり、その要請に対してデータを提供するシステムがサーバーシステムである。一般的には、一つのサーバーシステムに多数のクライアントシステムが連結されてネットワークを構成する。
【０００５】
コンピューターネットワークにおいて広く使われている言語はＴＣＰ/ＩＰ(Transfer Control Protocol/Internet Protocol)であり、そのＴＣＰ/ＩＰを基盤にして使用されるプロトコルとしては、ＦＴＰ(File Transfer Protocol)、Ｔｅｌｎｅｔ(Terminal Emulation Protocol)、ＨＴＴＰ(Hyper text Transfer Protocol)などがある。
【０００６】
ここで、ＦＴＰ（ファイル伝送プロトコル）の目的とするところは、一つのファイルやファイルの一部分をＦＴＰ使用者の命令に従って一のシステムから他のシステムに伝送することである。
【０００７】
ＦＴＰは、大抵はオンライン使用者により対話式で使用される。ＦＴＰ使用者の通信は、その運営システムにより仲介され、この運営システムは、入出力(I/Ｏ)駆動部を有している。仮に、システムＡの使用者がシステムＢのファイルにアクセスしようとする場合、システムＡのＦＴＰはシステムＢのＦＴＰとの連結を設定する。これは論理的連結であり、制御情報と使用者データについての実際の経路はプロトコルステックの各レイヤードを介して行われる。
【０００８】
一方、ＴＦＴＰ（簡易ファイル伝送プロトコル）は、ＦＴＰの一種としてＦＴＰよりも単純で小さなコードだけで通信を実現できるように設計されており、読み取り専用メモリー(ＲＯＭ)において容易に実現可能であり、例えばディスクがないシステムにおいて運営システムのイメージをダウンロードするプロトコルとしてよく使われる。
【０００９】
一般に、ＦＴＰは、ＴＣＰを使用するので信頼性があり、連結志向的な方式でファイルを送受信するプロトコルである。一方、ＴＦＴＰは、ＵＤＰを使用する非連結型のファイル伝送プロトコルであり、ルータ設定ファイルとＩＯＳイメージをダウンロードする際に主として使用され、保安についてのオプションがなく、ＦＴＰより通信速度が速い。
【００１０】
ＴＣＰ及びＵＤＰは、伝送において二つの差異がある。即ち、ＴＣＰは連結志向の信頼性あるプロトコルとして、スライディングウィンドウにより通信の流れを制御する。
【００１１】
また、ＴＣＰは、順序番号と承認番号を用いて制御する。ＴＣＰは、ＡＣＫ(ＡＣＫnowledgement)を受けなかったすべてのデータをさらに伝送し、データを受信したという信号を受け取ると次のデータを伝送する。したがって、データ伝送についての信頼性が保障されている。
【００１２】
一方、ＵＤＰは、ＴＣＰのようにデータが到着したかを検査する機能(checksum)がないので、その分において伝送速度が非常に速く、また連結を結ばないので、コントロールフレームを伝送する必要がない分においてネットワークの負荷が軽減される。
【００１３】
しかしながら、ＵＤＰでは、確認手続きや流れを制御する制御部がない代わりに応用プログラムでその役割を担当しなければならない。また、データの到着を知らせるＡＣＫ符号の再伝送がないので、偏方向伝送といえる。
【００１４】
上述したＴＦＴＰ簡易ファイル伝送プロトコルは、小型ファイル伝送のために考案されたものであり、インターネットＦＴＰに比べて実現が容易であり、サーバーークライアント(Server-Client)構造になっており、ＩＰ/ＵＤＰを使用し、該当規約はＩＥＴＦ ＲＦＣ１３５０に定義されている。
【００１５】
この規約は、小さい規模のプログラムでファイル伝送が容易であるので、多くのシステムにおいて現在も広く使用されている。しかし、５１２バイト（ｂｙｔｅ）の固定伝送、ブロック最大サイズ(block max size)が６５５３５個という制約のために、約３２メガバイト（Ｍｂｙｔｅｓ）以上は伝送することができなかった。
【００１６】
このような制約を克服するために、オプション機能が追加され、その機能の中にはデータ伝送サイズを調節できるようにするものがあり、これにより一層利用価値が高くなった。その内容は、ＲＦＣ２３４７ＴＦＴＰ Ｏｐｔｉｏｎ Ｅｘｔｅｎｓｉｏｎ、ＲＦＣ２３４８Ｂｌｏｃｋｓｉｚｅ Ｏｐｔｉｏｎに標準化されている。
【００１７】
また、ＲＦＣ２０９０は、マルチキャスト(Multicast)用オプションによってマルチキャストを可能としている。しかし、ＲＦＣ２０９０は、Ｅｘｐｅｒｉｍｅｎｔａｌバージョンとして標準化されていないで、サーバーでの実現は可能であるが、大部分のクライアントでは実現されていない。
【００１８】
近年において、ＴＦＴＰサーバー−クライアント(server-client)プログラムは、ＢＳＤ(Berkeley Software Distribution ; Berkeley Software Design)、ＵＮＩＸ(登録商標）、Ｌｉｎｕｘ系列に対しては基本的に提供されており、Ｗｉｎｄｏｗ系列でもフリーウェアとして使用できるプログラムが多い。
【００１９】
このＴＦＴＰ規約は、ネットワーク機能がよく実現されている環境ではあまり使用されないが、ＰＣ或いは多くのシステム(ネットワーク機能を有したほとんど全ての装置)がＯＳなしに初期起動する場合にパッケージをダウンロードしなければならないときに広く使われている。
【００２０】
ＴＦＴＰ規約は、基本的にサーバーとクライアントとが１:１で動作するようになっているので、多数のクライアントが一つのサーバーからファイルの伝送を受けることには適さない。
【００２１】
例えばＰＣクラスタリング(clustering)環境や、一つの装置が多数のモジュールからなっており、電源が入る瞬間に各モジュールがメインモジュールから基本ファイルの伝送を受けなければならないなどの環境においては、多数のクライアントが同時に一つのサーバーにファイル伝送を試みれば、サーバーではこれら全部に１対１でファイル伝送を試みるので、ネットワーク負荷が増加してファイル伝送エラーも増加することがある。
【００２２】
これを解決するために、ＲＦＣ２０９０にマルチキャストＴＦＴＰが定義されたが、ｅｘｐｅｒｉｍｅｎｔａｌ状態に標準化されていないのでクライアントで実現することは困難である。
【００２３】
また、ＲＦＣ２０９０で定義されたマルチキャスト機能では、伝送する際に使うマルチキャストＩＰアドレスが必要であり、クライアントは他のクライアントがファイル伝送を受けている最中に接続すると、ファイルの途中から受信するようになるので、クライアント自身がファイルブロックを再組み合せするための機能を有している必要がある。
【００２４】
しかし、ＴＦＴＰを使用する環境においては、一般的に正常にネットワーク機能が構築された状況ではない、例えば初期起動する場合などにファイル伝送が行われるので、クライアントの備えるプログラムは最も単純な動作のみを実行するようになっている。
【００２５】
したがって、大部分のＴＦＴＰ機能においてサーバープログラムは、複雑な機能を有するように設定しても問題となる場合は少ないが、クライアントとしてのＴＦＴＰ機能は、前記したように単純に動作するので、データブロックを再組み合せするような機能を有するようにすることは困難である。
【００２６】
この場合、ＴＦＴＰクライアント機能は、ブロック(block)＃(番号)によってデータパケットとＡＣＫパケットを順に交換しながら、伝送の最中にパケットが遺失される場合、動作がブロック(block)になってタイマーによりファイル伝送自体を止めるか再動作するようになる。
【００２７】
また、ＲＦＣ２０９０は、ＴＦＴＰのマルチキャストを支援するようにしているが、マルチキャストの使用が不必要である場合も多い。一つの装置で内部的なネットワークを構成して一つの主要部分がＴＦＴＰサーバーとして役割をし、残りの部分がＴＦＴＰクライアントの役割をしながら正常に動作するファイル伝送を受ける場合には、１対１で全部伝送するのに長時間がかかるか、又は伝送エラーが発生する可能性が高い。
【００２８】
それでも、内部的にマルチキャストグループ(multicast group)で動作させる必要まではない。
【発明の開示】
【発明が解決しようとする課題】
【００２９】
本発明は上述したような従来技術の問題点を解決するためになされたものであり、その目的は、ブロードキャスティングのためのＴＦＴＰオプションを定義することでブロードキャスティング機能を追加し、多数のクライアントが一つのサーバーにファイル伝送を要請した際に、ブロードキャストでファイルを伝送することにより、例えばマルチキャストを用いた場合よりも簡易にな動作されるブロードキャスティング機能を備えた簡易なファイル伝送システム及びその方法を提供することにある。
【課題を解決するための手段】
【００３０】
前記目的を達成するための本発明によるブロードキャスティング機能を備えた簡易なファイル伝送システムは、ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、それについてのオプション応答メッセージを受信した場合に、さらにブロードキャスティングされたデータを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、
前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、それについてのオプション応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントから受領応答メッセージを受信するごとに次のデータを順次ブロードキャスティングするサーバーシステムと、を含むことを特徴とする。
【００３１】
好ましくは、前記サーバーシステムは、前記マスタークライアントから所定時間内に受領応答メッセージを受信しない場合に他のクライアントを新たなマスタークライアントに選定し、新たなマスタークライアントに設定したことを知らせる応答メッセージを前記他のクライアントに伝送し、さらにデータをブロードキャスティングした後に前記新たなマスタークライアントから受領応答メッセージを受信するごとに次のデータを順次ブロードキャスティングすることができる。
【００３２】
好ましくは、前記拡張された読み取り要請メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、ファイル名をＡＳＣIIコードにより符号化したファイル名フィールドと、伝送モードを設定するモードフィールドと、ブロードキャスティングを設定するためのオプションフィールドと、オプションフィールドの値を設定するためのマスクビットフィールドと、を含むことができる。
【００３３】
好ましくは、前記サーバーシステムが伝送するオプション応答メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、ブロードキャスティングを設定するためのブロードキャスティングフィールドと、マスクビット、ポート番号及びマスタークライアントの選定可否を知らせるための情報を設定するフィールドと、を含むことができる。
【００３４】
好ましくは、 前記拡張された読み取り要請メッセージを最先に伝送したクライアントをマスタークライアントに選定することができる。
【００３５】
前記の目的を達成するための本発明によるブロードキャスティング機能を備えた簡易なファイル伝送方法は、第１のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第１のステップと、前記サーバーが、前記第１のクライアントに対しマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送する第２のステップと、第２のクライアントが、サーバーに対しブロードキャスティングによるファイル伝送を要請するブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送する第３のステップと、前記サーバーが、前記第２のクライアントに対しマスタークライアントに選定しなかったことを知らせる情報を含むオプション応答メッセージを伝送する第４のステップと、前記サーバーが、データをブロードキャスティングした後に前記第１のクライアントから受領応答メッセージが送られてくるのを待つ第５のステップと、前記サーバーが、前記第１のクライアントから受領応答メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第５のステップを繰り返し実行する第６のステップと、を含むことを特徴とする。
【００３６】
好ましくは、前記サーバーは、前記第１のクライアントから所定時間内にデータ受信に関する受領応答メッセージが送られてこない場合に、前記第２のクライアントを新たなマスタークライアントに選定する第７のステップと、前記第２のクライアントに対し、新たなマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送した後にデータをブロードキャスティングする第８のステップと、をさらに含むことができる。
【００３７】
好ましくは、所定の待ち時間が経過した後に、前記サーバーがブロードキャスティングを要請する前記拡張された読み取り要請メッセージを他のクライアントから受信した場合に、別のファイル伝送プログラムにより１対１で処理するか、又は新たにポートを割り当ててブロードキャスティングする第９のステップをさらに含むことができる。
【００３８】
好ましくは、前記サーバーに異常が発生した際に、各クライアントにエラーメッセージを伝送する第１０のステップをさらに含むことができる。
【００３９】
好ましくは、前記サーバーがブロードキャスティングオプション機能を支援することができない場合には、任意のクライアントから前記サーバーにブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーはこのクライアントにエラーメッセージを伝送するか、あるいはサーバーは支援できる機能のみを追加してクライアントにオプション応答メッセージを送信する。
【００４０】
前記の目的を達成するための本発明によるブロードキャスティング機能を備えた簡易なファイル伝送システムは、ブロードキャスティングオプション及び/又はブロックサイズオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージを伝送し、マスタークライアントに選定したことを知らせる応答メッセージを受信した場合に、ブロードキャストされたデータを受信するごとに受領応答メッセージを伝送する多数のクライアントシステムと、前記クライアントシステムから前記拡張された読み取り要請メッセージを受信した場合に、オプション応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記多数のクライアントからの受領応答メッセージを受信すれば、データをブロックサイズ単位でブロードキャストティングするサーバーシステムと、を含むことを特徴とする。
【００４１】
好ましくは、前記サーバーシステムは、前記マスタークライアントからの受領応答メッセージを所定の時間内に受信しない場合に他のクライアントを新たなマスタークライアントに選定し、新たなマスタークライアントに選定したことを当該他のクライアントに知らせる応答メッセージを伝送し、さらにデータをブロードキャスティングした後に前記新たなマスタークライアントから受領応答メッセージを受信すれば次のデータを順次ブロードキャスティングすることができる。
【００４２】
好ましくは、前記拡張された読み取り要請メッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、ファイル名をＡＳＣIIコードにより符号化したファイル名フィールドと、伝送モードを設定するモードフィールドと、ブロードキャスティングオプションを設定するための第１のオプションフィールドと、オプションフィールドの値を設定するためのマスクビットフィールドと、ブロックサイズを設定するための第２のオプションフィールドと、ブロックサイズ値フィールドと、を含むことができる。
【００４３】
好ましくは、前記サーバーシステムが伝送するオプションメッセージは、メッセージの種類に対応する値を示すオペレーティングコードフィールドと、ブロードキャスティングを設定するためのブロードキャスティングフィールドと、マスクビット、ポート番号及びマスタークライアントに選定可否を知らせるためのフィールドと、ブロックサイズを設定するためのオプションフィールドと、ブロックサイズ値フィールドと、を含むことができる。
【００４４】
好ましくは、前記拡張されたデータ読み取り要請メッセージを最先に伝送したクライアントをマスタークライアントに選定することができる。
【００４５】
前記目的を達成するための本発明によるブロードキャスティング機能を備えた簡易なファイル伝送方法は、多数のクライアントがサーバーに対しブロードキャスティングによるファイル伝送を要請する拡張された読み取り要請メッセージを伝送する第１のステップと、前記サーバーが、前記多数のクライアントにブロックサイズ情報を含むオプション応答メッセージを伝送する第２のステップと、前記サーバーが、前記ブロックサイズ情報により再設定されたブロックサイズ単位のデータをブロードキャスティングした後に前記多数のクライアントから受領メッセージが送られてくるのを待つ第３のステップと、前記サーバーが、前記多数のクライアントから受信メッセージを受信した場合に、残りのデータを伝送し終わるまで前記第３のステップを繰り返し実行する第４のステップと、を含むことを特徴とする。
【００４６】
好ましくは、 前記サーバーは、前記第１のクライアントから所定の時間内にデータ受信についての受領応答メッセージが送られてこない場合に、前記第２のクライアントを新たなマスタークライアントに選定する第７のステップと、前記第２のクライアントに新たなマスタークライアントに選定したことを知らせる情報を含むオプション応答メッセージを伝送した後に、データ伝送を実行する第８のステップと、をさらに含むことができる。
【００４７】
好ましくは、所定の待ち時間が経過した後に、前記サーバーがブロードキャスティングを要請する前記拡張された読み取り要請メッセージを他のクライアントから受信した場合には、別の簡易なファイル伝送プログラムにより１対１で処理するか、又は新たなポートを割り当ててブロードキャスティングする第９のステップをさらに含むことができる。
【００４８】
好ましくは、前記サーバーに異常が発生した際に、各クライアントにエラーメッセージを伝送する第１０のステップをさらに含むことができる。
【００４９】
好ましくは、前記サーバーがブロードキャスティングオプション機能及び/又はブロックサイズオプション機能を支援することができない場合には、任意のクライアントから前記サーバーにブロードキャスティングによるファイル伝送を要請する前記拡張された読み取り要請メッセージが伝送されたときには、前記サーバーはこのクライアントにエラーメッセージを伝送するか、あるいは前記サーバーは支援できる機能のみを追加してクライアントにオプション応答メッセージを送信することができる。
【発明の効果】
【００５０】
本発明によれば、ブロードキャストＴＦＴＰを用いたことにより、従来の１対１の方式よりも伝送速度が速いので、多数のクライアントが一つのサーバーから速い伝送速度で効率的にファイル伝送を受け取ることができるという效果がある。
【００５１】
また、ブロードキャストオプションによる拡張以外にも、ブロックサイズオプションを追加した場合には、ブロックサイズを大きく設定すれば、より一層高速なファイル伝送を行うことが可能になる。
【００５２】
本発明においては、サーブネットワークがブロードキャスティング網であり、クライアントが多数存在し、且つ同時にファイル伝送をすることが必要である場合であっても、より確実に効率的にファイルを伝送することが可能になる。
【００５３】
また、ＴＦＴＰを用いる環境において、ネットワーク機能が全部動作することができない環境を考慮する場合、機能追加を最小化しながら伝送動作効率を向上させることが可能になる。
【発明を実施するための最良の形態】
【００５４】
以下、本発明の好ましい実施の形態について、添付図面を参照して詳細に説明する。
【００５５】
図１は、本実施形態に適用されるブロードキャスティング機能を備えた簡易なファイル伝送システムの構成を示す図である。
【００５６】
図１に示すように、本実施形態に適用されるブロードキャスティング機能を備えた簡易なファイル伝送システムは、サーバーシステム１０と、多数のクライアントシステム２０ａ〜２０ｎと、を備えた構成である。
【００５７】
ここで、簡易ファイル伝送プロトコル(ＴＦＴＰ)によるシステムで行なわれるファイル伝送工程について、サーバーシステム１０と、クライアントの一つであるクライアント２０ａを一例に挙げて説明すれば、次のようにして行なわれる。
【００５８】
サーバーシステム１０及びクライアントシステム２０ａは、ネットワーク３０を介して互いに連結されてファイル４０を交換する。
【００５９】
この場合、サーバーシステム１０で実行されるＴＦＴＰサーバー１４及びクライアントシステム２０ａで実行されるＴＦＴＰクライアント２４ａは、ＴＣＰ/ＵＤＰの中でＵＤＰを使用してＩＰ(Internet Protocol)１２、２２ａを用いたイーサネット(Ethernet)（登録商標）１１、２１ａで実行される。
【００６０】
ＴＦＴＰクライアント２４ａは、内蔵されたシステム２０ａで実行されてＴＦＴＰサーバー１４についての連結を試みる。ＴＦＴＰクライアント２４ａは、ＴＦＴＰサーバー１４との連結を行なうために、読み取り/書き込み要請メッセージ(ＲＲＱ:Read ReQuest/ＷＲＱ:Write ReQuest)をＴＦＴＰサーバー１４に伝送する。
【００６１】
このとき、ＴＦＴＰクライアント２４ａは、ＴＦＴＰクライアント側のＴＣＰ/ＵＤＰ２３ａの中からＵＤＰポートを選択し、この選択したポートを介して自分のＩＰアドレス及び選択したポート番号を含んだ読み取り/書き込み要請メッセージ(ＲＲＱ/ＷＲＱ)をＴＦＴＰサーバー１４に伝送する。
【００６２】
ＴＦＴＰサーバー１４は、ＴＦＴＰサーバー側のＴＣＰ/ＵＤＰ１３の中から同様にＵＤＰポートを介して前記ＴＦＴＰクライアント２４ａから伝送された読み取り/書き込み要請メッセージ(ＲＲＱ/ＷＲＱ)を受信する。
【００６３】
ＴＦＴＰサーバー１４は、前記要請メッセージを受信した場合、前記ＴＦＴＰクライアントのＩＰアドレス及びポート番号を登録し、この登録したＩＰアドレス及びポート番号を用いて、前記要請メッセージを受信するときと同一のポートを介してその要請に対する応答メッセージ(acknowledgement massage；ＡＣＫ)をＴＦＴＰクライアント２４ａに伝送する。
【００６４】
ＴＦＴＰクライアント２４ａは、前記選択したＴＦＴＰクライアント側のＵＤＰ２３ａポートを介して、前記ＴＦＴＰサーバー１４が伝送した応答メッセージ(ＡＣＫ)を受信することにより、二つのシステム間の連結が行われる。
【００６５】
ＴＦＴＰサーバー１４とＴＦＴＰクライアント２４ａとの間の連結が行われると、前記読み取り/書き込み要請メッセージ(ＲＲＱ/ＷＲＱ)によりＴＦＴＰクライアント２４ａが要請したファイル４０は、前記二つのＵＤＰポートを介して二つのシステム間で伝送される。
【００６６】
ファイル４０の伝送が完了されるまでＴＦＴＰサーバー１４とＴＦＴＰクライアント２４ａとの連結は継続され、ファイル４０の伝送が完了されてクライアント側又はサーバー側で連結を切断すれば、ＴＦＴＰサーバー１４とＴＦＴＰクライアント２４ａとの間の連結は解除される。
【００６７】
ここで、前記のような一般的な簡易なファイル伝送システムに本実施形態のブロードキャスティング機能を具備させるためには、例えばＲＦＣ(request for comments）２３４７の規約に基づいて新しいオプションを定義して、これによりメッセージ構造を再定義しなければならない。
【００６８】
一般的に、読み取り要請メッセージ(ＲＲＱ)は、クライアントがサーバーからデータを読み取るための連結を設定することに使用されるメッセージであり、例えばファイルをダウンロードするための要請メッセージである。このとき、ＲＲＱメッセージの最初のフィールドにあるオペレーティングコード(ＯＰＣ)のコード値（以下、「ＯＰＣ値」と呼ぶ）は「１」が用いられ、またファイル名は可変長さの文字列からなり、さらに伝送モードに関するモードフィールド（定義フィールド）が同伴される。
【００６９】
一方、書き込み要請メッセージ(ＷＲＱ)は、クライアントがサーバーにデータを書き込むための連結を設定することに使用されるメッセージであり、ファイルをアップロードするための要請メッセージである。このとき、ＷＲＱメッセージの最初のフィールドにあるのＯＰＣ値としては「２」が用いられる。
【００７０】
また、データブロックを伝送するためのメッセージにおけるＯＰＣ値としては「３」が用いられ、データブロック受信についての応答(ＡＣＫ)メッセージのＯＰＣ値としては「４」が用いられる。
【００７１】
さらに、通信エラーが発生した際のメッセージにおけるＯＰＣ値としては「５」が用いられ、Ｅｘｔｅｎｓｉｏｎ ＴＦＴＰでＲＲＱメッセージ及びＷＲＱメッセージにオプションを追加した際のオプション収容可否を知らせるためのオプション応答メッセージ(Option ACK: オプション収容可否、以下においては「ＯＡＣＫメッセージ」と呼ぶ)メッセージのＯＰＣ値としては「６」が用いられる。
【００７２】
図２Ａは、本実施形態に用いるために再定義されたＲＲＱメッセージの構造を示す図である。
【００７３】
図２Ａに示すように、ＲＲＱメッセージの構造は、オペレーティングコード(ＯＰＣ)フィールド３１と、ファイル名フィールド３２と、１バイトフィールド３３と、モードフィールド３４と、１バイトフィールド３５と、オプションフィールド３６と、１バイトフィールド３７と、マスクビット(Mask bit)フィールド３８からなる構成である。
【００７４】
オペレーティングコードフィールド３１のＯＰＣ値は「１」であり、またファイル名フィールド３２のファイル名は、可変長さの文字列で例えばＡＳＣIIコードにより符号化し、１バイトフィールド３３により終了点を表示する。
【００７５】
モードフィールド３４は、伝送モードを定義するために用いられ、例えばＡＳＣIIモードである場合には「netascii」の文字列が用いられ、例えば２進ファイルの場合には「octet」が用いられ、１バイトフィールド３５により終了点を表示する。
【００７６】
オプションフィールド（ブロードキャストフィールド）３６は、ブロードキャスティング機能を備えるために新たに定義されたフィールドであり、オプション文字列として「broadcast」を用い、１バイトフィールド３７により終了点を表示する。
【００７７】
そして、マスクビットフィールド３８は、ブロードキャスティング機能を備えるために新たに定義されたフィールドであり、ブロードキャスティングオプションについての値を定義する。具体例としては、クライアントのブロードキャスティングアドレスに基づいて決定して、例えばクラス別に８、１６、２４などを使用する。
【００７８】
即ち、ブロードキャストモードでファイルを伝送し、クラスＣに属する場合のＲＲＱメッセージの構造は、図２Ｂのように定義される。このＲＲＱメッセージは、ブロードキャスティングオプションを含むＴＦＴＰファイル伝送プロトコルの拡張された読み取り要請メッセージの一例として構成されている。
【００７９】
図２Ｂは、図２Ａのメッセージ構造に実際の数値等を設定した例を示す図である。
【００８０】
図２Ｂに示すように、ＯＰＣ値として「１」が、ファイル名として「foofile」が、伝送モードとして「octet」が、オプションフィールドには「Broadcast」の文字列が、マスクビットとして２４ビットが定義されている。
【００８１】
次に、サーバーシステムとクライアントシステムとの間で伝送される応答メッセージの一つであるＯＡＣＫメッセージについて詳しく説明する。
【００８２】
図３Ａは、本実施形態においてサーバーシステムが伝送するＯＡＣＫメッセージの構造を示す図である。
【００８３】
図３Ａに示すように、ＯＡＣＫメッセージは、オペレーションコード(ＯＰＣ)フィールド４１と、ブロードキャストフィールド４２と、１バイトフィールド４３と、マスクビット／ポート番号／マスタークライアント(Ｍａｓｋ ｂｉｔ／Ｐｏｒｔ／ＭＣ)フィールド４４と、１バイトフィールド４５からなる構造である。
【００８４】
オペレーションコードフィールド４１のＯＰＣ値は「６」であり、またブロードキャストフィールド４２には「broadcast」の文字列が定義されており、１バイトフィールド４３により終了点を表示する。
【００８５】
マスクビット／ポート番号／マスタークライアント(Ｍａｓｋ ｂｉｔ／Ｐｏｒｔ／ＭＣ)フィールド４４は、ブロードキャストオプションについての値を定義するフィールドとして、サーバーシステム１０で決めたブロードキャスティングマスクビット(broadcast mask bit)と、ＵＤＰポート番号と、マスタークライアントビット(Master Client bit)が定義される。
【００８６】
前記マスクビットは、クライアント２０ａ〜２０ｎから受信した読み取り要請メッセージ(ＲＲＱ)の値をそのまま収容可能である場合はそのまま収容し、そのままでは収容不可能である場合にはサーバーシステム１０のブロードキャスティングアドレスに基づいて決定する。
【００８７】
マスタークライアント(ＭＣ)ビットは、詳しくは後述するように、一番最初に読み取り要請メッセージ(ＲＲＱ)を伝送したクライアント２４ａ〜２４ｎをマスターとして「１」に設定し、残りのクライアントには「０」を設定する。マスタークライアントは、データパケットに対しての応答メッセージを伝送する役割が割り当てられる。
【００８８】
そして、マスタークライアントは、一番先に読み取り要請メッセージ(ＲＲＱ)を伝送したクライアントであり、データパケットに対しての応答メッセージを伝送する。一方、残りのクライアントは、応答メッセージを伝送しない。
【００８９】
このように、ＲＦＣ２３４７で再定義されたオプションにおいてブロードキャスト用ＵＤＰポートとしては１７６８の使用を推奨する。ポート番号は、サーバーからクライアントに送られるＯＡＣＫメッセージに追加してクライアントが認識できるようにし、このときサーバーにより他のポート番号の指定を受けることもある。
【００９０】
したがって、クライアントからブロードキャストオプションを含んだＲＲＱメッセージを受信して、ブロードキャストオプションを収容するＯＡＣＫメッセージを送信（返信）する際において、例えばブロードキャストモードでファイルを伝送し、かつクラスＣに属してポート番号を「１７６８」に設定し、さらに相手のクライアントをマスターに設定(１ならマスター、０ならマスターではない)したＯＡＣＫメッセージである場合、図３Ｂのように定義される。
【００９１】
なお、参考として、マルチキャストＴＦＴＰである場合にはポート番号を「１７５８」に設定する。
【００９２】
図３Ｂは、図３Ａに示すメッセージ構造に実際の数値等を設定した例を示す図である。
【００９３】
図３Ｂに示すように、ＯＰＣ値として「６」が、ブロードキャストフィールド４２は「broadcast」の文字列が、マスクビット／ポート／ＭＣフィールド４４は「24,1768,1」と定義される。
【００９４】
したがって、前記のようにブロードキャスティング機能を備えたファイル伝送システムが構成され、前記のようにメッセージ構造が定義された状態において、実際にファイルを伝送する工程について説明すると、次のように行なわれる。
【００９５】
ただ動作について詳しく説明する前に、クライアントシステム２０ａをマスタークライアントと定義し、サーバーシステム１０がマスタークライアント２０ａからＲＲＱメッセージを受信した後に、他のクライアント２０ｂ〜２０ｎからＲＲＱメッセージを受信るために待つ時間を時間Ｔと定義する。
【００９６】
また、動作に必要なパラメーターとして、タイムアウト時間（Ｔｓ）は、サーバーシステム１０がデータを伝送してマスタークライアント２０ａが応答するまでに待つ待ち時間であり、このタイムアウト時間Ｔｓ以内に応答がなければ、サーバーシステム１０はデータを再伝送する。
【００９７】
また、動作に必要な他のパラメーターとして、回数（ｎ）は、サーバーシステム１０からクライアントシステム２０ａ〜２０ｎに対しブロードキャスティングメッセージを再伝送する回数を示すパラメーターであり、また余裕時間（ａ）は、クライアントシステム２０ａ〜２０ｎでサーバーシステム１０からのデータパケットを待つ時間を示すパラメーターである。
【００９８】
ここで、回数ｎに後述する時間Ａを乗じた値（ｎ＊Ａ）がサーバーシステム１０がクライアントシステム２０ａ〜２０ｎからのメッセージを待つ時間であるので、クライアントシステム２０ａ〜２０ｎが待つタイムアウト時間は、これよりａほど大きくする。
【００９９】
サーバーシステム１０は、マスタークライアント２０ａがブロードキャスティングによりファイル伝送を受けようとして「broadcast」の文字列がオプションフィールドに含まれたＲＲＱメッセージを伝送した場合、「broadcast」の文字列をオプションに収容するＯＡＣＫメッセージを送信して応答した後、時間Ｔが経過するまで他のクライアントシステム２０ｂ〜２０ｎからファイル伝送要請があるかを待つ。
【０１００】
そして、マスタークライアント２０ａは、マスタークライアントビットが「１」に設定されたＯＡＣＫメッセージを受信し、自分がこのブロードキャスティング伝送のマスタークライアントであることを認識してＡＣＫメッセージを伝送した後に、サーバーシステム１０からのデータを待つ。
【０１０１】
サーバーシステム１０は、 時間Ｔ内に他のクライアントシステム２０ｂ〜２０ｎからのＲＲＱメッセージを受信した場合、ＲＲＱメッセージを送信したクライアントシステムにＯＡＣＫメッセージを伝送し、その後に他のクライアントシステム２０ｂ〜２０ｎから応答ＡＣＫメッセージを受信する。そして時間Ｔが経過すれば該当するクライアントシステムにデータをブロードキャスティングする。
【０１０２】
しかる後、マスタークライアント２０ａはデータを受信したことについての受信応答メッセージとしての応答メッセージをサーバーシステム１０に伝送する。このとき他のクライアントシステム２０ｂ〜２０ｎは応答メッセージを伝送しない。そして、サーバーシステム１０は、マスタークライアント２０ａからの応答メッセージを受信すれば、次のデータを伝送する。
【０１０３】
一方、サーバーシステム１０は、正常にデータのブロードキャスティングが行なわれている最中にマスタークライアント２０ａとの通信が切断された場合、時間Ａが経過するまでマスタークライアント２０ａからの応答を待って、応答がなければ再伝送する。
【０１０４】
サーバーシステム１０は、データをｎ回再送したにもかかわらずマスタークライアントシステムから応答がない場合は、二番目の他のクライアント２０ｂにマスタークライアントの資格を与えるＯＡＣＫメッセージを伝送し、以後は当該新しいマスタークライアント２４ｂから伝送された応答メッセージを確認してデータ伝送を実行する。
【０１０５】
図４は、本実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法を示す工程図である。
【０１０６】
図４に示すように、第１のクライアント５１ａがサーバーシステム５０に対しファイルをダウンロードするためのＲＲＱメッセージを伝送する場合、当該ＲＲＱメッセージの新たに定義されたオプションフィールド３６には「broadcast」文字列のオプションを含んだパケットを伝送する(ステップＳ１００)。
【０１０７】
サーバーシステム５０は、このＲＲＱメッセージ（最初のＲＲＱメッセージ）を受信すると、「broadcast」オプションを収容するＯＡＣＫメッセージを第１のクライアント５１ａに送信して応答した後(ステップＳ１０１)、時間Ｔが経過するまで他のクライアントからＲＲＱメッセージが送られてくるのを待つ。このとき、ＯＡＣＫパケットのマスクビット／ポート／マスタークライアント(ＭＣ)フィールド４４のマスタークライアント(ＭＣ)フィールドは、第１のクライアント５１ａがマスタークライアントであることを知らせるために「１」に設定されている。
【０１０８】
第１のクライアント５１ａは、マスタークライアント(ＭＣ)フィールドが「１」に設定されたＯＡＣＫメッセージを受信して自分が当該ブロードキャスティング伝送のためのマスタークライアントであることを認識し、ＯＡＣＫメッセージに対する応答メッセージをサーバーシステム５０に伝送した後(ステップＳ１０４)に、サーバーシステム５０からデータが送られてくるのを待つ。
【０１０９】
一方、第２のクライアント５１ｂは、時間Ｔ内にＲＲＱメッセージをサーバーシステム５０に伝送し(ステップＳ１０２)、これに対しサーバーシステム５０は、マスタークライアント(ＭＣ)フィールドが「０」に設定されたＯＡＣＫメッセージを伝送し(ステップＳ１０３)、これに対し第２のクライアント５１ｂはその応答として応答メッセージを伝送する(ステップＳ１０５)。このとき、第２のクライアント５１ｂは、マスタークライアント(ＭＣ)フィールドが「０」に設定されているので、自分がマスタークライアントではないことを認識し、これによりサーバーシステム５０からデータを受信してもそれに対する応答メッセージを伝送しない。
【０１１０】
しかる後、サーバーシステム５０は、時間Ｔが経過した後に、ＲＲＱメッセージを送信した第１のクライアント５１ａ及び第２のクライアント５１ｂにデータをブロードキャスティングする(ステップＳ１０６)。データを受信したクライアントのうちマスタークライアントである第１のクライアント５１ａのみが応答メッセージをサーバーシステムに伝送し(ステップＳ１０７)、サーバーシステム５０は当該応答メッセージを受信すれば、次のパケットをブロードキャスティングする(ステップＳ１０８)。
【０１１１】
なお、時間Ｔが経過した後にＲＲＱメッセージを受信した場合には、従来と同様に新しいＴＦＴＰプログラムが１:１で処理するか、あるいは新しいブロードキャスティングＴＦＴＰで処理する。
【０１１２】
図５は、本実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法において、伝送時にシステムエラーなどの通信エラーが発生したときの処理工程を示す図である。
【０１１３】
図４に示した正常にデータブロードキャスティングを行なっている際に例えばマスタークライアント（第１のクライアント５１ａ）の連結が切断された場合、サーバーシステム５０は、図５に示すように、時間Ａが経過するまでマスタークライアントである第１のクライアント５１ａからの応答メッセージを待ち、時間Ａが経過してもなお応答がなければデータを再送する。
【０１１４】
そして、サーバーシステム５０は、データをｎ回再送した以後にも応答がなければ、第２のクライアント５１ｂにマスタークライアントの資格を与えるＯＡＣＫメッセージを伝送する(ステップＳ２０８)。
【０１１５】
このとき、第２のクライアントは、データを受信した後に、回数ｎに時間Ａを乗じた値に余裕時間ａを加えて得た時間（ｎ＊Ａ＋ａ）をカウントするタイマーを動作させ、このとき第２のクライアント５１ｂは、再伝送されたデータパケットを確認してブロック(block)＃が既に受け取ったものであるので、これを廃棄する。
【０１１６】
一方、第２のクライアント５１ｂは、ＯＡＣＫメッセージを受信すれば、自分が新たなマスタークライアントであることを認識し、以後は当該第２のクライアント５１ｂがデータ受信に対する応答メッセージをサーバーシステム５０に伝送する(ステップＳ２０９、ステップＳ２１１、ステップＳ２１３)。
【０１１７】
なお、仮にサーバーシステム５０に異常が発生していずれのクライアントもパケットを受信することができない状況が生じた場合には、クライアントの待ち時間（ｎ＊Ａ＋ａ）のタイマーが満了された瞬間にＴＦＴＰ動作を止めてエラーメッセージを出力する。
【０１１８】
以下、オプション拡張規約によってブロードキャストオプションと共にブロックサイズを再定義してより一層迅速にパケットを伝送する実施の形態について説明する。
【０１１９】
図６Ａは、本実施形態に用いるために再定義されたＲＲＱメッセージに実際に数値等を設定した例を示す図である。
【０１２０】
図６Ａに示すように、オペレーティングコードとして「１」が、ファイル名として「foofile」が、伝送モードとして「octet」が、第１のオプションフィールドには「Broadcast」の文字列が、マスクビットフィールドには「２４」が、第２のオプションフィールドには「blksize」の文字列が、ブロックサイズフィールドにはブロックサイズについての数値として「１４２８」が定義されている。
【０１２１】
既述のブロードキャストフィールドが含まれて拡張されたメッセージ構造を用いてサーバーシステムとクライアントシステムとの間でファイル（データ）を送受信する場合、ブロックサイズは「５１２」に固定されて５１２ｏｃｔｅｔ(byte)で送受信されるが、この実施形態によればブロックサイズを「１４２８」に再定義しているので、サーバーシステムとクライアントシステムとの間でファイルを送受信する際のデータ伝送単位は１４２８ｏｃｔｅｔ(byte)になる。
【０１２２】
図６Ｂは、本実施形態に用いるために再定義されたサーバーシステムが伝送するＯＡＣＫメッセージに実際に数値等を設定した例を示す図である。
【０１２３】
図６Ｂに示すように、ＯＰＣ値として「６」が、第１のオプションフィールドは「broadcast」の文字列が、マスクビット／ポート／マスタークライアント(ＭＣ)フィールドは「24,1768,1」が、第２のオプションフィールドは「blksize」の文字列が、ブロックサイズフィールドには「１４２８」と定義される。
【０１２４】
したがって、前記のようにブロードキャスティング機能を備えたファイル伝送システムが構成され、前記のようにメッセージ構造のブロックサイズが再定義された状態において、実際にファイルを伝送する工程について説明すると、次のように行なわれる。
【０１２５】
図７は、本実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法を示す工程図である。
【０１２６】
図７に示すように、第１のクライアント５１ａがサーバーシステムに対しファイルをダウンロードするためのＲＲＱメッセージを伝送する場合、当該ＲＲＱメッセージの新たに定義されたオプションフィールドには「broadcast」文字列のオプションを含んだパケットを伝送する(ステップＳ３００)。
【０１２７】
サーバーシステム５０は、このＲＲＱメッセージ（最初のＲＲＱメッセージ）を受信すると「broadcast」オプションを収容し、データ伝送単位であるブロックサイズを１４２８ｏｃｔｅｔと再定義したＯＡＣＫメッセージを第１のクライアント５１ａに送信して応答した後(ステップＳ３０１)、時間Ｔが経過するまで他のクライアントからＲＲＱメッセージが送られてくるのを待つ。このとき、ＯＡＣＫパケットのマスクビット／ポート／マスタークライアント(ＭＣ)フィールドのマスタークライアントフィールドは、ＭＣ値が「１」に設定されており、これにより第１のクライアント５１ａがマスタークライアントであることを知らせる。
【０１２８】
第１のクライアント５１ａは、マスタークライアント(ＭＣ)フィールドのＭＣ値が「１」に設定されたＯＡＣＫメッセージを受信して、これにより自分がブロードキャスティング伝送のマスタークライアントであると共にデータ伝送単位が１４２８ｏｃｔｅｔに再定義されたことを認識し、ＯＡＣＫメッセージに対する応答メッセージ(ＡＣＫ)をサーバーシステム５０に伝送した後(ステップＳ３０４)に、サーバーシステム５０からデータが送られてくるのを待つ。
【０１２９】
一方、第２のクライアント５１ｂは、時間Ｔ内にＲＲＱメッセージをサーバーシステム５０に伝送し(ステップＳ３０２)、これに対しサーバーシステム５０は、マスクビット／ポート／マスタークライアント（ＭＣ）フィールドのＭＣ値を「０」に設定すると共にブロックサイズを１４２８ｏｃｔｅｔと再定義したＯＡＣＫメッセージを伝送する(ステップＳ３０３)。これに対し第２のクライアント５１ｂは、その応答として応答メッセージ(ＡＣＫ)を伝送する(ステップＳ３０５)。
【０１３０】
このとき、第２のクライアント５１ｂは、マスタークライアント(ＭＣ)フィールドのＭＣ値が「０」に設定されているので、自分がマスタークライアントではないことを認職し、これによりサーバーシステム５０からデータを受信してもそれに対する応答メッセージを伝送しない。また、前記ＯＡＣＫメッセージによりブロックサイズ情報を１４２８ｏｃｔｅｔと認識したので、データが１４２８ｏｃｔｅｔ単位で受信される場合には定常状態であると判定する。
【０１３１】
しかる後、サーバーシステム５０は、時間Ｔが経過した後に、ＲＲＱメッセージを送信したクライアントにデータを１４２８ｏｃｔｅｔ単位でブロードキャスティングする(ステップＳ３０６)、データを受信したクライアントのうちマスタークライアントである第１のクライアント５１ａのみが応答メッセージをサーバーシステム５０に伝送し(ステップＳ３０７)、サーバーシステム５０はマスタークライアントである第１のクライアント５１ａから当該応答メッセージを受信すれば、次のパケットをブロードキャストする(ステップＳ３０８)。
【０１３２】
上述の実施形態によれば、ブロックサイズを再定義してブロードキャストすることにより、実際のファイル伝送速度がより一層速くなるという点で極めて有効である。
【０１３３】
したがって、前記のようにサーバー又はクライアントでＴＦＴＰブロードキャストオプションを支援する場合、多数のクライアントが一つのサーバーからファイルを迅速にダウンロードすることができるようになる。
【０１３４】
しかし、サーバーでこのようなブロードキャストオプションを支援することができない場合、次のような動作が行なわれる。
【０１３５】
まず、クライアントからオプションフィールドにブロードキャストで確認された読み取り／書き込み要請メッセージがサーバーに送信される。サーバーは、このメッセージのブロードキャストオプション機能を支援することができないので、該当クライアントにエラーメッセージを伝送する。または、該当サーバーから支援できる機能のみを追加してクライアントにＯＡＣＫメッセージを送信することができる。この場合、クライアントで受け入れなければエラーメッセージを伝送する。
【０１３６】
一方、クライアントからブロードキャストオプションを支援することができない場合、次のような動作が行なわれる。
【０１３７】
この場合、クライアントで最初に読み取り／書き込み要請メッセージをサーバーに送信するときに、ブロードキャストオプション自体を選択することができないので、サーバーでブロードキャストオプション支援可否によって従来技術と同一な方式によりメッセージ交換が行われる。
【０１３８】
一方、本発明では、多数のクライアントの中で一番最初に読み取り要請メッセージ(ＲＲＱ)を伝送するクライアントをマスタークライアントに選定して、当該マスタークライアントから応答メッセージ(ＡＣＫ)を受信した後に次のデータを順次に伝送することを一例として説明したが、システム運営者の運営計画によってはマスタークライアントを選定しないで、多数のクライアントから無条件に応答メッセージ(ＡＣＫ)を受信する場合又は多数のクライアントから応答メッセージ(ＡＣＫ)を受信しないことを定義してネットワークを運用する場合にも本発明を適用することができる。
【０１３９】
以上、添付の図面を参照しながら本発明の好適な実施の形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範囲内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１４０】
【図１】本発明に適用されるブロードキャスティング機能を備えたファイル伝送システムの構成を示す図である。
【図２Ａ】本発明の一実施形態に用いられる再定義された読み取り要請(ＲＲＱ)メッセージ構造を示す図である。
【図２Ｂ】図２Ａのメッセージ構造に実際の数値等を設定した例を示す図である。
【図３Ａ】本発明の一実施形態に用いられるサーバーシステムが伝送するオプション応答(ＯＡＣＫ)メッセージの構造を示す図である。
【図３Ｂ】図３Ａのメッセージ構造に実際の数値等を設定した例を示す図である。
【図４】本発明の一実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法を示す工程図である。
【図５】本発明の一実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法においてエラーが発生したときの処理工程を示す図である。
【図６Ａ】本発明の他の実施形態に用いられるために再定義された読み取り要請(ＲＲＱ)メッセージに実際の数値等を設定した例を示す図である。
【図６Ｂ】本発明の他の実施形態に用いられる再定義されたサーバーシステムが伝送するオプション応答(ＯＡＣＫ)メッセージに実際の数値等を設定した例を示す図である。
【図７】本発明の他の実施形態によるブロードキャスティング機能を備えた簡易なファイル伝送方法を示す工程図である。
【符号の説明】
【０１４１】
１０  サーバーシステム
１１  イーサネット（登録商標）
１２  インターネットプロトコル
１３  ＴＣＰ/ＵＤＰ 
１４  ＴＦＴＰサーバー
２０ａ〜２０ｎ  クライアントシステム
２１ａ〜２１ｎ  イーサネット（登録商標）
２２ａ〜２２ｎ  インターネットプロトコル
２３ａ〜２３ｎ  ＴＣＰ/ＵＤＰ
２４ａ〜２４ｎ  ＴＦＴＰクライアント
５０  サーバー
５１ａ、５１ｂ  クライアント
【図１】
2005228313.tif 000003
【図２Ａ】
2005228313.tif 000004
【図２Ｂ】
2005228313.tif 000005
【図３Ａ】
2005228313.tif 000006
【図３Ｂ】
2005228313.tif 000007
【図４】
2005228313.tif 000008
【図５】
2005228313.tif 000009
【図６Ａ】
2005228313.tif 000010
【図６Ｂ】
2005228313.tif 000011
【図７】
2005228313.tif 000012