Group management of devices methods, apparatuses and systems

Embodiments include apparatuses, methods, and systems including a wireless transceiver, a processor coupled to the wireless transceiver, and a group management module operated by the processor to control the wireless transceiver to receive information pertaining to services offered by a plurality of devices co-located with the apparatus at a location, transmit the received information pertaining to the services offered by the plurality of devices, and information pertaining to services offered by the apparatus; and detect a response to the transmission by a new device; and manage, as a master device, the received information pertaining to the services offered by the plurality of devices and the services offered by the apparatus to enable the new device to join and cooperate with the plurality of devices and the apparatus at the location. Other embodiments may also be described and claimed.

FIELD

Embodiments of the present invention relate generally to the technical field of wireless communication, and more particularly to group management of devices.

BACKGROUND

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in the present disclosure and are not admitted to be prior art by inclusion in this section.

As the Internet of Things (“IoT”) continues to grow, more and more “things” may need to be managed. As “things” or devices embedded with electronics, software, sensors, and connectivity technology change location, users may need to spend time and expense to manually reconfigure each item to become usable in the new environment. Furthermore, wireless traffic from too many devices can cause delays in discovery times. Oftentimes, the more devices in a single location or space, the poorer the user experience for discovery may be.

DETAILED DESCRIPTION

As used herein, the term “circuitry” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group), and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality. As used herein, “computer-implemented method” may refer to any method executed by one or more processors, a computer system having one or more processors, a mobile device such as a smartphone (which may include one or more processors), a tablet, a laptop computer, a set-top box, a gaming console, and so forth.

FIG. 1illustrates an example flow diagram100for managing a plurality of “things” or devices in a location, in accordance with various embodiments. In the diagram, the plurality of devices (“devices”) are located proximally to each other, e.g., in a similar room or area. In the embodiment shown, the devices may include a television or video device103, a first lamp or first lighting device105, a second lamp or second lighting device107, and a new audio device125. In the embodiment, each of the devices may include a group management module, although for simplicity, only group management module108of second lighting device107is shown in the Figure. In embodiments, the group management module of each device may assist the device to wirelessly communicate or advertise information pertaining to a service provided by the device to the other devices. Note that in embodiments, the devices may utilize any suitable wireless technology and/or device recognition technology in connection with the wireless communications. In some embodiments, ultrasonics may be used. As will be discussed further below, in embodiments, the devices may include a wireless transceiver that may transmit and receive any type of suitable radio signal (e.g., WiFi radio signals, Blue-tooth radio signal, Blue-tooth Low-Energy radio signals, etc.).

Accordingly, in the embodiment, beginning in a lower left-corner at a block109, video device103may advertise that it is a provider of video services or “Video” while at respective blocks111and113, first lighting device105and second lighting device107may each advertise that they are providers of light service or “Light.” After an initial period of the devices advertising their services, at a block115, one of the devices, e.g., video device103, may become a master device of the devices in the location. In embodiments, and as will be discussed in more detail below in connection withFIGS. 2 and 3, this determination may be made according to a feasibility score of video device103as compared to feasibility scores of respective first and second lighting devices105and107. In embodiments, feasibility scores may include a measure of device characteristics as relevant to performance of a master device. In embodiments, upon receiving a message from video device103that video device103is the master device (or in other embodiments, determining by lighting devices105and107themselves that video device103is the master device), each of lamps105and107may stop advertising their respective services at a block117. As shown at a block119, the master device may now advertise services available in the location on behalf of the other devices. Thus, in addition to advertising its own service, video device103(“master video device103”) may advertise services of lighting devices105and107.

Accordingly in embodiments, when new audio device125enters the location, rather than exchanging information with each device, it need only exchange information with master video device103. Thus, new audio device125may provide information about its own services to master video device103and receive information about services available from other devices in the location from master video device103. As a result, in embodiments, reduced wireless traffic may result in reduced radio congestion and noise, and thus a reduced discovery time for the devices. Note that in embodiments, when a new device enters a location, a current master device may determine whether it will remain the master device or if the new device is a more appropriate device to serve as master device. Thus, in the embodiment, master video device103may compare its own feasibility score with a feasibility score of new audio device125. In embodiments, after exchanging information, if master video device103has a higher feasibility score than that of new audio device125, master video device103may remain the master device. In the alternative, if new audio device125has a higher feasibility score than master video device103, then in embodiments, new audio device125may replace master video device103as the new master device.

Continuing to refer toFIG. 1, in embodiments, master video device103, may manage information received from a new device along with information from the other devices to join and cooperate with the other devices in accordance with a context of the location. In embodiments, this may allow the devices to self-adapt to the context of the location without requiring assistance of a user to configure the devices. In embodiments, the context of the location may include settings associated with desired properties of the location such as a particular level of light or sound. In embodiments, the master device may use information related to the context of the location and the services offered by the devices to determine settings for each of the plurality of devices. In embodiments, master video device103may provide settings for a particular volume level or other audio setting to new audio device125. In one embodiment, if the context of the location calls for1000lumens, first and second lighting devices105and107may each provide500lumens. Accordingly, in an embodiment, when a new lighting device enters the location, master video device103may instruct the new lighting device to provide333lumens and lighting devices105and107to each reduce their light settings to approximately333lumens. Thus in embodiments, devices may adapt to a context of the location based upon an instruction received from the master device.

Note that light settings are only one example of settings associated with a context of a location. In various embodiments, settings may be associated with any suitable service provided by any mobile or stationary device including the group management module in the location.

FIG. 2is a flow diagram that illustrates a master determination process, according to various embodiments. As shown, for the embodiments, the master determination process includes a calculation of a feasibility score for determining which device is to be a master device among a plurality of devices (“devices”). In embodiments, feasibility scores may be measured according to one or more characteristics including a type of power source, mobility, availability, device system specification, or number and type of network interfaces. A group management module of the master device and/or of one or more devices may implement the process with assistance of suitable software or hardware in accordance with embodiments of the invention. Accordingly, in the embodiment, beginning at a block205, the group management module may take an inventory of the devices in the location. Next, in the embodiment at a block207, the group management module may take an inventory of characteristics associated with the devices. In embodiments, the characteristics may be those characteristics that may be relevant to performing a function of a master device and provided by a particular device in the location. In embodiments, the group management module may receive information about the characteristics by exchanging metadata with the other devices during an initial advertising stage, such as for example, associated with blocks109,111, and113ofFIG. 1. According to embodiments, examples of such characteristics may include but are not limited to, whether a device runs on battery or AC power, whether the device is mobile or stationary, and whether the device is “always on/always available” (“AOAA”) or moves frequently into hibernation, sleep, or other power-saving states. Other characteristics may include details about system specifications, such as related to, capabilities of a central processing unit (CPU) or memory, input/output “I/O” devices, and/or a number of homogeneous or heterogeneous network interfaces of the device.

In embodiments, once the inventory of characteristics has been taken, the group management module may assign values to the characteristics at a next block209. To further illustrate,FIG. 3includes an example table300illustrating example characteristics, e.g., c1−c6, in a column303with corresponding example assigned values for a presence of a characteristic in column305and an absence of the characteristic in a column307, where 0≤cn≤1. Thus, for example, as can be seen in a row309, a device characteristic, c1, of a battery power source or “Battery Power” may be assigned a value of “0” while an “absence” of this characteristic (e.g., running on alternating current (AC) power) may be assigned a value of “1.” In another example, across a row311, mobility may be assigned a value of 0.7 and the absence of mobility (e.g., a stationary device) may be assigned a value of 0.3. Thus, for an example device that may be non-battery powered, non-mobile, non-AOAA, have an appropriate central processing unit (CPU), memory and network interface, example characteristic values of c1-c6are shown in Table300in bold.

In the embodiment, at a next block211, the group management module may generate weights corresponding to each characteristic according to how relevant the characteristic may be relative to the other characteristics associated with the devices in the location. In embodiments, weights, w1+w2+w3 . . . +wn (where n is the nth relevant characteristic associated with the devices in the room) may sum to a value of 1. In the embodiment, column309shows example generated weights, w1−w6, of example characteristics c1−c6. As illustrated, in the embodiment, characteristics such as battery power, CPU, and network interface (“Network”) may have higher weights due to power consumption and performance concerns. In embodiments, it may be preferred for an AC powered device to take over as a master device if a current master device is running only on battery power. Note that table300includes only example data for illustrative purposes as characteristics and their relative weights may vary widely, e.g., according to a characteristics, criteria, context of a location, and/or devices in the location.

Once weights have been generated, the group management module may compute feasibility scores at a next block213. In embodiments, if Fdrepresents a feasibility score of device d:
Fd=(100*sum(w1c1+w2c2+ . . . wncn)), where sum (w1+w2+ . . . wn=1)

Accordingly, in embodiments, a feasibility score of the example device may be 77. At a next block214, in the embodiment, the group management module may compare its feasibility score of 77 to received feasibility scores from the other devices in the plurality. In embodiments, the device with a higher feasibility score may be determined to be the master device at block216. In embodiments, if two devices have the same feasibility score, various criteria can be used as a determining criteria. For example, in one embodiment, a device with a higher valued universally unique device identifier (UUID) may be used as determining criteria. If, for example, the UUID is not available, a media access control (MAC) address of a currently active network interface may be used, in an embodiment. In embodiments, a table 325 provides examples of values associated with the example device that may be used for a first tiebreaker T1 and a second tiebreaker T2, if needed. Note that in embodiments, when considering the MAC address for a second tiebreaker T2, as a first three octets may be an organizationally unique identifier of a vender of a network interface, in embodiments, it may be preferable to use a last three bytes that may be used to form a 24-bit number. Thus, in table 325, at a location330, 09-85-15 may be used as a comparison value in embodiments. Note that the characteristics and weights of the example given here have been simplified for the sake of illustration and that various formulas for determining weights and values in accordance to the spirit of the invention may be implemented.

FIG. 4illustrates an example device that may be suitable for use to practice selected aspects of the present disclosure. In embodiments, device400may include a memory404, wireless transceiver410, and a group management module401, such as described in connection withFIGS. 1-3. In embodiments, group management module401may be operated by a processor402. In embodiments, wireless transceiver410may include a receiver and a transmitter. In some embodiments, wireless transceiver410may include a blue-tooth low energy transceiver. In embodiments, group management module401may control wireless transceiver410to receive information pertaining to services offered by a plurality of devices co-located with the device at a location, transmit the received information pertaining to the services offered by the plurality of devices, and information pertaining to services offered by the device; and detect a response to the transmission by a new device such as new audio device125ofFIG. 1. In embodiments, a “new” device may be a device new to the location or newly activated in the location. In embodiments, device400including group management module401may manage, as a master device, the received information pertaining to the services offered by the plurality of devices and the services offered by the device to enable the new device to join and cooperate with the plurality of devices and the device at the location. Note that in embodiments, device400may be any suitable wireless communication device that may benefit from self-adaptation to a location including a plurality of devices. In embodiments, device400may include computing devices such as smartphones, tablets, laptops, desktop computers, servers, as well as home entertainment devices including audio devices, game consoles (Xbox, Playstation, etc.), as well as consumer wearables and appliances, including lighting devices such as those described in connection withFIG. 1.

FIG. 5illustrates an example computer system that may be suitable as another device to practice selected aspects of the present disclosure. As shown, computer500may include one or more processors or processor cores502, and system memory504. 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, computer500may include mass storage devices506(such as diskette, hard drive, compact disc read only memory (CD-ROM) and so forth), input/output devices508(such as display, keyboard, cursor control and so forth) and communication interfaces510(such as network interface cards that may include or be integrated with wireless transceiver410, modems and so forth). The elements may be coupled to each other via system bus512, 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 memory504and mass storage devices506may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with a group management module as described in connection withFIGS. 1-4, and/or other functions, collectively referred to as computational logic522. The various elements may be implemented by assembler instructions supported by processor(s)502or high-level languages, such as, for example, C, that can be compiled into such instructions.

The number, capability and/or capacity of these elements506-510may vary, depending on whether computer500is used as a mobile device, a stationary device or a server. When use as mobile device, the capability and/or capacity of these elements506-510may vary, depending on whether the mobile device is a wearable device, a smartphone, a computing tablet, an ultrabook or a laptop. Otherwise, the constitutions of elements506-510are 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. 6illustrates 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 medium602may include a number of programming instructions604. Programming instructions604may be configured to enable a device, e.g., device400or computer500, in response to execution of the programming instructions, to perform, e.g., various operations associated with group management module401. For example, device400may perform various operations such as to receive information pertaining to services offered by each of the other ones of a plurality of devices, advertise information pertaining to the services offered by each of the plurality of devices including the device itself; and manage the received information pertaining to the services offered by each of the other ones of the plurality of devices to accept a new device to join and cooperate with the plurality of devices in accordance with a context of the location. In embodiments, the operations may also include determining whether the new device is to replace the device as the master device and on determination that the new device is to be the master device, transfer control of a future receiving, advertising, detecting, and managing functions to the new device.

Referring back toFIG. 5, for one embodiment, at least one of processors502may be packaged together with memory having computational logic522(in lieu of storing on memory504and storage506). For one embodiment, at least one of processors502may be packaged together with memory having computational logic522to form a System in Package (SiP). For one embodiment, at least one of processors502may be integrated on the same die with memory having computational logic522. For one embodiment, at least one of processors502may be packaged together with memory having computational logic522to form a System on Chip (SoC). For at least one embodiment, the SoC may be utilized in, e.g., but not limited to, a smartphone or computing tablet.

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

Example 1 is an apparatus for group management of a plurality of devices co-located with the apparatus at a location, comprising: a wireless transceiver; a processor coupled to the wireless transceiver; and a group management module operated by the processor to: control the wireless transceiver to receive information pertaining to services offered by the plurality of devices; transmit the received information pertaining to the services offered by the plurality of devices, and information pertaining to services offered by the apparatus; and detect a response to the transmission by a new device; and manage, as a master device, the received information pertaining to the services offered by the plurality of devices and the services offered by the apparatus to enable the new device to join and cooperate with the plurality of devices and the apparatus at the location.

Example 2 is the apparatus of Example 1, wherein the group management module is to determine how each of the plurality of devices can provide services in accordance with a context of the location.

Example 3 is the apparatus of Example 2, wherein the context of the location includes a light setting associated with the location.

Example 4 is the apparatus of any of Examples 1-3, wherein the group management module is to control the wireless transceiver to detect a response by a device new to the location or newly activated in the location.

Example 5 is the apparatus of Example 1, wherein the group management module is to use information related to a context of the location and the services offered by the plurality of devices to determine settings for each of the plurality of devices.

Example 6 is the apparatus of any one of Examples 1-5, wherein the group management module is to further identify whether the new device is to be a new master device, replacing the apparatus, based on a feasibility score of the apparatus and a feasibility score of the new device.

Example 7 is the apparatus of Example 6, wherein the feasibility scores are measured according to one or more characteristics including a type of power source, mobility, availability, device system specification, or number and type of network interfaces.

Example 8 is an apparatus, comprising: a wireless transceiver; a processor coupled to the wireless transceiver; and a group management module operated by the processor to compare characteristics of the apparatus to characteristics of a plurality of other apparatuses in a proximal location that includes the apparatus and the plurality of other apparatuses; and determine whether the apparatus is to serve as a master apparatus to communicate services provided by the apparatus and the plurality of other apparatuses, to the plurality of other apparatuses.

Example 9 is the apparatus of Example 8, wherein a comparison of characteristics of the apparatus to characteristics of the plurality of other apparatuses include a comparison of a feasibility score of the apparatus to feasibility scores of apparatuses in the plurality of other apparatuses.

Example 10 is the apparatus of Example 9, wherein the feasibility score of the master apparatus is a sum of weighted characteristics associated with the master apparatus and the feasibility scores of the apparatuses are individual sums of weighted characteristics associated with the apparatuses in the plurality of apparatuses.

Example 11 is the apparatus of Example 8, wherein the wireless transceiver includes a blue-tooth low energy transceiver.

Example 12 is the apparatus of any one of Examples 8-11, wherein the apparatus is one of a wearable consumer device, an appliance or fixture configured to provide light, a laptop, a tablet, a smartphone, a music player, and a television.

Example 13 is one or more computer-readable storage media (CRM) comprising instructions to cause a device, in response to execution of a processor of the device, to operate as a master device of a plurality of devices at a location, wherein to operate includes to: receive information pertaining to services offered by each of the other ones of the plurality of devices; advertise information pertaining to the services offered by each of the plurality of devices including the device itself; and manage the received information pertaining to the services offered by each of the other ones of the plurality of devices to accept a new device to join and cooperate with the plurality of devices in accordance with a context of the location.

Example 14 is the CRM of Example 13, wherein the new device is a new device to the location with the plurality of devices.

Example 15 is the CRM of Example 13, wherein to operate further comprises to detect a response to the advertising of the received information by the new device.

Example 16 is the CRM of Example 13, wherein to manage includes usage of the information related to a context of the location and the services offered by each of the plurality of devices to determine settings for each of the plurality of devices.

Example 17 is the CRM of any one of Examples 13-16, wherein to operate further comprises: to determine whether the new device is to replace the device as the master device; and on determination that the new device is to be the master device, transfer control of a future receive, advertise, detect, and manage function to the new device.

Example 18 is the CRM of Example 17, wherein to determine includes to compare a feasibility score of the master device with a feasibility score of the new device.

Example 19 is the CRM of Example 18, wherein to compare the feasibility scores includes to compare feasibility scores based upon a power source or mobility of the master device to a power source or mobility of the new device.

Example 20 is the CRM of Example 13, wherein to accept the new device to join and cooperate with the plurality of devices includes to provide configuration information to the new device.

Example 21 is a method to operate a device in a location with a plurality of devices, the method comprising: advertising, by the device, information pertaining to a service provided by the device; determining, by the device, whether the device is to be a master device among the plurality of devices; and on determining that the device is not the master device, deactivating, by the device, the advertising of the information pertaining to the service provided by the device, the advertising to be performed for device by the determined master device instead.

Example 22 is the method of Example 21, further comprising, configuring, by the device, itself to adapt to a context of the location based upon an instruction received from the master device.

Example 23 is the method of Example 22, wherein the configuring, by the device, of itself to adapt to the context of the location includes configuring, by the device, itself based upon properties defined in the context of the location with the plurality of devices.

Example 24 the method of Example 21, wherein determining includes comparing characteristics of the device to characteristics of each of other ones of the plurality of devices.

Example 25 is the method of Example 24, wherein comparing includes comparing one or more of power source, mobility, availability, and device system specification, or number and type of network interfaces.

Example 26 may be an apparatus for operating a device in a location with a plurality of devices, the apparatus comprising: means for advertising information pertaining to a service provided by the device; means for determining whether the device is to be a master device among the plurality of devices; and means for, on determining that the device is not the master device, deactivating the advertising of the information pertaining to the service provided by the device, the advertising to be performed for device by the determined master device instead.

Example 27 may example 26, further comprising means for configuring itself to adapt to a context of the location based upon an instruction received from the master device.

Example 28 may be example 27, wherein means for configuring includes means for configuring itself based upon properties defined in the context of the location with the plurality of devices.

Example 29 may be any one of examples 26-28, wherein means for determining includes means for comparing characteristics of the device to characteristics of each of other ones of the plurality of devices.

Example 30 may be example 29, wherein means for comparing includes means for comparing one or more of power source, mobility, availability, and device system specification, or number and type of network interfaces.

Although certain embodiments have been illustrated and described herein for purposes of description this application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that embodiments described herein be limited only by the claims.