System, apparatus and method of condition based management of one or more electro-mechanical systems

Systems, devices, and methods of condition-based management of electro-mechanical systems are disclosed. The method includes generating a stress profile for the electro-mechanical system based on operating or simulating operation of the electro-mechanical system in accordance with a load profile, wherein the load profile indicative of operation duration and load capacity of the electro-mechanical system. The method further includes receiving condition data associated with the electro-mechanical system in operation from a plurality of sensing units and predicting a failure instance of the electro-mechanical system using an accelerated degradation model based on at least one of the stress profile and the condition data. The accelerated degradation model is generated when the electro-mechanical system is operated above a rated stress. The method further includes comparing the predicted failure instance with an actual failure instance upon failure of the electro-mechanical system, for tuning the accelerated degradation model.

The present patent document is a § 371 nationalization of PCT Application Serial No. PCT/EP2020/068135, filed Jun. 26, 2020, designating the United States, which is hereby incorporated by reference, and this patent document also claims the benefit of European Patent Application No. 19182938.1, filed Jun. 27, 2019, which is also hereby incorporated by reference.

TECHNICAL FIELD

The present disclosure relates to condition-based management of one or more electro-mechanical system.

BACKGROUND

Electro-mechanical systems undergo multiple types of stresses. The stresses include mechanical stress, electrical stress, process stress, etc. Life of the electro-mechanical systems depends on the stresses. Failure may be initiated when the stress exceeds strength of the electro-mechanical systems. The stresses may have varying impact on the electro-mechanical system. For example, electric stress may reduce life of stator insulation or winding. Mechanical stress may reduce life of bearing, reduces fatigue strength of rotor, etc. Process stress may reduce life of rotor.

The variation in impact may be difficult to estimate. Especially when the stresses act together, estimating life of the electro-mechanical system may be difficult and may lead to inaccurate predictions.

There exist techniques to predict life of the electro-mechanical systems that perform condition-based maintenance of downhole systems and equipment, including drilling tools, wireline tools, and production tools. The condition-based maintenance considers varying stress levels in the systems. However, such prediction may not consider a combined effect of different types of stresses.

SUMMARY AND DESCRIPTION

According to a first aspect of the present disclosure, a method for condition-based management of the electro-mechanical system. The method includes generating a stress profile for the electro-mechanical system based on operating or simulating operation of the electro-mechanical system in accordance with a load profile. The load profile is indicative of operation duration and load capacity of the electro-mechanical system. The method further includes receiving condition data, associated with the electro-mechanical system in operation, from a plurality of sensing units. The method includes predicting a failure instance of the electro-mechanical system using an accelerated degradation model based on at least one of the stress profile and the condition data. The accelerated degradation model is generated when the electro-mechanical system is operated above a rated stress. The method also includes comparing the predicted failure instance with an actual failure instance upon failure of the electro-mechanical system for tuning the accelerated degradation model.

As used herein, the stress profile refers to a distribution of stress of the electro-mechanical system during operation or during simulation of the operation. The simulation of the operation may be performed on a digital twin of the electro-mechanical system.

The method may include determining an accelerated-mechanical response from the electro-mechanical system. The accelerated-mechanical response includes condition data that reflect a mechanical fault in the electro-mechanical system. The mechanical fault includes misalignment of components of the electro-mechanical system and/or loss of structural integrity of the components. The method may include simulating the mechanical fault on the digital twin to determine the accelerated-mechanical response.

The method may include determining an accelerated-electrical response from the electro-mechanical system. The accelerated-electrical response includes the condition data that reflect an electric fault in the electro-mechanical system. The electric fault includes at least one of high voltage, low voltage, high current, electric phase unbalance, low current, and short-circuit. The method may include simulating the electric fault on the digital twin to determine the accelerated-electric response.

The method may include determining an accelerated-process response from the electro-mechanical system. The accelerated-process response includes the condition data that reflect a process fault due to overload of the electro-mechanical system. The method may include simulating the process fault on the digital twin to determine the accelerated-process response.

As used above, the mechanical fault, the electric fault, and the process fault reflect a condition of the electro-mechanical system operating beyond the rated stress.

The method may include generating the digital twin including a cumulative damage model of the electro-mechanical system. The digital twin may be generated by computing a life probability distribution for the electro-mechanical system. Further, the digital twin may be generated by determining a time-damage accumulation of electro-mechanical system based on historical condition data of the electro-mechanical system.

The method may include generating component replica of components of the electro-mechanical system. The component replica is generated based on a time-damage accumulation for the components. In an embodiment, the component replica is generated using Weibull distribution and using inverse power law relationship.

The method may include generating simulation instances by simulating the accelerated-mechanical response, the accelerated-electrical response, and the accelerated-process response on the digital twin of the electro-mechanical system. The simulated instances are used to generate the accelerated degradation model.

The method includes predicting the failure instance of the electro-mechanical system using the accelerated degradation model. The stress profile and the condition data are applied to the accelerated degradation model to predict the failure instances. In an embodiment, the failure instance is predicted by determining a fraction of the electro-mechanical system or its components that are failing with respect to time under stress (e.g., value determined from the stress profile).

The method may include predicting an accelerated remaining life of the electro-mechanical system. The accelerated remaining life includes cycles to failure when the electro-mechanical system is operated above the rated stress.

The method may include predicting a remaining life based on the accelerated remaining life and physics of failure of the electro-mechanical system. The remaining life includes cycles to failure when the electro-mechanical system is operated within the rated stress.

The method includes comparing the predicted failure instance with the actual failure instance upon failure of the electro-mechanical system, for tuning the accelerated degradation model.

The method may include tuning coefficients of the accelerated degradation model based on the comparison of the predicted failure instance and the actual failure instance. In an embodiment, the comparison is perform using machine learning algorithms such as regression algorithm and genetic algorithm. For example, a genetic algorithm is used to converge on difference between the predicted failure instance and the actual failure instance by performing the acts of mutation, recombination, and selection. The method may include predicting a new remaining life based on the tuned accelerated degradation model.

The method may include predicting a fleet life of a fleet of electro-mechanical systems using the accelerated degradation model. The method may include updating the fleet life using a neural network based on variability between the electro-mechanical systems in the fleet.

A second aspect of the present disclosure is an apparatus for condition-based management of an electro-mechanical system. The apparatus includes one or more processing units and a memory unit communicative coupled to the one or more processing units. The memory unit includes a condition module stored in the form of machine-readable instructions executable by the one or more processing units, wherein the condition module is configured to perform one or more method acts described hereinabove.

A third aspect of the present disclosure is a system including one or more devices capable of providing condition data associated with condition of one or more electro-mechanical systems and a server communicatively coupled to the one or more devices, wherein the server including a condition module is configured to perform condition-based management of one or more electro-mechanical systems.

The object is achieved by a fourth aspect of the present disclosure. The fourth aspect is a computer-program product having machine-readable instructions stored therein, which when executed by a processor, cause the processor to perform a method as describe above.

DETAILED DESCRIPTION

Hereinafter, embodiments for carrying out the present disclosure are described in detail. The various embodiments are described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details.

As used herein, the term “accelerated” refers to a condition where an electro-mechanical system is operated above a rated stress prescribed for the system. The “accelerated” condition is different from a “normal” condition where the electro-mechanical system is operated within the rated stress. The rated stress may be prescribed at the manufacture of the electro-mechanical system in a catalogue.

FIG.1illustrates an apparatus100for condition-based management of an electro-mechanical system180, according to an embodiment. The electro-mechanical system180includes a motor182, a coupler184, a pump186, and a hydraulic cylinder188with load cell190. The electro-mechanical system180also includes flow control valves192, suction valves194, an oil chiller196, and a return line filter198. The change in direction of the flow control values190and192is used to change direction of a fluid in the electro-mechanical system180. The load cell190is used to continuously track load on the electro-mechanical system180based on fluid pressure of the fluid.

The electro-mechanical system180is subject to accelerated stresses beyond a rated stress. The term “rated stress” is a measure of stress that is prescribed for the electro-mechanical system. The accelerated stresses are applied in the form of electric stress150A, mechanical stress150B and process stress150C. For example, electric stress150A may be caused through electrical faults, (e.g., high/low voltage or short circuit to the motor182). Mechanical stress150B may be caused through mechanical faults such as misalignment of coupler184of the electro-mechanical system180. Process stress150C may be caused through a process fault through clogging of in line and return line filters. Further, the process stress150C may be due to a load profile input to the electro-mechanical system180.

The apparatus100includes a processing unit102, a communication unit104, a display106, and a sensing unit108. The apparatus100also includes a memory unit110including machine readable instructions stored in the form of machine-readable instructions executable by the one or more processing units, wherein the fault detection module is configured to perform method acts described above. The execution of the fault detection module may also be performed using co-processors such as Graphical Processing Unit (GPU), Field Programmable Gate Array (FPGA), or Neural Processing/Compute Engines.

The memory unit110includes a condition module120. The condition module120further includes a stress profile generator122, a digital twin module124, a degradation module126, and a prediction module128. The operation of the condition module120is explained with reference toFIG.2.

FIG.2illustrates the process200for condition-based management of the electro-mechanical system180ofFIG.1. The stress profile generator122is configured to generate a stress profile for the electro-mechanical system180in accordance with a load profile202. The load profile202is generated using a pressure relief function204to generate different load stresses on the electro-mechanical system180. The load profile202may also be generated by monitoring power/current drawn by the electro-mechanical system180. The load stress is generated by changing operation duration and load capacity of the electro-mechanical system180.

As shown inFIG.2, the electric stress150A is generated by electric phase unbalance or by causing high or low voltage in the motor182. The unbalance or high/low voltage will cause electric stress150A on stator winding by increasing thermal as well as electrical current density. Further, the process stress150C is generated based on faults during operation of the suction valve194or closure of return line filter198. In addition, the load profile202also contributes to the mechanical stress150B and process stress150C.

The mechanical stress150B is generated due to anomalies in the coupler184and/or the pump186. For example, misalignment in the coupler may generate the mechanical stress150B. In another example, if belt driven electro-mechanical system180is used then increased belt load will also invoke stress at a shaft of the motor182. In yet another example, unbalance or eccentricity in a rotor of the motor182may cause the mechanical stress150B.

FIG.3illustrates an accelerated response300from the electro-mechanical system180. The y-axis310indicates a measure of stress in terms of electric stress, mechanical stress, and process stress. The x-axis320indicates time in terms of hours. Accordingly, the accelerated response300is a combination of the accelerated-mechanical response, the accelerated-electric response, and the accelerated-process response. The accelerated response300is generated by simulating the stress profile generated by the stress profile generator122for the electro-mechanical system180.

The sensing units108measure operating parameters associated with the electro-mechanical system180. For example, the sensing units may include thermal imaging devices, vibration sensors, current, flux and voltage sensors, etc. The measure operating parameters are referred as condition data associated with the electro-mechanical system180. The condition data of the electro-mechanical system180generated during its operation is received by the digital twin module124.

The digital twin module124is configured to determine Key Performance Indicators (KPI) associated with the electric stress150A, mechanical stress150B, and process stress150C. The KPIs are obtained based on finite element-based simulation and is tuned based on machine-learning algorithms.

The digital twin module124is further configured to generate a digital twin of the electro-mechanical system180. The digital twin includes a cumulative damage model and is generated by computing a life probability distribution for the electro-mechanical system180. Further, a time-damage accumulation of electro-mechanical system180is determined based on historical condition data of the electro-mechanical system180. In an embodiment, the digital twin of the electro-mechanical system180includes component replicas. An example of a coupler replica400is illustrated inFIG.4.

FIG.4illustrates the coupler replica400of the digital twin of the electro-mechanical system180. The coupler replica400is generated based on angles made with respect to X and Y axes410, moment and force420determined using a coupling model450. The coupling model450illustrates moment and force determined for X, Y and Z axes. The coupling model450may be used to determine moment and force for varying levels of misalignment.

In an embodiment, the angle made with X and Y axes410is determined as follows:

ϕ1=Sin-1(Δ⁢Y1/Z3)ϕ2=Sin-1(Δ⁢Y2/Z3)θ1=Sin-1(Δ⁢X1/Z3)θ2=Sin-1(Δ⁢X2/Z3)
wherein: ϕ is misalignment angle in Y axis;θ is misalignment angle in X axis;ΔX1, ΔY1refers to misalignment in X and Y axes at node1430;ΔX2, ΔY2refers to misalignment in X and Y axes at node2440; andZ3refers to a center of articulation.

Further, the moment and force420is determined as follows:

Referring back toFIGS.1and2, the degradation module126is configured to generate an accelerated degradation model based on the digital twin of the electro-mechanical system180. The accelerated degradation model is generated by generating simulation instances by simulating an accelerated-mechanical response, an accelerated-electrical response, and an accelerated-process response on the digital twin of the electro-mechanical system180.

The degradation module126includes the prediction module128. The prediction module128is configured to predict failure instances and remaining life (cumulatively referred as210) of the electro-mechanical system180using the accelerated degradation model based on at least one of the stress profile and the condition data. The stress profile and the condition data are mapped to the failure instances & the remaining life210using machine learning techniques.

The failure instances and remaining life210are compared with test results of actual failure instances and actual remaining life (cumulatively referred as220). The comparator230is an illustration indicative of the operation performed in the degradation module126. The blocks240and250are operations performed by the degradation module based on the comparison. At block240, tuning coefficients are determined based on the load cycle, boundary conditions and finite element simulation of the electro-mechanical system180. The tuning coefficients are applied to the accelerated degradation model at block250.

The predicted failure instance210may be displayed on the display106. In an embodiment, stress verses strength of the electro-mechanical system180is displayed. In another embodiment, remaining life for accelerated stress and normal stress is displayed. The prediction module128is configured to predict an accelerated remaining life of the electro-mechanical system180. The accelerated remaining life includes cycles to failure when the electro-mechanical system is operated above the rated stress. Further, the prediction module128is configured to predict a remaining life based on the accelerated remaining life and physics of failure of the electro-mechanical system180. The remaining life includes cycles to failure when the electro-mechanical system180is operated within the rated stress.

FIGS.5and6are associated with method500and system600to perform condition-based management of a fleet of electro-mechanical systems. Similar numerals in the FIGs may be used.

FIG.5is a flowchart illustrating a method for condition-based management of a fleet of electro-mechanical systems505,510,515. For the purpose ofFIG.5, mechanical stress502A refers to accelerated test mechanical stress applied in real-time, for example, on a test setup of a first electro-mechanical system (similar to the system180). Mechanical stress502B refers to accelerated simulated mechanical stress. Similarly, electric stress504A is accelerated test electrical stress and504B is accelerated simulated electric stress. Also, element506A is an accelerated test process stress and element506B is an accelerated simulation process stress. Further, condition data from the fleet505,510,515and the first electro-mechanical system is received in terms of vibration512, current514, flux516, and temperature518.

The method500include three stages520,530, and570. At stage520, a first accelerated degradation model is generated for the first electro-mechanical system. At stage530, condition data from the fleet505,510,515is received and analysed. At stage570, failure instances for the fleet505,510,515and remaining fleet life is determined.

The method500is elaborated as follows. At act522, an accelerated test response is determined. The accelerated test response is determined based on condition data from the first electro-mechanical system received when test stress of502A,504A, and506A are applied.

At act524, the physics of failure of the first electro-mechanical system is compared with the accelerated test response. The physics of failure is a design limit of the first electro-mechanical system. The comparison is to provide the test stress of502A,504A, and506A do not exceed the design limit.

At act526, the accelerated degradation model is generated based on a digital twin of the first electro-mechanical system. The digital twin may include a cumulative damage model for the first electro-mechanical system, generated using Weibull distribution. The accelerated degradation model is generated by simulating the stress502B,504B, and506B on the digital twin. Accordingly, the accelerated degradation model includes simulation response with respect to the stress502B,504B, and506B.

At act532, a stress profile for system505of the fleet is generated. The stress profile is generated based on vibration512, current514, flux516, and temperature518from the system505. Similarly, at act534, a stress profile for system510of the fleet is generated. Also, at act536, a stress profile for system515of the fleet is generated.

At act542, the stress profiles for the fleet505,510, and515are input to the accelerated degradation model. At act544, the remaining fleet life is predicted during normal operation cycle based on the accelerated degradation model. In an embodiment, the normal operation cycle is when the stress502A,504A, and506A are within a rated stress. The rated stress is known based on the design limit of the fleet505,510, and515. In an embodiment, the remaining fleet life is predicted based on Basquin equation.

At act542, failure instances associated with the fleet505,510, and515are predicted. The failure instances may be predicted using Weibull distribution generated for the fleet505,510and515. The Weibull distribution has a scale parameter η that may be expressed as an inverse power function of stress V in the stress profile.

η⁡(V)=1KVn
wherein K and n are coefficients of the Weibull distribution.

The failure instances associated with the fleet505,510and515may be determined with respect to time t. In an embodiment the determination is performed for constant stress V.
F(t;V)=1−R(t;V)
wherein: F is a cumulative distribution function that indicates unreliability; and

R⁡(t;V)=e-[tη⁡(V)]β
wherein: R is a measure of reliability associated with the fleet505,510and515under

the stress V; and

β is a coefficient of the Weibull distribution.

With change in stress, for example S1, S2and S3the cumulative distribution function also changes. In an embodiment, the cumulative distribution functions F1, F2and F3are determined as follows:

The cumulative distribution functions F1, F2, and F3is used to predict failure instances at time t. If the fleet505,510, and515does not fail at time t, then the cumulative distribution function considers the damage accumulated till time t.

The cumulative distributed function is updated accordingly. Therefore, the aforementioned equation is updated with equivalent age. Considering stress S2is applied, the equation is updated as follows:
F2(t;S2)=1−e−[KS2n((t-t1)+ε1)]β
wherein: ε1is the equivalent age after time t1

At act548, the predicted failure instances are compared with actual failure instances in the fleet505,510, and515. At act550, the remaining fleet life is updated based on the comparison. Further, at act560, coefficients of the accelerated degradation model are updated based on the comparison.

In an embodiment, the comparison is performed using machine learning algorithms. For example, a regression algorithm is used to infer relationships between the predicted failure instances and the actual failure instances.

In another embodiment, the comparison is performed using a non-linear neural network with input layers including the predicted failure instances and the actual failure instances. The output layers of the neural network output the comparison. The hidden layers of the neural network provide a non-linear relationship between the predicted failure instances and the actual failure instances. The non-linear relationship may be built by integrating linear correlations between the actual failure instances and the predicted failure instances. The acts546to560are repeated to accurately predict the remaining fleet life.

FIG.6illustrates a system600to perform the method of condition-based management of the fleet505,510, and515. The system600includes a remote server610and a user device620. The remote server610is communicatively coupled with the user device and the fleet505,510, and515via a network interface650.

The system600also includes the first electro-mechanical system680and the apparatus100that is used to generate the accelerated degradation model. The accelerated degradation model is made available to the fleet505,510, and515via the network interface650and the server610.

In an embodiment, the accelerated degradation model is generated on the server610. The server610includes a communication unit612, one or more processing units614, and a memory616. The memory616is configured to store computer program instructions defined by modules, (e.g., condition module618).

In an embodiment, server610may also be implemented on a cloud computing environment, where computing resources are delivered as a service over the network650. As used herein, “cloud computing environment” refers to a processing environment including configurable computing physical and logical resources, (e.g., networks, servers, storage, applications, services, etc.), and data distributed over the network650, (e.g., the internet). The cloud computing environment provides on-demand network access to a shared pool of the configurable computing physical and logical resources. The network650may be a wired network, a wireless network, a communication network, or a network formed from any combination of these networks.

The processor614is configured to execute the condition module618. Upon execution, the condition module618is configured to generate the accelerated degradation model based on the digital twin the first electro-mechanical system680. In an embodiment, the condition module618is configured to predict failure instance in the first electro-mechanical system680. In the embodiment, the apparatus100serves as a sensing unit while the processing is performed on the server610. The accelerated degradation model is updated with actual failure instance in the first electro-mechanical system680.

The accelerated degradation model is used by the fleet505,510,515. The acts542-560are performed by the condition module618to predict the failure instances and the remaining fleet life of the fleet505,510, and515.

In an embodiment, the condition module618includes machine learning algorithms that are used to automatically update the accelerated degradation model based on a fleet variability factor. The fleet variability factor refers to variation in the fleet505,510, and515with reference to the first electro-mechanical system680. The fleet variability factor also includes variation in stress profiles and operation environment associated with each of the systems in the fleet505,510, and515.

The remaining fleet life and the predicted failure instances of the fleet505,510, and515are displayed on the user device620. The user device620may include a display unit622and a communication unit (not shown inFIG.6). The predicted failure instances and the remaining fleet life are received by the user device via the communication unit and the network interface650. In an embodiment, the user device620is a portable computing device such as a mobile phone.

FIG.7is a flowchart of a method700for condition-based management of one or more electro-mechanical systems, according to an embodiment.

At act702, a stress profile for the electro-mechanical system is generated. The stress profile is generated based on operating or simulating operation of the electro-mechanical system in accordance with a load profile. The load profile indicative of operation duration and load capacity of the electro-mechanical system.

At act704, condition data associated with the electro-mechanical system in operation is received from a plurality of sensing units.

At act706, an accelerated-mechanical response from the electro-mechanical system is determined. The accelerated-mechanical response includes condition data that reflect a mechanical fault in the electro-mechanical system. The mechanical fault includes misalignment of components of the electro-mechanical system and/or loss of structural integrity of the components.

At act708, an accelerated-electrical response from the electro-mechanical system is determined. The accelerated-electrical response includes the condition data that reflect an electric fault in the electro-mechanical system. The electric fault includes at least one of high voltage, low voltage, high current, electric phase unbalance, low current and short-circuit.

At act710, an accelerated-process response from the electro-mechanical system is determined. The accelerated-process response includes the condition data that reflect a process fault due to overload of the electro-mechanical system.

At act712, a digital twin of the electro-mechanical system is generated by computing a life probability distribution for the electro-mechanical system. Further, the digital twin is generated by determining a time-damage accumulation of electro-mechanical system based on historical condition data of the electro-mechanical system.

In an embodiment, the digital twin is generated using Weibull distribution and using inverse power law relationship. The scale parameter, n, of the Weibull distribution may be expressed as an inverse power function of stress V in the stress profile.

η⁡(V)=1KVn
wherein: K and n are coefficients of the digital twin.

At act714, simulation instances are generated by simulating the accelerated-mechanical response, the accelerated-electrical response, and the accelerated-process response on the digital twin of the electro-mechanical system.

At act716, the accelerated degradation model is generated based on the simulation instances generated using the digital twin of the electro-mechanical system.

At act718, a failure instance of the electro-mechanical system is predicted using the accelerated degradation model. The stress profile and the condition data are applied to the accelerated degradation model to predict the failure instances. In an embodiment, the failure instance is predicted by determining a fraction of the electro-mechanical system or its components that are failing with respect to time under the stress V.

If the electro-mechanical system is found to be able to survive the stress V, the failure instance is predicted based on age of the electro-mechanical system in terms of the hours operated under the stress V.

At act720, an accelerated remaining life of the electro-mechanical system is predicted. The accelerated remaining life includes cycles to failure when the electro-mechanical system is operated above the rated stress.

At act724, a remaining life is predicted based on the accelerated remaining life and physics of failure of the electro-mechanical system. The remaining life includes cycles to failure when the electro-mechanical system is operated within the rated stress. The remaining life may be determined using the equations provided inFIG.5.

At act726, comparing the predicted failure instance with an actual failure instance upon failure of the electro-mechanical system, for tuning the accelerated degradation model. Further, at act726, coefficients of the accelerated degradation model are tuned based on the comparison of the predicted failure instance and the actual failure instance. In an embodiment, the comparison is perform using machine learning algorithms such as regression algorithm and genetic algorithm. For example, a regression algorithm is used to infer relationships between the predicted failure instances and the actual failure instances. Furthermore, at act726, a new remaining life is predicted based on the tuned accelerated degradation model.

At act728, a fleet life of a fleet of electro-mechanical systems is predicted using the accelerated degradation model. The act728includes updating the fleet life using a neural network based on variability between the electro-mechanical systems in the fleet.

The present disclosure may take a form of a computer program product including program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processors, or instruction execution system. For the purpose of this description, a computer-usable or computer-readable medium may be any apparatus that may contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium may be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memory (ROM), a rigid magnetic disk, and optical disk such as compact disk read-only memory (CD-ROM), compact disk read/write, and DVD. Both processors and program code for implementing each aspect of the technology may be centralized or distributed (or a combination thereof) as known to those skilled in the art.