Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
POSITIONING THROUGH MULTIPATH REFLECTION
Document Type and Number:
WIPO Patent Application WO/2019/126743
Kind Code:
A1
Abstract:
A positioning system and method includes a transmitter, a receiver, and a controller. The transmitter includes at least one energy source configured to emit an optical or quasi-optical electromagnetic signal as a channel communication. The receiver includes at least one detector element configured to receive the channel communication. The controller is connected to the receiver and configured to estimate a position of the transmitter within a space using a reference map of the space and one or more diffuse components of an impulse response of the channel communication.

Inventors:
BRANDT-PEARCE MAITE (US)
HOSSEINIANFAR HAMID (US)
NOSHAD MOHAMMAD (US)
Application Number:
PCT/US2018/067281
Publication Date:
June 27, 2019
Filing Date:
December 21, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV VIRGINIA PATENT FOUNDATION (US)
BRANDT PEARCE MAITE (US)
HOSSEINIANFAR HAMID (US)
NOSHAD MOHAMMAD (US)
International Classes:
H04B10/114; H04B10/116; H04B10/50
Foreign References:
US20130028612A12013-01-31
US20070019769A12007-01-25
US9712979B22017-07-18
US20130273935A12013-10-17
US20090186658A12009-07-23
US20070177680A12007-08-02
Other References:
JIN ET AL.: "Indoor Localization with Channel Impulse Response Based Fingerprint and Nonparametric Regression", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, vol. 9, no. 3, March 2010 (2010-03-01), XP011290385, Retrieved from the Internet [retrieved on 20190303]
VATANSEVER ET AL.: "Image-sourced fingerprinting for LED-based indoor tracking,", SYSTEMS AND COMPUTERS, 51ST ASILOMAR CONFERENCE ON SIGNALS, 1 November 2017 (2017-11-01), pages 903 - 907, XP033346154, Retrieved from the Internet [retrieved on 20190303]
Attorney, Agent or Firm:
PERDOK, Monique M. et al. (US)
Download PDF:
Claims:
THE CLAIMED INVENTION IS:

1. A positioning system comprising:

a transmitter comprising at least one energy source configured to emit an optical or quasi-optical electromagnetic signal as a channel communication;

a receiver comprising at least one detector element configured to receive the

channel communication; and

a controller connected to the receiver and configured to estimate a position of the transmitter within a space using a reference map of the space and one or more diffuse components of an impulse response of the channel communication.

2. The system of claim 1, wherein the diffuse component is a second power peak of the channel communication, and wherein the second power peak is a most significant component of the one or more diffuse components of the impulse response.

3. The system of claim 2, wherein the reference map is a set of predetermined locations within the space, and wherein the positioning system further comprises a database configured to store a reference impulse response or features thereof for each of the plurality of locations within the space.

4. The system of claim 3, wherein the reference impulse response or features thereof includes a reference second power peak and a reference line-of-sight peak power.

5. The system of claim 4, wherein the controller is configured to determine an observation vector that comprises a line-of-sight peak power and a second power peak of the channel communication, and wherein the controller is configured to estimate the position by using the observation vector to determine a closest one of the plurality of points of the plurality of locations within the space.

6. The system of claim 5, wherein the observation vector further comprises a time delay between the line-of-sight peak power and the second power peak of the

electromagnetic signal.

7. The system of claim 1, wherein the at least one energy source comprises a light emitting diode.

8. The system of claim 5, wherein the at least one detector element comprises at least one photodetector.

9. A method of estimating a location, the method comprising:

emitting, by a transmitter positioned within a space, an optical or quasi-optical electromagnetic signal as a channel communication;

receiving, by a detector, the channel communication;

determining, by a controller connected to the detector, one or more diffuse

components of an impulse response of the channel communication; and estimating, by the controller, the location of the transmitter within the space using the one or more diffuse components and a reference map.

10. The method of claim 9, wherein determining, by the controller connected to the detector, the one or more diffuse components comprises determining a second power peak of the channel communication, and wherein the second power peak is a most significant component of the one or more diffuse components of the impulse response.

11. The method of claim 10, wherein the reference map is a set of predetermined locations within the space, and wherein the method further comprises:

generating reference impulse responses or features thereof for each of the set of predetermined locations; and

storing the reference impulse responses or features thereof for each of the set of predetermined locations in a database.

12. The method of claim 11, wherein estimating, by the controller, the location of the transmitter comprises:

determining an observation vector using a line-of-sight peak power and the second power peak of the channel communication; and

determining a closest one of the set of predetermined locations using the

observation vector.

13. The method of claim 9, wherein emitting, by the transmitter, the electromagnetic signal comprises emitting electromagnetic signal using a light emitting diode of the transmitter.

14. The method of claim 13, wherein receiving, by the detector, the channel communication comprises receiving, by a photodetector, the electromagnetic signal.

15. A system comprising:

a user equipment device comprising a transmitter configured to emit an optical signal as a channel communication;

one or more photodetectors configured to receive the optical signal; and a controller connected to the one or more photodetectors and configured to

estimate a position of the user equipment device within an indoor space based on a reference map of the indoor space and one or more diffuse components of an impulse response of the channel communication.

16. The system of claim 15, wherein the reference map is a set of predetermined locations of the indoor space, and wherein the system further comprises a database configured to store a reference impulse response or features thereof for each of the set of predetermined locations.

17. The system of claim 16, wherein the controller is configured to estimate the position of the user equipment device by determining an observation vector comprising a line-of-sight peak power and a second power peak of the channel communication, and determine a closest one of the predetermined set of locations using the observation vector, and wherein the second power peak is a most significant component of the one or more diffuse components of the impulse response.

18. The system of claim 17, wherein the observation vector further comprises an additive Gaussian white noise for the channel communication.

19. The system of claim 15, wherein the transmitter comprises a pulse generator and a light-emitting diode. 20. The system of claim 15, wherein the one or more photodetectors each comprise an infrared photodetector.

Description:
POSITIONING THROUGH MULTIPATH REFLECTION

PRIORITY APPLICATION

This application claims priority to U.S. Provisional Patent Application Serial No. 62/609,371, filed December 22, 2017, which is incorporated by reference herein in its entirety.

STATEMENT OF GOVERNMENT INTEREST

This invention was made with government support under Grant No. 1521387, awarded by National Science Foundation. The government has certain rights in the invention.

TECHNICAL FIELD

This document pertains generally, but not by way of limitation, to positioning, and particularly but not by way of limitation to network-side positioning in optical

communication networks.

BACKGROUND

Visible light communication (VLC) systems are used to communicate data using optical energy, as compared to much longer wavelength radio-frequency energy, for example. One or more light sources can be controlled to modulate an optical signal to communicate data from one device to another. The receiving device can include one or more sensors configured to sense the optical signal and provide the sensed data to a circuit to recover the communicated data.

SUMMARY

The availability of wireless mobile devices (e.g.,“user equipment”) creates an opportunity for provisioning of location-based services (LBS). A quality of LBS may generally rely on accurate position and tracking of a target, such as user equipment, within an enclosed area. A global navigation satellite system (GNSS) may be suitable for use in outdoor locations, but may suffer from poor accuracy or may even be unusable within an enclosed area due to obstructions or diffusion. For example, Global Positioning System (GPS) signals do not provide accurate estimates in indoor areas.

The present inventors have recognized, among other things, that it can be desirable to determine the location of one or more user devices or other equipment using an optical communication network, such as within an enclosed area that is otherwise not well-served by other positioning or tracking approaches. In one example, a positioning system includes a transmitter, a receiver, and a controller. The transmitter includes at least one energy source configured to emit an optical or quasi-optical electromagnetic signal as a channel communication. The receiver includes at least one detector element configured to receive the channel communication. The controller is connected to the receiver and configured to estimate a position of the transmitter within a space using a reference map of the space and diffuse components of an impulse response of the channel communication.

In another example, a method of estimating a location includes emitting, by a transmitter positioned within a space, an optical or quasi-optical electromagnetic signal as a channel communication. The method also includes receiving, by a detector, the channel communication, determining, by a controller connected to the detector, one or more diffuse components of an impulse response of the channel communication, and estimating, by the controller, the location of the transmitter within the space using the one or more diffuse components and a reference map.

In another example, a system includes a user equipment device, one or more photodetectors, and a controller. The user equipment device includes a transmitter configured to emit an optical signal as a channel communication. The photodetectors are configured to receive the optical signal. The controller is connected to the photodetectors and configured to estimate a position of the user equipment device within an indoor space based on a reference map of the indoor space and one or more diffuse components of an impulse response of the channel communication. While various examples described herein are referred to as“visible” or“optical”, such techniques are applicable to examples involving electromagnetic communication at relatively short wavelengths such as millimeter-wavelength-range systems. While various examples described herein refer to positioning performed by the network-side of the communication system, the transmitters can also be part of the network-side of the communication system and the receivers can be part of the user-side of the communication system.

Each of these non-limiting examples or aspects can stand on its own, or can be combined in various permutations or combinations with one or more other examples or aspects. This overview is intended to provide an overview of subject matter of the present patent application. It is not intended to provide an exclusive or exhaustive explanation of the invention. The detailed description is included to provide further information about the present patent application.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document.

FIG. 1 is a diagram illustrating an indoor optical positioning system.

FIG. 2 is a chart illustrating example channel impulse responses for an optical positioning system for transmitters at different locations within an indoor space.

FIG. 3 A is a block diagram illustrating an example transmitter in an optical positioning system.

FIG. 3B is a block diagram illustrating an example receiver in an optical positioning system.

FIG. 4A is an example grid used for fingerprinting for an optical positioning system.

FIG. 4B is an example observation space for an optical positioning system.

FIG. 5 is a flowchart illustrating a method of performing indoor positioning using a network side of an optical network.

FIG. 6 is a block diagram illustrating an example of a machine upon which one or more embodiments may be implemented. DETAILED DESCRIPTION

A positioning system is disclosed herein that performs location determination for devices in an optical (e.g., visible or infra-red wavelength range) or other relatively-short- wavelength (e.g., millimeter-wavelength-range) communication system. In an example, the communication system includes an access point that has one or more photodetectors or other sensors positioned and configured to sense an optical communication from one or more devices (e.g., one or more user equipment devices such as mobile devices or other devices such as factory equipment, robots, and the like). The access point can include or can be coupled to one or more luminaires or other fixtures. The network-side of the communication system is configured to execute one or more positioning algorithms to estimate a position of one or more devices based at least in part on a channel impulse responses of the optical communications from the one or more devices. While described as performed by the network-side of the communication system, positioning using components of the channel impulse response can also be performed on the user-side.

Positioning has been accomplished at the user-side of the network using a received signal strength (RSS) at a user device, for example. The present inventors have recognized, among other things, that it is advantageous for the optical communication system to determine the position of user and other devices that connect to the network.

For example, it can be desirable to determine the location of all robotics devices within a factory or other indoor space. It can also be desirable for communications purposes, such as resource allocation and hand-off where the network monitors the number and position of the users or user equipment (UE). This can be accomplished by analyzing the multi- path signals of a received communication, which have been considered destructive in existing optical communication systems. A receiver (e.g., an access point of the communication system) can use the line-of-sight (LOS) peak power in conjunction with diffuse components of the impulse response, such as the second power peak (SPP), such as detected in the time-domain, to estimate a location. Fingerprinting, for example, can be used to compare the received signal components to a reference map to obtain an estimated location of a target within the indoor space.

FIG. 1 is a diagram illustrating a positioning system 100 located within an indoor area 102. The positioning system 100 includes network-side system 104 and a LIE device 106. The network-side system 104 includes photodetectors 108, access point 110, and a control and memory circuit 112. In the example illustrated in FIG. 1, the positioning system 100 can also include light sources so as to both receive communication from, and transmit communication to, the UE device 106. In other examples, the network side system 104 can include only the photodetectors 108.

The indoor area 102 can be a building or other structure within which it is desirable to locate one or more devices. For outdoor areas, a Global Navigation Satellite System (GNSS) can be used. GNSS signals, such as Global Positioning System (GPS) signals, do not allow accurate positioning in indoor areas due to obstructions and diffusion. In particular, GPS signals are subject to attenuation and losses in indoor environments because the signals poorly penetrate through buildings, walls, and other obstacles. In addition, these signals experience unpredictable reflections as they encounter such obstacles. Such attenuation and reflection can render GPS inaccurate for indoor positioning. Additionally, employing optical energy instead of radio frequency (RF) energy is desirable for applications where RF is forbidden, such as in hospitals, airplanes, and the military field, for example.

The UE device 106 includes a transmitter 114 configured to emit a signal to communicate with the access point 110. The UE device 106 can be any device configured to emit an electromagnetic signal in the visual, infrared, or other band (e.g., a quasi-optical band such as encompassing a millimeter-range of wavelengths), for example. The UE device 106 can be a manufacturing or navigating robot, a mobile device such as a tablet or phone, or any other mobile user device. The UE device 106 can also include one or more photodetectors for receiving downlink communication from the access point 110 and a control circuit, such as described below in FIG. 6, for interpreting communication from the access point 110.

The control and memory circuit 112 is connected to provide control for the access point 110 and interpret signals received by the photodetectors 108. For example, the control and memory circuit 112 can be configured to execute one or more algorithms to estimate a position of the UE device 106 within the indoor space 102. The control and memory circuit 112 can include one or more controller, processor, or other digital logic circuit, and one more volatile and/or non-volatile memories as described in further detail below with reference to FIG. 6. The access point 110 can exploit the multi-path signals of the uplink communication from the UE device 106 to estimate the position of the UE device 106. While illustrated as several photodetectors 108, positioning can be achieved by the network-side system 104 using a single photodetector 108. While illustrated as a single EE device 106, the positioning system 100 can be used to estimate positions of any number of EE devices 106 within the indoor area 102. While described as exploiting the multi -path signals of the uplink communication, the EE device 106 can also perform positioning by similarly exploiting multi-path signals of the downlink communication from the access point 110.

Fingerprinting can be used by the control and memory circuit 112 to estimate the position of the EE device 106. A fingerprint map, for example, can be generated that maps channel impulse responses for each grid point of a grid of the indoor area 102. For example, a two-dimensional grid of the indoor area 102 can be established and a database 116 of the channel impulse response for each point on the grid can be created. The database can be stored in a memory of the control and memory circuit 112, or in any other location, such as an external server, accessible by the access point 110. While illustrated as a grid with several grid points, the fingerprint map can be any set of predetermined locations of the indoor area 102.

In addition to acting as a positioning system, the positioning system 100 can be used for data communication, acting as a visible light communication (VLC) or other optical communication system, for example. Light sources, such as white LED fixtures, for example, can be fixed to a ceiling of the indoor area 102 and configured to optically transmit downlink data to the EE device 106, which can be received by the EE device 106 using one or more photodetectors.

FIG. 2 is a chart illustrating an impulse response in the time-domain for an uplink pulse from the EE device 106 at three different locations within the indoor space 102. In FIG. 2, the impulse response is shown for a photodetector 108 positioned at (x, y, z) coordinates of (150 cm, 150 cm, 300 cm) within the indoor space 102. In this example, the size of the indoor space l02 is 5 m x 5 m x 3 m. In other examples, the photodetector 108 can be positioned at any point within the indoor space 102, and the indoor space 102 can be of any size. The first signal shown in FIG. 2 is an impulse response for a pulse from a EE device 106 positioned at (x, y) coordinates of (150 cm, 150 cm), the second is for a pulse from a EE device 106 positioned at (150 cm, 250 cm), and the third is for a pulse from a UE device 106 positioned at (250 cm, 250 cm). The UE devices 106 are assumed to be at a common z-coordinate (height) within the indoor space, such as 85 cm. In other examples, the EGE devices 106 can be at different heights within the indoor space 102

As seen in FIG. 2, the impulse response for each EE device 106 includes a line-of- sight (LOS) peak power 200a-200c, and a second power peak (SPP) 202a-202c (seen in zoomed region 204). The zoomed region 204 illustrates the diffuse portion of the impulse response for each of the three EE devices 106. The SPP 202a-202c is the most significant component of the diffuse portion, and can be indicative of a one-bounce reflection of the uplink signal, for example. The time Dt is the delay between an LOS peak power 200a- 200c and a respective SPP 202a-202c. The LOS peak power 200a-200c, the SPP 202a- 202c, and the time delay Dt can each be used by the network-side 104 of the positioning system 100 to estimate the position of each EE device 106 within the indoor area 102, as described in detail below.

FIG. 3A is a block diagram illustrating an example transmitter 300 and FIG. 3B is a block diagram illustrating an example channel 301 and an example receiver 302 for the positioning system 100 according to a channel model. The transmitter 300 can be implemented on the EE device 106 or any other device for which the access point 110 of system 100 desires to know the position. The transmitter 300 includes a pulse generator 304 and a light source, illustrated as a light emitting diode (LED) 306. The optical channel 301 includes optical wireless channels 308a-308q, and the receiver 302 includes photodetectors 3 l0a-3 l0q, impulse responses 3 l2a-3 l2q, adders 3 l4a-3 l4q, and feature extractors 3 l6a-3 l6q. The components of the receiver 302 can be implemented by the photodetectors 108 and the access point 110. In another example, the transmitter 300 can be implemented as part of the access point 110, and the receiver 302 can be part of a EE device 106.

Using an example channel model, the pulse generator 304 sends an ideal delta function pulse train and the optical signal S(t) emitted by the LED 306 has a bandwidth (BW) limited by the LED impulse response, h LED (t). Each photodetector 3 l0a-3 lOq (representative of photodetectors 108) receives a response r(0, t) from a respective optical wireless channel 308a-308q. Each channel has channel characteristics h ch (0, t) that lead to the respective channel response r(0, t). Each photodetector 3 l0a-3 lOq also has a respective impulse response h PD (t). The system also includes noise, which can be modeled as additive white Gaussian noise (AWGN), indicated as n(t). Thus, the output for the qth receiver path v® (Q, t) can be written as:

where Q = (x,y) is the two-dimensional coordinates within the indoor space 102 of the UE device 106 to be estimated. The system bandwidth (BW) is defined as the bandwidth resulting from both h LED (t) and h PD (t).

In this example, the position of the UE device 106 is estimated using features captured from n(q, t). The feature extraction blocks 3 l6a-3 l6q can be implemented by control and memory circuit 112, for example, using hardware, software, or a combination thereof. n(q, t) can take the form of the impulse response shown in FIG. 2, for example.

In one example, fingerprinting is employed in which an observation vector is obtained for comparison to a reference map. The observation vector, for example, can include the received LOS peak power (PLOS), the SPP (PSPP), and the time delay between the LOS and SPP components (Dt). These three observations determined by the feature extraction blocks 3 l6a-3 l6q from n(q, t) can be expressed as:

ni(q) = P L os(0) + n 1

v 2 (0) = P SPP (0) + n 2 ,

v 3 (0) = Dt(q) + n 3 . (2) where n 1 and n 2 are independent Gaussian noises with variance s 2 , and n 3 is the time delay noise between the LOS peak power and the SPP which is modeled as a Gaussian noise with variance s\ and assumed independent from n 1 and n 2.

In an example, a 2-dimensional osbervation for each photodetector 108 using only the first and second peak RSS values, V(0) = [n^q), v 2 (0)] T can be used as the observation vector. In another example, a 3-dimensional observation for each photo detector 108 can be used as the observation vector that also includes the time delay Dt, V(0) = [n 1 (q),n 2 (q),n 3 (q)] T . The observation vector can then be used in the fingerprinting scheme, for example, to estimate the location of the respective UE device 106.

FIG. 4A illustrates an example grid used for fingerprinting and FIG. 4B illustrates an example observation space for the fingerprinting scheme. The indoor area 102 can be divided into a horizontal N x M grid, assuming a common z-coordinate position (i.e., height) for each UE device 106. FIG. 4A illustrates a portion of the overall grid for the indoor area 102. The database 116 can be created that stores the channel impulse response for each grid point. For example, the LOS peak power component PLOS, the SPP component PSPP, and the time delay Dt, can each be stored in the database for each grid point. Then, a vector S k (0) = k e {1, MN), can be created that corresponds to the kth point on the measurement grid. The database can be populated manually, or using a crowd-sourcing or other method of obtaining the data automatically. The database 116 can be stored in the control and memory circuit 112, or can be stored in a server or other location accessible by the control and memory circuit 112 over a network connection, for exmaple.

Maximum likelihood estimation can be employed for positioning, where the control and memory circuit 112 looks for the constellation point S k (§) having a minimum Euclidean distance to the observation vector V(0) in the observation plane. The observation plane is a mapping of the constellation points S (§) in a space defined using the impulse components, as seen in FIG. 4B. FIGS. 4A and 4B illustrate an example of mapping between an example region close to the observation vector V(0) in the observation plane (FIG. 4B) onto the room plane (FIG. 4A). The decision regions (e.g., Voronoi regions) are depicted based on the minimum Euclidean distance criterion. In the example illustrated in FIG. 4B, V(0) is located in the S; decision region, hence 0 = C; is the estimated location that is the center point of the i’th positioning cell. In another example, a k-nearest neighbor algorithm can be used to map the observations to the room plane.

Various errors can be introduced into the positioning algorithm. One type of error is the AWGN noise discussed above. Another type of noise is the quantization error, which is an offset error between a grid point and an actual position of a EE device 106. The quantization error is based on the size of each grid cell. Another source of error is a result of the impulse response features observed within an entire grid cell corresponding to a grid point are not equal to those of a corresponding detection constellation point.

FIG. 5 is a flowchart illustrating a method 500 of performing indoor positioning of one or more UE or other devices using an optical network. At step 502, a transmitter emits an electromagnetic signal (e.g., encompassing an optical wavelength range or quasi- optical wavelength range), such as an infrared pulse, as a communication with an optical access point. In an example, the transmitter can be one or more LEDs faced vertically upward to emit a signal toward one or more photodetectors positioned on a ceiling of an indoor space. In another example, the transmitter can be a white LED fixture on the ceiling configured to emit a signal for one or more photodetectors of a UE device. In an example, the transmitter can send a single narrow time pulse. In another example, to increase the SNR, or to represent a code to differentiate between UE devices, the transmitter can send a train of pulses, with enough time between pulses to avoid inter symbol interference. One or more photodetectors senses the communication from the transmitter.

At step 504, a circuit connected to the photodetector(s) is configured to determine components of the channel impulse response of the channel communication from the transmitter. These components can include PLOS, PSPP, and Dt. At step 506, a controller determines an observation vector using the features determined at step 504. Once the observation vector has been obtained, it can be mapped to the observation space (shown in FIG. 4B). At step 508, a minimum distance algorithm can be used to determine the closest constellation point to the mapped observation vector. At step 510, once the closest constellation point is determined, the grid point corresponding to the closest constellation point can be obtained. The grid point can be used as the estimated position of the UE device, or an interpolation algorithm can be used to minimize the quantization error.

FIG. 6 illustrates a block diagram of an example machine 600 upon which any one or more of the control and memory circuit 112, a control circuit of the transmitter or other UE device, or any other computing system discussed herein can be implemented.

Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms in the machine 600. Circuitry (e.g., processing circuitry) is a collection of circuits implemented in tangible entities of the machine 600 that include hardware (e.g., simple circuits, gates, logic, etc.). Circuitry membership may be flexible over time. Circuitries include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuitry may be immutably designed to carry out a specific operation (e.g., hardwired). In an example, the hardware of the circuitry may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a machine readable medium physically modified (e.g., magnetically, electrically, moveable placement of invariant massed particles, etc.) to encode instructions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuitry in hardware via the variable connections to carry out portions of the specific operation when in operation. Accordingly, in an example, the machine readable medium elements are part of the circuitry or are communicatively coupled to the other components of the circuitry when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuitry. For example, under operation, execution units may be used in a first circuit of a first circuitry at one point in time and reused by a second circuit in the first circuitry, or by a third circuit in a second circuitry at a different time. Additional examples of these components with respect to the machine 600 follow.

In alternative embodiments, the machine 600 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 600 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 600 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 600 may be a user equipment (UE) device such as a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, or a network side device such as a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster

configurations.

The machine (e.g., computer system) 600 may include a hardware processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 604, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.) 606, and mass storage 608 (e.g., hard drive, tape drive, flash storage, or other block devices) some or all of which may communicate with each other via an interlink (e.g., bus) 630. The machine 600 may further include a display unit 610, an alphanumeric input device 612 (e.g., a keyboard), and a user interface (UI) navigation device 614 (e.g., a mouse). The machine 600 may additionally include a storage device (e.g., drive unit) 608, a signal generation device 618 (e.g., a speaker), a network interface device 620, and one or more sensors 616, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine 600 may include an output controller 628, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).

Registers of the processor 602, the main memory 604, the static memory 606, or the mass storage 608 may be, or include, a machine readable medium 622 on which is stored one or more sets of data structures or instructions 624 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 624 may also reside, completely or at least partially, within any of registers of the processor 602, the main memory 604, the static memory 606, or the mass storage 608 during execution thereof by the machine 600. In an example, one or any combination of the hardware processor 602, the main memory 604, the static memory 606, or the mass storage 608 may constitute the machine readable media 622. While the machine readable medium 622 is illustrated as a single medium, the term "machine readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 624.

The term“machine readable medium” may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 600 and that cause the machine 600 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine readable medium examples may include solid- state memories, optical media, magnetic media, and signals (e.g., radio frequency signals, other photon based signals, sound signals, etc.). In an example, a non-transitory machine readable medium comprises a machine readable medium with a plurality of particles having invariant (e.g., rest) mass, and thus are compositions of matter. Accordingly, non- transitory machine-readable media are machine readable media that do not include transitory propagating signals. Specific examples of non-transitory machine readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable

Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD- ROM and DVD-ROM disks.

The instructions 624 may be further transmitted or received over a communications network 626 using a transmission medium via the network interface device 620 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a visible light communication (VLC) network, local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., IEEE 802.11 family of standards known as Wi-Fi, IEEE 802.16 family of standards known as WiMax®, IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks, among others). In an example, the network interface device 620 may include one or more light sources, photodetectors, physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 626. In an example, the network interface device 620 may include light sources and photodetectors to optically communicate. The term“transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 600, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. A transmission medium is a machine readable medium.

The above description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention can be practiced. These embodiments are also referred to herein as“examples.” Such examples can include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.

In this document, the terms“a” or“an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of“at least one” or“one or more.” In this document, the term“or” is used to refer to a nonexclusive or, such that“A or B” includes“A but not B,”“B but not A,” and“A and B,” unless otherwise indicated. In this document, the terms“including” and“in which” are used as the plain-English equivalents of the respective terms“comprising” and “wherein.” Also, in the following claims, the terms“including” and“comprising” are open-ended, that is, a system, device, article, composition, formulation, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms“first,” “second,” and“third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.

The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments can be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description as examples or embodiments, with each claim standing on its own as a separate embodiment, and it is contemplated that such embodiments can be combined with each other in various combinations or permutations. The scope of the invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.