Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SENSOR ASSEMBLY
Document Type and Number:
WIPO Patent Application WO/2016/098002
Kind Code:
A1
Abstract:
A sensor assembly for connection to a mobile consumer electronic device, the sensor assembly comprising a connector for connection to the mobile consumer electronic device, a plurality of inputs for connection to a plurality of sensors, and a controller, the controller being operable to receive input signals at the plurality of inputs, and generate an output signal for transmission to the mobile consumer electronic device.

Inventors:
LAYBERRY RICHARD (GB)
Application Number:
PCT/IB2015/059643
Publication Date:
June 23, 2016
Filing Date:
December 15, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ISIS INNOVATION (GB)
International Classes:
H04M1/72409
Domestic Patent References:
WO2005002108A22005-01-06
WO2007118247A22007-10-18
Foreign References:
KR101228998B12013-02-04
EP2491855A12012-08-29
US20090278681A12009-11-12
US20140323181A12014-10-30
Attorney, Agent or Firm:
FRESH IP (Cowley Road, Cambridge CB4 0WS, GB)
Download PDF:
Claims:
CLAIMS

1. A sensor assembly for connection to a mobile consumer electronic device, the sensor assembly comprising;

a connector for connection to the mobile consumer electronic device,

a plurality of inputs for connection to a plurality of sensors, and

a controller,

the controller being operable to receive input signals at the plurality of inputs, and generate an output signal for transmission to the mobile consumer electronic device.

2. A sensor assembly according to claim 1 wherein the input signals comprise voltages.

3. A sensor assembly according to claim 1 or claim 2, wherein the output signal comprises a mean value of the input signal for each of the plurality of inputs.

4. A sensor assembly according to any one of claims 1 to 3 wherein the output signal comprises a pulse count value for the input signal for each of the plurality of inputs.

5. A sensor assembly according to any one of the preceding claims wherein the output signal comprises a checksum value.

6. A sensor assembly according to any one of the preceding claims wherein the controller receives the input signals for a measurement time period and the output signal is generated based on the input signals received in the measurement time period.

7. A sensor assembly according to claim 6 wherein the controller obtains an input signal from each input successively during the measurement time period.

8. A sensor assembly according to any one of the preceding claims comprising a connection cable having a connector comprising an audio jack for connection to a microphone port of the mobile consumer device.

9. A sensor assembly according to any one of the preceding claims wherein the controller is operable to receive a control signal from the mobile communication device.

10. A sensor assembly according to any one of the preceding claims wherein the plurality of inputs comprise a plurality of ports to receive an audio jack.

11. A sensor array, comprising a sensor assembly according to any one of claims 1 to 10 and a plurality of sensors, each of the plurality of sensors being connected to one of the plurality of input connections.

12. A sensor array according to claim 11 wherein the plurality of sensors comprise one or more of an electrical current sensor, a light sensitive diode, a switch connection, a temperature sensor, a humidity sensor, a mechanical force sensor, or a movement sensor.

13. A mobile consumer electronic device having a connection port and a processor element, the processor element being operable to run a program to;

receive an intermediate signal corresponding to the output signal from a sensor assembly according to any one of claims 1 to 10 or a sensor array according to claim 11 or claim 12 at a connection port of the mobile connection device,

store a plurality of data values corresponding to the output signal, and

using a communication element of the mobile consumer electronic device, transmit the stored data values to a receiving system.

14. A mobile consumer device according to claim 13 wherein the processor element is operable to run a program to receive the intermediate signal and generate the data values.

15. A mobile consumer device according to claim 14 wherein generating the data values comprises identifying positive and negative spikes in the intermediate signal and outputting data values dependent on the time between successive spikes.

16. A mobile consumer device according to any one of claims 13 to 15 wherein the data values comprise one or more of a mean value of the input signal for each of the plurality of inputs, a pulse count value for the input signal for each of the plurality of inputs, and a checksum value.

17. A mobile consumer device according to any one of claims 13 to 16 wherein the connector comprises an audio jack.

18. A mobile communication device according to any one of claims 13 to 17 wherein the mobile communication device is operable to transmit a control signal to the sensor assembly.

19. A mobile consumer electronic device according to any one of claims 13 to 18 wherein the mobile consumer electronic device comprises mobile telephone and the program comprises an application for a mobile telephone.

20. A system comprising a sensor assembly according to any one of claims 1 to 10 or a sensor array according to claim 11 or claim 12, and a mobile communication device according to any one of claims 13 to 19.

21. A program to be run by a processor element of a mobile consumer electronic device, the program being operable to;

receive an intermediate signal at a connection port of the mobile connection device, generate a plurality of data values from the intermediate signal, and

using a communication element of the mobile consumer electronic device, transmit the stored data values to a receiving system

22. A program according to claim 21 where the connection port comprises an audio port and the program receives the signal from a microphone connection of the audio port.

23. A program according to claim 21 or claim 22 comprising an application for a mobile telephone.

Description:
Title: Sensor Assembly

[0001] The present application relates to a provided a sensor assembly for connection to a mobile consumer electronic device, a sensor array including a sensor assembly and a plurality of sensors, a mobile communication device for connection to a sensor assembly, and a program for a mobile communication device.

Background to the Invention

[0002] A requirement for many modern utility or control systems is the ability to remotely monitor or measure a parameter of the system, and log or transmit the resulting data to a user or server for further use or processing. Examples may include logging electricity, water or gas use or temperature at one or more locations within a domestic, commercial or industrial building. The use may be as small as to provide a household with details of their power use, or as substantial as monitoring the functioning of a large factory or building to assess the efficiency of the factory or building and identify where energy use can be reduced.

[0003] It is known to use dedicated data loggers to carrying out this monitoring or measurement, but such devices tend to be expensive and inflexible.

Summary of the Invention

[0004] According a first aspect of the invention there is provided a sensor assembly for connection to a mobile consumer electronic device, the sensor assembly comprising a connector for connection to the mobile consumer electronic device, a plurality of input ports for connection to a plurality of sensors, and a controller, the controller being operable to receive input signals at the plurality of inputs, and generate an output signal for transmission to the mobile consumer electronic device.

[0005] The input signals may comprise voltages.

[0006] The output signal may comprise a mean value of the input signal for each of the plurality of inputs. [0007] The output signal may comprise a pulse count value for the input signal for each of the plurality of inputs.

[0008] The output signal may comprise a checksum value.

[0009] The controller may receive the input signals for a measurement time period and the output signal may be generated based on the input signals received in the measurement time period.

[0010] The controller may receive an input signal from each input port successively during the measurement time period.

[0011] The sensor assembly may comprise a connection cable having a connector comprising an audio jack for connection to a microphone port of the mobile consumer device.

[0012] The controller may be operable to receive a control signal from the mobile communication device.

[0013] The plurality of input ports may comprise a plurality of ports to receive an audio jack.

[0014] According to a second aspect of the invention there is provided a sensor array, comprising a sensor assembly according to the first aspect of the invention and a plurality of sensors, each of the plurality of sensors being connected to one of the plurality of input connections.

[0015] The plurality of sensors may comprise one or more of an electrical current sensor, a light sensitive diode, a switch connection, a temperature sensor, a humidity sensor, a mechanical force sensor, or a movement sensor.

[0016] According to a third aspect of the invention there is provided a mobile consumer electronic device having a connection port and a processor element, the processor element being operable to run a program to receive an intermediate signal corresponding to the output signal from a sensor assembly according to the first aspect of the invention or a sensor array according to the second aspect of the invention at a connection port of the mobile connection device, store a plurality of data values corresponding to the output signal, and using a communication element of the mobile consumer electronic device, transmit the stored data values to a receiving system.

[0017] The processor element may be operable to run a program to receive the

intermediate signal and generate the data values.

[0018] Generating the data values may comprise identifying peak values in the intermediate signal and outputting data values dependent on the time between peak values.

[0019] The data values may comprise one or more of a mean value of the input signal for each of the plurality of inputs, a pulse count value for the input signal for each of the plurality of inputs, and a checksum value.

[0020] The connector may comprise an audio jack.

[0021] The mobile communication device may be operable to transmit a control signal to the sensor assembly.

[0022] The mobile consumer electronic device may comprise a mobile telephone and the program may comprise an application for a mobile telephone.

[0023] According to a fourth aspect of the invention there is provided a system comprising a sensor assembly according to the first aspect of the invention or a sensor array according to the second aspect of the invention, and a mobile communication device according to the third aspect of the invention.

[0024] According to a fifth aspect of the invention there is provided a program to be run by a processor element of a mobile consumer electronic device, the program being operable to receive an intermediate signal at a connection port of the mobile connection device, generate a plurality of data values from the intermediate signal, and using a communication element of the mobile consumer electronic device, transmit the stored data values to a receiving system

[0025] The connection port may comprise an audio port and the program may receive the signal from a microphone connection of the audio port. [0026] The program may comprise an application for a mobile telephone. Brief Description of the Drawings

[0027] An embodiment of the invention is described by way of example only with reference to the accompanying drawings, wherein;

[0028] Figure 1 is a diagrammatic view of a sensor system embodying the present invention,

[0029] Figure 2a is a diagrammatic view of a connection cable for use in the system of figure 1,

[0030] Figure 2b is a diagrammatic view of a further connection cable for use in the system of figure 1,

[0031] Figure 3 is a diagrammatic view of the sensor assembly of Figure 1,

[0032] Figure 4a is an illustration of a sensor for use with the sensor assembly of Figure 3,

[0033] Figure 4b is an illustration of a connection port for the sensor assembly of Figure 3,

[0034] Figure 5 is a flow diagram illustrating the operation of the sensor assembly of Figure 3,

[0035] Figure 6a is a graph showing transmission of data bits by the sensor assembly of Figure 3,

[0036] Figure 6b is a graph showing the data bits of Figure 6a as captured by a mobile communication device of the system of Figure 1, and

[0037] Figure 7 is a flow diagram illustrating the operation of a program for a mobile communication device of the system of Figure 1.

Detailed Description of the Preferred Embodiments

[0038] With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.

[0039] Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is applicable to other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and

terminology employed herein is for the purpose of description and should not be regarded as limiting.

[0040] Referring now to figure 1, a sensing system is generally shown at 10. The system 10 comprises a mobile communications device 20 and a sensor assembly 30. The mobile communications device 20 is operable to communicate via a communication network 40 to a remote server generally shown at 50. The communication network 40 may be a mobile telephone network, a local wireless ('wifi') network, a connection via the internet, or indeed a combination of different networks as needed to provide a communication link between the mobile communications device 20 and the remote server 50. Users or client systems may communicate directly with the server 50 as shown at 51, or through the

communication network 40 as shown at 52, to access data received from the sensing system 10.

[0041] The mobile communication device 20 comprises a processing element 21, a communication element 22 and a memory 23. The mobile communication device also has a connection port 24. The processing element 21 runs the necessary software or firmware for the device 20 to operate, and communicates with the communication element 22, memory 23 and connection port 24 as illustrated by arrows 22a, 23a, 24a. In addition the

manufacturer-provided software or firmware, the processing element 21 is also operable to run user-provided programs, shown here at 25 stored in the memory 23. In addition to the memory 23, the device 20 comprises an auxiliary memory 23b, to which data may be written in addition to, or separately from, the memory 23. The auxiliary memory 23a may comprise a removable element, such as an SD card.

[0042] It will be apparent that the mobile device 20 may advantageously comprise a conventional mobile telephone. The various elements described above are inherently present in a mobile telephone, and the manufacturer-provided firmware or software conventionally provides APIs or 'hooks' which expose parts of the device's capabilities to a third-party programs or 'apps' to allow the programs to access and operate parts of the device's hardware. Because of the nature of the current consumer market for mobile telephones, quite sophisticated devices are available cheaply or indeed are simply disposed of by consumers following an upgrade to a new device. Consequently, the present invention takes advantage of the availability of these devices to provide flexible low-cost monitoring devices and provides an alternative to wasteful disposal of otherwise unwanted mobile telephones.

[0043] It is also noted that, depending on the nature of communication network 40, other consumer electronic devices may be used, not merely mobile telephones. For example, where the communication network 40 is a wifi network, a device such as a music player, with the ability to run programs and communicate over the network, will be suitable for use in this way.

[0044] An illustration of a connection cable and connector to connect sensor assembly 30 to the mobile communication device 20 is illustrated in figure 2a. A connector is shown at 31, in this example comprising a conventional 3.5mm audio jack. A cable 32 is connected to the connector 31, and to the sensor assembly. The cable 32 in this example has first and second conductors 32a, 32b, connected respectively to first and second contact parts 31a, 31b of the connector 31. Where the connector 31 comprises a conventional audio jack, it will be apparent that first and second contact parts 31a, 31b correspond to the sleeve and microphone connections respectively. The contact parts 31a, 31b engage corresponding contact parts (not shown) in the connection port 24. [0045] Where the connector 31 comprises a conventional audio jack, it will further be apparent that the cable connected thereto will have two further conductors, corresponding to two audio channels. As shown in figure 2b, cable 32' comprises first and second conductors 32'a, 32'b as in the embodiment of figure 2a, but also comprises third and and fourth conductors 32' c, 32'd, connected to second and third contact parts 31c, 31d of the connector 31. One or both of these conductors can be used to control or send instructions to the sensor assembly 30, or possibly supply power to the sensor assembly 30. In the latter example, the mobile communication device 20 sends a signal down the conductor corresponding to one of the audio channels (i.e. to one headphone) to the sensor assembly. This ~1V signal can transformed to a higher voltage, rectified and smoothed to give a ~5V power source to the board and peripherals. The power supplied should be sufficient for operation of the sensor assembly 30, especially if there are no LEDs on the board and no powered peripherals.

[0046] The sensor assembly is generally shown in figure 3. In this example, the sensor assembly 30 comprises a controller, processing element 34. The processing element 34 may be a single integrated circuit and memory capable of running a program to retrieve data values from a plurality of sensors and transmit data to the mobile communication device 20 as discussed herein, or maybe any suitable electronic device or circuit as needed. The sensor assembly 30 further comprises a plurality of sensor connection ports 35 each of which is connectable to a sensor and provides a plurality of inputs to processing element 34 as shown by lines 35a. The sensor assembly includes an output port 36a for connection to the mobile communication device as discussed above. The output port 36a may be hard-wired to cable 32 as discussed above, or may be a suitable connection port to receive a connector attached to cable 32, advantageously an audio jack similar to connector 31. In this example auxiliary output ports 36b, 36c are provided for connection to a RF monitoring device and to provide a debugging connection, but additional output ports for any other output may be provided as required. The sensor assembly 30 in this example further comprises a battery generally shown at 34a to power the processor 34, although if appropriate a separate power supply may be provided or, if sufficient power can be drawn, the sensor assembly can draw power from the mobile communication device 20 as mentioned above. The size of the circuit board for the sensor assembly depends on the sensor connection ports 35. If the ports can be omitted and the sensors or the sensor connections soldered or hard-wired in place, the size of the circuit board can be substantially reduced. By powering the sensor assembly from the mobile communication device 20 as discussed above, the circuit board can be made still smaller.

[0047] Advantageously, the sensor connection ports 35 may comprise standard audio ports to receive standard 3.5mm audio jacks, to enable individual sensors to be connected to the sensor assembly. As illustrated in figures 4a and 4b, in this example the sensor element itself is shown at 39. A connection cable 37 having first conductor 37a, second conductor 37b and third conductor 37c is connected between the sensor 39 and a sensor connector 38, in this case comprising a standard 3.5mm audio jack. In the example above, the sensor connector has a plurality of contact parts 38a, 38b, 38c, 38d, referred to as the sleeve, sleeve and ring, ring and tip connections respectively. In this example, the second contact part 38b, the sleeve and ring contact, is connected to first conductor 37a and is connected to ground. The fourth contact part 38d, the tip, is connected to second conductor 37b and is held at +5V. The first contact part 38a is connected to third conductor 37c and line 35a and it is the voltage on this connection which will vary in response to changes is resistance at the sensor 39 and which is measured at the processing element 34. The sensor in this example has a simple resistance circuit shown at 39a to connect the conductors 37a, 37b, 37c and ensure the voltage at the line 35a is in a suitable range.

[0048] The sensor 39 may comprise any suitable sensor to measure a desired parameter. In one example, the sensor may comprise a current clamp, where the sensor has an output voltage depending on the current flowing within the clamp. Alternatively, the sensor 39 may comprise a light sensitive diode, a voltmeter, or any other sensor as desired. It will be apparent that other environmental or other parameters may be measured by providing a suitable sensor 33. This may include temperature, humidity, mechanical forces, movement, vibrations or any other parameter of interest.

[0049] The processor 34 performs a method as illustrated at 60 in figure 5, essentially obtaining a data value from each of the plurality of inputs in turn for a given time period and then aggregating the data values for transmission to the mobile communication device 20. After the device is initialised, for example after power on or reset at 61, the device performs a sampling loop generally shown at 62. At step 63, a sample is taken from each of the plurality of sensors in turn, that is the processing element 34 obtains an input signal from each input port 35 in turn. In the present example, the processor 34 measures the voltage at each sensor connection port, using a 10-bit analogue-to-digital convertor which generates a value from 0 to 1023 corresponding to a voltage level from 0V to 5V. At step 64, optionally, the processing element 34 detects whether a fall in the input signal at each of the plurality of inputs corresponds to a pulse. For example, if for the signal from a given input, the voltage has dropped by at least a first amount and a minimum time has elapsed, then the processor 34 identifies this as a course. The parameters for detecting a pulse can be selected depending on the sensor 39; for example for a device to detect a flashing LED from a conventional gas meter, a drop in the value of the voltage by 200 and the drop lasting for greater than 0.1 seconds can reliably identify a single flash of the LED. It will be apparent that the processor 34 may apply pulse detection to the inputs from some or all of the plurality of inputs 35 and may apply different parameters to different inputs.

[0050] At step 65, processor checks with the required time has lapsed and if not, loop 62 is repeated.

[0051] If the required time has elapsed, then at step 66 the processing element 34 calculates, for each of the plurality of inputs 35, a mean value for the measured voltage over the time period. This may be a simple arithmetic mean, a root mean square, or any other aggregate value as appropriate. Where the processing element 34 is also counting pulses, the pulse count number for each of the plurality of inputs is identified, and at step 67, a checksum for all of the values is calculated. For example, for a device having 11 sensors, the processing element 34 generates an output signal having 22 values, that is the mean value and the number of pulses for each sensor, together with a 23 rd value which is a checksum for the 22 data values.

[0052] In the present example, the measurement time period for loop 62 is five seconds, and each of the values generated at steps 66 and 67 is a 16-bit unsigned value. Accordingly, the processing element 34 generates a string of 16 x 23 = 368 bits which is transmitted to the mobile communication device at step 68. At step 69, the processing element 34 checks whether any end condition has been met, for example a stop instruction has been received from the mobile communication device 20 or a given operating period has ceased, and if not the cycle repeats at step 61, resetting the stored values to 0.

[0053] Although the pulse counting and mean calculation steps are shown as separate steps, if desired these may be easily carried out within steps 63 and 64 of the loop as successive values are received during the cycle 62.

[0054] As step 69, any suitable encoding system may be used as desired. In this example, a '0' bit is indicated by a holding the output connections 36 at 0V for 100 microseconds and then holding the voltage at 5V for 100 μ≤. A '1' bit is indicated by 0V for 200, and then holding the voltage at 5V for 200 μ≤. After each bit is sent, the voltage returns to 0 at the output. Where the port of the mobile application device 20 is capacitively coupled in a conventional manner, each bit will appear as a positive transient spike and a negative transient spike separated by a time T which indicates the bit value. This is illustrated in figures 6a and 6b, where the top graph shows a '0' bit followed by a '1' bit as transmitted by the sensor assembly 30 and the lower graph shows the signal as measured by the input of the mobile communication device 20.

[0055] If desired, the mobile communication device 20 may be operable to communicate with the sensor assembly 30. As identified above, if the connection between the mobile communication device 20 and sensor assembly is by a cable 32 similar to a conventional audio cable, the cable 32 will also comprise third and fourth conductors 32' c, 32'd corresponding to the audio channels. One of the third and fourth conductors may be used to transmit a control signal. This signal is received at an analogue port of the processor 34. If the processor 34 sees a non-zero value at this analogue port, it goes into a subroutine where it just listens to this port for a fraction of a second. The information is sent to the processor via this port by modulating the frequency of the sound written to the output sound buffer of the mobile communication device, for example using the appropriate Android API. This means the sensor assembly can have its operating parameters changed (thresholds for pulses for example) or set from the mobile communication device 20. Thus, where the mobile communication device itself receives instructions from a remote server 50, these instructions can be passed on to allow the sensor assembly 30 to be controlled remotely. [0056] The program 25 in this example comprises an Android app which makes use of APIs in the Android OS to access the resources provided by the mobile telephone, and is illustrated at 70 in Figure 7.

[0057] In this example, at step 71, the AudioRecord API is called. The AudioRecord API measures the voltage at the microphone port, specified as a signed 16-bit value (i.e. in the range +32,767 to -32,768) , which is written to a buffer at 44.1 kHz.

[0058] At step 72, the program 25 reads the received intermediate signal for 5 seconds and then closes the audio channel. At step 73, starting at a positive spike in the received signal, for example a signal with a value >5000, the program 25 will count sample steps until the signal is below -5000, corresponding to a negative spike. The time between the positive and negative spikes will correspond to the length of the pulse transmitted by the sensor assembly 30, and hence the value of the transmitted bit. As the samples are spaced by 22.7 microseconds, it will be clear that a '0' bit will have approximately will have approximately 5 samples between the positive and negative spikes, and a '1' bit approximately 9 samples. In this example, a simple threshold is applied, so that if the time between spikes is less than 7 samples, a '0' bit is identified and if the time is in the range 7 to 20 samples, a '1' bit is identified. This is repeated until 23 16-bit words have been identified. For example, values 1 to 11 can be the mean value of the voltage measured at each input port 35, values 12 to 22 are the number of pulses observed at each input, and value 23 is the checksum.

[0059] At step 74, the checksum is verified against the received data values and at step 75 a output is transmitted to server 50 (for example via wifi if connected or over a mobile telephone network if there is no wifi and a SIM card is present in the mobile telephone). Where the server 50 is contactable using TCP/IP, the data is sent via an http GET request to the server and the response from the server is interrogated. The output may be the received data values, or an error message indicating for example that no data was received, or that a checksum error had occurred. As the mobile communication device receives data from the web or server 50 as part of the http GET request, this data can be used to change variables on the device, allowing instructions to be sent to the device or program (the upload frequency for example), thus allowing the mobile communication device

configuration to be changed remotely. [0060] As shown at 76, the program checks for a successful data transfer, and if the data is transferred a counter is incremented and stored and/or displayed on the phone as shown at 77. If data is not successfully transferred, an error counter is incremented and this is stored and/or displayed on the phone as shown at 78. It might be envisaged that unsent data may be stored in a file, and the entire file subsequently sent when a network connection is established or re-established. Alternatively, all the data may be stored on a removable medium or written to a suitable file and subsequently downloaded after the mobile telephone is retrieved.

[0061] As illustrated at step 79, the program 25 checks whether it is necessary to restart the AudioRecord session. In some versions of Android, an AudioRecord session has to be closed and reopened every few hours, otherwise the session will crash after 27 hours due to an internal 32 bit counter overflowing. This check may be a comparison of the current time with a stored starting time, or may be implemented by providing an internal timer, or otherwise. If a restart is not required, steps 72 onwards are repeated.

[0062] The uploaded data may be appended by the server 50 to a file which is unique to the sending phone, for example identified by a MAC address associated with the mobile telephone. In this way, the server 50 can receive data from multiple mobile telephones, to measure power use throughout a building or otherwise.

[0063] The sensor assembly described herein hence advantageously allows a number of sensors to be monitored by a single controller and their aggregated data values transmitted by an ordinary mobile telephone. The sensors may monitor a number of different parameters, for example temperature, humidity, vibration and power use in an area, or may monitor the same parameter over a wider area, for example the temperature or power use across a number of rooms.

[0064] In the above description, an embodiment is an example or implementation of the invention. The various appearances of "one embodiment", "an embodiment" or "some embodiments" do not necessarily all refer to the same embodiments.

[0065] Although various features of the invention may be described in the context of a single embodiment, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate embodiments for clarity, the invention may also be implemented in a single embodiment.

[0066] Furthermore, it is to be understood that the invention can be carried out or practiced in various ways and that the invention can be implemented in embodiments other than the ones outlined in the description above.

[0067] Meanings of technical and scientific terms used herein are to be commonly understood as by one of ordinary skill in the art to which the invention belongs, unless otherwise defined.