Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts

   
   

The present invention provides a method and apparatus for a scheduling driver to implement a protocol using time estimates for use with a device that does not generate interrupts. An application calls the scheduling driver to start an Input/Output (I/O) request to a device. The scheduling driver determines if the device is busy. If the device is not busy, the scheduling driver provides an estimated processing time (EPT) for the I/O request to be completed to the application. In one embodiment, if the device is busy, the scheduling driver calculates an estimated amount of time left (EATL) until the device will be available to the application and provides this EATL to the application. When the device is not busy, the application sleeps for the estimated processing time (EPT) and calls the scheduling driver to obtain the I/O operation results. If the I/O request has been completed, the scheduling driver provides the I/O operation results to the application. However, if the I/O request has not been completed, the scheduling driver calculates an estimated processing time remaining (EPTR) for the I/O request to be completed and provides the EPTR to the application. The application then sleeps for the estimated processing time remaining (EPTR) and again calls the scheduling driver to obtain the I/O operation results. These operations can be repeated until the I/O request has been completed.

La présente invention fournit une méthode et un appareil pour un conducteur d'établissement du programme pour mettre en application un protocole en utilisant des évaluations de temps pour l'usage avec un dispositif qui ne produit pas des interruptions. Une application appelle le conducteur d'établissement du programme pour commencer une demande de l'entrée-sortie (I/O) à un dispositif. Le conducteur d'établissement du programme détermine si le dispositif est occupé. Si le dispositif n'est pas occupé, le conducteur d'établissement du programme fournit une durée de la transformation estimée (EPT) pour la demande d'I/O d'être accompli à l'application. Dans une incorporation, si le dispositif est occupé, le conducteur d'établissement du programme calcule une quantité de temps estimée à gauche (EATL) jusqu'au dispositif sera disponible à l'application et fournit cet EATL à l'application. Quand le dispositif n'est pas occupé, l'application dort pendant la durée de la transformation estimée (EPT) et les appels le conducteur d'établissement du programme pour obtenir l'opération d'I/O résulte. Si la demande d'I/O a été accomplie, le conducteur d'établissement du programme fournit les résultats d'opération d'I/O à l'application. Cependant, si la demande d'I/O n'a pas été accomplie, le conducteur d'établissement du programme calcule une durée de la transformation estimée restante (EPTR) pour la demande d'I/O d'être accompli et fournit l'EPTR à l'application. L'application dort alors pendant la durée de la transformation estimée restante (EPTR) et appelle encore le conducteur d'établissement du programme pour obtenir les résultats d'opération d'I/O. Ces opérations peuvent être répétées jusqu'à ce que la demande d'I/O ait été accomplie.

 
Web www.patentalert.com

< Storage virtualization system and methods

< Method for building a peripheral information database

> Adaptive read pre-fetch

> Read-only memory based circuitry for sharing an interrupt between disk drive interfaces

~ 00133