(57)【要約】  ファイルの群についてのダウンロード要求を受信するステップと、該ファイルの群がロックされているか否かを決定するステップと、該ファイルの群がロックされていないと決定すると、該ダウンロード要求を許可するステップと、該ファイルの群及び該ダウンロード要求に対応する転送オブジェクトであって、該ファイルの群及び該ダウンロード要求に関する情報を含む転送オブジェクトを生成するステップと、該ファイルの群のなかのファイルに対してダウンロード動作を実行するステップと、該ファイルの群の全てのファイルがダウンロードされると、該転送オブジェクトを削除するステップと、を有するファイルを転送する方法
2016520931.tif 000002
【特許請求の範囲】
【請求項１】
ファイルの群についてのダウンロード要求を受信するステップと、
前記ファイルの群がロックされているか否かを決定するステップと、
前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可するステップと、
前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成するステップと、
前記ファイルの群のなかのファイルに対してダウンロード動作を実行するステップと、
前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するステップと、
を有する、ファイルを転送する方法。
【請求項２】
失効した転送動作をチェックするステップと、
失効した転送動作を消去するステップと、
を更に有する、請求項１に記載の方法。
【請求項３】
前記失効した転送動作をチェックするステップは、
前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するステップと、
該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するステップと、
を有する、請求項２に記載の方法。
【請求項４】
前記ファイルの群がロックされているか否かを決定するステップは、
前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトが、アップロード動作に対応するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、又は他の転送オブジェクトのいずれもがアップロード動作に対応しない場合、前記ファイルの群がロックされていないと決定し、前記ダウンロード要求を許可するステップと、
を有する、請求項１に記載の方法。
【請求項５】
前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するステップと、
前記ファイルの群のなかの全てのファイルがダウンロードされると、前記転送マップから前記転送オブジェクトを削除するステップと、
を更に有する、請求項１に記載の方法。
【請求項６】
一時ディレクトリを生成するステップと、
前記ファイルの群からのファイルを前記一時ディレクトリにダウンロードするステップと、
前記ファイルの群のなかの全てのファイルがダウンロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するステップと、
を更に有する、請求項１に記載の方法。
【請求項７】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項１に記載の方法。
【請求項８】
ファイルの群についてのアップロード要求を受信するステップと、
前記ファイルの群がロックされているか否かを決定するステップと、
前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可するステップと、
前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成するステップと、
前記ファイルの群のなかのファイルに対してアップロード動作を実行するステップと、
前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するステップと、
を有する、ファイルを転送する方法。
【請求項９】
失効した転送動作をチェックするステップと、
失効した転送動作を消去するステップと、
を更に有する、請求項８に記載の方法。
【請求項１０】
前記失効した転送動作をチェックするステップは、
前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するステップと、
該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するステップと、
を有する、請求項９に記載の方法。
【請求項１１】
前記ファイルの群がロックされているか否かを決定するステップは、
前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、前記ファイルの群がロックされていないと決定し、前記アップロード要求を許可するステップと、
を有する、請求項８に記載の方法。
【請求項１２】
前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するステップと、
前記ファイルの群のなかの全てのファイルがアップロードされると、前記転送マップから前記転送オブジェクトを削除するステップと、
を更に有する、請求項８に記載の方法。
【請求項１３】
一時ディレクトリを生成するステップと、
前記ファイルの群からのファイルを前記一時ディレクトリにアップロードするステップと、
前記ファイルの群のなかの全てのファイルがアップロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するステップと、
を更に有する、請求項８に記載の方法。
【請求項１４】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項８に記載の方法。
【請求項１５】
１つ以上のプログラムを保存する持続性コンピュータ読み取り可能媒体であって、前記プログラムは、コンピュータにより実行されたときに、ファイルを転送する方法を前記コンピュータに実行させる命令を含み、前記方法は、
ファイルの群についてのダウンロード要求を受信するステップと、
前記ファイルの群がロックされているか否かを決定するステップと、
前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可するステップと、
前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成するステップと、
前記ファイルの群のなかのファイルに対してダウンロード動作を実行するステップと、
前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するステップと、
を有する、持続性コンピュータ読み取り可能媒体。
【請求項１６】
前記方法は更に、
失効した転送動作をチェックするステップと、
失効した転送動作を消去するステップと、
を有する、請求項１５に記載の持続性コンピュータ読み取り可能媒体。
【請求項１７】
前記失効した転送動作をチェックするステップは、
前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するステップと、
該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するステップと、
を有する、請求項１６に記載の持続性コンピュータ読み取り可能媒体。
【請求項１８】
前記ファイルの群がロックされているか否かを決定するステップは、
前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトが、アップロード動作に対応するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、又は他の転送オブジェクトのいずれもがアップロード動作に対応しない場合、前記ファイルの群がロックされていないと決定し、前記ダウンロード要求を許可するステップと、
を有する、請求項１５に記載の持続性コンピュータ読み取り可能媒体。
【請求項１９】
前記方法は更に、
前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するステップと、
前記ファイルの群のなかの全てのファイルがダウンロードされると、前記転送マップから前記転送オブジェクトを削除するステップと、
を有する、請求項１５に記載の持続性コンピュータ読み取り可能媒体。
【請求項２０】
前記方法は更に、
一時ディレクトリを生成するステップと、
前記ファイルの群からのファイルを前記一時ディレクトリにダウンロードするステップと、
前記ファイルの群のなかの全てのファイルがダウンロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するステップと、
を有する、請求項１５に記載の持続性コンピュータ読み取り可能媒体。
【請求項２１】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項１５に記載の持続性コンピュータ読み取り可能媒体。
【請求項２２】
１つ以上のプログラムを保存する持続性コンピュータ読み取り可能媒体であって、前記プログラムは、コンピュータにより実行されたときに、ファイルを転送する方法を前記コンピュータに実行させる命令を含み、前記方法は、
ファイルの群についてのアップロード要求を受信するステップと、
前記ファイルの群がロックされているか否かを決定するステップと、
前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可するステップと、
前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成するステップと、
前記ファイルの群のなかのファイルに対してアップロード動作を実行するステップと、
前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するステップと、
を有する、持続性コンピュータ読み取り可能媒体。
【請求項２３】
前記方法は更に、
失効した転送動作をチェックするステップと、
失効した転送動作を消去するステップと、
を有する、請求項２２に記載の持続性コンピュータ読み取り可能媒体。
【請求項２４】
前記失効した転送動作をチェックするステップは、
前記失効した転送動作をチェックするステップは、
前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するステップと、
該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するステップと、
を有する、請求項２３に記載の持続性コンピュータ読み取り可能媒体。
【請求項２５】
前記ファイルの群がロックされているか否かを決定するステップは、
前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するステップと、
前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、前記ファイルの群がロックされていないと決定し、前記アップロード要求を許可するステップと、
を有する、請求項２２に記載の持続性コンピュータ読み取り可能媒体。
【請求項２６】
前記方法は更に、
前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するステップと、
前記ファイルの群のなかの全てのファイルがアップロードされると、前記転送マップから前記転送オブジェクトを削除するステップと、
を有する、請求項２２に記載の持続性コンピュータ読み取り可能媒体。
【請求項２７】
前記方法は更に、
一時ディレクトリを生成するステップと、
前記ファイルの群からのファイルを前記一時ディレクトリにアップロードするステップと、
前記ファイルの群のなかの全てのファイルがアップロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するステップと、
を有する、請求項２２に記載の持続性コンピュータ読み取り可能媒体。
【請求項２８】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項２２に記載の持続性コンピュータ読み取り可能媒体。
【請求項２９】
ファイルを転送するためのシステムであって、前記システムは、
ファイルの群についてのダウンロード要求を受信し、前記ファイルの群がロックされているか否かを決定し、前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可し、前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成し、前記ファイルの群のなかのファイルに対してダウンロード動作を実行し、前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するように構成されたサーバを有する、システム。
【請求項３０】
前記サーバは、失効した転送動作をチェックし、失効した転送動作を消去するように構成された、請求項２９に記載のシステム。
【請求項３１】
前記サーバは、前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するように構成され、前記サーバは、前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するように構成され、前記サーバは、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するように構成された、請求項３０に記載のシステム。
【請求項３２】
前記サーバは、前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するように構成された、前記サーバは、前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトが、アップロード動作に対応するか否かを決定するように構成され、前記サーバは、前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、又は他の転送オブジェクトのいずれもがアップロード動作に対応しない場合、前記ファイルの群がロックされていないと決定し、前記ダウンロード要求を許可するように構成された、請求項２９に記載のシステム。
【請求項３３】
前記サーバは、前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するように構成され、前記サーバは、前記ファイルの群のなかの全てのファイルがダウンロードされると、前記転送マップから前記転送オブジェクトを削除するように構成された、請求項２９に記載のシステム。
【請求項３４】
一時ディレクトリを生成し、前記ファイルの群からのファイルを前記一時ディレクトリにダウンロードし、前記ファイルの群のなかの全てのファイルがダウンロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するように構成された、クライアント装置を更に有する、請求項２９に記載のシステム。
【請求項３５】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項２９に記載のシステム。
【請求項３６】
ファイルの群についてのアップロード要求を受信し、前記ファイルの群がロックされているか否かを決定し、前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可し、前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成し、前記ファイルの群のなかのファイルに対してアップロード動作を実行し、前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するように構成されたサーバを有する、システム。
【請求項３７】
前記サーバは、失効した転送動作をチェックし、失効した転送動作を消去するように構成された、請求項３６に記載のシステム。
【請求項３８】
前記サーバは、前記転送動作を生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するように構成され、前記サーバは、前記ファイルの群に対応する他の転送オブジェクトが存在すると決定すると、各他の転送オブジェクトについて、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいか否かを決定するよう構成され、前記サーバは、該他の転送オブジェクトに含まれる最後の転送時間の情報を現在の時間から減算した値が、所定の失効時間よりも大きいとの決定に応じて、該他の転送オブジェクトを削除するように構成された、請求項３７に記載のシステム。
【請求項３９】
前記サーバは、前記転送オブジェクトを生成するのに先立ち、前記ファイルの群に対応する他の転送オブジェクトが存在するか否かを決定するように構成され、前記サーバは、前記ファイルの群に対応する他の転送オブジェクトが存在しない場合、前記ファイルの群がロックされていないと決定し、前記アップロード要求を許可するように構成された、請求項３６に記載のシステム。
【請求項４０】
前記サーバは、前記転送オブジェクトを生成すると、前記ファイルの群及び他のファイルの群に対応する転送オブジェクトを含む転送マップに、前記転送オブジェクトを追加するように構成され、前記サーバは、前記ファイルの群のなかの全てのファイルがアップロードされると、前記転送マップから前記転送オブジェクトを削除するように構成された、請求項３６に記載のシステム。
【請求項４１】
前記サーバは、一時ディレクトリを生成し、前記ファイルの群からのファイルを前記一時ディレクトリにアップロードし、前記ファイルの群のなかの全てのファイルがアップロードされると、前記ファイルの群を前記一時ディレクトリから最終ディレクトリに移動し、前記一時ディレクトリを削除するように構成された、請求項３６に記載のシステム。
【請求項４２】
前記ファイルの群は、睡眠検査に関連するファイルを含む、請求項３６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの転送に関し、特に、睡眠検査データを転送するためのシステム及び方法に関する。
【背景技術】
【０００２】
閉塞性睡眠時無呼吸（ＯＳＡ）は、世界中で何百万人もの人々に影響を与えている病気である。ＯＳＡは、睡眠の間の呼吸における乱れ又は中断によって特徴付けられる。ＯＳＡの発現は、少なくとも１０秒、しばしば１乃至２分もの間継続する、睡眠の間の空気流の部分的な又は完全な閉塞に起因する。或る夜に、中程度から重度の無呼吸を持つ人は、一晩に２００乃至５００回もの完全な又は部分的な呼吸途絶を経験し得る。斯かる人の睡眠は定期的に妨害されるため、心身の効率的な機能に必要な回復のための睡眠を奪われることとなる。斯かる睡眠障害は、高血圧、鬱病、脳卒中、心不整脈、心筋梗塞及びその他の心疾患と関連している。また、ＯＳＡは過度の疲労を引き起こす。
【０００３】
或る患者がＯＳＡを患っているか否かを評価するため、種々の方法が用いられている。最も総合的な方法は、多くの重大な睡眠時病状を診断できる、医療用睡眠ポリグラフ（ＰＳＧ）である。ＰＳＧは一般に、患者の睡眠検査を含み、該患者が寝ている間に該患者の音響及びその他のパラメータが記録される。次いで技術者が、該記録されたデータに「スコア」を付ける。該記録されたデータにスコア付けすることは、該データを解析して、睡眠時病状を診断するのに有用となり得る、ＰＳＧの間に起きる事象の特定を含む。ＰＳＧの間に集められたデータは一般に、複数の音響ファイル、その他のデータファイル、及びスコアファイルのような、幾つかの種々のファイルに保存される。
【０００４】
ＰＳＧデータ（睡眠検査データとも呼ばれる）は、睡眠研究所、スコア付けする技術者のオフィス、及び医師のオフィスのような、幾つかの種々の場所において生成又は利用される。インターネットのようなネットワークを通して複数の場所にアクセス可能な、サーバのような中央位置に睡眠検査データを保存することが好適である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在のファイル転送サービスは、サーバ上の一時ディレクトリを更新し、該更新が完了すると、ファイルが永続ディレクトリにコピーされる。このプロトコルは、更新が完了する前に接続が失われた場合のような、単一のファイルの不完全な転送が、サーバに永続的に保存されることを防止する。幾つかのファイル転送サービスは、一時ディレクトリを省略し、ファイルを最終位置に直接にコピーする。しかしながら、この工程は、不完全な転送が起きた場合に、最終位置に不完全なファイルが保存されてしまうことに導き得る。
【０００６】
ファイルがアップロードされているときに、サーバは同期ロックを提供し、これにより同じファイルが別のユーザによって同時にアップロード又はダウンロードされることを防ぐ。しかしながら、現在のファイル転送プロトコルの下では、アップロードは永続ディレクトリに転送され、同期ロックはファイルごとに提供される。即ち、１つのファイルのアップロードが完了すると、該ファイルは永続ディレクトリに転送され、同期ロックが停止することとなる。
【０００７】
現在のファイル転送サービスは、サーバからクライアントコンピュータへファイルをダウンロードするときも同様な態様で挙動する。即ち、これらサービスは、ダウンロードが完了する前に接続が失われるような場合に、不完全なファイルが最終目的ディレクトリにダウンロードされることを防ぐため、ファイルを一時ディレクトリにダウンロードし得る。幾つかのサービスは、ファイルを最終目的ディレクトリに直接にダウンロードし得るが、このことは不完全な転送に帰着し得る。更に、ファイルがダウンロードされているときに、クライアントのオペレーションシステムが同期ロックを提供し、該ファイルがダウンロードされている間に他のアプリケーションが該ファイルにアクセスすることを防止する。しかしながら、現在のファイル転送プロトコルの下では、同期ロックはファイルごとに提供される。
【０００８】
睡眠検査データファイルの場合には、ファイル転送は、互いに関連した複数のデータファイルから成り得るものであり、それ自体が１つの論理ユニットとして転送される必要がある。アップロードの場合、これらファイルの最初の１つが適切にサーバにアップロードされ、これらデータファイルの次の１つをアップロードしている間に接続が失われたとすると、サーバに保存される睡眠検査データファイルのセットが不完全なものとなる。更に、睡眠検査ファイルの更新されたセットをアップロードしている間に接続が失われると、その結果のサーバ上の睡眠検査データファイルのセットは、更新された幾つかのデータファイルと、更新されていない幾つかのデータファイルとを持つこととなり、サーバに保存された睡眠検査データファイルのセットの完全性を損なってしまう。同様に、ユーザがデータファイルの２つめのものをアップロードしている場合、最初のデータファイルに対する同期ロックが停止させられ、他のユーザが最初のデータファイルをダウンロードすることが可能となる。
【０００９】
同様の問題は、睡眠検査ファイルをダウンロードする場合にも当てはまる。即ち、サーバからクライアントにファイルをダウンロードしているときにサーバへの接続が失われると、クライアント上に保存された睡眠検査データファイルのセットが不完全なものとなる。更に、睡眠検査ファイルの更新されたセットをダウンロードしている間に接続が失われると、その結果のクライアント上の睡眠検査データファイルのセットは、更新された幾つかのデータファイルと、更新されていない幾つかのデータファイルとを持つこととなり、クライアントに保存された睡眠検査データファイルのセットの完全性を損なってしまう。同様に、ユーザが最初のデータファイルをダウンロードしている場合、サーバにおける同期ロックは、該最初のものがダウンロードされている間に該サーバ上のその他の睡眠データファイルをユーザが更新しないように防止しないこととなる。その結果、クライアントにダウンロードされる睡眠データファイルのセットは、更新された幾つかのデータファイルと、更新されていない幾つかのデータファイルとを持つこととなる。
【００１０】
睡眠検査データファイルをサーバに転送する目的のため、睡眠検査データファイルを単一のエンティティとして取り扱い、永続ディレクトリに転送される前に睡眠検査データファイルの完全なセットがサーバにアップロードされること、及び、ユーザが睡眠検査データファイルをアップロードしているときに睡眠検査データファイルの完全なセットが同期ロックされることを確実にすることが好適である。同様に、睡眠検査データファイルをサーバからダウンロードするときには、睡眠検査データファイルを単一のエンティティとして取り扱い、永続ディレクトリに転送される前に完全なセットがダウンロードされることを確実にし、ユーザが睡眠検査データファイルをダウンロードしているときに睡眠検査データファイルの完全なセットがロックされることを確実にすることが好適である。幾つかの場合には、睡眠検査データファイルは、ＺＩＰファイルのような単一のファイルにパッケージ化されて転送され得るが、睡眠検査データファイルをパッケージ化及びパッケージ解除する工程は、面倒なものであり時間を浪費するものとなり得る。
【００１１】
従ってサーバへの及びサーバからの睡眠検査データファイルの転送における改善に対するニーズが存在する。
【課題を解決するための手段】
【００１２】
一実施例においては、ファイルを転送する方法は、ファイルの群についてのダウンロード要求を受信するステップと、前記ファイルの群がロックされているか否かを決定するステップと、前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可するステップと、前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成するステップと、前記ファイルの群のなかのファイルに対してダウンロード動作を実行するステップと、前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するステップと、を含む。
【００１３】
別の実施例においては、ファイルを転送する方法は、ファイルの群についてのアップロード要求を受信するステップと、前記ファイルの群がロックされているか否かを決定するステップと、前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可するステップと、前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成するステップと、前記ファイルの群のなかのファイルに対してアップロード動作を実行するステップと、前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するステップと、を含む。
【００１４】
別の実施例においては、１つ以上のプログラムを保存する持続性コンピュータ読み取り可能媒体が提供され、前記プログラムは、コンピュータにより実行されたときに、ファイルを転送する方法を前記コンピュータに実行させる命令を含み、前記方法は、ファイルの群についてのダウンロード要求を受信するステップと、前記ファイルの群がロックされているか否かを決定するステップと、前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可するステップと、前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成するステップと、前記ファイルの群のなかのファイルに対してダウンロード動作を実行するステップと、前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するステップと、を含む。
【００１５】
別の実施例においては、１つ以上のプログラムを保存する持続性コンピュータ読み取り可能媒体が提供され、前記プログラムは、コンピュータにより実行されたときに、ファイルを転送する方法を前記コンピュータに実行させる命令を含み、前記方法は、ファイルの群についてのアップロード要求を受信するステップと、前記ファイルの群がロックされているか否かを決定するステップと、前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可するステップと、前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成するステップと、前記ファイルの群のなかのファイルに対してアップロード動作を実行するステップと、前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するステップと、を含む。
【００１６】
別の実施例においては、サーバを含むファイルを転送するためのシステムが提供され、該サーバは、ファイルの群についてのダウンロード要求を受信し、前記ファイルの群がロックされているか否かを決定し、前記ファイルの群がロックされていないと決定すると、前記ダウンロード要求を許可し、前記ファイルの群及び前記ダウンロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記ダウンロード要求に関する情報を含む転送オブジェクトを生成し、前記ファイルの群のなかのファイルに対してダウンロード動作を実行し、前記ファイルの群の全てのファイルがダウンロードされると、前記転送オブジェクトを削除するよう構成される。
【００１７】
別の実施例においては、サーバを含むファイルを転送するためのシステムが提供され、該サーバは、ファイルの群についてのアップロード要求を受信し、前記ファイルの群がロックされているか否かを決定し、前記ファイルの群がロックされていないと決定すると、前記アップロード要求を許可し、前記ファイルの群及び前記アップロード要求に対応する転送オブジェクトであって、前記ファイルの群及び前記アップロード要求に関する情報を含む転送オブジェクトを生成し、前記ファイルの群のなかのファイルに対してアップロード動作を実行し、前記ファイルの群の全てのファイルがアップロードされると、前記転送オブジェクトを削除するよう構成される。
【００１８】
本発明のこれらの及びその他の目的、特徴及び特性、並びに構造の関連する要素及び部分の組み合わせの動作及び機能の方法、及び製造の経済性は、添付図面を参照しながら、以下の説明及び添付される請求項を考察することによってより明らかとなるものであり、これらは全て本明細書の一部を形成するものであり、種々の図において、同様の参照番号は対応する部分を示す。しかしながら、これら図面は単に説明の目的のためのものであり、本発明の限定の定義として意図されたものではないことは、明確に理解されるべきである。
【図面の簡単な説明】
【００１９】
【図１】開示される概念の一実施例による中央化された位置において睡眠検査データを収集及び保存するよう構成されたシステムの模式図である。
【図２】開示される概念の一実施例による転送オブジェクトの視覚的表現である。
【図３】開示される概念の一実施例による転送マップの視覚的表現である。
【図４】開示される概念の一実施例によるファイルをダウンロードする方法のフロー図である。
【図５】開示される概念の一実施例によるファイルをアップロードする方法のフロー図である。
【図６】開示される概念の実施例による、ファイルがロックされているか否かをチェックする方法のフロー図である。
【図７】開示される概念の実施例による、ファイルがロックされているか否かをチェックする方法のフロー図である。
【図８】開示される概念の実施例による失効した転送動作をチェックする方法のフロー図である。
【発明を実施するための形態】
【００２０】
ここで用いられる、単一形「１つの（a、an、the）」は、別段の明確な記載がない限り、複数の対象を含む。ここで用いられる、２つ以上の部分が「結合される（coupled）」なる表現は、これらの部分が、直接に接合されるか、又は１つ以上の中間部分を通して間接的に接合されることを意味する。ここで用いられる、「直接に結合される（directly coupled）」なる表現は、２つの要素が互いに直接に接触していることを意味する。ここで用いられる、「固定的に結合される（fixedly coupled）」又は「固定される（fixed）」なる表現は、２つの構成要素が、互いに対する一定の向きを維持しつつ動くよう結合されることを意味する。
【００２１】
ここで用いられる、「単一の（unitary）」なる語は、構成要素が単一の部品又はユニットとして生成されていることを意味する。即ち、別個に生成され、次いで１つのユニットとして結合された部品を含む構成要素は、「単一の」構成要素又は本体ではない。ここで用いられる、２つ以上の部分又は構成要素が互いに「係合する（engage）」なる表現は、これら部分が、互いに直接に、又は１つ以上の中間部分又は構成要素を通して、力をかけていることを意味する。ここで用いられる、「数（number）」なる語は、１又は１よりも大きな整数（即ち複数）を意味する。
【００２２】
ここで用いられる、例えば（限定するものではない）上、下、左、右、上部、下部、前、後、及びこれらの派生語のような、方向を表す語句は、図面に示された要素の向きに関連するものであり、明確に言及されない限り、請求の範囲を限定するものではない。
【００２３】
睡眠検査データを収集及び保存するよう構成されたシステム１が、全体として図１に示される。システム１は、睡眠研究所２、リモートのスコア付け技術者サイト４、リモートの医師サイト６、及び中央サーバサイト８を含む、幾つかの場所に分散される。中央サーバサイト８はサーバ３２及び睡眠研究所２の各々を含み、リモートのスコア付け技術者サイト４及びリモートの医師サイト６はクライアント２０を含む。クライアント２０はそれぞれ、インターネット接続１０のような適切なネットワーク接続によってサーバ３２に接続される。
【００２４】
クライアント２０は、限定するものではないが、汎用コンピュータ、無線装置、パーソナルコンピュータ又は携帯電話のような、いずれかの適切な処理装置である。クライアント２０及びサーバ３２はそれぞれ、関連するメモリ２２を含む。メモリ２２は、限定するものではないが、コンピュータの内部記憶領域の形をとるもののようなデータ記憶装置のための記憶レジスタ即ち機械読み取り可能な媒体を提供する、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＦＬＡＳＨ（登録商標）等のような、種々のタイプの内部及び／又は外部記憶媒体のうちのいずれか１つ以上であっても良く、揮発性メモリであっても良いし又は不揮発性メモリであっても良い。メモリ２２は、クライアント２０又はサーバ３２の外に位置していても良く、関連するクライアント２０又はサーバ３２と通信可能に接続されていても良い。メモリ２２は、関連するクライアント２０又はサーバ３２から取り外されることができる、着脱可能な装置であっても良い。
【００２５】
睡眠研究所２は、患者室１２及び制御室１４を含む。患者室１２と制御室１４とは、ローカルエリアネットワーク接続１６のような適切なネットワーク接続によって、通信可能に接続される。患者室１２は、データ収集設備１８を含む。データ収集設備１８は、限定するものではないが、オーディオ及びビデオデータ、脳波図（ＥＥＧ）データ、心電図（ＥＣＧ）データ、電気眼球図（ＥＯＧ）データ、筋電図（ＥＭＧ）データ、鼻の気流の測定値、血中酸素レベルの測定値、及び／又はその他の生理学的パラメータのような、生の睡眠検査データを集めるために用いられる。制御室１４は、クライアント２０及びメモリ２２を含む。該生の睡眠検査データは、ローカルエリアネットワーク接続１６を介してデータ収集設備１８からクライアント２０へと転送され、メモリ２２に保存される。該生の睡眠検査データは、ファイルのセットとしてメモリ２２に保存される。
【００２６】
リモートのスコア付け技術者サイト４は、関連するクライアント２０及びメモリ２２を含む。リモートのスコア付け技術者サイト４におけるスコア付け技術者は、生の睡眠検査データに「スコア付け」を行い、スコアデータをファイルとしてメモリ２２に保存する。該スコアデータは、限定するものではないが、睡眠段階データ、無呼吸事象データ、及び高心拍数事象データのようなデータを含む。
【００２７】
リモートの医師サイト６は、関連するクライアント２０及びメモリ２２を含む。リモートの医師サイト６における医師は、該生の睡眠検査データ及びスコアデータを参照して、患者を診断する。
【００２８】
中央サーバサイト８は、データを送受信するためにクライアント２０と通信可能に接続されたサーバ３２を含む。サーバ３２は、データを保存するメモリ２２を含む。サーバ３２は、ウェブサービス３４を更に含む。ウェブサービス３４は、データのアップロード又はダウンロードのため、クライアント２０からの要求に対する応答のような、サーバ３２とクライアント２０との間の通信を調整する。ウェブサービス３４はまた、サーバ３２とクライアント２０との間の転送動作を追跡する。サーバ３２とクライアント２０との間の転送動作を追跡するため、ウェブサービス３４は、図２及び３に関連して以下に詳細に説明されるデータ構造を用いる。サーバ３２は、クライアント２０のいずれかによりダウンロード又はアップロードされることができるように、中央集約的に睡眠検査データを保存するよう構成される。
【００２９】
睡眠研究所２、リモートのスコア付け技術者サイト４及びリモートの医師サイト６が図１に示されたが、開示される概念の範囲から逸脱することなく、いずれの適切なリモートのサイトが、中央サーバサイト８における睡眠検査データにアクセスするよう構成され得ることは、理解されるであろう。
【００３０】
開示される概念の一実施例による転送オブジェクト４０の視覚的表現が、全体として図２に示される。転送オブジェクト４０は、限定するものではないが、或るクライアント２０とサーバ３２との間の転送動作（例えばファイルの群のアップロード又はダウンロード）についての情報を保持したクラスのような、データ構造である。転送オブジェクト４０に保持された情報は、転送ＩＤ４２、「isDownloadOperation」４４及び「lastFileTransferTime」４６を含む。転送ＩＤ４２は、転送オブジェクト４０に対応する転送動作についての一意な識別情報である。「isDownloadOperation」４４は、転送動作がダウンロード動作（即ちサーバ３２からクライアント２０への転送）であるか、アップロード動作（即ちクライアント２０からサーバ３２への転送）であるか、を示す情報である。「lastFileTransferTime」４６は、転送動作のためファイル転送が最後に開始された時間を示す情報である。「lastFileTransferTime」４６は、転送動作が失効したか否かを決定するために有用である。
【００３１】
開示される概念の一実施例による転送マップ５０の視覚的表現が、全体として図３に示される。転送マップ５０は、限定するものではないが、現在進行中である全ての転送動作についての情報を含む辞書又はハッシュテーブルのような、データ構造である。転送マップ５０は、各睡眠検査に対応するファイル群転送情報５２を含むような構造とされる。各ファイル群転送情報５２は、ファイル群転送情報５２が対応するファイルの群を識別するために用いられる、対応する一意のファイル群ＩＤ５４（例えば睡眠検査ＩＤ）を含む。各ファイル群転送情報５２はまた、ファイル群ＩＤ５４に対応するそれぞれの進行中の転送動作についての転送オブジェクト４０を含む。ファイル群転送情報５２はまた、転送マップ５０から未だ削除されていない失効した転送動作についての転送オブジェクトを含んでも良い。
【００３２】
クライアント２０とサーバ３２との間でファイルを転送する方法は、図４及び５を参照しながら以下に説明される。
【００３３】
開示される概念の一実施例による、サーバ３２からクライアント２０へとの群（即ち睡眠検査ファイルの群）をダウンロードする方法のフロー図が、全体として図４に示される。ステップ６０において、クライアント２０は、サーバ３２からのダウンロードを要求する。クライアント２０は、ダウンロードの要求において、ウェブサービス３４にファイル群ＩＤ５４を送る。ダウンロードの要求を受信すると、ウェブサービスは、ステップ６２において、失効した転送動作をチェックし、いずれの失効した転送動作もを消去する。失効した転送動作のチェック及び消去の工程は、図７に関連して以下に詳細に説明される。
【００３４】
失効した転送動作を消去した後、ウェブサービス３４は、ステップ６４において、ダウンロードを要求されたファイルがロックされているか否かをチェックする。該要求されたファイルがロックされているか否かをチェックする工程は、図６に関連して以下に詳細に説明される。ダウンロードを要求されたファイルがロックされている場合には、ウェブサービス３４は、ステップ６６において、ダウンロード要求を拒否し、ダウンロード動作をキャンセルする。
【００３５】
要求されたファイルがロックされていない場合には、ウェブサービス３４は、ステップ６８において、ダウンロード要求を継続し、新たな転送オブジェクト４０を生成する。以上に説明されたように、転送オブジェクト４０は、転送動作に一意な転送ＩＤ４２と、現在の転送動作がダウンロードであることを示す値を保持した「isDownloadOperation」４４と、最後のファイルが転送された時間についての情報を保持した「lastFileTransferTime」４６と、を含む。ステップ７０において、ウェブサービス３４は、最も新しく生成された転送オブジェクト４０を含むよう、転送マップ５０を更新する。転送マップ５０が、要求されたファイルの群に対応するファイル群転送情報５２を含まない場合には、ウェブサービス３４は、該要求されたファイルの群に対応するファイル群ＩＤ５４を含む新たなファイル群転送情報５２のエントリを生成し、最も新しく生成された転送オブジェクト４０を該新たなファイル群転送情報５２に含める。要求されたファイルの群に対応するファイル群転送情報５２が既に存在する場合には、ウェブサービス３４は、最も新しく生成された転送オブジェクト４０を、対応するファイル群転送情報５２に追加する。転送マップ５０が更新されると、ウェブサービス３４は、転送ＩＤ４２をクライアント２０へと戻すよう送信し、これによりクライアント２０が、要求されたファイルの群をダウンロードすることを開始できるようになる。
【００３６】
ステップ７２において、クライアント２０は、ダウンロードされたファイルを一時的に保存するための一時ディレクトリを生成する。ステップ７４において、クライアント２０は、ファイル群ＩＤ５４、転送ＩＤ４２及び要求されたファイルの名前をウェブサービス３４に伝送することにより、要求されたファイルの１つを該一時ディレクトリにダウンロードする。ウェブサービス３４は、該要求されたファイルを探し、該要求されたファイルのダウンロードを開始する。ウェブサービス３４はまた、現在の動作に対応する転送オブジェクト４０中の「lastFileTransferTime」４６を更新して、該ダウンロード動作が開始した時間を示すようにする。要求されたファイルを受信すると、クライアント２０は、該ファイルを一時ディレクトリに置く。ステップ７６において、クライアント２０は、要求されたファイルの群の中の全てのファイルがダウンロードされたか否かをチェックする。全てのファイルがダウンロードされていない場合には、クライアント２０は、要求されたファイルの群の中の次のファイルについてステップ７４を繰り返す。全てのファイルがダウンロードされた場合、クライアント２０は、ウェブサービス３４にダウンロード動作が完了したことを通知する。
【００３７】
ステップ７８において、ウェブサービス３４は、最も最近に完了したダウンロード動作に対応する転送オブジェクト４０を消去する。ステップ８０において、ウェブサービス３４は、転送マップ５０から転送オブジェクト４０を消去することによって転送マップ５０を更新し、要求されたファイルの群に対応するファイル群転送情報５２に転送オブジェクト４０が残っていない場合には、ウェブサービス３４は更に、要求されたファイルの群に対応するファイル群転送情報５２を転送マップ５０から除去する。
【００３８】
ステップ８２において、クライアント２０は、ダウンロードされたファイルを、一時ディレクトリから、ユーザがファイルをダウンロードする先として要求したディレクトリのような、最終的なダウンロード先へと移動する。ステップ８４において、クライアント２０は、該一時ディレクトリを消去する。
【００３９】
開示される概念の一実施例による、ファイルの群（例えば睡眠検索ファイルの群）をクライアント２０の１つからサーバ３２へとアップロードする方法のフロー図が、全体として図５に示される。ステップ９０において、クライアント２０は、サーバ３２へのアップロードを要求する。クライアント２０は、該アップロードの要求において、ウェブサービス３４にファイル群ＩＤ５４を送る。アップロードの要求を受信すると、ステップ９２において、ウェブサービス３４は、失効した転送動作をチェックし、いずれの失効した転送動作もを消去する。失効した転送動作のチェック及び消去の工程は、図７に関連して以下に詳細に説明される。
【００４０】
失効した転送動作を消去した後、ウェブサービス３４は、ステップ９４において、ダウンロードを要求されたファイルがロックされているか否かをチェックする。該要求されたファイルがロックされているか否かをチェックする工程は、図６に関連して以下に詳細に説明される。アップロードを要求されたファイルがロックされている場合には、ウェブサービス３４は、ステップ９６において、アップロード要求を拒否し、アップロード動作をキャンセルする。
【００４１】
要求されたファイルがロックされていない場合には、ウェブサービス３４は、ステップ９８において、アップロード要求を継続し、新たな転送オブジェクト４０を生成する。以上に説明されたように、転送オブジェクト４０は、転送動作に一意な転送ＩＤ４２と、現在の転送動作がアップロードであることを示す値を保持した「isDownloadOperation」４４と、最後のファイルが転送された時間についての情報を保持した「lastFileTransferTime」４６と、を含む。ステップ１００において、ウェブサービス３４は、最も新しく生成された転送オブジェクト４０を含むよう、転送マップ５０を更新する。転送マップ５０が、要求されたファイルの群に対応するファイル群転送情報５２を含まない場合には、ウェブサービス３４は、該要求されたファイルの群に対応するファイル群ＩＤ５４を含む新たなファイル群転送情報５２のエントリを生成し、最も新しく生成された転送オブジェクト４０を該新たなファイル群転送情報５２に含める。要求されたファイルの群に対応するファイル群転送情報５２が既に存在する場合には、ウェブサービス３４は、最も新しく生成された転送オブジェクト４０を、対応するファイル群転送情報５２に追加する。
【００４２】
ステップ１０２において、ウェブサービス３４は、アップロードされたファイルを一時的に保存するための一時ディレクトリをサーバ３２に生成する。一時ディレクトリが生成されると、ウェブサービス３４は、転送ＩＤ４２をクライアント２０に送り返し、これによりクライアント２０が、要求されたファイルの群をアップロードすることを開始できるようになる。
【００４３】
ステップ１０４において、クライアント２０は、要求されたファイルの１つをサーバ３２上の該一時ディレクトリにダウンロードする。ファイルがアップロードされると、クライアント２０は、ファイル群ＩＤ５４、転送ＩＤ４２及び要求されたファイルの名前をウェブサービス３４に伝送する。ウェブサービス３４は、現在の動作に対応する転送オブジェクト４０中の「lastFileTransferTime」４６を更新して、該アップロード動作が開始した時間を示すようにする。要求されたファイルを受信すると、ウェブサービス３４は、該ファイルをサーバ３２上の一時ディレクトリに置く。ステップ１０６において、クライアント２０は、要求されたファイルの群の中の全てのファイルがアップロードされたか否かをチェックする。全てのファイルがダウンロードされていない場合には、クライアント２０は、要求されたファイルの群の中の次のファイルについてステップ１０４を繰り返す。全てのファイルがダウンロードされた場合、クライアント２０は、ウェブサービス３４にアップロード動作が完了したことを通知する。
【００４４】
ステップ１０８において、ウェブサービス３４は、アップロードされたファイルを、一時ディレクトリから、最終的なアップロード先へと移動する。ステップ１１０において、ウェブサービス３４は、該一時ディレクトリを削除する。
【００４５】
ステップ１１２において、ウェブサービス３４は、最も最近に完了したアップロード動作に対応する転送オブジェクト４０を消去する。ステップ１１４において、ウェブサービス３４は、転送マップ５０から転送オブジェクト４０を消去することによって転送マップ５０を更新し、要求されたファイルの群に対応するファイル群転送情報５２に転送オブジェクト４０が残っていない場合には、ウェブサービス３４は更に、要求されたファイルの群に対応するファイル群転送情報５２を転送マップ５０から消去する。
【００４６】
開示される概念の一実施例による、ファイルがダウンロード動作からロックされているか否かをチェックする方法のフロー図が、全体として図６に示される。本方法は、図４におけるステップ６４において、ファイルの群がダウンロードされることからロックされているか否かをチェックするため、ウェブサービス３４により利用される。ステップ１２０において、ウェブサービス６４は、要求されたファイルの群について転送オブジェクト４０が存在するか否かをチェックする。ウェブサービス３４は、要求されたファイルの群についてファイル群ＩＤ５４に対応するファイル群転送情報５２が存在するか否かを調べるため、転送マップ５０をチェックする。ファイル群転送情報５２が転送マップ５０に存在しない場合、ウェブサービス３４は、要求されたファイルの群について進行中の転送動作がないことを決定し、ステップ１２４において、ウェブサービス３４はダウンロード要求を許可する。
【００４７】
ファイル群転送情報５２が転送マップ５０に存在する場合には、ウェブサービス３４は、キーのなかの全ての転送オブジェクト０をチェックして、要求されたファイルの群について進行中のアップロード動作があるか否かを決定する。ウェブサービス３４は、ファイル転送オブジェクト４０のなかの「isDownloadOperation」４４をチェックして、要求されたファイルの群について進行中のアップロード動作があるか否かを決定する。ファイルの１つの群に対して複数の同時のダウンロードが許容されるため、ウェブサービス３４が進行中のアップロード動作がないことを決定すると、ステップ１２４において、ウェブサービス３４はダウンロード動作を許可する。しかしながら、進行中のアップロード動作がある場合には、ウェブサービス３４はステップ１２６においてダウンロード要求を拒否し、ダウンロード要求が拒否されたことをクライアント２０に通知する。ステップ１２８において、図６の方法は終了する。図６の方法が終了した後、ダウンロード要求が拒否された場合にはステップ６６において、ダウンロード要求が許可された場合にはステップ６８において、図４の方法が継続する。
【００４８】
開示される概念の一実施例による、ファイルがアップロード動作からロックされているか否かをチェックする方法のフロー図が、全体として図７に示されている。本方法は、図５におけるステップ９４においてファイルの群がアップロードされることからロックされているか否かをチェックするため、ウェブサービス３４により用いられる。ステップ１３０において、ウェブサービス３４は、要求されたファイルの群について転送オブジェクト４０が存在するか否かをチェックする。ウェブサービス３４は、転送マップ５０をチェックして、該要求されたファイルの群についての群ＩＤ５４に対応するファイル群転送情報５２が存在するか否かを調べる。転送マップ５０にファイル群転送情報５２が存在しない場合、ウェブサービス３４は、該要求されたファイルの群について進行中の転送動作はないことを決定し、ステップ１３２に進んでアップロード要求を許可する。転送マップ５０にファイル群転送情報５２が存在する場合には、ウェブサービス３４は、ダウンロード又はアップロード動作が現在進行中であることを決定し、ステップ１３４に進んでアップロード要求を拒否する。
【００４９】
ステップ１３６において、図７の方法は終了する。図７の方法が終了した後、図５の方法は、アップロード要求が拒否された場合はステップ９６において、アップロード要求が許可された場合はステップ９８において、継続する。
【００５０】
開示される概念の一実施例による、失効した転送動作をチェック及び消去する方法のフロー図が、全体として図８に示されている。本方法は、図４におけるステップ６２及び図５におけるステップ９２において、失効した転送動作をチェック及び消去するため、ウェブサービス３４により用いられる。ステップ１４０において、ウェブサービス３４は、要求されたファイルの群について転送オブジェクト４０が存在するか否かをチェックする。ウェブサービス３４は、転送マップ５０をチェックして、該要求されたファイルの群についての群ＩＤ５４に対応するファイル群転送情報５２が存在するか否かを調べる。転送マップ５０にファイル群転送情報５２が存在しない場合、ウェブサービス３４は、失効した転送動作はないと決定し、ステップ１４８に進んでルーチンを終了する。
【００５１】
ファイル群転送情報５２が存在する場合、ウェブサービス３４は、ステップ１４２に進み、ファイル群転送情報５２における転送オブジェクト４０をチェックして、いずれかの転送動作が失効しているか否かを決定する。失効したファイル転送とは、個々のファイルについての所定の失効時間を超過する時間に亘って進行中であったもので、限定するものではないがインターネット接続が失われたこと等のいずれかの理由のため転送が失敗したために完了しなかったファイル転送である。ウェブサービス３４は、ファイル群転送情報５２のなかの転送オブジェクト４０における「lastFileTransferTime」４６をチェックして、最後にファイル転送が開始された時間と現在の時間との間の時間が所定の失効時間を超過しているか否かを決定する。該所定の時間は、単一のファイル転送が要することを許可された、選択された最大の時間である。最後にファイル転送が開始された時間と現在の時間との間の時間が該所定の失効時間を超過していない場合、ウェブサービス３４は、転送動作が依然として進行中であると決定し、ステップ１４８に進んでルーチンを終了する。最後にファイル転送が開始された時間と現在の時間との間の時間が該所定の失効時間を超過している場合には、ウェブサービス３４は、当該条件を満たす転送動作が失効していると決定し、ステップ１４４に進んで対応する転送オブジェクト４０を消去する。ウェブサービス３４は次いで、ステップ１４６において転送マップ５０を更新し、転送マップ５０から転送オブジェクト４０を消去する。その後、図８の方法はステップ１４８において終了し、図４の方法がステップ６４において継続するか、又は図５の方法がステップ９４において継続する。
【００５２】
個々のファイル転送に対して所定の失効時間を設定することは、ウェブサービス３４が、限定するものではないがインターネット接続が失われたこと等のいずれかの理由のため失敗した転送動作に対する転送オブジェクト４０及び一時ディレクトリを整理することを可能とする。転送オブジェクト４０の整理は、ファイルが無制限にロックされることを防ぎ、後にファイル群のなかのファイルに対して他のユーザがファイル転送動作を実行すること可能とする。該所定の失効時間はまた、単一のファイル転送のための時間を制限することにより、サーバ３２に対するサービス妨害（ＤｏＳ）攻撃を防止するのに役立つ。
【００５３】
開示された概念は、睡眠検査データの転送について説明されたが、該開示された概念は、リモートの場所と中央記憶位置との間のいずれのタイプのデータの転送における使用にも適合され得ることが考えられる。該開示された概念は、ファイルの群を転送する際における使用に特に適していることは、理解されるであろう。
【００５４】
開示された概念は、有形の持続性のコンピュータ読み取り可能な記録媒体上のコンピュータ読み取り可能なコードとしても実施化され得る。該コンピュータ読み取り可能な記録媒体は、後にコンピュータシステムによって読み取られることができるデータを保存することができるいずれかのデータ記憶装置である。該コンピュータ読み取り可能な記録媒体の非限定的な例は、読み取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＲＡＭ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、ディスク型記憶装置、及び光学データ記憶装置を含む。
【００５５】
請求項において、括弧に挟まれたいずれの参照記号も、請求の範囲を限定するものとして解釈されるべきではない。「有する（comprising）」又は「含む（including）」なる語は、請求項に記載されたもの以外の要素又はステップの存在を除外するものではない。幾つかの手段を列記した装置請求項において、これら手段の幾つかは同一のハードウェアのアイテムによって実施化されても良い。要素に先行する「１つの（a又はan）」なる語は、複数の斯かる要素の存在を除外するものではない。幾つかの手段を列記したいずれの装置請求項においても、これら手段の幾つかは同一のハードウェアのアイテムによって実施化されても良い。特定の要素が相互に異なる従属請求項に列挙されているという単なる事実は、これら要素の組み合わせが有利に利用されることができないことを示すものではない。
【００５６】
本発明は、現在最も実用的で好適な実施例と考えられるものに基づいて説明の目的のために詳細に説明されたが、斯かる詳細は単に当該目的のものであり、本発明は開示される実施例に限定されるものではなく、逆に添付される請求項の精神及び範囲内である変形及び等価な構成をカバーすることを意図されている。例えば、本発明は、可能な限り、いずれかの実施例の１つ以上の特徴が他のいずれかの実施例の１つ以上の特徴と組み合わせられ得ることを想定するものであることは、理解されるべきである。
【図１】
2016520931.tif 000003
【図２】
2016520931.tif 000004
【図３】
2016520931.tif 000005
【図４】
2016520931.tif 000006
【図５】
2016520931.tif 000007
【図６】
2016520931.tif 000008
【図７】
2016520931.tif 000009
【図８】
2016520931.tif 000010
【国際調査報告】
2016520931.tif 000011
2016520931.tif 000012