Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
BLOOD PUMP AND METHOD OF SUCTION DETECTION
Document Type and Number:
WIPO Patent Application WO/2016/033133
Kind Code:
A1
Abstract:
A system and method for detecting and mitigating a suction condition are disclosed. The method may include estimating a flow waveform of the pump, identifying pulses in the flow waveform, determining a negative flow based on a valid identification of a pulse, and evaluating a characteristic of the pulse for an existence of a suction condition. In various embodiments, a suction marker is located based on a minimum in a diastolic phase, and the suction marker location is used to identify a probability of a suction condition. A speed of the pump may be adjusted to mitigate the suction condition. A system and method for estimating flow is further disclosed. The method may include interpolating data sets defining pump power to flow for various pump speed values.

Inventors:
MEDVEDEV ALEXANDER (US)
RAINIER J BRADFORD (US)
SAMI MUHAMMAD K (US)
Application Number:
PCT/US2015/046846
Publication Date:
March 03, 2016
Filing Date:
August 26, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THORATEC CORP (US)
International Classes:
A61M1/12; A61M1/10
Foreign References:
US20040152944A12004-08-05
US20140142367A12014-05-22
US20130030240A12013-01-31
US6623420B22003-09-23
US5100374A1992-03-31
Other References:
See also references of EP 3185925A4
Attorney, Agent or Firm:
GIBBY, Darin J. et al. (Two Embarcadero CenterSan Francisco, CA, US)
Download PDF:
Claims:
WHAT IS CLAIMED: 1. A method of detecting a suction event of a blood pump, comprising:

determining a flow waveform of the pump;

identifying pulses in the flow waveform;

determining a negative flow pulse based on a valid identification of a pulse and

evaluating a characteristic of the pulse for an existence of a suction condition. 2. A method as in claim 1 wherein the flow is estimated by solving for the following quadratic equation:

Where,

F = Flow Rate (LPM)

p = Pump Power (W) adjusted for hematocrit (This could also be based on current)

A = Interpolated X2 Polynomial coefficient for the given pump speed.

B = Interpolated X1 Polynomial coefficient for the given pump speed.

C = Interpolated X0 Polynomial coefficient for the given pump speed. 3. A method as in claim 1, wherein the pulse segmentation is selected from the group consisting of: The Pulse Average, The Pulse Minima (Turf), The Pulse Maxima (Crest), The pulse falling cross-over point, The Systolic Average (SSA), The Diastolic Average (DSA), The Systolic Pulse Index (SPI), The Diastolic Pulse Index (DPI), The Pulse Flow Index (PFI), The Negative Flow Correction, The Pulse

Asymmetry Index, The Pulse Suction Index (Ȍ), The Pulse Duty Cycle (PDC), The Pulse Frequency (PHZ), and a combination of the same. 4. A method of claim 1, wherein the evaluating step comprises: locating a suction marker reference point based on a midpoint in the diastolic phase;

identifying a suction marker location where a suction marker flow minimum is reached; and

using the suction marker location to identify a probability of a suction condition. 5. A method of negative flow approximation, comprising:

obtaining a diastolic segment of a pump flow pulse;

using the diastolic segment of the pump flow pulse to determine a type of approximation; and

making a correction to determined flow based on the type of approximation identified. 6. A method to determine a quantity of a suction condition in a blood pump, comprising:

calculating a pulse suction index (Ȍ) according to the formula:

Where,

Ȍ = Suction Index, %

SP = Suction Probability

PAR1 = Pulse Area Reference 1 is the area defined by the pulse region overlapping the area PAR2

PAR2 = Pulse Area Reference 2 is the right triangular area defined time period between RCO2 and SML and the difference of flow magnitude at RCO2 and MNL; and

using the pulse suction index to estimate the quantity of the suction condition. 7. A method as in claim 6, further comprising:

controlling pump speed using the (Ȍ), wherein a binary search is used to increase or decrease the pump speed when a determined suction criteria is met, and a step change of the pump speed of the binary search is bounded by an upper limit identified as safe for a given patient population. 8. A method as in claim 6, wherein an increase in MIN(DSA) with the decrease in speed may additionally indicate recovery from suction condition. 9. A method as in claim 6, wherein a decrease in MEAN(WAI) with the decrease in speed may additionally indicate recovery from suction condition. 10. A method as in claim 6, wherein a decrease in MEAN(PAI) with the decrease in speed may additionally indicate recovery from suction condition. 11. A method as in claim 6, wherein a decrease in MEAN(DPI) with the decrease in speed may additionally indicate recovery from suction condition. 12. A method as in claim 6, wherein a decrease in PSI(Ȍ) with the decrease in speed will most likely indicate recovery from suction condition. 13. A method as in claim 8, wherein a lowest allowable pump speed for recovery from suction condition is based on a Low Speed Limit. 14. A system, comprising:

a blood pump;

a controller configured to operate the blood pump, the controller configured to:

determine a flow waveform of the pump;

identify pulses in the flow waveform;

determine a negative flow pulse based on a valid identification of a pulse; and

evaluate a characteristic of the pulse for an existence of a suction condition; and

provide an output based on the existence of a suction condition. 15. A system as in claim 14, wherein the controller estimates the flow by solving for the following quadratic equation: Where,

F = Flow Rate (LPM)

p = Pump Power (W) adjusted for hematocrit (This could also be based on current)

A = Interpolated X2 Polynomial coefficient for the given pump speed.

B = Interpolated X1 Polynomial coefficient for the given pump speed.

C = Interpolated X0 Polynomial coefficient for the given pump speed. 16. The system as in claim 14, wherein the pulse segmentation is selected from the group consisting of: The Pulse Average, The Pulse Minima (Turf), The Pulse Maxima (Crest), The pulse falling cross-over point, The Systolic Average (SSA), The Diastolic Average (DSA), The Systolic Pulse Index (SPI), The Diastolic Pulse Index (DPI), The Pulse Flow Index (PFI), The Negative Flow Correction, The Pulse

Asymmetry Index, The Pulse Suction Index (Ȍ), The Pulse Duty Cycle (PDC), The Pulse Frequency (PHZ), and a combination of the same. 17. A system as in claim 14, wherein the controller is configured to evaluate the characteristic of the pulse by:

locating a suction marker reference point based on a midpoint in the diastolic phase; identifying a suction marker location where a suction marker flow minimum is reached; and using the suction marker location to identify a probability of a suction condition.

Description:
BLOOD PUMP AND METHOD OF SUCTION DETECTION CROSS REFERENCE TO RELATED APPLICATIONS [0001] This application claims priority to Provisional U.S. Patent Application Number 62/041,910 filed August 26, 2014, entitled“BLOOD PUMP AND METHOD OF SUCTION DETECTION,” entire disclosure of which is hereby incorporated by reference, for all purposes, as if fully set forth herein. BACKGROUND OF THE INVENTION [0002] This invention relates, in general, to mechanical circulatory support systems and methods for their use. Various aspects of the invention relate to methods of detecting and mitigating ventricular suction events. [0003] Suction detection and prevention is critical for heart failure patients supported by blood pumps (e.g. a ventricular assist device or VAD). In the case of a VAD, a suction event refers to an instance of negative pressure created in the ventricle. A suction event, which is typically triggered by a pump speed too high for the given systemic conditions and a patient’s physiology, affects clinical outcomes and can lead to major adverse events in extreme cases. Suction events can be avoided by lowering the pump speed when such an event is detected. A speed reduction may not completely prevent suction, but it will reduce the likelihood of a continuous severe suction condition under normal pump operation. [0004] One typical method for detecting a suction event includes the trend analysis of a pulsatility index (PI). PI is a measure of the variability of blood velocity in a vessel, and in the case of a VAD, PI is a measure of the pressure differential inside the VAD pump during the native heart’s cardiac cycle and represents volume status, right ventricle function, and native heart contractility. PI may be calculated taking into consideration factors such as pump power, current, back electromotive force (emf). Another method for detecting a suction event includes correlating the pump flow waveform to a database of signals indicating suction events. Yet another method includes performing a harmonic analysis of the pump power or pump flow waveform. Exemplars of existing suction detection techniques are described in U.S. Patent Nos. 7,645,225 to Medvedev, 7,175,588 to Morello, 6,991,595 to Burke et al., and 5,888,242 to Antaki et al. and U.S. Pub. No. 2014/0100413 to Casas, which are incorporated herein for all purposes by reference. [0005] Existing methods for detecting the imminence or presence of a suction event have several limitations. [0006] Methods other than waveform correlation are limited in their capability to discern a suction event when compared to other patient physiological conditions that may not have any relevance to a suction condition (U.S. Pub. No.2014/0100413 to Casas).

Accordingly, the results can be inaccurate and lead to false positive detection of a suction event. Although waveform correlation methods can be more accurate, these techniques are challenging to implement because they require a database of suction event signals against the input signal be matched (7,175,588 to Morello). The correlation of signals also requires extensive signal processing capabilities. Such capabilities are typically not available in embedded systems used to drive LVAD pumps. Extensive signal processing also tends to lead to greater energy usage and heat which can be challenging when the components are implanted in the body or directly against the skin. [0007] What is needed are devices and methods which overcome the above

disadvantages. What is needed is an improved suction detection technique. BRIEF SUMMARY OF THE INVENTION [0008] In summary, one aspect of the present invention is directed to estimating a flow rate of a blood pump by interpolating data sets defining pump power to flow for various pump speed values. In various embodiments, the method includes solving a quadratic equation for the current pump speed. [0009] Various aspects of the invention are directed to a method of detecting a suction event of a blood pump, comprising estimating a flow rate of the pump; identifying pulses in the flow rate based on the estimated flow; estimating a negative flow based on a valid identification of a pulse; and evaluating a characteristic of the pulse for an existence of a suction condition. In various embodiments, the evaluation comprises locating a suction marker reference point based on a midpoint in the diastolic phase; identifying a suction marker location where a suction marker flow minimum is reached; and using the suction marker location to identify a probability of a suction condition. [0010] In one particular aspect, the flow is estimated by solving for the following quadratic equation:

Where, F = Flow Rate (LPM) p = Pump Power (W) adjusted for hematocrit (This could also be based on current) A = Interpolated X2 Polynomial coefficient for the given pump speed. B = Interpolated X1 Polynomial coefficient for the given pump speed. C = Interpolated X0 Polynomial coefficient for the given pump speed. [0011] In still another aspect, the pulse segmentation may include: The Pulse Average, The Pulse Minima (Turf), The Pulse Maxima (Crest), The pulse falling cross-over point, The Systolic Average (SSA), The Diastolic Average (DSA), The Systolic Pulse Index (SPI), The Diastolic Pulse Index (DPI), The Pulse Flow Index (PFI), The Negative Flow Correction, The Pulse Asymmetry Index, The Pulse Suction Index (Ȍ), The Pulse Duty Cycle (PDC), The Pulse Frequency (PHZ), and a combination of the same. [0012] Another aspect of the present invention is directed to a system for controlling a blood pump comprising a pump flow estimator for estimating flow rate of the pump, a pump pulse detector for detecting a pulse based on flow estimator output, a negative flow estimator for approximating a negative flow and adjusting a signal from the pulse detector when a valid pulse is detected by the pulse detector, a fault generator for providing notifications to a patient when an invalid pulse is detected by the pulse detector, and a suction detector for evaluating the probability of a suction event based on at least one characteristic of the signal output from the negative flow estimator. In various embodiments, the system further comprises a speed controller for adjusting a speed of the pump to prevent or mitigate the suction condition. [0013] The systems and methods of the present invention have other features and advantages which will be apparent from or are set forth in more detail in the

accompanying drawings, which are incorporated in and form a part of this specification, and the following Detailed Description of the Invention, which together serve to explain the principles of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS [0014] FIG. 1 is a schematic of a system for controlling a blood pump in accordance with the present invention. [0015] FIG. 2A is a flow diagram illustrating a method for detecting and mitigating a suction event. [0016] FIG. 2B is a block diagram of the components of an exemplary system for implementing the method of FIG. 2A. [0017] FIG. 3 is a chart showing the coefficients of the quadratic equation for the current pump speed used for flow estimation. [0018] FIG. 4 is a chart showing the power to flow transform for various pump speed values for a given hematocrit. [0019] FIG. 5 is a flow diagram for the method of detecting a pump pulse in accordance with the invention. [0020] FIG. 6A and FIG. 6B are line charts showing the method for negative flow approximation in accordance with the invention. [0021] FIG. 7 is a line chart showing the method for identifying the suction marker location (SML) for evaluating the probability of a suction condition in accordance with the invention. [0022] FIG. 8 is another line chart showing the method for evaluating the probability of a suction condition in accordance with the invention. [0023] FIG. 9 is yet another line chart showing the method for evaluating the probability of a suction condition in accordance with the invention. [0024] FIG. 10 is a schematic of a blood pump in accordance with the invention. [0025] FIG. 11 shows an example computing system or device. TERMS AND DEFINITIONS [0026] Waveform Asymmetry Index (WAI) (%) - First Min, Mean and Max of estimated pump flow (EPF) over a time period are calculated and then WAI is calculated using the formula, WAI = 100 * (MEAN(EPF)– MIN(EPF))/(MAX(EPF)–

MEAN(EPF)). [0027] Systolic Average (SSA) (LPM) - First crest of the estimated pump flow (EPF) is identified and then average is calculated from start to the crest of the Pulse. [0028] Pulse Diastolic Average (DSA) (LPM) - First falling cross-over and the turf of the estimated pump flow (EPF) are identified and then average is calculated from the falling cross-over to the turf of the Pulse. [0029] Pulse Flow Index (PFI) (%) - First Pulse DSA and SSA are evaluated and then PFI is calculated using the formula, PFI = (100 * DSA)/SSA. [0030] Pulse Asymmetry Index (PAI) (%) - First Min(Pulse), Mean(Pulse) and Max(Pulse) flow for each pulse is evaluated. Then PAI is calculated for each pulse using the formula, PAI = 100 * (MEAN(Pulse)– MIN(Pulse))/(MAX(Pulse)– MEAN(Pulse)). Then PAI is calculated by averaging PAI of most recent data. [0031] Pulse Duty Cycle (PDC) (%) - First PDC for individual pulse is evaluated using the formula, PDC = 100 * (Falling Cross-over Pulse Sample)/(Total Number of Pulse Samples). Then PDC is calculated by averaging PDC of most recent data. [0032] Pulse Frequency (PHZ) (Hz) - First PHZ for individual pulse is evaluated using the formula, PHZ = 100/(Total Number of Pulse Samples). Then PHZ is calculated by averaging PHZ of most recent data. [0033] Pulses per Minute (PPM) - First PHZ is evaluated and then PPM is calculated using the formula, PPM = 60 * (PHZ). [0034] Systolic Pulse Index (SPI) - In the systolic segment of the pulse, first rising cross-over, falling cross-over and the marker in the neighborhood of maxima of the EPF pulse are identified and then area from rising cross-over to marker and from the marker to the falling cross-over is calculated. Ratio of these terms provides the Inner Systolic Pulse Index. Furthermore, the Outer Systolic Pulse Index is calculated by calculating the ratio of the area outside the pulse under a bounded rectangle. Note that this term is identified here but not used for suction condition as the Pulse Suction Index (PSI) is found to be a better measure of suction event detection. [0035] Diastolic Pulse Index (DPI) - In the diastolic segment of the pulse, the falling cross-over, rising cross-over and the marker in the neighborhood of minima of the EPF pulse are identified and then area from falling cross-over to marker and from the marker to the rising cross-over is calculated. Ratio of these terms provides the Inner Diastolic Pulse Index. Furthermore, the Outer Diastolic Pulse Index is calculated by calculating the ratio of the area outside the pulse under a bounded rectangle. Note that this term is identified here but not used for suction condition as the Pulse Suction Index (PSI) is found to be a better measure of suction event detection. DETAILED DESCRIPTION OF THE INVENTION [0036] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. It being understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims. [0037] For example, any detail discussed with regard to one embodiment may or may not be present in all contemplated versions of that embodiment. Likewise, any detail discussed with regard to one embodiment may or may not be present in all contemplated versions of other embodiments discussed herein. Finally, the absence of discussion of any detail with regard to embodiment herein shall be an implicit recognition that such detail may or may not be present in any version of any embodiment discussed herein. [0038] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other elements in the invention may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. [0039] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but could have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function. [0040] The term“machine-readable medium” includes, but is not limited to transitory and non-transitory, portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc. [0041] Furthermore, embodiments of the invention may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium. A processor(s) may perform the necessary tasks. [0042] For convenience in explanation and accurate definition in the appended claims, the terms“up” or“upper”,“down” or“lower”,“inside” and“outside” are used to describe features of the present invention with reference to the positions of such features as displayed in the figures. [0043] Turning now to the drawings, wherein like components are designated by like reference numerals throughout the various figures, attention is directed to FIGS. 1 to 9. Various aspects are similar to those described in and U.S. Pub. Nos. 2014/0100413 to Casas, 2011/0129373 to Mori, 2014/0155682 to Jeffery et al., and 2013/0225909 to Dormanen et al., and U.S. Patent Nos. 7,850,594 to Sutton, 7,645,225 to Medvedev, 7,175,588 to Morello, 6,991,595 to Burke et al., 5,888,242 to Antaki et al., and 6,066,086 to Antaki et al., the entire contents of which patents and applications are incorporated herein for all purposes by reference. [0044] As shown in FIG. 1, in various embodiments, the basic design concept 100 includes a pump 105 connected to the left ventricle 110 (or right ventricle 115 or both ventricles) across the aortic valve 120 of a heart 125. The flow through pump 105 is estimated using pump parameters which include power/current, speed and a flow map, which allows transformation of inputs like power/current and speed to flow derived from the pump flow characteristics curves (e.g. power/current-flow curves for various speeds and viscosities/hematocrits). Heart 125 also includes pulmonary valve 130, tricuspid valve 135, mitral valve 140, right atrium 145, and left atrium 150. Apex 155, pulmonary artery 160, aorta 165, vena cavae 170, and pulmonary vein 175 are also shown in Fig.1. Blocks representing pulmonary circulation 180 and systemic circulation 185 are also shown. [0045] FIG. 2A illustrates the flow of a method 200 in accordance with embodiments of the invention. FIG. 2B illustrates the components of an exemplary physiological control system 250 implementing the suction detection technique in accordance with the inventions. It is contemplated that the components shown in FIG.2B may be

implemented by at least one computing system or device in or as software, firmware, or hardware, and/or any combination thereof. An example of such a computing system or device is shown and described in connection with FIG. 11 below. Example functions for suction detection and mitigation using the illustrated system will now be described with respect to an exemplary left ventricular assist device (LVAD). [0046] Referring FIGS. 2A and 2B, in step 205 the pump flow estimator component 255 takes various pump and system parameters like pump speed, pump current, pump voltage, pump power transfer characteristics and other system or vital-related parameters like Hematocrit to provide the estimated flow output. The pump characteristics can be used to determine flow in various ways. In one embodiment, pump power and speed inputs are used to determine the estimated flow. Other methods suitable for obtaining the flow waveform are acceptable as long as the methods can provide real-time flow estimation within the pump requirements, e.g., at 100Hz and with a tolerance of +/- 0.5 LPM, including a direct flow measurement. [0047] The method described herein differs from conventional techniques in several respects. In one aspect, instead of interpolating the data sets defining the power to flow transform, the coefficients of the quadratic equation for the current pump speed as shown in the chart in FIG. 3 are interpolated. In this example, the x^1 trend is the topmost trend, the x^2 trend is the middle trend, and the x^0 trend is the bottommost trend. From there, the chart in FIG. 4 shows the power to flow transform for various pump speed values for a given Hematocrit. In this example, the 1500 Hematocrit trend deduced by collecting power to flow transforms for various blood hematocrit values and adjusted accordingly in real-time. [0048] In block 210 a pump pulse detector 260 takes the estimated flow from flow estimator 205 as an input and identifies pulses in the flow measurement to allow data analysis at individual pulse level. FIG. 5 demonstrates one possible method 500 of detecting pulses. At block 510, pump flow is estimated. The estimated flow is then subjected to an under damped low pass filter (block 515), and an over damped low pass filter (block 520). The over damped and under damped signals are superimposed on each other and cross over points are detected at block 530. Lag correction is conducted at block 540, and the resulting pulse is then analyzed at block 550. FIG. 7 The cross over points identified at the first rising edge is depicted as RCO1 shows the start of the pulse and at the second rising edge is depicted as RCO2 shows the end of the pulse. The cross over point identified at the falling edge of the pulse as FCO and shows the end of systole and the beginning of the diastole. [0049] Pulse detector 260 monitors the pulse detector output and validates if the output pulse satisfies the acceptance criteria to ensure that a valid pulse is passed along. The acceptance criteria may include, but is not limited to, peak-to-peak flow, minimum flow, minimum and maximum pulse frequency or period, etc. If the pulse validation is successful, it passes it on to a negative flow estimator 265 at block 220. Otherwise, it transfers control to the fault generator 280 at block 225. The exemplary physiological control application called for a minimum peak-to-peak pulse of at least 1LPM, a mean flow of at least 1LPM, a minimum pulse period of 333msec (~180 beats/min), and a maximum pulse period of 1.5sec (~40 beats/min). If the pulse does not meet these criteria, it will raise fault at block 225. [0050] If a pulse is detected in block 215, then control is turned to a negative flow approximator 265 in step 220. Negative flow approximation is generally necessary to overcome the limitation of using the pump as a flow sensor. Additionally, conventional pump systems do not have a way to measure negative flows. Negative flow

approximator 265 takes the individual pulse from the pulse detector 260 as an input and tests it to see if it needs negative flow correction. In cases where the correction is needed, approximator 265 adjusts the signal and passes it on to the next component in the process. [0051] Block 220 provides an approximation which may or may not reflect the true measurement. Accordingly, FIG. 6A and FIG.6B show a type of pulse and the correction which may be made to approximate the negative flow. In FIG. 6A negative flow approximation is based on an extended negative pulse where the diastolic phase of the pulse shows minimal noise. In FIG. 6B negative flow approximation is based on an inverted negative pulse where the diastolic phase of the pulse shows detectable noise. [0052] In block 225, a suction detector 270 evaluates the pulse characteristic from negative flow approximator 265 and provides a quantifiable measure for the existence of the suction condition using the method described below. For the exemplary application, Ȍ > 75% is used as a determining factor for the declaration of the presence of suction. [0053] In block 230, the value from the Suction Detector 270 is passed on to a suction speed controller 275 to make appropriate adjustments to the speed according the pulse suction index Ȍ output. [0054] The index PSI/SI/Ȍ is calculated by identifying a suction marker which is located in the diastolic phase of the pump flow pulse as shown in FIG. 7. [0055] With reference to FIGS. 2A and 7, the suction marker is located using the midpoint in the diastolic phase as a reference point approaching towards the minima of the diastolic segment of the pump flow pulse such that a minimum suction marker flow (SMF) threshold SMF Min is reached. The point identified on the pump flow curve where the SMF Min is reached is defined as the Suction Marker Location (SML). [0056] SML is used to identify the primary suction probability of the suction for given pulse using the formula given below.

Where,

SP = Suction Probability.

SP R1 = Suction Probability Reference 1 is the time between SML and FCO.

SP R2 = Suction Probability Reference 2 is the pump pulse time period. [0057] FIG. 8 elaborates on these terms graphically. [0058] Using the Suction Probability SP, Pump Pulse Suction Index PSI or Suction Index SI or‘Ȍ’ is derived as follows.

Where,

Ȍ = Suction Ind

SP = Suction Probability.

PA R1 = Pulse Area Reference 1 is the area defined by the pulse region overlapping the area PA R2 .

PA R2 = Pulse Area Reference 2 is the right triangular area defined time period between RCO 2 and SML and the difference of flow magnitude at RCO 2 and MNL. [0059] FIG. 9 elaborates on the above terms graphically. [0060] With continued reference to FIGS. 2A and 2B, in block 230 suction speed controller 275 takes the suction index Ȍ and low pump speed limit as inputs, and based on current pump speed and historical presence of suction condition, makes adjustments to the pump speed necessary to mitigate a suction condition or to recover the clinician specified patient speed while minimizing the introduction of suction events over time as the speed is restored to its set-point. For both speed reduction and speed increase a binary search strategy may be used for its fast convergence to the optimal speed set-point along with a maximum upper bound for the speed set-point step change. Controller 275 can also keep track of the trends of Estimated Pump Flow, Diastolic Averages, Pulsatility Index, Flow Waveform Magnitude Asymmetry and Pulse Magnitude. The controller 275 may also validate the presence of suction and detection of conditions like inflow/outflow obstruction. [0061] While this type of control provides a means of suction mitigation, in some clinical settings and for some patient physiologies a means to disable the control of speed will be required. For those scenarios a provision to enable/disable Suction Speed Control may be desirable as a user configurable item. The default value may be enabled, and the feature can be disabled by the clinician as needed. [0062] In block 225, a fault generator 280 is intended to provide visual/audible notifications to the patient when an invalid or no pulse is detected. The fault generator 280 may also provide a notification when a suction condition is detected that needs mitigation. These conditions may include low/no mean flow, low peak-to-peak flow, pulse rate too high or too low, suction detected, unmitigated suction and inflow/outflow obstruction conditions. The determination and selection of faults to the patient is a risk management activity. The criteria for notification to the patient may be pre-selected by a risk management team. [0063] In block 235, the physiological control process ends. [0064] The methods and systems described herein for suction detection and mitigation provides several advantages over existing techniques. The invention reduces the probability of false positives for suction detection. The invention provides a bounded unit less quantity for the probability of the presence of suction condition without the complications of conventional techniques. The inventive technique reduces or eliminates the need for processing intensive signal analysis, pulse recognition based on correlation and harmonic analysis schemes, or pulse recognition based on a database of known suction waveforms and matching of those waveforms against the input pump

flow/power/current signal. The inventive system described above analyzes the features of the pulse so that even the detection of intermittent conditions is possible. It detects the features of the pulses and amplifies the areas and looks for features which are more pronounced in the presence of a suction event and at the same time can filter out the segments of the signal which are not relevant and are non-contributors of determining suction events. It also processes the signal at each pulse level to allow the ability to detect intermittent suction which allows detection of an onset of suction event compared to existing approaches where multiple pulses are used for the suction event detection and are unable to detect events which are intermittent. As described herein, the mitigation in response to the presence of a suction condition is optimized for its response time and minimizes the need for clinician involvement compared to existing approaches. It also minimizes the number of necessary patient visits in cases where there is a recovery from patient’s physiological conditions causing suction condition over time. [0065] One of skill in the art will appreciate from the description herein that the methods and systems may be altered and modified in accordance with the invention. Other embodiments and configurations may include a flow measurement sensor implanted with the pump which allows precision flow measurement but introduces need of additional sensing capabilities and reduces system reliability. Such a method eliminates the need for negative flow correction but the signal would still need to be analyzed for suction events using a signal matching technique using correlation and others, which require extensive signal processing thereby needing a powerful signal processor not available in pump control systems due to over-heating and power consumption issues. [0066] FIG. 10 shows a schematic of a blood pump 1000 in accordance with some embodiments of the invention. The techniques of the invention may be used in connection with a blood pump of this type, among others. As such, it will be appreciated that the invention is not intended to be limited to a specific embodiment of a blood pump but may be used with a wide variety of such pumps. Blood pump 1000 includes a housing 1002 having a blood inlet port 1006 and a blood outlet port (not shown) via conduit 1007; a pump unit 1012 including an impeller 1008 which has a plurality of magnetic materials (magnetic material bodies or pieces) 1025 and which rotates within the housing to feed blood; and an impeller rotational torque generation section 1013 for rotating the impeller. Housing 1002 includes a plurality of magnetic members 1054 embedded between the impeller 1008 and the impeller rotational torque generation section 1013 for transmitting a magnetically attractive force generated by the impeller rotational torque generation section 1013 to the magnetic material bodies 1025 of the impeller. The magnetic material bodies 1054 are embedded in the housing 1002 (second housing member 1004) so that the magnetic material bodies 1054 are positioned in respective recesses in the housing 1002 (second housing member 1004) and so that the magnetic material bodies 1054 form a part of the housing 1002 or second housing member 1004 (e.g., the material forming the second housing member 1004 contacts and surrounds at least a portion of the magnetic material bodies 1054 as shown in FIG. 10). The blood pump 1000 includes a non-contact bearing mechanism for rotating the impeller without contacting within the housing when the impeller is rotated by the impeller rotational torque generation section 1013. [0067] The blood pump apparatus 1000 in the present embodiment includes the housing 1002, the pump unit 1012 composed of the impeller 1008 accommodated in the housing 1002, and the impeller rotational torque generation section 1013 for rotating the impeller. In addition, in the blood pump apparatus 1000 in the present embodiment, the impeller rotational torque generation section 1013 is attachable to and detachable from the pump unit 1012. With the impeller rotational torque generation section 1013 thus attachable to and detachable from the pump unit 1012, the impeller rotational torque generation section 1013 having no blood contact part during use can be reused, so that only the pump unit 1012 which has a blood circulating part is disposable. [0068] The housing 1002 includes: a first housing member 1003 having the blood inlet port 1006 and a recess for accommodating an upper portion of the impeller 1008; and a second housing member 1004 having the blood outlet port and a recess for

accommodating a lower portion of the impeller 1008. The housing 1002 is formed by combining the first housing member 1003 and the second housing member 1004 with each other. The interior of the housing 1002 is provided with or forms a blood chamber 1024 through which the blood inlet port 1006 and the blood outlet port communicate with each other. The blood inlet port 1006 projects substantially perpendicularly from around the center of the upper surface of the housing 1002 (the first housing member 1003). The blood inlet port 1006 is not limited to the straight pipe as illustrated, but may be a curved pipe or a bent pipe. The blood outlet port projects in a tangential direction from the side surface of the housing 1002, which is formed in a substantially hollow cylindrical shape. According to this disclosed embodiment, the blood outflow passage is of a double volute structure divided into two parts in the, but it may be of a single volute structure or of a voluteless structure. [0069] The housing 1002 includes the plurality of magnetic members 1054 embedded between the impeller 1008 and the impeller rotational torque generation section 1013 for transmitting a magnetically attractive force generated by the impeller rotational torque generation section 1013 to the magnetic material bodies 1025 of the impeller.

Specifically, the plurality of magnetic members 1054 are embedded in the second housing member 1004 (more specifically, in the bottom wall of the second housing member 1004). It is particularly preferable that the magnetic members 1054 are so embedded as not to be exposed to the inside of the blood chamber 1024, as in the pump apparatus 1 according to the present embodiment. As the magnetic member 1054, a ferromagnetic material is used. . [0070] The housing 1002, specifically the first housing member 1003 and the second housing member 1004, are formed of synthetic resin or metal. In addition, the first housing member 1003 and the second housing member 1004 have peripheral parts which make surface contact with each other, as shown in FIG. 10. [0071] The impeller 1008 is contained in the housing 1002. Specifically, as shown in FIG. 10, a disk-shaped impeller 1008 provided with a centrally located through-hole is contained in the blood chamber 1024 formed inside the housing 1002. [0072] As shown in FIG. 10, the impeller 1008 includes an annular member (lower shroud) 1027 forming a lower surface, an annular member (upper shroud) 1028 provided with an opening in its center and forming an upper surface, and a plurality of (for example, seven) vanes between the two members or shrouds. Between the lower shroud and the upper shroud, there are formed a plurality of (for example, seven) blood flow channels, each partitioned by the adjacent vanes. The blood flow channels communicate with the central opening of the impeller 1008, and extend to the outer peripheral edge while gradually increasing in width, starting from the central opening of the impeller 1008. In other words, the vanes are each formed between the adjacent blood flow channels. In the present embodiment, the blood flow channels and the vanes are provided at regular angular intervals and in substantially the same shape, respectively. [0073] As shown in FIG. 10, the impeller 8 has a plurality of (for example, six) magnetic material bodies or pieces 1025 (permanent magnets; driven magnets) embedded therein. In the present embodiment, the magnetic material bodies 1025 are embedded in the lower shroud 1027. The magnetic material bodies 1025 (permanent magnets) thus embedded are attracted toward the impeller rotational torque generation section 1013 side by stators 1051 of the impeller rotational torque generation section 1013 and, also, receive a rotation torque of the impeller rotational torque generation section 1013 through the magnetic members embedded in the housing 1002 (the second housing member 1004). [0074] In addition, where a certain number of magnetic bodies 1025 are embedded as in the present embodiment, magnetic coupling with the plurality of stators 1051 can be secured sufficiently. Preferred shapes of the magnetic material bodies 1025 (permanent magnet) include a circle, a sector and, further, a ring (an integral form in which N poles and S poles are alternately polarized). The impeller members are formed of a highly corrosion-resistant metal (titanium, stainless steel SUS316L, or the like) or synthetic resin. As the synthetic resin here, those which have been described above as material for the housing can be preferably used. [0075] The blood pump apparatus 1000 disclosed here includes a non-contact bearing mechanism for rotating the impeller without contacting the inner surface of the housing when the impeller is rotated by the impeller rotational torque generation section 1013. [0076] In the pump apparatus 1000 disclosed here, the non-contact bearing mechanism is composed of grooves for hydrodynamic bearing 1048 provided in the inner surface of the housing 1002 on the impeller rotational torque generation section 1013 side, in other words in a surface (bottom wall surface) of the recess in the second housing member 1004. The impeller is rotated, without contact, under a dynamic pressure bearing effect offered by a dynamic pressure generated between a surface (groove for hydrodynamic bearing formed part) 1042 in which the grooves for hydrodynamic bearing are formed and the impeller 1008, by rotation thereof at a rotating speed of not less than a

predetermined value. The groove for hydrodynamic bearing formed part is formed in a size corresponding to a bottom surface (a surface on the impeller rotational torque generation section side) of the impeller 1008. In the pump apparatus 1000 disclosed here, each of the grooves for hydrodynamic bearing 1048 has its one end on the peripheral edge (circumference) of a circular part slightly outwardly spaced from the center of the surface of the recess in the second housing member, and extends therefrom nearly to the outer edge of the recess surface in a vortex form (in other words, in a curved form) while gradually increasing in width. The grooves for hydrodynamic bearing 1048 are plural in number, are the same shape (inclusive of substantially the same shape), and are arranged at regular (equal) intervals (inclusive of substantially equal intervals). The grooves for hydrodynamic bearing 1048 are each a recess, the depth of which is preferably about 0.005 to 0.4 mm. The number of the grooves for hydrodynamic bearing 1048 is preferably about 6 to 36. In the present example, twelve grooves for hydrodynamic bearing are arranged at regular (equal) angular intervals about the center axis of the impeller. The grooves for hydrodynamic bearing 1048 in the pump apparatus disclosed here have a so-called inward spiral groove shape. In the process of pumping fluid by the action of the groove for hydrodynamic bearing formed part, clockwise rotation of the impeller raises the pressure from the outer diameter side toward the inner diameter side of the groove part, so that a force in the opposite direction is obtained between the impeller 1008 and the housing 1002 forming the groove for hydrodynamic bearing formed part, and this force serves as a dynamic pressure. [0077] The impeller 1008 is attracted toward the impeller rotational torque generation section 1013 side at the time of rotation. The presence of the groove for hydrodynamic bearing formed part as above-mentioned helps ensure that, by the dynamic pressure bearing effect provided between the groove for hydrodynamic bearing formed part of the housing and the bottom surface of the impeller 1008 (or between the groove for hydrodynamic bearing formed part of the impeller and the housing inner surface), the impeller 1008 is separated from the housing inner surface, and is rotated without contact, whereby a blood flow channel is secured between the lower surface of the impeller and the housing inner surface, and blood stagnation between these surfaces and the resultant thrombus formation are prevented from occurring. Further, in a normal condition, the groove for hydrodynamic bearing formed part exhibits a stirring action between the lower surface of the impeller and the housing inner surface, so that partial blood stagnation between these surfaces is inhibited or prevented from occurring. [0078] The groove for hydrodynamic bearing formed part may be provided in that surface of the impeller 1008 which is on the impeller rotational torque generation section side, not on the housing side. In this case, also, the same configuration as that of the groove for hydrodynamic bearing formed part described above is preferably adopted. Specifically, the grooves for hydrodynamic bearing may be provided in that surface of the impeller 1008 which is on the impeller rotational torque generation section 1013 side (in other words, in the bottom surface of the impeller 1008). [0079] The pump apparatus 1000 in the present embodiment can be constructed so that the housing inner surface on the opposite side to the impeller rotational torque generating part side (i.e., the surface of the recess in the first housing member 1003) may also be provided with a groove for hydrodynamic bearing formed part (second groove for hydrodynamic bearing formed part) having a plurality of grooves for hydrodynamic bearing (second grooves for hydrodynamic bearing) 1033. [0080] The impeller rotational torque generation section 1013 of the blood pump apparatus 1000 according to the present embodiment, as shown in FIGS. 10, is composed of a motor stator 50 including a plurality of stators 1051 disposed on the circumference of a circle (arranged in an annular form). A third housing member 1005 is provided with an annular recess (doughnut-shaped recess), and the plurality of stators 1051 are contained in the third housing member 1005, in the state of being arranged in an annular pattern (doughnut-like pattern). The stator 1051 has a stator core 1053 and a stator coil 1052 wound around the stator core 1053. In the pump apparatus 1000 according to the present embodiment, six stators 1051 form the stator motor 1050. As the stator coil 1052, a multilayer wound stator coil is used. With the direction of current flowing in the stator coils 1052 of the respective stators 1051 switched over or alternating a rotating magnetic field is generated, by which the impeller is attracted and rotated. [0081] In the blood pump apparatus 1000 in the present embodiment, as shown in FIG. 10, the respective magnetic members 1054 of the housing 1002 (specifically, the second housing member 1004) are so disposed as to be located on, or in overlying relation to, the stator cores 1053 of the respective stators 1051 described above. That is, each of the plurality of magnetic members 1054 is positioned in circumferential alignment with one of the stator cores 1053 of the stators 1051. The stator cores 1053 in the present embodiment are each sector-shaped a, and correspondingly, the magnetic members 1054 are also each sector-shaped. The magnetic members 1054 are slightly greater in size than the stator cores 1053. [0082] Further, in the blood pump apparatus 1000 according to the present embodiment, as shown in FIG.10, each of the magnetic members 1054 of the housing 1002

(specifically, the second housing member 1004) makes direct contact with the stator core 1053 of each of the stators 1051. More specifically, in this pump apparatus 1000, an upper end portion of the stator core 1053 projects upwardly slightly beyond the stator coil 1052, and the projecting portion is exposed. The magnetic member 1054 is so embedded in the second housing member 1004 that its lower surface is exposed; further, the portion where the lower surface of the magnetic member 1054 is exposed forms a recess in which the projecting portion of the stator core 1053 is accommodated. Therefore, the magnetic member 1054 and the stator core 1053 are in contact with each other. This helps ensure that a magnetic force generated in the stator 1051 can be securely transmitted to the magnetic member 1054. [0083] In the pump apparatus 1000 according to the present embodiment, the pump unit 1012 and the impeller rotational torque generation section 1013 can be attached to and detached from each other, and both of them have a connecting mechanism. In the pump apparatus 1000 in the present embodiment, the second housing member of the pump unit 1012 is provided at its bottom surface with a first engaging part (a recess) 1045, whereas the housing 1005 of the impeller rotational torque generation section 1013 is provided with a second engaging part (specifically, a projection) 1055 which engages the first engaging part (recess) 1045. The engagement between the first engaging part (recess) 1045 of the pump unit 1012 and the second engaging part (projection) 1055 of the impeller rotational torque generation section 1013 connects the units to each other. [0084] FIG. 11 shows an example computer system or device 1100 in accordance with the disclosure. An example of a computer system or device includes a medical device, a desktop computer, a laptop computer, a tablet computer, and/or any other type of machine configured and/or arranged for performing calculations. [0085] The example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to perform a method for or of detecting a suction event of a blood pump such as that discussed in the context of the present disclosure. For example, the example computer device 1100 may be configured to perform and/or include instructions that, when executed, cause the computer system 1100 to perform at least one of the following steps: determining a flow waveform of the pump; identifying pulses in the flow waveform; determining a negative flow pulse based on a valid identification of a pulse; and evaluating a characteristic of the pulse for an existence of a suction condition. [0086] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to estimate the flow waveform by solving for the following quadratic equation: Where, F = Flow Rate (LPM) p = Pump Power (W) adjusted for hematocrit (This could also be based on current) A = Interpolated X2 Polynomial coefficient for the given pump speed. B = Interpolated X1 Polynomial coefficient for the given pump speed. C = Interpolated X0 Polynomial coefficient for the given pump speed. [0087] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to select a pulse segmentation from the group consisting of: The Pulse Average, The Pulse Minima (Turf), The Pulse Maxima (Crest), The pulse falling cross-over point, The Systolic Average (SSA), The Diastolic Average (DSA), The Systolic Pulse Index (SPI), The Diastolic Pulse Index (DPI), The Pulse Flow Index (PFI), The Negative Flow Correction, The Pulse Asymmetry Index, The Pulse Suction Index (Ȍ), The Pulse Duty Cycle (PDC), The Pulse Frequency (PHZ), and a combination of the same. [0088] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to implement a method of or for negative flow approximation, wherein the diastolic segment of the pump flow pulse is used to determine the type of approximation and correction to determined flow is made based on the type of approximation identified. [0089] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to determine a quantity of the suction condition, and wherein the quantity is named after the Greek Symbol (Ȍ) pronounced as PSI and used as an acronym with the definition of Pulse Suction Index (PSI). [0090] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to implement a method of or for a method of calculating a pulse suction index (Ȍ) according to the formula:

Where, Ȍ = Suction Index, %

SP = Suction Probability

PA R1 = Pulse Area Reference 1 is the area defined by the pulse region overlapping the area PA R2

PA R2 = Pulse Area Reference 2 is the right triangular area defined time period between

RCO 2 and SML and the difference of flow magnitude at RCO 2 and MNL [0091] Additionally, or alternatively, the example computer device 1100 may be configured to perform and/or include instructions that, when executed, cause the computer system 1100 to use a binary search to increase or decrease the pump speed when suction criteria is met, and the step change of the pump speed of the binary search is bounded by an upper limit identified as safe for the patient population. [0092] Additionally, or alternatively, the example computer device 1100 may be configured to perform and/or include instructions that, when executed, cause the computer system 1100 to derive an indication wherein an increase in MIN(DSA) with the an increase in MIN(DSA) with the decrease in speed may additionally indicate recovery from suction condition. [0093] Additionally, or alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to derive an indication wherein a decrease in

MEAN(PAI) with the decrease in speed may additionally indicate recovery from suction condition. [0094] Additionally, alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to derive an indication wherein a decrease in MEAN(DPI) with the decrease in speed may additionally indicate recovery from suction condition. [0095] Additionally, alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to derive an indication wherein a decrease in PSI(Ȍ) with the decrease in speed will most likely indicate recovery from suction condition. [0096] Additionally, alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to determine or identify or detect that a lowest allowable pump speed for recovery from suction condition is based on a Low Speed Limit. In some examples, the Low Speed Limit is based on an input from a clinician as detected by the device 1100. [0097] Additionally, alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to implement the step of evaluating by: locating a suction marker reference point based on a midpoint in the diastolic phase; identifying a suction marker location where a suction marker flow minimum is reached; and using the suction marker location to identify a probability of a suction condition. [0098] Additionally, alternatively, the example computer device 1100 may be configured and/or arranged to perform and/or include instructions that, when executed, cause the computer system 1100 to implement a step of decreasing a speed of the pump in response to identification of the existence of a suction condition. [0099] The computer device 1100 is shown comprising hardware elements that may be electrically coupled via a bus 1102 (or may otherwise be in communication, as appropriate). The hardware elements may include a processing unit with one or more processors 1104, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 1106, which may include without limitation a remote control, a mouse, a keyboard, and/or the like; and one or more output devices 1108, which may include without limitation a

presentation device (e.g., television), a printer, and/or the like. [00100] The computer system 1100 may further include (and/or be in

communication with) one or more non-transitory storage devices 1110, which may comprise, without limitation, local and/or network accessible storage, and/or may include, without limitation, a disk drive, a drive array, an optical storage device, a solid- state storage device, such as a random access memory, and/or a read-only memory, which may be programmable, flash-updateable, and/or the like. Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like. [00101] The computer device 1100 might also include a communications subsystem 1112, which may include without limitation a modem, a network card

(wireless and/or wired), an infrared communication device, a wireless communication device and/or a chipset such as a Bluetooth¥ device, 1102.11 device, WiFi device, WiMax device, cellular communication facilities such as GSM (Global System for Mobile Communications), W-CDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), etc., and/or the like. The communications subsystem 1112 may permit data to be exchanged with a network (such as the network described below, to name one example), other computer systems, and/or any other devices described herein. In many embodiments, the computer system 1100 will further comprise a working memory 1114, which may include a random access memory and/or a read-only memory device, as described above. [00102] The computer device 1100 also may comprise software elements, shown as being currently located within the working memory 1114, including an operating system 1116, device drivers, executable libraries, and/or other code, such as one or more application programs 1118, which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. By way of example, one or more procedures described with respect to the method(s) discussed above, and/or system components might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions may be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods. [00103] A set of these instructions and/or code might be stored on a non-transitory computer-readable storage medium, such as the storage device(s) 1110 described above. In some cases, the storage medium might be incorporated within a computer system, such as computer system 1100. In other embodiments, the storage medium might be separate from a computer system (e.g., a removable medium, such as flash memory), and/or provided in an installation package, such that the storage medium may be used to program, configure, and/or adapt a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the computer device 1100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 1100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code. [00104] It will be apparent that substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed. [00105] As mentioned above, in one aspect, some embodiments may employ a computer system (such as the computer device 1100) to perform methods in accordance with various embodiments of the disclosure. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 1100 in response to processor 1104 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 1116 and/or other code, such as an application program 1118) contained in the working memory 1114. Such instructions may be read into the working memory 1114 from another computer-readable medium, such as one or more of the storage device(s) 1110. Merely by way of example, execution of the sequences of instructions contained in the working memory 1114 may cause the processor(s) 1104 to perform one or more procedures of the methods described herein. [00106] The terms“machine-readable medium” and“computer-readable medium,” as used herein, may refer to any non-transitory medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer device 1100, various computer-readable media might be involved in providing instructions/code to processor(s) 1104 for execution and/or might be used to store and/or carry such instructions/code. In many implementations, a computer-readable medium is a physical and/or tangible storage medium. Such a medium may take the form of a non-volatile media or volatile media. Non-volatile media may include, for example, optical and/or magnetic disks, such as the storage device(s) 1110. Volatile media may include, without limitation, dynamic memory, such as the working memory 1114. [00107] Example forms of physical and/or tangible computer-readable media may include a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a compact disc, any other optical medium, ROM (Read Only Memory), RAM (Random Access Memory), and etc., any other memory chip or cartridge, or any other medium from which a computer may read instructions and/or code. Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 1104 for execution. By way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 1100. [00108] The communications subsystem 1112 (and/or components thereof) generally will receive signals, and the bus 1102 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 1114, from which the processor(s) 1104 retrieves and executes the instructions. The instructions received by the working memory 1114 may optionally be stored on a non-transitory storage device 1110 either before or after execution by the processor(s) 1104. [00109] It should further be understood that the components of computer device 1100 can be distributed across a network. For example, some processing may be performed in one location using a first processor while other processing may be performed by another processor remote from the first processor. Other components of computer system 1100 may be similarly distributed. As such, computer device 1100 may be interpreted as a distributed computing system that performs processing in multiple locations. In some instances, computer system 1100 may be interpreted as a single computing device, such as a distinct laptop, desktop computer, or the like, depending on the context. [00110] The invention has now been described in detail for the purposes of clarity and understanding. However, it will be appreciated that certain changes and

modifications may be practiced within the scope of the appended claims.