Power management message bus system
09830672 · 2017-11-28
Assignee
Inventors
- Eric Daniel Carlson (San Mateo, CA, US)
- Karthikeyan Varadarajan (Mountain View, CA, US)
- Franklin Aguinaldo (Daly City, CA, US)
Cpc classification
Y04S40/121
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04Q9/00
ELECTRICITY
Y02E10/56
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02E40/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y04S40/128
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02E60/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y04S10/123
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04Q2209/60
ELECTRICITY
Y02D10/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H02J13/00
ELECTRICITY
Abstract
A message bus is utilized for energy management/control. The publish/subscribe message bus present between site gateways, a central server farm, and other entities, facilitates exchange of messages pertaining to management and control of power generation and/or storage. On-site publishers/subscribers can include, e.g., PV inverters, battery devices, energy meters, etc. Non-site specific publishers/subscribers can include, e.g., web clients, database servers (for logging), and various server components of the message bus. Messages exchanged between publishers and subscribers can include control messages (e.g., begin charging battery X) and measurement messages (e.g., the current charge of battery X is Y). Embodiments may implement logic at a site gateway prioritizing transmission of messages to local site devices. Thus where a gateway cannot simultaneously transmit device control messages and device data acquisition messages (e.g., due to processing burden or congestion), site gateway logic can prioritize transmission of the control messages over the locally-generated data acquisition requests.
Claims
1. A method comprising: managing, by a site gateway, a subscription logic for one or more devices for handling energy, the one or more devices in communication with the site gateway at a local site wherein each device comprises a photovoltaic device, an energy storage device, a controllable load, a meter, or an inverter; receiving, by the site gateway, a power management message including a topic; determining whether to forward the power management message to any of the one or more devices based on the subscription logic and the topic of the message; referencing, by the site gateway, prioritization logic to assign a priority to the power management message; and transmitting, by the site gateway, the power management message to a determined device of the one or more devices according to the priority, the priority being higher than a priority of a different message transmitted by the site gateway, wherein the power management message includes a control message causing the determined device to change an attribute, and wherein the priority is assigned based upon at least one of a message expiration time, a latency, or a quality of communication between the site gateway and the device.
2. The method of claim 1 wherein the different message comprises a data acquisition message causing the determined device to respond with a message including the requested data.
3. The method of claim 2 wherein the different message is generated at the site gateway.
4. The method of claim 1 wherein the different message is also published to a message bus system.
5. The method of claim 1 wherein the priority is assigned based upon the topic.
6. The method of claim 1 wherein the priority is assigned based upon a device identifier.
7. The method of claim 1 wherein the priority is assigned based upon content within a body of the message.
8. A non-transitory computer-readable storage medium having stored thereon program code executable by a site gateway computer system located at a site including a plurality of devices for handling energy, the program code comprising: code that causes the computer system to manage a subscription logic for the plurality of devices for handling energy, the plurality of devices in communication with the site gateway at a local site wherein each device comprises a photovoltaic device, an energy storage device, a controllable load, a meter, or an inverter; code that causes the computer system to receive a power management message including a topic; code that causes the computer system to determine whether to forward the power management message to any of the plurality of devices based on the subscription logic and the topic of the message; code that causes the computer system to reference prioritization logic to assign a priority to the power management message; and code that causes the computer system to transmit the power management message to a determined device of the one or more devices according to the priority, the priority being higher than a priority of a different message transmitted by the site gateway, wherein the power management message comprises a control message causing the determined device to change an attribute, and wherein the priority is assigned based upon at least one of a message expiration time, a latency, or a quality of communication between the site gateway and the device.
9. The non-transitory computer-readable storage method of claim 8 wherein the different message comprises a data acquisition message generated at the site gateway.
10. The non-transitory computer-readable storage method of claim 8 wherein the different message is also published to a message bus system.
11. A power management gateway located at a site with a plurality of devices for handling energy, the gateway comprising: a processor that communicates with a remote server and the plurality of devices located at the site, the gateway communicating with the remote server over a first network type and with at least one of the plurality of devices over a second network type; and a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to: manage a subscription logic for the plurality of devices for handling energy; receive, from the remote server, a power management message including a topic; determine whether to forward the power management message to any of the one or more devices based on the subscription logic and the topic of the message; reference prioritization logic to assign a priority to the power management message; and transmit the power management message to a determined device of the one or more devices according to the priority, the priority being higher than a priority of a different message transmitted by the site gateway, wherein the determined device responds to the power management message by altering its operation or replying to the message with a state of the determined device, wherein the plurality of devices comprises a photovoltaic device, an energy storage device, a controllable load, a meter, or an inverter, and wherein the priority is assigned based on at least one of a message expiration time, a latency, or a quality of communication between the site gateway and the determined device.
12. The system of claim 11 wherein the power management message comprises a control message.
13. The system of claim 11 wherein the different message comprises a data acquisition message generated at the site gateway.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) In the following description, for purposes of explanation, numerous examples and details are set forth in order to provide an understanding of embodiments of the present invention. It will be evident, however, to one skilled in the art that certain embodiments can be practiced without some of these details, or can be practiced with modifications or equivalents thereof.
(11) The present disclosure relates to systems and methods for managing grid-connected energy generation, consumption and/or storage (EGS) systems. In particular, a power management Message Bus System (MBS) facilitates communication between various entities in a distributed energy generation/storage deployment, where the entities can include on-site devices, central control systems, user interface systems, logging systems, etc. The MBS operates according to a subscribe/publish scheme, with each respective device functioning as a subscriber and/or publisher. The MBS employs a message structure comprising a topic component and a device identifier (ID) component. A gateway at each local site includes an MBS client configured to interact with a remote MBS server. In certain embodiments, the site gateway may also include logic implementing priority for communicating messages between the gateway and respective on-site devices. For example, this logic may dictate that the site gateway transmit higher-priority messages for controlling a device, in advance of transmitting lower-priority messages simply requesting data to be acquired from devices (e.g., for routine logging purposes).
(12) For purposes of illustration, several of the examples and embodiments that follow are described in the context of EGS systems that use solar PV technology for energy generation and battery technology for energy storage. However, it should be appreciated that embodiments of the present invention are not limited to such implementations. For example, in some embodiments, alternative types of energy generation technologies (e.g., wind turbine, solar-thermal, geothermal, biomass, hydropower, etc.) may be used. In other embodiments, alternative types of energy storage technologies (e.g., compressed air, flywheels, pumped hydro, superconducting magnetic energy storage (SMES), etc.) may be used. One of ordinary skill in the art will recognize many modifications, variations, and alternatives.
(13)
(14) As noted in the Background section, integrated EGS systems such as system 102 provide a number of advantages over energy generation systems that do not incorporate any on-site energy storage. For example, excess energy produced by PV components 106 and 108 can be stored in battery device 112 via battery inverter/charger 110 as a critical reserve. Battery inverter/charger 110 can then discharge this reserved energy from battery device 112 when utility grid 114 is unavailable (e.g., during a grid blackout) to provide backup power for critical site loads 120 until grid power is restored. As another example, battery device 112 can be leveraged to “time shift” energy usage at site 104 in a way that provides economic value to the site owner or the installer/service provider of EGS system 102. For instance, battery inverter/charger 110 can charge battery device 112 with energy from utility grid 114 (and/or PV inverter 106) when grid energy cost is low. Battery inverter/charger 110 can then dispatch the stored energy at a later time to, e.g., offset site energy usage from utility grid 114 when PV energy production is low/grid energy cost is high, or sell back the energy to the utility when energy buyback prices are high (e.g., during peak demand times).
(15) Unfortunately, centralized management of EGS systems such as system 102 has proven to be difficult, particularly at the large scale needed for the residential and commercial markets. To address this, system environment 100 can include a site gateway 124 and a control server 128. Site gateway 124 is a computing device (e.g., a general purpose personal computer, a dedicated device, etc.) that is installed at site 104. As shown, site gateway 124 is communicatively coupled with on-site components 106, 110, 112, and 118, as well as with control server 128 via a network 126. In one embodiment, site gateway 124 can be a standalone device that is separate from EGS system 102. In other embodiments, site gateway 124 can be embedded or integrated into one or more components of system 102. Control server 128 is a server computer (or a cluster/farm of server computers) that is remote from site 104. Control server 128 may be operated by, e.g., the installer or service provider of EGS system 102, a utility company, or some other entity.
(16) In one embodiment, site gateway 124 and control server 128 can carry out various tasks for monitoring the performance of EGS system 102. For example, site gateway 124 can collect system operating statistics, such as the amount of PV energy produced (via PV inverter 106), the energy flow to and from utility grid 114 (via utility meter 118), the amount of energy stored in battery device 112, and so on. Site gateway 124 can then send this data to control server 128 for long-term logging and system performance analysis.
(17) More significantly, site gateway 124 and control server 128 can operate in tandem to actively facilitate the deployment and control of EGS system 102. Specifically,
(18) According to embodiments, communication between the various elements involved in power management (e.g., between the centralized control server and the various devices at the remote site, and/or between the centralized control server and various other remote devices such as the database server, web server, etc.) may be achieved through use of a power management Message Bus System (MBS). In the simplified view of
(19) The power management MBS as described herein, facilitates communication between the various entities (e.g., on-site devices, central control systems, distributed control systems, user interface systems, logging systems, third party systems etc.) in a distributed energy generation and/or storage deployment. The MBS operates according to a subscribe/publish model, with each respective device functioning as a subscriber and/or publisher, utilizing a topic of a message being communicated.
(20) The presence of the power management MBS introduces flexibility into the communication of messages through the power management system. In particular, the individual devices themselves are permitted to publish and subscribe according to message topic. This approach lessens the burden on the central server and avoids potential bottlenecks to communication. Utilization of the power management MBS also serves to enhance the availability and visibility of the communicated information, because messages are published and hence available to all subscribing entities. Further details regarding the power management MBS are provided below in connection with
(21) It should be appreciated that system environment 100 is illustrative and not intended to limit embodiments of the present invention. For instance, although
(22) Additional details regarding embodiments of a power management MBS are now described in
(23) It is noted, however, that embodiments are not limited to use of the Websocket communication protocol, or to any other specific communication protocol. Examples of communication protocols which could be utilized by a power management MBS according embodiments, can include but are not limited to high messaging protocols such as AQMP, MQTT, or STOMP, XMPP, HTTP, TCP, UDP.
(24)
(25)
(26) The site gateway may be in contact with the various devices through a wired and/or wireless network. Specifically shown in this embodiment, is contact between the site gateway and the various devices via radio frequency (RF) communication through antennae 215.
(27) However, embodiments are not limited to this particular form of communication, and others are possible. Examples of types of communication which may be effected between the site gateway and various devices can include but are not limited to wired communication (e.g., Ethernet, CAN, RS232, RS485, etc.) and/or wireless communication (e.g., ZigBee, Wi-Fi, cellular, etc.).
(28)
(29)
(30) Multiple such web browser interfaces are possible. For example, one web browser interface may be available for use by the owner of the site, e.g., a residential homeowner on whose roof the PV devices are installed.
(31) Another web browser interface may be available to a site administrator. The administrator could utilize the web browser interface to interrogate and control the devices in order to manage safety and effective generation and/or storage of power at the site.
(32) The MBS is further in communication with a database server 182. This database may be responsible for storing information relevant to operation of the EGS system across one or more of the sites. The database may store information regarding performance attributes of various devices of this and other EGS'.
(33) Also shown in
(34) In particular, the power management MBS utilizes a topic-based publish/subscribe model for communication. According to such a publish/subscribe model, subscribers subscribe to specific topics in which they are interested. As discussed below, in certain embodiments these topics may be organized according to a hierarchy.
(35) This subscription logic would be handled by a separate software component in the MBS client for each site device (in the case of on-site subscribers). This subscription information is persisted by the MBS server.
(36) Publishers publish to predefined topics that they are configured to disseminate info about. This publishing logic would again be handled by separate software components in the MBS client for each site device. In certain embodiments, the software components handling publication may be the same components as the subscription components.
(37) Upon publication, based on the message topic, the MBS server consults the subscription information. The MBS server then delivers the message to those devices subscribing to that particular topic.
(38)
(39) In a next step 304, the site gateway returns to the end device 301, an identifier request for the identity of the device. In step 306, the end device sends a device identifier to the site gateway.
(40) In step 308, the site gateway sends a subscription message 309 to the MBS server 198.
(41) This subscription message includes a topic component: “/device/measurement/post/FR-01090”, and the topic includes a device identifier “FR-01090” indicating the source of measurement data. The subscription message also includes a subscriber user identifier (SubscriberUID) “fnaldo-1bdd” indicating the subscriber. Thus, this subscription message indicates that the message bus system user “fnaldo-1bdd” wishes to subscribe to messages published on the message bus system regarding measurement of properties of device FR-01090.
(42) In a final step 310, the MBS server returns to the site gateway, a message acknowledging (ACK) receipt of the subscription message. In alternative implementations, the acknowledgment message may not be transmitted.
(43)
(44) As discussed later below, in some embodiments this data request message may be sent according to a priority assigned by logic at the site gateway.
(45) In step 404, the end device returns a data response message to the site gateway. This data response message includes the data that is measured at the device.
(46) In step 406, the site gateway publishes to the message bus system, a data message including the measured data.
(47) This publish message includes an identifier of the publisher (PublisherUID) “jco-faguinaldo-878a0”. It also includes a topic component, here the same “/device/measurement/enable/FR-01090” topic to which the subscriber of
(48) The MBS server 198 receives the published message. In step 408, the MBS server distributes the message on the message bus system, where it is received by a user interface of a MBS subscriber client (shown generically here as 409).
(49) One of these MBS subscriber clients corresponds to the particular subscriber of
(50) While
(51) As previously indicated, the message bus system relies upon a topic-based publish/subscription model. The topic component of the message structure may indicate the nature of the message. In certain embodiments, available topics may comprise a flat list relating to different power management functions etc.
(52) However, some embodiments of a message bus system can utilize a topic hierarchy that comprises topics and inter-topic relationships. Such topic hierarchies may be derived from characteristics specific to an industry (e.g., the energy industry).
(53) One possible example of a topic hierarchy is summarized in the following table below:
(54) TABLE-US-00001 Level 1: Device Type Level 2: Group Level 3: Verb Level 4: Device ID e.g., e.g., e.g., e.g., inverter capabilities enable identifiers uniquely storage settings disable indicating a specific gateway measurements post device zigbee status ack device network get management
(55) Each level defines some form of grouping. The message topic hierarchy is organized according to a general scope at the top level, down to a specific device at the bottom level.
(56) The hierarchy may be visualized as a tree structure. In subscribing to a branch (e.g., lower level node) of the hierarchy, a message bus system user may also automatically subscribe to all of the sub-branches and leaves falling under that branch.
(57) At the verb level (level 3) of this example, the verb “post” may be defined as an information distribution action. The verb “get” may indicate a request for information or data.
(58) The verb “ack” serves as an acknowledgement topic from a post or from a get. Acknowledgements convey that messages are received by a recipient.
(59) In certain embodiments, device-bound message prioritization may be implemented at the site gateway.
(60) In particular, the site gateway references the rule(s) in order to prioritize the transmission of messages from the site gateway to local site devices. In certain embodiments this assignment of priority may take place utilizing a mechanism such as a Look Up Table (LUT).
(61) For example, assume the site gateway receives control messages from the message bus system that are destined for particular subscriber devices. At the same time, assume the site gateway is scheduled to transmit data acquisition requests to those same devices.
(62) In this scenario, the site gateway may be unable to process all of these messages simultaneously. This may be due to limitations in processing power, and/or the existence of congestion on the communications link between the site gateway and the various site devices.
(63) Under such circumstances, the site gateway can prioritize an order of transmittal of the messages to the devices. In one example, the published control messages received from the message bus system may be accorded a higher priority of transmission over the data acquisition requests generated locally by the site gateway. Thus
(64) A variety of message prioritization rules are possible. These may be implemented according to message topic. The following shows an exemplary list of priorities that may be assigned based upon message topic. /device/settings/control/ack/: 1 /device/measurement/post/: 2 /device/status/post/: 2 /gateway/status/post/: 3 /gateway/status/devices/post/: 3 /gateway/status/zigbee_devices/post/: 3 /zigbee/status/post/: 3
(65) Here, a highest priority of 1 is afforded to device control messages. An example of a control message is provided below:
(66) TABLE-US-00002 { “Command”:“pub”, “Messages”:[{ “Envelope”:{ “PublisherUID”:“dgms”, “Published”:“2014-09-30T04:32:04”, “Topic”:“/device/settings/control/post/SP1810A9”} “Body”:{ “Values”:{ “DynamicActivePowerLimit”:100 }}, }]}
(67) A lower priority of 2 is afforded to device measurement messages. An example of a device measurement message is provided below:
(68) TABLE-US-00003 { “Command”:“pub”, “Messages”:[ { “Body”:{ “Status”:{ “DeviceType”:“PVInverter”, “GatewayMac”:“0FE6A7”, “Measured”:“2014-09-30T23:10:57” }, “Values”:{ “DCVoltage”:181.3, “DCCurrent”:6.9, “ACPower”:1169.0, “ACCurrent”:4.8, “Frequency”:59, } }, “Envelope”:{ “PublisherUID”:“00E6A7”, “PublishTimestamp”:“2014-09-30T23:10:57”, “Topic”:“/device/measurement/post/P14112”, } } ] }
(69) In certain embodiments the site gateway may promulgate data acquisition requests to local devices directly, without prompting from a message (and corresponding message topic) received on the message bus system. Under such circumstances, site gateway priority logic could accord priority to transmitting any message received from the message bus system (and thus possessing a topic component), over transmitting a data acquisition message generated at site gateway directly.
(70) The above situation represents only one specific embodiment of the implementation of prioritization rules according to an embodiment, and other rules are possible. For example, various message types (e.g., control, data acquisition, network management, firmware upgrades, logging, diagnostic) may be accorded different relative priorities, as dictated by the prioritization logic at the site gateway.
(71) Depending upon the particular embodiment, factors other than message topic and/or device ID may be considered in assigning priority at the site gateway. For example in some embodiments, priority may be assigned based upon the content within the body of the message. Other possible factors can include but are not limited to a message expiration time, characteristics of a latency between the site gateway and the devices, and a quality of the communications link between the gateway and site device(s).
(72) It is further noted that depending upon the particular embodiment, message prioritization implemented at the site gateway may be applied universally across devices, or alternatively may be applied on a per-device basis. As an example, messages to devices implicated in safe operation (e.g., batteries, inverters) may take priority over messages to other devices that are less critical. For per-device prioritization, the engine and rules may reference the device serial number and manufacturer information that is known to the device, in order to ascertain the device type.
(73) Thus in an example, data (e.g., temperature) acquired from one on-site device (e.g., a battery) may have far greater implications for safety than a control signal directed to a less critical function—e.g., to promptly turn off site lighting (a controllable load) at sunrise. The relative disparity in importance between this control message and the data acquisition message for this particular (battery) device, could be inherently encoded in the logic at the site gateway. In this manner, messages requesting battery temperature, may be automatically afforded a higher priority than messages instructing non-critical control functions.
(74) According to certain embodiments, message prioritization implemented at the site gateway may reference a value encoded as part of the message structure. In some embodiments, site gateway logic may perform prioritization with reference to the topic, device ID, and/or other information present in the message structure published by the message bus system.
(75)
(76) In a second step 604, the site gateway receives from the message bus system, a published power management message including a topic component.
(77) In a third step 606 the engine assigns a priority to the received power management message, based upon application of the prioritization logic. This prioritization logic may reference the topic component of the message, including a device ID. The prioritization logic may prioritize not only messages received from message bus system, but also data acquisition requests generated at the site gateway itself.
(78) In a fourth step 608, the site gateway transmits the power management message to a device according to the assigned priority. For example, a power management message having a topic indicating device control, may be transmitted by the site gateway to the device, before a transmitting a measurement message generated at the site itself.
(79)
(80) Internal bus subsystem 704 can provide a mechanism for letting the various components and subsystems of computer system 700 communicate with each other as intended. Although internal bus subsystem 704 is shown schematically as a single bus, alternative embodiments of the bus subsystem can utilize multiple buses.
(81) Network interface subsystem 716 can serve as an interface for communicating data between computer system 700 and other computer systems or networks (e.g., network 126 of
(82) User interface input devices 712 can include a keyboard, pointing devices (e.g., mouse, trackball, touchpad, etc.), a scanner, a barcode scanner, a touch-screen incorporated into a display, audio input devices (e.g., voice recognition systems, microphones, etc.), and other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for inputting information into computer system 700.
(83) User interface output devices 714 can include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices, etc. The display subsystem can be a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), or a projection device. In general, use of the term “output device” is intended to include all possible types of devices and mechanisms for outputting information from computer system 700.
(84) Storage subsystem 706 can include a memory subsystem 708 and a file/disk storage subsystem 710. Subsystems 708 and 710 represent non-transitory computer-readable storage media that can store program code and/or data that provide the functionality of embodiments of the present invention.
(85) Memory subsystem 708 can include a number of memories including a main random access memory (RAM) 718 for storage of instructions and data during program execution and a read-only memory (ROM) 720 in which fixed instructions are stored. File storage subsystem 710 can provide persistent (i.e., non-volatile) storage for program and data files, and can include a magnetic or solid-state hard disk drive, an optical drive along with associated removable media (e.g., CD-ROM, DVD, Blu-Ray, etc.), a removable flash memory-based drive or card, and/or other types of storage media known in the art.
(86) It should be appreciated that computer system 700 is illustrative and not intended to limit embodiments of the present invention. Many other configurations having more or fewer components than system 700 are possible.
(87) The above description illustrates various embodiments of the present invention along with examples of how aspects of the present invention may be implemented. The above examples and embodiments should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the present invention as defined by the following claims. For example, although certain embodiments have been described with respect to particular process flows and steps, it should be apparent to those skilled in the art that the scope of the present invention is not strictly limited to the described flows and steps. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added, or omitted. As another example, although certain embodiments have been described using a particular combination of hardware and software, it should be recognized that other combinations of hardware and software are possible, and that specific operations described as being implemented in software can also be implemented in hardware and vice versa.
(88) The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense. Other arrangements, embodiments, implementations and equivalents will be evident to those skilled in the art and may be employed without departing from the spirit and scope of the invention as set forth in the following claims.