Virtual sensor apparatus and method

Apparatuses, methods and storage medium associated with provision and receipt of virtual sensor service, are disclosed. In embodiments, an apparatus may comprise a virtual sensor server configured to provide virtual sensor service to one or more mobile client devices to virtualize one or more sensors of each of the one or more mobile client devices. Virtualization of the one or more sensors of each of the one or more mobile client devices may comprise provision of sensor data to each of the one or more mobile client devices, or reporting of sensor data to one or more recipients external to the one or more mobile client devices on behalf of respective one or ones of the one or more mobile client devices. The provision or the reporting supersedes the corresponding sensor on the respective one or more of the mobile client devices. Other embodiments may be described and/or claimed.

TECHNICAL FIELD

The present disclosure relates to the field of data processing. More particularly, the present disclosure relates to virtualizing sensors on mobile client devices.

BACKGROUND

In many settings (airplanes, corporate campuses, government buildings, entertainment/sport venues, or even homes), it is often required or at least desirable not to have a large number of employees, visitors, attendees or residents broadcasting their whereabouts, e.g., to a mapping service. In addition to the fact that the continuing broadcast may be a power problem for the mobile devices, the continuing broadcast may be introducing security and/or privacy issues, as the devices' movements could be profiled to determine patterns and/or information that is classified or confidential.

DETAILED DESCRIPTION

Apparatuses, methods and storage medium associated with provision and receipt of virtual sensor service, are disclosed. In embodiments, an apparatus may comprise a virtual sensor server configured to provide virtual sensor service to one or more mobile client devices to virtualize one or more sensors of each of the one or more mobile client devices. Virtualization of the one or more sensors of each of the one or more mobile client devices may comprise provision of sensor data to each of the one or more mobile client devices, or reporting of sensor data to one or more recipients external to the one or more mobile client devices on behalf of respective one or ones of the one or more mobile client devices. The provision or the reporting supersedes the corresponding sensors on the respective one or more of the mobile client devices.

In embodiments, a mobile client device may include one or more sensors, and an application or a geo-fencing function. The application or geo-fencing function may be configured to apply a configuration or operation policy to the one or more sensors, and receive virtual sensor service from a virtual sensor device, external to the mobile client device, to virtualize and supersede the one or more sensors of the mobile client device. The configuration or operation policy may be provided by e.g., the virtual sensor device, and may include, e.g., idling or powering off the superseded sensors.

Aspects of the disclosure are disclosed in the accompanying description. Alternate embodiments of the present disclosure and their equivalents may be devised without parting from the spirit or scope of the present disclosure. It should be noted that like elements disclosed below are indicated by like reference numbers in the drawings.

Referring now toFIG. 1, wherein an example operating environment incorporated with the teachings of the present disclosure, in accordance with various embodiments, is shown. As illustrated, in embodiments, operating environment100may include a virtual sensor device102and one or more mobile client devices104communicatively coupled with each other via one or more communication links106. Mobile client devices104may each include one or more sensors124, and one or more applications122configured to use sensor data output by sensors124. Examples of sensors124may include, but are not limited to, global positioning system (GPS) sensors configured to receive and provide location data for applications122(which may in turn report the location data to an external recipient, e.g., a map service, or a commerce website), or an accelerometer/gyroscope configured to output acceleration, motion and/or orientation data for applications122. Examples of applications122map include, but are not limited to, social media applications, map applications, games, and so forth. Communication links may include one or more wired or wireless communication links. Examples of wired communication links may include, but are not limited to Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, and so forth. Examples of wireless communication links may include, but are not limited to, 3G/4G/5G, WiFi, Bluetooth®, Near Field Communication (NFC), and so forth. Further, virtual sensor device102may be configured with corresponding sensors114and virtual sensor server116configured to provide a virtual sensor service to mobile client devices104to virtualize their sensors124. Virtualization of sensors124may include, but are not limited to, provision of corresponding sensor data (e.g., GPS data) to mobile client devices104, or reporting sensor data (e.g., location data) to external recipients on behalf of mobile client devices104; wherein the provision and/or reporting supersedes sensors124. In other words, while virtualized, sensors124may be placed into a reduced power operational state, a low power standby/idle state or a powered off/shut down state. These and other aspects will be described in more detail below.

Continuing to refer toFIG. 1, in embodiments, virtual sensor device102may be configured with sensors114and virtual sensor server116to provide virtual sensor service to mobile client devices104within a geo-fenced area132, which may be statically or dynamically defined. For examples, virtual sensor device102may be a corporate/business infrastructure server configured to provide virtual sensor service to mobile client devices104entering a geo-fenced corporate campus area, entertainment/sport venue, and so forth, that are statically pre-defined, a home appliance configured to provide virtual sensor service to mobile client devices104entering the geo-fenced residential area, or another mobile client device.

Among these embodiments, as illustrated, virtual sensor device102and mobile client devices104may further respectively include geo-fencing server118and geo-fencing functions128. Geo-fencing server118may be configured to broadcast notifications of geo-fenced area132, including e.g., its coordinates. Geo-fencing functions128, on the other hand, may be configured to monitor and detect for geo-fencing notifications, determine whether mobile client devise104are within geo-fenced area132, and on determination that mobile client devices104are within geo-fenced area132, report presence of mobile client devices104to geo-fencing server118. Geo-fencing server118may be additionally configured to notify virtual sensor server116of the reported presences.

Further, virtual sensor server116or geo-fencing server118(or both in cooperation with each other) may be configured to provide to mobile client devices104, one or more configuration and/or operational policies that govern the configuration and/or operation of sensors124, while mobile client devices104are within geo-fenced area132, and sensors124are being virtualized. The configuration and/or operational policies may be provided to mobile client devices104, e.g., via geo-fencing functions128. Examples of configuration and/or operational policies may include policies that call for the placement of sensors124in a reduced power scaled back operational state, a low power standby/idle state, or a powered off/shut down state, and so forth. Correspondingly, geo-fencing functions128may be configured to apply or cause to be applied the configuration and/or operational policies that govern the configuration and/or operation of sensors124, while mobile client devices104are within the geo-fenced area132. In embodiments, geo-fencing functions128may be disposed with the operating systems (not shown) of mobile client devices104.

In embodiments, virtual sensor server116may be further configured to provide auxiliary data to mobile client devices104, while providing virtual sensor service to mobile client devices104. Examples of auxiliary data may include, but are not limited to, more detailed maps or directions within a geo-fenced corporate campus area, or commercials/coupons relevant to a geo-fenced entertainment/sport venue.

Still referring toFIG. 1, and additionally toFIG. 2, in embodiments, virtual sensor device102, as described earlier, may itself, be a mobile client device104. Accordingly, such virtual sensor device102may further include applications122, and geo-fencing server118may be analogous to geo-fencing functions128. For these embodiments, as shown inFIG. 2, mobile client devices104a-104cof operating environment100b, more specifically, geo-fencing functions128a-128cof mobile client devices104a-104cmay jointly and dynamically negotiate the definition of geo-fenced area132b, that is the operational proximity of mobile client devices104a-104cwithin which sensors124a-124care to be virtualized. An example of such geo-fenced area132bmay include, but is not limited to, an area where a group of runners (equipped with mobile client devices104a-104c) will run together. Further, virtual sensor server116a-116cmay jointly negotiate with each other, on which one among virtual sensor server116a-116cis to provide virtual sensor service to the other mobile client devices104a-104c(superseding provision of sensor data to applications122a-122cby sensors124a-124c). In embodiments, the negotiation and selection of one of virtual sensor server116a-116cto provide virtual sensor service to the other mobile client devices104a-104cmay be based at least in part on sensitivity of sensors124a-124c, or battery life of mobile client devices104a-104c. While for ease of understanding, each mobile client device104a,104band104cis illustrated as having virtual sensor server116a,116band116ccorrespondingly, in practice, not all mobile client devices104a-104chave to have virtual sensor server116a-116c. The present disclosure may be practiced with only a subset of mobile client devices104a-104chaving virtual sensor server116a-116c. For these embodiments, negotiation and selection of the virtual sensor server116may be conducted among those mobile client devices104a-104cequipped with virtual sensor servers116a-116c.

Still referring toFIG. 1, and additionally toFIG. 3, in embodiments, virtual sensor device102d, in addition to itself being a mobile client device104d, may provide virtual sensor service to mobile client device104e, without reference to a geo-fenced area. For these embodiments, as described earlier, mobile client devices104d-104e, may be configured with applications122d-122eand sensors124d-124e. Additionally, mobile client device104dmay be configured with virtual sensor server116d. However, neither mobile client devices104d-104eneed to be configured with geo-fencing server/function118and128. For these embodiments, a user of one of applications122ethat uses sensor data of sensors124e, may request mobile client device104dto become virtual sensor device102dand provide virtualization of sensors124e, while mobile client devices104d-104eare in communication with each other. On receipt of the request (and optionally, on authentication of mobile client device104e), virtual sensor server116dmay provide sensor data of sensors124dto supersede and virtualize sensors124e. Further, as described earlier, virtual sensor server116dmay provide configuration or operational policies for sensors124e, while virtual sensor service is provided. For example, mobile client device104dmay have a more experienced user of a particular application, thus mobile client device104emay request mobile client device104dto become virtual sensor device102d, with virtual sensor server116doperates to provide sensor data of sensors124dto mobile client device102e, virtualizing and superseding sensors124e, while the two devices124d-124eare in near field communication proximity with each other. Mobile client device104dmight provide a configuration or operational policy to mobile client device104eto place sensors124ein a reduced power operational state, a low power standby/idle state or a powered off/shut down state. In embodiments, if mobile client device104eis also equipped with virtual sensor server (not shown), mobile client device104dand104emay reverse roles at a different point in time, that is, with mobile client device104eacting as a virtual sensor device, providing virtual sensor service to mobile client device104d, virtualizing and superseding sensors124d, instead. The role switching may be repeated any number of times, with one of mobile client devices104dand104eproviding virtual sensor service to the other.

Referring now toFIG. 4, wherein an example process for providing virtual sensor service, in accordance with various embodiments, is shown. As illustrated, in embodiments, process400for providing virtual sensor service may include operations performed at blocks402-416(some of which may be optional). The operations may be performed by, e.g., earlier described virtual sensor server116, and/or geo-fencing server118of virtual sensor device102ofFIG. 1to provide virtual sensor service to mobile client devices104.

At block402, definitions of a geo-fenced area may be broadcast. Next at block404, reporting of presence of mobile client devices within the geo-fenced area, in response to the broadcast, may be received. Then, at block406, configuration and/or operational policies to govern the sensors of the mobile client devices entered the geo-fenced area, may be provided to the mobile client devices. From block406, process400may proceed to block408.

At block408, virtual sensor service may be provided. As described earlier, virtual sensor service may include provision of sensor data to the mobile client devices, or reporting of sensors data to external recipients on behalf of the mobile client devices, virtualizing and superseding the sensors on the mobile client devices. From block408, process400may optionally proceed to block410or directly to end (skipping block410). If proceeded to block410, at block410, auxiliary data for the geo-fenced area may be provided to the mobile client devices entered the geo-fenced area. The operations of blocks408and410may be repeated for as long as necessary to provide the virtual sensor service to the mobile client devices, while the mobile client devices are within the geo-fenced area.

Continuing toFIG. 4, as noted earlier, process400may also start at block412instead. At block412, instead of being broadcast, the definition of a geo-fenced area may be negotiated among a number of mobile client devices. Next, at block414, selection of a virtual sensor device, as well as configuration and operational policies to govern the sensors may be negotiated among the mobile client devices. On completion of the negotiations, process400may proceed to block408, and proceed therefrom as earlier described.

Still referring toFIG. 4, as noted earlier, process400may also start at block416instead. At block416, a request to provide virtual sensor service may be received. On receipt (and optional authentication of the requesting device (not shown)), process400may proceed to block408, and proceed therefrom as earlier described, with the device accepting the request to act as a virtual sensor device providing virtual sensor service to the requesting device.

Referring now toFIG. 5, wherein an example process for receiving virtual sensor service, in accordance with various embodiments, is shown. As illustrated, in embodiments, process500for receiving virtual sensor service may include operations performed at blocks502-516(some of which may be optional). The operations may be performed by, e.g., application122and/or geo-fencing function128of mobile client device104ofFIG. 1to receive virtual sensor service.

At block502, broadcast definitions of a geo-fenced area may be received. On receipt, a determination may be made to detect whether the recipient is within the geo-fenced area. Next at block504, on determination that the recipient is within the geo-fenced area, presence of the recipient within the geo-fenced area may be reported to the broadcaster. Then, at block506, configuration and/or operational policies to govern the sensors of the recipient, while the recipient is within the geo-fenced area, may be received and applied. From block506, process500may proceed to block508.

At block508, virtual sensor service may be received (consumed). As described earlier, virtual sensor service may include receipt of sensor data from the virtual sensor device, or allowing sensors data of the virtual sensor device to be reported to external recipients on behalf of the receiver of the service, superseding the sensors on the receiver of the service. From block508, process500may optionally proceed to block510or directly to end (skipping block510). If proceeded to block510, at block510, auxiliary data for the geo-fenced area may be received by the receiver of the service, from the virtual sensor device. The operations at blocks508and510may be repeated a number of times, as long as necessary, to receive virtual sensor service.

Continuing toFIG. 5, as noted earlier, process500may also start at block512instead. At block512, the definition of a geo-fenced area may be negotiated among a number of potential service recipients. Next, at block514, selection of a virtual sensor device, as well as configuration and operational policies to govern the sensors of the service recipients may be negotiated among the potential service providers and/or recipients. On completion of the negotiations, process500may proceed to block508, and proceed therefrom as earlier described, with the selected device acting as the virtual sensor device providing virtual sensor services to the other devices.

Still referring toFIG. 5, as noted earlier, process500may also start at block516instead. At block516, a request for virtual sensor service may be sent by a potential service recipient to a virtual sensor device. On transmission (and optional authentication of the requesting device (not shown)), process500may proceed to block508, and proceed therefrom as earlier described, with the device making the request receiving virtual sensor service from the device accepting the request, acting as the virtual sensor device.

FIG. 6illustrates an example computer system that may be suitable for use as a client device or a server to practice selected aspects of the present disclosure. As shown, computer600may include one or more processors or processor cores602, and system memory604. For the purpose of this application, including the claims, the terms “processor” and “processor cores” may be considered synonymous, unless the context clearly requires otherwise. Additionally, computer600may include mass storage devices606(such as diskette, hard drive, compact disc read only memory (CD-ROM) and so forth), input/output devices608(such as display, keyboard, cursor control and so forth) and communication interfaces610(such as network interface cards, modems and so forth). The elements may be coupled to each other via system bus612, which may represent one or more buses. In the case of multiple buses, they may be bridged by one or more bus bridges (not shown).

Each of these elements may perform its conventional functions known in the art. In particular, system memory604and mass storage devices606may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with virtual sensor server116, and/or geo-fencing server/function118/128ofFIG. 1, earlier described, collectively referred to as computational logic622. The various elements may be implemented by assembler instructions supported by processor(s)602or high-level languages, such as, for example, C, that can be compiled into such instructions.

The number, capability and/or capacity of these elements610-612may vary, depending on whether computer600is used as a client device or a server, as well as whether computer600is stationary or mobile. For example, for a client device, the capability and/or capacity of these elements610-612may vary, depending on whether the client device is a stationary or mobile device, like a wearable computing device, a smartphone, a computing tablet, an ultrabook or a laptop. Otherwise, the constitutions of elements610-612are known, and accordingly will not be further described.

As will be appreciated by one skilled in the art, the present disclosure may be embodied as methods or computer program products. Accordingly, the present disclosure, in addition to being embodied in hardware as earlier described, may take the form of an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to as a “circuit,” “module” or “system.” Furthermore, the present disclosure may take the form of a computer program product embodied in any tangible or non-transitory medium of expression having computer-usable program code embodied in the medium.FIG. 7illustrates an example computer-readable non-transitory storage medium that may be suitable for use to store instructions that cause an apparatus, in response to execution of the instructions by the apparatus, to practice selected aspects of the present disclosure. As shown, non-transitory computer-readable storage medium702may include a number of programming instructions704. Programming instructions704may be configured to enable a device, e.g., computer600, in response to execution of the programming instructions, to perform, e.g., various operations associated with virtual sensor server116, and/or geo-fencing server/function118/128ofFIG. 1. In alternate embodiments, programming instructions704may be disposed on multiple computer-readable non-transitory storage media702instead. In alternate embodiments, programming instructions704may be disposed on computer-readable transitory storage media702, such as, signals.

Referring back toFIG. 6, for one embodiment, at least one of processors602may be packaged together with memory having computational logic622(in lieu of storing on memory604and storage606). For one embodiment, at least one of processors602may be packaged together with memory having computational logic622to form a System in Package (SiP). For one embodiment, at least one of processors602may be integrated on the same die with memory having computational logic622. For one embodiment, at least one of processors602may be packaged together with memory having computational logic622to form a System on Chip (SoC). For at least one embodiment, the SoC may be utilized in, e.g., but not limited to, a wearing computing device, a smartphone or computing tablet.

Thus various example embodiments of the present disclosure have been described including, but are not limited to:

Example 1 may be an apparatus for computing. The apparatus may comprise one or more processors, and a virtual sensor server. The virtual sensor server may be operated by the one or more processors, to provide virtual sensor service to one or more mobile client devices to virtualize one or more sensors of each of the one or more mobile client devices. In particular, the virtual sensor server may be operated to provide sensor data to each of the one or more mobile client devices, or to report sensor data to one or more recipients external to the one or more mobile client devices on behalf of respective one or ones of the one or more mobile client devices, superseding the corresponding sensor(s) on the respective one or more of the mobile client devices.

Example 2 may be example 1, wherein the one or more sensors of each of the one or more mobile client devices may comprise a global positioning system (GPS) sensor, and wherein the virtual sensor server may be operated to provide location data to each of the one or more mobile client devices, or to report current location to the one or more external recipients on behalf of each of the one or more mobile client devices, superseding the GPS sensor on the respective one or more of the mobile client devices.

Example 3 may be example 1 or 2, wherein the virtual sensor service may include provision to the one or more mobile client devices, one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 4 may be example 3, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices, while the one or more mobile client devices are in a geo-fenced area.

Example 5 may be example 4, further comprising a geo-fencing server to be operated by the one or more processors to provide geo-fencing service that includes cooperation with the virtual sensor server to provide to corresponding geo-fencing function(s) of the one or more mobile client devices, the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 6 may be example 5, wherein the geo-fencing server may be operated to cooperate with the virtual sensor server to provide the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices, in response to the geo-fencing server in receipt of reporting of presence within the geo-fenced area by the one or more mobile client devices.

Example 7 may be example 5 or 6, wherein the geo-fencing server may be operated to broadcast notifications of the geo-fenced area.

Example 8 may be any one of examples 4-7, wherein the virtual sensor server may be operated to further provide auxiliary information about the geo-fenced area.

Example 9 may be any one of examples 1-8, wherein the apparatus may comprise an infrastructure server or a home appliance.

Example 10 may be example 1, wherein the apparatus may be a mobile client device having the one or more sensors, and wherein the virtual sensor server may be operated to negotiate with the other one or more mobile client devices, on one or more configuration or operational policies that govern the one or more sensors of the mobile client devices, while the mobile client devices are in a geo-fenced area.

Example 11 may be example 10, wherein the virtual sensor server may be operated to negotiate the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 12 may be example 10, further comprising a geo-fencing function to be operated by the one or more processors to provide geo-fencing service, including cooperation with geo-fencing function(s) of the other one or more mobile client device to define the geo-fenced area.

Example 13 may be any one of examples 10-12, wherein the one or more sensors of each of the one or more mobile client devices may comprise an accelerometer sensor or a gyroscope sensor, and wherein the virtual sensor server is to provide accelerometer or gyroscope sensor data to each of the one or more mobile client devices, superseding the accelerometer or gyroscope sensor on the respective one or more of the mobile client devices.

Example 14 may be a mobile client device for computing, having one or more processors, one or more sensors; and an application or a geo-fencing function. The application or a geo-fencing function may be operated by the one or more processors, to apply a configuration or operation policy to the one or more sensors, and receive virtual sensor service from a virtual sensor device, external to the mobile client device, to virtualize and supersede the one or more sensors of the mobile client device.

Example 15 may be example 14, wherein the one or more sensors may comprise a global positioning system (GPS) sensor, and wherein the application or a geo-fencing function may be operated to receive location data from the virtual sensor device, or have current location of the mobile client device reported to one or more external recipients, by the virtual sensor device, on behalf of mobile client device, superseding the GPS sensor on the mobile client device.

Example 16 may be example 14 or 15, wherein the application or geo-fencing function may be operated to receive the one or more configuration or operational policies for the one or more sensors from the virtual sensor device.

Example 17 may be example 16, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors, while the mobile client device is in a geo-fenced area.

Example 18 may be example 17, wherein the geo-fencing function may be operated to report presence of the mobile client device within the geo-fenced area, to the virtual sensor device.

Example 19 may be example 17 or 18, wherein the geo-fencing function may be operated to receive notifications of the geo-fenced area broadcast by the virtual sensor device.

Example 20 may be any one of examples 17-19, wherein the geo-fencing function may be operated to further receive auxiliary information about the geo-fenced area from the virtual sensor device.

Example 21 may be example 14, wherein the virtual sensor device is another mobile client device having one or more sensors, and wherein the geo-fencing function is to negotiate the one or more configuration or operational policies for a geo-fenced area, with the other mobile client.

Example 22 may be example 21, wherein the geo-fencing function may be operated to negotiate the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 23 may be example 21, wherein the geo-fencing function may be operated to further cooperate with a corresponding geo-fencing function of the other mobile client device to define the geo-fenced area.

Example 24 may be any one of examples 21-23, wherein the one or more sensors may comprise an accelerometer sensor or a gyroscope sensor, and wherein the application or geo-fencing function may be operated to receive from the virtual sensor device, accelerometer or gyroscope sensor data, superseding the accelerometer or gyroscope sensor on the mobile client device.

Example 25 may be a method for computing. The method may comprise establishing, by a virtual sensor device, a service provider-service consumer relationship with a mobile client device for providing virtual sensor service to the mobile client device; and providing, by the virtual sensor device, virtual sensor service to the mobile client device to virtualize one or more sensors of the mobile client device. The providing may comprise providing sensor data to the mobile client device, or reporting sensor data to one or more recipients external to the mobile client device on behalf of the mobile client device, superseding the corresponding sensor(s) on the mobile client device.

Example 26 may be example 25, wherein the one or more sensors of each of the one or more mobile client devices may comprise a global positioning system (GPS) sensor, and wherein providing may comprise providing location data to each of the one or more mobile client devices, or reporting current location to the one or more external recipients on behalf of each of the one or more mobile client devices, superseding the GPS sensors on the respective one or more of the mobile client devices.

Example 27 may be example 26, wherein providing may comprise providing to the one or more mobile client devices, one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 28 may be example 27, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices, while the one or more mobile client devices are in a geo-fenced area.

Example 29 may be example 28, further comprising providing, by a geo-fencing function of the virtual sensor device, to the one or more mobile client devices, the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 30 may be example 29, wherein providing may comprise providing to the one or more mobile client devices, the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices, in response to receipt of reporting of presence within the geo-fenced area from the one or more mobile client devices.

Example 31 may be example 29 or 30, further comprising broadcasting, by the virtual sensor device, notifications of the geo-fenced area.

Example 32 may be any one of examples 28-31, further comprising providing, by the virtual sensor device, auxiliary information about the geo-fenced area.

Example 33 may be any one of the examples 25-32, wherein the establishing and providing may be performed by an infrastructure server or a home appliance.

Example 34 may be example 25, wherein the virtual sensor device may be a mobile client device having the one or more sensors, and wherein the method may further comprise negotiating among the mobile client devices, one or more configuration or operational policies that govern the one or more sensors of the mobile client devices, while the mobile client devices are in a geo-fenced area.

Example 35 may be example 34, wherein negotiating may comprise negotiating the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 36 may be example 34, wherein negotiating may comprise negotiating a definition of the geo-fenced area.

Example 37 may be any one of examples 34-36, wherein the one or more sensors of each of the one or more mobile client devices may comprise an accelerometer sensor or a gyroscope sensor, and providing may comprise providing accelerometer or gyroscope sensor data to each of the one or more mobile client devices, superseding the accelerometer or gyroscope sensor on the respective one or more of the mobile client devices.

Example 38 may be a method for computing, comprising: applying, by a mobile client device, a configuration or operation policy to operation of one or more sensors; and receiving, by the mobile client device, virtual sensor service from a virtual sensor device, external to the mobile client device, to virtualize and supersede the one or more sensors of the mobile client device.

Example 39 may be example 38, wherein the one or more sensors may comprise a global positioning system (GPS) sensor, and wherein receiving may comprise receiving location data from the virtual sensor device, or have current location of the mobile client device reported to one or more external recipients, by the virtual sensor device, on behalf of mobile client device, superseding the GPS sensor on the mobile client device.

Example 40 may be example 38, further comprising receiving, by the mobile client device, the one or more configuration or operational policies for the one or more sensors from the virtual sensor device.

Example 41 may be example 40, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors, while the mobile client device is in a geo-fenced area.

Example 42 may be example 41, further comprising reporting presence within the geo-fenced area by the mobile client device, to the virtual sensor device.

Example 43 may be example 41 or 42, further comprising receiving, by the mobile client device, notifications of the geo-fenced area broadcast by the virtual sensor device.

Example 44 may be any one of examples 41-43, further comprising receiving auxiliary information about the geo-fenced area from the virtual sensor device.

Example 45 may be example 28, wherein the virtual sensor device may be another mobile client device having one or more sensors, and wherein the method may further comprise negotiating, by the mobile client device, the one or more configuration or operational policies for a geo-fenced area, with the other mobile client.

Example 46 may be example 45, wherein negotiating may comprise negotiating the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 47 may be example 45, further comprising the mobile client devices jointly defining the geo-fenced area.

Example 48 may be any one of claims45-47, wherein the one or more sensors may comprise an accelerometer sensor or a gyroscope sensor, and wherein receiving may comprise receiving from the virtual sensor device, accelerometer or gyroscope sensor data, superseding the accelerometer or gyroscope sensor on the mobile client device.

Example 49 may be one or more computer-readable medium having stored therein a plurality of instructions to cause an apparatus, in response to execution of the instructions by the apparatus to operate a virtual sensor server to provide virtual sensor service to one or more mobile client devices to virtualize one or more sensors of each of the one or more mobile client devices. The virtual sensor server may provide sensor data to each of the one or more mobile client devices, or report sensor data to one or more recipients external to the one or more mobile client devices on behalf of respective one or ones of the one or more mobile client devices, superseding the corresponding sensor(s) on the respective one or more of the mobile client devices.

Example 50 may be example 49, wherein the one or more sensors of each of the one or more mobile client devices may comprise a global positioning system (GPS) sensor, and wherein the virtual sensor server may provide location data to each of the one or more mobile client devices, or report current location to the one or more external recipients on behalf of each of the one or more mobile client devices, superseding the GPS sensor on the respective one or more of the mobile client devices.

Example 51 may be example 49 or 50, wherein the virtual sensor service may include provision to the one or more mobile client devices, one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 52 may be example 51, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices, while the one or more mobile client devices are in a geo-fenced area.

Example 53 may be example 52, wherein the apparatus may be further caused to operate a geo-fencing server to provide geo-fencing service that includes cooperation with the virtual sensor server to provide to corresponding geo-fencing function(s) of the one or more mobile client devices, the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 54 may be example 53, wherein the geo-fencing server is to cooperate with the virtual sensor server to provide the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices, in response to the geo-fencing server in receipt of reporting of presence within the geo-fenced area by the one or more mobile client devices.

Example 55 may be example 53 or 54, wherein the geo-fencing server may broadcast notifications of the geo-fenced area.

Example 56 may be any one of examples 52-55, wherein the virtual sensor server may further provide auxiliary information about the geo-fenced area.

Example 57 may be any one of the examples 49-56, wherein the apparatus may comprise an infrastructure server or a home appliance.

Example 58 may be example 49, wherein the apparatus may be a mobile client device having the one or more sensors, and wherein the virtual sensor server may negotiate with the other one or more mobile client devices, on one or more configuration or operational policies that govern the one or more sensors of the mobile client devices, while the mobile client devices are in a geo-fenced area.

Example 59 may be example 58, wherein the virtual sensor server may negotiate the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 60 may be example 58 or 59, further comprising a geo-fencing function to provide geo-fencing service, including cooperation with geo-fencing function(s) of the other one or more mobile client device to define the geo-fenced area.

Example 61 may be any one of examples 58-60, wherein the one or more sensors of each of the one or more mobile client devices may comprise an accelerometer sensor or a gyroscope sensor, and wherein the virtual sensor server may provide accelerometer or gyroscope sensor data to each of the one or more mobile client devices, superseding the accelerometer or gyroscope sensor on the respective one or more of the mobile client devices.

Example 62 may be one or more computer-readable medium having stored therein a plurality of instructions to cause a mobile client device having one or more sensors, in response to execution of the instructions by the mobile client device to operate an application or a geo-fencing function, to apply a configuration or operation policy to the one or more sensors, and receive virtual sensor service from a virtual sensor device, external to the mobile client device, to virtualize and supersede the one or more sensors of the mobile client device.

Example 63 may be example 62, wherein the one or more sensors may comprise a global positioning system (GPS) sensor, and wherein the application or a geo-fencing function may receive location data from the virtual sensor device, or have current location of the mobile client device reported to one or more external recipients, by the virtual sensor device, on behalf of mobile client device, superseding the GPS sensor on the mobile client device.

Example 64 may be example 62 or 63, wherein the application or geo-fencing function may receive the one or more configuration or operational policies for the one or more sensors from the virtual sensor device.

Example 65 may be example 64, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors, while the mobile client device is in a geo-fenced area.

Example 66 may be example 65, wherein the geo-fencing function may further report presence of the mobile client device within the geo-fenced area, to the virtual sensor device.

Example 67 may be example 65 or 66, wherein the geo-fencing function may receive notifications of the geo-fenced area broadcast by the virtual sensor device.

Example 68 may be any one of examples 65-67, wherein the geo-fencing function may further receive auxiliary information about the geo-fenced area from the virtual sensor device.

Example 69 may be example 62, wherein the virtual sensor device may be another mobile client device having one or more sensors, and wherein the geo-fencing function may negotiate the one or more configuration or operational policies for a geo-fenced area, with the other mobile client.

Example 70 may be example 69, wherein the geo-fencing function may negotiate the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 70 may be example 69 or 70, wherein the geo-fencing function may further cooperate with a corresponding geo-fencing function of the other mobile client device to define the geo-fenced area.

Example 72 may be any one of examples 69-71, wherein the one or more sensors comprise an accelerometer sensor or a gyroscope sensor, and wherein the application or geo-fencing function is to receive from the virtual sensor device, accelerometer or gyroscope sensor data, superseding the accelerometer or gyroscope sensor on the mobile client device.

Example 73 may be an apparatus for computing, comprising: virtual sensor server means for providing virtual sensor service to one or more mobile client devices to virtualize one or more sensors of each of the one or more mobile client devices. The virtual sensor server means may comprise means for providing sensor data to each of the one or more mobile client devices, or means for reporting sensor data to one or more recipients external to the one or more mobile client devices on behalf of respective one or ones of the one or more mobile client devices, wherein the provision or the reporting supersedes the corresponding sensor(s) on the respective one or more of the mobile client devices.

Example 74 may be example 73, wherein the one or more sensors of each of the one or more mobile client devices may comprise a global positioning system (GPS) sensor, and wherein the virtual sensor server means may comprise means for providing location data to each of the one or more mobile client devices, or means for reporting current location to the one or more external recipients on behalf of each of the one or more mobile client devices, wherein the provision or the reporting supersedes the GPS sensor on the respective one or more of the mobile client devices.

Example 75 may be example 73 or 74, wherein the virtual sensor service may include provision to the one or more mobile client devices, one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 76 may be example 75, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors on the one or more mobile client devices, while the one or more mobile client devices are in a geo-fenced area.

Example 77 may be example 76, further comprising geo-fencing server means for providing geo-fencing service that includes cooperation with the virtual sensor server means to provide to corresponding geo-fencing function(s) of the one or more mobile client devices, the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices.

Example 78 may be example 77, wherein the geo-fencing server means may comprise means for cooperating with the virtual sensor server means to provide the one or more geo-fencing configuration or operational policies for the one or more sensors on the one or more mobile client devices, in response to the geo-fencing server means receiving reporting of presence within the geo-fenced area by the one or more mobile client devices.

Example 79 may be example 77 or 78, wherein the geo-fencing server means may comprise means for broadcasting notifications of the geo-fenced area.

Example 80 may be any one of examples 76-79, wherein the virtual sensor server means may comprise means for providing auxiliary information about the geo-fenced area.

Example 81 may be any one of the examples 73-80, wherein the apparatus may comprise an infrastructure server or a home appliance.

Example 82 may be example 73, wherein the apparatus may be a mobile client device having the one or more sensors, and wherein the virtual sensor server means may comprise means for negotiating with the other one or more mobile client devices, on one or more configuration or operational policies that govern the one or more sensors of the mobile client devices, while the mobile client devices are in a geo-fenced area.

Example 83 may be example 82, wherein the virtual sensor server means may comprise means for negotiating the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 84 may be example 82 or 83, further comprising geo-fencing function means for providing geo-fencing service, including cooperation with geo-fencing function(s) of the other one or more mobile client device to define the geo-fenced area.

Example 85 may be any one of examples 82-84, wherein the one or more sensors of each of the one or more mobile client devices comprise an accelerometer sensor or a gyroscope sensor, and wherein the virtual sensor server means may comprise means for providing accelerometer or gyroscope sensor data to each of the one or more mobile client devices, wherein the provision supersedes the accelerometer or gyroscope sensor on the respective one or more of the mobile client devices.

Example 86 may be a mobile client device for computing, comprising: an application or a geo-fencing function means for applying a configuration or operation policy to the one or more sensors. The application or a geo-fencing function means may includes means for receiving virtual sensor service from a virtual sensor device, external to the mobile client device, to virtualize and supersede the one or more sensors of the mobile client device.

Example 87 may be example 86, wherein the one or more sensors may comprise a global positioning system (GPS) sensor, and wherein the application or a geo-fencing function means may comprise means for receiving location data from the virtual sensor device, or have current location of the mobile client device reported to one or more external recipients, by the virtual sensor device, on behalf of mobile client device, wherein the provision or the reporting supersedes the GPS sensor on the mobile client device.

Example 88 may be example 86 or 87, wherein the application or geo-fencing function means may comprise means for receiving the one or more configuration or operational policies for the one or more sensors from the virtual sensor device.

Example 89 may be example 88, wherein the one or more configuration or operational policies may comprise one or more configuration or operational policies for the one or more sensors, while the mobile client device is in a geo-fenced area.

Example 90 may be example 89, wherein the geo-fencing function means may comprise means for reporting presence of the mobile client device within the geo-fenced area by the mobile client device, to the virtual sensor device.

Example 91 may be example 89 or 90, wherein the geo-fencing function means may comprise means for receiving notifications of the geo-fenced area broadcast by the virtual sensor device.

Example 92 may be example 91, wherein the geo-fencing function may comprise means for receiving auxiliary information about the geo-fenced area from the virtual sensor device.

Example 93 may be example 86, wherein the virtual sensor device may be another mobile client device having one or more sensors, and wherein the geo-fencing function means may comprise means for negotiating the one or more configuration or operational policies for a geo-fenced area, with the other mobile client.

Example 94 may be example 93, wherein the geo-fencing function means may comprise means for negotiating the one or more configuration or operational policies, based at least in part on sensitivity or range of the one or more sensors, or battery life of the mobile client devices.

Example 95 may be example 93 or 94, wherein the geo-fencing function means may comprise means for cooperating with a corresponding geo-fencing function of the other mobile client device to define the geo-fenced area.

Example 96 may be example any one of claims93-95, wherein the one or more sensors may comprise an accelerometer sensor or a gyroscope sensor, and wherein the application or geo-fencing function means may comprise means for receiving from the virtual sensor device, accelerometer or gyroscope sensor data, wherein the receipt supersedes the accelerometer or gyroscope sensor on the mobile client device.