Systems, apparatuses and methods for device pairing having range control and unintended device coexistence detection

Devices, systems and methods are provided to improve pairing between first and second devices to mitigate risk that either device pairs with an unintended device by reducing transmit power to limit communication range between devices to be paired, using minimum and maximum received signal strength thresholds to reject unintended devices, and instructing user to move to another location when multiple devices are detected for pairing. The second device scanning time for detecting advertising signals from the first device is adjusted to detect multiple device co-existence. Pairing is controlled to occur when the second device is the only device that the first device detects.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to systems, methods and apparatuses for pairing two devices, and particularly to using range control and unintended device coexistence detection to minimize pairing between a device and an unintended device.

Description of Related Art

Demand for on-body medical devices (e.g., wearable infusion pumps) and body area network (BAN) medical devices (e.g., handheld blood glucose meters, smart phones with diabetes management apps, and wireless controllers for on-body devices) has been increasing along with an increase in patients' and healthcare providers' desire for better and more convenient patient management of medical conditions such as diabetes.

Secure pairing between two devices, such as between a wearable medical device and a separate dedicated controller or smart phone with app related to the wearable medical device, is important to avoid unintended operations, or possibly malicious interference with the operations, of the medical device. Further, avoidance of pairing the medical device with another unintended device is also important, particularly when there are multiple potential devices with which a medical device can be paired within the same area.

A need exists for secure pairing of a medical device with an intended device, even when multiple devices are within the range of signals used for pairing operations.

SUMMARY OF THE INVENTION

The above and other problems are overcome, and additional advantages are realized, by illustrative embodiments of the present invention.

It is an aspect of illustrative embodiments of the present invention to provide a method of pairing a first device with a second device for wireless communication therebetween comprising: the first device transmits signals for a selected duration at selected intervals and in a selected radio frequency range; the second device scans for signals in the selected radio frequency range, the second device being provided with signal strength data related to respective signals detected when scanning; the second device determines whether the signal strength data for at least one of the detected signals satisfies signal strength criteria whereby the signal strength data is greater than a selected minimum signal strength criterion and is less than a selected maximum signal strength criterion; the second device determines whether the detected signals are from either the first device or another device; the second device sends the first device a pairing command when the detected signals satisfy the signal strength criteria and the second device determines that the detected signals are only from the first device and not from another device.

In accordance with aspects of illustrative embodiments of the present invention, the second device alerts a user to move to another location to attempt pairing the first device with the second device when either the signal strength data for at least one of the detected signals is more than a selected maximum signal strength criterion, or the detected signals are from another device and not the first device. Further, the second device ignores the detected signals having signal strength data that is less than the selected minimum signal strength criterion.

In accordance with aspects of illustrative embodiments of the present invention, the first device has an identifier shared by other devices similar to the first device, and the second device is configured to pair in a selected time period with any one of the first device and the other devices sharing the identifier and not with other devices which do not share the identifier.

In accordance with aspects of illustrative embodiments of the present invention, the second device can determine whether the detected signals are from either the first device or another device before determining whether the signal strength data for at least one of the detected signals satisfies signal strength criteria.

In accordance with aspects of illustrative embodiments of the present invention, the selected radio frequency range can be 2.40-2.48 Gigahertz (GHz) range.

In accordance with aspects of illustrative embodiments of the present invention, the method further comprises: the first device reduces its transmit power before transmitting its signals for the selected duration at the selected intervals and in the selected radio frequency range; the first device receives the pairing command; and the first device increases its transmit power after pairing with the second device is completed. For example, the first device reduces its transmit power before pairing is completed to a transmit power level that limits the communication range between the first device and the second device to a selected distance. The selected distance is, for example, between 0 and 20 inches.

In accordance with aspects of illustrative embodiments of the present invention, the second device scans for signals in the selected radio frequency range during scanning intervals, each scanning interval comprising a scanning window of a duration longer than two of the selected intervals followed by a non-scanning period to detect if other devices are transmitting signals at the selected intervals and in the selected radio frequency range in addition to the first device.

In accordance with aspects of illustrative embodiments of the present invention, the second device scans for signals in the selected radio frequency range during scanning intervals, each scanning interval comprising a scanning window of a duration longer than two of the selected intervals followed by a non-scanning period to detect if other devices are transmitting signals at the selected intervals and in the selected radio frequency range in addition to the first device.

In accordance with aspects of illustrative embodiments of the present invention, if the second device detects a signal during a scanning window, then the second device stops scanning and performs at least one or more of various checks selected from the group consisting of determining whether identifying data in the signal corresponds to an intended device for pairing, determining whether received signal strength data related to the signal satisfies one or more signal strength criteria, and determining whether the signal is from the first device and not from another device, and the second device continues scanning when any of the checks fails.

In accordance with aspects of illustrative embodiments of the present invention, a device configured for pairing with a second device for wireless communication therebetween comprises: a radio frequency (RF) interface for transmitting and receiving RF signals, the received RF signals comprising advertising signals of selected duration transmitted from the second device at selected intervals in a selected RF range; and a controller configured to scan for signals in the selected radio frequency range, the controller being provided with signal strength data related to respective signals detected when scanning; determine whether the signal strength data for at least one of the received RF signals satisfies signal strength criteria whereby the signal strength data is greater than a selected minimum signal strength criterion and is less than a selected maximum signal strength criterion; determine whether the detected signals are from either the second device or another device; and send the second device a pairing command when the detected signals satisfy the signal strength criteria and the controller determines that the detected signals are only from the second device and not from another device.

In accordance with aspects of illustrative embodiments of the present invention, the controller scans for signals in the selected RF range during scanning intervals, each scanning interval comprising a scanning window of a duration longer than two of the selected intervals followed by a non-scanning period to detect if other devices are transmitting signals at the selected intervals and in the selected radio frequency range in addition to the first device.

In accordance with aspects of illustrative embodiments of the present invention, the controller alerts a user to move to another location to attempt pairing of the second device when either the signal strength data for at least one of the detected signals is more than a selected maximum signal strength criterion, or the detected signals are from another device and not the second device.

In accordance with aspects of illustrative embodiments of the present invention, the controller ignores the detected signals having signal strength data that is less than the selected minimum signal strength criterion.

In accordance with aspects of illustrative embodiments of the present invention, the second device has an identifier shared by other devices similar to the second device, and the controller is configured to pair in a selected time period with any one of the second device and the other devices sharing the identifier and not with other devices which do not share the identifier.

In accordance with aspects of illustrative embodiments of the present invention, the controller scans for signals in the selected radio frequency range during scanning intervals, each scanning interval comprising a scanning window of a duration longer than two of the selected intervals followed by a non-scanning period to detect if other devices are transmitting signals at the selected intervals and in the selected radio frequency range in addition to the second device.

In accordance with aspects of illustrative embodiments of the present invention, if the controller detects a signal during a scanning window, then the controller stops scanning and performs at least one or more of various checks selected from the group consisting of determining whether identifying data in the signal corresponds to an intended device for pairing, determining whether received signal strength data related to the signal satisfies one or more signal strength criteria, and determining whether the signal is from the second device and not from another device, and the controller continues scanning when any of the checks fails.

In accordance with aspects of illustrative embodiments of the present invention, if the controller fails to detect a signal during a scanning window, then the controller continues scanning over a series of scanning intervals for a selected amount of time.

Additional and/or other aspects and advantages of the present invention will be set forth in the description that follows, or will be apparent from the description, or may be learned by practice of the invention. The present invention may comprise devices to be paired and methods for operating same having one or more of the above aspects, and/or one or more of the features and combinations thereof. The present invention may comprise one or more of the features and/or combinations of the above aspects as recited, for example, in the attached claims.

Throughout the drawing figures, like reference numbers will be understood to refer to like elements, features and structures.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Reference will now be made in detail to embodiments of the present invention, which are illustrated in the accompanying drawings. The embodiments described herein exemplify, but do not limit, the present invention by referring to the drawings.

With reference toFIGS.1,2A and2B, an illustrative medication delivery system10is shown having a medical device12and a controller14with display24or other user interface.

The medical device12can be a wearable device or a patient-carried device. The medical device12can have an integrated user interface as its controller14, or the medical device can be configured to be controlled by a separate controller device such as a wireless controller14as shown inFIG.1. In the illustrated embodiment, the medical device12is controlled by a wireless controller14, but it is to be understood that aspects of the present invention apply to a medical device12with its own controller and another device14to be paired with the medical device12.

For example, the medical device12can be a disposable insulin delivery device (IDD) for single patient use that is configured for continuous subcutaneous delivery of insulin at set and variable basal (24-hour period) rates and bolus (on-demand) doses for the management of patients with Type 2 Diabetes Mellitus (T2DM) requiring insulin therapy. It is to he understood, however, that the medical device12can be any on-body medical device (e.g., wearable infusion pump, continuous glucose meter) or body area network (BAN) medical device (e.g., handheld blood glucose meter, smart phone with medical condition management apps, or wireless controller for on-body device).

The IDD12is part of a system10that is an advanced insulin delivery system for use by patients with Type 2 Diabetes Mellitus (T2DM). It is configured for 24-hour-a-day use in all environments typically inhabited by the target users. It is configured for the patient user to wear the IDD for a period of three days (up to 84 hours). It has four (4) main functions: delivering user-set daily basal insulin rate; delivering user-set bolus insulin amount; delivering manual bolus insulin dose(s); and generating system status and notifications. The system addresses an unmet need for many Type 2 patients on multiple daily injections (MDI) requiring discreet, simple and cost effective insulin delivery alternative to the traditional complex insulin pump. It is to be understood, however, that the medical device12can be used to deliver any type of fluid and is not limited to insulin delivery or delivery to only Type 2 diabetes patients.

The Wireless Controller (WC)14is used to program the body-worn IDD to deliver a daily basal insulin rate and meal-time insulin amount to the patient. The WC14also provides status information of the IDD12as well as notifications to the user. The body-worn IDD12stores and administers insulin to the patient subcutaneously. The IDD sends feedback to the patient via the WC if it detects issues (e.g., low volume in the reservoir, low battery). An important function supported by communication software in the system10is the wireless communication between the WC14and IDI)12, which enables the IDD12to provide the feedback to the WC14and for the user to control their insulin delivery by the IDD12wirelessly via the WC14in a simple and discrete way.

In the illustrated embodiment shown inFIG.2A, the MD12has a microcontroller60configured to control a pumping mechanism52, wireless communication with the WC14(e.g., via an RF circuit54having a match circuit and antenna), and pump operations. The IDD has a bolus button(s)64for manual delivery of medication in addition to programmed delivery of medication. The pumping mechanism52comprises a reservoir76for storing a fluid medication (e.g., insulin) to be delivered via a cannula68to the patient wearing the IDD, and a pump72for controllably delivering designated amounts of medication from the reservoir through the cannula. The reservoir76can be filled via a septum78using a syringe. The IDD has a manual insertion mechanism66for inserting the cannula68into a patient; however, the processor60can be configured to operate an optional drive circuit to automate operation of the insertion mechanism66to deploy the cannula68into the patient. Further, the MD12can be optionally provided with a fluid sensor74or a pressure sensor70. An LED62can be operated by the microcontroller60to be on or flash during one or more pump operations such as during reservoir priming, for example. The IDD12is powered by a battery and regulator as indicated at58. When initializing the IDD12(e.g., powering on to begin pairing with the WC14), the bolus button(s)64can be configured as wake-up button(s) that, when activated by the user, causes the IDD12to wake from a power conserving shelf mode.

In the illustrated embodiment shown inFIG.2B, the WC14is implemented as a dual microprocessor component having: 1) a WC Main Processor (WCMP)30, and a WC Communications Processor (WCCP)32. The WCMP30is connected to the user interface (UI) components such as the LCD display with touch screen24, one or more buttons28, LED indicator26, and the like. The WCCP32is connected to radio frequency (RF) components38(e.g., an antenna and a match circuit) and is mainly responsible for the WC14's wireless communication with the IDD12. The two processors30,32communicate with each other through a serial peripheral interface (SPI). The two processors30,32can also interrupt each other through two interrupt pins, M_REQ_INT and S_REQ_INT.

With continued reference toFIG.2B, the WC14is designed to be non-field serviceable (i.e. no parts to be inspected, adjusted, replaced or maintained by the user), except for replaceable alkaline batteries34for power. A non-volatile memory (e.g., FLASH memory)36is provided in the WC to store delivery and status data received from the IDD12such as delivery dates and times and amounts.

The LCD with capacitive touch screen24serves as the visual interface for the user by rendering visual and graphical outputs to the user (e.g., system information, instructions, visual notices, user configurations, data outputs, etc.), and by providing a visual interface for the user to enter inputs (e.g., device operation inputs such as IDD pairing and set up and dosing, and configuration parameters, and so on). The WC display with capacitive touch screen24detects (at least) single-touch gestures over its display area. For example, the touch screen is configured for recognizing user tactile inputs (tap, swipe, and button press), allowing for navigation within UI screens and applications. The touch screen24aids in executing specific system functionalities (i.e. IDD12setup and pairing with the WC14, insulin dosing, providing user with dosing history, and IDD deactivation and replacement with another IDD, and so on) through specific user interactions. The WC14can also include a button28such as a device wake-up button that, when activated by the user, causes the WC14to wake from a power conserving sleep mode. The WC14can also have an LED26to indicate low battery status (e.g., indicate low battery state when there is 12 hours or less of usage remaining).

The WC14radio frequency (RF) interface with the IDD12is, for example, based on a Bluetooth® Low Energy or BLE-based communication protocol, although other wireless communication protocols can be used. In the medication delivery system10, the WC14and IDD12communicate wirelessly within a distance of up to 10 feet or approximately 3 meters, utilizing the ISM band from 2400 MHz to 2480 MHZ spectrum. The WC14communicates with the IDD12while the IDD is adhered to the body in open air. The WC14is the central device or master, and the IDD12is the peripheral device or slave. Whenever the WCMP30wants to send information to the IDD12or retrieve information from the IDD12, it does so by interacting with the WCCP32, which in turn, communicates with the IDD12across the BLE link via the respective RF circuits38and54, as shown inFIG.3.

In accordance with an illustrative embodiment of the present invention, the WC14(e.g., its WCCP32) and the IDD12communicate in accordance with a protocol and various operations to mitigate risk that the WC14pairs with an unintended IDD12′ or, vice versa, that an intended IDD12pairs with an unintended WC14′. Either case could cause unintended operation of the pump mechanism52, potentially resulting in insulin over-infusion which can be injurious to the patient. In accordance with aspects of the illustrative embodiment of the present invention, the communication range at IDD12startup (e.g., before pairing) is reduced, unintended devices such as an unintended IDD12′ is rejected by the WC14and, when multiple IDD co-existences are detected nearly, the WC14is prevented from pairing with an IDD12unless that IDD12is the only IDD detected by the WC14. As described in more detail below, the protocol and operations in accordance with this illustrative embodiment of the present invention comprise reducing the transmit power level of the WC14and the IDD12to control the communication range (e.g., to less or equal to 20″ before pairing), using signal strength indicators (e.g., the minimum and maximum Received Signal Strength Indicator (RSSI) thresholds) to reject the unintended devices including the unintended IDDs12′, adjusting WC14startup scanning time to detect multiple IDD co-existence, instructing the user to move to other room or location with his/her WC14and IDD12to retry the pairing when more than one IDD12is detected, and only allowing the WC14to pair with the IDD12when it is the only IDD12detected by the WC14.

IDD12advertising and WC14scanning before pairing are illustratedFIG.4and in accordance with an illustrative embodiment of the present invention. Upon waking up and before pairing, every 250 ms (+/−10%) as indicated at106, the IDD12advertises with IDD Startup Advertising Data packets100, and waits for 3 ms (+/−10%) for the possible reply from a WC14. At the WCMP30's request, the WCCP32initiates the communication by starting scanning the IDD advertisement every 746 ms (−/−10%)104for about a 505 ms (+/−10%) scanning window102. At the end of the scanning period104, WCCP32performs a co-existence check as described below in connection withFIGS.7and8. At the end of the scanning time period104, if the WCCP32does not detect any advertising packet100within a transport layer timeout period, the WCCP stops scanning and sends a Nack response with a Transmission Timeout error code. As described below in connection withFIGS.7and8, after sending a Nack response, the WCCP32goes to sleep if no advertising is detected.

IDD12advertising and WC14scanning after pairing are illustratedFIG.5and in accordance with an illustrative embodiment of the present invention. After pairing, if the IDD12is not actively pumping, it advertises with a IDD Periodic Data Packet100at a selected interval108(e.g., every 1 second (+/−10%). After each advertisement100, the IDD12waits for 30 ms (+/−10%) for the possible reply from the WC14. After pairing, at the WCMP30′s request, the WCCP32initiates the communication by starting scanning the IDD advertisement every 746 ms (+/−10%)104for a 505 ms (+/−10%) scanning window102.

IDD12advertising and WC14scanning during pumping are illustrated inFIG.6and in accordance with an illustrative embodiment of the present invention. If the IDD12is delivering a medication such as insulin, it advertises every 500 ms for 2 seconds at the end of a dispense stroke112. Even though it is not indicated inFIG.6, during the break time between IDD aspirate periods110and dispense periods112, the IDD12still attempts advertising if possible. When the IDD12is pumping, at the WCMP30's request, the WCCP32initiates the communication by starting scanning the IDD advertisement every 746 ms (+/−10%)104for 505 ms (+/−10%) scanning windows102.

With reference toFIG.7, operations are described for the WC14and IDD12in accordance with an embodiment of the present invention, and in particular with respect to the WCMP30, WCCP32and IDD processor60. An SPI interface between the WCMP30and WCCP32is shown; however, as explained above, the WC14can be configured as a single processor device. Also, as described above, a BLE interface or similar wireless interface124is provided between the WC14and the IDD60. The operations are numbered1through30inFIG.7for ease of reference.

To commence pairing the WC14with an IDD12, the IDD12can be awakened from a power conserving shelf mode (e.g., by a user activating button(s)64), as indicated by operation1inFIG.7. The IDD12reduces its transmission power (operation2), and starts advertising IDD Startup Advertising Data (operation5) with the transmit power level 0 up to 1 minute +/−10%. The IDD12periodically transmits an IDD Startup Advertising Data packet (operation8). The WC14can be awakened from its power conserving sleep mode (e.g., as indicated in operation3) in response to a user activating a button such as a touch screen24start button or other button28, and enter a start mode (operation4) such as the WCMP30sending a Start command to the WCCP32. Upon receiving the Start command, the WCCP32starts scanning for the IDD Startup Advertising Data (operation6) as described above in connection withFIG.4.

With continued reference toFIG.7and to operation9, the WC14can determine if a particular type of device12is in its vicinity. For example, the IDD12Startup Advertising Data can comprise IDD identifying information (e.g., selected dynamic and/or static parameters or values that identify a type of device such as manufacturer and/or model or other characteristic) such that the WC14can be configured to only pair with devices or IDDs having designated IDD identifying information and not with other devices that do not have the designated IDD identifying information. With reference to operation9, the WCCP32can determine if the IDD12Startup Advertising Data has IDD identifying information relating, for example, to its particular manufacturer. If not, the WCCP32continues scanning (operation7).

With reference to operation10inFIG.7, if the WCCP32scans IDD Startup Advertising Data from a device in its vicinity that does have the designated IDD identifying information, then the WCCP32commences determining if signal strength information pertaining to the IDD Startup Advertising Data meets one or more thresholds. For example, the WCCP32can stop scanning and perform a Receiving Signal Strength Indicator (RSSI) check on the received packet. The RSSI information can be generated, for example, by an RF chip in the RF circuit38of the WC14. If the RSSI is less than a minimum level (e.g., −65 dBm +/−10%), the WCCP32ignores the received advertising packet, and retries the scanning process (operation7). The minimum level is selected to differentiate an IDD12advertising in the vicinity of the WC14from noise or an IDD12that is far enough away from the WC14to be an unintended device for pairing.

With reference to operation11inFIG.7, if the RSSI is more than a maximum level (e.g., −3 dBm +/−10%) such as when an RF jam may have occurred, the WCCP32sends a Nack response to the WCMP30(e.g., a response with a Maximum RSSI Exceeded error code) as indicated at operation12. The WCMP30can, in turn, generate an alert (e.g., via the LCD touch screen24) to advise the user to move to another location (operation13).

If, at the end of the scanning time period, the WCCP32detects the advertising packets from more than one IDD12(operation14), the WCCP32sends a Nack response to the WCMP30(e.g., a response with a Co-existence Detected error code (operation15). The WCMP30can, in turn, generate an alert (e.g., via the LCD touch screen24) to advise the user to move to another location to retry pairing, and optionally that another IDD has been detected (operation16).

If the RSSI and co-existence checks have passed, the WCCP32can send a IDD Startup Advertising Data response message to the WCMP30(operation17). Upon receiving the response message, the WCMP30verifies the IDD Startup Advertising Data (e.g., using the designated IDD identifying information). If this IDD compatibility check is successful, the WCMP30sends a Pairing command message to the WCCP32(operation19). Upon receiving the Pairing command, the WCCP32can perform a IPC sanity check on the pairing command message before sending the Pairing command to the IDD12(operation20) to initiate the pairing process (operation21).

For example, as indicated at operations22and23inFIG.7, the IDD12can receive a Pairing request, and perform a sanity check that causes the IDD12to ignore the request if the sanity check fails, and to send a pairing response to the WCCP32if the sanity check succeeds. The IDD12and WCCP32can each perform a Pairing algorithm (operation24). The pairing keys can be generated on the IDD12and WCCP32separately such that the air interface is not needed for pairing key exchange. The WCCP32saves the pairing key information to a nonvolatile memory location. The WCCP32confirms pairing by sending a low level confirmation packet to the IDD (operation25). Upon receiving the WCCP32's confirmation packet, the IDD12saves the pairing key information. Upon receiving the WCCP's confirmation packet, the IDD confirms the pairing by sending a low level confirmation packet back to the WCCP32(operation26). Thus, the WCCP14and the IDD32facilitate the pairing key distribution (operation27).

Upon receiving the IDD's confirmation packet, the WCCP32sends the Pairing Success message to the WCMP30(operation28). Upon receiving the Pairing Success message, the WCMP30saves the pairing key information to a nonvolatile memory location for the record. After pairing, IDD transmit power level is set (e.g., to 15) to increase the communication range. Further, after pairing, the WCCP32transmit power level is also increased. The WC14only communicates with the paired IDD12, and the IDD12only accepts a command from the paired WC14. This bonded communication relationship of the WC14and IDD12remains until the IDD is deactivated. After IDD deactivation, the WC14is free to pair with a new IDD12; however, at any given time, the WC14is preferably only allowed to pair with one IDD12.

The WC14and IDD12operations inFIG.8is similar to those inFIG.7, except that the co-existence check (operation10) occurs before the signal strength (e.g., RSSI) checks (operations13and14). In other words, the order of the co-existence and signal strength checks can be interchangeable. Also, the Device check (operation9) can be optional.

In accordance with an aspect of the present invention, the WCCP32does not need to constantly scan operation7ofFIGS.7and8) which conserves WC14power. In other words, scanning by the WCCP can be interleaved such that scanning occurs for a selected duration (e.g., a 505 ms scanning window102as shown inFIG.4) that is longer than two advertising intervals106(e.g., two 250 advertising intervals106) by the IDD12to ensure that the WCCP32will not miss detecting a IDD Startup Advertising Data packet100from an IDD12within pairing range of the WC14. The WCCP then stops scanning for a selected interval of time (e.g, 241 ms inFIG.4) within a scanning interval104before scanning again for another scanning window102of time within the next scanning interval104.

If an MD Startup Advertising Data packet100is detected during a scanning window102, then the WCCP32stops scanning and commences one or more of the various checks described above in connection withFIGS.7and8; that is, a device check (operation9), received signal strength checks (operations10and11) and a co-existence check (operation14). If multiple devices are located via operation14, or the other checks are not passed (i.e, operations9,10and11), then the WCCP32commences scanning again (operation7).

If an IDD Startup Advertising Data packet100is not detected during a scanning window102, then the WCCP32can scan over a series of scan intervals104for a selected amount of time (e.g., 10 seconds) and then timeout, Upon timeout, the WCCP32can send a Nack signal to the WCMP30which, in turn, alerts the user regarding a communication error and the need to bring an intended IDD12closer to the WC14and retry pairing.

It will be understood by one skilled in the art that this disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The embodiments herein are capable of other embodiments, and capable of being practiced or carried out in various ways. Also, it will be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless limited otherwise, the terms “connected,” “coupled,” and “mounted,” and variations thereof herein are used broadly and encompass direct and indirect connections, couplings, and mountings. In addition, the terms “connected” and “coupled” and variations thereof are not restricted to physical or mechanical connections or couplings. Further, terms such as up, down, bottom, and top are relative, and are employed to aid illustration, but are not limiting.

The components of the illustrative devices, systems and methods employed in accordance with the illustrated embodiments of the present invention can be implemented, at least in part, in digital electronic circuitry, analog electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. These components can be implemented, for example, as a computer program product such as a computer program, program code or computer instructions tangibly embodied in an information carrier, or in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus such as a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. Also, functional programs, codes, and code segments for accomplishing the present invention can be easily construed as within the scope of the invention by programmers skilled in the art to which the present invention pertains. Method steps associated with the illustrative embodiments of the present invention can he performed by one or more programmable processors executing a computer program, code or instructions to perform functions (e.g., by operating on input data and/or generating an output). Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

The above-presented description and figures are intended by way of example only and are not intended to limit the present invention in any way except as set forth in the following claims. It is particularly noted that persons skilled in the art can readily combine the various technical aspects of the various elements of the various illustrative embodiments that have been described above in numerous other ways, all of which are considered to be within the scope of the invention.