Patent Publication Number: US-10331188-B2

Title: Device usage message generator indicative of power consumption of an electronic device

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This Application is a continuation under 35 U.S.C. § 120 of U.S. patent application Ser. No. 14/391,640 filed on Oct. 9, 2014, which in turn is a U.S. National Stage filing under 35 U.S.C. § 371 of International Application Ser. No. PCT/US2014/031021 filed on Mar. 18, 2014. The disclosures of U.S. patent application Ser. No. 14/391,640 and International Application Ser. No. PCT/US2014/031021 are hereby incorporated by reference in their entirety. 
    
    
     BACKGROUND 
     Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section. 
     Appliances and other electronics may be equipped with network technology and may be capable of communicating with one another. Additionally, devices equipped with networking technology may allow for communication with a power grid. Use of some devices may be detected by analyzing a power consumption profile used by the device. 
     SUMMARY 
     In some examples, message generators are generally described. Various message generators may include a processor. Message generators may include a power detector configured to be in communication with the processor. In further examples, message generators may include a memory configured to be in communication with the processor. The memory may be effective to store instructions. In examples including a power detector, the power detector may be effective to detect power information from an electronic device. The power detector may be further effective to send the power information to the processor. The processor may be effective to classify the power information, in response to the instructions stored in the memory, to produce descriptive data about the power information. The processor may be effective to apply one or more rules to the descriptive data to generate the message. 
     In some other examples, methods for generating a message are generally described. In various examples, the methods may include detecting, by a power detector, power information from an electronic device. The methods may include receiving, by a processor, the power information from the power detector. The methods may include classifying, by the processor, the power information to produce descriptive data. The methods may include generating, by the processor, the message by applying one or more rules to the descriptive data. 
     In some examples, methods for generating content based on power information are generally described. The methods may include detecting, by a power detector, the power information from an electronic device. Some example methods may include classifying, by a processor, the power information to produce descriptive data. The methods may further include applying, by the processor, one or more rules to the descriptive data. The methods may further include identifying, by the processor, an activity based on the application of the one or more rules to the descriptive data. The methods may further include sending, by the processor, an indication of the activity to a content server configured to be in communication with the processor. The methods may include receiving, by the processor from the content server, content related to the activity. 
     The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       The foregoing and other features of this disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several embodiments in accordance with the disclosure and are, therefore, not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings, in which: 
         FIG. 1  illustrates an example system that can be utilized to implement a device usage message generator; 
         FIG. 2  depicts the example device usage message generator of  FIG. 1  with details relating to a device usage engine; 
         FIG. 3  depicts the example device usage message generator of  FIG. 1  with further details relating to the device usage engine; 
         FIG. 4  depicts a flow diagram for an example process for implementing a device usage message generator; 
         FIG. 5  illustrates an example computer program product that can be utilized to implement a device usage message generator; and 
         FIG. 6  is a block diagram illustrating an example computing device that is arranged to implement a device usage message generator; all arranged according to at least some embodiments described herein. 
     
    
    
     DETAILED DESCRIPTION 
     In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. The aspects of the present disclosure, as generally described herein, and illustrated in the drawings, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations. 
     This disclosure is generally drawn to, inter alia, methods, apparatus, systems, devices, and computer program products related to a device usage message generator. 
     Briefly stated, technologies are generally described for systems, devices and methods effective to generate a message that may be sent to a social network. Power information from an electronic device may be detected by a power detector and received by a processor. For example, a power consumption profile of an appliance may be detected. The processor may classify the power information to produce descriptive data. For example, the processor may determine that an oven has been turned on for a period of time. The processor may generate the message by applying one or more rules to the descriptive data. For example, the processor may generate a message relating to consumption of dinner based on the determination that the oven has been turned on. 
       FIG. 1  illustrates an example system  100  that can be utilized to implement a device usage message generator, arranged in accordance with at least some embodiments described herein. System  100  may include a message generator  102  and a power line interface  110  such as an outlet. Message generator  102  may be coupled to power line interface  110  through a coupling  122 . Coupling  122  may be a power line capable of transmitting power and/or data. Power line interface  110  may be one or more power outlets or other interfaces coupled to a power grid. Devices  116 ,  118  and/or  120  may be configured to be in communication with message generator  102 . Message generator  102  may be configured to be in communication with a social network  114  over a network  112 . Network  112  may be, for example, the Internet, a cellular network, etc. Although three devices are described and depicted, any number of devices may be used with system  100 . 
     Devices  116 ,  118  and  120  may be electrically powered. In some examples, devices  116 ,  118  and  120  may be one or more home appliances, computing devices, televisions, washing machines, electric ovens, gas ovens with electronic control systems, refrigerators, freezers, air conditioners, heaters, business machines, lighting, water heaters, etc. In some examples, one or more of devices  116 ,  118  and/or  120  may be capable of communicating over a network. In some examples, devices  116 ,  118  and/or  120  may communicate via power-lines and/or wirelessly through a ZIGBEE, Open ADR (automated demand response), IEEE (Institute of Electrical and Electronics Engineers) 802.11, or other communication protocols. For example, devices  116 ,  118  and  120  may transmit information to and/or receive information from, other networked devices. The information may be related to load requirements, power consumption, device specifications, operational states and/or other information related to a device or power grid performance. In various other examples, one or more of devices  116 ,  118  and/or  120  may be without integrated networking technology. 
     Message generator  102  may include a memory  108 , a processor  106 , and/or a device usage engine  104 , at least some of which may be configured to be in communication with one another. Device usage engine  104  may include a power detector  130 . Power detector  130  may be hardware configured to receive power information from one or more of devices  116 ,  118 ,  120  and/or other devices. Power detector  130  may be configured to transmit and receive wired and/or wireless signals. Power detector  130  may be configured to be in communication with processor  106 . Device usage engine  104  may be implemented as hardware or as some combination of hardware and instructions executable on the hardware. Power detector  130  may be configured to detect power information  124  generated by devices  116 ,  118 , and/or  120 . Power detector  130  may send power information  124  to processor  106 . As discussed in more detail below, based on power information  124  received from devices  116 ,  118  and/or  120  and instructions stored in memory  108 , device usage engine  104  may generate one or more messages  126 . For example, messages  126  may include status updates or other information related to power information  124  which may be visible to users of social network  114 . Messages  126  may be sent over network  112  (e.g., the Internet) to social network  114 . In an example, messages  126  may be integrated into a user profile of social network  114 . In a further example, messages  126  may be broadcast to other users of social network  114 . Social network  114  may be for example, a social media service such as FACEBOOK, TWITTER, INSTAGRAM, TUMBLR, etc. 
       FIG. 2  depicts example device usage message generator  102  with details relating to a device usage engine  104 , arranged in accordance with at least some embodiments described herein. Those components in  FIG. 2  that are labeled identically to components of  FIG. 1  will not be described again for the purposes of clarity and brevity. 
     Device usage engine  104  may further include a classification module  206 . Power detector  130  may include a power line sniffer  202  and/or a data aggregator  204 . Power line sniffer  202  and data aggregator  204  may be configured to receive power information  124  related to one or more devices configured to be in communication with system  100 . Power line sniffer  202  may be configured to be in communication with classification module  206 . In an example, power line sniffer  202  may be coupled to the electrical system of a building such as through coupling  122 . Power line sniffer  202  may receive power information  124  related to devices  116 ,  118 , and/or  120 . Power line sniffer  202  may detect power information  124  which may include one or more digital and/or analog power signals related to power consumption, load requirements, device specifications, operational states and/or other information related to devices  116 ,  118  and/or  120 . In an example, device  120  may be without networking technology. Power line sniffer  202  may detect power information  124  via power lines such as through wired ZIGBEE, Open ADR, IEEE 802.11 and/or other communication protocols wired or wireless. Power information  124  may include one or more digital and/or analog power signals related to power consumption, load requirements, device specifications, operational states and/or other information related to device  120 . In an example, power information  124  may include one or more analog power signals that represent a characteristic inductive ringing and/or a characteristic impulse response of device  120 . 
     Power line sniffer  202  may detect power information  124  generated by devices  116 ,  118  and/or  120  even in examples where devices  116 ,  118  and/or  120  lack networking technology. Power line sniffer  202  may be capable of identifying a particular device based on a power consumption profile in power information  124  such as through the use of Demand Side Management Type signals or Digital Direct Load Scheduling Strategies. In another example, a power meter  220  may receive power information  124  from one or more of devices  116 ,  118  and/or  120 . Power meter  220  may be capable of identifying a particular device based on a power consumption profile in power information  124  such as through the use of power line signaled reports, Demand Side Management Type signals, or Digital Direct Load Scheduling Strategies. Power meter  220  may provide power information  124  to power detector  130  in a digital format. Power meter  220  may be, for example, a power management system configured to receive information from networked devices based on power consumption profiles and/or broadcasted digital data. In some examples, power meter  220  may be installed in an electrical system at a point between devices  116 ,  118 , and/or  120  and message generator  102 . In another example, power meter  220  may be installed between power line interface  110  and transmission lines  240  such as in a fuse box. 
     Data aggregator  204  may be implemented as hardware and/or as combination of hardware and instructions executable on the hardware. Data aggregator  204  may be located within power detector  130  or at a location external to power detector  130 . In an example, data aggregator  204  may be located externally from message generator  102  and may aggregate power information  124  from two or more locations in a power grid. Data aggregator  204  may be configured to be in communication with classification module  206 . In another example, data aggregator  204  may be located within power meter  220 . In examples where devices  116 ,  118 , and/or  120  are capable of communicating with other devices over a network, devices  116 ,  118 , and/or  120  may broadcast power information  124  that includes digital data related to power consumption and/or device identification. Data aggregator  204  may receive power information  124  broadcast from devices  116 ,  118  and/or  120 . In an example, device  116  may be capable of communicating with other devices over power lines and/or another network. Device  116  may broadcast or otherwise transmit power information  124  that includes digital data representing a device serial number (e.g. washing machine ABC) and/or rates of power consumption. Data aggregator  204  may receive power information  124  from device  116 . 
     Power line sniffer  202  may provide power event data  222  to classification module  206 . Data aggregator  204  may provide power event data  223  to classification module  206 . Power event data  222  and power event data  223  may include identities and/or power consumption data for devices  116 ,  118  and/or  120 . In an example, power event data  222  may indicate that washing machine ABC has been running for 45 minutes. Power event data  222  and power event data  223  may be generated by power line sniffer  202  and data aggregator  204 , respectively, in response to power information  124 . For example, power line sniffer  202  may generate power event data  222  in response to power information  124  received from device  120 . In another example, data aggregator  204  may generate power event data  223  in response to power information  124  received from device  118 . 
     Classification module  206  may be implemented as hardware, or as a combination of hardware and instructions executable on the hardware. Classification module  206  may receive power event data  222 ,  223  from power line sniffer  202  and data aggregator  204 , respectively. Additionally, classification module  206  may receive inputs from one or more sources external to message generator  102 . In some examples, classification module  206  may receive input from exterior sensors or other data that may be used to process power event data  222  or power event data  223 . In some examples, exterior sensors may include time sensors, weather sensors, sensors to indicate the presence or activity of people (e.g., via inertial sensors and/or infrared sensors), sensors to indicate the presence or absence of portable electronic devices, etc. For example, classification module  206  may receive profiles of a user using system  100  such as through network  112 . Classification module  206  may receive sensor data as inputs through network  112  relating to an activity associated with usage of devices  116 ,  118 ,  120 . Classification module  206  may generate probabilistic data via algorithms that analyze power event data  222  or power event data  223 , etc. For example, classification module  206  may analyze power event data  222  illustrating that a user ran an oven for 20 minutes, and then a microwave for 5 minutes. Classification module  206  may determine that historically, when the user ran the oven and microwave for these durations, the user ate dinner and so, from a probabilistic standpoint, the user is likely eating dinner again. Classification module  206  may classify power event data  222 ,  223  and other inputs mentioned above, such as through sensors or from network  112 , as semantic data  224  based on instructions and/or rules stored in memory  108 . Semantic data  224  may be descriptive data about power information  124  and may identify an activity. 
     In an example where system  100  is instantiated in a household, power event data  222 ,  223  may identify device  118  as a television which has been operating with a characteristic power consumption profile for 5 minutes. Based on power event data  222 ,  223 , classification module  206  may produce semantic data  224 —“Watching Television.” In another example, power event data  222 ,  223  may identify and provide power consumption profiles and duration information for several electric lights within a household. Power event data  222 ,  223  may indicate that a bedroom light was the final light to be turned off after several other lights were previously turned off. Based on power event data  222 ,  223 , classification module  206  may produce semantic data  224 —“Going to Bed.” 
     In another example where system  100  is instantiated in a household, an external temperature sensor and/or an infrared sensor may provide data to classification module  206  related to an increasing temperature and/or a motion signal resulting from two people entering the household. Classification module  206  may produce semantic data  224 —“Two people have entered the house” based on the rate of temperature change and based on the motion signal associated with two people entering the household. 
     As will be discussed in further detail below, semantic data  224  may be used to generate one or more messages  126  for social network  114 . Messages  126  may be generated based on the application of one or more rules stored in memory  108 . In some examples, message generator  102  may include an indicator, such as a hashtag or icon, included with messages generated for social network  114 . The indicator may signify that the messages were generated by message generator  102 . 
     In another example, semantic data  224  may be used to generate one or more messages to be sent to a content server  230  that stores content. Content server  230  may provide content in response to receipt of one or more messages. In an example, power event data  222 ,  223  may be used by classification module  206  to produce semantic data  224 —“Grilling Steak.” Semantic data  224  may be used to generate message  126  related to “Grilling Steak.” Message generator  102  may send message  126  over network  112  to content server  230 . Content server  230  may send advertisements and/or other content related to semantic data  224  “Grilling Steak” and/or related to message  126 . For example, content server  230  may send content which suggests wine pairings for steak and/or recipes for complimentary vegetable side dishes. 
       FIG. 3  depicts device usage message generator  102  with still further details relating to device usage engine  104 , arranged in accordance with at least some embodiments described herein. Those components in  FIG. 3  that are labeled identically to components of  FIGS. 1 and 2  will not be described again for the purposes of clarity and brevity. 
     Device usage engine  104  may further include a rules module  304  and a content generator  308 . Classification module  206  may combine semantic data  224  into a power line events list  302 . Power line events list  302  may be an array, table, list, queue, or other data structure adapted to list descriptive data  310  represented by semantic data  224 . Power line events list  302  may be stored in memory  108  or in another memory associated with message generator  102 . 
     Descriptive data  310  in power line events list  302  may be accessible by rules module  304 . Rules module  304  may be hardware or some combination of hardware and instructions executable on the hardware. Rules module  304  may apply one or more rules to descriptive data  310  and identify an activity associated with usage of device  116 ,  118 ,  120  in response. In some examples, descriptive data  310  may include an identification of an activity associated with usage of device  116 . Rules module  304  may also provide content based on descriptive data  310  received from power line events list  302 . Rules module  304  may include an interface  306 . Interface  306  may allow for a user to generate and/or program new rules to provide content based on descriptive data  310 . For example, a user may create a rule to be applied to a group of descriptive data  310  in power line events list  302 . 
     In an example, descriptive data  310  of power line events list  302  may include the description “Going to bed.” Rules module  304  may include a rule that may be triggered by descriptive data: “Going to bed.” For example, rules module  304  may include a rule that is effective to generate a social media post: “Bedtime for Alice!” when the activity “Going to bed” is received. Content generator  308  may be hardware or some combination of hardware and instructions executable on the hardware. Content generator  308  may be configured to generate messages  126  based on the application of rules of rules module  304  to activities and/or descriptive data  310 . Messages  126  may relate to an activity associated with usage of one or more of electronic devices  116 ,  118 , and/or  120 . Content generator  308  may be further configured to send messages  126  to social network  114 , content server  230 , and/or another device over network  112 . In the example above, content generator  308  may generate and send message  126 —“Bedtime for Alice!” over network  112  to social network  114 . In another example, a parent may generate a rule using interface  306  so that when descriptive data  310  indicates that a television in the house is on while the parent is at work, message  126  may be generated. In the example, message  126  may be a notification which notifies the parent that the children are watching television. Message  126  may be sent to the parent as an email, SMS (short message service) message, or other notification over network  112 . 
     Among other potential benefits, a device usage message generator in accordance with the present disclosure may automate social media posts based on power usage of electronic devices. A device usage message generator may allow a user to monitor their home or office when the user is not present. Furthermore, a device usage message generator may allow for activity-specific content to be generated based upon current activities. Additionally, data generated from power consumption monitoring may be of use to power companies and/or for data mining. In another example, resources may be provisioned based on historical demand. For example, media files for certain television shows favored by a household may be pre-positioned on a server to avoid streaming delays when an event is identified relating to the television show. Deeper and easier engagement with a social network and an increased flow of information may be realized. Fitness or healthy behavior related posts may motivate a user to ensure that such posts are consistently generated. 
       FIG. 4  depicts a flow diagram for example process for implementing a device usage message generator, arranged in accordance with at least some embodiments described herein. In some examples, the process in  FIG. 4  could be implemented using system  100  discussed above and could be used to generate one or more messages. An example process may include one or more operations, actions, or functions as illustrated by one or more of blocks S 2 , S 4 , S 6 , and/or S 8 , etc. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation. Blocks may be supplemented with additional blocks representing other operations, actions, or functions. The process in  FIG. 4  may be used by a device usage message generator that includes a device usage engine, such as device usage engine  104 , as described above. The device usage engine may be configured to be in communication with a processor and a memory. 
     Processing may begin at block S 2 , “Detect, by a power detector, power information from an electronic device.” At block S 2 , a power detector may detect power information from an electronic device. Detecting power information may include detecting at least one of data from the electronic device or an analog power signal of the electronic device. 
     Processing may continue from block S 2  to block S 4 , “Receive, by a processor, the power information from the power detector.” At block S 4 , a processor may receive the power information detected by the power detector. 
     Processing may continue from block S 4  to block S 6 , “Classify, by the processor, the power information to produce descriptive data.” At block S 6 , power information may be classified by the processor to produce descriptive data. The processor may be further configured to generate probabilistic data relating to an activity associated with usage of an electronic device, such as device  118 . The classification of the power information to produce descriptive data may be based on the probabilistic data. 
     Processing may continue from block S 6  to block S 8 , “Generate, by the processor, the message by applying one or more rules to the descriptive data.” At block S 8 , the processor may generate the message by applying one or more rules to the descriptive data, receive content related to the message from the content server, and output the content received from the content server. In some examples, the content may be an advertisement. The message may relate to an activity associated with usage of an electronic device. The processor may be further configured to send the message to a social network. 
       FIG. 5  illustrates an example computer program product  500  that can be utilized to implement a device usage message generator arranged in accordance with at least some embodiments described herein. Computer program product  500  may include a signal bearing medium  502 . Signal bearing medium  502  may include one or more instructions  504  that, in response to execution by, for example, a processor, may provide the functionality and features described above with respect to  FIGS. 1-4 . Thus, for example, referring to system  100 , message generator  102  may undertake one or more of the blocks shown in  FIG. 5  in response to instructions  504  conveyed to system  100  by signal bearing medium  502 . 
     In some implementations, signal bearing medium  502  may encompass a computer-readable medium  506 , such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, signal bearing medium  502  may encompass a recordable medium  508 , such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, signal bearing medium  502  may encompass a communications medium  510 , such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, computer program product  500  may be conveyed to one or more modules of the system  100  by an RF signal bearing medium  502 , where the signal bearing medium  502  is conveyed by a wireless communications medium  510  (e.g., a wireless communications medium conforming with the IEEE 802.11 standard). 
       FIG. 6  is a block diagram illustrating an example computing device  600  that is arranged to implement a device usage message generator, arranged in accordance with at least some embodiments described herein. In a very basic configuration  602 , computing device  600  typically includes one or more processors  604  and a system memory  606 . A memory bus  608  may be used for communicating between processor  604  and system memory  606 . 
     Depending on the desired configuration, processor  604  may be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Processor  604  may include one more levels of caching, such as a level one cache  610  and a level two cache  612 , a processor core  614 , and registers  616 . An example processor core  614  may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller  618  may also be used with processor  604 , or in some implementations memory controller  618  may be an internal part of processor  604 . 
     Depending on the desired configuration, system memory  606  may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. System memory  606  may include an operating system  620 , one or more applications  622 , and program data  624 . Application  622  may include a device usage message generator algorithm  626  that is arranged to perform the functions and operations as described herein including those described with respect to  FIGS. 1-5  in connection with system  100 . Program data  624  may include device usage message generator data  628  that may be useful to implement a device usage message generator as is described herein. In some embodiments, application  622  may be arranged to operate in cooperation with program data  624  and/or operating system  620  such that a device usage message generator may be provided. This described basic configuration  602  is illustrated in  FIG. 6  by those components within the inner dashed line. 
     Computing device  600  may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration  602  and any required devices and interfaces. For example, a bus/interface controller  630  may be used to facilitate communications between basic configuration  602  and one or more data storage devices  632  via a storage interface bus  634 . Data storage devices  632  may be removable storage devices  636 , non-removable storage devices  638 , or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDDs), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVDs) drives, solid state drives (SSDs), and tape drives to name a few. Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. 
     System memory  606 , removable storage devices  636  and non-removable storage devices  638  are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device  600 . Any such computer storage media may be part of computing device  600 . 
     Computing device  600  may also include an interface bus  640  for facilitating communication from various interface devices (e.g., output devices  642 , peripheral interfaces  644 , and communication devices  646 ) to basic configuration  602  via bus/interface controller  630 . Example output devices  642  include a graphics processing unit  648  and an audio processing unit  650 , which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports  652 . Example peripheral interfaces  644  include a serial interface controller  654  or a parallel interface controller  656 , which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports  658 . An example communication device  646  includes a network controller  660 , which may be arranged to facilitate communications with one or more other computing devices  662  over a network communication link via one or more communication ports  664 . 
     The network communication link may be one example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein may include both storage media and communication media. 
     Computing device  600  may be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions. Computing device  600  may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations. 
     The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that this disclosure is not limited to particular methods, reagents, compounds compositions or biological systems, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting. 
     With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity. 
     In general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). If a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” 
     For any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third and upper third, etc. As will also be understood by one skilled in the art all language such as “up to,” “at least,” “greater than,” “less than,” and the like include the number recited and refer to ranges which can be subsequently broken down into subranges as discussed above. Finally, a range includes each individual member. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth. 
     While various aspects and embodiments have been disclosed herein, other aspects and embodiments are possible. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.