1. A method for reducing the effects of inter-subject variation on the analysis of spectra collected from the skin of two or more different subjects, comprising the step of
correcting for the differences between spectra collected from said two or more subjects.
2. The method of claim 1 wherein the step of correcting comprises using an inter-subject transfer function.
3. The method of claim 2 wherein the inter-subject transfer function comprises application of the following formula:
SpectrumABiSpectrumAi<SpectrumB><SpectrumA>,
wherein <SpectrumX> is defined as the mean spectrum of X, and Spectrum A and Spectrum B are spectra of different individuals.
4. The method of claim 1 wherein said inter-subject variation is caused by a difference in a skin parameter, between said subjects, selected from the group consisting of: pigment content, hair content and color, roughness, moisture content, age, wrinkles, thickness, tanning, and any combination thereof.
5. An instrument for measuring an analyte level of a plurality of individuals comprising:
means for collecting spectra emitted from a first individual’s skin;
means for analyzing the collected spectra to determine the individual’s analyte level, said means for analyzing comprising means for correcting for variations in spectra among other individuals.
6. The instrument of claim 5 wherein said analyte is glucose.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of managing IO requests in a storage system, wherein each one of a plurality of IO request includes an associated priority, the method comprising steps of:
receiving an IO request with the associated priority;
creating an IO request queue for each priority and defining a threshold value for queue length wherein the queue length is a number of IO requests pending for processing in the IO queue;
determining a queue length for one of a plurality of IO request queues having a priority that matches the associated priority;
determining if the queue length is less than the threshold value defined for the one of the plurality of the IO request queues; and
when the queue length is more than the threshold value for the queue length for one of the plurality of the IO request queues then rejecting the IO request and sending a queue full message;
wherein the threshold value of the queue length is defined based on a processing rate of the IO requests in each of the plurality of the IO request queues.
2. The method of claim 1 wherein the threshold value for the queue length for an IO request queue is calculated as
QfullThreshold
i
=
DeviceCapacity
–
\u2211
j
=
i
+
1
N
\u2062
ProcessingRate
j
.
3. The method of claim 1 further comprising when the queue length is less than the threshold value of the queue length for the one of the plurality of IO request queues then accepting the IO request.
4. The method of claim 1 wherein the storage system is a storage area network (SAN).
5. The method of claim 1 further comprising:
maintaining a count of the number of queue full messages sent for each of the plurality of IO request queues;
incrementing the number of queue full messages sent by one for each queue full message sent; and
when the number of the queue full messages sent for one of the plurality of IO request queues is more than or equal to a threshold value for a number of queue full messages for one of the plurality of IO request queues then scheduling a predetermined number of IO requests from the one of the plurality of IO request queues for processing.
6. The method of claim 5 further comprising resetting the count of the number of the queue full messages sent to zero when the number of queue full messages sent is more than or equal to the threshold value for a number of queue full messages.
7. The method of claim 5 wherein the predetermined number of IO requests for processing may be determined by a storage system administrator.
8. A storage subsystem comprising:
a host interface module, coupled to a disk array, configured to:
receive a plurality of IO requests, wherein each one of the plurality of IO requests includes an associated priority;
create an IO request queue for each different associated priority;
define a threshold value for the queue length for each one of the plurality of IO request queues, wherein the queue length is the number of IO requests in the IO queue;
determine a queue length for one of a plurality of IO request queues having a priority that matches the associated priority;
determine, if the queue length, is less than the threshold value defined for the one of the plurality of IO queues; and
when the queue length is more than the defined threshold value for the one of the plurality of IO request queues, then the host interface module is further configured to reject the IO request and send a queue full message;
wherein the threshold value for the queue length is based on a processing rate of the IO requests in each of the plurality of IO request queues.
9. The storage system of claim 8 wherein the threshold value for the queue length for each of the plurality of IO request queues is defined as
QfullThreshold
i
=
DeviceCapacity
–
\u2211
j
=
i
+
1
N
\u2062
ProcessingRate
j
.
10. The storage system of claim 8, further comprising if the queue length is less than the threshold value for that one of the plurality of IO request queues for the associated priority, then accepting the IO request.
11. The storage system of claim 8 wherein the storage system is a storage area network (SAN).
12. The storage system of claim 8 wherein host interface module is further configured to:
maintain a count of the number of queue full messages sent for each of the plurality of IO request queues;
increment the number of queue full messages sent by one for each queue full message sent; and
when the number of the queue full messages sent for one of the plurality of IO request queues is more than or equal to a threshold value for a number of queue full messages for that one of the plurality of IO request queues, then schedule a predetermined number of IO requests from that one of the plurality of IO request queues for processing.
13. The storage system of claim 12 further comprising resetting the number of the count of queue full messages to zero when the number of queue full messages sent is more than or equal to the threshold value for a number of queue full messages.
14. The storage system of claim 8 wherein the processing rate of an IO request queue is based on the computing resources associated with the IO request queue wherein the computing resources may comprise processor, and a cache memory.
15. The storage system of claim 8 wherein the processing includes a read or a write to the disk array.
16. The storage system of claim 12 wherein the predetermined number of IO requests for processing is determined by a storage system administrator.
17. A computer program product for managing IO requests in a storage system, the product comprising a computer readable medium having program instructions recorded therein, which instructions, when read by a computer, cause the computer to:
receiving an IO request with the associated priority;
creating an IO request queue for each priority and defining a threshold value for queue length wherein the queue length is a number of IO requests pending for processing in the IO queue;
determining a queue length for one of a plurality of IO request queues having a priority that matches the associated priority;
determining if the queue length is less than the threshold value defined for the one of the plurality of the IO request queues; and
when the queue length is more than the threshold value for the queue length for one of the plurality of the IO request queues then rejecting the IO request and sending a queue full message;
wherein the threshold value of the queue length is defined based on a processing rate of the IO requests in each of the plurality of the IO request queues.
18. The computer program product of claim 17 wherein the threshold value for the queue length for the IO request queue is defined as
QfullThreshold
i
=
DeviceCapacity
–
\u2211
j
=
i
+
1
N
\u2062
ProcessingRate
j
.
19. The computer program product of claim 17 wherein the storage system is a storage area network (SAN).
20. The computer program product of claim 17 further comprising
maintaining a count of the number of queue full messages sent for each of the plurality of IO request queues;
incrementing the number of queue full messages sent by one for each queue full message sent; and
when the number of the queue full messages sent for one of the plurality of IO request queues is more than or equal to a threshold value for number of queue full messages for one of the plurality of IO request queues then scheduling a predetermined number of IO requests from the one of the plurality of IO request queues for processing.