US20160085920A1 - System and method for transferring a group of related files as one logical unit - Google Patents
System and method for transferring a group of related files as one logical unit Download PDFInfo
- Publication number
- US20160085920A1 US20160085920A1 US14/890,180 US201414890180A US2016085920A1 US 20160085920 A1 US20160085920 A1 US 20160085920A1 US 201414890180 A US201414890180 A US 201414890180A US 2016085920 A1 US2016085920 A1 US 2016085920A1
- Authority
- US
- United States
- Prior art keywords
- files
- transfer
- group
- transfer object
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F19/322—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- the present invention pertains to transferring files, and, in particular, to a system and method for transferring sleep study files.
- OSA Obstructive sleep apnea
- OSA is a condition that affects millions of people from around the world.
- OSA is characterized by disturbances or cessation in breathing during sleep.
- OSA episodes result from partial or complete blockage of airflow during sleep that lasts at least 10 seconds and often as long as 1 to 2 minutes.
- people with moderate to severe apnea may experience complete or partial breathing disruptions as high as 200-500 per night. Because their sleep is constantly disrupted, they are deprived of the restorative sleep necessary for efficient functioning of body and mind.
- This sleep disorder has also been linked with hypertension, depression, stroke, cardiac arrhythmias, myocardial infarction and other cardiovascular disorders. OSA also causes excessive tiredness.
- a PSG generally involves a sleep study of a patient where audio and other parameters of the patient is recorded while the patient sleeps.
- a technician then “scores” the recorded data. Scoring the recorded data involves analyzing the data to identify events that occurred during the PSG that may be useful in diagnosing sleep pathologies.
- Data collected during a PSG is generally stored in several different files such as multiple audio files, other data files, and a scoring file.
- the PSG data (also referred to as sleep study data) is generated or used in several different locations, such as a sleep lab, a scoring technician's office, and a physician's office. It is preferable to store the sleep study data at a central location, such as a server, where it is accessible to multiple locations through a network, such as the internet.
- the server When a file is being uploaded, the server will provide synchronization locking which prevents the same file from being uploaded or downloaded by a different user at the same time.
- uploads are transferred to a permanent directory and synchronization locking is provided on a file-by-file basis. That is, when uploading of one file is complete, the file will be transferred to the permanent directory and the synchronization locking will stop.
- file transfers may consist of multiple data files that are related to each other, and as such, must be transferred as one logical unit.
- an upload if the first one of the files is uploaded to the server properly and the connection is lost while uploading the second one of the data files, then the set of sleep study data files stored on the server will be incomplete.
- connection is lost while uploading an updated set of sleep study files, the resultant set of sleep study data files on the server will have some data files that are updated and some that are not updated, thus compromising the integrity of the set of sleep study data files stored on the server.
- the synchronization locking for the first data file will have stopped and another user will be able to download the first data file.
- the same issues apply when downloading sleep study files. That is, if the connection to the server is lost when downloading files from the server to the client, then the set of sleep study data files stored on the client will be incomplete. Furthermore, if the connection is lost while downloading an updated set of sleep study files, the resultant set of sleep study data files on the client will have some data files that are updated and some that are not updated, thus compromising the integrity of the set of sleep study data files stored on the client. Similarly, if a user is downloading the first data file, the synchronization locking on the server will not prevent users from updating the other sleep data files on the server while the first is being downloaded. The resultant set of sleep data files downloaded to the client will have some data files that are updated and some that are not updated.
- the sleep study data files For the purpose of transferring the sleep study data files to the server, it is preferable to treat the sleep study data files as a single entity to ensure that the complete set of sleep study data files is uploaded to the server before it is transferred to the permanent directory and that the complete set of sleep study data files is synchronization locked when a user is uploading the sleep study data files.
- sleep study data files can be packaged into a single file, such as a ZIP file, and then transferred, the process of packaging and unpacking the sleep study data files can become cumbersome and time consuming.
- method of transferring files includes receiving a download request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the download request, creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, performing download operations on the files in the group of files, and when all files in the group of files have been downloaded, deleting the transfer object.
- a method of transferring files includes receiving an upload request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the upload request, creating a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, performing upload operations on the files in the group of files, and when all files in the group of files have been uploaded, deleting the transfer object.
- a non-transitory computer readable medium storing one or more programs, including instructions, which when executed by a computer, causes the computer to perform a method of transferring files, the method including receiving a download request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the download request, creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, performing download operations on the files in the group of files, and when all files in the group of files have been downloaded, deleting the transfer object.
- a non-transitory computer readable medium storing one or more programs, including instructions, which when executed by a computer, causes the computer to perform a method of transferring files, the method including receiving an upload request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the upload request, creating a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, performing upload operations on the files in the group of files, and when all files in the group of files have been uploaded, deleting the transfer object.
- a system to transfer files includes a server structured to receive a download request for a group of files, to determine whether the group of files is locked, to allow the download request upon determining that the group of files is not locked, to create a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, to perform download operations on the files in the group of files, and to delete the transfer object when all files in the group of files have been downloaded.
- a system to transfer files includes a server structured to receive an upload request for a group of files, to determine whether the group of files is locked, to allow the upload request upon determining that the group of files is not locked, to create a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, to perform upload operations on the files in the group of files, and to delete the transfer object when all files in the group of files have been uploaded.
- FIG. 1 is a schematic view of a system adapted to collect and store sleep study data in a centralized location according to one exemplary embodiment of the disclosed concept;
- FIG. 2 is a visual representation of a transfer object in accordance with one exemplary embodiment of the disclosed concept
- FIG. 3 is a visual representation of a transfer map in accordance with one exemplary embodiment of the disclosed concept
- FIG. 4 is a flowchart of a method of downloading files in accordance with one exemplary embodiment of the disclosed concept
- FIG. 5 is a flowchart of a method of uploading files in accordance with one exemplary embodiment of the disclosed concept
- FIGS. 6 and 7 are flowcharts of method of checking if files are locked in accordance with embodiments of the disclosed concept.
- FIG. 8 is a flowchart of a method of checking for expired transfer operations in accordance with one exemplary embodiment of the disclosed concept.
- the word “unitary” means a component is created as a single piece or unit. That is, a component that includes pieces that are created separately and then coupled together as a unit is not a “unitary” component or body.
- the statement that two or more parts or components “engage” one another shall mean that the parts exert a force against one another either directly or through one or more intermediate parts or components.
- the term “number” shall mean one or an integer greater than one (i.e., a plurality).
- FIG. 1 A system 1 adapted to collect and store sleep study data is generally shown in FIG. 1 .
- System 1 is distributed over several locations including a sleep lab 2 , a remote scoring technician site 4 , a remote physician site 6 , and a central server site 8 .
- Central server site 8 includes a server 32 and each of sleep lab 2 , remote scoring technician site 4 , and remote physician site 6 include a client 20 .
- Clients 20 are each communicatively connected to server 32 by suitable network connections such as internet connections 10 .
- Clients 20 are any suitable processing device such as, without limitation, a general-purpose computer, a wireless device, a personal computer, or a mobile phone.
- Clients 20 and server 32 each include an associated memory 22 .
- Memory 22 can be any one or more of a variety of types of internal and/or external storage media such as, without limitation, RAM, ROM, EPROM(s), EEPROM(s), FLASH, and the like that provide a storage register, i.e., a machine readable medium, for data storage such as in the fashion of an internal storage area of a computer, and can be volatile memory or nonvolatile memory.
- Memory 22 may also be located outside of clients 20 or server 32 and communicatively connected with its associated client 20 or server 32 .
- Memory 22 may also be a removable device that is able to be removed from its associated client 20 or server 32 .
- Sleep lab 2 includes a patient room 12 and a control room 14 .
- Patient room 12 and control room 14 are communicatively connected by a suitable network connection such as a local area network connection 16 .
- Patient room 12 includes data collection equipment 18 .
- Data collection equipment 18 is used to collect raw sleep study data such, without limitation, audio and video data, electroencephalogram (EEG) data, electrocardiogram (ECG) data, electroculogram (EOG) data, electromyogram (EMG) data, measurements of nasal airflow, measurements of blood oxygen levels and/or other physiological parameters.
- Control room 14 includes client 20 and memory 22 .
- the raw sleep study data is transferred from data collection equipment 18 to client 20 via local area network connection 16 and is stored in memory 22 .
- the raw sleep study data is stored in memory 22 as a set of files.
- Remote scoring technician site 4 includes its associated client 20 and memory 22 .
- a scoring technician at remote scoring technician site 4 “scores” raw sleep study data and stores the scoring data in memory 22 as a file.
- the scoring data includes data such as, without limitation, sleep staging data, apnea event data, and high heart rate event data.
- Remote physician site 6 includes its associated client 20 and memory 22 .
- a physician at remote physician site 6 reviews the raw sleep study data and scoring data in order to diagnose a patient.
- Central server site 8 includes server 32 which is communicatively connected with clients 20 in order to send or receive data.
- Server 32 includes memory 22 which stores the data.
- Server 32 also includes web service 34 .
- Web service 34 coordinates communication between server 32 and clients 20 such as responding to requests from clients 20 for data uploads or downloads.
- Web service 34 also tracks transfer operations between server 32 and clients 20 .
- web service 34 uses data structures which will be described in more detail hereinafter with respect to FIGS. 2 and 3 .
- Server 32 is structured to centrally store sleep study data where it can be downloaded or updated by any of clients 20 .
- sleep lab 2 remote scoring technician site 4 and remote physician site 6 are shown in FIG. 1 , it will be appreciated that any suitable remote sites may be adapted to access sleep study data at central server site 8 without departing from the scope of the disclosed concept.
- Transfer object 40 is a data structure such as, without limitation, a class that holds information about a transfer operation (e.g., an upload or a download of a group of files) between one client 20 and server 32 .
- Information held in transfer object 40 includes transfer ID 42 , isDownloadOperation 44 , and lastFileTransferTime 46 .
- Transfer ID 42 is unique identification information for the transfer operation corresponding to transfer object 40 .
- IsDownloadOperation 44 is information indicating whether the transfer operation is a download operation (i.e., a transfer from server 32 to client 20 ) or an upload operation (i.e., a transfer from client 20 to server 32 ).
- LastFileTransferTime 46 is information indicating the last time a file transfer was started for the transfer operation. LastFileTransferTime 46 is useful for determining whether the transfer operation has expired.
- Transfer map 50 is a data structure such as, without limitation, a dictionary or hash table that contains information about all transfer operations that are currently in progress.
- Transfer map 50 is structured to include file group transfer information 52 corresponding to each sleep study.
- Each file group transfer information 52 includes a corresponding unique file group ID 54 (e.g., a sleep study ID) that is used to identify the group of files the file group transfer information 52 corresponds to.
- Each file group transfer information 52 also includes transfer objects 40 for each in progress transfer operation corresponding to the file group ID 54 .
- the file group transfer information 52 may also include transfer objects for expired transfer operations that have not yet been removed from transfer map 50 .
- FIG. 4 A flowchart of a method of downloading a group of files (e.g., a group of sleep study files) from server 32 to one of clients 20 in accordance with an exemplary embodiment of the disclosed concept is generally shown in FIG. 4 .
- client 20 requests a download from server 32 .
- Client 20 provides file group ID 54 to web service 34 in the request for download.
- web service checks for expired transfer operations and removes any expired transfer operations at 62 . The process of checking and removing expired transfer operations will be described in more detail with respect to FIG. 7 .
- web service 34 After removing expired transfer operations, web service 34 checks if the files requested for download are locked 64 . The process of checking if the requested files are locked will be described in more detail with respect to FIG. 6 . If the files requested for download are locked, web service 34 denies the download request and cancels the download operation at 66 .
- transfer object 40 includes transfer ID 42 which is unique to the transfer operation, isDownloadOperation 44 which holds a value indicating that the current transfer operation is a download, and lastFileTransferTime 46 to hold information on the time the last file was transferred.
- transfer map 50 updates transfer map 50 to include the recently created transfer object 40 .
- transfer map 50 does not include file group transfer information 52 corresponding to the requested group of files
- web service 34 creates a new file group transfer information 52 entry including the file group ID 54 corresponding to the requested group of files and includes the recently created transfer object 40 in the new file group transfer information 52 .
- web service 34 adds the recently created transfer object 40 to the corresponding file group transfer information 52 . Once transfer map 50 is updated, web service 34 communicates transfer ID 42 back to the client 20 which allows client 20 to begin downloading the requested group of files.
- client 20 creates a temporary directory in which to temporarily store the downloaded files.
- client 20 downloads one of the requested files to the temporary directory by communicating file group ID 54 , transfer ID 42 and the name of the requested file to web service 34 .
- Web service 34 locates the requested file and begins the download of the requested file.
- Web service 34 also updates the lastFileTransferTime 46 in the transfer object 40 corresponding to the current operation to indicate the time that the download operation started.
- client 20 places the file in the temporary directory.
- client 20 checks if all files in the requested group of files are downloaded. If all the files are not downloaded, client 20 repeats 74 for the next file in the requested group of files. If all the files are downloaded, client 20 informs web service 34 to indicate that the download operation is complete.
- web service 34 removes the transfer object 40 corresponding to the recently completed download operation.
- web service 34 updates transfer map 50 by removing transfer object 40 from transfer map 50 and, if there are no transfer objects 40 remaining in the file group transfer information 52 corresponding to the requested group of files, web service 34 also removes the file group transfer information 52 corresponding to the requested group of files from transfer map 50 .
- client 20 moves the downloaded files from the temporary directory to their final destination, such as a directory where a user requested the files to be downloaded to.
- client 20 deletes the temporary directory.
- FIG. 5 A flowchart of a method of uploading a group of files (e.g., a group of sleep study files) from one of clients 20 to server 32 in accordance with an exemplary embodiment of the disclosed concept is generally shown in FIG. 5 .
- client 20 requests an upload to server 32 .
- Client 20 provides file group ID 54 to web service 34 in the request for upload.
- web service 34 checks for expired transfer operations and removes any expired transfer operations at 92 . The process of checking and removing expired transfer operations will be described in more detail with respect to FIG. 7 .
- web service 34 After removing expired transfer operations, web service 34 checks if the files requested for upload are locked 94 . The process of checking if the requested files are locked will be described in more detail with respect to FIG. 6 . If the files requested for upload are locked, web service 34 denies the upload request and cancels the upload operation at 96 .
- transfer object 40 includes transfer ID 42 which is unique to the transfer operation, isDownloadOperation 44 which holds a value indicating that the current transfer operation is an upload, and lastFileTransferTime 46 to hold information on the time the last file was transferred.
- web service 34 updates transfer map 50 to include the recently created transfer object 40 .
- transfer map 50 does not include file group transfer information 52 corresponding to the requested group of files
- web service 34 creates a new file group transfer information 52 entry including the file group ID 54 corresponding to the requested group of files and includes the recently created transfer object 40 in the new file group transfer information 52 . If file group transfer information 52 corresponding to the requested group of files already exists, web service 34 adds the recently created transfer object 40 to the corresponding file group transfer information 52 .
- web service 34 creates a temporary directory on server 32 to store uploaded files. Once the temporary directory is created, web service 34 communicates transfer ID 42 back to the client 20 which allows client 20 to begin uploading the requested group of files.
- client 20 uploads one of the requested files to the temporary directory on server 32 .
- client 20 communicates file group ID 54 , transfer ID 42 and the name of the requested file to web service 34 .
- Web service 34 updates the lastFileTransferTime 46 in the transfer object 40 corresponding to the current operation to indicate the time that the upload operation started.
- web service 34 places the file in the temporary directory on server 32 .
- client 20 checks if all files in the requested group of files are uploaded. If all the files are not uploaded, client 20 repeats 104 for the next file in the requested group of files. If all the files are uploaded, client 20 informs web service 34 to indicate that the download operation is complete.
- web service 34 moves the uploaded files from the temporary directory to their final destination.
- web service 34 deletes the temporary directory.
- web service 34 removes the transfer object 40 corresponding to the recently completed upload operation.
- web service 34 updates transfer map 50 by removing transfer object 40 from transfer map 50 and, if there are no transfer objects 40 remaining in the file group transfer information 52 corresponding to the requested group of files, web service 34 also removes the file group transfer information 52 corresponding to the requested group of files from transfer map 50 .
- FIG. 6 A flowchart of a method of checking if files are locked from a download operation in accordance with an exemplary embodiment of the disclosed concept is generally shown in FIG. 6 .
- This method is used by web service 34 to check if a group of files is locked from being downloaded at 64 in FIG. 4 .
- web service 34 checks if a transfer object 40 exists for the requested group of files.
- Web service 34 checks transfer map 50 to see if there is file group transfer information 52 corresponding to the file group ID 54 for the requested group of files. If the file group transfer information 52 is not present in transfer map 50 , then the web service 34 determines that no transfer operations are in progress for the requested group of files and web service 34 proceeds to allow the download request at 124 .
- web service 34 checks all transfer objects 40 in key to determine whether any upload operations are in progress for the requested group of files. Web service 34 checks isDownloadOperation 44 in the file transfer objects 40 to determine whether any uploads are in progress for the requested group of files. Multiple simultaneous downloads are permitted for a group of files, so if web service 34 determines that no upload operations are in progress, web service 34 proceeds to allow the download operation at 124 . However, if there is an upload operation in progress, web service 34 proceeds to deny the download request at 126 and informs client 20 that the download request has been denied. At 128 , the method of FIG. 6 ends. After the method of FIG. 6 ends, the method of FIG. 4 continues at 66 if the download request has been denied or at 68 if the download request has been allowed.
- FIG. 7 A flowchart of a method of checking if files are locked from an upload operation in accordance with an exemplary embodiment of the disclosed concept is generally shown in FIG. 7 .
- This method is used by web service 34 to check if a group of files is locked from being uploaded at 94 in FIG. 5 .
- web service 34 checks if a transfer object 40 exists for the requested group of files.
- Web service 34 checks transfer map 50 to see if there is file group transfer information 52 corresponding to the file group ID 54 for the requested group of files. If the file group transfer information 52 is not present in transfer map 50 , then the web service 34 determines that no transfer operations are in progress for the requested group of files and web service 34 proceeds to allow the upload request at 132 . If the file group transfer information 52 is present in transfer map 50 , web service 34 determines that a download or upload operation is currently in progress and proceeds to deny the upload request at 134 .
- the method of FIG. 7 ends.
- the method of FIG. 5 continues at 96 if the upload request has been denied or at 98 if the upload request has been allowed.
- FIG. 8 A flowchart of a method of checking and removing expired transfer operations in accordance with an exemplary embodiment of the disclosed concept is generally shown in FIG. 8 .
- This method is used by web service 34 to check and remove expired transfer operations at 62 in FIGS. 4 and 92 in FIG. 5 .
- web service 34 checks if a transfer object 40 exists for the requested group of files.
- Web service 34 checks transfer map 50 to see if there is file group transfer information 52 corresponding to the file group ID 54 for the requested group of files. If the file group transfer information 52 is not present in transfer map 50 , then the web service 34 determines that there are no expired transfer operations and proceeds to end the routine at 148 .
- web service 34 proceeds to check the transfer objects 40 in the file group transfer information 52 to determine whether any transfer operations are expired at 142 .
- Expired file transfers are those that have been in progress for a time that exceeds a predetermined expiration time for an individual file, and that won't complete because the transfer has failed for any reason such as, without limitation, a loss of internet connection.
- Web service 34 checks lastFileTransferTime 46 in the transfer objects 40 in file group transfer information 52 to determine whether the time between when the last file transfer started and the current time exceeds a predetermined expiration time.
- the predetermined expiration time is a selected maximum amount of time a single file transfer is permitted to take.
- web service 34 determines that the transfer operation is still in progress and proceeds to end the routine at 148 . If the time between when the last file transfer started and the current time exceeds the predetermined expiration time, web service 34 determines that the transfer operation meeting this condition has expired and proceeds to remove the corresponding transfer object 40 at 144 . Web service 34 then updates transfer map 50 at 146 to remove transfer object 40 from transfer map 50 . After, the method of FIG. 8 ends at 148 , the method of FIG. 4 continues at 64 or the method of FIG. 5 continues at 94 .
- Setting the predetermined expiration time for an individual file transfer allows web service 34 to clean up transfer objects 40 and temporary directories for transfer operations that have failed for any reason such as, without limitation, a loss of internet connection. Clean up of transfer object 40 prevents files from being locked indefinitely, which in turn will allow other users to perform file transfer operations on the files in the file group.
- the predetermined expiration time also aids in preventing Denial of Service (DoS) attacks on the server 32 by limiting the amount of time for a single file transfer.
- DoS Denial of Service
- the disclosed concept has been described in the context of transferring sleep study data, it is contemplated that the disclosed concept may also be adapted for use in transferring any type of data between remote locations and a central storage location. It will be appreciated that the disclosed concept is particularly suitable for use in transferring groups of files.
- the disclosed concept can also be embodied as computer readable codes on a tangible, non-transitory computer readable recording medium.
- the computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system.
- Non-limiting examples of the computer readable recording medium include read-only memory (ROM), non-volatile random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, disk storage devices, and optical data storage devices.
- any reference signs placed between parentheses shall not be construed as limiting the claim.
- the word “comprising” or “including” does not exclude the presence of elements or steps other than those listed in a claim.
- several of these means may be embodied by one and the same item of hardware.
- the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements.
- any device claim enumerating several means several of these means may be embodied by one and the same item of hardware.
- the mere fact that certain elements are recited in mutually different dependent claims does not indicate that these elements cannot be used in combination.
Abstract
A method of transferring files, the method including receiving a download request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the download request, creating a transfer object (40) corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, performing download operations on the files in the group of files, and when all files in the group of files have been downloaded, deleting the transfer object.
Description
- This application claims priority under 35 U.S.C. §119(e) from U.S. provisional patent application No. 61/829,306, entitled “METHOD AND SYSTEM FOR RELIABLY TRANSFERRING FILES TO AND FROM A REMOTE SERVER” and filed on May 31, 2013, the contents of which are incorporated herein by reference.
- 1. Field of the Invention
- The present invention pertains to transferring files, and, in particular, to a system and method for transferring sleep study files.
- 2. Description of the Related Art
- Obstructive sleep apnea (OSA) is a condition that affects millions of people from around the world. OSA is characterized by disturbances or cessation in breathing during sleep. OSA episodes result from partial or complete blockage of airflow during sleep that lasts at least 10 seconds and often as long as 1 to 2 minutes. In a given night, people with moderate to severe apnea may experience complete or partial breathing disruptions as high as 200-500 per night. Because their sleep is constantly disrupted, they are deprived of the restorative sleep necessary for efficient functioning of body and mind. This sleep disorder has also been linked with hypertension, depression, stroke, cardiac arrhythmias, myocardial infarction and other cardiovascular disorders. OSA also causes excessive tiredness.
- Various methods have been used to assess whether a patient suffers from OSA. The most comprehensive method is a clinical polysomnogram (PSG), which can diagnose many significant sleep pathologies. A PSG generally involves a sleep study of a patient where audio and other parameters of the patient is recorded while the patient sleeps. A technician then “scores” the recorded data. Scoring the recorded data involves analyzing the data to identify events that occurred during the PSG that may be useful in diagnosing sleep pathologies. Data collected during a PSG is generally stored in several different files such as multiple audio files, other data files, and a scoring file.
- The PSG data (also referred to as sleep study data) is generated or used in several different locations, such as a sleep lab, a scoring technician's office, and a physician's office. It is preferable to store the sleep study data at a central location, such as a server, where it is accessible to multiple locations through a network, such as the internet.
- Current file transfer services upload to a temporary directory on the server, and when the upload is complete, the file is copied to a permanent directory. This protocol prevents an incomplete transfer of a single file, such as one in which connection was lost before the upload completed, from being permanently stored on the server. Some file transfer services forgo the temporary directory and copy files directly to their final destination. However, this process can lead to incomplete files being stored at their final destination in the case of an incomplete transfer.
- When a file is being uploaded, the server will provide synchronization locking which prevents the same file from being uploaded or downloaded by a different user at the same time. However, under current file transfer protocols, uploads are transferred to a permanent directory and synchronization locking is provided on a file-by-file basis. That is, when uploading of one file is complete, the file will be transferred to the permanent directory and the synchronization locking will stop.
- Current file transfer services behave in a similar manner when downloading files from the server to a client computer. That is, they may download a file to a temporary directory to prevent an incomplete file from being downloaded to its final destination directory in the case the connection was lost before the download was complete. Some services may download a file directly to its final destination directory, which can result in an incomplete transfer. Additionally, when a file is being downloaded, the client operating system will provide synchronization locking which prevents other applications on the client from accessing the file while it is being downloaded. However, under current file transfer protocols the synchronization locking is provided on a file-by-file basis.
- In the case of the sleep study data files, file transfers may consist of multiple data files that are related to each other, and as such, must be transferred as one logical unit. In the case of an upload, if the first one of the files is uploaded to the server properly and the connection is lost while uploading the second one of the data files, then the set of sleep study data files stored on the server will be incomplete. Furthermore, if connection is lost while uploading an updated set of sleep study files, the resultant set of sleep study data files on the server will have some data files that are updated and some that are not updated, thus compromising the integrity of the set of sleep study data files stored on the server. Similarly, if a user is uploading the second one of the data files, the synchronization locking for the first data file will have stopped and another user will be able to download the first data file.
- The same issues apply when downloading sleep study files. That is, if the connection to the server is lost when downloading files from the server to the client, then the set of sleep study data files stored on the client will be incomplete. Furthermore, if the connection is lost while downloading an updated set of sleep study files, the resultant set of sleep study data files on the client will have some data files that are updated and some that are not updated, thus compromising the integrity of the set of sleep study data files stored on the client. Similarly, if a user is downloading the first data file, the synchronization locking on the server will not prevent users from updating the other sleep data files on the server while the first is being downloaded. The resultant set of sleep data files downloaded to the client will have some data files that are updated and some that are not updated.
- For the purpose of transferring the sleep study data files to the server, it is preferable to treat the sleep study data files as a single entity to ensure that the complete set of sleep study data files is uploaded to the server before it is transferred to the permanent directory and that the complete set of sleep study data files is synchronization locked when a user is uploading the sleep study data files. Similarly, when downloading sleep study files from the server, it is preferable to treat the sleep study data files as a single entity to ensure that the complete set is downloaded to the client before it is transferred to the permanent directory, and to ensure the complete set of sleep study data files is locked on the server when a user is downloading the study data files. Although in some cases sleep study data files can be packaged into a single file, such as a ZIP file, and then transferred, the process of packaging and unpacking the sleep study data files can become cumbersome and time consuming.
- Accordingly, a need exists for improvement in transferring sleep study data files to and from a server.
- In one embodiment, method of transferring files includes receiving a download request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the download request, creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, performing download operations on the files in the group of files, and when all files in the group of files have been downloaded, deleting the transfer object.
- In another embodiment a method of transferring files includes receiving an upload request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the upload request, creating a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, performing upload operations on the files in the group of files, and when all files in the group of files have been uploaded, deleting the transfer object.
- In another embodiment, a non-transitory computer readable medium storing one or more programs, including instructions, which when executed by a computer, causes the computer to perform a method of transferring files, the method including receiving a download request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the download request, creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, performing download operations on the files in the group of files, and when all files in the group of files have been downloaded, deleting the transfer object.
- In another embodiment, a non-transitory computer readable medium storing one or more programs, including instructions, which when executed by a computer, causes the computer to perform a method of transferring files, the method including receiving an upload request for a group of files, determining whether the group of files is locked, upon determining that the group of files is not locked, allowing the upload request, creating a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, performing upload operations on the files in the group of files, and when all files in the group of files have been uploaded, deleting the transfer object.
- In another embodiment, a system to transfer files includes a server structured to receive a download request for a group of files, to determine whether the group of files is locked, to allow the download request upon determining that the group of files is not locked, to create a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, to perform download operations on the files in the group of files, and to delete the transfer object when all files in the group of files have been downloaded.
- In another embodiment, a system to transfer files includes a server structured to receive an upload request for a group of files, to determine whether the group of files is locked, to allow the upload request upon determining that the group of files is not locked, to create a transfer object corresponding to the group of files and the upload request, the transfer object including information on the group of files and the upload request, to perform upload operations on the files in the group of files, and to delete the transfer object when all files in the group of files have been uploaded.
- These and other objects, features, and characteristics of the present invention, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention.
-
FIG. 1 is a schematic view of a system adapted to collect and store sleep study data in a centralized location according to one exemplary embodiment of the disclosed concept; -
FIG. 2 is a visual representation of a transfer object in accordance with one exemplary embodiment of the disclosed concept; -
FIG. 3 is a visual representation of a transfer map in accordance with one exemplary embodiment of the disclosed concept; -
FIG. 4 is a flowchart of a method of downloading files in accordance with one exemplary embodiment of the disclosed concept; -
FIG. 5 is a flowchart of a method of uploading files in accordance with one exemplary embodiment of the disclosed concept; -
FIGS. 6 and 7 are flowcharts of method of checking if files are locked in accordance with embodiments of the disclosed concept; and -
FIG. 8 is a flowchart of a method of checking for expired transfer operations in accordance with one exemplary embodiment of the disclosed concept. - As used herein, the singular form of “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise. As used herein, the statement that two or more parts or components are “coupled” shall mean that the parts are joined or operate together either directly or indirectly, i.e., through one or more intermediate parts or components, so long as a link occurs. As used herein, “directly coupled” means that two elements are directly in contact with each other. As used herein, “fixedly coupled” or “fixed” means that two components are coupled so as to move as one while maintaining a constant orientation relative to each other.
- As used herein, the word “unitary” means a component is created as a single piece or unit. That is, a component that includes pieces that are created separately and then coupled together as a unit is not a “unitary” component or body. As employed herein, the statement that two or more parts or components “engage” one another shall mean that the parts exert a force against one another either directly or through one or more intermediate parts or components. As employed herein, the term “number” shall mean one or an integer greater than one (i.e., a plurality).
- Directional phrases used herein, such as, for example and without limitation, top, bottom, left, right, upper, lower, front, back, and derivatives thereof, relate to the orientation of the elements shown in the drawings and are not limiting upon the claims unless expressly recited therein.
- A
system 1 adapted to collect and store sleep study data is generally shown inFIG. 1 .System 1 is distributed over several locations including a sleep lab 2, a remote scoring technician site 4, a remote physician site 6, and a central server site 8. Central server site 8 includes aserver 32 and each of sleep lab 2, remote scoring technician site 4, and remote physician site 6 include aclient 20.Clients 20 are each communicatively connected toserver 32 by suitable network connections such asinternet connections 10. -
Clients 20 are any suitable processing device such as, without limitation, a general-purpose computer, a wireless device, a personal computer, or a mobile phone.Clients 20 andserver 32 each include an associatedmemory 22.Memory 22 can be any one or more of a variety of types of internal and/or external storage media such as, without limitation, RAM, ROM, EPROM(s), EEPROM(s), FLASH, and the like that provide a storage register, i.e., a machine readable medium, for data storage such as in the fashion of an internal storage area of a computer, and can be volatile memory or nonvolatile memory.Memory 22 may also be located outside ofclients 20 orserver 32 and communicatively connected with its associatedclient 20 orserver 32.Memory 22 may also be a removable device that is able to be removed from its associatedclient 20 orserver 32. - Sleep lab 2 includes a
patient room 12 and acontrol room 14.Patient room 12 andcontrol room 14 are communicatively connected by a suitable network connection such as a localarea network connection 16.Patient room 12 includesdata collection equipment 18.Data collection equipment 18 is used to collect raw sleep study data such, without limitation, audio and video data, electroencephalogram (EEG) data, electrocardiogram (ECG) data, electroculogram (EOG) data, electromyogram (EMG) data, measurements of nasal airflow, measurements of blood oxygen levels and/or other physiological parameters.Control room 14 includesclient 20 andmemory 22. The raw sleep study data is transferred fromdata collection equipment 18 toclient 20 via localarea network connection 16 and is stored inmemory 22. The raw sleep study data is stored inmemory 22 as a set of files. - Remote scoring technician site 4 includes its associated
client 20 andmemory 22. A scoring technician at remote scoring technician site 4 “scores” raw sleep study data and stores the scoring data inmemory 22 as a file. The scoring data includes data such as, without limitation, sleep staging data, apnea event data, and high heart rate event data. - Remote physician site 6 includes its associated
client 20 andmemory 22. A physician at remote physician site 6 reviews the raw sleep study data and scoring data in order to diagnose a patient. - Central server site 8 includes
server 32 which is communicatively connected withclients 20 in order to send or receive data.Server 32 includesmemory 22 which stores the data.Server 32 also includesweb service 34.Web service 34 coordinates communication betweenserver 32 andclients 20 such as responding to requests fromclients 20 for data uploads or downloads.Web service 34 also tracks transfer operations betweenserver 32 andclients 20. In order to track transfer operations betweenserver 32 andclients 20,web service 34 uses data structures which will be described in more detail hereinafter with respect toFIGS. 2 and 3 .Server 32 is structured to centrally store sleep study data where it can be downloaded or updated by any ofclients 20. - Although sleep lab 2, remote scoring technician site 4 and remote physician site 6 are shown in
FIG. 1 , it will be appreciated that any suitable remote sites may be adapted to access sleep study data at central server site 8 without departing from the scope of the disclosed concept. - A visual representation of a
transfer object 40 in accordance with an exemplary embodiment of the disclosed concept is generally shown inFIG. 2 .Transfer object 40 is a data structure such as, without limitation, a class that holds information about a transfer operation (e.g., an upload or a download of a group of files) between oneclient 20 andserver 32. Information held intransfer object 40 includestransfer ID 42,isDownloadOperation 44, andlastFileTransferTime 46.Transfer ID 42 is unique identification information for the transfer operation corresponding to transferobject 40.IsDownloadOperation 44 is information indicating whether the transfer operation is a download operation (i.e., a transfer fromserver 32 to client 20) or an upload operation (i.e., a transfer fromclient 20 to server 32).LastFileTransferTime 46 is information indicating the last time a file transfer was started for the transfer operation.LastFileTransferTime 46 is useful for determining whether the transfer operation has expired. - A visual representation of a
transfer map 50 in accordance with an exemplary embodiment of the disclosed concept is generally shown inFIG. 3 .Transfer map 50 is a data structure such as, without limitation, a dictionary or hash table that contains information about all transfer operations that are currently in progress.Transfer map 50 is structured to include filegroup transfer information 52 corresponding to each sleep study. Each filegroup transfer information 52 includes a corresponding unique file group ID 54 (e.g., a sleep study ID) that is used to identify the group of files the filegroup transfer information 52 corresponds to. Each filegroup transfer information 52 also includes transfer objects 40 for each in progress transfer operation corresponding to thefile group ID 54. The filegroup transfer information 52 may also include transfer objects for expired transfer operations that have not yet been removed fromtransfer map 50. - Methods of transferring files between
clients 20 andserver 32 will be described hereinafter with respect toFIGS. 4 and 5 . - A flowchart of a method of downloading a group of files (e.g., a group of sleep study files) from
server 32 to one ofclients 20 in accordance with an exemplary embodiment of the disclosed concept is generally shown inFIG. 4 . At 60,client 20 requests a download fromserver 32.Client 20 providesfile group ID 54 toweb service 34 in the request for download. Upon receiving the request for download, web service checks for expired transfer operations and removes any expired transfer operations at 62. The process of checking and removing expired transfer operations will be described in more detail with respect toFIG. 7 . - After removing expired transfer operations,
web service 34 checks if the files requested for download are locked 64. The process of checking if the requested files are locked will be described in more detail with respect toFIG. 6 . If the files requested for download are locked,web service 34 denies the download request and cancels the download operation at 66. - If the requested files are not locked,
web service 34 proceeds with the download request and creates anew transfer object 40 at 68. As previously described,transfer object 40 includestransfer ID 42 which is unique to the transfer operation,isDownloadOperation 44 which holds a value indicating that the current transfer operation is a download, andlastFileTransferTime 46 to hold information on the time the last file was transferred. At 70,web service 34updates transfer map 50 to include the recently createdtransfer object 40. In the case that transfermap 50 does not include filegroup transfer information 52 corresponding to the requested group of files,web service 34 creates a new filegroup transfer information 52 entry including thefile group ID 54 corresponding to the requested group of files and includes the recently createdtransfer object 40 in the new filegroup transfer information 52. If filegroup transfer information 52 corresponding to the requested group of files already exists,web service 34 adds the recently createdtransfer object 40 to the corresponding filegroup transfer information 52. Oncetransfer map 50 is updated,web service 34 communicatestransfer ID 42 back to theclient 20 which allowsclient 20 to begin downloading the requested group of files. - At 72,
client 20 creates a temporary directory in which to temporarily store the downloaded files. At 74,client 20 downloads one of the requested files to the temporary directory by communicatingfile group ID 54,transfer ID 42 and the name of the requested file toweb service 34.Web service 34 locates the requested file and begins the download of the requested file.Web service 34 also updates thelastFileTransferTime 46 in thetransfer object 40 corresponding to the current operation to indicate the time that the download operation started. Upon receiving the requested file,client 20 places the file in the temporary directory. At 76,client 20 checks if all files in the requested group of files are downloaded. If all the files are not downloaded,client 20 repeats 74 for the next file in the requested group of files. If all the files are downloaded,client 20 informsweb service 34 to indicate that the download operation is complete. - At 78,
web service 34 removes thetransfer object 40 corresponding to the recently completed download operation. At 80,web service 34updates transfer map 50 by removingtransfer object 40 fromtransfer map 50 and, if there are no transfer objects 40 remaining in the filegroup transfer information 52 corresponding to the requested group of files,web service 34 also removes the filegroup transfer information 52 corresponding to the requested group of files fromtransfer map 50. - At 82,
client 20 moves the downloaded files from the temporary directory to their final destination, such as a directory where a user requested the files to be downloaded to. At 84,client 20 deletes the temporary directory. - A flowchart of a method of uploading a group of files (e.g., a group of sleep study files) from one of
clients 20 toserver 32 in accordance with an exemplary embodiment of the disclosed concept is generally shown inFIG. 5 . At 90,client 20 requests an upload toserver 32.Client 20 providesfile group ID 54 toweb service 34 in the request for upload. Upon receiving the request for upload,web service 34 checks for expired transfer operations and removes any expired transfer operations at 92. The process of checking and removing expired transfer operations will be described in more detail with respect toFIG. 7 . - After removing expired transfer operations,
web service 34 checks if the files requested for upload are locked 94. The process of checking if the requested files are locked will be described in more detail with respect toFIG. 6 . If the files requested for upload are locked,web service 34 denies the upload request and cancels the upload operation at 96. - If the requested files are not locked,
web service 34 proceeds with the upload request and creates anew transfer object 40 at 98. As previously described,transfer object 40 includestransfer ID 42 which is unique to the transfer operation,isDownloadOperation 44 which holds a value indicating that the current transfer operation is an upload, andlastFileTransferTime 46 to hold information on the time the last file was transferred. At 100,web service 34updates transfer map 50 to include the recently createdtransfer object 40. In the case that transfermap 50 does not include filegroup transfer information 52 corresponding to the requested group of files,web service 34 creates a new filegroup transfer information 52 entry including thefile group ID 54 corresponding to the requested group of files and includes the recently createdtransfer object 40 in the new filegroup transfer information 52. If filegroup transfer information 52 corresponding to the requested group of files already exists,web service 34 adds the recently createdtransfer object 40 to the corresponding filegroup transfer information 52. - At 102,
web service 34 creates a temporary directory onserver 32 to store uploaded files. Once the temporary directory is created,web service 34 communicatestransfer ID 42 back to theclient 20 which allowsclient 20 to begin uploading the requested group of files. - At 104,
client 20 uploads one of the requested files to the temporary directory onserver 32. When a file is uploaded,client 20 communicatesfile group ID 54,transfer ID 42 and the name of the requested file toweb service 34.Web service 34 updates thelastFileTransferTime 46 in thetransfer object 40 corresponding to the current operation to indicate the time that the upload operation started. Upon receiving the requested file,web service 34 places the file in the temporary directory onserver 32. At 106,client 20 checks if all files in the requested group of files are uploaded. If all the files are not uploaded,client 20 repeats 104 for the next file in the requested group of files. If all the files are uploaded,client 20 informsweb service 34 to indicate that the download operation is complete. - At 108,
web service 34 moves the uploaded files from the temporary directory to their final destination. At 110,web service 34 deletes the temporary directory. - At 112,
web service 34 removes thetransfer object 40 corresponding to the recently completed upload operation. At 114,web service 34updates transfer map 50 by removingtransfer object 40 fromtransfer map 50 and, if there are no transfer objects 40 remaining in the filegroup transfer information 52 corresponding to the requested group of files,web service 34 also removes the filegroup transfer information 52 corresponding to the requested group of files fromtransfer map 50. - A flowchart of a method of checking if files are locked from a download operation in accordance with an exemplary embodiment of the disclosed concept is generally shown in
FIG. 6 . This method is used byweb service 34 to check if a group of files is locked from being downloaded at 64 inFIG. 4 . At 120,web service 34 checks if atransfer object 40 exists for the requested group of files.Web service 34 checks transfermap 50 to see if there is filegroup transfer information 52 corresponding to thefile group ID 54 for the requested group of files. If the filegroup transfer information 52 is not present intransfer map 50, then theweb service 34 determines that no transfer operations are in progress for the requested group of files andweb service 34 proceeds to allow the download request at 124. - If the file
group transfer information 52 is present intransfer map 50,web service 34 checks all transfer objects 40 in key to determine whether any upload operations are in progress for the requested group of files.Web service 34 checks isDownloadOperation 44 in the file transfer objects 40 to determine whether any uploads are in progress for the requested group of files. Multiple simultaneous downloads are permitted for a group of files, so ifweb service 34 determines that no upload operations are in progress,web service 34 proceeds to allow the download operation at 124. However, if there is an upload operation in progress,web service 34 proceeds to deny the download request at 126 and informsclient 20 that the download request has been denied. At 128, the method ofFIG. 6 ends. After the method ofFIG. 6 ends, the method ofFIG. 4 continues at 66 if the download request has been denied or at 68 if the download request has been allowed. - A flowchart of a method of checking if files are locked from an upload operation in accordance with an exemplary embodiment of the disclosed concept is generally shown in
FIG. 7 . This method is used byweb service 34 to check if a group of files is locked from being uploaded at 94 inFIG. 5 . At 130,web service 34 checks if atransfer object 40 exists for the requested group of files.Web service 34 checks transfermap 50 to see if there is filegroup transfer information 52 corresponding to thefile group ID 54 for the requested group of files. If the filegroup transfer information 52 is not present intransfer map 50, then theweb service 34 determines that no transfer operations are in progress for the requested group of files andweb service 34 proceeds to allow the upload request at 132. If the filegroup transfer information 52 is present intransfer map 50,web service 34 determines that a download or upload operation is currently in progress and proceeds to deny the upload request at 134. - At 136, the method of
FIG. 7 ends. After the method ofFIG. 7 ends, the method ofFIG. 5 continues at 96 if the upload request has been denied or at 98 if the upload request has been allowed. - A flowchart of a method of checking and removing expired transfer operations in accordance with an exemplary embodiment of the disclosed concept is generally shown in
FIG. 8 . This method is used byweb service 34 to check and remove expired transfer operations at 62 inFIGS. 4 and 92 inFIG. 5 . At 140,web service 34 checks if atransfer object 40 exists for the requested group of files.Web service 34 checks transfermap 50 to see if there is filegroup transfer information 52 corresponding to thefile group ID 54 for the requested group of files. If the filegroup transfer information 52 is not present intransfer map 50, then theweb service 34 determines that there are no expired transfer operations and proceeds to end the routine at 148. - If the file
group transfer information 52 is present,web service 34 proceeds to check the transfer objects 40 in the filegroup transfer information 52 to determine whether any transfer operations are expired at 142. Expired file transfers are those that have been in progress for a time that exceeds a predetermined expiration time for an individual file, and that won't complete because the transfer has failed for any reason such as, without limitation, a loss of internet connection.Web service 34 checks lastFileTransferTime 46 in the transfer objects 40 in filegroup transfer information 52 to determine whether the time between when the last file transfer started and the current time exceeds a predetermined expiration time. The predetermined expiration time is a selected maximum amount of time a single file transfer is permitted to take. If the time between when the last file transfer started and the current time does not exceed the predetermined expiration time,web service 34 determines that the transfer operation is still in progress and proceeds to end the routine at 148. If the time between when the last file transfer started and the current time exceeds the predetermined expiration time,web service 34 determines that the transfer operation meeting this condition has expired and proceeds to remove thecorresponding transfer object 40 at 144.Web service 34 then updatestransfer map 50 at 146 to removetransfer object 40 fromtransfer map 50. After, the method ofFIG. 8 ends at 148, the method ofFIG. 4 continues at 64 or the method ofFIG. 5 continues at 94. - Setting the predetermined expiration time for an individual file transfer allows
web service 34 to clean up transfer objects 40 and temporary directories for transfer operations that have failed for any reason such as, without limitation, a loss of internet connection. Clean up oftransfer object 40 prevents files from being locked indefinitely, which in turn will allow other users to perform file transfer operations on the files in the file group. The predetermined expiration time also aids in preventing Denial of Service (DoS) attacks on theserver 32 by limiting the amount of time for a single file transfer. - Although the disclosed concept has been described in the context of transferring sleep study data, it is contemplated that the disclosed concept may also be adapted for use in transferring any type of data between remote locations and a central storage location. It will be appreciated that the disclosed concept is particularly suitable for use in transferring groups of files.
- The disclosed concept can also be embodied as computer readable codes on a tangible, non-transitory computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Non-limiting examples of the computer readable recording medium include read-only memory (ROM), non-volatile random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, disk storage devices, and optical data storage devices.
- In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word “comprising” or “including” does not exclude the presence of elements or steps other than those listed in a claim. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. In any device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain elements are recited in mutually different dependent claims does not indicate that these elements cannot be used in combination.
- Although the invention has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments, it is to be understood that such detail is solely for that purpose and that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present invention contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment.
Claims (21)
1. A method of transferring files, the method comprising:
receiving a download request for a group of files;
determining whether the group of files is locked;
upon determining that the group of files is not locked, allowing the download request;
creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request;
performing download operations on the files in the group of files; and
when all files in the group of files have been downloaded, deleting the transfer object,
wherein determining whether the group of files is not locked comprises:
prior to creating the transfer object, determining whether other transfer objects corresponding to the group of files exists;
upon determining that other transfer objects corresponding to the group of files exists, determining for each other transfer object whether the other transfer object corresponds to an upload operation; and
determining that the group of files is not locked and allowing the download request if other transfer objects corresponding to the group of files do not exist or none of the other transfer objects correspond to an upload operation.
2. The method of claim 1 , further comprising:
checking for expired transfer operations; and
removing expired transfer operations.
3. The method of claim 2 , wherein checking for expired transfer operations comprises:
prior to creating the transfer object, determining whether other transfer objects corresponding to the group of files exist;
upon determining that other transfer objects corresponding to the group of files exist, determining for each other transfer object whether a current time minus a last transfer time information included in the other transfer object is greater than a predetermined expiration time; and
in response to determining that the current time minus the last transfer time information included in the other transfer object is greater than a predetermined expiration time, deleting the other transfer object.
4. (canceled)
5. The method of claim 1 , further comprising:
upon creating the transfer object, adding the transfer object to a transfer map, the transfer map including transfer objects corresponding to the group of files and other groups of files; and
when all files in the group of files have been downloaded, removing the transfer object from the transfer map.
6. The method of claim 1 , further comprising:
creating a temporary directory;
downloading files from the group of files to the temporary directory; and
when all files in the group of files have been downloaded, moving the group of files from the temporary directory to a final directory and deleting the temporary directory.
7-14. (canceled)
15. A non-transitory computer readable medium storing one or more programs, including instructions, which when executed by a computer, causes the computer to perform a method of transferring files, the method comprising:
receiving a download request for a group of files;
determining whether the group of files is locked;
upon determining that the group of files is not locked, allowing the download request;
creating a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request;
performing download operations on the files in the group of files; and
when all files in the group of files have been downloaded, deleting the transfer object
wherein determining whether the group of files is unlocked comprises:
prior to creating the transfer object, determining whether other transfer objects corresponding to the group of files exists;
upon determining that other transfer objects corresponding to the group of files exists, determining for each other transfer object whether the other transfer object corresponds to an upload operation; and
determining that the group of files is not locked and allowing the download request if other transfer objects corresponding to the group of files do not exist or none of the other transfer objects correspond to an upload operation.
16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:
checking for expired transfer operations; and
removing expired transfer operations.
17. The non-transitory computer readable medium of claim 16 , wherein checking for expired transfer operations comprises:
prior to creating the transfer object, determining whether other transfer objects corresponding to the group of files exist;
upon determining that other transfer objects corresponding to the group of files exist, determining for each other transfer object whether a current time minus a last transfer time information included in the other transfer object is greater than a predetermined expiration time; and
in response to determining that the current time minus the last transfer time information included in the other transfer object is greater than a predetermined expiration time, deleting the other transfer object.
18. (canceled)
19. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:
upon creating the transfer object, adding the transfer object to a transfer map, the transfer map including transfer objects corresponding to the group of files and other groups of files; and
when all files in the group of files have been downloaded, removing the transfer object from the transfer map.
20. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:
creating a temporary directory;
downloading files from the group of files to the temporary directory; and
when all files in the group of files have been downloaded, moving the group of files from the temporary directory to a final directory and deleting the temporary directory.
21-28. (canceled)
29. A system to transfer files, the system comprising:
a server structured to receive a download request for a group of files, to determine whether the group of files is locked, to allow the download request upon determining that the group of files is not locked, to create a transfer object corresponding to the group of files and the download request, the transfer object including information on the group of files and the download request, to perform download operations on the files in the group of files, and to delete the transfer object when all files in the group of files have been downloaded,
wherein the server is structured to determine whether other transfer objects corresponding to the group of files exists prior to creating the transfer object, wherein, upon determining that other transfer objects corresponding to the group of files exists, the server is structured to determine for each other transfer object whether the other transfer object corresponds to an upload operation, and wherein the server is structured to determine that the group of files is not locked and to allow the download request if other transfer objects corresponding to the group of files do not exist or none of the other transfer objects correspond to an upload operation.
30. The system of claim 29 , wherein the server is structured to check for expired transfer operations and to remove expired transfer operations.
31. The system of claim 30 , wherein the server is structured to determine whether other transfer objects corresponding to the group of files exists prior to creating the transfer object, wherein, upon determining that other transfer objects corresponding to the group of files exist, the server is structured to determine for each other transfer object whether a current time minus a last transfer time information included in the other transfer object is greater than a predetermined expiration time, wherein the server is structured to delete the other transfer object in response to determining that the current time minus the last transfer time information included in the other transfer object is greater than a predetermined expiration time.
32. (canceled)
33. The system of claim 29 , wherein the server is structured to add the transfer object to a transfer map (50) upon creating the transfer object, wherein the transfer map includes transfer objects corresponding to the group of files and other groups of files, and wherein the server is structured to remove the transfer object from the transfer map when all files in the group of files have been downloaded.
34. The system of claim 29 , further comprising:
a client device (20) structured to create a temporary directory, to download files from the group of files from the server to the temporary directory, and to move the group of files from the temporary directory to a final directory and to delete the temporary directory when all files in the group of files have been downloaded.
35-42. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/890,180 US20160085920A1 (en) | 2013-05-31 | 2014-05-28 | System and method for transferring a group of related files as one logical unit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361829306P | 2013-05-31 | 2013-05-31 | |
US14/890,180 US20160085920A1 (en) | 2013-05-31 | 2014-05-28 | System and method for transferring a group of related files as one logical unit |
PCT/IB2014/061768 WO2014191926A1 (en) | 2013-05-31 | 2014-05-28 | System and method for transferring a group of related files as one logical unit |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160085920A1 true US20160085920A1 (en) | 2016-03-24 |
Family
ID=50979828
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/890,182 Active 2034-10-29 US9906583B2 (en) | 2013-05-31 | 2014-05-28 | System and method for automatically uploading, downloading, and updating data such as sleep study data |
US14/890,193 Active 2036-08-04 US10630756B2 (en) | 2013-05-31 | 2014-05-28 | System and method for automatically downloading data such as sleep study data |
US14/890,180 Abandoned US20160085920A1 (en) | 2013-05-31 | 2014-05-28 | System and method for transferring a group of related files as one logical unit |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/890,182 Active 2034-10-29 US9906583B2 (en) | 2013-05-31 | 2014-05-28 | System and method for automatically uploading, downloading, and updating data such as sleep study data |
US14/890,193 Active 2036-08-04 US10630756B2 (en) | 2013-05-31 | 2014-05-28 | System and method for automatically downloading data such as sleep study data |
Country Status (6)
Country | Link |
---|---|
US (3) | US9906583B2 (en) |
EP (3) | EP3005188A1 (en) |
JP (3) | JP6473141B2 (en) |
CN (4) | CN105247525B (en) |
RU (1) | RU2015156493A (en) |
WO (3) | WO2014191925A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160042004A1 (en) * | 2014-08-07 | 2016-02-11 | Konica Minolta, Inc. | Information processing device, non-transitory computer readable recording medium and information processing method |
US20160156696A1 (en) * | 2014-11-30 | 2016-06-02 | Sonicwall, Inc. | Transparent deferred spooling store and forward based on standard newtork system and client interface |
US20160197990A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Controlling sharing of resource among a plurality of nodes |
US9813526B2 (en) | 2015-05-26 | 2017-11-07 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
US10158735B2 (en) | 2015-08-07 | 2018-12-18 | Sonicwall Inc. | Read-ahead on signed connections with unsigning, inline, transparent proxies |
US20190156959A1 (en) * | 2016-05-11 | 2019-05-23 | Zambon S.P.A. | Method, communication system and computer program for providing information indicative of concentration of allergens in the environment |
US10313486B2 (en) | 2015-01-07 | 2019-06-04 | Sonicwall Inc. | Optimizing transfer of fragmented packetized data |
US11064010B2 (en) | 2018-03-30 | 2021-07-13 | Microsoft Technology Licensing, Llc | Download progress information for composite files |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3005188A1 (en) * | 2013-05-31 | 2016-04-13 | Koninklijke Philips N.V. | System and method for automatically uploading, downloading, and updating data such as sleep study data |
US10162972B2 (en) | 2015-04-17 | 2018-12-25 | Dropbox, Inc. | Collection folder for collecting and publishing file submissions |
CN105512283B (en) * | 2015-12-04 | 2019-05-03 | 国网江西省电力公司信息通信分公司 | Data quality management control method and device |
US10713966B2 (en) | 2015-12-31 | 2020-07-14 | Dropbox, Inc. | Assignments for classrooms |
CN108810172A (en) * | 2018-07-26 | 2018-11-13 | Oppo(重庆)智能科技有限公司 | Judgment method, device and the electronic equipment of file integrality |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014614A1 (en) * | 2006-08-04 | 2008-02-07 | Novell, Inc. | A method for providing live file transfer between machines |
US20140027984A1 (en) * | 2012-01-19 | 2014-01-30 | Flowserve Management Company | Abeyance Seal for High Temperature, High Pressure Applications |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212788A (en) * | 1990-05-22 | 1993-05-18 | Digital Equipment Corporation | System and method for consistent timestamping in distributed computer databases |
US5555388A (en) * | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
JP3124664B2 (en) * | 1993-11-12 | 2001-01-15 | 松下電器産業株式会社 | Remote file lock system |
JPH07234848A (en) * | 1993-12-28 | 1995-09-05 | Fuji Facom Corp | Duplex system in computer system |
JPH10133881A (en) | 1996-09-03 | 1998-05-22 | Fujitsu Ltd | Remote maintenance system in distributed system, and memory medium storing remote maintenance program |
US6195678B1 (en) | 1996-09-03 | 2001-02-27 | Fujitsu Limited | Remote resource management system for automatically downloading required files from application server depending on contents of selected files on requesting computer |
CN1126342C (en) * | 1997-12-22 | 2003-10-29 | 意符设计有限责任公司 | Method and devices for transmitting and displaying data |
US6266678B1 (en) * | 1998-12-31 | 2001-07-24 | Computer Associates Think, Inc. | System and method for dynamically viewing contents of a data file |
US20050010652A1 (en) * | 2000-06-22 | 2005-01-13 | Ideogram Design S.A.R.L. | Process and device for selective download of data based on index file transmitted from a central server |
US6842770B1 (en) | 2000-08-18 | 2005-01-11 | Apple Computer, Inc. | Method and system for seamlessly accessing remotely stored files |
WO2002017593A2 (en) * | 2000-08-22 | 2002-02-28 | Medtronics, Inc. | Medical device systems implemented network system for remote patient management |
BR0115897A (en) * | 2000-11-28 | 2003-11-04 | Swivel Technologies Ltd | Secure File Transfer Method and System |
JP2003157197A (en) * | 2001-11-22 | 2003-05-30 | Nifty Corp | Download method, download help method, and computer |
GB2395644B (en) * | 2002-02-25 | 2004-09-01 | Sony Corp | Service providing apparatus and server providing method |
US7282027B2 (en) * | 2002-08-07 | 2007-10-16 | Apneos Corporation | Service center system and method as a component of a population diagnostic for sleep disorders |
US20040068724A1 (en) * | 2002-08-30 | 2004-04-08 | Gardner Richard Wayne | Server processing for updating dataset versions resident on a wireless device |
JP4975249B2 (en) * | 2002-10-09 | 2012-07-11 | ボディーメディア インコーポレイテッド | Device for measuring an individual's state parameters using physiological information and / or context parameters |
AU2003902308A0 (en) * | 2003-05-14 | 2003-05-29 | Diagnose It Pty Ltd | A method and system for the monitoring of medical conditions |
US20040230398A1 (en) * | 2003-05-15 | 2004-11-18 | Sanyo Electric Co., Ltd. | Sleep analyzer and program product for giving sleep analysis function to computer |
JP2004344265A (en) | 2003-05-21 | 2004-12-09 | Sanyo Electric Co Ltd | Sleep diagnosis supporting server and program |
US20040244807A1 (en) * | 2003-06-04 | 2004-12-09 | Jianguo Sun | Sleep-lab systems and methods |
US8002553B2 (en) * | 2003-08-18 | 2011-08-23 | Cardiac Pacemakers, Inc. | Sleep quality data collection and evaluation |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR100664180B1 (en) * | 2004-11-22 | 2007-01-04 | 엘지전자 주식회사 | Remote data download apparatus and method for mobile communication device |
CN100344101C (en) * | 2005-08-17 | 2007-10-17 | 华为技术有限公司 | Method and system for realizing game data sharing |
DE602006021217D1 (en) * | 2005-10-12 | 2011-05-19 | Datacastle Corp | METHOD AND SYSTEM FOR DATA BACKUP |
JP4528710B2 (en) * | 2005-11-09 | 2010-08-18 | 株式会社東芝 | Sleep state measurement device, sleep state measurement method, and sleep state measurement system |
US8401159B2 (en) * | 2005-11-30 | 2013-03-19 | On-Q Telecom Systems Co., Inc. | Data provision to a virtual personal assistant for handling calls in a communication system |
CN101093468A (en) * | 2006-06-19 | 2007-12-26 | 上海新纳广告传媒有限公司 | Method for automatic timed updating data of weather forecast at terminal |
US7761424B2 (en) * | 2006-08-10 | 2010-07-20 | International Business Machines Corporation | Recording notations per file of changed blocks coherent with a draining agent |
CN100512146C (en) * | 2006-09-30 | 2009-07-08 | 华为技术有限公司 | Method for realizing patch management |
AU2007309183A1 (en) * | 2006-10-20 | 2008-05-02 | Citrix Systems,Inc. | Methods and systems for accessing remote user files associated with local resources |
CN1997015B (en) * | 2006-11-24 | 2011-04-20 | 华为技术有限公司 | Cache application method and device, and file transfer system |
JP4763587B2 (en) * | 2006-12-11 | 2011-08-31 | 株式会社ソニー・コンピュータエンタテインメント | Cache server, cache server control method, program, and information storage medium |
US20080220403A1 (en) * | 2007-02-16 | 2008-09-11 | Ohio University | System and method for managing diabetes |
CN100498701C (en) * | 2007-03-21 | 2009-06-10 | 腾讯科技(深圳)有限公司 | Method and system for dynamically adjusting user interface elements |
US20080243017A1 (en) * | 2007-03-28 | 2008-10-02 | Zahra Moussavi | Breathing sound analysis for estimation of airlow rate |
JP4345844B2 (en) * | 2007-05-09 | 2009-10-14 | ソニー株式会社 | Communication system, information processing apparatus and method, and program |
US8234692B2 (en) * | 2008-07-10 | 2012-07-31 | Apple Inc. | System and method for processing an upload of a program with export compliance information |
JP5217776B2 (en) * | 2008-08-25 | 2013-06-19 | 日本電気株式会社 | Client server system, client computer, file management method and program thereof |
JP5175159B2 (en) * | 2008-10-24 | 2013-04-03 | 株式会社日立ソリューションズ | User terminal device and control method thereof |
JP5120274B2 (en) * | 2009-01-23 | 2013-01-16 | ソニー株式会社 | Information providing method, information providing apparatus, information presenting method, and information presenting apparatus |
US20100228834A1 (en) * | 2009-03-04 | 2010-09-09 | Baker Hughes Incorporated | Methods, system and computer program product for delivering well data |
JP2010273327A (en) * | 2009-04-20 | 2010-12-02 | Canon Inc | Recording apparatus |
US8311983B2 (en) * | 2009-04-28 | 2012-11-13 | Whp Workflow Solutions, Llc | Correlated media for distributed sources |
US8898575B2 (en) * | 2009-09-02 | 2014-11-25 | Yahoo! Inc. | Indicating unavailability of an uploaded video file that is being bitrate encoded |
CN102054115A (en) * | 2009-11-05 | 2011-05-11 | 触动多媒体技术(上海)有限公司 | Vehicle-mounted multimedia touch screen and operating method thereof |
US20110208631A1 (en) * | 2010-02-24 | 2011-08-25 | Fraud Analysis Control Technology, Corp. | System and method for mortgage application recording |
WO2011112640A2 (en) * | 2010-03-08 | 2011-09-15 | Vumanity Media Llc | Generation of composited video programming |
US20110252125A1 (en) * | 2010-04-09 | 2011-10-13 | Microsoft Corporation | Dynamic Syncing |
US8793440B2 (en) * | 2010-06-17 | 2014-07-29 | Microsoft Corporation | Error detection for files |
CN102479092A (en) * | 2010-11-30 | 2012-05-30 | 中兴通讯股份有限公司 | Method and device for updating patch of software system |
JP5580182B2 (en) * | 2010-12-10 | 2014-08-27 | 株式会社Nttドコモ | Data providing system, data providing method, prefetch update confirmation server, program |
US8909602B2 (en) * | 2011-02-03 | 2014-12-09 | Vmware, Inc. | Programmatic snapshot and revert of virtualized data center inventory |
JP2012208737A (en) * | 2011-03-30 | 2012-10-25 | Toshiba Corp | Medical system |
CN102238224A (en) * | 2011-04-11 | 2011-11-09 | 苏州阔地网络科技有限公司 | Method and system for implementing file downloading lock-in synchronism |
US9462033B2 (en) * | 2011-12-07 | 2016-10-04 | Apple Inc. | Proofing electronic publications on portable devices |
JP5987445B2 (en) * | 2012-04-20 | 2016-09-07 | 富士通株式会社 | COMMUNICATION CONTROL DEVICE, METHOD, PROGRAM, AND SYSTEM |
CN102711062A (en) * | 2012-05-24 | 2012-10-03 | 惠州Tcl移动通信有限公司 | Mobile terminal based method for acquiring weather forecast and mobile terminal |
JP2014044490A (en) * | 2012-08-24 | 2014-03-13 | Toshiba Corp | Host device and memory device |
CN102843475A (en) * | 2012-09-10 | 2012-12-26 | 惠州Tcl移动通信有限公司 | Method and system for downloading application software of mobile terminal |
US8740806B2 (en) * | 2012-11-07 | 2014-06-03 | Somnarus Inc. | Methods for detection of respiratory effort and sleep apnea monitoring devices |
US9298391B2 (en) * | 2012-12-19 | 2016-03-29 | Dropbox, Inc. | Application programming interfaces for data synchronization with online storage systems |
US9336226B2 (en) * | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
EP3005188A1 (en) * | 2013-05-31 | 2016-04-13 | Koninklijke Philips N.V. | System and method for automatically uploading, downloading, and updating data such as sleep study data |
NZ719332A (en) * | 2013-10-25 | 2021-07-30 | Resmed Inc | Electronic management of sleep related data |
-
2014
- 2014-05-28 EP EP14731801.8A patent/EP3005188A1/en not_active Ceased
- 2014-05-28 JP JP2016516284A patent/JP6473141B2/en active Active
- 2014-05-28 WO PCT/IB2014/061767 patent/WO2014191925A1/en active Application Filing
- 2014-05-28 WO PCT/IB2014/061769 patent/WO2014191927A1/en active Application Filing
- 2014-05-28 CN CN201480030599.1A patent/CN105247525B/en active Active
- 2014-05-28 JP JP2016516286A patent/JP6820741B2/en active Active
- 2014-05-28 CN CN201480030550.6A patent/CN105247524A/en active Pending
- 2014-05-28 CN CN201480031138.6A patent/CN105283877A/en active Pending
- 2014-05-28 US US14/890,182 patent/US9906583B2/en active Active
- 2014-05-28 WO PCT/IB2014/061768 patent/WO2014191926A1/en active Application Filing
- 2014-05-28 CN CN202011442604.3A patent/CN112466470A/en active Pending
- 2014-05-28 US US14/890,193 patent/US10630756B2/en active Active
- 2014-05-28 US US14/890,180 patent/US20160085920A1/en not_active Abandoned
- 2014-05-28 JP JP2016516285A patent/JP2016520931A/en not_active Ceased
- 2014-05-28 EP EP14731802.6A patent/EP3005189A1/en not_active Withdrawn
- 2014-05-28 EP EP14731803.4A patent/EP3005190A1/en not_active Ceased
- 2014-05-28 RU RU2015156493A patent/RU2015156493A/en not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014614A1 (en) * | 2006-08-04 | 2008-02-07 | Novell, Inc. | A method for providing live file transfer between machines |
US20140027984A1 (en) * | 2012-01-19 | 2014-01-30 | Flowserve Management Company | Abeyance Seal for High Temperature, High Pressure Applications |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160042004A1 (en) * | 2014-08-07 | 2016-02-11 | Konica Minolta, Inc. | Information processing device, non-transitory computer readable recording medium and information processing method |
US10180944B2 (en) * | 2014-08-07 | 2019-01-15 | Konica Minolta, Inc. | Information processing device, non-transitory computer readable recording medium and information processing method for transferring files from a first server to a second server |
US20160156696A1 (en) * | 2014-11-30 | 2016-06-02 | Sonicwall, Inc. | Transparent deferred spooling store and forward based on standard newtork system and client interface |
US9917882B2 (en) * | 2014-11-30 | 2018-03-13 | Sonicwall Inc. | Transparent deferred spooling store and forward based on standard network system and client interface |
US20160197990A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Controlling sharing of resource among a plurality of nodes |
US10616326B2 (en) * | 2015-01-04 | 2020-04-07 | EMC IP Holding Company LLC | Controlling sharing of resource among a plurality of nodes |
US10313486B2 (en) | 2015-01-07 | 2019-06-04 | Sonicwall Inc. | Optimizing transfer of fragmented packetized data |
US9813526B2 (en) | 2015-05-26 | 2017-11-07 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
US10681188B2 (en) | 2015-05-26 | 2020-06-09 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
US10158735B2 (en) | 2015-08-07 | 2018-12-18 | Sonicwall Inc. | Read-ahead on signed connections with unsigning, inline, transparent proxies |
US20190156959A1 (en) * | 2016-05-11 | 2019-05-23 | Zambon S.P.A. | Method, communication system and computer program for providing information indicative of concentration of allergens in the environment |
US11064010B2 (en) | 2018-03-30 | 2021-07-13 | Microsoft Technology Licensing, Llc | Download progress information for composite files |
Also Published As
Publication number | Publication date |
---|---|
CN105247525B (en) | 2020-11-10 |
EP3005190A1 (en) | 2016-04-13 |
US20160127505A1 (en) | 2016-05-05 |
JP2016526225A (en) | 2016-09-01 |
CN105283877A (en) | 2016-01-27 |
EP3005188A1 (en) | 2016-04-13 |
CN105247525A (en) | 2016-01-13 |
US10630756B2 (en) | 2020-04-21 |
US9906583B2 (en) | 2018-02-27 |
RU2015156493A (en) | 2017-07-05 |
WO2014191927A1 (en) | 2014-12-04 |
US20160134683A1 (en) | 2016-05-12 |
JP6473141B2 (en) | 2019-02-20 |
JP2016522505A (en) | 2016-07-28 |
JP2016520931A (en) | 2016-07-14 |
EP3005189A1 (en) | 2016-04-13 |
CN112466470A (en) | 2021-03-09 |
JP6820741B2 (en) | 2021-01-27 |
WO2014191925A1 (en) | 2014-12-04 |
CN105247524A (en) | 2016-01-13 |
WO2014191926A1 (en) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160085920A1 (en) | System and method for transferring a group of related files as one logical unit | |
Gjerde et al. | Oral appliance treatment in moderate and severe obstructive sleep apnoea patients non‐adherent to CPAP | |
Ekman et al. | Reduction in the incidence of awareness using BIS monitoring | |
Joosten et al. | Phenotypes of patients with mild to moderate obstructive sleep apnoea as confirmed by cluster analysis | |
JP2008522765A (en) | Method and apparatus for transferring captured electrocardiogram data | |
US20180096104A1 (en) | Disease management system | |
Hostler et al. | A mobile, web‐based system can improve positive airway pressure adherence | |
US20070226013A1 (en) | Method and apparatus for automated generation and transmission of data in a standardized machine-readable format | |
Alpiger et al. | Effect of sevoflurane on the mid‐latency auditory evoked potentials measured by a new fast extracting monitor | |
Isetta et al. | Comparative assessment of several automatic CPAP devices' responses: a bench test study | |
CN111640477A (en) | Identity information unifying method and device and electronic equipment | |
Andreadis et al. | Automated office blood pressure measurements obtained with and without preceding rest are associated with awake ambulatory blood pressure | |
CN109872802A (en) | Region medical image storage system and storage method | |
Domingo et al. | Effectiveness of unattended ambulatory sleep studies for the diagnosis and treatment of OSAS | |
US20070220006A1 (en) | Method and apparatus for automated generation and transmission of data in a standardized machine-readable format | |
Araujo et al. | Sleep disorders frequency in post-polio syndrome patients caused by periodic limb movements | |
Bouzaida | Conceptualization and Realization of a Database Migration Path for an International and mHealth Tinnitus Database | |
JP2009258800A (en) | Content providing system and content providing method | |
Yeh et al. | Plasmapheresis does not affect polysomnographic parameters in patients with Myasthenia Gravis: A case series study | |
Stevens et al. | BOS4c. 002 Evaluation of a complex advance care planning intervention in the general practice setting (ACP-GP): cluster-randomized controlled trial | |
JP6106624B2 (en) | Medical information management system and method | |
Croatti et al. | An Internet of Medical Things System to Increase Continuous Positive Airway Pressure Usage in Patients with Sleep-Disordered Breathing | |
Goyal et al. | Emerging mucormycosis posing threat to community: Anesthetist's perspective in a tertiary care center | |
Tashkin et al. | What Justifies a Placebo-Controlled Trial of Varenicline for Smoking Cessation in Patients With COPD?: Response | |
JP2021135829A (en) | Information management system, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KONINKLIJKE PHILIPS N.V., NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CYRAN, ROBERT JOHN;REEL/FRAME:036998/0287 Effective date: 20140602 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |