(57)【特許請求の範囲】
【請求項１】
データを転送するファイル転送装置であって、
少なくとも１つのリモート装置から開始された制御接続を受信する少なくとも１つのリスニングポートと、
少なくとも１つのリモート装置へデータを送信するように動的に割り当てられた少なくとも１つのデータポートと、
それぞれが特定のリモート装置に関連付けられている複数の宛先リンクディレクトリのいずれかへデータファイルが記憶されたことを検出する宛先リンクディレクトリ管理システムと、を備え、
前記宛先リンクディレクトリ管理システムは、前記検出に応じて、前記検出されたデータファイルを当該データファイルが記憶された宛先リンクディレクトリに関連付けられている前記特定のリモート装置へ送信することを開始し、
前記ファイル転送装置は、前記制御接続を用いて、動的に割り当てられた少なくとも１つのデータポートのアドレスを前記特定のリモート装置へ送信する、ファイル転送装置。
【請求項２】
前記ファイル転送装置は、前記制御接続を用いて、データ転送の属性情報を受信するとともに、前記少なくとも１つのリモート装置から送信された識別情報を検証することによって前記少なくとも１つのリモート装置を認証する、請求項１記載のファイル転送装置。
【請求項３】
前記ファイル転送装置は、前記少なくとも１つのリモート装置の識別情報をローカルに格納された宛先識別リストと比較し、前記少なくとも１つのリモート装置の識別情報が前記宛先識別リスト内になければ前記少なくとも１つのリモート装置とのデータ転送を禁止する選択的受入れシステムをさらに備える、請求項１記載のファイル転送装置。
【請求項４】
前記ファイル転送装置は、複数のリモート装置との間でほぼ同時にデータを送受信する、請求項１記載のファイル転送装置。
【請求項５】
データ転送が上首尾に完了した後で、前記ファイル転送装置から前記少なくとも１つのリモート装置に対して受信通知を生成かつ送信する受信通知システムをさらに備える、請求項１記載のファイル転送装置。
【請求項６】
独立証明プロセッサと通信する証明システムをさらに備え、該独立証明プロセッサは、受信通知を検証するとともに、データ転送が上首尾に完了した後に、前記少なくとも１つのリモート装置に対して検証証明を送信する、請求項５記載のファイル転送装置。
【請求項７】
前記データポートが、前記データポートのアドレスを特定するソケットデータによって表される、請求項１記載のファイル転送装置。
【請求項８】
前記ファイル転送装置は、リンクリスト中に前記ソケットデータを格納し、該リンクリストをトラバースすることによって、ほぼ同時のデータ転送の流れを管理する、請求項７記載のファイル転送装置。
【請求項９】
データ転送に利用可能なクレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するクレジットシステムをさらに備え、
前記ファイル転送装置は、前記特定のリモート装置に少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ、前記特定のリモート装置がデータ転送を開始することを許可する、請求項１記載のファイル転送装置。
【請求項１０】
前記特定のリモート装置に関連付けられた利用可能なクレジットの数が前記特定のリモート装置上に動的に表示される、請求項９記載のファイル転送装置。
【請求項１１】
前記少なくとも１つのリモート装置は、送信前にファイル選択が可能な暗号化システムを備え、
前記ファイル転送装置は、受信した暗号化ファイルを解読するとともに、前記暗号化ファイルの解読後に前記クレジットアカウントの控除を行なう解読システムを備える、請求項９記載のファイル転送装置。
【請求項１２】
前記特定のリモート装置からのクレジットの追加の要求に応じて外部クレジットプロセッサへクレジットの追加を要求するクレジット要求システムをさらに備え、該外部クレジットプロセッサは、前記特定のリモート装置の課金情報を検査して、課金情報の妥当性が確認された場合にクレジットの追加を許可する、請求項９記載のファイル転送装置。
【請求項１３】
前記少なくとも１つのリモート装置によって要求可能なインデックスを提供するインデックスシステムをさらに備え、該インデックスは、前記少なくとも１つのリモート装置へ転送可能な少なくとも１つのファイルに関連する情報を含み、前記インデックスシステムは、前記インデックスへのアクセスを制限する、請求項１記載のファイル転送装置。
【請求項１４】
要求装置が、インデックスの要求が送信される先のリモート装置を指示することを許可する、インデックス要求システムをさらに備え、
前記インデックス要求システムは、前記指示されたリモート装置へ該要求を送信し、かつ、前記指示されたリモート装置から、要求したインデックスを受信する、請求項１３記載のファイル転送装置。
【請求項１５】
前記ファイル転送装置は、インデックスにリストされたファイルを前記指示されたリモート装置へ要求し、前記要求に応じて要求したファイルを受信する、請求項１４記載のファイル転送装置。
【請求項１６】
前記各宛先リンクディレクトリは、前記ファイル転送装置上のファイル格納領域を有する、請求項１記載のファイル転送装置。
【請求項１７】
リモート装置のリスト中の各リモート装置が当該ファイル転送装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを判定するアクティブ接続監視システムと、
前記通信経路に現在アクティブに接続されている、リモート装置のリスト中の各リモート装置を検査する検査システムと、
前記リストにおいて選択されたリモート装置が前記通信経路に現在アクティブに接続されていない場合に、前記選択されたリモート装置が前記通信経路にアクティブに接続されるときまで、ファイル転送を延期する監視システムとをさらに備える、請求項１記載のファイル転送装置。
【請求項１８】
前記少なくとも１つのリモート装置におけるディレクトリをポーリングする並行ポーリングシステムをさらに備え、該ディレクトリは、前記ファイル転送装置と関連付けられ、該ファイル転送装置は、ディレクトリ内のデータがリモート装置からファイル転送装置に転送されることを要求する、請求項１記載のファイル転送装置。
【請求項１９】
前記データ転送は、データが転送途中で中間的に格納されない通信経路を確立する中間コンピュータにログオンすることのみによって行われる、請求項１記載のファイル転送装置。
【請求項２０】
データ転送を可能にするファイル転送方法であって、
それぞれが特定のリモート装置に関連付けられている複数の宛先リンクディレクトリのいずれかへデータファイルが記憶されたことを検出するステップと、
前記検出に応じて、前記検出されたデータファイルを当該データファイルが記憶された宛先リンクディレクトリに関連付けられている前記特定のリモート装置へ送信するステップと、
ローカル装置の予め確立されたリスニングポートを介して前記特定のリモート装置との接続を確立するステップと、
ローカル装置のデータポートを動的に割り当てるステップと、
リスニングポートを介して、前記動的に割り当てられたデータポートのアドレスを前記特定のリモート装置に送信するステップと、
該データファイルを、前記動的に割り当てられたデータポートを介して、前記特定のリモート装置へ転送するステップと、
を備える方法。
【請求項２１】
前記確立された接続を用いて、データ転送の属性情報を受信するとともに、前記少なくとも１つのリモート装置から送信された識別情報を検証することによって前記少なくとも１つのリモート装置を認証するステップをさらに備える、請求項２０記載の方法。
【請求項２２】
前記少なくとも１つのリモート装置の識別情報を、前記ローカル装置に格納された宛先識別リストと比較し、前記少なくとも１つのリモート装置の識別情報が前記宛先識別リスト内になければ前記少なくとも１つのリモート装置とのデータ転送を禁止するステップをさらに備える、請求項２１記載の方法。
【請求項２３】
前記ローカル装置が、複数のリモート装置との間でデータをほぼ同時に送受信する、請求項２０記載の方法。
【請求項２４】
データ転送が上首尾に完了した後で、前記ローカル装置から前記少なくとも１つのリモート装置に対して受信通知を生成かつ送信するステップをさらに備える、請求項２０記載の方法。
【請求項２５】
前記ローカル装置が独立証明プロセッサと通信するステップをさらに備え、該独立証明プロセッサは、受信通知を検証するとともに、データ転送が上首尾に完了した後に、前記少なくとも１つのリモート装置に対して検証証明を送信する、請求項２４記載の方法。
【請求項２６】
前記データポートが、前記データポートのアドレスを特定するソケットデータによって表される、請求項２０記載の方法。
【請求項２７】
前記ローカル装置が、リンクリストに前記ソケットデータを格納し、該リンクリストをトラバースすることによって、ほぼ同時のデータ転送の流れを管理する、請求項２６記載の方法。
【請求項２８】
データ転送に利用可能なクレジットを保守かつ監視するとともに、データ転送が完了した後で、クレジットアカウントからクレジットを控除するステップをさらに備え、前記ローカル装置は、前記特定のリモート装置に少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ、前記特定のリモート装置がデータ転送を開始することを許可する、請求項２０記載の方法。
【請求項２９】
前記特定のリモート装置からのクレジットの追加の要求に応じて外部クレジットプロセッサへクレジットの追加を要求するステップをさらに備え、該外部クレジットプロセッサは、前記特定のリモート装置の課金情報を検査して、課金情報の妥当性が確認された場合にクレジットの追加を許可する、請求項２８記載の方法。
【請求項３０】
前記少なくとも１つのリモート装置によって要求可能なインデックスをインデックスシステムが提供するステップをさらに備え、該インデックスは、前記少なくとも１つのリモート装置へ転送可能な少なくとも１つのファイルに関連する情報を含み、前記インデックスシステムは、前記インデックスへのアクセスを制限する、請求項２０記載の方法。
【請求項３１】
前記ファイルに関連する情報が前記特定のリモート装置に関連付けられた宛先であり、前記インデックスシステムは、前記宛先に対応する前記特定のリモート装置がインデックスに独占的にアクセスすることを許可する、請求項３０記載の方法。
【請求項３２】
前記ファイルに関連する情報が前記少なくとも１つのリモート装置に関連付けられた一般的な宛先であり、前記インデックスシステムは、前記少なくとも１つのリモート装置がインデックスにアクセスすることを許可する、請求項３０記載の方法。
【請求項３３】
要求装置が、インデックスの要求が送信される先のリモート装置を指示することをインデックス要求システムによって許可するステップをさらに備え、前記インデックス要求システムは、前記指示されたリモート装置へ該要求を送信し、かつ、前記指示されたリモート装置から、要求したインデックスを受信する、請求項３０記載の方法。
【請求項３４】
インデックスにリストされたファイルを前記指示されたリモート装置へ要求し、要求に応じて要求したファイルを受信する、請求項３３記載の方法。
【請求項３５】
前記各宛先リンクディレクトリは、前記ローカル装置上のファイル記憶領域を有する、請求項２０記載の方法。
【請求項３６】
リモート装置のリスト中の各リモート装置がローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを判定するステップと、
前記通信経路に現在アクティブに接続されている、リモート装置のリスト中の各リモート装置を検査するステップと、
前記リストにおいて選択されたリモート装置が前記通信経路に現在アクティブに接続されていない場合に、前記選択されたリモート装置が前記通信経路にアクティブに接続されるときまで、ファイル転送を延期するステップと、
をさらに備える、請求項２０記載の方法。
【請求項３７】
前記少なくとも１つのリモート装置におけるディレクトリであって、前記ローカル装置と関連付けられたディレクトリをポーリングするステップと、ディレクトリ内のデータが前記ローカル装置に転送されることを要求するステップとをさらに備える、請求項２０記載の方法。
【請求項３８】
前記確立された接続が１つ以上の接続を備え、各接続は、異なる対のリスニングポートを介して前記ローカル装置と前記特定のリモート装置との間で行われ、当該各装置は、所定範囲内の利用可能なポートからリスニングポートを選択する、請求項２０記載の方法。
【請求項３９】
データ転送を可能にするファイル転送方法であって、
それぞれが特定のリモート装置に関連付けられている複数の宛先リンクディレクトリのいずれかへデータファイルが記憶されたことを検出するステップと、
前記検出に応じて、前記検出されたデータファイルを当該データファイルが記憶された宛先リンクディレクトリに関連付けられている前記特定のリモート装置へ送信するステップと、
ローカル装置の予め確立されたリスニングポートを介して前記特定のリモート装置との接続を確立するステップと、
リスニングポートを介して少なくとも１つのリモート装置から第１データポートのアドレスを受信するステップと、
ローカル装置において、リモート装置の第１データポートに対応する第２データポートを動的に割り当てるステップと、
前記データファイルを、前記動的に割り当てられたデータポートを介して前記特定のリモート装置へ転送するステップと
を備える方法。
【請求項４０】
前記確立された接続を用いて、データ転送の属性情報を転送するステップをさらに備える、請求項３９記載の方法。
【請求項４１】
前記ローカル装置が、複数のリモート装置との間でデータをほぼ同時に送受信する、請求項３９記載の方法。
【請求項４２】
データ転送が上首尾に完了した後で、前記ローカル装置から前記少なくとも１つのリモート装置に対して受信通知を生成かつ送信するステップをさらに備える、請求項３９記載の方法。
【請求項４３】
独立証明プロセッサと通信するステップをさらに備え、該独立証明プロセッサは、受信通知を検証するとともに、データ転送が上首尾に完了した後に、前記少なくとも１つのリモート装置に対して検証証明を送信する、請求項４２記載の方法。
【請求項４４】
前記データポートが、前記データポートのアドレスを特定するソケットデータによって表される、請求項３９記載の方法。
【請求項４５】
前記ローカル装置は、リンクリストに前記ソケットデータを格納し、該リンクリストをトラバースすることによって、ほぼ同時のデータ転送の流れを管理する、請求項４４記載の方法。
【請求項４６】
データ転送に利用可能なクレジットを保守かつ監視するとともに、データ転送が首尾よく行われた後で、クレジットアカウントからクレジットを控除するステップをさらに備え、前記ローカル装置は、前記特定のリモート装置に少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ、前記特定のリモート装置がデータ転送を開始することを許可する、請求項３９記載の方法。
【請求項４７】
前記特定のリモート装置からのクレジットの追加の要求に応じて外部クレジットプロセッサへクレジットの追加を要求するステップをさらに備え、該外部クレジットプロセッサは、前記特定のリモート装置の課金情報を検査して、課金情報の妥当性が確認された場合にクレジットの追加を許可する、請求項４６記載の方法。
【請求項４８】
前記少なくとも１つのリモート装置によって要求可能なインデックスをインデックスシステムによって提供するステップをさらに備え、該インデックスは、前記少なくとも１つのリモート装置へ転送可能な少なくとも１つのファイルに関連する情報を含み、前記インデックスシステムは、前記インデックスへのアクセスを制限する、請求項３９記載の方法。
【請求項４９】
要求装置が、インデックスの要求が送信される先のリモート装置を指示することをインデックス要求システムによって許可するステップをさらに備え、前記インデックス要求システムは、前記指示されたリモート装置へ該要求を送信し、かつ、前記指示されたリモート装置から、要求したインデックスを受信する、請求項４８記載の方法。
【請求項５０】
前記ローカル装置は、インデックスにリストされたファイルを前記指示されたリモート装置へ要求し、前記要求に応じて要求したファイルを受信する、請求項４９記載の方法。
【請求項５１】
前記各宛先リンクディレクトリは、ローカル装置上のファイル記憶領域を有する、請求項３９記載の方法。
【請求項５２】
リモート装置のリスト中の各リモート装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを判定するステップと、
前記通信経路に現在アクティブに接続されている、リモート装置のリスト中の各リモート装置を検査するステップと、
前記リストにおいて選択されたリモート装置が前記通信経路に現在アクティブに接続されていない場合に、前記選択されたリモート装置が前記通信経路にアクティブに接続されるときまで、ファイル転送を延期するステップと
をさらに備える、請求項３９記載の方法。
【請求項５３】
前記少なくとも１つのリモート装置におけるディレクトリであって、前記ローカル装置と関連付けられたディレクトリをポーリングするステップと、ディレクトリ内のデータがリモート装置からローカル装置に転送されることを要求する、請求項３９記載の方法。
【請求項５４】
データを転送するファイル転送装置であって、
それを介してリモート装置への制御接続が確立される少なくとも１つのリスニングポートと、
少なくとも１つのリモート装置へデータを送信するように動的に割り当てられた少なくとも１つのデータポートと、
それぞれが特定のリモート装置に関連付けられている複数の宛先リンクディレクトリのいずれかへデータファイルが記憶されたことを検出し、前記検出されたデータファイルを当該データファイルが記憶された宛先リンクディレクトリに関連付けられている前記特定のリモート装置へ前記少なくとも１つのデータポートを介して送信することを開始する宛先リンクディレクトリ管理システムと、
を備える、ファイル転送装置。
【請求項５５】
前記ファイル転送装置は、前記制御接続を用いて、データ転送の属性情報を受信する、請求項５４記載のファイル転送装置。
【請求項５６】
前記ファイル転送装置が、複数のリモート装置との間でデータをほぼ同時に送受信する、請求項５４記載のファイル転送装置。
【請求項５７】
データ転送が上首尾に完了した後で、前記ローカル装置から前記少なくとも１つのリモート装置に対して受信通知を生成かつ送信する受信通知システムをさらに備える、請求項５４記載のファイル転送装置。
【請求項５８】
独立証明プロセッサと通信する証明システムをさらに備え、該独立証明プロセッサは、受信通知を検証するとともに、データ転送が上首尾に完了した後に、前記少なくとも１つのリモート装置に対して検証証明を送信する、請求項５７記載のファイル転送装置。
【請求項５９】
前記データポートが、前記データポートのアドレスを特定するソケットデータによって表される、請求項５４記載のファイル転送装置。
【請求項６０】
前記ファイル転送装置は、リンクリストに前記ソケットデータを格納し、該リンクリストをトラバースすることによって、ほぼ同時のデータ転送の流れを管理する、請求項５９記載のファイル転送装置。
【請求項６１】
データ転送に利用可能なクレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するクレジットシステムをさらに備え、前記ファイル転送装置は、前記特定のリモート装置に少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ、前記特定のリモート装置がデータ転送を開始することを許可する、請求項５４記載のファイル転送装置。
【請求項６２】
前記特定のリモート装置に関連付けられた利用可能なクレジットの数が、前記特定のリモート装置上に動的に表示される、請求項６１記載のファイル転送装置。
【請求項６３】
前記少なくとも１つのリモート装置は、送信前にファイル選択が可能な暗号化システムをさらに備え、
前記ファイル転送装置は、受信した暗号化ファイルを解読するとともに、前記暗号化ファイルの解読後に前記クレジットアカウントの控除を行なう解読システムをさらに備える、請求項６１記載のファイル転送装置。
【請求項６４】
前記特定のリモート装置からの追加のクレジットの要求に応じて外部クレジットプロセッサへクレジットの追加を要求するクレジット要求システムをさらに備え、該外部クレジットプロセッサは、前記特定のリモート装置の課金情報を検査して、課金情報の妥当性が確認された場合にクレジットの追加を許可する、請求項６１記載のファイル転送装置。
【請求項６５】
前記少なくとも１つのリモート装置によって要求可能なインデックスを提供するインデックスシステムをさらに備え、該インデックスは、前記少なくとも１つのリモート装置へ転送可能な少なくとも１つのファイルに関連する情報を含み、前記インデックスシステムは、前記インデックスへのアクセスを制限する、請求項５４記載のファイル転送装置。
【請求項６６】
要求装置が、インデックスの要求が送信される先のリモート装置を指示することを許可するインデックス要求システムをさらに備え、
前記インデックス要求システムは、前記指示されたリモート装置へ該要求を送信し、かつ、前記支持されたリモート装置から、要求したインデックスを受信する、請求項６５記載のファイル転送装置。
【請求項６７】
前記ファイル転送装置は、インデックスにリストされたファイルを前記支持されたリモート装置へ要求し、前記要求に応じて要求したファイルを受信する、請求項６６記載のファイル転送装置。
【請求項６８】
前記各宛先リンクディレクトリは、前記ファイル転送装置上のファイル記憶領域を有する、請求項５４記載のファイル転送装置。
【請求項６９】
リモート装置のリスト中の各リモート装置が当該ファイル転送装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを判定するアクティブ接続監視システムと、
前記通信経路に現在アクティブに接続されている、リモート装置のリスト中の各リモート装置を検査する検査システムと、
前記リストにおいて選択されたリモート装置が前記通信経路に現在アクティブに接続されていない場合に、前記選択されたリモート装置が前記通信経路にアクティブに接続されるときまで、ファイル転送を延期する監視システムと
をさらに備える、請求項５４記載のファイル転送装置。
【請求項７０】
前記少なくとも１つのリモート装置におけるディレクトリをポーリングする並行ポーリングシステムをさらに備え、該ディレクトリは、前記ファイル転送装置と関連付けられ、当該ファイル転送装置は、ディレクトリ内のデータがリモート装置から当該ファイル転送装置に転送されることを要求する、請求項５４記載のファイル転送装置。
【請求項７１】
コンピュータデータ信号を記録したコンピュータ読み取り可能な記録媒体であって、
該信号は、初期接続コードセグメントと、データ転送コードセグメントと、宛先リンクディレクトリ管理コードセグメントと、を含み、
前記初期接続コードセグメントを読み取った前記コンピュータは、  少なくとも１つのリスニングポートを介してリモート装置との間に制御接続を確立するとともに、第１データポートを動的に割り当て、かつ、第１データポートのアドレスを前記リモート装置にリスニングポートを介して送信し、
前記データ転送コードセグメントを読み取った前記コンピュータは、第１データポートに対応する前記リモート装置の第２データポートを動的に割り当てるとともに、第１データポートと前記アドレスを受信した前記リモート装置において第１データポートに対応して動的に割り当てられた第２データポートとの対を確立し、前記各データポートを介して接続されたリモート装置との間でデータを送信し、かつ、
前記宛先リンクディレクトリ管理コードセグメントを読み取った前記コンピュータは、それぞれが特定のリモート装置に関連付けられている複数の宛先リンクディレクトリのいずれかへデータファイルが記憶されたことを検出し、前記検出に応じて、前記検出されたデータファイルを当該データファイルが記憶された宛先リンクディレクトリに関連付けられている前記特定のリモート装置へ送信することを開始する、記録媒体。
【請求項７２】
前記初期接続コードセグメントを読み取った前記コンピュータは、前記制御接続を用いて、データ転送の属性情報を受信するとともに、少なくとも１つのリモート装置から送信された識別情報を検証することによって前記少なくとも１つのリモート装置を認証する、請求項７１記載の記録媒体。
【請求項７３】
前記初期接続コードセグメントは、選択的受入れコードセグメントをさらに含み、前記選択的受入れコードセグメントを読み取った前記コンピュータは、前記少なくとも１つのリモート装置の識別情報をローカルに格納された宛先識別リストと比較し、前記少なくとも１つのリモート装置の識別情報が前記宛先識別リスト内になければ前記少なくとも１つのリモート装置とのデータ転送を禁止する、請求項７２記載の記録媒体。
【請求項７４】
前記データ転送コードセグメントを読み取った前記コンピュータは、複数のリモート装置との間でデータをほぼ同時に送受信する、請求項７１記載の記録媒体。
【請求項７５】
前記信号は、受信通知コードセグメントをさらに含み、前記受信通知コードセグメントを読み取った前記コンピュータは、データ転送が上首尾に完了した後で、前記少なくとも１つのリモート装置に対して受信通知を生成かつ送信する、請求項７１記載の記録媒体。
【請求項７６】
前記信号は、前記コンピュータに独立証明プロセッサと通信させる証明コードセグメントをさらに含み、該独立証明プロセッサは、受信通知を検証するとともに、データ転送が上首尾に完了した後に、前記少なくとも１つのリモート装置に対して検証証明を送信する、請求項７５記載の記録媒体。
【請求項７７】
前記データポートが、前記データポートのアドレスを特定するソケットデータによって表される、請求項７１記載の記録媒体。
【請求項７８】
前記信号は、前記コンピュータに、リンクリストに前記ソケットデータを格納させ、該リンクリストをトラバースさせることによって、ほぼ同時のデータ転送の流れを管理させる、請求項７７記載の記録媒体。
【請求項７９】
前記信号は、前記コンピュータが、データ転送に利用可能なクレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するクレジットコードセグメントをさらに含み、前記コンピュータは、前記特定のリモート装置に少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ、前記特定のリモート装置がデータ転送を開始することを許可する、請求項７１記載の記録媒体。
【請求項８０】
前記少なくとも１つのリモート装置は、送信前にファイル選択が可能な暗号化コードセグメントを備える送信装置を備え、
前記信号は、前記コンピュータに、受信した暗号化ファイルを解読させる解読コードセグメントを含み、
前記コンピュータは、前記暗号化ファイルの解読後に前記クレジットアカウントの控除を行なう、請求項７９記載の記録媒体。
【請求項８１】
前記信号は、前記コンピュータに、前記特定のリモート装置からのクレジットの追加の要求に応じて外部クレジットプロセッサへクレジットの追加を要求させるクレジット要求コードセグメントをさらに含み、該外部クレジットプロセッサは、前記特定のリモート装置の課金情報を検査して、課金情報の妥当性が確認された場合にクレジットの追加を許可する、請求項７９記載の記録媒体。
【請求項８２】
前記信号は、前記コンピュータに、前記少なくとも１つのリモート装置によって要求可能なインデックスを提供させるインデックスコードセグメントをさらに含み、該インデックスは、前記少なくとも１つのリモート装置へ転送可能な少なくとも１つのファイルに関連する情報を含み、前記インデックスコードセグメントを読み取った前記コンピュータは、前記インデックスへのアクセスを制限する、請求項７１記載の記録媒体。
【請求項８３】
前記信号は、要求装置が、インデックスの要求が送信される先のリモート装置を指示することを許可するインデックス要求コードセグメントをさらに含み、
前記インデックス要求コードセグメントを読み取った前記コンピュータは、該要求を前記指示されたリモート装置に送信し、かつ、前記指示されたリモート装置から、要求したインデックスを受信する、請求項８２記載の記録媒体。
【請求項８４】
前記信号は、前記コンピュータに、インデックスにリストされたファイルを前記指示されたリモート装置へ要求させ、前記要求に応じて要求したファイルを受信させる、請求項８３記載の記録媒体。
【請求項８５】
前記初期接続コードセグメントを読み取った前記コンピュータは、の接続を、異なる対のリスニングポートを介して確立し、所定範囲内の利用可能なポートから前記リスニングポートを選択する、請求項７１記載の記録媒体。
【請求項８６】
前記各宛先リンクディレクトリは、前記コンピュータ上のファイル記憶領域を有する、請求項７１記載の記録媒体。
【請求項８７】
前記信号は、アクティブ接続監視コードセグメントと、検査コードセグメントと、監視コードセグメントと、をさらに含み、
前記アクティブ接続監視コードセグメントを読み取った前記コンピュータは、リモート装置のリスト中の各リモート装置がローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを判定し、
前記検査コードセグメントを読み取った前記コンピュータは、前記通信経路に現在アクティブに接続されている、リモート装置のリスト中の各リモート装置を検査し、
前記監視コードセグメントを読み取った前記コンピュータは、前記リストにおいて選択されたリモート装置が前記通信経路に現在アクティブに接続されていない場合に、前記選択されたリモート装置が前記通信経路にアクティブに接続されるときまで、ファイル転送を延期する、請求項７１記載の記録媒体。
【請求項８８】
前記信号は、前記コンピュータに、前記少なくとも１つのリモート装置におけるディレクトリをポーリングさせる並行ポーリングコードセグメントをさらに含み、該ディレクトリは、前記コンピュータと関連付けられ、前記コンピュータは、ディレクトリ内のデータがリモート装置から前記コンピュータに転送されることを要求する、請求項７１記載の記録媒体。
【請求項８９】
可変数の装置の間でデータファイルを引き渡すためのデータファイル引渡システムであって、可変数のピアシステムを備え、
各ピアシステムが、
制御データを交換するために少なくとも１つのリスニングポートを開けるための接続交渉システムと、
データファイルを交換するために、それぞれが宛先と関連付けられている、可変数のデータポートを開けるためのデータ接続システムと、
を備え、
少なくともファイルソースが、データポートに対応する可変数のデータ通信経路を通して、選択されたデータファイルが転送途中で中間的に格納されない非記憶送信のための送信システムを有し、
宛先がそれぞれ、非記憶送信を介して送信されたファイルが転送途中で中間的に格納されない非記憶受信のための受信システムを有し、
ファイルソースと宛先のうちの少なくとも１つが、
少なくとも１つのリスニングポートに対応する少なくとも１つの通信交渉経路を介して、ファイルソースか宛先のいずれかから、送信システムの操作を開始するための開始システムと、
それぞれが特定の宛先に関連付けられている複数の宛先リンクディレクトリと、
前記宛先リンクディレクトリのいずれかへファイルが記憶されたことを検出すると、当該ファイルが記憶された宛先リンクディレクトリに関連付けられている宛先へ当該ファイルを送信することを開始するよう前記開始システムを制御する宛先リンクディレクトリ管理システムと、を有する、
データファイル引渡システム。
【請求項９０】
各ファイルソースがまた、送信システムが作動するのと同時に後続のファイルソースとして機能する少なくとも１つの他のピアシステムによって非記憶送信を介して送信されたファイルの非記憶受信のための受信システムを有する宛先でもある、請求項８９記載のデータファイル引渡システム。
【請求項９１】
前記各宛先リンクディレクトリは、該装置上のファイル記憶領域を有する、請求項８９記載のデータファイル引渡システム。
【請求項９２】
各ピアシステムが、
選択されたファイルの非記憶受信が上首尾に完了した後で、データポートに対応する、データが転送途中で中間的に格納されない通信経路である非記憶通信経路を通して、選択されたファイルを受信する各宛先ピアシステムからファイルソースに対して受信通知を生成かつ送信するための受信通知システムをさらに備える、請求項８９記載のデータファイル引渡システム。
【請求項９３】
受信通知を調査かつ検証するとともに、選択されたファイルの非記憶受信が上首尾に完了した後で、第１追加データポートに対応する第１追加非記憶通信経路を通して、検証証明データファイルをファイルソースピアシステムに送信するための、第三者トランザクション証明プロセッサをさらに備え、
前記受信通知システムが、選択されたファイルの非記憶受信が上首尾に完了した後で、第２追加データポートに対応する第２非記憶通信経路を通して、選択されたファイルを受信する各宛先から、第三者トランザクション証明プロセッサに対して受信通知を生成かつ送信する、請求項９２記載のデータファイル引渡システム。
【請求項９４】
各ピアシステムが、ファイル引渡に利用可能なクレジットを保守かつ監視するためのファイルクレジット監視システムをさらに備え、該ファイルクレジット監視システムは、選択されたファイルの各非記憶送信を検出するとともに、非記憶送信に基づいたファンクションに従って、関連ピアシステム上でクレジットアカウントからクレジットを控除する、請求項８９記載のデータファイル引渡システム。
【請求項９５】
クレジット要求を受信するとともに、クレジット要求を受信しかつクレジット要求をクレジット認証ファンクションと上首尾に比較した後で、ピアシステムのうちの関連付けられた１つのピアシステム上のクレジットアカウントのクレジット数を増やすクレジットプロセッサをさらに備え、
ファイルクレジット監視システムが、ピアシステムの１つからクレジットプロセッサへとクレジット要求を生成かつ送信する、
請求項９４記載のデータファイル引渡システム。
【請求項９６】
各ピアシステムが、
ピアシステム上のファイルのインデックスを生成するためのインデックス生成システムと、
可変数のピアシステムのいずれか１つからファイルのインデックスを要求して検索するためのインデックス要求システムと、
可変数のピアシステムのいずれかから検索されたファイルのインデックスから可変数のファイルのサブセットを選択するためのサブセット選択システムと、
可変数のピアシステムのいずれか１つからピアシステムにサブセットを転送するために、送受信システムの操作を開始するためのファイルサブセット要求システムと
をさらに備える、請求項８９記載のデータファイル引渡システム。
【請求項９７】
各ピアシステムが、
複数のデータポートに対応する複数の通信経路を通して、選択されたファイルのほぼ並行かつ同時の非記憶送信および非記憶受信のための可変数の送受信システムのほぼ並行かつ同時の操作を管理するための送受信管理システムをさらに備える、請求項８９記載のデータファイル引渡システム。
【請求項９８】
通信経路を介したデータ転送が、中間コンピュータにログオンせず、宛先にログオンせず、また介入するコンピュータ上に送信されたファイルを中間格納せずに行われる、請求項８９記載のデータファイル引渡システム。
【請求項９９】
データポートを介した宛先との接続が、制御データとともに受信された宛先アドレスに対して行われる、請求項８９記載のデータファイル引渡システム。
【請求項１００】
ファイルが所定の前記宛先リンクディレクトリに記憶されると、ファイルが当該宛先リンクディレクトリに関連付けられた宛先に転送される、請求項８９記載のデータファイル引渡システム。
【請求項１０１】
所定リスニングポートを介してローカルコンピュータと宛先コンピュータとの間の接続を確立する初期接続システムであって、データ転送の属性情報を、初期接続の間にリスニングポートを介して交換するとともに、ローカルコンピュータと宛先コンピュータの識別を、各コンピュータの識別情報を検証することによって認証する、初期接続システムと、
宛先コンピュータ内の、データポートのアドレスを特定するソケットデータによって表される第１データポートを動的に割り当てる第１アロケータと、
リスニングポートを介して、第１データポートのアドレスをローカルコンピュータに送信する第１送信器と、
宛先コンピュータ内の第１データポートに対応するローカルコンピュータ内のソケットデータによって表される第２データポートを動的に割り当てることによって、第１データポートと第２データポートの対を確立する第２アロケータと、
動的に割り当てられたデータポートを介して接続されたコンピュータの間でデータを転送する第２送信器と、
ファイル転送が上首尾に完了した後で、ファイルを受信したコンピュータからファイルを転送したコンピュータに対して受信通知を生成かつ送信する生成器と、
ファイル転送が上首尾に完了した後で、ファイル転送を発信したコンピュータに検証証明を送信する独立証明プロセッサと、
独立証明プロセッサと通信する第３送信器と、
ファイル転送に利用可能なクレジットを保守かつ監視するとともに、ファイル転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するクレジットシステムであって、ファイル転送が、転送を開始したコンピュータに少なくとも所定値の利用可能なクレジットが関連付けられている場合にのみ許可される、クレジットシステムと、
コンピュータから外部クレジットプロセッサへクレジットの追加を要求するクレジット要求システムであって、該外部クレジットプロセッサは、要求コンピュータの課金情報を検査し、課金情報の妥当性が確認された場合にクレジットの追加を許可するものである、クレジット要求システムと、
それぞれが特定の宛先コンピュータに関連付けられている複数の宛先リンクディレクトリと、
前記宛先リンクディレクトリのいずれかへファイルが記憶されたことを検出すると、当該ファイルが記憶された宛先リンクディレクトリに関連付けられている宛先へ当該ファイルを送信することを開始するよう前記第２送信器を制御する宛先リンクディレクトリ管理システムと、
を備える、
ファイル転送システム。
【請求項１０２】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項１記載のファイル転送装置。
【請求項１０３】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項２０記載の方法。
【請求項１０４】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項３９記載の方法。
【請求項１０５】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項５４記載のファイル転送装置。
【請求項１０６】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項７１記載の記録媒体。
【請求項１０７】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項８９記載のデータファイル引渡システム。
【請求項１０８】
前記データ転送は、データ転送が上首尾に完了する毎に減少制御される変数が所定値以上の場合に許可され、前記変数は、前記完了したデータ転送が暗号化を用いたものである場合に増加制御される、請求項１０１記載のファイル転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
関連出願へのクロス・リファレンス
本出願は、１９９７年１１月１３日にMaurice Haff等の名義で出願された「コンピュータ間の直接転送のためのファイル転送システム」（代理人整理番号第V16039号）という名称が付された米国仮特許出願第60/065,533号と、１９９８年５月１４日にMaurice Haff等の名義で出願された「ファイル転送システム」（代理人整理番号第V16057号）という名称が付された米国仮特許出願第60/085,427号と、１９９８年９月１７日に出願された米国仮出願第60/100,962号（これらの開示は、その全体が参照として本明細書中に明示的に組み込まれている）の恩典を請求する。
【０００２】
本発明は、ある場所から他の場所にコンピュータのファイルを電子的に転送することに関し、特に、２つ以上のコンピュータまたは計算装置の間で直接的にコンピュータのファイルを電子転送することに関する。
【０００３】
【従来の技術】
発明の背景および関連技術
文書の迅速な引渡は、何世代もの間、人々の大きな関心事であり、そのビジネスの利益にとって非常に重要であった。迅速な文書の引渡を実現する方法が発達して、国際および国内の航空路および道路を用いた即日／翌日の物理的な引渡、および世界的なコンピュータおよび通信機器の相互結合ネットワークを用いた電子的な引渡を含むようになった。送信者から受信者への文書の比較的安全な物理的引渡を実現するために、政府事業および営利事業の両方によって複雑なロジスティック・システムが作られてきた。例えば、米国郵便サービスによって提供される翌日配達速達、ならびにフェデラル・エクスプレス（Federal Express）、ユナイテッド・パーセル・サービス（United Parcel Service）、およびDHLなどの私企業によって提供される速達サービスなどがある。行われた引渡サービスの料金は、典型的には（引渡ごとの）固定料金ベースであり、支払は、サービスが行われたときになされるか、またはサービス提供者もしくは第三者のクレジット業者（VISAやマスターカード（Master Card）など）との予め取り決められたアカウントによって行われる。
【０００４】
これらのシステムの複雑さおよび迅速な転送サービスを支えるために動員される物理的な資源は比較的高価であり、その費用はサービスのユーザに転嫁される。コンピュータと通信機器の広範囲の相互結合ネットワークが、通信の費用を下げ、かつ送信者と受信者の間の情報の転送をさらに迅速にするという意図で構築されてきた。ある程度は、文書の物理的な引渡から電子的な引渡への進化は、パーソナル・コンピュータ（ＰＣ）、インターネット、ならびに私設のイントラネットおよびエクストラネットの使用の増大によって示されるように成功してきたが、文書の転送の相対的な安全性を犠牲にしてきた。コンピュータネットワークを介して使用されている電子転送機構の例としては、電子メール（e-mail）やファイル転送プロトコル（ＦＴＰ）があり、どちらもインターネットで広く使用されている。公衆交換電話ネットワーク（ＰＳＴＮ）を介して使用されている電子転送機構の例としては、ファクシミリ伝送や、モデムを使用したファイル転送およびコンピュータ間のデータ通信を可能にするコンピュータプログラムの様々な実施様態を含む。
【０００５】
ネットワークサーバーに格納されたファイルへのリモートアクセスを提供するためにハイブリッドシステムも使用される。これらのハイブリッドシステムは、典型的には、ローカルエリアネットワークに接続された専用通信サーバーを使用し、インターネットなどの公衆ネットワークを介して別のローカルエリアネットワーク上の対応する通信サーバーに相互接続される。あるいは、リモートＰＣが、ＰＳＴＮを介したダイアルアップ接続を使って通信サーバーにログインすることを許可され得る。これらのハイブリッドシステムは、しばしば「仮想プライベートネットワーク（virtual private networks）」またはＶＰＮと呼ばれ、通常は、暗号技術を用いて、公衆ネットワークを介したクライアント−サーバー接続を通じて転送するために比較的安全なデータパケットを作る。ＶＰＮ製品の一例は、デジタル・エクイップメント・コーポレーション（Digital Equipment Corporation）が提供するソフトウェア製品であるアルタヴィスタ（Alta Vista）である。
【０００６】
今日使用されている物理的および電子的な文書引渡システムで具現化されているアプローチには、いくつかの欠点がある。より低速の速達や配達サービスは、比較的安全である反面、より迅速であるもう一方の電子的引渡よりも送信者にとって費用がかかる。ネットワークを介した電子転送の場合は、文書、データファイル、画像および図のより迅速な引渡が実現可能である。しかし、これらの方法は、一般的には、電子メールサーバー、ＦＴＰサーバー、またはＷｅｂサーバーという形で中間コンピュータを使用する。これらの中間コンピュータを使用する場合、送信者と受信者のいずれも中間サーバーを制御しないので、実施される転送の相対的な安全性と適時性が低くなる。さらに、中間サーバー自体がかなりの管理を必要とし、通常は、安全性の問題を克服するためにログインの手続とパスワードを必要とするので、ユーザの便宜とシステムの複雑さを犠牲とする。さらに、これらの中間コンピュータは、故障の可能性が集中したポイントであるとともに、転送されるファイルの総数及びサイズの容量制限を定める通信の「ボトルネック」となる。
【０００７】
電子メールサーバーを使用するアプローチの例としては、ロータス・デベロップメント・カンパニー（Lotus Development Company）のcc:Mail、マイクロソフト・コーポレーション（Microsoft Corporation）のMicrosoft Mailなどがある。ＩＰネットワークでＦＴＰサーバーおよびＷｅｂサーバーを使用するシステムの例としては、ネットスケープ・コミュニケーションズ・コーポレーション（Netscape Communications Corporation）のNetscape Navigatorがある。これらの各システムは、意図された受信者によって後で検索されるように、テキストメッセージまたは文書ファイルを格納するためのサーバーとして機能する中間コンピュータを必要とする。これらのシステムはすべて、ユーザがサーバーにログインしてファイルをダウンロードすることを要する。よって、送信側のＰＣから受信側のＰＣの特定の受信者への特定ファイルの直接転送はこれらのシステムによっては可能にはならず、複数のコンピュータ間でのファイルの同時交換も可能にはならない。
【０００８】
電子メールの概念の変形が、三菱アメリカ（Mitsubishi America）がインターネット上で提供する「e-Parcel」と呼ばれる、最近導入されたファイル転送サービスで示される。「e-Parcel」は、インターネットを介したクライアント−サーバー接続を使用する支払予約（pay subscription）サービスである。「NetDox」と呼ばれる同様のシステムが、ネットドックス・インク（NetDox, Inc．）から提供されている。これらの製品はどちらも、クライアントソフトウェアを使用して、仲介するサーバーに自動的にログインし、受信者が仲介サーバーにログインしたときに、この仲介サーバーが登録受信者にファイルを転送する。電子メールアドレスを使用して、ファイルルーティングと課金の目的で、各登録ユーザのための一意名を作る。しかし、転送サーバーにログインしないで送信者から受信者にファイルを直接転送することは、e-ParcelやNetDoxなどのサーバーベースの仲介システムでは不可能である。サーバーベースのシステムのもう一つの欠点は、同時に処理することができるファイル転送の数と、所定期間内にまとめて格納できるファイルの大きさの点で、容量が限られることである。ユーザの数とシステムの利用が増加するにつれて、これに比例してサーバーの容量もかなりの費用をかけて増加させなければならない。格納および転送（仲介転送）サーバーのもう一つの制限は、転送されたファイルが集中すると、安全性と信頼性のリスクを増すシステムレベルの故障ポイントとなるということである。
【０００９】
どの文書引渡システムでも、ユーザに提供されるサービスに対する支払を受け取るための物理的または電気的な管理方法は、成功のための必須要素である。迅速なサービスのための物理的な引渡システムでは、しばしば月毎に累積されたビリングアカウントへの請求金額について支払がなされ、課金番号が文書パッケージに伴う「航空貨物運送状」に記録される。トランザクションの記録は、通常は手作業で収集され、かつコンピュータ課金システムに入力されなければならない。米国郵便サービス（ＵＳＰＳ）および他の国内郵便システムでは、長い間、郵便によって送られる封筒に「料金メーターによる印紙（metered stamps）」を貼るための機械的な郵便メーターを提供してきた。これらの機械的な郵便メーターは、ユーザが「郵便局」に持って行ってリセットしなければならない。これによって、郵便サービスは将来の配達サービスについての支払を得ることができる。
【００１０】
伝統的な郵便メーターの変形が、ピットニー・ボーズ・インク（Pitney Bowes, Inc．）の「PERSONAL POST OFFICE(商標)」と呼ばれる、新技術の電子郵便メーターである。この電子郵便メーターは、電話回線を通してリセットすることができ、料金はピットニー・ボーズの「POSTAGE BY PHONE(商標)」アカウントに対して請求される。ピットニー・ボーズはまた、パーソナルコンピュータのプリンタを使って「メーターによる（metered）」郵便印を封筒に印刷できる「Post Office for the PC」という製品も提供している。パーソナルコンピュータに接続された周辺装置は、郵便料金保管所の機能を果たし、郵便料金は電話回線を通してモデム経由でダウンロードされる。
【００１１】
e-Parcelによって提供されるサービスに対する支払は、予め決められた定額月料金でなされ、請求金額は、予測される利用と送信ファイルサイズに基づいて登録時に決定される。もう一つの支払プラン、つまり転送サービス時の支払が宣伝されており、e-Parcelサーバーを通して送信される各ファイルに対して料金が請求される。ネットドックス・インクによって提供されるサービスに対する支払は、NetDoxサーバーソフトウェアのライセンスによってなされる。
【００１２】
ユナイテッド・パーセル・サービス・インク（United Parcel Service, Inc．）（ＵＰＳ）は、NetDox製品に基づき、またタンブルウィード・ソフトウェア・インク（Tumbleweed Software Inc．）が提供する「Posta」と呼ばれる製品に基づいた別の格納転送サーバーに基づいた、仲介電子文書ファイル引渡サービスを発表した。ＵＰＳシステムは、ユーザがＵＰＳサーバーを通して送信される各文書ファイルに対して請求されるビリングアカウントを設ける電子文書引渡サービスであるとして示されている。
【００１３】
ＣＣＩＰＰグループ３のファクシミリ規格に対応する、ＰＳＴＮを介したファクシミリ送信は、比較的直接的で、即時的で、かつ第三者による傍受に対して保護されている。しかし、ファクシミリ送信は、送信者と受信者の両方にとって多くの送信管理および処理の問題を投じ得る。ファクシミリ送信の場合は、「サービス提供者」は、ファクシミリを送信するのに要した接続時間に対して課金する地域および長距離の電話会社である。
【００１４】
ＣＣＩＴＴグループ３のファクシミリ送信規格を使用する機器の例としては、ヒューレット・パッカード・コーポレーション（Hewlett Packard Corporation）やパナソニック・コーポレーション（Panasonic Corporation）などの多くの製造業者が販売する、広く行き渡っているファクシミリ機器がある。グループ３ファクシミリ規格を用いる機器のさらなる例としては、ＵＳロボティックス・コーポレション（US Robotics Corporation）などの製造業者が販売する、広く行き渡っているＰＣファックスモデムがある。ファックス機器とファックスモデムはどちらもＰＳＴＮで通信する。新出の技術は、インターネットを介したファックスイメージの送信である。ファックス装置は、送信者から特定の受信者への特定の文書イメージの直接送信を可能にするが、その送信は、送信される文書のオリジナルのファイル形式ではなく、典型的には視覚的品質が劣化する。ＰＣファックスで送信すると、非常に大きなファイルサイズになってしまい、巨大な記憶容量が必要になってしまう。
【００１５】
ファクシミリのイメージ送信とは異なり、モデムを使用したネットワークを通してまたはＰＳＴＮを通しての電子ファイル転送は、文書ファイルを受信者に元（native）の形式（テキスト、グラフィック、図、ビデオまたは音声のいずれかを問わない）で提供できる。このようなファイルには、大きい形式の図または多量のページカウント文書が含まれてもよい。添付ファイル付きの電子メールとは異なり、電子ファイル転送では、一般的に、予測できない引渡、第三者のメールサーバーの安全性、あるいは添付ファイル暗号化の互換性などの問題はない。しかし、ワイドエリアネットワークを介したクライアント−サーバー通信を使用する仲介ファイル転送では、典型的には、ネットワークサーバーへのログインを必要とし、また遠隔地ユーザや組織的に無関係の第三者に対してアクセスが許可されたときに安全性の危険がある。
【００１６】
モデムを使用したＰＳＴＮを通したファイル転送や、付随のコンピュータプログラムを有する従来の通信アーキテクチャでは、通常、ＰＣ間の転送を実行するためにはユーザが立ち会う必要がある。あるいは、立会人の安全性のリスクを伴って、あるＰＣから別のＰＣの遠隔制御も可能である。よって、電子ファイル転送（インターネット、私設のイントラネットやエクストラネットを通してか、またはＰＳＴＮを介してかを問わない）を実行するための従来技術の機構のすべては、多くの処理工程とかなりの程度のユーザトレーニングを必要とする。
【００１７】
ネットワークを介しての文書ファイルへのアクセスをユーザに提供するようになされたアプローチの例が、米国特許第5,634,057号に記載されている。この特許は、ネットワークにログインしている複数のユーザが、形式や内容などの文書の様々な様態に関して対話的に協力できる、グループウェアについて説明している。典型的には、グループウェアは、その利用が複雑であるという問題があり、またあるＰＣから別のＰＣへの特定のファイルの直接転送や、複数のＰＣとの同時の交換は不可能である。
【００１８】
ＰＳＴＮを介して、ある場合にはインターネットを介して、送信側ＰＣから受信側ＰＣに直接ファイル転送を達成するアプローチの別の例は、「リモートウェア」として説明される一連の製品である。このカテゴリーに入る、シマンテック・コーポレーション（Symantec Corporation）が提供する「pcAnywhere」などの特定の製品によって、ユーザは、あるコンピュータから別のコンピュータにログインして、ログインが行われたコンピュータの操作と格納ファイルを効果的に制御することができる。しかし、ログインおよび制御についての第三者の安全性リスクなしには直接のファイル転送は提供されない。さらに、フューチャーソフト・エンジニアリング・インク（FutureSoft Engineering, Inc．）が提供する「DynaComm」などの製品は、ＰＳＴＮを介してサーバーおよびメインフレームコンピュータへのダイアルアップ端末アクセスを提供するように設計されている。このような製品はまた、ＰＣのオペレータが送信側ＰＣと受信側ＰＣの両方にいて、転送が行われる際に基づくべきパラメータや条件を設定する準備ができている場合、典型的には、ファイルのＰＣ間の直接転送が可能である。
【００１９】
あるＰＣから転送制御プロトコル／インターネット・プロトコル（Transmission Control Protocol/Internet Protocol）（ＴＣＰ／ＩＰ）ネットワークに相互接続された別のＰＣに１つのファイルを転送することを可能にするアプローチの別の例として、マイクロソフト・コーポレーション（Microsoft Corporation）がインターネット経由で提供する「Wormhole」と呼ばれるデモンストレーション用コンピュータプログラムがある。このフリーウェアのコンピュータプログラムの目的は、ソケットデータ構造がMicrosoft Windowsオペレーティングシステムの下でいかに機能するかをデモンストレーションすることである。このデモンストレーション用プログラムは、手で入力したＩＰアドレスにある１つだけのＰＣに１つだけのファイルを送信することができる。ファイルを送信できる時間と場所を制限することはできないし、ファイルを受信できる場所を制限することもできない。複数のＰＣでファイルを同時に交換することは不可能であるし、提案されてもいない。さらに、ＰＳＴＮの通信は提供されず、またファイル転送のエラーチェックや検証も提供されない。さらに、ファイルがどこから発信されたかも示されない。さらに、通信やファイルの制御は不可能である。また、Wormholeコンピュータプログラムを実行しているＰＣからファイルを要求することは不可能であり、いかなる形態のファイル転送の安全性も提供されない。
【００２０】
この出願人によって開発された、ＰＳＴＮを通してＰＣ間の直接通信を可能にするアプローチの別の例は、ＡＥＧＩＳ文書イメージングシステム（AEGIS Document Imaging System）（ＡＤＩＳ）である。ＡＤＩＳでは、文書管理および通信の機能が統合されて、ＰＳＴＮを通して相互接続された仮想ＰＣネットワークを作るシステムを提供する。イメージを処理できるＰＣ機器に加えて、ＡＤＩＳは、特定の通信ハードウェア（インテル・コーポレーション（Intel Corporation）が開発し、カナダ、オンタリオ州のピュア・データ・リミテッド（Pure Data, Ltd．）が販売するSatisFAXion 400ファックスモデムなど）を必要とし、かつＡＤＩＳコンピュータプログラムによって制御されるSatisFAXionボードに組み込まれたファイル転送機構を使用する。広く行き渡っている標準的Hayes互換のデータモデムを使用したＰＳＴＮ経由で、あるいはＴＣＰ／ＩＰネットワーク経由で、直接ファイル転送する機能はＡＤＩＳには含まれない。さらに、あるＡＤＩＳステーションから別のＡＤＩＳステーションによってファイルを要求することができるが、ファイルの要求は、特定のステーションには制限されない。
【００２１】
これらの従来システムの別の欠点は、リモートコンピュータのポーリングが、その機能が存在する場合は、逐次的に生じることである。よって、多くの異なる宛先から多くのファイルを受信するのに、特に宛先の１つがビジーである場合は、長い時間がかかり、ポーリングするコンピュータは繰返し宛先に接触しようとし、結局はタイムアウトしてしまう。
【００２２】
公知のファイル転送システムの別の例は、ミシガン州モンローのヒルグラーブ・インク（Hilgraeve, Inc．）が販売するDropChute+である。DropChute+は１つのポートを使用するので、通信は一度に他の１つのコンピュータに限定される。DropChute+は、１つ以上の他のコンピュータと同時に通信できない（並行して複数のファイルを転送できない）。さらに、DropChute+のすべての転送およびコマンドは１つのポートで行われる。１つ以上のイベントが発生すると、すべてのイベントが１つのポートを通して多重化される。さらに、ユーザがあるファイルを宛先のグループに送信したい場合は、DropChute+では対応する方法がない。
【００２３】
よって、従来技術の肯定的な面を保持しながら、従来技術の欠点を持たない、送信者から受信者に文書を迅速かつ安全に確実に引き渡すことができるシステムが必要である。
【００２４】
【発明の要約】
上記に鑑みて、本発明は、インターネット、私設のイントラネットおよびエクストラネット、ならびにＰＳＴＮを介してＰＣ間でコンピュータファイルのピア・トゥ・ピアの電子転送を行うための通信システムの提供に向けられている。
【００２５】
ファイル転送は、インターネット、私設のイントラネットまたはエクストラネット、ならびにＰＳＴＮを介して行われ、リモートコンピュータにログインせず、かつ介入するコンピュータ上にファイルを中間格納しない。本発明は、同時転送を可能にするとともに、転送されたファイルに対する証明受信通知、随伴するアプリケーションプログラムからの直接の転送開始、および転送された各ファイルについてのサービス提供者への支払を行うための機構を含む機能を組み込んでいる。
【００２６】
本発明はさらに、送信されるファイルの形式の暗号化または変換を必要とせずに、元の形式のままでのＰＣ間のファイル転送を可能にする通信システムの提供に向けられている。
【００２７】
本発明はさらに、通信経路を確立するため以外は、介入するコンピュータにログインする必要なしに、ＰＣ間のファイル転送を可能にする通信システムの提供に向けられている。
【００２８】
本発明はさらに、送信側ＰＣと受信側ＰＣのいずれにもオペレータの存在を必要とせずに、ＰＣ間のファイル転送を可能にする通信システムの提供に向けられている。よって、本発明は、送信者が予め決めた予定時間にＰＣ間でファイル転送を行うことを可能にする。
【００２９】
本発明の１つの態様によると、本発明は、ローカルコンピュータと、宛先コンピュータのリストから選択された少なくとも１つの宛先コンピュータとの間でファイルを転送するためのファイル転送システムに向けられている。転送は、コンピュータネットワークおよび公衆交換電話ネットワークを含む、少なくとも１つの通信経路を介して行われる。ファイル転送システムは、少なくとも１つの宛先コンピュータに転送するためにローカルコンピュータに格納された少なくとも１つのファイルを選択するファイルセレクタと、少なくとも１つのリモートコンピュータのリストから、ファイルが転送される先の少なくとも１つの宛先コンピュータを選択する宛先セレクタと、いかなる中間コンピュータにも選択されたファイルを格納せずに、通信経路を介して宛先コンピュータに選択されたファイルを転送する送信器と、転送されたファイルを受信する受信器とを含む。
【００３０】
本発明のファイル転送システムの別の態様によると、送信器はまた、送信前にファイルを圧縮する圧縮器を含む。受信器はまた、受信時にすべての圧縮ファイルを復元する圧縮解除器を含む。好ましくは、圧縮器は、送信前にどのファイルも圧縮する。あるいは、圧縮器は、ユーザが選択したファイルを圧縮する。
【００３１】
送信器はまた、送信前に各ファイルを暗号化する暗号器も含む。受信器はまた、受信時に各ファイルを解読する解読器も含む。このようなファイル転送システムでは、暗号器は送信前にどのファイルも暗号化する。
【００３２】
好適実施例によると、本発明のファイル転送システムはまた、ローカルコンピュータが、選択された各ファイルを転送するのに十分なクレジットを有しているか否かを判定するクレジット十分性検証器も含む。クレジット十分性検証器は、十分なクレジットが見つかった場合にのみ、送信器が作動することを許可する。クレジットが十分あるかどうかは、確立された転送費用に従って決定される。さらに、ローカルマシンにおけるクレジットの数は、対応する転送費用によって、ファイル転送が上首尾に行われる毎に修正される。各ローカルコンピュータで利用可能ないくつかのクレジットが、ローカルコンピュータ上に表示される。
【００３３】
送信器はまた、選択されたファイルを送信前に暗号化する暗号器を含む。受信器はまた、暗号化ファイルを受信時に解読する解読器を含み、サービス提供者の方針によって、ローカルマシンにおけるクレジットの数が、暗号化を用いてファイル転送が上首尾に行われる毎に少なくとも１つの追加クレジットだけ修正されてもよい。
【００３４】
さらに、ファイル転送システムはまた、ユーザの要求に応じて外部ソースから追加クレジットを要求するクレジット購入器を含むことができ、外部ソースは、ユーザの課金情報を検査して、課金情報の妥当性が確認された場合は追加クレジットを分配する。
【００３５】
好適実施例によると、ファイル転送システムはまた、転送されているファイルが送信の途中で干渉された場合に、上首尾に転送されたファイルの量を決定する送信エラードクターも含む。送信エラードクターは、ローカルコンピュータと宛先コンピュータとの間にエラーがない接続が確立したときに、まだ送信されていないファイルの部分を送信することによって、宛先コンピュータがファイルをエラーなしに受信することができる。
【００３６】
好適実施例によると、ファイル転送システムはまた、ローカルコンピュータのユーザによって選択された時にファイル転送を予定することによって、ファイル転送がローカルコンピュータのユーザがいなくても行われるようにするスケジューラを含む。
【００３７】
受信器はまた、すべてのファイル転送の属性を記録するレコーダを含むこともできる。このようなシステムでは、レコーダはまた、ファイル転送が上首尾に行われたときに、独立証明コンピュータにファイル転送の属性を知らせることもできる。レコーダはまた、ファイル転送が上首尾に行われたときに、ローカルコンピュータにファイル転送の属性を知らせることもできる。サービス提供者の方針によって、ローカルマシンにおけるクレジットの数は、ファイル転送属性が通知される毎に少なくとも１つの追加クレジットだけ修正されてもよい。
【００３８】
送信器は、各宛先コンピュータへの別々かつ個別の接続を通して複数の宛先コンピュータにファイルを同時に転送することができる。同様に、受信器は、複数の送信器からのファイル転送を同時に受信することができる。さらに、ローカルコンピュータは、複数の送信器からファイル転送を同時に受信することができる受信器を含む。送信器は、複数の宛先コンピュータにファイルを同時に転送することができるので、ローカルコンピュータは複数のコンピュータといかなる数のファイルをも同時に交換（送受信）することができる。
【００３９】
受信器はまた、送信側のコンピュータの認証された識別に基づいてファイル転送を選択的かつ自動的に受け入れるゲートキーパーを含むこともできる。
【００４０】
特定の好適実施例では、ファイル転送システムは、通信経路を介してリモートコンピュータによって要求され得るインデックスを定義するインデックス生成器を含む。インデックスは、リモートコンピュータがファイル転送を介してそのコピーを要求できる少なくとも１つのファイルを含む。このようなシステムでは、インデックスはまた、インデックスに独占的にアクセスできる関連リモートコンピュータを含むこともできる。
【００４１】
特定の好適実施例では、通信経路を介したファイル転送が、中間の格納コンピュータおよび転送コンピュータにログインせず、また宛先コンピュータにログインせずに行われる。
【００４２】
好適実施例では、ファイル転送システムは、転送要求によりリモートコンピュータでのファイル転送開始を引き起こすことによって、複数のリモートコンピュータで特定の宛先リンクディレクトリに含まれるファイルの同時転送を行ってもよい。
【００４３】
好適実施例では、（ａ）ファイル構造の場所、（ｂ）ファイルタイプ、（ｃ）ファイルの日時、（ｄ）埋め込まれた通し番号、および（ｅ）宛先認証コードを含むインデックスを作成する際の基準を呼び出すことができる。
【００４４】
好適実施例では、各装置は、少なくとも、表示モニター、メモリ付きプロセッサ、ファイル記憶装置、キーボード、ポインティングデバイス、通信インターフェイス、およびドラッグ・アンド・ドロップの機能を有するグラフィック志向（ウィンドウ）オペレーティングシステムを含む。各装置は、システム機能を制御するためのコンピュータプログラムと、ウィンドウオペレーティング環境のためのコンピュータプログラムとを実行する。各装置は、複数の通信経路に接続され、グラフィカルユーザインタフェ−ス（ＧＵＩ）を生成する。また、ＧＵＩ機能とシステム通信を制御するための制御モジュールと、送信され得る候補ファイルを示すための表示ウィンドウ（送信ウィンドウ）、ファイルが送信され得る先の候補パーソナルコンピュータ宛先（宛先ウィンドウ）、および送受信された転送ファイル（イベントログウィンドウ）を呼び出すかまたは作り出すグラフィックモジュールと、ダイアログウィンドウを介してシステム操作基準を開始し呼び出すための制御とが使用される。
【００４５】
好適実施例によると、伝搬媒体で具現化されるコンピュータデータ信号が提供される。信号は、可変数のデータ転送を可能にし、かつ初期接続ソースコードセグメントとデータ転送ソースコードセグメントとを含む。初期接続ソースコードセグメントは、所定リスニングポートを介して２つの装置の間の接続を確立するものであり、少なくとも１つの所定リスニングポートが各装置に存在する。初期接続ソースコードセグメントはまた、第１装置内で第１データポートを動的に割り当て、かつ所定リスニングポートを介して残りの装置に第１データポートのアドレスを送信する。
【００４６】
データ転送ソースコードセグメントは、可変数のデータ転送操作のそれぞれのためのものである。データ転送ソースコードセグメントは、残りの装置内で第２データポートを動的に割り当てる。第２データポートは第1装置内の第１データポートに対応する。データ転送ソースコードセグメントは、データポートを介して接続された装置の間でデータを転送するので、データが、動的に割り当てられたデータポートを介して可変数の装置の間でほぼ同時に転送される。第１データポートと第２データポートの各対が、各リスニングポートの接続に応じて確立される。
【００４７】
初期接続ソースコードセグメントはまた、データ転送特徴を交換するとともに、残りの装置から送信された残りの装置の識別情報を検証することによって残りの装置を認証してもよい。さらに、初期接続ソースコードセグメントは、残りの装置の識別情報を第１装置に格納された宛先識別リストと比較するとともに、宛先識別リスト内にない装置からのデータ転送を禁止する選択的受入れソースコードを含んでよい。好適実施例では、各装置は、複数の装置との間でデータをほぼ同時に送受信する。
【００４８】
信号はまた、受信通知を生成かつ送信する受信通知ソースコードセグメントを含んでもよい。受信通知は典型的には、発信地、宛先および上首尾完了情報を含み、かつデータ転送が上首尾に完了した時点で、データ転送を受信した装置からデータを転送した装置に送信される。
【００４９】
信号はまた、発信地、宛先および上首尾完了情報についての受信通知を検証する独立証明プロセッサと通信する証明ソースコードセグメントを含んでもよい。独立証明プロセッサは、データ転送が上首尾に完了した時点で、データ転送を発信した装置に検証証明を送信する。受信通知ソースコードセグメントはまた、データ転送が上首尾に完了した時点で、データ転送を受信した装置から独立証明プロセッサに対して受信通知を生成かつ送信する。
【００５０】
好ましくは、ソケットデータ構造は動的に管理され、各データポートはソケットデータ構造によって表される。さらに、各装置は、データ転送の流れを管理するためにリンクリストにソケットデータ構造を格納してもよい。リンクリストは、ほぼ同時のデータ転送を可能にするためにトラバースされる。
【００５１】
信号はまた、データ転送クレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するために各データ転送を検出する、クレジットソースコードセグメントを含む。データ転送は、転送を開始する装置が十分なクレジットを有する場合にのみ許可される。
【００５２】
好適実施例によると、データ転送は、通信経路を確立するため以外は中間コンピュータにログオンせず、宛先コンピュータにログオンせず、また介入するコンピュータに転送データを中間格納せずに、行われる。
【００５３】
好適実施例によると、送信装置は、選択されたデータを送信前に暗号化する暗号化ソースコードセグメントを含む。さらに、受信装置は、暗合化された各ファイルを受信時に解読する解読ソースコードセグメントを含む。データ転送クレジットは、定められた数のクレジットを備える。送信装置におけるクレジットの数は、暗号化を用いてデータ転送が上首尾に行われる毎に、少なくとも１つの追加クレジットだけ修正される。
【００５４】
信号はまた、装置が追加クレジットを要求するのに応じて、外部クレジットプロセッサから追加クレジットを要求するクレジット要求ソースコードを含む。外部クレジットプロセッサは、要求装置の課金情報を検査し、課金情報の妥当性が確認された場合は追加クレジットを分配する。
【００５５】
信号はまた、接続を介してリモート装置による要求のインデックスを定義するインデックスソースコードセグメントを含む。インデックスは、少なくとも１つの宛先と関連付けられ、リモート装置が要求できる少なくとも１つのファイルを表す情報をリストする。関連宛先に対応する装置は、インデックスに独占的にアクセスできる。インデックスの要求が送信される先の特定のリモート装置を選択することを要求装置に許可するインデックス要求ソースコードセグメントが提供されてもよい。要求は、選択されたリモート装置に送信される。要求に応じて、リモート装置は要求装置にインデックスを戻す。次に、要求装置は、記憶装置にインデックスを格納する。要求装置によって選択されるインデックスにリストされた各ファイルに応じて、選択されたファイルのコピーがリモート装置から転送されることを要求することを要求装置に許可する、インデックス転送ソースコードセグメントもまた提供されてよい。リモート装置は、要求に応じて各ファイルを転送する。
【００５６】
初期ソースコードセグメントはまた、１つ以上の接続を確立し、各接続が、異なる対のリスニングポートを介して２つの装置の間で行われるようにしてもよい。この場合、各装置は、所定範囲内の利用可能なポートからリスニングポートを選択する。
【００５７】
各装置はまた、他の装置と関連付けられる可変数の宛先リンクディレクトリを含む。各宛先リンクディレクトリは、この装置上のファイル記憶領域である。そして、宛先リンクディレクトリに少なくとも１つのデータファイルが格納されていることを検出し、かつ検出に応じて関連装置に対して検出されたデータファイルの転送を開始する宛先リンクディレクトリ管理ソースコードセグメントが提供される。
【００５８】
信号はまた、アクティブ接続監視ソースコードセグメントと、検査ソースコードセグメントと、監視ソースコードセグメントとを含んでもよい。アクティブ接続監視ソースコードセグメントは、少なくとも１つのリモート装置のリスト中の各リモート装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを定期的に判定する。検査ソースコードセグメントは、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されている少なくとも１つのリモート装置のリスト中の各リモート装置を検査する。選択された宛先装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されていない場合、監視ソースコードセグメントは、宛先装置がローカル装置にアクセス可能な通信経路にアクティブに接続されるようになるときまで、ファイル転送を延期する。
【００５９】
信号はまた、ローカル装置をして、リモート装置の少なくとも１つのディレクトリをポーリングさせる並行ポーリングソースコードセグメントを含んでもよい。ディレクトリは、割り当てられた宛先と関連付けられる。ローカル装置は、ディレクトリ内のすべてのデータがローカル装置に転送されることを要求する。よって、複数のリモート装置はほぼ同時にポーリングされ、データはリモート装置のすべてからローカル装置へとほぼ同時に転送される。さらに、データは割り当てられた宛先に転送する。
【００６０】
ローカル装置と少なくとも１つのリモート装置との間のデータ転送を可能にするファイル転送方法が提供される。この方法は、各装置内に存在する予め確立されたリスニングポートを介して少なくとも１つのリモート装置との接続を確立するステップを含む。さらにこの方法は、ローカル装置の中にデータポートを動的に割り当てるステップであって、各装置内の各データポートがデータ転送を可能にするものであるステップと、データポートのアドレスをリスニングポートを介してリモート装置に送信するステップとを含む。この方法は、データポートを介して接続された装置の間でデータを転送することを可能にすることにより、データが動的に割り当てられたデータポートを介して複数のリモート装置とローカル装置との間でほぼ同時に転送される。
【００６１】
この方法はまた、初期接続を確立した後で、データ転送特徴を受信するとともに、リモート装置の識別情報を検証することによってリモート装置を認証するステップを含む。識別情報は、リモート装置から送信される。さらに、リモート装置の識別情報が、ローカル装置に格納された宛先識別リストと比較される。宛先識別リスト内にない装置からのデータ転送は禁止される。好適実施例によると、ローカル装置はほぼ同時にデータを送受信する。
【００６２】
この方法はまた、データ転送が上首尾に完了した後で、データ転送を受信した装置からデータを転送した装置へと、発信地、宛先および上首尾完了情報を含む受信通知を生成かつ送信するステップを含んでもよい。さらに、この方法は、発信地、宛先および上首尾完了情報の受信通知を検証する独立証明プロセッサと通信するステップをさらに含んでもよい。独立証明プロセッサは、データ転送が上首尾に完了した時点で、データ転送を発信した装置に検証証明を送信する。よって、データ転送を受信した装置は、データ転送が上首尾に完了した時点で、独立証明プロセッサに対して受信通知を生成かつ送信する。
【００６３】
好ましくは、ソケットデータ構造は動的に管理され、各データポートはソケットデータ構造によって表される。さらに、各装置は、データ転送の流れを管理するためにリンクリストにソケットデータ構造を格納してもよい。リンクリストは、ほぼ同時のデータ転送を可能にするためにトラバースされる。
【００６４】
この方法はまた、装置からの追加クレジットの要求に応じて外部クレジットプロセッサから追加クレジットを要求するステップを含んでもよい。この場合、外部クレジットプロセッサは、要求装置の課金情報を検査して、課金情報の妥当性が確認された場合に追加クレジットを分配する。
【００６５】
この方法はまた、初期接続を介してリモート装置によって要求されるインデックスを定義するステップを含んでもよい。インデックスは、リモートコンピュータがデータ転送を介してそのコピーを要求できる少なくとも１つのファイルと、関連宛先とを含む。関連宛先は特定の宛先であり、特定の宛先に対応する装置はインデックスに独占的にアクセスすることができる。あるいは、関連宛先は、いかなるリモート装置もインデックスにアクセスできるような、一般的な宛先であってもよい。
【００６６】
要求装置は、インデックスの要求が送信される先のリモート装置を選択することを許可されてもよい。要求が選択されたリモート装置に送信されると、リモート装置は要求装置にインデックスを戻し、要求装置は記憶装置にインデックスを格納する。インデックスにリストされたいずれかのファイルが要求装置によって選択されると、要求装置は、選択されたファイルのコピーがリモート装置に転送されることを要求する。この要求に応じて、リモート装置は各ファイルを転送する。
【００６７】
好適実施例によると、各装置は、可変数の宛先リンクディレクトリ（それぞれが他の装置と関連付けられている）を含んでもよい。各宛先リンクディレクトリは、その装置上にあるかまたはその装置にアクセス可能なファイル記憶領域である。この場合は、この方法はまた、宛先リンクディレクトリに少なくとも１つのデータファイルが格納されていることを検出するとともに、検出に応じて検出されたデータファイルを関連装置に転送することを開始するステップを含む。
【００６８】
好適実施例によると、この方法はまた、少なくとも１つのリモート装置のリスト中の各リモート装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを定期的に判定するステップと、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されている少なくとも１つのリモート装置のリスト中の各リモート装置を検査するステップとを含む。選択された宛先装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されていない場合、宛先装置がローカル装置にアクセス可能な通信経路にアクティブに接続されるようになるときまで、ファイル転送は延期される。
【００６９】
好適実施例によると、この方法はまた、リモート装置の少なくとも１つにあるディレクトリ（このディレクトリは割り当てられた宛先と関連付けられる）をポーリングするステップと、ディレクトリ内のすべてのデータがローカル装置に転送されることを要求するステップとを含む。よって、複数のリモート装置へとほぼ同時にポーリングされ、データは複数のリモート装置のすべてからローカル装置へとほぼ同時に転送される。さらに、データは割り当てられた宛先に転送する。
【００７０】
確立された接続はまた、２つ以上の接続を含み、各接続が、異なる対のリスニングポートを介して２つの装置の間で行われてもよい。この場合、各装置は、所定範囲内の利用可能なポートからリスニングポートを選択する。
【００７１】
ローカル装置と少なくとも１つのリモート装置との間のデータ転送を可能にする他のファイル転送方法が提供される。この方法は、各装置の中に存在する予め確立されたリスニングポートを介してリモート装置との接続を確立するステップと、リスニングポートを介してリモート装置から第１データポートのアドレスを受信するステップと、ローカル装置内で対応する第２データポート（リモート装置内の第１データポートに対応する）を動的に割り当てるステップであって、各装置内の各データポートがデータ転送を可能にするものであるステップと、データポートを介して接続された装置の間でデータを転送するステップとを含む。よって、データは、動的に割り当てられたデータポートを介して複数のリモート装置にほぼ同時に転送される。接続を確立した後で、データ転送特徴が送信されてよい。さらに、各ローカル装置は、複数の装置との間でデータをほぼ同時に送受信してもよい。
【００７２】
この方法はまた、データ転送が上首尾に完了した時点で、データ転送を受信した装置からデータを転送した装置に、発信地、宛先および上首尾完了情報を含む受信通知を生成かつ送信するステップを含んでもよい。さらにこの方法は、発信地、宛先および上首尾完了情報についての受信通知を検証する独立証明プロセッサと通信するステップを含んでもよい。独立証明プロセッサは、データ転送が上首尾に完了した時点で、データ転送を発信した装置に検証証明を送信する。よって、データ転送を受信した装置は、データ転送が上首尾に完了した時点で、独立証明プロセッサに対して受信通知を生成かつ送信する。
【００７３】
好ましくは、ソケットデータ構造は動的に管理され、かつ各データポートはソケットデータ構造によって表される。さらに各装置は、データ転送の流れを管理するためにリンクリストにソケットデータ構造を格納してもよい。リンクリストは、ほぼ同時のデータ転送を可能にするためにトラバースされる。
【００７４】
この方法はまた、データ転送クレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントにデビットするために各データ転送を検出するステップを含んでよい。データ転送は、転送を開始する装置が十分なクレジットを有している場合にのみ許可される。
【００７５】
この方法はまた、装置からの追加クレジットの要求に応じて外部クレジットプロセッサから追加クレジットを要求するステップを含んでもよい。この場合、外部クレジットプロセッサは、要求装置の課金情報を検査して、課金情報の妥当性が確認された場合に追加クレジットを分配する。
【００７６】
この方法はまた、初期接続を介してリモート装置によって要求され得るインデックスを定義するステップを含んでもよい。インデックスは、リモート装置がデータ転送を介してそのコピーを要求できる少なくとも１つのファイルと、関連宛先とを含む。要求装置は、インデックスの要求が送信される先のリモート装置を選択することを許可されてもよい。要求が選択されたリモート装置に送信されると、リモート装置は要求装置にインデックスを戻し、要求装置は記憶装置にインデックスを格納する。インデックスにリストされたいずれかのファイルが要求装置によって選択されると、要求装置は、選択されたファイルのコピーがリモート装置から転送されることを要求する。リモート装置は、要求に応じて各ファイルを転送する。
【００７７】
好適実施例によると、各装置は、可変数の宛先リンクディレクトリ（それぞれが他の装置と関連付けられる）を含んでもよい。各宛先リンクディレクトリは、その装置上にあるかまたはその装置がアクセスできるファイル記憶領域である。この場合、この方法はまた、宛先リンクディレクトリに少なくとも１つのデータファイルが格納されていることを検出するステップと、検出に応じて検出されたデータファイルを関連装置に転送することを開始するステップとを含む。
【００７８】
好適実施例によると、この方法はまた、少なくとも１つのリモート装置のリスト中にある各リモート装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを定期的に判定するステップと、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されている少なくとも１つのリモート装置のリスト中の各リモート装置を検査するステップとを含む。選択された宛先装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されていない場合、宛先装置がローカル装置にアクセス可能な通信経路にアクティブに接続されるようになるときまで、ファイル転送は延期される。
【００７９】
好適実施例によると、この方法はまた、リモート装置の少なくとも１つにあるディレクトリ（このディレクトリは割り当てられた宛先に関連付けられている）をポーリングするステップと、ディレクトリ内のすべてのデータがローカル装置に転送されることを要求するステップとを含む。よって、複数の装置がほぼ同時にポーリングされ、データは複数のリモート装置のすべてからローカル装置にほぼ同時に転送される。さらにデータは、割り当てられた宛先に転送する。
【００８０】
少なくとも１つのリモート装置によってデータを転送するファイル転送装置が提供される。ファイル転送装置は少なくとも１つのリスニングポートを含み、これを介してリモート装置と制御接続が確立される。制御接続は、データを転送するためのリモートデータポートを決定するために使用され、各データポートがデータ転送を可能にする。少なくとも１つの動的に割り当てられたデータポートは、リモートデータポートによるデータ転送のためのものであり、データは、動的に割り当てられたデータポートを介して複数のリモート装置によってほぼ同時に転送される。制御接続はさらに、データ転送特徴を交換するために使用されてもよい。さらに、各装置は、複数の装置との間でデータをほぼ同時に送受信してもよい。
【００８１】
ファイル転送装置はまた、受信通知を生成かつ送信する受信通知システムを含んでもよい。受信通知は、典型的には、発信地、宛先および上首尾完了情報を含み、データ転送が上首尾に完了した時点で、データ転送を受信した装置からデータを転送した装置に送信される。
【００８２】
ファイル転送装置はまた、発信地、宛先および上首尾完了情報の受信通知を検証する独立証明プロセッサと通信する証明システムを含んでもよい。独立証明プロセッサは、データ転送が上首尾に完了した時点で、データ転送を発信した装置に検証証明を送信する。受信通知システムはまた、データ転送が上首尾に完了した時点で、データ転送を受信した装置から独立証明プロセッサに対して受信通知を生成かつ送信する。
【００８３】
好ましくは、ソケットデータ構造は動的に管理され、かつ各データポートはソケットデータ構造によって表される。さらに、各装置は、データ転送の流れを管理するためにリンクリストにソケットデータ構造を格納してもよい。リンクリストは、ほぼ同時のデータ転送を可能にするためにトラバースされる。
【００８４】
ファイル転送装置はまた、データ転送クレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントからクレジットを控除するために各データ転送を検出するクレジットシステムを含んでもよい。データ転送は、転送を開始する装置が十分なクレジットを有している場合にのみ許可される。装置で利用可能なクレジットの数は、装置上で動的に表示されてもよい。
【００８５】
好適実施例によると、送信装置は、選択されたデータを送信前に暗号化する暗号化システムを含む。さらに、受信装置は、各暗号化されたファイルを受信時に解読する解読システムを含む。データ転送クレジットは、定まった数のクレジットを備えている。送信装置におけるクレジットの数は、暗号化を用いてデータ転送が上首尾に行われる毎に、少なくとも１つの追加クレジットだけ修正される。
【００８６】
ファイル転送装置はまた、装置からの追加クレジットの要求に応じて外部クレジットプロセッサから追加クレジットを要求するクレジット要求システムを含んでもよい。外部クレジットプロセッサは、要求装置の課金情報を検査して、課金情報の妥当性が確認された場合に追加クレジットを分配する。
【００８７】
ファイル転送装置はまた、接続を介してリモート装置による要求のインデックスを定義するインデックスシステムを含んでよい。インデックスは、少なくとも１つの宛先と関連付けられ、かつリモート装置が要求できる少なくとも１つのファイルを表す情報をリストする。関連宛先に対応する装置は、インデックスに独占的にアクセスすることができる。インデックスの要求が送信される先の特定のリモート装置を選択することを要求装置に許可するインデックス要求システムが提供されてよい。要求は、選択されたリモート装置に送信される。この要求に応じて、リモート装置は、要求装置にインデックスを戻す。次に、要求装置は、記憶装置にインデックスを格納する。要求装置によって選択されたインデックスにリストされた各ファイルに応じて、選択されたファイルのコピーがリモート装置から転送されることを要求することを要求装置に許可するインデックス転送システムが提供されてもよい。リモート装置は、要求に応じて各ファイルを転送する。
【００８８】
各装置はまた、他の装置と関連付けられる可変数の宛先リンクディレクトリを含んでもよい。各宛先リンクディレクトリは、その装置上にあるかまたはその装置にアクセスできるファイル記憶領域である。そして、宛先リンクディレクトリに少なくとも１つのデータファイルが格納されていることを検出するとともに、検出に応じて検出されたデータファイルを関連装置に転送することを開始する、宛先リンクディレクトリ管理システムが提供される。
【００８９】
ファイル転送装置はまた、ローカル装置をして、リモート装置の少なくとも１つにあるディレクトリをポーリングさせる並行ポーリングシステムを含んでもよい。ディレクトリは、割り当てられた宛先に関連付けられる。ローカル装置は、ディレクトリ内のすべてのデータがローカル装置に転送されることを要求する。よって、複数のリモート装置がほぼ同時にポーリングされ、データはリモート装置のすべてからローカル装置へとほぼ同時に転送される。さらにデータは、割り当てられた宛先に転送する。
【００９０】
少なくとも１つのリモート装置によってデータを転送する他のファイル転送装置が提供される。ファイル転送装置は、少なくとも１つのリモート装置から制御接続を受信する少なくとも１つのリスニングポートを含む。装置はまた、リモート装置によるデータ転送のために動的に割り当てられた少なくとも１つのデータポートを含み、各データポートがデータ転送を可能にする。制御接続は、動的に割り当てられた少なくとも１つのデータポートのアドレスを送信するために利用される。よって、データは、動的に割り当てられたデータポートを介して複数のリモート装置によってほぼ同時に転送されてもよい。制御接続はさらに、データ転送特徴を受信するとともに、リモート装置の識別情報を検証することによってリモート装置を認証するために利用されてもよい。識別情報は、リモート装置から送信される。各装置は、データをほぼ同時に送受信してもよい。
【００９１】
制御接続は、リモート装置の識別情報を第１装置に格納された宛先識別リストと比較し、かつ宛先識別リスト内にない装置からのデータ転送を禁止する選択的受入れシステムを含んでもよい。
【００９２】
ファイル転送は、受信通知を生成かつ送信する受信通知システムを含んでもよい。受信通知は、典型的には、発信地、宛先および上首尾完了情報を含み、データ転送が上首尾に完了した時点で、データ転送を受信した装置からデータを転送した装置に送信される。
【００９３】
ファイル転送装置はまた、発信地、宛先および上首尾完了情報についての受信通知を検証する独立証明プロセッサと通信する証明システムを含んでもよい。独立証明プロセッサは、データ転送が上首尾に完了した時点で、データ転送を発信した装置に検証証明を送信する。受信通知システムはまた、データ転送が上首尾に完了した時点で、データ転送を受信した装置から独立証明プロセッサに受信通知を生成かつ送信する。
【００９４】
好ましくは、ソケットデータ構造は動的に管理され、各データポートはソケットデータ構造によって表される。さらに、各装置は、データ転送の流れを管理するためにリンクリストにソケットデータ構造を格納してもよい。リンクリストは、ほぼ同時のデータ転送を可能にするためにトラバースされる。
【００９５】
ファイル転送装置はまた、データ転送クレジットを保守かつ監視するとともに、データ転送が上首尾に行われた後で、クレジットアカウントにデビットするために各データ転送を検出するクレジット要求システムを含んでもよい。データ転送は、転送を開始する装置が十分なクレジットを有している場合にのみ許可される。装置のために利用可能ないくつかのクレジットが装置上に動的に表示されてもよい。
【００９６】
好適実施例によると、送信装置は、選択されたデータを送信前に暗号化する暗号化システムを含む。さらに、受信装置は、各暗号化されたファイルを受信時に解読する解読システムを含む。データ転送クレジットは、定まった数のクレジットを備えている。送信装置におけるクレジットの数は、暗号化を用いてデータ転送が上首尾に行われる毎に、少なくとも１つの追加クレジットだけ修正される。ファイル転送装置はまた、装置からの追加クレジットの要求に応じて外部クレジットプロセッサから追加クレジットを要求するクレジット要求システムを含んでもよい。外部クレジットプロセッサは、要求装置の課金情報を検査して、課金情報の妥当性が確認された場合に追加クレジットを分配する。
【００９７】
ファイル転送装置はまた、接続を介してリモート装置による要求のインデックスを定義するインデックスシステムを含んでもよい。インデックスは、少なくとも１つの宛先と関連付けられ、リモート装置が要求できる少なくとも１つのファイルを表す情報をリストする。関連宛先に対応する装置は、インデックスに独占的にアクセスすることができる。インデックスの要求が送信される先の特定のリモート装置を選択することを要求装置に許可するインデックス要求システムが提供されてもよい。要求は、選択されたリモート装置に送信される。この要求に応じて、リモート装置は、要求装置にインデックスを戻す。次に要求装置は、記憶装置にインデックスを格納する。要求装置によって選択されているインデックスにリストされた各ファイルに応じて、選択されたファイルのコピーがリモート装置から転送されることを要求することを要求装置に許可するインデックス転送システムが提供されてもよい。リモート装置は、要求に応じて各ファイルを転送する。
【００９８】
各装置はまた、他の装置と関連付けられる可変数の宛先リンクディレクトリを含んでもよい。各宛先リンクディレクトリは、その装置上にあるかまたはその装置にアクセスできるファイル記憶領域である。そして、宛先リンクディレクトリに少なくとも１つのデータファイルが格納されていることを検出するとともに、検出に応じて検出されたデータファイルを関連装置に転送することを開始する、宛先リンクディレクトリ管理システムが提供される。
【００９９】
ファイル転送装置はまた、ローカル装置をして、リモート装置の少なくとも１つにあるディレクトリをポーリングさせる並行ポーリングシステムを含んでもよい。ディレクトリは、割り当てられた宛先に関連付けられる。ローカル装置は、ディレクトリ内のすべてのデータがローカル装置に転送されることを要求する。よって、複数のリモート装置がほぼ同時にポーリングされ、データはリモート装置のすべてからローカル装置にほぼ同時に転送される。さらに、データは、割り当てられた宛先に転送する。
【０１００】
ファイル転送装置は、少なくとも１つのリモート装置のリスト中の各リモート装置が、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されているか否かを定期的に判定するアクティブ接続監視システムと、ローカル装置にアクセス可能な通信経路に現在アクティブに接続されている少なくとも１つのリモート装置のリスト中の各リモート装置を検査する検査システムと、選択された宛先装置がローカル装置にアクセス可能な通信経路に現在アクティブに接続されていない場合に、宛先装置がローカル装置にアクセス可能な通信経路にアクティブに接続されるようになるときまで、ファイル転送を延期する監視システムとを含んでもよい。
【０１０１】
可変数の装置の間でデータファイルを引き渡すためのデータファイル引渡システムが提供される。データファイル引渡システムは、可変数のピアシステムを含む。各ピアシステムは、制御データを交換するための少なくとも１つのリスニングポートを開けるための接続交渉システムを有する。各ピアはまた、データファイルを交換するための可変数のデータポート（それぞれが宛先と関連付けられている）を開けるためのデータ接続システムと、ファイルソースとして指定された少なくとも１つのピアシステム上に存在する可変数のデータファイルを選択するためのファイル選択システムと、選択されたデータファイルを受信するための可変数の宛先を選択するための宛先選択システムとを含む。少なくとも、ファイルソースは、データポートに対応する可変数のデータ通信経路を通して選択されたデータファイルを非記憶送信するめの送信システムを有する。宛先はそれぞれ、非記憶送信を介して送信されたファイルを非記憶受信するための受信システムを有する。少なくともファイルソースまたは宛先は、ファイルソースまたは宛先のいずれかから、少なくとも１つのリスニングポートに対応する少なくとも１つの通信交渉経路を介して、送信システムの操作を開始するための開始システムを含む。各ファイルソースはまた、送信システムが作動するのと同時に後続のファイルソースとして機能する少なくとも１つの他のピアシステムによる非記憶送信を介して送信されるファイルの非記憶受信のための受信システムを有する宛先である。
【０１０２】
各ピアはまた、可変数の宛先リンクディレクトリ（それぞれが他の装置と関連付けられている）を含んでもよい。各宛先リンクディレクトリは、その装置上にあるかまたはその装置にアクセスできるファイル記憶領域である。各ピアはまた、対応するファイル記憶領域に少なくとも１つのデータファイルが格納されていることを検出するとともに、検出に応じて送受信システムの操作を開始するための開始システムを制御するための宛先リンクディレクトリ管理システムを含む。
【０１０３】
各ピアシステムはまた、選択されたファイルの非記憶受信が上首尾に完了した時点で、データポートに対応する非記憶通信経路を通して、選択されたファイルを受信する各宛先ピアシステムからファイルソースピアシステムへと、発信地、宛先および上首尾完了情報を含む受信通知を生成かつ送信するための受信通知システムを含んでもよい。
【０１０４】
このシステムはまた、発信地、宛先および上首尾完了情報についての受信通知を調査かつ検証するための第三者トランザクション証明プロセッサを含んでもよい。第三者トランザクション証明プロセッサはまた、選択されたファイルの非記憶受信が上首尾に完了した時点で、第１追加データポートに対応する第１追加非記憶通信経路を通して、検証証明データファイルをファイルソースピアシステムに送信する。受信通知システムは、選択されたファイルの非記憶受信が上首尾に完了した時点で、第２追加データポートに対応する第２非記憶通信経路を通して、選択されたファイルを受信する各宛先ピアシステムから第三者トランザクション証明プロセッサに対して受信通知を生成かつ送信する。
【０１０５】
各ピアシステムはまた、ファイル引渡クレジットを保守かつ監視するためのファイルクレジット監視システムを含んでもよい。ファイルクレジット監視システムは、選択されたファイルの各非記憶送信を検出するとともに、非記憶送信に基づくファンクションに従って関連ピアシステム上のクレジットアカウント変数にデビットする。システムはまた、クレジット要求を受信するとともに、クレジット要求を受信しかつクレジット認証ファンクションに対するクレジット要求の比較が上首尾に行われた時点で、ピアシステムのうちの関連付けられた１つのピアシステムのクレジットアカウント変数を増やすための、クレジットプロセッサを含んでもよい。ファイルクレジット監視システムは、ピアシステムの１つからクレジットプロセッサに対してクレジット要求を生成かつ送信する。
【０１０６】
各ピアシステムはまた、ピアシステム上のファイルのインデックスを生成するためのインデックス生成システムと、可変数のピアシステムのいずれか１つからファイルのインデックスを要求かつ検索するインデックス要求システムと、可変数のピアシステムのいずれかから検索されたファイルのインデックスから可変数のファイルのサブセットを選択するサブセット選択システムと、可変数のピアシステムのいずれか１つからピアシステムにサブセットを転送するために送受信システムの操作を開始するためのファイルサブセット要求システムとを含んでもよい。
【０１０７】
各ピアシステムはまた、複数のデータポートに対応する複数の通信経路を通して、選択されたファイルのほぼ並行かつ同時の非記憶送信および非記憶受信のための可変数の送受信システムのほぼ並行かつ同時の操作を管理するための送受信管理システムを含んでもよい。
【０１０８】
通信経路を介したデータ転送は、通信経路を確立するための必要なもの以外の中間コンピュータにはログオンせず、宛先コンピュータにログオンせず、介在するコンピュータ上に送信ファイルを中間格納せずに行われる。データポートを介した宛先との接続は、制御データとともに受信された宛先アドレスに対して行われる。好適実施例によると、ファイルが宛先と関連付けられた所定のディレクトリに保存されると、ファイルは宛先に転送される。
【０１０９】
少なくとも１つの通信経路を通して、少なくとも１つのローカルコンピュータと少なくとも１つのリモートコンピュータのリストから選択された少なくとも１つのリモートコンピュータとの間でファイルを転送するための、他のファイル転送システムが提供される。このファイル転送システムは、少なくとも１つのリモートコンピュータに転送するためにローカルコンピュータに格納された少なくとも１つのファイルを選択するファイルセレクタと、ファイルが転送される先の宛先コンピュータとして指定された少なくとも１つのリモートコンピュータを少なくとも１つのリモートコンピュータのリストから選択する宛先セレクタと、中間コンピュータ上に選択されたファイルを格納せずに通信経路を介して宛先コンピュータに選択されたファイルを転送する送信器と、転送されたファイルを受信する受信器とを含む。
【０１１０】
システムはまた、所定のリスニングポートを介してローカルコンピュータと宛先コンピュータとの間の接続を確立する初期接続システムを含む。少なくとも１つの所定のリスニングポートが各コンピュータに存在する。データ転送特徴は、初期接続の間に交換される。ローカルコンピュータおよび宛先コンピュータの識別は、各コンピュータの識別情報を検証することによって認証される。
【０１１１】
システムはまた、宛先コンピュータ内のソケットデータ構造によって表される第１データポートを動的に割り当てる第１アロケータと、所定のリスニングポートを介してローカルコンピュータに第１データポートのアドレスを送信する第１送信器と、宛先コンピュータ内の第１データポートに対応するローカルコンピュータ内のソケットデータ構造によって表される第２データポートを動的に割り当てる第２アロケータ（第１データポートと第２データポートの各対は各リスニングポート接続に応じて動的に割り当てられる）と、データポートを介して接続されたコンピュータの間でデータを送信する第２送信器とを含む。データは、動的に割り当てられたデータポートを介して可変数のコンピュータの間でほぼ同時に転送される。各コンピュータは、データをほぼ同時に送受信することができる。各コンピュータは、ほぼ同時のデータ転送を可能にするようにソケットデータ構造を動的に管理する。
【０１１２】
システムはまた、ファイル転送が上首尾に完了した時点で、ファイル転送を受信したコンピュータからファイルを転送したコンピュータへと、発信地、宛先および上首尾完了情報を含む受信通知を生成かつ送信する生成器と、独立証明プロセッサとを含む。
【０１１３】
システムはまた、発信地、宛先および上首尾完了情報についての受信通知を検証する独立証明プロセッサと通信する第３送信器を含む。独立証明プロセッサは、ファイル転送が上首尾に完了した時点で、ファイル転送を発信したコンピュータに検証証明を送信する。
【０１１４】
システムはまた、ファイル転送クレジットを保守かつ監視するとともに、ファイル転送が上首尾に行われた後で、クレジットアカウントにデビットするために各ファイル転送を検出するクレジットシステムを含む。ファイル転送は、転送を開始するコンピュータが十分なクレジットを有している場合にのみ許可される。
【０１１５】
システムはまた、コンピュータからの追加クレジットの要求に応じて外部クレジットプロセッサから追加クレジットを要求するクレジット要求システムを含む。外部クレジットプロセッサは、要求側のコンピュータの課金情報を検査して、課金情報の妥当性が確認された場合に追加クレジットを分配する。
【０１１６】
以下の詳細な説明においては、指定の図面を参照しつつ、本発明の非限定的な好適実施例を例示することにより、本発明をさらに詳細に説明するが、かかる説明で、図面の数種の図すべてについて同様の符号は類似の部分を示すものとし、
【発明の好適実施例の詳細な説明】
図1は、本発明の一つの好適実施例の概略図であり、限定された台数のパーソナル・コンピュータ(PC)10が通信経路に接続されるシステムアーキテクチャを示すが、PC10は限定されることなく何台でも接続可能である。図1は、PC10が、ある一つの通信経路(例えば、インターネット)、別の通信経路(例えば、公衆切換電話ネットワークPSTN)、または同時に複数の通信経路(例えば、インターネットおよび公衆切換電話ネットワークPSTN)に接続されて、これを使用し得ることを示す。図1の好適実施例には複数のPC10が含まれ、PC10の上限台数の制限はない。それぞれのPC10は、インターネットおよび／または公衆切換電話ネットワークPSTNに接続されるものとして示されるが、私設のイントラネットまたはエキストラネットなど別の通信経路を用いてもよい。
【０１１７】
それぞれのPC10は、通信経路に接続される、「IBM対応」x86またはPentiumクラスの機器(但しこれに限定されない)とする。しかしながら、ハンドヘルド計算機、テレビ機トップボックス、移動電話、着用式コンピュータ、無線計算装置など、ネットワークに接続可能でオペレーティングシステムを使用するその他の装置を利用してもよい。当然ながら、Pentiumクラスよりも高機能なコンピュータは使用可能である。それぞれのPC10は、ディスプレイモニタ、ROMおよびRAMなどのメモリ、ファイル記憶装置、キーボード、ポインティング装置、通信インターフェース、および「ドラッグ・アンド・ドロップ」機能を有するグラフィックユーザインターフェースGUIオペレーティングシステムを含むことができる。好適には、オペレーティングシステムは、Microsoft Windows NT、Windows 95、Windows 98、またはWindows 3．1xとし、これらは全てマイクロソフト コーポレーションから入手可能である。しかしながら、オペレーティングシステムは、アップル コンピュータ インク（Apple Computer, Inc．）から入手可能なMac OS、Solaris、X windowsなど、その他のグラフィック指向オペレーティングシステムとしてよい。
【０１１８】
それぞれのPC10は、図2ないし9および図11ないし13に示す機能モジュールを組み込んだコンピュータプログラムを実行し、下記の図15ないし24に示すウィンドウなどのウィンドウからなるGUIを有する。コンピュータプログラムおよびグラフィカル・ユーザ・インターフェースを実行するPC10を含む、図1に示すファイル転送システムによりこれら相互に接続されるPC10間で、互いのPC10にログインする必要なしに、また介在するコンピュータ上にファイルを中間的に格納する必要なしに、電子ファイルを直接転送することが可能となる。また、クレジット要求プロセッサ16および独立証明プロセッサ18も備えてよく、これらについては下記に述べる。
【０１１９】
GUIは、マイクロソフトウィンドウズ（Microsoft Windows）などのウィンドウ化された環境用に設計されたコンピュータシステムにより生成される。GUIは、システム通信およびGUIからアクセスされる機能を制御するモジュール、並びにディスプレイウィンドウの呼出もしくは作成を行うグラフィックスモジュールからなる。例示的ディスプレイウィンドウは、送信可能なファイルの候補を示す送信ウィンドウ、ファイルを送信可能である宛先PC候補を表示する宛先ウィンドウ、および送信または受信された送信ファイルを表示するイベントログウィンドウを含む。また、GUIは、会話ウィンドウを通じシステム操作条件を初期化し、かつ呼び出すためのユーザ制御を与える。
【０１２０】
本発明のコンピュータシステムおよびグラフィカルユーザインターフェースの好適実施例の操作機能を、送信PCおよび受信PCの両方の見地から下記にさらに詳細に説明する。この説明はソフトウェアに関するものであるが、本発明は、ファームウェア、ハードウェアとソフトウェアの組み合わせ、あるいは固定機能機器またはアプリケーション特定集積回路などのハードウェアのみによっても実施され得る。ファイル転送を行うために、本発明の好適実施例によるコンピュータプログラムは、かかる通信が試みられる間、送信PCおよび受信PCのいずれにおいても作動していなければならない。その他必要な操作条件には、以下が含まれる。インターネット、イントラネット、エキストラネットとのアクティブな接続、またはPSTNとのモデム接続。送信PCおよび受信PCのいずれにおいても「電源オン」またはスタンドバイの状態にあること。並びに、Microsoft Windows NT、 Windows 95、またはWindows 3．１などのウィンドウ化されたオペレーティングシステムが、送信PCおよび受信PCのいずれにおいてもインストールされ、作動すること。
【０１２１】
ある好適実施例において、制御モジュールは、接続される通信経路を通じてファイルの送受信を管理および監督する。また、送信ウィンドウは、ファイル記憶装置に格納されるファイルのリストを表示する。送信ウィンドウが、選択された後に、グラフィックオブジェクトにドラッグ・アンド・ドロップされた場合には、ウィンドウ化されたオペレーティングシステムのドラッグ・アンド・ドロップ機能は、関連ファイル構造を有するファイルのリストを内部に作成する。内部リストは、オペレーティングシステムにより、グラフィックオブジェクトにて示される宛先オブジェクトにリンクされる。
【０１２２】
ある好適実施例において、それぞれの宛先PCは、ユーザが作成した「ニックネーム」として宛先ウィンドウ内に表示される。さらに、個々のニックネームはグラフィックオブジェクトであってよく、このグラフィックオブジェクトはユーザにより呼び出され、コンピュータプログラム・モジュールにより生成され、宛先アドレス(IPアドレスまたはPSTNアドレス)およびコンピュータプログラム・サブルーチンにリンクされる。ファイルが、宛先ウィンドウ内の宛先オブジェクト上にドラッグ・アンド・ドロップされた場合に、関連ファイル構造を有するファイルリストがオペレーティングシステムにより作成され、制御モジュールは会話ボックスを表示し、ファイルリスト中に含まれる選択されたファイルが選択された宛先へと送られる旨を確認するよう、ユーザに対してプロンプトする。
【０１２３】
ある好適実施例において、ユーザが送信するファイルを確認した後に、圧縮制御モジュールは圧縮サブルーチンを呼び出し、かかる圧縮サブルーチンによりファイルリスト中に含まれるファイルがコピーおよび圧縮され、圧縮されたファイルパケットがPCのファイル記憶装置に格納される。本発明の文脈上、「ファイルパケット」は、好適にはグループ化されて圧縮されたファイル集合体であり、多重化またはフレーム送信用「パケット」ではない。続いて、制御モジュールは、保留イベントログファイルに対し、パケット名並びに選択された宛先オブジェクトにリンクされるアドレスを送信する。
【０１２４】
その後、制御モジュールは、所定時刻に適切な通信経路を通じて宛先PCとの接続を初期化し、送信PCをその名称および宛先アドレスにより特定した後に、リンクされた宛先アドレスに対し、圧縮済みのファイルを含むパケットを、接続される通信経路を通じて送信する。続いて、パケット送信が完了すると、制御モジュールは、イベントログウィンドウ内に日付、時刻、内容(ファイル名および関連ファイル構造を含んでよい)別に表示を行う。
【０１２５】
上記の所定時刻は、ユーザにより選択される。このように、送信するファイルを選択した後に、ユーザは、転送をスケジューリングし、直ちにこれを実施するか、または後続の時間および/または日付に実施するようにしてよい。ファイル転送を後で行うようスケジューリングした場合には、パケットファイル名および宛先アドレスは、指定した日付および時刻まで保留イベントログファイル中に残る。
【０１２６】
好適実施例において、制御モジュールは着信したファイル送信に応答し、関連ファイル構造を用いて、送信されたファイルを捉え、圧縮解除し、コンピュータファイル記憶装置へと書き込み、受信ファイルリストを作成し、この受信ファイルリストは格納されたファイルにリンクされ、日付、時刻および内容を示してイベントログウィンドウに表示される。さらに制御モジュールは、パケットが宛先パケットによりいつ受信されたかを可視的に示す連続的なシーケンスを初期化する。ユーザが選択する、イベントログウィンドウ内に列挙される受信ファイルは、受信されたファイルの種類と関連付けられるアプリケーションを立ち上げる。
【０１２７】
システム制御：図2および図15
本発明の好適実施例によると、相互に接続されるPC10上で作動するコンピュータプログラムおよびグラフィカルユーザインターフェースは、システム制御およびユーザインタラクションを提供する。図2に示す主要制御モジュールは、自動化されたシステム機能、並びにグラフィカルユーザインターフェースを通じてアクセスされる機能のために提供される。ユーザがグラフィカルユーザインターフェース1を通じてコンピュータプログラムを起動すると、主要制御モジュールは、ステップS2において、システム可変事項を初期化し、システムオペレーションに必要なDLLファイルをリンクさせる。
【０１２８】
DLLとは、動的リンクライブラリであり、アプリケーションプログラムにより呼び出された機能を格納するための標準的なマイクロソフトウィンドウズ規則である。DLLは、ウィンドウズオペレーティングシステム、ソフトウェア販売業者から入手したアプリケーションプログラムインターフェース(API)、または特定のアプリケーション用に書き込まれた機能の一部であってよい。表1は、本発明のための例示的DDLおよびその目的を示す図である。
表1
種類                            目的
ウィドウズ標準dll
ユーザ                      GUIインターフェース
シェル                      ドラッグ・アンド・ドロップサポート
カーネル                    ファイルおよびメモリ機能
ツールボックス機能
tb50dos．Dll                ファイルおよびディレクトリサポート
tb50win．dll                高レベルGUIサポート
tb50dlg．Dll                通常会話機能
第三者API
saxcom 10．Dll              モデムファイル転送機能
compress．Dll                圧縮機能
カスタムDLL
adis．Dll                    宛先ブック機能
インデックス作成機能
hyper．Dll                  ログ機能
ftpip．Dll                  インターネットファイル転送機能
Saxcom 10．dllは、オレゴン州ユージーン所在のサックス ソフトウェア コーポレーション（Sax Software Corporation）から入手可能であり、これはZmodemを含むアナログ電話と一緒に使用するためにいくつかのファイル転送プロトコルを実施する。
【０１２９】
それぞれのPCにおける主要制御モジュールの操作の中心は、保留イベントファイルである。保留イベントファイルは、ユーザインタラクションまたは相互に接続される他のPC10からの要求により初期化されるイベントのリストを含む。ステップS3において、主要制御モジュールは、保留イベントファイルの内容を監視し、保留送信イベントが存在するかどうかを判定する。保留送信イベントが検出された場合には、主要制御モジュールは、下記に図3を参照しつつ説明するファイル送信モジュールを呼び出す。ステップS4でファイル送信モジュールが実行されるか、あるいはステップS3で保留送信イベントが検出されない場合には、保留イベントファイルは再び監視され、保留受信イベントがステップS5で存在するかどうかが判定される。保留受信イベントがステップS5で検出された場合には、主要制御モジュールは、ステップS6において、下記に図4を参照しつつ説明するファイル受信モジュールを呼び出す。さもなくば、ファイル受信モジュールの実行後、ステップS7でユーザイベントが処理される。
【０１３０】
ユーザイベントは、グラフィカルユーザインターフェース1により提供されるコントロールウィンドウとのユーザインタラクションに対応して発生し、これにより得られたコンピュータプログラム機能は、かかるユーザインタラクションにより初期化される。一例としてのユーザイベントは、ユーザが選択したファイルのファイル転送のスケジューリングを行う。一例としてのイベントは図2に示すモジュール2ないし7から発生することが示される。モジュール2ないし7は、グラフィカルユーザインターフェースからそれぞれ呼び出される。ユーザイベントの処理は、モジュール特定ロジックの実行を伴い、下記にこの処理を説明する。
【０１３１】
ステップS9において、下記に図17を参照しつつ説明する機能により、インターネットプロトコル(IP)接続がチェックされる。続いて、ロジックはステップS3へと戻り、上記を繰り返す。
【０１３２】
図15に示すディスプレイ画面では、完了されたイベントおよび保留イベント24のいずれも、図15に示すようなイベントログウィンドウ内にビューすることができる。さらに、ファイル転送は、送信PCおよび受信PCの両方において転送の日付、時刻、内容を記録しつつログされる。イベントログウィンドウ上部の個々のタブ20をクリックすることにより、選択されたタブ(例えば、失敗、保留など)上に示される選択された特性を有する全てのイベントが表示される。解読ボタン21は、送信者により暗号化されたファイルを解読する機能(下記に説明する)を立ち上げる。解読は、ファイル転送システム中に組み込まれる暗号化／解読プログラムの機能に応じて、手による操作なしにこれを行うことができる。クローズログボタン22は、イベントログウィンドウを閉じる。好適には、イベントログウィンドウの内容には、各イベントに関し、以下のものが含まれるものとする。ファイルの送信者および受信者、ファイル転送が行われた日付および時刻、当該イベントは送信されたイベントまたは受信されたイベントのいずれであったか、およびファイルの転送状態。一例として、ファイル転送のイベントは、完了した転送、保留される転送および不首尾に終わった転送である。ファイルが読まれたかを示すために、追加の記号、例えばRまたはU、を表示してよい。追加の記号を用いる場合には、Rはファイルが既に読まれたこと、またUはファイルが未読であることを意味する。
【０１３３】
ファイル転送システム：図3および図4参照
本発明の主たる内容は、ファイル転送システムである。このシステムには、いくつかの部分がある。第一に、ウィンドウズソケッツ（Windows Sockets ）システムが挙げられる。本発明では、相互に接続されるPCの一つから別のPCへとファイルを送信するためには、それぞれのPCは他のPCに関して通信要求を検出し得なければならない。通信要求を検出する好適なシステムにおいては、それぞれのPCについてソケットと呼ばれるデータ構造を少なくとも1つ形成し、それぞれのPCの特定のポートにおいて通信要求をリスニングするようにしなければならない。ある好適実施例では、１つのリスニングポートがポート789において形成される。しかしながら、相互に接続されるそれぞれのコンピュータプログラムの全てのバージョンが、転送を開始するためのポートを認識しこれに接続される限り、いずれのポートを用いてもよい。確立されたソケットにより、各PCが他のPCからの通信要求を継続的にリスニングする。
【０１３４】
ある好適実施例においては、サブルーチンを呼び出して、TCP／IP規格を用いて通信を可能とするソケットと呼ばれるデータ構造を形成することにより、PCの、TCP／IPを用いた、インターネットまたは私設インタラネットおよびエキスタラネットとの接続が確立される。リスニングソケットが確立されることにより、PCは、他のPCによって開始される着信通信要求がないか、インターネットまたは私設インタラネットおよびエキスタラネットを監視することができる。着信通信要求が検出されると、このような通信要求を受け入れる前に、受信PC中の制御モジュールがかかる要求を選択的受入条件に照らして評価する。すなわち、受信PCは、認証IDなどの条件に基づき、送信PCからの通信要求を受け入れるかどうかを自動的に決定する。受信PCは、認証されていない宛先PCからの通信については、これを終了させる。
【０１３５】
選択的受入条件は、システム初期化の最中に確立される。受信PCは、ユーザが指定するさまざまな条件に応じて、要求を受け入れるかどうかを評価する。例えば、受信PCは、宛先ファイル中のアドレスをチェックし、宛先ファイル中に列挙されるアドレスからの通信のみを受け入れてよい。あるいは、受信PCは、宛先ファイル中のアドレスをチェックし、選択されたシリアル番号を有するソフトウェアを使用するPCからの通信のみを受け入れてよい。例えば、各システムPCにおいて起動時に初期化されるライセンスコードを、宛先アドレスと共に自動的に用いて、着信する通信要求のソースIDをさらに認証することができる。あるいは、各システムPCにおいて起動時に初期化される、暗号化された認証コードを、宛先アドレスおよび/またはライセンスコードと一緒に自動的に用いて、着信する通信要求のソースIDをさらに認証することができる。ユーザは、インストールの際に受入条件を構成し、その後いつでも受入条件を変更することができる。
【０１３６】
好適実施例において、受信PCの制御モジュールが送信PCからの通信要求を受け入れた場合には、制御モジュールにより個別のソケットが送信PCおよび受信PCの両方で確立される。ファイル転送は、個別のソケットを通じて行われる。その間、送信PCおよび受信PCの両方におけるリスニングソケットは維持される。通信要求は、同時に行われかつ継続中である一または複数の送信を送信するかまたは受信するPCにより検出され、受け入れられるため、ファイル転送を同時に行うことを可能にする複数のソケットが、これらの通信要求を受信する各PCの制御モジュールにより形成される。好適実施例において、送信PCまたは受信PC中の制御モジュールは、同時に行われる追加の着信もしくは発信する通信のそれぞれについて、転送ソケットを1つ形成し、リンクされるリスト中にかかる転送ソケットを設ける。かかるリストにより、ファイル転送の流れを管理することが容易となる。このように、ローカルコンピュータが接続されるさまざまな通信経路を通じ、複数の別個の接続をリモートコンピュータについて確立することができる。
【０１３７】
次に、図3を参照しつつ、ファイル送信プロセスを説明する。まず、ステップS30において、当該ファイルを転送するために十分なクレジットが存在するかどうかが判定される。クレジットが十分であるかどうかについての分析は、下記に述べる。クレジットが不十分であることが判明した場合には、ステップS32において、下記に述べるとおり追加のクレジットを要求してよい。クレジットが十分であることが判明した場合には、ステップS34において転送をインターネット(またはイントラネット／エキストラネット)転送とすることが意図されるかどうかが決定される。
【０１３８】
転送がインターネット転送である場合には、別のソケットがステップS36で形成される。また、送信PCは、ポート789におけるリモートPCのリスニングソケットに接続される。別の送信が既に実行中である場合には、新たに形成されたソケットは、使用中のソケットにリンクされるリストに追加される。プログラムはリストをトラバースし、ソケットがアクションを行う時間を与える。このように、ほぼ同時に複数のトランザクションが起こり得る。実際の条件下では、システムが対処し得るトランザクションの数は、通信速度およびプロセッサの時間および速度などの要因次第である。
【０１３９】
ステップS38では、リモートPCとの接続が首尾よく行われたかどうかが判定される。接続が確立されていない場合には、ステップS40で、送信PCがそれ以前にリモートPCとの接続を試みたことがあるかどうかが判定される。接続の試みが以前行われた場合には、試みが上限回数まで行われたかどうかが判定される。好適実施例では、この回数を3回としている。このように、試みが3回(いかなる回数でも特定できる) 不首尾に行われた場合には、ステップS46でロジックは実行を終了し、エラーがログされてリモートPCとの接続を確立し得ないことが示される。あるいは、ローカルコンピュータをセットアップし、リモートPCが既知のアドレスにおいて通信経路とアクティブな接続を有するまでファイル転送を遅らせてもよい。試みの回数が許される上減回数よりも少ない場合には、送信PCはステップS36で再びリモートPCとの接続を試みる。
【０１４０】
接続が首尾よく確立された場合には、ステップS42において、送信PCは、送信されるファイルおよび送信PCに関する情報を送信することにより、リモートPCに対し送信の発信元を知らせる。その後に、送信PCは、ファイルを送信可能であるアドレスがリモートPCから送信されるのを待つ。リモートPCから受信したデータが有効なデータポート割当に対応する場合には、ロジックはステップS48へと進む。さもなくば、ロジックはステップS46へと進み、このステップにおいてロジックは実行を終了し、エラーがログされて無効であるとの回答が受信された旨が示される。
ステップS48で、有効なデータポート割当を受信した際には、新しいデータソケットが形成され、新しいデータソケットとリモートPCから受信したデータポート割当に対応するデータとの間に接続が設定される。さらに、タイムアウト・タイマーが開始され、ファイルの開始点が決定される。別の送信が既に実行中の場合には、新しく形成されたデータソケットは、データソケットのリンクされたリストに追加される。
【０１４１】
ステップS50で、データはリモートPCへと送信される。ある好適実施例では、転送されるファイルは、一度に2048バイトずつ送信される。こうして、最初の2048バイトがステップS50で送信される。ステップS50でデータが送信される都度、タイムアウトはゼロにリセットされる。タイムアウトが上限時間に達した場合には、接続は終了され、データソケットは破壊される。
【０１４２】
ステップS52では、好適には、他のデータソケットが、データソケットにリンクされたリスト中に存在するかどうかが判定される。他のデータソケットが存在する場合には、ステップS54で次のデータソケットと関連づけられるデータが送信され、ロジックは他のデータソケットが発見されなくなるまでステップS52から繰り返される。
【０１４３】
ステップS56では、ファイルの最後が到達したかどうかが判定される。ファイルの最後が到達していない場合には、ロジックはステップS50へと戻り繰り返される。ファイルの最後が到達した場合には、ステップS58で接続は終了され、データソケットは破壊されて、クレジット控除モジュールが呼び出される。最後に、ステップS60でイベントはログファイルに記録される。
【０１４４】
本発明の好適実施例では、ただ一つ指定されるユーザデータグラムプロトコル（User Datagram Protocol）(UDP)が、ポートに対し、ファイル特徴情報、ユーザ認証情報を交換しかつ転送を開始するようコマンドを出す。続いて、TCPデータポートが開かれ、ファイル内容が交換される。UDPコマンドポートを用いることにより、TCPポートに比べてより高速な接続およびより迅速なデータ転送が可能となる。しかしながら、TCPポートはデータ交換に関して信頼性がより高い。その結果、ファイルを送信するための好適なプロセスは以下のとおりとなる。
【０１４５】
1)送信者が、特定されたIPアドレスの宛先コンピュータにおける特定されたUDPコマンドポートに対し、ファイル特徴情報および送信者ID/認証情報を送信することにより、転送が開始される。転送が受け入れられた場合には、特定された可能なポートの範囲内でランダムにデータポートが形成され、その数はUDP接続上に返信される。さもなくば、転送が拒絶された旨の通知が送信され、UDP接続は閉じられる。そして、UDPコマンドポートは新しい転送が開始されるのを待つ。
【０１４６】
2)転送が受信者によって受け入れられた場合には、送信者はUDP接続を通じて返信されたTCPデータポートに接続し、ファイルの送信を始める。受信者および送信者のいずれも、他のコンピュータにより開始された転送がないか、UDPポート上での「リスニング」を再開する。これは、ファイル転送がTCPポートを通じて進行する間に実現する。その後開始されるいかなる数のファイル転送についても、このようなプロセスが繰り返されかつ管理される。いかなる数の他のコンピュータについても、このように複数のファイル転送が同時に実現可能であり、コンピュータプログラムのただ一つのインスタンスが開かれて作動するに過ぎない。本発明の利点として、ユーザインターフェースおよび操作アプローチが簡単であること、システムリソース利用の効率が高いこと、およびファイル転送速度が高速であることが含まれる。
【０１４７】
3)受信者は、転送を開始したUDP接続を通じて送信されたファイルサイズ情報(特徴)が、受信されたファイルのサイズと一致するか、あるいは送信者がエラーのためにその接続を閉じた場合に、接続を閉じる。
【０１４８】
本発明の他の好適実施例では、複数のUDPコマンドポートがファイル交換をリスニングするかまたは開始する。転送を開始するためには、送信者のPCは、特定された一組のポートの中からUDPポートをランダムかつ自動的に選択する。例えば、所定の数にて1、2またはそれ以上のUDPポートをリスニングポートとして指定することができる。受信者は、開始された転送がないか、特定された一組のポートを監視し、送信者候補が利用するUDPポート上で応答し、接続を確認するとともに、指定されたデータポートを返信する。このような構造により、2台以上のコンピュータが同一のPCと全く同一時に通信を試みる場合に、「衝突」の可能性が低くなる。あるいは、そのような衝突が起こった場合には、試みられた通信は、ランダムな間を置いて後続の時間に自動的に再度試みられる。
【０１４９】
ステップS34でファイル転送をPSTN転送とすることが決定された場合には、ステップS62で送信PCはリモートPCと関連づけられる電話番号をダイアルする。ステップS64において、接続が首尾よく設定されたかどうかが判定される。接続が設定されなかった場合には、ロジックはステップS40へと進み、ここで接続がそれ以前に試みられたかどうかが判定される。接続の試みが以前行われた場合には、試みが上限回数まで行われたかどうかが判定される。好適実施例では、この回数を3回としている。このように、3回の試みが不首尾に行われた場合には、ステップS46でロジックが実行を終了し、エラーはログされてリモートPCとの接続を確立できないことが示される。しかしながら、接続の試みの回数が許される上減回数よりも少ない場合には、送信PCはステップS62で再びリモートPCとの接続を試みる。
【０１５０】
接続が確立された後にハンドシェーキングが行われ、ステップS66で送信PCは識別情報を送信し、リモートPCからの応答を待つ。ステップS68で応答が受信されない場合には、ステップS46でロジックは実行を終了し、エラーがログされる。応答が受信された場合には、ステップS70で送信PCからリモートPCに対しファイルおよびステーション情報が送信される。続いて、送信PCは、リモートPCからの応答を待つ。応答が受信されない場合には、ステップS46でロジックが実行を終了し、エラーがログされる。応答が一旦受信された後には、ステップS74でファイル転送プロトコルを用いてファイルがリモートPCへと送信される。ある好適実施例では、Zmodemをファイル転送プロトコルとしている。ファイル転送が完了すると、接続が終了される。続いて、送信PCの転送状態がログされ、ロジックはステップS58へと進み、上記に述べたように継続される。
【０１５１】
次に、図4を参照しつつ、リモート／受信コンピュータにおいて実行されるロジックを説明する。まず、ステップ400で、転送がインターネット(またはインタラネット／エキストラネット)転送となるかどうかが判定される。転送がインターネット転送となることが予測される場合には、ステップ402でソケットがポート789上に形成され、受信PCが接続を待つ。何者かによる接続があった場合、ステップ404で全ての送信データが読み取られる。続いて、ステップ406において、受信データ(すなわち、ID)は、ID宛先ブック(転送の受入はこの中から行われる)中のIDと比較される。受信したIDがID宛先ブック中に見つからない場合には、ステップ410でエラーが生じ、接続は終了される。ステップ408で受信したIDがID宛先ブック中に見つかった場合には、ステップ412で受信したデータか有効であるかどうかが判定される。データが有効でない場合には、ステップ410で送信PCに対し否定的確認が送信され、接続は終了される。
【０１５２】
データが有効である場合には、ステップ414で受信データがインデックスまたはファイル要求を示すかどうかが判定される。受信データがインデックスまたはファイル要求を示す場合には、ステップ415でかかる要求は処理される。さもなくば、ステップ416で受信データがクレジット認定を示すかどうかが判定される。受信データがクレジット認定を示す場合には、ステップ418で送信クレジットが追加され、図11を参照しつつずっと詳細に説明される。さもなくば、ステップ420で受信データが認定のための要求を示すかどうかが判定される。受信データが認定のための要求を示す場合には、ステップ422で応答が受信PCのIDと一緒に要求PCに対して送信される。さもなくば、受信データが分ファイルであるかどうかがステップ424で判定される。
【０１５３】
部分ファイルであるかどうかの判定は、中断された転送が再開されたか、あるいは新しい転送が始まっているかを判定するために行われる。このように、受信データが部分データである場合に、ステップ426で開始点は部分ファイルのサイズに定められるが、これはかかるファイルの一部を再送しなければならないためである。すなわち、受信機器は、送信機器に対し、かかるファイルのいずれの部分がそれ以前に受信されたかに応じて、送信をどこから再開するかを知らせる。続いて、ステップ430で、ソケットはランダムポート上に形成され、ランダムポートのアドレスが送信PCに送信され、タイムアウトタイマーが設定される。受信されたファイルが部分ファイルでない場合、すなわち新しい転送が始まっている場合には、ステップ428で開始点はゼロに設定される。
【０１５４】
ステップ430以降、ロジックはステップ432へと進み、ここで受信PCはポート上でデータを待つ。データが受信された際に、タイムアウトタイマーが再び設定される。好適には、受信PCでファイル受信が自動的かつ可視的に示される。ステップ434で、他のソケットが存在するかどうかが判定される。他のソケットが存在する場合には、ステップ436でデータは次のソケット用に受信される。続いて、ロジックはステップ434へと戻り、他のソケットが見つからなくなるまで繰り返される。送信PC同様、データソケットはリンクされる受信PCのリストに格納してよい。
【０１５５】
ステップ438で、ファイル転送が完了したか、またはデータがタイムアウトとなったかが判定される。データがタイムアウトとなった場合には、接続は終了され、ソケットは破壊される。また、接続が自ら終了された場合に、ソケットは破壊される。いかなる転送も完了していないことが判明した場合には、ロジックはステップ432に戻り繰り返される。ファイル転送が完全なものであった場合には、ステップ440で受信ファイルが予想されたのと同じサイズであるかどうかが判定される。つまり、ファイルのサイズがステップS42で送信されたファイルのサイズと比較される。ファイルのサイズが一致しない場合には、ステップ442で受信エラーがログされる。さもなくば、ファイルのサイズが一致した場合には、転送は不首尾に終わったものと見なされロジックはステップ444へと進む。
【０１５６】
ステップ444で、受信されたイベントがログされ、パケットはパケット解除され、受信されたファイルは受信PCの記憶装置に格納される。上記の説明では、当初の接続時に送信PCが名称およびIPアドレスにより受信PCにおいて特定されたが、特定は後で行ってもよい。しかしながら、好適には、送信PCは、受信PCが受信ファイルを開くよりも前に受信PCにより特定される。次に、ステップ446において、図5を参照しつつ説明したロジックが、受信確認の要求を処理するために実行される。続いて、ロジックはステップ448へと進む。
【０１５７】
ステップ448で、他のソケットが存在しないかどうかが判定される。追加のソケットが見つかった場合には、ロジックはステップ432に戻り、処理が繰り返される。他のソケットが見つからなかった場合には、ロジックはステップ450へと移り、ここで自動アップデートプロセスが実行される。
【０１５８】
データの確認は、ウィンドウズソケット規格（Windows Socket Standards）の基礎をなすTCP／ICPプロトコルによって処理される。TCP／ICPプロトコルがデータの送受信を処理するため、ファイル確認は自動的に行われる。すなわち、TCP／ICPはエラー応答プロトコルであって、巡回冗長検査(CRC)によりそれぞれのTCPパケットをチェックし、不良パケットを送信する。したがって、ファイルが上首尾に受信されたTCPパケットから組み立てられる場合には、受信したファイルがエラーを含まない可能性は極めて高い。このように、ファイル全体が受信されたかどうか判定することのみが必要となる。このことは、受信したファイルのサイズが、受信されるファイルについて特定されたサイズに合致するかどうかを判定することにより実施される。ファイルサイズ規格は送信されるファイルと一緒に送られ、送信当初に受信PCに到達する。
【０１５９】
モデム転送に関しては、プロセスが異なる。すなわち、転送をインターネット転送としないことがステップ400で決定された場合には、ステップ460でモデムが自動返答モードに設定され、呼び出された場合には返答するようにする。モデムは、好適には、ステップS2の初期化の際にそれぞれのPCにおいて自動返答モードに設定される。
【０１６０】
モデムが初期化された後、ステップ462で受信PCは電話がかかってくるのを待つ。電話がかかってきた場合には、受信PCが返答し、モデムからのデータストリームを読み取り、送信PCの識別情報を判定する。データが受信された場合には、受信PCは送信PCに対し応答を送信し、かかる応答には受信PCの識別情報が含まれる。タイムアウト前にいかなるデータも受信されない場合には、接続は終了される。データ受信された場合には、受信PCは送信PCに対して応答を送信し、これには受信PCの識別情報が含まれる。
【０１６１】
ステップ464でファイルデータの有効性がチェックされる。データが無効である場合には、受信エラーがステップ442でログされる。さもなくば、データが有効である場合には、ステップ466で合意済みのモデルプロトコル(好適にはCRCを使用する各パケットをチェックし、不良パケットを再送信するZmodem)によりダウンロードが開始される。続いて、ロジックはステップ468へと進み、受信されたファイルが、予想されたサイズと同じであるかどうかを判定する。ファイルが予想されたサイズでない場合には、ステップ442で受信エラーがログされる。受信されたファイルが予想されたサイズである場合には、ステップ470でイベント受信がログされ、受信されたパケットはパケット解除され、記憶装置に格納される。次に、ステップ472で図5を参照しつつ説明したロジックが実行され、受信確認の要求を処理する。続いて、ロジックはステップ450へと進み、上記に説明したとおり実行される。
【０１６２】
Zmodemプロトコルを使用することにより、エラーチェックが自動的に行われる。しかしながら、ファイルサイズが再度チェックされ、受信ファイルがしかるべきサイズであるよう確実を期す。
【０１６３】
受信確認の要求および第三者認証：図5および図14参照
本発明の別の好適実施例によると、本発明は、送信PCが送信済みのファイルパケットの属性の確認を受信者PCに対して要求することを可能とする。確認は返信ファイルとして行われ、これには受信通知ファイルリスト、および受信者および送信者双方のID、並びにその他のさまざまな属性が含まれる。受信通知ファイルは、受信者から送信者に対し、直接または第三者認証者18(図1)を介して返信され、受信コンピュータのユーザによるいかなるアクションも必要としない。送信者は、確認を直接返信して行うか、または全てのユーザに共通な第三者認証者18を介して行うかを指定してよい。第三者認証者18の宛先アドレスは、ユーザへの頒布に先立ちコンピュータプログラム内に組み込まれるか、または確認要求の開始前にコンピュータプログラムのセットアップの一部としてユーザにより送信PCに入力される。
【０１６４】
受信者PCの制御モジュールは、送信されたファイルパケットの属性確認の要求を受信した際に、受信したパケットの内容を記録する。これは、受信したパケットの解読および圧縮解除前または後に行われるよう設定してよい。ファイルリストを作成することにより、内容ファイルが受信者コンピュータの記憶装置のファイル構造中に書き込まれる。さらに、受信者PCの制御モジュールは、受信確認ファイル中に送信されたファイルパケットの属性を結合させる。これらの属性には、(1)受信したパケット中に実際に存在することが判明したファイル名を記したファイルリスト(暗号化済みのファイルまたは解読済みのファイルのいずれを含むかを問わない)、(2)受信したファイルのサイズ、(3)ファイルパケットと一緒に送られる送信PCのID(発信地点)、(4)受信者PCのID、(5)パケットを受信した日、(6)パケットを受信した時刻、および(7)送信されたファイルの電子指紋(ハッシュ)が含まれてよい。あるいは、受信確認をセットアップし、特定の日付、時刻および宛先について実施されたファイル転送動作の確認のみを提供してよい。
【０１６５】
さらに、送信PCから直接返信するよう要求された場合には、受信者PC上の制御モデムは、送信PCに対し即時に行われる受信確認ファイルの直接返信について、保留イベントを、対応する宛先アドレスを指定しつつ形成する。また、要求された確認を第三者認証者を通じて返信するよう送信者から指定された場合には、受信PC上の制御モジュールは、第三者認証者を介して行われる送信PCに対する受信確認の返信について、保留イベントを、対応する宛先アドレスを指定しつつ形成する。受信確認ファイルは、確認を要求した送信PCの宛先アドレスと一緒に、第三者認証者に対して転送される。さらに、第三者認証者は、受信確認ファイルを受信した際に、商業的に入手可能なファイル認証アプリケーションプログラムを用いて、ファイルに独自のデジタル特徴をスタンピングしつつ、このファイルを処理する。ファイル認証アプリケーションプログラムは、改ざんまたは修正を直ちに検出し得るようファイルを作成する設計となっている。最後に、第三者認証者による処理を経た上で、認証された受信確認ファイルが確認を要求した送信PCの宛先アドレスへと転送される。関連するファイル転送の受信者に対し、認証済みの受信確認のコピーも送信してよい。
【０１６６】
次に、図5を参照しつつ受信確認の要求を説明する。まず、ステップ500で受信が要求されたかどうかが判定される。受信が要求されていない場合には、ステップ502でロジックは図4へと戻る。さもなくば、ステップ504でファイルリストが作成される。ファイルリストは、好適には、ファイルのサイズ、ファイル作成日および作成時刻など、送信されたファイルのファイル属性を含む。次に、ステップ506でテキストファイルが作成される。ファイルリストは、好適には、送信PCのID、受信PCのID、およびファイルパケットの受信日および受信時刻を含む。続いて、ステップ508で受信確認ファイルが作成される。受信確認ファイルは、ファイルリストとテキストファイルとを組み合わせたものである。その後、ステップ510で確認ファイルについて即時送信イベントが形成される。
【０１６７】
ステップ512で直接返信が要求されたかどうかが判定される。直接返信が要求された場合には、ステップ514で直接返信の要求を行った送信PCを宛先アドレスとして保留イベントが形成される。宛先アドレスが要求されなかった場合には、第三者による認証が要求されている。そして、ステップ516で第三者認証者を宛先アドレスとして保留イベントが形成される。ステップ514または516のいずれかを完了した後に、ロジックはステップ518で図4に戻る。
【０１６８】
次に、図14を参照しつつ、第三者認証機器において実行される例示的ロジックを新たに説明する。まず、ステップ1400でリスニング用にソケットが形成される。ある好適実施例では、ソケットをポート789とする。続いて、ステップ1404で第三者認証機器がリスニングポート上でリスニングする。データが受信されると、ステップ1402で要求が送信されたかどうかが判定される。要求が送信されていない場合には、ロジックはステップ1402へと戻り繰り返される。要求が送信されている場合には、ステップ1406でランダムデータソケットが形成され、あるポートに割り当てられ、ポート番号が要求PCへと送信される。その後、ステップ1408で受信確認ファイルは割り当てられたポート上で受信され、ステップ1410でファイルは認証される。次に、ステップ1412で認証された受信確認ファイルについて即時送信イベントが形成され、ステップ1414で要求と一緒に受信された宛先アドレスが要求者に送られる。最後に、ステップ1416でその他のデータソケットが存在するかどうかが判定される。その他のデータソケットが存在する場合にはロジックはステップ1408へと戻り繰り返される。その他のデータソケットが存在しない場合にはロジックはステップ1402へと戻り繰り返される。
【０１６９】
イベントログ：図15参照
全ての通信イベントは、コンピュータプログラムによりイベントログファイルに自動的にログされ、日付、時刻、ファイル構造およびファイル名などのイベント特性により特徴づけられる。ユーザは、図15に示すようなコントロールウィンドウを用いて、イベントログファイルに列挙されるログされたイベントをビューし、これとインタラクトすることができる。受信されたファイルは、ビューするためにイベントログウィンドウから直接開くことができるが、その条件として受信したファイルのファイルフォーマットと、受信PC上で利用可能な適切なアプリケーションプログラムとが既に関連付けられているものとする。ファイルを開くことは、ポインティング装置によりイベントログウィンドウのイベント24を選択した後に、図16に示すようなコントロールウィンドウを開くPCのポインティング装置またはキーボードを用いて、制御コマンドを開始することにより可能である。図16に示すコントロールウィンドウは、ログされたイベントの特性を表示する。列挙されたファイルは、ファイル25を選択後、PCのポインティング装置またはキーボード(PC上で利用可能な関連アプリケーションプログラムによりファイルを開く)を用いて制御コマンドを起動することにより、これを開くことができる。アプリケーションプログラムが列挙されたファイルのフォーマットと関連付けられていない場合には、ユーザアクションを通告するかまたはプロンプトするメッセージが表示される。キャンセルボタン26はイベント特性ウィンドウを閉じる。受信通知ビューボタン27は、選択されたイベントと関連付けられる受信通知を表示する。
【０１７０】
ファイル／パケットの選択および送信：図17、図19、図20、図21および図25参照
本発明による相互に接続されるPCにおけるユーザは、ファイル送信イベントをさまざまな方法で開始することができる。例えば、図17に示すようなコントロールウィンドウとインタラクトすることにより、ユーザはPCのポンインティング装置を利用して送信ウィンドウ28に列挙されるファイルを選択するすることができる。続いて、ウィンドウズオペレーティングシステムのドラッグ・アンド・ドロップ機能を呼び出すことにより、ユーザは、宛先ウィンドウ内の宛先オブジェクト30の上にファイルをドロップすることができる。ファイルを宛先オブジェクト30の上にドロップした場合、これに応えて、ウィンドウズオペレーティングシステムにより作成されたファイルが、宛先オブジェクト30のアドレスにリンクされ、このファイルは送信される。送信PCに常駐するファイル構造は、好適には、送信されるファイル毎に受信PCにおいて複製される。
【０１７１】
ある好適実施例において、各PC宛先への送信が選択される各々のファイルは、手による確認を要する。手による確認では、各ファイルを送信するために、ユーザによるアクションを要する。ファイル送信認定について自動化されたスクリーニングも設けてよいが、これは認定された送信の実施を許可するのみである。自動スクリーニングは、送信される各ファイルについて、それぞれのPC宛先への送信よりも前にこれを実施してよい。
【０１７２】
ある好適実施例においては、宛先ウィンドウ下部のボタンも用いてよい。ボタン34はその他の宛先ウィンドウを開く。ボタン36は、ウィンドウを最小化する。ボタン32は、送信ウィンドウ28を開く。
【０１７３】
あるいは、図20および21に示すウィンドウを通じてパケットまたはファイルを選択することができ、また図19に示すウィンドウを通じて宛先を選択することができる。図19ないし21に示すウィンドウを用いる手順では、ユーザはファイルまたはパケットを選択し、即時送信または遅延送信のいずれも選択できる送信イベントを形成する。
【０１７４】
図20では、ドライブドロップダウンリスト60により、送信するファイルを格納するディスクドライブを選択することが可能となる。ドライブが選択されると、ディレクトリ構造が表示フィールド62に表示され、ディレクトリ、サブディレクトリおよびファイルが示される。ユーザがファイルを選択後、選択されたファイルは、対応するファイル構造と一緒に表示フィールド64に示される。表示フィールド64に示される選択されたファイルは、好適には、送信に先立ちファイルパケット(単にパケットともいう)中に圧縮される(複数のファイルが選択された場合には全て一緒に圧縮される)。
【０１７５】
説明ボックス66をクリックすることにより、ユーザプロンプト68が表示され、ユーザはファイルに名前を付け、選択されたファイルと一緒に送信されるテキストメッセージを追加することができる。ある好適実施例では、ユーザの名前、組織およびアドレスを特定するファイルが自動的に挿入される。ユーザは、ダイアログウィンドウにテキストメッセージも挿入してよい。その後、制御モジュールにより、挿入されたテキストは、圧縮サブルーチンによってパケット中に圧縮されたファイルのリストにリンクされ、制御モジュールにより、リンクされたPC宛先アドレスへと送信される。送信者に関するテキスト情報、および受信されたパケット中に含まれるテキストメッセージは、受信した関連ファイルをユーザが選択すると、イベントログウィンドウ内に表示される。
【０１７６】
ある好適実施例では、圧縮制御モジュールにより、ファイル構造内の一または複数のディレクトリの中から一または複数のファイルを選択し、宛先PCアドレスに対して送信するパケット内に圧縮することができる。送信コンピュータで行われる送信ファイルの圧縮前にこれに埋め込まれるテキストメッセージは、受信PCにおいて圧縮解除後すぐに見ることができる。しかしながら、暗号化が可能になると、テキストメッセージは、送信PCで行われる送信ファイルの暗号化前にこれに埋め込むことができ、受信PCで解読後すぐに見ることができる。あるいは、テキストメッセージは、送信PCにおいて、送信されるファイルに暗号化後に埋め込むことができる。その結果、テキストメッセージは、受信PCで解読後すぐに見ることができる。テキストメッセージは、テキストファイル中に保存され、これを受信PCが認識し受信時に表示する。
【０１７７】
説明ボックス66にチェック印が付いていない場合には、ユーザプロンプト68は表示されず、パケットは標準メッセージおよび任意の番号による名称を伴って作成される。ユーザプロンプト68は、圧縮ボタン65が選択された際にも表示してよい。OKボタン69をクリックすると、ファイルパケットを作成するcompress．dll中のジップ圧縮機能(zip compression function)が呼び出されて圧縮機能が開始される。その後、ユーザプロンプト68が閉じられ、圧縮ボタン65は進むボタンへと変わり、ユーザは表示を切り替えて宛先選択ウィンドウ(図19)を選択することができる。
【０１７８】
ユーザが以前に作成したファイルパケットを送信したいと願う場合には、既存パケット送信ウィンドウ(図21)が、図19のパケットメニューウィンドウ50を介して、あるいはパケットメニューが現れるその他の画面内に得られる。図21において、パケット70を選択後、進むボタン71をクリックすることにより、ユーザは表示を切り替えて宛先選択ウィンドウ(図19)を選択し、ここで選択されたパケットの宛先を指定することができる。パケット70をダブルクリックすることにより、ディスプレイ72が表示され、パケットのコンテンツ73および関連メッセージ74が示される。キャンセルボタン75をクリックすることにより、ディスプレイ72が閉じられる。入力クリアボタン76は、選択されたパケット70を削除する。リストクリアボタン77は、表示されるパケット中の全てのパケット70を削除する。
【０１７９】
次に、図19を参照しつつ、ファイルを送信する宛先を選択するための宛先選択ウィンドウを説明する。パケットメニュー50により、ファイルの転送、インデックスの要求、ファイルの要求、またはログ表示を開始することができる。コントロールメニュー51は、アクティブなインターネット／インタラネット／エキストラネットへのリンクを確立し、かつ/またはモデムを初期化するオプションを提供する。インデックスメニュー52により、インデックス構築／編集機能およびボリュームマネージャにアクセスすることが可能となる。ボリュームマネージャにより、ボリュームに名前を付けることおよびこれを削除することが可能となり、これらはインデックス中のロジカル部門をなす。セットアップメニュー53は、コンピュータプログラムのセットアップを、ディレクトリ、モデムパラメータ、ユーザ情報、暗号化プログラムインターフェースの点で修正すること、および宛先リストを作成する宛先ブックにアクセスすることを可能にする。ヘルプメニュー54は、使用上の指示にアクセスする。
【０１８０】
変更ボタン55は、宛先ブックにアクセスする。ブラウズボタン56は、以前に作成したファイルパケットを見つけることを容易にする。パケットは、ブラウズボタン56が選択されたときに現れるダイアログボックス内に表示される。戻るボタン57は、表示を前表示画面へと戻す。そして、ドロップダウンリスト58は、宛先候補を表示し、ユーザはこの中からファイルを送信する宛先を選択してよい。送信ボタン59は、選択された宛先へと選択されたファイルの転送を開始する。
【０１８１】
次に、選択されたファイルを送信する別の手順を説明する。ユーザがアプリケーションプログラム中で作業する際に、ユーザは作業中のファイルを特定の宛先、すなわち宛先リンクディレクトリ(DLD)、と関連付けられたディレクトリに保存してよい。ファイルは、セーブアズオプション(Save As option)を用いてディレクトリに保存してよく、あるいは対応するアプリケーションプログラムからの自動的な出力として一または複数のDLDに書き込まれてよい。続いて、ファイルが保存されたディレクトリ(すなわち、DLD)内の全てのファイルが、ディレクトリと関連付けられる宛先へと送信される。ある好適実施例では、転送はファイル保存後直ちに行われる。しかしながら、転送の間隔は即時または遅延させた時間にて設定できる。このように、特定の宛先または宛先グループと関連付けられるディレクトリ中にファイルを保存することにより、ファイルはユーザによる追加のアクションなしに、かかる宛先または宛先グループへと送信される。また、特定の宛先とそれぞれ関連付けられる複数のディレクトリも用いてよく、これによりユーザはファイルを送信する宛先を選択することができる。これらのディレクトリは、ユーザが宛先ブック内に宛先を指定した際に作成されてよい。DLDにより、アプリケーションプログラミングインターフェースを用いることなしに、本発明をオペレーションシステムレベルで他のアプリケーションプログラムと統合することが可能になる。
【０１８２】
ファイルがDLDに書き込まれると、ファイルはかかるDLDと関連付けられる宛先に送信後、DLDから削除される。ユーザオプションにより、ファイルはDLDに書き込まれた後に、削除される前にDLD以外のア−カイブファイルに保存される。本発明により、ユーザは、宛先と関連付けられる複数のディレクトリを作成し、これらを宛先ブックに保存することができる。ユーザがこれらディレクトリのうちの一つにファイルを置いた場合には、かかるファイルは関連する宛先に送られる。これにより、広いエリアネットワークにわたる大きなグループのコンピュータ間で、シームレスなインターフェースが可能となる。多数の受信者への配信を必要とする数多くのファイル(例えば、インボイス)を生成するコンピュータは、DLD構造を用いることにより、自動的かつ直接的に宛先コンピュータにリンクされ得る。
【０１８３】
DLDからの転送を受信する受信コンピュータは、送信コンピュータにアクセス可能な通信経路とアクティブに接続されていなければならない。受信コンピュータがアクティブに接続されていない場合には、送信コンピュータは繰り返しファイルの転送を試みることができる。ある好適実施例においては、これらの試みはユーザがタイムアウト時間の経過を選択した後に停止する。あるいは、送信コンピュータは受信コンピュータが接続されたことが判定されるまで待機していてよい。受信コンピュータは、受信コンピュータユーザがファイルを受信するよう指定されたディレクトリ中にファイルを受信する。既に説明したとおり、個々の受信コンピュータに関し開始されたファイル転送について、別個の接続が確立される。
【０１８４】
次に、図25を参照しつつ、ファイル送信イベントをスケジューリングするための例示的プロセスを説明する。まず、ステップ2500で、上記に説明したプロセスの1つに従い、ファイル／パケットおよび宛先が選択される。続いて、ステップ2502で、ユーザが選択されたファイルを選択された宛先に送る認定を受けているかどうかが判定される。認定が確認されない場合には、ステップ2504で、ユーザは、選択された宛先が、ユーザがファイルを実際に送信しようとする宛先であることを確認するよう求められる。確認が得られなかった場合には、ステップ2506で、ファイル転送は打ち切られる。さもなくば、また認定がステップ2502で行われる場合には、ステップ2508でそれ以前に確立されたパケットが送信されているかどうかが判定される。パケットがまだ確立されていない場合には、ステップ2510、2512および2514でパケットは圧縮され、リンク認定情報および認証コードが作成され、パケットは暗号化される。
【０１８５】
圧縮後、またパケットが既に存在することが認定された場合に、ステップ2516でファイル転送をいま行うか、または後で行うかが決定される。転送が後で行われる場合には、ステップ2518でスケジューラが開かれ、ステップ2520でユーザはファイル転送が行われるべき日付および時刻を入力する。そして、またファイルが直ちに送信される場合には、ステップ2522で送信イベントが形成される。
【０１８６】
最後に、ステップ2524で、送信イベントが保留イベントとして主要制御モジュール中に予定される。この時点で、コンピュータプログラムは、ユーザが設定したその他の保留イベントと同様にファイルを取り扱う。このプログラムは、キューを監視し、当該時刻以前の時刻に発見された保留イベントを送信する過程に常時おかれる。
【０１８７】
宛先の設定：図17、図18および図19参照
ある好適実施例において、ユーザ機能は、宛先ウィンドウを呼び出すために設けられており、この宛先ウィンドを使って一または複数のファイルを作成し得る。宛先ウィンドウは、宛先ファイルを選択し、宛先ファイル中の宛先を追加、削除または修正するために使用してよい。ユーザは、制御モジュールによるパケット送信に使用するために、宛先ウィンドウから宛先アドレスを選択してよい。ある好適実施例において、ユーザ機能は会話ウィンドウを呼び出すために設けられており、かかる会話ウィンドウから、ユーザは、制御モジュールが特定のパケットの送信を開始する特定の日付および時刻を選択してよい。
【０１８８】
ある好適実施例において、ユーザ機能は、宛先PCアドレスを宛先ウィンドウ中にニックネームオブジェクトとして追加するために設けられている。宛先ウィンドウに追加されるニックネームオブジェクトは、宛先ファイル中に含まれる特定の宛先アドレスに関連付けられる。好適には、送信PCに関し宛先目標として許される、可能な宛先アドレス数は、宛先ファイルに許されるエントリー数について、制御モジュール中にプリセットユーザ非可調整上限(ロッキング限度)を設定することにより制御される。また、受信PCに関し宛先目標として許される、可能な宛先アドレス数は、作成可能であるかまたはビュー可能である宛先ファイル数について、制御モジュール中にロッキング限度を設定することにより制御される。ロッキング限度は、コンピュータへのインストール用にユーザに対して出荷される前に、インストレーションディスク生産時に、ソフトウェア開発業者／製造業者によってソフトウェア中にプリセットされてよい。
【０１８９】
好適実施例において、ユーザ機能は、会話ウィンドウを呼び出すために設けられており、かかる会話ウィンドウにより、宛先ウィンドウから宛先を修正することが可能となる。また、ユーザ機能は、ある会話ウィンドウを呼び出すために設けられており、ユーザは、かかる会話ウィンドウから追加の宛先ウィンドウを作成するか、またはその表示を選択することができる。好適実施例において、ユーザ機能は、宛先ウィンドウからファイル構造表示ウィンドウを立ち上げるために設けられている。
【０１９０】
好適実施例によれば、図18に示すようなコントロールウィンドウを用いて、ユーザインタラクションにより、別個の宛先または関連付けられたアドレスを定めるかまたは修正し、これを宛先ファイルに保存することができる。宛先ファイルは、一旦定められて保存された後には、図19に示すような宛先ウィンドウ中でこれを選択および表示することができ、かつ図17に示すような宛先ウィンドウ中の宛先オブジェクトにリンクさせることができる。また、宛先ファイルをディレクトリにリンクさせ、DLDを作成してもよい。
次に、ある好適実施例に基づき、宛先を追加または変更する手順を説明する。図18に示すウィンドウにアクセスするために、セットアップメニュー53が選択される。続いて、ユーザは、新規作成ボタン40を選択するか、または宛先を選択し、編集ボタン42を選択する。ボタン40をクリックすることにより、会話ウィンドウが表示され、これに氏名、アドレス、アドレス種類(例えば、PSTN番号、IPアドレス番号)を含む宛先情報を入力するか、または宛先グループを作成することが可能となる。このような宛先グループにより、かかるグループ中の全ての宛先に対し、単一ユーザアクションにてファイル転送を行うことが可能となる。ボタン42は、既存の宛先のパラメータの編集に用いられる。編集ボタン42をクリックすることにより、会話ボタンが表示され、宛先情報を修正することができる。
【０１９１】
モデム宛先に関し、ユーザはモデム宛先の電話番号を入力する。インターネットアドレスに関しては、ユーザはかかる宛先のIPアドレスを入力する。情報をインプットした後、ユーザは終了ボタン48を選択し、この宛先が宛先ブックに追加される。終了ボタン48は、宛先ブックウィンドウを閉じる。また、ボックス(図示しない)にチェック印を付けてもよく、それにより宛先にリンクされたディレクトリがかかる宛先に関してセットアップされる。DLDのデフォルト名は、宛先ニックネームまたは宛先フルネームに設定してよい。
【０１９２】
本発明は、好適には、宛先に関する全ての情報を宛先ブック中に格納し、宛先ブックは一つのコンピュータから別のコンピュータへと可搬であり、ユーザ間で簡単に共有される。宛先ブックは、グループからなるユーザに対してファイルを送信するための簡単な方法を提供する。ユーザは、宛先ブック情報を含んだデータファイルの宛先として、このようなグループを選択するだけでよい。その後、本発明では、ファイルが当該グループの全てのユーザに対して送信される。
【０１９３】
削除ボタン44は列挙される宛先を削除する。グループに追加ボタン46により、グループからなる宛先が作成され、単一ユーザアクションにて複数の宛先に対しファイル転送を行うことが可能となる。
【０１９４】
図17に示すような宛先バーに宛先を追加するためには、ユーザは、宛先オブジェクトが空である(すなわち、宛先と関連付けられていない)場合には、宛先オブジェクト30を右クリックしてよい。右クリックに応えて、ドロップダウンボックスが現われ、これが上記に説明した手順に従い定められた宛先を列挙する。その後、ユーザは、所望により、宛先リストから宛先を選択し、宛先に関連付けられたニックネームを変更してよい。そうすることにより、宛先オブジェクト30が空でない(すなわち、宛先オブジェクトが予め宛先に関連付けられている)場合には、ニックネームが宛先バーに現われる。その後、宛先パラメータへの変更が宛先ファイルに保存される。
【０１９５】
インデックス作成システム：図6および図22参照
ある好適実施例において、ユーザは、他のPCが、接続される通信経路を通じて要求することができる、PCのファイル記憶装置に格納されるファイルのインデックスを作成してよい。このようなインデックスは、ファイルリストウィンドウからファイルを選択することにより作成される。その後、制御モジュールにより、表示ウィンドウにファイル名およびファイル構造が追加される。
【０１９６】
好適実施例では、インデックス要求列を呼び出すためにユーザ機能が設けられており、ユーザはインデックス要求が送信されるPC宛先を選択してよい。インデックス要求のためにPC宛先を選択すると、制御モジュールが要求PCのインデックス要求、IDおよびアドレスの転送を開始する。インデックス要求を受信するPC宛先は、認定のために要求PCのIDをチェックした後に、要求PC(認定されたと仮定する)にリンクされたインデックスを要求PCに対して返信する。インデックス受信時に、制御モジュールは、受信PCのファイル記憶装置内の関連アドレスにリンクされたインデックスを格納する。ある好適実施例では、インデックスは複数のPC宛先アドレスから要求されてよい。
【０１９７】
ある好適実施例では、ユーザは、PC記憶装置に格納されるファイルの一または複数のインデックスを作成してよい。作成されるそれぞれのインデックスは、その後特定の宛先アドレス(すなわち、個人インデックス)に格納されてよい。そして、特定の宛先アドレスにリンクされたインデックス(ユーザ名、IDまたはサイトコードなどの識別情報を含んでよい)は、かかる特定のアドレスを有する要求宛先PCへと送信される唯一のインデックスとなる。個人インデックスが作成可能であることにより、ユーザらは、ユーザが所望するファイルを有するコンピュータに関しログインまたは制御を許すことなく、別のコンピュータからファイルをリトリーブすることができる。このように、個人インデックスはセキュリティ上のリスクを低減する。
【０１９８】
また、いかなる特定の宛先アドレス(すなわち、共通インデックス)にもリンクされないインデックスは、あらゆる宛先アドレスに転送される。つまり、共通インデックスは全てのユーザによりアクセス可能である。他の好適実施例では、インデックスは、リンクさせたいと望む宛先アドレスを宛先会話ウィンドウから選択し、ファイルリストウィンドウからファイルを選択することにより作成される。その後、ファイル名およびファイル構造は、制御モジュールにより、宛先リンクインデックスファイルおよびインデックス表示ウィンドウへと追加される。
【０１９９】
他の好適実施例では、ユーザは、保留イベントログファイルへと伝達されるファイルリスト中のファイルを含むパケットについて、これを暗号化してよい。制御モジュールは、暗号化サブルーチンを呼び出し、これがファイルリストを含むパケットを暗号化する。「共通キー／個人キー」技術を伴う、商業的に入手可能な暗号化ソフトウェアを用いて、ファイルを暗号化するために共通キーコードを使用してよい。共通キーは、ファイルが送信される宛先アドレスにリンクされる。個々の宛先アドレスに関する共通キーコードは、個人キーコードにより生成され、そのいずれもが、個々のPC宛先に関するシステムセットアップ中に生成されて宛先アドレスにリンクされる。個々のPC宛先について作成される共通キーコードは、別の宛先PCからの要求により個々のシステムPCにより自動的に受信され得るが、個人キーコードは受信され得ない。ある宛先にリンクされる共通キーコードは、かかる宛先に送信されるファイルの暗号化のために使用される。特定の宛先用の個人キーのみが、かかる宛先について、共通キーを用いて暗号化されたファイルの解読のために使用され得る。PC宛先において受信された、かかる宛先用に共通キーを用いて暗号化されたファイルは、かかる受信PC用の個人キーを用いて自動的に解読される。
【０２００】
さらに別の好適実施例では、ユーザは、ファイルを暗号化するために、暗号化プログラムを呼び出してよく、ユーザは、適切な共通キーを手で選択し、ファイルが宛先PCへの転送用の選択される前にこれを行う。また、ユーザは、ファイル受信後に、手で選択された個人キーによりファイルを解読するために、解読プログラムも呼び出してよい。共通キーの交換を伴わない自動暗号化および解読処理を用いてよい。このような暗号化技術においては、共通キー／個人キー技術を用いず、その代わりに「ワンタイム・パッド(one-time pad)」暗号化キーを用する。本発明においては、ユーザが利用を希望するセキュリティ製品が選択可能であるユーザオプションが提供される。また、本発明においては、トライストラータ・セキュリティ・アーキテクチャ(TriStrata Security Architecture)を使用するオプションも提供されており、これは共通キー交換を必要でなくなるようにする中央管理のセキュリティ方針運営を提供するとともに、非常に高速な暗号化および解読を提供する。トライストラータ・セキュリティ・アーキテクチャは、カリフォルニア州レッドウッドショアーズ(Redwood Shores, California)所在のトライストラータ・セキュリティ・インク(TriStrata Security, Inc．)から公的に入手可能なデベロッパーズ・キットである。
【０２０１】
ある好適実施例では、ファイル要求シーケンスを呼び出すユーザ機能が設けられているが、これによりユーザは、関連付けられた宛先PCアドレスからファイルを要求するために、選択済みのインデックスからファイルを要求することが可能となる。さらに、インデックスに列挙される一または複数のファイルがユーザにより選択された場合には、制御モジュールが、要求PCのIDおよびアドレスと一緒に、ファイル要求の転送を開始する。PC宛先があるインデックス中の一または複数のファイルの要求を受けた場合に、制御モジュールが圧縮サブルーチンを呼び出し、この圧縮サブルーチンが受信した要求に含まれるファイルをコピーし、圧縮し、パケットファイルを作成し、かかるパケットファイルを保留イベントファイルに伝達する。別の好適実施例では、自動暗号化機能が呼び出された場合には、圧縮されたファイルを含んだパケットは、要求を行っている宛先にリンクされた共通キー、あるいは交換トランザクションにリンクされるワンタイム・キー(one time key)を用いて暗号化される。好適な圧縮アルゴリズム(compress dll．)は、インフォジップ・グループ(Infozip Group)から公的に入手可能である。その他の圧縮アルゴリズムも商業的に入手可能であり、好適実施例において使用され得る。
【０２０２】
制御モジュールは、ファイル要求と一緒に受信した宛先アドレスを用いて、宛先PCとの接続を開始する。さらに、制御モジュールは、送信PCをそのアドレスにより特定した後に、通信経路を通じて、リンクされたアドレスに対し、圧縮済みの要求されたファイルを含むパケットを送信する。パケットの送信が完了した際に、制御モジュールは、イベントログウィンドウ中に首尾よく行われた送信を日付、時刻および内容により表示する。好適実施例において、制御モジュールは着信ファイル転送に応答し、これを捉え、圧縮解除し、送信されたファイルを、受信した関連ファイル構造を用いてコンピュータファイル記憶装置に書き込んだ後に、格納されたファイルにリンクされかつ日付、時刻および内容によりイベントログウィンドウ中に表示される受信ファイルリストを作成する。
ある好適実施例によれば、本発明による、相互に接続されたいずれのPCのユーザも、ファイルのインデックスを作成することができ、指定された別のPCはかかるインデックスの中からファイルを要求することができる。また、複数のインデックスを作成することができ、その各々が相互に接続された異なるPCからの要求を認定し、異なるファイルリストを有する。複数のインデックスは、個々のインデックスを特定の宛先に関連付けた後に、インデックス中に列挙されることとなるファイルを選択することにより確立される。このように、個々のインデックスに異なるファイルを含むことができる。ある好適実施例では、あらゆる要求PCに対する転送が認定されたインデックスについて、ボリューム名(ディスクラベル)が用いられる。あるいは、特定のPC宛先に対し、作成済みの個々のシリアルインデックスの転送を制限する目的で、宛先名、宛先アドレス、内部シリアル番号、または認証コードを利用することができる。インデックスは、図22に示すようなユーザインタラクションにより作成される。
【０２０３】
図22で、ドライブボタン80は、ドライブの選択を可能にするドロップダウンボックスを表示し、かかるドライブの中からインデックス化されるファイルを選択することができる。チェッキングボックス81は、特定のディレクトリツリーの内容を含むインデックスを構築することを可能にする。チェッキングボックス82は、特定のインデックスを再構築することを可能とする。チェッキングボックス83は、特定の日付および時刻以前もしくは以後のファイルを含んだインデックスの再構築することを可能にする。ボタン84は、表示される当該時点の時刻から当該インデックス参照時刻を変更させる。ボタン85は、表示される当該時点の時刻から当該インデックスの参照時刻を修正させる。ボックス86は、特定のファイル拡張子(例えば、「doc．」)のみを含むインデックスの構築を可能にする。ボックス87は、ロジカルドライブ上の全てのファイルを含むインデックスを構築することを可能にする。ボタン88は、コンピュータプログラムの前画面へと戻す。ボタン89は、ボックス81ないし87を指定することにより選択されたパラメータを用いて、インデックス構築プロセスを開始する。
【０２０４】
作成されたインデックスは、オペレーティングシステムのファイルブロック構造のリンク済みリストを含むデータベースツリーを有する。オペレーティングシステムは、これらの構造を利用してファイルおよびその状態に関する情報を格納する。ツリーの各ノードは、その同胞、並びにそのチャイルドおよびペアレントに対するポインタを含んでいる。インデックスにファイルが追加されると、各レベルがツリー内に収められる。
【０２０５】
次に、インデックスにファイルを追加する例を説明する。関連するドライブおよびディレクトリ構造がE:\sky\clouds\bird\report．txt．であるファイル report．txtを検討する。ファイルをインデックスに追加する際に、「E: \」は用いられないが、その理由は、ディレクトリの構造のみが重要であって、ドライブの構造は重要でないためである。したがって、データベースでは、「sky」についてのサーチが、データベースの根から開始され同胞を移動して行われる。「sky」は、発見されない場合にはリストに追加され、リストは好適にはアルファベット順に維持される。続いて、「clouds」についてのサーチが、「sky」ノードの第1チャイルドから開始され、同胞を移動して行われる。発見されない場合には「clouds」はリストに追加され、リストは好適にはアルファベット順に維持される。このプロセスは、「clouds」の第1チャイルドから繰り返され、開始され、同胞を移動して行われ、「bird」についてのサーチが開始する。同じプロセスが「report．txt．」について実行される。このようなプロセスは、ファイル名に到達するまでディレクトリツリーの目録(indenture)の各レベルについて繰り返されるため、極めて反復的である。インデックス中のファイル名ノードは、チャイルドを有しないが、同胞は当然ながら有し得る。
【０２０６】
次に、図6を参照しつつ、図22に示されるようなコントロールウィンドウを用いて個々のインデックスを作成するプロセスを説明する。まずステップ600で、ユーザはインデックスが作成されることを表示する。続いて、ステップ604で、ユーザにより選択されたオプションに基づきファイル名リストが生成される。例えば、ディレクトリから、の項目にチェック印が付けられた場合には、ユーザは、リストに含まれるよう、特定のファイル名を選択することができる。その他のオプションにチェック印が付けられた場合には、リストは、選択されたオプションに基づくファイル構造を備えて生成される。
【０２０７】
ステップ606では、リスト中の最初の名称が判定される。続いて、ステップ608ないし622において、インデックス構造は、この名称がリストに含まれるまで反復的に構築される。ステップ610で、このファイル名が追加されたことが判定された場合には、ステップ624でリストが完全に構築されたかどうかが判定される。リストが完成した場合には、ステップ626でロジックは終了する。さもなくば、ステップ628でリスト中の次の項目が判定され、上記のプロセスがステップ608で繰り返される。
【０２０８】
ファイルまたはインデックスの要求：図7、図8、図19および図23参照
好適実施例によれば、本発明の、相互に接続されるいずれのPCのユーザも、図19および23に示すようなコントロールウィンドウとインタラクトすることにより、ファイルまたはインデックスの要求を開始することができる。ファイル要求イベントは、図23に示すようなコントロールウィンドウに表示されるリストの中からPCのポインティング装置を使ってインデックスを選択した後に、インデックスに列挙されるリストを選択し、要求イベントを呼び出すことにより開始される。ユーザは、図23に示すようなコントロールウィンドウ中のインデックスメニュー52から要求制御機能を呼び出し、かかる後にインデックスを要求するための宛先を選択することにより、インデックス要求イベントを開始することができる。
【０２０９】
コンピュータプログラムは、インデックス要求を、選択された宛先と関連付けられた宛先アドレスにリンクさせた後に、保留イベントファイル中の送信イベントのスケジューリングを行う。要求PCのIDおよびアドレスは、要求の一部として送信される。本発明においては、インデックス要求を受信する個々のPC中のコンピュータプログラムは、要求PC用に特に作成されかつ認定されたインデックスのみを返信するが、受信PCが、相互に接続されるPCに対して一般的に配布する目的でインデックスを作成しかつ認定した場合にはこの限りでない。さらに、相互に接続されるPCからのファイル要求は、相互に接続される他のPCから一または複数のインデックスをダウンロードした後にのみ開始され得る。
【０２１０】
次に、図7を参照しつつ、ファイルまたはインデックスを要求する例示的なロジックを説明する。まず、ステップ700で、ユーザは以前にダウンロードしたリモートインデックス中から所望のファイルを選択するか、またはインデックスをダウンロードするためのアドレスを選択する。続いて、ステップ702でかかる要求がファイルまたはインデックスのいずれに関するものであるかが判定される。インデックスが要求された場合には、ステップ704でインデックスのテキストファイルが作成される。さもなくばファイルが要求された場合には、ステップ706でファイルリストのテキストファイルが作成される。続いて、ステップ704および706を経た後に、新たに作成されたテキストファイルが保留イベントとしてスケジューリングされ、図3に示すファイル送信モジュールにより送信される。最後に、ステップ710で、ロジックが実行を終了する。プログラムは常にファイルを待っているため、プログラムは要求の返信を待つ。
【０２１１】
次に、図8を参照しつつ、受信コンピュータで実行される例示的なロジックを説明する。まず、ステップ800で、受信コンピュータは要求を含むテキストファイルを受信する。続いて、ステップ802でかかる要求がインデックスに関するものであるかどうかが判定される。要求がインデックスに関するものでない場合には、要求はステップ804で解析され、ファイルの位置が確認される。続いて、ステップ806で、要求されたファイルは圧縮され、ステップ808で要求PCにリンクされる送信イベントが形成される。送信イベントが形成された後に、暗号化が可能である場合には、ステップ810で暗号化が行われ、ステップ812でファイルは図3に関して説明される手順に従い要求PCに送信される。
【０２１２】
ステップ802でインデックスが要求されたことが判定された場合には、ステップ816で要求されたインデックスが要求PCに対する転送を認定されているかどうかが判定される。インデックスが認定を受けている場合には、ステップ818でインデックスは圧縮され、ロジックは既に説明したステップ808へと進む。インデックスが認定を受けていない場合には、ステップ820でメッセージが作成され、要求PCに対して拒絶が通知される。続いて、ステップ822でメッセージは圧縮され、ステップ808ないし812で要求PCへと送信される。
【０２１３】
図23で、ボタン90はドロップダウンボックスを表示しており、このドロップダウンボックスにより、宛先ブックに列挙されるPCより受信されるインデックスの中から選択することが可能となる。選択されたインデックスに含まれるファイルは、関連ファイル構造と一緒に表示フィールド92に表示される。ファイルは、列挙されたファイルをPCのポインティング装置でクリックすることにより、行われる要求のために選択される。選択されたファイルは、表示フィールド94に表示される。要求ボタン96をクリックすることにより、選択されたインデックスの受信元PCに対し、選択されたファイルの要求が開始される。削除ボタン98がインデックスを削除するのは、通常、削除されたインデックスの代わりに、新しいより当該時点のインデックスが要求されたときである。
【０２１４】
本発明は、自動ポーリング特徴を含むことができ、かかる特徴により、グループからなる宛先について全ての宛先を一度にポーリングし、ポーリングの結果転送された全てのファイルを同時に受信することが可能になる。自動ポーリングは、ユーザがリモート宛先に対応するディレクトリ中にファイルを置いた場合に、可能となる。その後、リモート宛先は、かかるディレクトリにポーリングし、これらのファイルをリモート宛先に転送させることができる。自動ポーリングは、リモートPCが特定のファイルを要求しないことを除くと、既に説明したインデックス機能に類似し、ディレクトリ中の全てのファイルはポーリング時にリモート機器に送信される。同時に複数の接続が可能であるために、コンピュータは並行して全てのリモート機器にポーリングする。並行ポーリングの利点として、多くのファイルを多数の異なる場所から迅速に受信可能であることが挙げられる。下記に説明する受信通知という特徴は、さらなる利益をもたらすべく、並行ポーリングと一緒に利用可能である。
【０２１５】
ある好適実施例では、不適切なコンピュータが転送を誘発する目的でディレクトリにポーリングした場合、転送は行われる。しかしながら、転送は不適切なユーザに対しては行われない。転送は、ポーリングされるディレクトリに関連付けられるコンピュータに対して行われる。
【０２１６】
自動アップデート
別の好適実施例によれば、自動化されたアップデート特徴が提供され得る。自動アップデート特徴により、ユーザは、新しいソフトウェアバージョンリリースを電子的に受信し、かかるソフトウェアアップデートを自動的にインストールすることができる。新しいソフトウェアバージョンリリースの電子送信を受信した場合に、ソフトウェアバージョンリリースの電子転送を自動的にまたは手でアップデートするオプションが提供されている。
【０２１７】
アップデートが受信者に転送されると、自動アップデートは受信PCにおけるセットアップ時に選択済みである場合には、受信PCにインストールされたその前のバージョンが、新規リリースバージョンのファイルと置き換えられる。自動アップデートを実現するには、コンピュータプログラムの新規リリースバージョンと一緒に、以下のものを転送する。(1) アップデートパッケージをその他の種類の受信ファイルから区別する目的でパケットのファイルリスト見出しに含まれる、アップデート識別情報、(2)当該ソフトウェアの製造業者固有の認証コード、および(3)当該時点でインストール済みであるバージョンのソフトウェアにより実行されるインストールプログラムおよび制御コマンド一式。新規リリースの特定の要件に応じて、制御コマンドは、当該時点のバージョンを終了させ、新しいファイルをコピーし、かつ／または新バージョンの操作に必要な変更事項をインストールしてよい。新バージョンの操作は、アップグレードの程度に応じて、制御コマンドまたは新バージョンのインストールプログラムにより開始される。インストールプログラムは、好適には、DLLのリンクを解除し、新しいDLLをコピーし、新しい実行可能なファイルをコピーし、新しいプログラムバージョンを作動させる。最後に、インストールプログラムは自ら終了する。
【０２１８】
受信PCでのセットアップ時に手動アップデートが選択された場合には、電子的に受信されたソフトウェアアップデートは、送信PCと同じファイル構造にてPCの記憶装置に保存される。受信PCにおけるユーザは、新規リリースバージョンのインストールルーチンを、アップデートのインストールを希望する後続の日に、手で開始することができる。
【０２１９】
クレジット：図9、図11、図12、図13および図24参照
転送ウィンドウおよび宛先バーの別の実施例を図24に示す。ドライブボタン100により、送信を希望するファイルが格納されるドライブを選択することが可能となる。ドライブが選択されると、ディレクトリ構造が表示フィールド101に表示され、ディレクトリ、サブディレクトリおよびファイルが示される。ポインティング装置を使ってファイルが選択されると、選択されたファイルは、対応するファイル構造と一緒に、表示フィールド102に表示される。暗号化ボタン103をクリックすることにより、ファイルが送信される宛先について、ファイルを共通キーで暗号化するための暗号化アプリケーションプログラムが呼び出される。インデックスに追加ボタン104により、選択されたファイルを特定のインデックスに追加することができる。進むボタンをクリックすることにより、宛先選択ウィンドウへと切り替わる(図19)。
【０２２０】
ユーザが宛先オブジェクト30を左クリックした場合には、選択されたファイルは、選択された宛先、並びに配達受信確認が要求済みであるかについての確認がプロンプトされた後に、関連付けられた宛先アドレスへと送信される。ある好適実施例では、ビュアーは、受信確認を直接または第三者認証者を通じて受け取ることを選択してよい。ボタン108は、要求を行っているクレジット数およびユーザ課金情報をユーザに対してプロンプトする会話ボックスを表示することにより、送信クレジットの要求を開始する。表示バー109(a．k．a．、燃料ゲージ[fuel gauge])は、残存する送信クレジット数を示す。
【０２２１】
本発明の別の好適実施例によれば、クレジットシステムを用いてよい。クレジットシステムは、特定の送信PCが送信してよい送信数を制御する。クレジットシステムの管理は、可調整ロッキング限度の値を設定してから、各ファイル送信の首尾よい完了後にロッキング限度の値を所定の数値だけ低減させることにより行われる。ロッキング限度の値は、かかる値が0に達するまで低減させることにより、このような場合には、ロッキング限度の値が0以外の値にリセットされるまでさらなる送信は許可されない。つまり、特定の送信PCにおいて、ファイル送信の首尾よい完了後に一定数のクレジットを提供してよく、クレジット数は残存するクレジットがなくなるまで低減する。特定のPCで、かかるPCで増加させて変更した後のロッキング限度の値が一旦ナル値に達した後には、ファイル転送機能が中断される。すなわち、クレジット残数がゼロに達した後には、いかなる転送も許されない。したがって、何らかの送信が行われる前に、図3に示すファイル送信モジュールは、クレジット残数をチェックし、送信PCが要求される送信のために十分なクレジットを有するかどうかを判定する。残数が不十分であることが判明した場合には、ユーザに対し、残数が不十分であることを示すメッセージが、追加クレジットの取得方法に関する指示と一緒に送信される。また、クレジットドロップ数が予め定められた一定レベルを下回ったときにはメッセージも表示し、追加のクレジットを取得するようユーザに通告してよい。別の実施例によると、トランザクション数は、首尾よく行われた各ファイル転送後に増加し、所定のトランザクション上減数に到達後は、さらなる転送は許されない。
【０２２２】
本発明の別の実施例によると、ファイル転送機能の復元は、ロッキング限度の値をナル値以外の値にリセットすることにより、すなわち追加のクレジットを取得することにより行われる。ユーザは、ユーザ認証要求を呼び出すことにより追加のクレジットを取得する。クレジット要求を開始するためには、ユーザは要求ボタン108(図24に示す)をクリックし、その後適切な課金情報をプロンプトされる。情報が以前に入力済みである場合には、送信前に情報を編集する機会が提供される。要求されるクレジット数も、自動的に(例えば、デフォルト数値)またはユーザプロンプトを通じて収集される。収集してよい例示的な課金情報には、要求者を示すクレジットカード番号またはアカウント番号(例えば、取引アカウント)が含まれる。このように、クレジットを取得するためには、ユーザは、クレジットを要求する前にアカウントを設け、各クレジット要求と一緒にアカウント番号を提供するか、あるいはクレジットカード情報を提供する必要がある。好適には、PCのID認証およびIPアドレスまたは電話番号と共に要求される要求課金情報およびクレジット番号は、既に説明したファイル転送法により、接続される通信経路を通じて、独立の認定コンピュータシステム16(クレジットプロセッサ)(図1)へと送信される。要求は、以前に送信コンピュータに提供済みである、特定の固定されたIPアドレスに所在する特定のクレジットプロセッサ16へと送信される。別の実施例によると、ユーザのクレジットは、認証装置をPCのフロッピーディスクまたは装置読取器に挿入することにより、これを確立することができる。その結果、PCは認証装置から情報を読み取る。
【０２２３】
認定コンピュータシステム16が認定要求を受信後、要求装置と認定コンピュータシステム16との間の接続は終了し、認定コンピュータシステム16は処理を開始する。処理を完了した後に、認定コンピュータシステム16は、標準リスニングポートを通じて要求コンピュータに接触し、追加の接続を確立することなしに、拒絶の旨あるいは承認されたクレジット番号を示す。このようなメッセージには、セキュリティ上の理由から、ただ一つの接続が用いられる。課金情報を検証する際に、クレジットプロセッサは、認定されたファイル送信数に応じて、認定の旨および送信制御コードを受信PCに対して返信する。好適には、クレジットプロセッサはファイルを格納または転送せず、かつファイル送信を処理しない。
【０２２４】
次に、図9を参照しつつ、クレジットを要求するための例示的ロジックを説明する。ステップ900で、ユーザは所望のクレジット数を選択する。ある好適実施例では、25、50、75または100クレジットとされる。その後、ステップ902で、プロンプトを通じて、課金情報が、表示(以前に提供済みの場合）および編集されるか、または収集(以前に提供済みでない場合）される。最後に、ステップ904で、要求は主要制御モジュールへと転送され、クレジットプロッサ18に送信される。
【０２２５】
クレジットを認定および発行しかつ認定要求中に受信された課金情報を処理する目的上、また課金情報が確認された際に、要求PCに対して課金情報の上首尾の確認を通知する目的上、少なくとも一つの認定コンピュータシステム16が提供されるべきである。課金情報の確認が不首尾に終わった場合には、拒絶を示すメッセージを要求PCに対して返信してよく、その際には不首尾に終わったクレジット要求を示すメッセージが表示されるようにする。好適には、クレジットプロセッサ16は、課金情報を確認することによりクレジット要求を専ら処理するようセットアップされた特殊なコンピュータである。いかなる文書ファイルも、クレジットプロセッサ16を通じて転送されず、またログインに関するいかなる規定または要件もない。クレジットプロセッサ16は、特定のIPアドレスにセットアップされ、クレジットに関する認定要求中に受信された課金情報を処理する。
【０２２６】
次に、図10を参照しつつ、プロセッサ16の操作の例示的ロジックを説明する。ステップ1000で、ソケットが、ある好適実施例ではポート789に形成される。ステップ1002で、クレジットプロセッサが、ポート789上で要求をリスニングする。ステップ1004で、要求受信時に、受信されたデータがクレジット要求を表すものであるかが判定される。受信されたデータがクレジット要求でないと判定された場合には、ロジックはステップ1002へと戻る。さもなくば、クレジット要求が受信された場合には、ステップ1006でランダムデータソケットが形成され、認定要求を受信するためのポートが割り当てられる。続いて、ステップ1008で、認定要求が割り当てられたポートで受信される。ステップ1010で、課金情報(例えば、アカウント番号、クレジットカード番号、および失効日)が受信されたデータから抽出される。ステップ1012でアカウントが確認され、例えば有効性を検証するためにアカウントがチェックされるか、またはクレジットカード料金認定プロセスが実行される。アカウントが検証された場合には、ステップ1016で、ポート789上の要求PCに対し、要求されたクレジットの認定が返信される。ステップ1018で追加のデータソケットが存在すると判定された場合には、プロセスはステップ1002へと戻り、上記に説明したとおり、受信された他の要求を同時に処理する。他のデータソケットが存在しない場合には、プロセスはステップ1008へと戻り、プロセスは繰り返される。ステップ1012でアカウントが検証されない場合には、ステップ1014で認定されなかった要求(例えば、アカウント番号の不存在、クレジットカード認定の失敗、など)に関し非認定アカウントのメッセージが要求PCに対して返信される。
【０２２７】
認定コンピュータシステム16は、標準クレジットカード処理を実施し、クレジット数値についての費用が提出されたクレジットカードにおいて入手可能であるかどうかを判定する。クレジットカード番号の代わりに、アカウント番号が提出された場合には、アカウント番号は標準課金システムに転送され、アカウントが有効であるかどうか、また要求額はかかるアカウントから入手可能であるかどうかが検証される。課金情報が有効とされた場合には、認定されたクレジット数と一緒に、確認メッセージが要求PCに対し返信される。確認を受信した際に、要求PCは、クレジットを、認定されたクレジット数だけ増加させる。あるいは、認定コンピュータシステム16は、要求されたよりも少ない数のクレジットを承認することができる。
【０２２８】
クレジット認定を受信した際に、主要制御モジュールは、図11に示すクレジット追加ルーチンを呼び出し、認定された新しいクレジットを当該時点で残存するクレジットに追加する。図11では、ステップ1100で、要求PCが、クレジットプロセッサから返信された受信クレジット数を読み取る。続いて、ステップ1102で、要求PCは当該時点で残存するクレジット残数を解読する。ユーザが自らのPCに含まれるクレジット数に不正な変更を加えることを防ぐために、公知のいかなる符号化／複合の様式をも使用してよい。あるいは、受信したクレジット認定を格納するために、「Smart Card」などの外部デバイスを使用することができる。ステップ1104で、認定された新しいクレジットは、残存するクレジット残数に追加される。続いて、ステップ1106で、新しいクレジット値が符号化される。最後に、ステップ1108で、新しいクレジット残数が、ある好適実施例では図24に示すクレジットバー109に表示される。
【０２２９】
ファイルがPCにより転送されると、主要制御モジュールは図12に示すクレジット控除ルーチンを呼び出し、残存するクレジットを一または複数のクレジット分変更する。ある好適実施例によると、異なるファイルサイズの転送について、異なる数のクレジットを差し引くことができる。例えば、1メガバイト未満のファイル転送は、転送毎に1クレジットのみを必要とするかもしれないが、1メガバイト以上のファイル転送は、転送毎に2クレジットを必要とするかもしれない。
【０２３０】
次に、図12を参照しつつ、ファイル転送のためにクレジットを除去する例示的プロセスを説明する。ステップ1200で、現在の転送に必要なクレジット数が判定される。各ファイルサイズに必要なクレジット数は、ルックアップテーブルに格納するようにしてよい。続いて、ステップ1202で、当該時点でのクレジット残数が復号される。ステップ1204で、トランザクション費用が当該時点のクレジット残数から差し引かれる。最後に、ステップ1206で、修正されたクレジット残数が符号化され、ステップ1204で、新しいクレジット残数が表示される。
【０２３１】
ある好適実施例によると、一律レートによる請求システムが用いられる。例えば、ある企業は月間の転送数を無制限として固定額を支払ってよい。一律レート請求システムを実施するためには、個々のPCについて、ある時点で許されるクレジット総数の上限を設定する必要がある。一律レートサービスを登録した企業が月毎の支払いを履行しない場合には、クレジット数は制限されるべきである。クレジット上限数を設けることにより、不履行のあった企業が、不履行後に余分の無料クレジットを自己のPCに有し、それにより余分の無料転送を受けることを防止することができる。当然ながら、不履行企業のPC上には余分のクレジットが残存し得る。しかしながら、クレジット上限数を設けることにより、損失が低減される。
【０２３２】
一律レートシステムによると、ローカル機器は請求されるクレジット数を制限し、かかる機器が上限を超過することを防ぐ。例えば、許されるクレジットの上減数が100クレジットであり、ユーザが当該時点で90クレジットを有し、ユーザが50クレジットを要求する場合には、要求PCは要求の転送を防止する。あるいは、要求PCは、要求数を、許されるクレジット数、この例では10クレジットに減らしてよい。一律レートサービスを登録したPCにおけるクレジット数が、PC上のクレジットを消耗するときには、認定者は提出されたアカウント番号が有効なアカウントであり、要求されたクレジット数が上記の上限に達するのに必要な数であることのみを判定する。
【０２３３】
別の好適実施例によると、各PCに残存する認定ファイル数は、動的に表示される。このように、当該時点で利用可能なクレジット数が表示され、クレジット数が例えばファイル転送により変更されるときには、変更がユーザのディスプレイ画面に示される。動的ディスプレイの一実施例が、図24にクレジット燃料ゲージ109として示され、これは当該時点で利用可能なクレジット数を示す。最大クレジット数との関連で利用可能なクレジットのパーセンテージも表示してよい。ここでも、表示されるクレジット数は可調整ロッキング限度における変更を反映する。
【０２３４】
図1には、ただ一つのクレジットプロセッサ16および独立証明プロセッサ18が示されるが、複数のクレジットプロセッサおよび複数の独立証明プロセッサが存在してよい。複数のクレジットプロセッサが存在する場合には、それぞれのPC10は、好適にはそれぞれのアドレスを通知され、ランダムに接続するシステムを選択する。ある好適実施例において、それぞれのPC10は、さまざまな部分集合のアドレスを含んでおり、これによりネットワークトランザクションが分散される。
【０２３５】
ある好適実施例によると、送信エラーがあった場合にも、エラードクターにより、ファイルを首尾よく送ることができる。首尾よい送信を実現するためには、送信パーソナルコンピュータで作動する制御モジュールが、パソコン間で転送される、グループからなるファイルを2つの個別セグメントに仕切る。それぞれの個別セグメントは、転送されるファイルの一部を含む。このような分割は、送信エラーが生じた時点で生じ、上首尾に送信された第1セグメント、送信に失敗した第2セグメントとする。
【０２３６】
ファイル転送に使用されるプロトコル、例えばTCP/IPは、送信PCに対し、送信がいつ中断されたか、すなわち接続がいつ喪失されたかを知らせる。送信PCは、接続を喪失した後に別の接続を確立し、ファイルの全グループの再送信を試みる。しかしながら、受信PCは、最後の転送が不完全であったことを直ちに送信PCに対して知らせ、首尾よく受信された量を通知する。ある好適実施例において、受信PCは、実際の受信量からバッファ量を差し引き、中断された送信の終盤で生じたエラーを補償する。続いて、送信PCは、かかるグループのうち送信されていない部分、すなわち第2セグメントを計算し、第2セグメントを同一の受信PCに対して送信する。受信時に、受信PCは、バッファ量に等しい量を第1セグメントの最後に上書きした後に、ファイル内容を喪失することなしに、2つの個別ファイルを、圧縮されたファイルのただ一つのパケットへと結合する。さらに中断がある場合には、プロセスは、ファイル全体が首尾よく受信されるかまたは送信PCがグループからなるファイルの送信を断念するまで繰り返される。通常、送信PCは、過剰のエラーがあるときに送信を停止する。
【０２３７】
ポーリング：図13参照
本発明は、さらに、宛先ウィンドウ中の宛先の接続状態を定期的にポーリングするようにされる。接続状態ポーリングには、その他の記録PCから宛先識別情報の返信を要求することが含まれ、これはいずれのPC宛先が、通信を開始可能であるようなアクティブな接続を有するかを判断するために行われる。可視的にこれを呈示し、特定済みのアクティブな接続をそれぞれ示すことにより、いずれのPC宛先が通信要求の受信用に利用可能であるかをユーザに対して知らせてよい。
【０２３８】
接続状態に関して宛先をポーリングすることは、UNIXシステム上でリモートサイトにPINGすること(pinging)に類似する。しかしながら、接続状態のポーリングの方がより洗練されており、その理由として、ポーリングすることによりサイトがアクティブであるかが判定されるばかりでなく、サイトのIDが意図する実際の受信者であるかどうかが判定されるためである。図13に示すアクティブIP接続ルーチンを点検することにより、宛先ウィンドウに列挙される宛先の接続状態、並びに残存するクレジット数がアップデートされる。
【０２３９】
次に、図13を参照しつつ、接続状態を実行するための例示的ロジックを説明する。ステップ1300で、ロジックは宛先バー内の最初の宛先を判定する。続いて、ステップ1302で、宛先として挙げられるアドレスにIDパケットが送信される。ステップ1304で、宛先がアクティブでないと記され、これに従い例えば暗く表示される。ステップ1306で、宛先から応答が受信されたかどうかが判定される。応答が受信された場合には、プログラムは応答をステーション名またはその他認証者コード語と比較し、ファイルに記載される内容と適合するよう確実を期す。これらが一致する場合には、宛先はアクティブであると記され、これに続いてファイル転送が行われてよい。このように、ステップ1308で、宛先はアクティブであると記され、これに従い表示される。続いて、ステップ1310で、他の宛先についてその状態がポーリング済みでないかどうかが判定される。ここでも同様に、ステップ1306で応答が受信されておらず、または適合がない場合に、IDパケットはそのまま捨てられ、宛先はアクティブでない状態で留まり、ステップ1310で、他の宛先についてその状態がポーリング済みでないかどうかが判定される。
【０２４０】
いかなる宛先についてもその状態がポーリング済みでない場合には、次の宛先はステップ1312で決定され、ロジックはステップ1302に戻り、かかる宛先について処理が繰り返される。ステップ1310で、全ての宛先についてその状態がポーリング済みであると判定された場合には、ステップ1312で、クレジット表示はアップデートされ、残存するクレジット数が示される。続いて、プロセスはステップ1314で終了する。ある好適実施例によると、状態ポーリングプロセスは定期的に、例えば20秒毎に繰り返される。リモートサイトがIDパケットを受信すると、ファイル受信モジュールは、ステップ422で、受信PCのステーション名およびその他セットアップ中に確立された必要な認証データを返信し、これには例として認証コードが含まれ得る。
【０２４１】
一例として、国際郵便サービス事業モデルに適用された本発明の好適実施例には、インターネットなどの通信経路とアクティブな接続を有する、台数無制限のサービスユーザコンピュータが含まれる。それぞれのコンピュータは、本発明によるコンピュータプログラムを作動し、これによりある一つのコンピュータから数を問わないその他のコンピュータに対し、直接に、ほぼ同時に、並列に、暗号化されたファイル転送を行うことが可能となる。電子受領証は、自動的に生成され、宛先コンピュータで受信されたファイルを文書化しつつ、「第三者である委託者」の証明プロセッサを通じて自動的に送信者に返信される。送信者と受信者との間のファイル転送は、即時かつ直接に行われる。サービスユーザは、各ユーザコンピュータにおいてローカルに所在するクレジットアカウント中のクレジットを減じられることにより、ファイル転送の料金を支払い、クレジットは特定の通貨レートによる支払に比例して電子的に復元され、料金および復元方法はサービスプロバイダの方針に従う。ファイル転送上のセキュリティは、堅固なユーザ認証およびファイル暗号化により保証される。例えば、以下に挙げるサービスプロセッサとして作動するコンピュータ、すなわち(1)一または複数のクレジット要求プロセッサ、(2) 一または複数の受信通知プロセッサ、および／または(3) 一または複数の暗号化／復号キー発行者、ユーザ認証またはセキュリティ方針管理プロセッサ（以下、セキュリティサーバという）、が存在し、作動し、通信経路とのアクティブな接続を通じて利用可能である。これらの処理コンピュータの物理的な所在は、セキュリティ方針上、またサービスユーザによる支払のためにのみ重要であるが、プロセッサの物理的セキュリティは必要とされる。これらの問題は、サービスプロバイダの方針に従い解決される。
【０２４２】
サービスを利用する資格は、セキュリティサーバにおいてユーザID認証および登録が行われることにより得られる。サービスの利用へのアクセスは、本発明のコンピュータプログラムをインストールおよび利用することにより得られる。コンピュータプログラムは、例えばユーザ登録時に取得される。サービスを利用することにより、ユーザのコンピュータまたは外部デバイス(例えば、登録時に取得されるSmart Card)中に格納されるクレジットアカウント中のクレジットが消費される。サービスを長期にわたって継続的に利用する場合には、クレジットの自動要求をクレジットプロセッサに提出することにより、クレジットを補充することが必要となる。発行されたクレジットについての支払は、請求または回収手続、およびサービスプロバイダのシステムに従って行われる。クレジット認定は、通信経路(すなわち、インターネット)を通じてクレジットプロセッサからユーザのコンピュータへと返信され、ユーザのクレジットは補充される。
【０２４３】
サービスプロバイダの所望により、共通キー暗号化またはワンタイム・パッドが実施され得る。ファイルは、転送前に、共通キーを用いて、第三者である委託セキュリティサーバから各送信者が取得した個々の宛先に関し、これを暗号化することができる。あるいは、個々のトランザクションについて、第三者セキュリティサーバから送信者と受信者との間で自動的に取得されたワンタイム・パッドを用いて、ファイルを転送前に暗号化することができる。暗号化されたファイルおよび認証済みのユーザID、並びに送信されるファイルの「ハッシュ」（「電子指紋」）は、プロセッサまたはセキュリティサーバを通過することなしに、通信経路（すなわち、インターネット）を通じて、コンピュータ間で直接に送信される。受信されたファイルは、共通キーにより暗号化が実施された場合には、受信者の個人キーを用いて解読してよい。あるいは、受信されたファイルは、ワンタイム・パッドにより暗号化が実施され、かつ受信者のIDおよびセキュリティサーバに対する解読要求が実施されたセキュリティ方針と一致した場合には、これを自動的に解読することができる。ステーション間での暗号化、または個人間での暗号化など、さまざまなセキュリティ方針が実施されてよい。
【０２４４】
完了されたファイルトランザクションは、（1）ファイル受信者のコンピュータにインストール済みの本発明のコンピュータプログラムにより生成されるか、（2）インターネットを通じて証明プロセッサへと自動的に転送されるか、（3）委託された第三者（証明プロセッサ）により「消印」が付されるか、あるいは（4）証明プロセッサからファイル送信者のコンピュータへと自動的に転送される受信通知により受信者用に証明される。 ファイル受信者のコンピュータにより生成される受信通知は、ファイル受信の日付および時刻、登録IDで示される交換に関わる当事者、転送されたファイルの電子指紋（ハッシュ）、受信されたファイルの特徴など、一定の範囲の情報を含んでよい。委託された第三者証明プロセッサにより受信通知が証明されるときには、証明の日付および時刻、暗号化および解読の日付および時刻（セキュリティサーバから取得）、および（4）委託された第三者認証権限者による証明「消印」など、一定の範囲の追加情報を加えてよい。
【０２４５】
本発明によりさまざまなビジネスモデルのその他の実施例が構想される。想定されるシステムには、（1）コンピュータまたはコンピュータ装置の大規模な配列が、ファイルを、主として一または比較的少ない数のコンピュータへと転送するシステム、（2）一または比較的少ない数のコンピュータが、ファイルを、コンピュータまたは計算機の大きな列へと転送するシステム、および（3）本発明の少なくともいくつかのシステム機能を実施し、それにより直接に、ほぼ同時に、並列に、暗号化されたファイル転送を行うこと、また委託された第三者を通じて、送信者に自動的に返信または証明される電子受信証明書を生成し、宛先コンピュータで受信されたファイルを文書化することを可能にするシステムが含まれる。
【０２４６】
本明細書においては、特定の規格およびプロトコルを言及しつつ、実施例で実施される構成要素および機能を説明しているが、本発明はこれらの規格およびプロトコルに限定されない。例えば、TCP/IPおよびインターネットは、技術の態様を表す実例として、本明細書全体で言及される。しかしながら、これらの規格は、本質的に同一の機能を有するより高速かつより効率的な同等の規格に周期的に取って代わられる。したがって、同じ機能を有する代替の規格およびプロトコルは同等と見なされる。
【０２４７】
本発明は、いくつかの例示的実施例に言及しつつこれを説明したが、用いたこれらの語は、説明および例示のための語であって、限定するための語ではない。変更は、本発明の諸態様において、本発明の範囲および精紳から逸脱することなく、付属の請求項（現在記されるかまたは修正されたもの）の範囲内で行われ得る。本発明は、特定の手段、資料および実施例に言及してこれを説明したが、本発明は開示される特定事項に限定されることを意図せず、本発明は付属の請求項の範囲内に含まれるものなど、機能的に同等の全ての構造、方法および利用法に及ぶ。
【図面の簡単な説明】
【図１】  図1は、本発明の一態様による、限定された台数のパーソナル・コンピュータがさまざまな通信経路に接続される、システムアーキテクチャを示す概略ブロック図である。
【図２】  図2は、本発明の一態様による、自動化された機能並びにグラフィカルユーザインターフェースを通じてアクセスされるユーザ呼出機能を制御する主要制御モジュールの例示的ロジックのフローチャート図である。
【図３】  図3および図26は、本発明の一態様による、ファイル送信機能を制御するファイル送信モジュールの例示的ロジックのフローチャート図である。
【図４】  図4、図27および図28は、本発明の一態様による、ファイル受信機能を制御するファイル受信モジュールの例示的ロジックのフローチャート図である。
【図５】  図5は、本発明の一態様による、受信確認要求を処理する例示的ロジックを示すフローチャート図である。
【図６】  図6は、本発明の一態様による、ユーザが別のPCからの要求がある際に利用したいと望むファイルのインデックスを作成するインデックス作成モジュールの例示的ロジックを示すフローチャート図である。
【図７】  図7は、本発明の一態様による、主要制御モジュール中の要求ファイル保留イベントを形成するインデックス作成モジュールの例示的ロジックを示すフローチャート図である。
【図８】  図8は、本発明の一態様による、一または複数のファイルについての要求またはインデックスを処理し、保留イベントを形成し、主要制御モジュール中の要求されたファイルまたはインデックスを返信する返信要求ファイルモジュールの例示的ロジックを示すフローチャート図である。
【図９】  図9は、本発明の一態様による、認定されるべき課金情報およびファイル送信数を収集し、主要制御モジュール中の認定要求保留イベントを形成する要求クレジットモジュールの例示的ロジックを示すフローチャート図である。、
【図１０】  図10は、本発明の一態様による、クレジットサーバ上で作動するクレジット要求処理モジュールの例示的ロジックを示すフローチャート図である。
【図１１】  図11は、本発明の一態様による、残存するクレジットを新たに認定されたクレジットの数量だけ増加させるクレジット追加モジュールの例示的ロジックを示すフローチャート図である。
【図１２】  図12は、本発明の一態様による、クレジットを転送費用の金額だけ減じるクレジット控除モジュールの例示的ロジックを示すフローチャート図である。
【図１３】  図13は、本発明の一態様による、宛先ウィンドウに列挙される個々のアドレスについて、アクティブな接続を定期的にチェックするアクティブ接続モジュールの一例を示すフローチャート図である。
【図１４】  図14は、本発明の一態様による、第三者認証者による受信確認要求の処理の例示的ロジックを示すフローチャート図である。
【図１５】  図15は、本発明の一態様による、ファイル送信および受信イベントを記録するイベントログウィンドウの一例を示すフローチャート図である。
【図１６】  図16は、本発明の一態様による、イベントログファイル中に列挙されるイベントに関してその特性および列挙ファイルを示すイベント特性ウィンドウの一例を示すフローチャート図である。
【図１７】  図17は、本発明の一態様による、転送ファイルを選択するための送信ウィンドウおよび、ファイルを転送する宛先を選択するための宛先ウィンドウの一例を示すフローチャート図である。
【図１８】  図18は、本発明の一態様による、宛先ウィンドウ内の宛先アドレスを追加および編集するための宛先追加／編集ウィンドウの一例を示すフローチャート図である。
【図１９】  図19は、本発明の一態様による、ファイルを転送しかつファイル転送を開始する目的で宛先を選択するための宛先選択ウィンドウの一例を示すフローチャート図である。
【図２０】  図20は、本発明の一態様による、転送するファイルを選択するための送信ウィンドウ、並びにイベントログファイル中に列挙されるイベントに関してその特性および列挙ファイルを示すイベント特性ウィンドウの別の一例を示すフローチャート図である。
【図２１】  図21は、本発明の一態様による、転送するファイルを選択するための転送ウィンドウ、並びにイベントログファイル中に列挙されるイベントに関してその特性および列挙ファイルを示すイベント特性ウィンドウの別の一例を示すフローチャート図である。
【図２２】  図22は、本発明の一態様による、宛先PCにより要求できるファイルのインデックスを作成するためのインデックス構築ウィンドウの一例を示すフローチャート図である。
【図２３】  図23は、本発明の一態様による、別のPCからファイルを要求するためのファイル要求ウィンドウの一例を示すフローチャート図である。
【図２４】  図24は、本発明の一態様による、転送するファイルを選択するための転送ウィンドウ、およびファイルを転送する宛先を選択するための宛先ウィンドウ、並びにクレジット転送バーおよびクレジット要求ボタンの一例を示すフローチャート図である。
【図２５】  図25は、本発明の一態様による、ファイル送信スケジューリングモジュールの一例を示すフローチャート図である。
【図２６】  図３および図26は、本発明の一態様による、ファイル送信機能を制御するファイル送信モジュールの例示的ロジックのフローチャート図である。
【図２７】  図4、図27および図28は、本発明の一態様による、ファイル受信機能を制御するファイル受信モジュールの例示的ロジックのフローチャート図である。
【図２８】  図4、図27および図28は、本発明の一態様による、ファイル受信機能を制御するファイル受信モジュールの例示的ロジックのフローチャート図である。
【図１】
0004683723.tif 000002
【図２】
0004683723.tif 000003
【図３】
0004683723.tif 000004
【図４】
0004683723.tif 000005
【図５】
0004683723.tif 000006
【図６】
0004683723.tif 000007
【図７】
0004683723.tif 000008
【図８】
0004683723.tif 000009
【図９】
0004683723.tif 000010
【図１０】
0004683723.tif 000011
【図１１】
0004683723.tif 000012
【図１２】
0004683723.tif 000013
【図１３】
0004683723.tif 000014
【図１４】
0004683723.tif 000015
【図１５】
0004683723.tif 000016
【図１６】
0004683723.tif 000017
【図１７】
0004683723.tif 000018
【図１８】
0004683723.tif 000019
【図１９】
0004683723.tif 000020
【図２０】
0004683723.tif 000021
【図２１】
0004683723.tif 000022
【図２２】
0004683723.tif 000023
【図２３】
0004683723.tif 000024
【図２４】
0004683723.tif 000025
【図２５】
0004683723.tif 000026
【図２６】
0004683723.tif 000027
【図２７】
0004683723.tif 000028
【図２８】
0004683723.tif 000029