Configuration of remote electronic devices by peer electronic devices in a network environment

By using predefined configuration parameters and encryption technology in a network environment, automated configuration and secure connection of multiple electronic devices are realized, and the difficulties of device configuration and secure connection in the prior art are solved.

JP7675765B2Active Publication Date: 2025-05-13HAND HELD PRODS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023112276
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-10-28
Filing Date
2023-07-07
Publication Date
2025-05-13
Estimated Expiration
2040-08-20

AI Technical Summary

Technical Problem

The prior art has limitations and challenges in configuring electronic devices, especially in achieving automated configuration and secure connections between devices in network environments.

Method used

Secure configuration settings transmission between devices is achieved by initializing a communication network on the first computing device and identifying and responding to connection requests from other devices based on predefined configuration parameters. The method includes encrypting configuration parameters, using a shared key for secure communication, and providing configuration parameters through a user interface to configure the device.

Benefits of technology

The ability to automatically configure multiple electronic devices in a network environment ensures the security and integrity of secure connections between devices and data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007675765000001
    Figure 0007675765000001
  • Figure 0007675765000002
    Figure 0007675765000002
  • Figure 0007675765000003
    Figure 0007675765000003
Patent Text Reader

Abstract

To provide, e.g., a method for configuring multiple electronic devices in a batch.SOLUTION: The method comprises initializing, by a first computing device, a communication network based on a pre-defined configuration parameter. The pre-defined configuration parameter is associated with a first instance of an application on the first computing device. Further, the method comprises: identifying, by the first computing device, initialization of a second instance of an application at a second computing device; and, in response to identifying the initialization of the second instance, sending, by the first computing device, configuration settings for the second computing device over a secured communication network, where the configuration settings comprise at least the pre-defined configuration parameter for configuring the second computing device.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE The exemplary embodiments described herein relate generally to systems, methods, and apparatus for configuring an electronic device in a network environment, and more particularly to configuration of an electronic device by peer electronic devices in a network environment. [Background technology]

[0002] Typically, electronic devices (such as, but not limited to, handheld devices, portable data terminals, barcode scanners, RFID readers, imagers, mobile devices, smartphones, laptops, etc.) are commissioned and / or configured before first use or sometimes periodically based on recent updates in configuration settings. Commissioning typically refers to the process by which an electronic device is initialized or customized to operate in a desired manner in a network environment. Configuration refers to the process by which configuration data may be downloaded to an electronic device, thereby enabling the device to function properly as desired. To achieve this goal, configuration data may be provided to such electronic devices to configure the electronic device depending on the purpose and use of the electronic device. Configuring electronic devices has associated limitations and challenges. Summary of the Invention

[0003] The following presents a simplified summary to provide a basic understanding of some aspects of the disclosed material handling system. This summary is not an extensive overview and is not intended to identify key or critical elements or to delineate the scope of such elements. Its purpose is to present some concepts of the described features in a simplified form as a prelude to the more detailed description that is presented later.

[0004] Various exemplary embodiments described herein relate to a method for configuring a plurality of electronic devices. The method may include initializing, by a first computing device of the plurality of electronic devices, a communication network based on predefined configuration parameters associated with a first instance of an application on the first computing device. The method may further include identifying, by the first computing device, an initialization of a second instance of the application on a second computing device. In this regard, the identification of the second instance of the application to be initialized may be based on a connection request received from the second computing device over the communication network. Furthermore, in response to identifying the initialization of the second instance of the application on the second computing device, the method may include transmitting, by the first computing device, a configuration setting for the second computing device over the secure communication network. In this regard, the configuration setting may include at least the predefined configuration parameters.

[0005] According to some example embodiments, the predefined configuration parameters may include at least one of a network name, a service set identifier (SSID), and a network security type.

[0006] In some example embodiments, the method may include encrypting, by the first computing device, the predefined configuration parameters with a first key shared among the plurality of electronic devices. Further, the method may include encrypting, by the first computing device, the predefined configuration parameters with a first key for establishing a connection with the first computing device over a communication network. The method may include scanning for incoming connection requests for authentication. The method may further include receiving, at the first computing device, the connection request from the second computing device. The method may further include authenticating, by the first computing device, the second computing device based on identification of the predefined configuration parameter in the connection request.

[0007] According to some example embodiments, the method may also include providing predefined configuration parameters via a user interface of the first computing device. Further, the method may include configuring the first computing device based on the predefined configuration parameters. In response to the configuration of the first computing device, the method may include initializing a communications network to communicate with the plurality of electronic devices. Further, in response to the establishment of the secure communications network between the first computing device and the second computing device, the method may include sharing, by the first computing device, configuration settings with the second computing device over the secure communications network.

[0008] In some exemplary embodiments, the method may include establishing a connection between the first computing device and the second computing device over a secure communications network. The connection may be established to exchange communications data including configuration settings of the second computing device. In this regard, in some exemplary embodiments, the secure communications network may be established based on exchanging a private key, a public key, and a session key between the first computing device and the second computing device.

[0009] According to some exemplary embodiments, establishing a secure communication network may be performed based on a method including receiving, at the first computing device, an encrypted temporary key from the second computing device. In this regard, the encrypted temporary key may correspond to a temporary key encrypted using a public key shared between the first computing device and the second computing device. Furthermore, the method may include decrypting the encrypted temporary key received at the first computing device using a private key of the first computing device. The method may further include encrypting, by the first computing device, a session key to generate an encrypted session key. The session key may be encrypted using the decrypted temporary key. Furthermore, the method may include transmitting, by the first computing device, the encrypted session key to the second computing device. The method may further include a configuration request received by the first computing device from the second computing device based on an identification of the session key in the configuration request. Furthermore, the method of establishing a secure communication network may include transmitting, by the first computing device, communication data including the configuration settings. In this regard, the communication data is encrypted using the session key.

[0010] In some exemplary embodiments, the configuration settings may correspond to at least one of volume control settings, network configuration settings, sound preference settings, and connection preference settings associated with the second computing device.

[0011] Some example embodiments described herein relate to a system for configuring a plurality of electronic devices. The system may include a memory that stores computer-executable instructions. In this regard, the computer-executable instructions when executed perform operations that may include initializing a communications network based on predefined configuration parameters associated with a first instance of an application on a first computing device. Additionally, the computer-executable instructions may perform operations that may include transmitting, over a secure communications network, configuration settings for a second computing device, which may be performed in response to identifying an initialization of a second instance of the application at a second computing device communicatively coupled to the first computing device. To this end, configuration settings as referred to herein may include at least predefined configuration parameters.

[0012] In some exemplary embodiments, initialization of a second instance of the application on the second computing device may be identified based on receiving a connection request from the second computing device over a communications network.

[0013] According to some example embodiments, the predefined configuration parameters may include at least one of a network name, a service set identifier (SSID), and a network security type.

[0014] According to some example embodiments, the processing unit may execute computer-executable instructions to perform operations that may include encrypting a predefined configuration parameter with a first key shared among a plurality of electronic devices. The plurality of electronic devices referred to herein may include a first computing device and a second computing device. Further, the computer-executable instructions may perform operations that may include scanning for incoming connection requests over a communication network and receiving a connection request for establishing a connection with the second computing device. Further, the computer-executable instructions may perform operations that may include authenticating the second computing device based on identification of the predefined configuration parameter in the connection request.

[0015] In some exemplary embodiments, a system may include a plurality of electronic devices, which may include a first computing device and a second computing device communicatively coupled via a communications network. In some exemplary embodiments, the first computing device may include a memory and a processing unit that executes computer-executable instructions for performing operations that may include establishing a connection between the first computing device and the second computing device over the secure communications network to exchange communications data including configuration settings of the second computing device.

[0016] In some example embodiments, the processing unit may execute computer-executable instructions to perform operations including establishing a secure communications network based on exchanging a private key, a public key, and a session key between a first computing device and a second computing device.

[0017] According to some example embodiments, the processing unit may execute computer-executable instructions to perform operations that may include providing predefined configuration parameters via a user interface. The operations may further include configuring the first computing device based on the predefined configuration parameters. Furthermore, in response to configuring the first computing device, the operations may include initializing a wireless access point by the first computing device to communicate with the plurality of electronic devices over the communications network. Furthermore, in some examples, the operations may include sharing configuration settings of the second computing device over the secure communications network in response to establishing the secure communications network between the first computing device and the second computing device.

[0018] According to some example embodiments described herein, the processing unit may execute computer-executable instructions to perform operations that may include receiving, at the first computing device, an encrypted temporary key from the second computing device. In this regard, the encrypted temporary key corresponds to a temporary key encrypted using a public key shared between the first computing device and the second computing device. Furthermore, the processing unit may execute computer-executable instructions to perform operations that may include decrypting, at the first computing device, the encrypted temporary key received at the first computing device using a private key of the first computing device. The operations may further include encrypting, by the first computing device, a session key using the encrypted temporary key to generate an encrypted session key. Furthermore, the operations may include transmitting, by the first computing device, the encrypted session key to the second computing device, and verifying, by the first computing device, the configuration request received from the second computing device based on an identification of the session key in the configuration request. In some examples, the operations may further include transmitting, by the first computing device, communication data including the configuration settings. In this regard, the communication data may be encrypted using the session key.

[0019] In some exemplary embodiments, the configuration settings may correspond to at least one of volume control settings, network configuration settings, sound preference settings, and connection preference settings associated with the second computing device.

[0020] Some example embodiments described herein relate to a non-transitory computer-readable medium storing computer-executable instructions. In response to execution by a processor, the computer-executable instructions may perform operations that may include initializing, by a first computing device, a wireless access point based on predefined configuration parameters associated with a first instance of an application on the first computing device. Further, the operations may include identifying, by the first computing device, an initialization of a second instance of the application on the second computing device based on a connection request received from the second computing device to connect with the wireless access point. Further, the operations may include transmitting, by the first computing device, a configuration setting of the second computing device over a secure communications network in response to identifying the initialization of the second instance of the application on the second computing device.

[0021] According to some example embodiments, the computer-executable instructions, responsive to execution by a processor, may perform operations that may further include encrypting the predefined configuration parameters with a first key shared among the plurality of electronic devices. The operations may further include scanning for an incoming connection request from an electronic device of the plurality of electronic devices to establish a connection with the wireless access point. Additionally, the operations may include authenticating the electronic device based on identification of the predefined configuration parameters in the connection request.

[0022] In some exemplary embodiments, the predefined configuration parameters may include at least one of a network name, a service set identifier (SSID), and a network security type associated with the wireless access point. Further, in some exemplary embodiments, the configuration settings may correspond to at least one of a volume control setting, a network configuration setting, a sound preference setting, and a connection preference setting associated with the second computing device.

[0023] The above summary has been provided solely for the purpose of summarizing some example embodiments in order to provide a basic understanding of some aspects of the present disclosure. It will be understood that the following are illustrative examples and should not be construed to narrow the scope or spirit of the present disclosure in any way. It will be understood that the scope of the present disclosure encompasses many potential embodiments in addition to those summarized herein, some of which are further described below. [Brief description of the drawings]

[0024] The description of the illustrated embodiments may be read in conjunction with the accompanying drawings. It will be understood that for simplicity and clarity of illustration, elements shown in the drawings have not necessarily been drawn to scale. For example, dimensions of some of the elements have been exaggerated relative to other elements. Embodiments incorporating the teachings of the present disclosure are illustrated and described in connection with the figures presented herein.

[0025] [Figure 1] 1 illustrates an example system comprising a plurality of electronic devices, including a computing device, configured in accordance with certain example embodiments described herein.

[0026] [Diagram 2] 1 shows an exemplary flowchart depicting a method for configuring a computing device according to certain exemplary embodiments described herein.

[0027] [Diagram 3] 1 shows an exemplary flowchart depicting a method of configuring a first computing device to initiate a communications network for communicating with a plurality of electronic devices trusted by the first computing device, according to certain exemplary embodiments described herein.

[0028] [Figure 4] 1 shows an exemplary flowchart depicting a method for authenticating a second computing device by a first computing device to use a communication network initialized by the first computing device, according to certain exemplary embodiments described herein.

[0029] [Diagram 5] 1 shows an exemplary flowchart depicting a method of secure key exchange between a first computing device and a second computing device according to certain exemplary embodiments described herein.

[0030] [Figure 6] FIG. 1 illustrates an example message flow diagram depicting communication between a master device and a client device of a plurality of electronic devices for configuration of the client device according to certain example embodiments described herein.

[0031] [Figure 7] 1 illustrates an example scenario depicting communication between a first computing device and remaining devices of a plurality of electronic devices to share configuration settings over a secure communications network, according to certain example embodiments described herein.

[0032] [Figure 8]FIG. 1 illustrates another example scenario depicting the sharing of configuration settings from a first computing device to the remaining electronic devices of a plurality of electronic devices and the configuration being set by the remaining electronic devices of the plurality of electronic devices, according to certain example embodiments described herein.

[0033] [Figure 9] 1 shows a schematic diagram of an example electronic device of a plurality of electronic devices according to certain example embodiments described herein.

[0034] [Figure 10] 1 shows a schematic diagram of an exemplary computing device in accordance with certain exemplary embodiments described herein.

[0035] [Figure 11] 1A-1C show example diagrams of user interfaces of various instances of applications used to configure multiple electronic devices, according to certain example embodiments described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] Some embodiments of the present disclosure will now be described in more detail below with reference to the accompanying drawings, which illustrate some, but not all, embodiments of the present disclosure. Indeed, the present disclosure may be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will satisfy applicable legal requirements. The terms "or" and "optionally" are used herein in both the alternative and conjunctive sense, unless otherwise noted. The terms "illustrated" and "exemplary" are used as examples without indication of quality level. Like numbers refer to like elements throughout.

[0037] The components shown in the drawings represent components that may or may not be present in various embodiments of the disclosure described herein, and thus embodiments may include fewer or more components than shown in the drawings without departing from the scope of the disclosure.

[0038] Hereinafter, the terms "computing device" or "client device" or "electronic device", used interchangeably, refer to any or all of the following: programmable logic controllers (PLCs), programmable automation controllers (PACs), industrial computers, desktop computers, personal data assistants (PDAs), laptop computers, tablet computers, smartbooks, palmtop computers, personal computers, barcode readers, scanners, display readers, imagers, radio frequency identification (RFID readers or interrogators), vehicle mounted computers, wearable barcode scanners, wearable display readers, point of sale (POS) terminals, headset devices, and similar electronic devices having at least a processor configured to perform various operations described herein.

[0039] In some exemplary embodiments, a computing device may refer to an electronic device that has more processing power and data storage capabilities as compared to an electronic device. In this regard, in some exemplary embodiments, an electronic device may correspond to an electronic device that may operate with lower power and fewer computational and data storage resources.

[0040] Various embodiments are described herein using the terms "computing platform" or "master device," which are used interchangeably for brevity. The term "computing platform" may be used herein to refer to any computing device or distributed network of computing devices that can function as a server, such as a master exchange server, a web server, a mail server, a document server, or any other type of server. A computing platform may be a dedicated computing device or a computing device that includes a server module (e.g., running an application that can cause the computing device to operate as a server). A server module (e.g., a server application) may be a full-featured server module or an optical or secondary server module (e.g., an optical or secondary server application) configured to provide synchronization services between dynamic databases on a computing device. An optical server or secondary server may be implemented on a computing device, such as a smartphone, thereby providing the scope of functionality necessary to provide the functionality described herein. It may also be a streamlined version of server-type functionality that may enable it to function as an Internet server (e.g., a corporate email server) only in a limited environment.

[0041] In some exemplary embodiments, the computing platform may correspond to any of an industrial computer, a cloud computer based platform, an external computer, a standalone computing device, etc. In some exemplary embodiments, the master device or computing platform may also refer to any of the electronic devices as described herein.

[0042] The term "access point" refers to a gateway device in a network of electronic devices that can communicate directly with one or more electronic devices and can also communicate (either directly or indirectly via a communication network such as the Internet) with a network establishment service (e.g., an Internet service provider). A network establishment service may refer to a server system that can manage the placement of one or more electronic devices throughout a physical environment. A network establishment service may be a distributed system in which operations are performed by utilizing computing resources that are placed over a network and / or a cloud-based platform or service, such as software-based services (SaaS), infrastructure-based services (IaaS), or platform-based services (PaaS), etc. According to some exemplary embodiments described herein, any electronic device may operate as an access point having the capabilities described herein.

[0043] Typically, to configure an electronic device, configuration data may be provided to the electronic device by an administrator (e.g., a server or a remote device). For example, in some cases, an electronic device may be configured by taking the electronic device to a service or support center and manually performing the configuration. To this end, manually configuring the electronic device may involve physically connecting a master device (e.g., a laptop computer or a PDA) to the electronic device and uploading the configuration data from the master device to the electronic device. However, this may be difficult and undesirable since it requires an easily accessible connection interface (such as a serial port, a USB port, or a parallel port). Furthermore, it requires that the latest or desired version of the configuration data is available at the master device at a given time, and typically also requires some degree of technical expertise to implement.

[0044] Alternatively, in some cases, the configuration data may be provided to the electronic device by a master device (e.g., a remote device or a server) over a communications network. In such cases, the electronic device may self-configure when the electronic device receives the configuration data from the remote device. However, providing configuration data for configuring an electronic device over a communications network presents practical difficulties, such as, for example, a malfunction or failure at the remote device, unavailability of the remote device, or network bandwidth issues.

[0045] Various exemplary embodiments described herein relate to a method for configuring a plurality of electronic devices using a computing device among the plurality of electronic devices. Stated differently, according to the exemplary embodiments described herein, a first electronic device of a group of a plurality of electronic devices may be configured first, which may trigger the configuration of the remaining electronic devices in a network environment. In this regard, a first computing device (such as, but not limited to, a first industrial device) of the plurality of electronic devices may be configured to communicate with a communication network (such as, but not limited to, a wireless access point or wireless host). In this regard, the remaining electronic devices (e.g., other industrial devices) of the plurality of electronic devices may communicate with the first computing device using the communication network. In some examples, the first computing device may initialize the communication network based on at least configuration parameters (e.g., a network name, a secure service set identifier (SSID), and / or a network security type (e.g., WPA2 PSK). The configuration parameters may be encrypted and made known to the remaining electronic devices. To this end, in some example embodiments, the communication network may be initialized based on the initiation of a first instance of an application (e.g., a mobile application) on the first computing device. Also, the predefined configuration parameters may be associated with the first instance of the application on the first computing device.

[0046] Further, in some exemplary embodiments, the first computing device may identify the initialization of a second instance of the application on the second computing device. In other words, the first computing device may identify that a second instance of the same application (which may have been previously executed on the first computing device) is initialized on the second computing device. In this regard, in response to the identification of the second instance of the application on the second computing device, the first computing device may transmit the configuration settings of the second computing device to the second computing device via the secure communication network. According to some exemplary embodiments described herein, the secure communication network is established between the first computing device and the second computing device using a secure key exchange process. More details will be provided later in this description.

[0047] Through implementation of various exemplary embodiments described herein, the multiple electronic devices may be configured and commissioned at any one time in several increments. The electronic devices may be configured using various instances of the same application that may be executed on each of the multiple electronic devices 102-10N. To this end, according to various exemplary embodiments described herein, a first instance of the application may be started on a first computing device (e.g., upon initial boot or manually based on user input) to configure the first computing device. Once the first computing device is configured, the remaining electronic devices may automatically configure or self-configure based on detection of information from the first instance of the application executing on the first computing device of (a) the initialization of various instances of the same application starting on the remaining devices, and (b) the initialization of second and subsequent instances of the same application on the other devices. In this regard, in some examples, the various instances of the same application may be self-initialized upon initial boot of the remaining electronic devices of the multiple electronic devices 102-10N, respectively.

[0048] FIG. 1 illustrates an example system 100 comprising a plurality of electronic devices (102, 104...10N) that may be in a network environment according to some example embodiments described herein. The plurality of electronic devices 102-10N may include a computing device 102 that may be configured according to some example embodiments described herein, for example, for first-time use or based on periodic changes in configuration settings. According to various example embodiments, upon configuration, the computing device 102 may act as a master device for sharing configuration settings to configure the remaining devices of the plurality of electronic devices 102-10N. According to some example embodiments, the network environment referred to herein may include a plurality of electronic devices 102-10N that may be communicatively coupled via a communication network 103. 10N peer-to-peer (P2P) network. To this end, the plurality of electronic devices 102-10N in the network environment may correspond to devices that may be commissioned and / or configured to perform a particular functionality in a work environment, such as an industrial environment. For example, in some embodiments, the plurality of electronic devices 102-10N may correspond to industrial devices, such as handheld devices, display scanners, RFID readers, PDAs, etc., that may be used by workers working in an industrial environment, such as, but not limited to, a warehouse, manufacturing plant, or distribution center.

[0049] As shown, one or more of the plurality of electronic devices 102-10N may be communicatively coupled to the remaining electronic devices of the plurality of electronic devices 102-10N via a communications network 103. The communications network 103, in some exemplary embodiments, may correspond to the medium through which content and messages may flow between various electronic devices (e.g., computing device 102 and / or the plurality of electronic devices 102-10N) within the system 100 or network environment.

[0050] In some exemplary embodiments, the communication network 103 may include, but is not limited to, a Wireless Fidelity (Wi-Fi) network, Piconet, a personal area network (PAN), Zigbee, and Scatternet. In some examples, the communication network 103 may correspond to a short-range wireless network in which the electronic devices 102-10N may communicate with each other using one or more communication protocols, such as, but not limited to, Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), Zigbee, and Z-Wave. In some examples, the communication network 103 may correspond to a network in which the electronic devices 102-10N may communicate with each other using various other wired and wireless communication protocols, such as Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), and 2G, 3G, or 4G communication protocols. In some examples, the communication network 103 may correspond to a network in which the electronic devices 102-10N may communicate with each other using various other wired and wireless communication protocols, such as, but not limited to, LORA, Cellular (NB IoT, LTE-M, Leaky Feeder It may correspond to any communication network such as IEEE 802.11b, IEEE 802.11c, IEEE 802.11b ...

[0051] According to various exemplary embodiments described herein, any electronic device of the plurality of electronic devices 102-10N (such as, but not limited to, the computing device 102) may initialize the communications network 103 over which one or more of the plurality of electronic devices 102-10N may communicate with the computing device 102. In some exemplary embodiments, the communications network 103 may be initialized by the first computing device 102-1. For example, in some examples, an instance of a mobile application or system process or service on the first computing device may facilitate the initialization or configuration of the communications network 103 upon booting the first computing device, or after a system reset, or after a periodic system update.

[0052] Alternatively and / or additionally, in some exemplary embodiments, the computing device 102 may initialize the communication network 103 based on an event, such as, for example, but not limited to, a trigger, such as a user input or the scanning of some configuration indicator. In this regard, in some examples, a user may provide an input instructing the computing device 102 to act as a master device, thereby initializing the communication network 103. To this end, according to some examples, an electronic device of the plurality of electronic devices 102-10N initializing the communication network 103 may select an access point (e.g., a Wi-Fi access point or a Wi-Fi hotspot) to which the remaining electronic devices of the plurality of electronic devices may establish a connection. )

[0053] According to some exemplary embodiments, any of one or more of the plurality of electronic devices 102-10N may trigger configuration of the remaining electronic devices of the plurality of electronic devices 102-10N that are communicatively coupled to one another via the communication network 103. In this regard, in some exemplary embodiments, the computing device 102 may act as a master device and share configuration settings to configure the remaining electronic devices of the plurality of electronic devices 102-10N. To this end, according to some exemplary embodiments described herein, the configuration settings may be shared using a secure communication network 105 (other than the communication network 103), which may be configured to ensure confidentiality and maintain the integrity of the configuration settings shared via the secure communication network 105. In some exemplary embodiments, the secure communications network 105 may correspond to the communications network 103 itself, in which case data such as configuration settings may be communicated using a secure communications protocol (i.e., based on a secret key exchange process between a sender (e.g., the first computing device 102) and a receiver (e.g., the remaining electronic devices of the plurality of electronic devices 102-10N), details of which are described further below. Further details of the initialization of the communications network 103 and the establishment of the secure communications network 105 are described with reference to FIGS. 2-10.

[0054] As an example, the system 100 may also include a computing platform 106. In some exemplary embodiments, one or more of the plurality of electronic devices 102-10N may be communicatively coupled to the computing platform 106 via the communication network 103. In some examples, the computing platform 106 may correspond to a remote server or electronic device used by an administrator in an industrial environment. In some exemplary embodiments, the computing platform 106 may correspond to a data analytics platform that may be configured to receive data from one or more of the plurality of electronic devices 102-10N, perform analysis of the data, and provide actionable insights for the plurality of electronic devices 102-10N. In some exemplary embodiments, the computing platform 106 may generate configuration settings or generate configuration setting updates for the plurality of electronic devices 102-10N.

[0055] According to some illustrative embodiments, computing device 102 may include at least one of processing unit 110, sensor unit 108, memory 112, input / output circuitry 114, and communication circuitry 116. In some examples, one or more of sensor unit 108, memory 112, input / output circuitry 114, and communication circuitry 116 may be communicatively coupled to processing unit 110. Additionally, computing platform 106 may also include one or more of processing unit 118 and / or similar components, such as memory 112, sensor unit 108, communication circuitry 110, input / output circuitry 114, etc., as described with reference to computing device 102.

[0056] According to some example embodiments, the processing unit 116 referred to herein may correspond to any computing processing unit or device, including, but not limited to, a single core processor, a single processor with software multithreading execution capabilities, a multicore processor, a multicore processor with software multithreading execution capabilities, a multicore processor with hardware multithreading techniques, a parallel platform, and a parallel platform with distributed shared memory. In addition, the processing unit 116 may be an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any other hardware components or components described herein. may refer to any combination of these designed to perform a specific function. In some embodiments, processing unit 116 may also utilize nanoscale architectures, such as, but not limited to, molecular and quantum dot based transistors, switches and gates, to optimize space usage or improve performance of the user equipment.

[0057] According to some exemplary embodiments, the sensor unit 108 may include multiple sensors, for example, imaging devices such as color and / or depth cameras, area sensors, occupancy sensors, volume sensors, speed sensors, RFID interrogators, scan engines, barcode scanners, display readers, and the like.

[0058] Further, the communications circuitry 116 referred to herein may be configured to receive and / or transmit data from the network and / or any other device, circuit, or module communicating over the communications network 103. To this end, in some exemplary embodiments, the communications circuitry 116 referred to herein may be any means, such as a device or circuit embodied in either hardware or a combination of hardware and software associated with the respective components of the system 100. In some examples, the communications circuitry 116 may include a network interface for enabling communication with a wired or wireless communications network. For example, the communications circuitry may include one or more network interface cards, antennas, buses, switches, routers, modems, and supporting hardware and / or software, or any other devices suitable for enabling communication over the communications network 103. Additionally or alternatively, the communications circuitry 116 may include circuitry for interacting with an antenna(s) to cause transmission of signals via the antennas or for processing reception of signals received via the antennas. These signals may be transmitted by any of the components of system 100 and / or processing unit 110 over communications network 103 using a number of wireless personal area network (PAN) technologies, such as, but not limited to, Bluetooth v1.0-v3.0, Bluetooth Low Energy (BLE), infrared radio (e.g., IrDA), ultra-wideband (UWB), inductive wireless transmission, etc., or via wired communications technologies, such as data field bus, cables, etc.

[0059] In some exemplary embodiments, the I / O circuitry 114 may then communicate with the processing unit 110 to provide output to a user and, in some embodiments, receive indications of user input. The I / O circuitry 114 may include a display, which may include a user interface, including a web user interface, a mobile application, a client device, and the like. In some embodiments, the I / O circuitry 114 may also include a keypad, a joystick, a touch screen, a touch area, soft keys, a microphone, a speaker, or other input / output mechanisms. In some examples, the processing unit 110 and / or user interface circuitry, including a processor associated with the I / O circuitry 114, may be configured to control one or more functions of one or more user interface elements associated with the I / O circuitry 114 via computer program instructions (e.g., software and / or firmware) stored in memory 112 accessible to the processing unit 110. Further details of the components of the computing device 102 and / or the plurality of electronic devices (102-10N) are also described with reference to FIGS. 9-10.

[0060] 2-5 show exemplary flowcharts of operations performed by an apparatus, such as the electronic devices (102...10N) of FIG. 1, in accordance with exemplary embodiments of the present invention. Each block of the flowchart, and combinations of blocks within the flowchart, may be implemented in hardware, firmware, one or more processors, circuitry, and / or one or more computers. It will be understood that the present invention may be implemented by various means, such as a computer program instruction or other device associated with the execution of software including the computer program instructions. For example, one or more of the above-described procedures may be embodied by computer program instructions. In this regard, computer program instructions embodying the above-described procedures may be stored by a memory of an apparatus using an embodiment of the present invention and executed by a processor in the apparatus. Of course, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to generate a machine, and the resulting computer or other programmable apparatus provides implementation of the functionality specified in the block(s) of the flowchart. These computer program instructions, which may instruct a computer or other programmable apparatus to function in a particular manner, may also be stored in a non-transitory computer-readable storage memory, and the instructions stored in the computer-readable storage memory generate a product, the execution of which implements the functionality specified in the block(s) of the flowchart. The computer program instructions may also be loaded into a computer or other programmable device to cause a sequence of operations to be performed on the computer or other programmable device to generate a computer-implemented process, whereby the instructions executing on the computer or other programmable device provide operations for implementing the functions specified in the block(s) of the flowchart. Thus, the operations of Figures 2-5, when executed, transform a computer or processing circuitry into a specific machine configured to perform the exemplary embodiments of the present invention. Thus, the operations of Figures 2-5 may define algorithms that configure a computer or processor to perform the exemplary embodiments. In some cases, an instance of a processor that implements the algorithms of Figures 2-5 may be provided in a general-purpose computer to transform the general-purpose computer into a specific machine configured to perform the exemplary embodiments.

[0061] Thus, the blocks of the flowcharts support combinations of means for performing the specified functions and combinations of acts for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks within the flowcharts, may be implemented by a dedicated hardware-based computer system that performs the specified functions, or a combination of dedicated hardware and computer instructions.

[0062] FIG. 2 illustrates an exemplary flowchart depicting a method 200 of configuring a computing device 104 according to some exemplary embodiments described herein. By way of example, the method 200 begins at step 202. At step 204, a computing device 102 of the plurality of electronic devices 102-10N (hereinafter referred to as a first computing device 102) may include means, such as a processing unit 110, for triggering an initialization of the communication network 103 based on predefined configuration parameters. In some examples, the predefined configuration parameters herein correspond to such parameters (such as, but not limited to, SSID, network name, network security type, etc.) based on which an electronic device of the plurality of electronic devices (102-10N) may be configured to use the communication network 103. In some examples, the predefined configuration parameters may correspond to configuration parameters provided or selected by a user of the master device, i.e., the first computing device 102.

[0063] According to some example embodiments, the predefined configuration parameters may be associated with a first instance of the application on the first computing device 102. In this regard, in some examples, the application may correspond to a mobile application or a system process that may be programmed to configure network settings of the first computing device 102. The application may be executed automatically upon initial boot or firmware update of the first computing device and / or remaining electronic devices of the plurality of electronic devices 102-10N. Additionally, in some embodiments, the application may provide a user interface for configuring the communication network 103 of the first computing device 102. Further details of the application's user interface are described with reference to FIG.

[0064] In some exemplary embodiments, the predefined configuration parameters may correspond to network configuration parameters used to configure network settings of a communication network through which the electronic device may communicate. For example, in some examples, the predefined configuration may include at least one of a network name, a service set identifier (SSID), and a network security type. In this regard, the communication network 103 may be set up based on the predefined configuration parameters. In some examples, the communication network 103 may be initialized based on the occurrence of an event. For example, in some examples, the processing unit 110 may cause an initialization of the communication network 103 based on receiving the predefined configuration parameters as input from a user. In this regard, the processing unit 110 may receive input corresponding to the predefined configuration parameters from a user via the input / output circuitry 114.

[0065] In some example scenarios, the communication network 103 may be initialized in a network environment and multiple electronic devices may be commissioned by an administrator such that the electronic devices may be used to perform a defined set of production operations. In this regard, predefined parameters for configuring the communication network 103 may be pre-shared or known among trusted electronic devices in the network environment such that only the trusted devices may utilize the communication network 103 for data communication.

[0066] Proceeding to step 206, the first computing device 102 may include means, such as the processing unit 110, for identifying the initialization of a second instance of the application on a second computing device 104 of the plurality of electronic devices (102-10N). In this regard, in some embodiments, the first computing device 102 may identify the initialization of a second instance of the application on the second computing device 104 based on receiving a connection request from the second computing device 104. To this end, according to some embodiments, the initialization of the communication network 103 in step 204 may cause the first computing device 102 to operate as a wireless access point. In this regard, the remaining electronic devices of the plurality of electronic devices 102-10N may attempt to establish a connection with the wireless access point. Thus, in step 206, the first computing device 102 may receive a connection request to establish a connection with the first computing device 102 and to communicate via the communication network 103 from one or more of the plurality of electronic devices 102-10N.

[0067] Proceeding to step 208, the first computing device 102 may include means, such as the processing unit 110, for causing the configuration settings of the second computing device 104 to be transmitted over the secure communications network 105. In this regard, in some exemplary embodiments, the configuration settings may include at least predefined configuration parameters based on which the first computing device 102 initializes the communications network 103. In other words, the first computing device 102 may share with the second computing device 104 the same configuration settings based on which the first computing device 102 initializes the communications network 103, so that the second computing device 104 also has the data. In other words, according to some exemplary embodiments, the second computing device 104 may receive configuration settings to configure its communications circuitry (e.g., similar to the communications circuitry 116) so that the second computing device 104 can connect via the communications network 103 and utilize the communications circuitry for data communications.

[0068] In some embodiments, the communication network 103 may correspond to a wireless network. To this end, the initialization of the wireless network may include configuring a Wi-Fi hotspot at the first computing device 102. In this aspect, the second computing device 104 may send a connection request to the first computing device 102 to connect to the Wi-Fi hotspot. Furthermore, in response to connecting to the Wi-Fi hotspot, the first computing device 102 may share configuration settings (e.g., network settings that may include an SSID, a network name, a network security type, a passcode, etc.) with the second computing device 104 over the secure communication network 105. The configuration settings may be used by the second computing device 104 to configure the second computing device 104. The method 200 stops at step 210.

[0069] FIG. 3 illustrates an exemplary flowchart depicting a method 300 of configuring a first computing device 102 to initiate a communications network 103 used to communicate with multiple electronic devices (102-10N) that may be trusted by the first computing device 102, according to certain exemplary embodiments described herein.

[0070] The method begins at step 302. At step 304, the first computing device 102 may include means, such as a user interface of the input / output circuitry 114, for providing predefined configuration parameters to the processing unit 110. The predefined configuration parameters may include parameters for associating with an access point (e.g., a wireless access point) provided by the first computing device 102. For example, the predefined parameters may be network configuration settings including at least one of a network name, a username, a password, a network security type, an SSID, etc., commonly used in configuring the communication network 103. In some embodiments, the predefined parameters may be encrypted, predefined, and made known to one or more trusted devices in the network environment, such that the trusted devices can utilize the parameters in configuring the network and untrusted devices cannot use the parameters.

[0071] According to various exemplary embodiments described herein, the scope of the disclosure is not limited to the predefined parameters being network parameters, but rather the predefined parameters may correspond to any configuration parameters based on which the first computing device 102 may be configured to operate a desired functionality. For example, in some examples, the predefined parameters provided by the user interface may correspond to system parameters associated with the operation of the first computing device, such as, for example, a system language selection, network connection preferences used as default settings, sound preferences of the first computing device 102, display scanning settings, barcode configuration settings, etc. Further details of providing predefined configuration parameters using the user interface of the first computing device 102 are described with reference to FIGS. 11-13.

[0072] In step 306, the first computing device 102 configures the first computer based on the configuration parameters predefined by the user interface in step 304. In step 308, the first computing device 102 may include means, such as the processing unit 110, for configuring the computing device 102. In step 308, the first computing device 102 may include means, such as the processing unit 110, for initializing the communication network 103. Thus, in response to the initialization of the communication network 103, the first computing device 102 may communicate with one or more of the plurality of electronic devices 102-10N. The initialization of the communication network 103 may correspond to the activation of a network access point (e.g., a Wi-Fi hotspot) by the first computing device 102, according to some exemplary embodiments. In this regard, in some examples, the access point may be configured to provide network access (e.g., Internet access) provisioned by an Internet Service Provider (ISP) or a wireless local area network to one or more of the plurality of electronic devices 102-10N in the network environment.

[0073] Proceeding to step 310, the processing unit 110 of the first computing device 102 may cause the configuration settings to be shared with the second computing device 104 via the communication circuitry 116 over the secure communication network 103. In this regard, to share the configuration settings, according to some exemplary embodiments, the first computing device 102 may establish a secure connection with the second computing device 104 such that the configuration settings are not compromised or lose confidentiality during transport. To this end, the configuration settings may be shared over the secure communication network 105 established between the first computing device 102 and the second computing device 104 based on a secure key exchange process, the details of which are described with reference to FIG. 4. The method stops at step 312.

[0074] According to some exemplary embodiments, the communication network 103 initialized by the first computing device 102 (e.g., as described in step 308 of FIG. 3 or step 204 of FIG. 2) can be used by trusted or commissioned devices of the plurality of electronic devices 102-10N, but cannot be used by malicious or unrecognized electronic devices. Furthermore, it may be desirable to maintain confidentiality and integrity of the configuration settings while the settings are shared between the two electronic devices (e.g., the first computing device 102 and the second computing device 104) in step 310. In other words, the configuration settings may be shared by the first computing device 102 in response to a determination that the second computing device 104 is a trusted device and is not a malicious node of the network environment. In this regard, according to some exemplary embodiments, the first computing device 102 can authenticate the second computing device 104 as a trusted device, the details of which are described in connection with FIG. 4.

[0075] 4 illustrates an exemplary flowchart depicting a method 400 of authenticating a second computing device 104 by a first computing device 102 to use a communication network initialized by the first computing device, according to some exemplary embodiments described herein. The method 400 begins at step 402. At step 404, the first computing device may include means, such as a processing unit 110, for encrypting predefined configuration parameters with a first key shared among the multiple electronic devices 102-10N. For example, the first computing device 102 may encrypt one or more of a network name, SSID, passcode, etc., using the first key.

[0076] In some embodiments, a public key and a corresponding private key pair may be shared and known between trusted devices. For example, the public key and private key information may be stored in the manufacturer's database of the electronic device. During manufacturing, the original equipment manufacturer (OEM) or may be shared between trusted electronic devices during firmware configuration of the electronic devices. In some examples, the first key may correspond to a private key of the first computing device 102 that may be used by the first computing device to encrypt the predefined configuration parameters. According to some example embodiments, the predefined configuration parameters may be encrypted by the first computing device 102 after configuring the initialization of the communication network 103. In other words, the first computing device 102 may initiate an access point for communication and thereafter encrypt the configuration parameters used to connect with the access point.

[0077] At step 406, the processing unit 110 may cause, via the communications circuitry 116, to scan for an incoming connection request to establish a connection with the first computing device 102 over the communications network 103. In this regard, the processing unit 110 may wait for an incoming connection request to connect with an access point.

[0078] Proceeding to step 408, the processing unit 110 may receive a connection request from the second computing device 104 via the communications circuitry 116. In some embodiments, the incoming connection request may correspond to a TCP / IP handshake request by the second computing device 104 to establish a connection with the first computing device. In this regard, the incoming connection request may include fields such as a source address, a destination address, a source physical address (MAC address), payload information, and other such information.

[0079] At step 410, the first computing device 102 may include means, such as the processing unit 110, for authenticating the second computing device 104 based on identification of the predefined configuration parameter in the connection request. In this regard, the processing unit 110 may cause the connection request received at step 408 to be analyzed to determine that at least the predefined configuration parameter is present in the connection request.

[0080] For example, in some implementations, the connection request may include at least one of an SSID, a network name, a passcode, etc., used by the first computing device 102 to initialize the communication network 103. Since the predefined configuration parameters were encrypted by the first computing device 102, in step 410, identification of the predefined configuration parameters in the connection request may indicate successful decryption of the predefined configuration parameters by the second computing device 104. To this end, the second computing device 104 may cause the encrypted configuration parameters to be decrypted using a second key (e.g., a public key shared between the trusted devices) and send a connection request including the decrypted configuration parameters to the first computing device. Thus, the first computing device 102 may authenticate the second computing device 104 as a trusted device. In some example embodiments, in response to the authentication, the first computing device 102 may cause the configuration settings to be shared with the second computing device 104. The method stops at step 412.

[0081] 5 illustrates an exemplary flowchart depicting a method 500 of a secure key exchange between a first computing device 102 and a second computing device 104 for sharing configuration settings with the second computing device 104, according to some exemplary embodiments described herein. According to some exemplary embodiments, based on the secure key exchange, a secure communication network 105 is established and utilized by multiple electronic devices 102-10N, thereby enabling a secure communication network 105 to be established and utilized by multiple electronic devices 102-10N. This may enable data communication and secure data sharing.

[0082] At step 502, the first computing device 102 may include means, such as the processing unit 110, for receiving an encrypted temporary key from the second computing device 104 via the communication circuitry 116. In this regard, the encrypted temporary key corresponds to a temporary key generated by the second computing device 104 and subsequently encrypted by the second computing device 104. In some embodiments, the encrypted temporary key may include any of numeric characters, alphabetic characters, alphanumeric characters, special characters, and / or combinations thereof.

[0083] At step 504, the processing unit 110 may decrypt the encrypted temporary key received from the second computing device 104. In this regard, in some examples, the encrypted temporary key may correspond to a temporary key encrypted by the second computing device 104 using a public key shared among multiple electronic devices. To this end, in some example embodiments, at step 504, the processing unit 110 may decrypt the encrypted temporary key using the private key of the first computing device 102.

[0084] The method at step 508 may include encrypting, by processing unit 110, a session key using the temporary key decrypted at step 506. Processing unit 110 may encrypt the session key to generate an encrypted session key. In this regard, the session key may be generated by processing unit 110 and may be indicative of a data communication session initiated at first computing device 102.

[0085] In step 510, the first computing device 102 may include means, such as the processing unit 110, for causing the second computing device to transmit the encrypted session key via the communication circuitry 116. In this regard, in some exemplary embodiments, the encrypted session key may be received by the second computing device and decrypted using a temporary key known to the second computing device. By decrypting the encrypted session key, the second computing device 104 knows the session key and can use it for data communication with the first computing device 102. For example, in some exemplary embodiments, the second computing device 102 may send a configuration request to the first computing device. In some examples, the configuration request may indicate a request to share configuration settings of the second computing device 104.

[0086] Additionally, in some embodiments, at step 512, the processing unit 110 may validate the configuration request received from the second computing device 104. In some embodiments, the configuration request may include a header, a destination address (e.g., an IP address or physical address of the first computing device 102), a source address (a physical address or an IP address of the second computing device 104), a payload that may include a set of configuration parameters associated with the requested configuration settings, a flag value identifier that identifies that the request is a request to share configuration settings, a session key, etc. In this regard, the processing unit 110 of the second computing device 104 may parse the connection request received from the second computing device 104 and identify the session key in the connection request.

[0087] Thus, the processing unit 110 may verify that the second computing device 104 is a trusted electronic device if the session key is present in a connection request received from the second computing device 104. The processing unit 110 may match the session key identified from the connection request with a local version of the session key generated in step 508 by the first computing device 102. Alternatively, the processing unit 110 may flag the second computing device 104 as an untrusted electronic device if no session key or an invalid session key is present in the connection request received in step 512.

[0088] Proceeding to step 514, the processing unit 110 may, in response to verifying that the second computing device 104 is a trusted electronic device, share the configuration settings with the second computing device 104. Further, in some embodiments, the configuration settings received from the first computing device 102 may be used to configure the second computing device 104 for a desired use. The method stops at step 516.

[0089] FIG. 6 illustrates an exemplary message flow diagram 600 depicting communication between a master device 602 and a client device 604 according to some exemplary embodiments described herein. Stated another way, the message flow diagram 600 illustrates a sequence of message and data communication between the master device 602 and the client device 604. According to some embodiments, a finite set of process threads may be executed in each of the master device 602 and the client device 604 to perform some operations (e.g., but not limited to, one or more steps of the methods 200, 300, 400, and 500 as described in FIGS. 2-5). In this regard, the message flow diagram 600 also illustrates a finite sequence of events for each process thread that may be executed by a processing unit of the respective device. By way of example, a process thread that may be executed in the master device 602 is represented by a vertical line 606, and a process thread that may be executed in the client device 604 is represented by a vertical line 608. Additionally, the horizontal lines in the message flow diagram 600 represent messages communicated between the master device 602 and the client devices 604, or data processed at each device.

[0090] According to some exemplary embodiments, the master device 602 and the client device 604 may be among the plurality of electronic devices 102-10N, as described in FIG. 1. For example, in an exemplary embodiment, the master device 602 may correspond to the first computing device 102, and the client device 604 may correspond to the second computing device 104. Thus, the master device 602 may be configured to perform operations as described with reference to the first computing device 102 of FIGS. 1-5, and the client device 604 may be configured to perform operations as described with reference to the second computing device 104 of FIGS. 1-5.

[0091] In one exemplary scenario, the plurality of electronic devices 102-10N may be operated in an industrial environment, such as a warehouse or inventory. In this regard, the plurality of electronic devices 102-10N may be used by workers to enhance their productivity in performing various operations, such as, but not limited to, positioning packages, replenishing shelves, stocking inventory, and processing shipments. In such a case, a workflow including steps of a task may be executed in the form of visual instructions and / or provided to the workers in the form of voice-based instructions on the plurality of electronic devices 102-10N. In such an exemplary scenario, the master device 602 may be an electronic device among the plurality of electronic devices 102-10N that may operate as a central server managed by a store manager, and the client device 604 may be any electronic device from the plurality of electronic devices 102-10N that may be used by the workers. In this regard, the workers may receive commands on the client device 604 in the form of audio and / or visual instructions to which the workers may respond using input / output circuitry of the client device 604. Instructions can be received to perform various operations within the inventory.

[0092] In some demonstrative embodiments, the master device 602 may correspond to an electronic device that may include substantially more resources (e.g., memory, battery life, network connectivity, etc.) as compared to the resources of the client device 604. Additionally, according to some demonstrative embodiments, the master device 602 may correspond to an electronic device among the plurality of electronic devices 102-10N that may be initially configured based on predefined configuration settings and, upon configuration, may further share the configuration settings with the remaining electronic devices among the plurality of electronic devices 102-10N.

[0093] As an example, in step 610, the master device 602 may generate configuration settings. The configuration settings, according to some exemplary embodiments, may correspond to settings related to network setup configurations (e.g., Wi-Fi configuration, wired network configuration), network preferences related to data transmission settings (e.g., Bluetooth, Wi-Fi, NFC, etc.), system sounds (e.g., ring volume, device volume, ring volume, alarm volume, etc.), system language (e.g., English, Chinese, Hindi, etc.), and other similar device settings. According to some exemplary embodiments, the configuration settings may be generated at the master device 602 in response to receiving inputs defining configuration parameters via the input output circuitry 114. Alternatively, in some exemplary embodiments, the configuration settings may be automatically generated upon initial setup or boot of the master device 602. In some exemplary embodiments, the configuration settings may be generated in response to a configuration indication, e.g., scanning and decoding a QR code or barcode provided by the OEM.

[0094] In generating the configuration settings, the master device 602 may be configured to operate according to configuration parameters defined in the configuration settings. For example, if the configuration settings correspond to network setup settings, then at configuration time, the master device 602 may initialize a communication network or access point defined in the configuration settings and use the communication network to communicate data. According to some embodiments, the configuration settings may correspond to wireless network configuration settings based on which the master device 602 may initialize a wireless communication network (e.g., a Wi-Fi hotspot or a short-range access point). Thus, in step 612, the master device 602 may initiate a Wi-Fi hotspot to which one or more of the plurality of electronic devices 102-10N may connect for data communication with the master device 602.

[0095] At step 614, in some exemplary embodiments, the client device 604 may generate a connection request to connect to the Wi-Fi hotspot initialized by the master device 602. In this regard, the connection request may correspond to a message sent from the client device 604 based on the TCP / IP handshake protocol. In some examples, the connection request may correspond to a data packet including a header, a source address, a destination address, a request identifier, etc. In some exemplary embodiments, the master device 602 may receive the connection request from the client device 604 in a manner similar to that described with reference to FIGS. 2-5. In some exemplary embodiments, the connection request may also include an encrypted session key, as described with reference to FIG. 5.

[0096] In response to receiving a connection request from the client device 604, the master device 602 may send configuration settings to the client device 604 in step 616. The configuration settings may include one or more configuration settings, such as, but not limited to, a network name, an SSID, a passcode, a network security type, etc., based on which the client device 604 may connect to the Wi-Fi hotspot initiated by the master device 602. In some embodiments, the master device 602 may send a configuration setting to the client device 604. The configuration settings transmitted to the client device 604 may also include, for example, system sound settings, language settings, power management settings, etc. associated with the client device 604. Further, in step 618, the client device 604 may apply the configuration settings or may be configured based on the configuration settings. Further, the client device 604 may disconnect from the Wi-Fi hotspot.

[0097] FIG. 7 illustrates an exemplary scenario 700 depicting communication between a first computing device 102 and the remaining electronic devices of the plurality of electronic devices 102-10N according to some exemplary embodiments described herein. As an example, the first diagram 700 illustrates a wireless access point initialized by the first computing device 102 at instance 702. In some examples, the wireless access point initiated by the first computing device 102 may correspond to a Wi-Fi hotspot. According to some exemplary embodiments, in response to initializing the wireless access point, the communication circuitry 116 of the first computing device 102 may utilize the communication network 103 for data communication. To this end, the first computing device 102 may initialize the wireless access point by performing the steps as described with reference to FIGS. 2-6.

[0098] For example, in instance 702, configuration parameters such as, but not limited to, an SSID, a network security type, a network name, and a password may be defined using the input / output circuitry 114 to initialize the wireless access point. In some embodiments, the wireless access point may be initialized based on the encrypted configuration parameters. For example, in some embodiments, one or more configuration parameters (e.g., network name, SSID, password, etc.) may be encrypted for initialization, such that only trusted devices may use the Wi-Fi hotspot for data communication. To this end, the keys used to encrypt and decrypt the configuration parameters may be made known to the trusted devices. In some embodiments, the encrypted configuration parameters may be installed or embedded in all trusted electronic devices by the OEM. In some exemplary embodiments, connection requests from the remaining electronic devices of the plurality of electronic devices 102-10N or new electronic devices by the OEM may be automatically sent upon initial boot of the respective devices. To this end, the application that causes the generation of the connection request may be executed automatically (e.g., as a backend service) upon initial boot of the remaining electronic devices of the plurality of electronic devices 102-10N, which may be operating as client devices.

[0099] The second diagram 720 illustrates a state in which the first computing device 102 is waiting for the remaining electronic devices of the plurality of electronic devices 102-10N to connect to a wireless access point (e.g., a Wi-Fi hotspot). In this regard, in some embodiments, the first computing device 102 may scan for incoming connection requests from one or more of the plurality of electronic devices 102-10N to connect to the Wi-Fi hotspot in a manner similar to that described in step 406 of FIG. 4. To this end, in instance 704, one or more electronic devices, e.g., the second computing device 104 and the computing device 10N, may transmit a communication request to connect to the Wi-Fi hotspot initialized by the first computing device 102. In some embodiments, if the second computing device 104 and the computing device 10N are trusted devices, configuration parameters associated with the Wi-Fi hotspot may be decrypted by the second computing device 104 and the computing device 10N to connect to the Wi-Fi hotspot.

[0100] The third diagram 750 illustrates in schematic form a secret key exchange process between the first computing device 102 and the plurality of electronic devices 102-10N that may be performed to share configuration settings. According to some exemplary embodiments, when connecting to a Wi-Fi hotspot (as shown in the second diagram 720), the configuration settings of the remaining electronic devices of the plurality of electronic devices 102-10N may be shared by the first computing device 102 via a secure communication channel (e.g., the secure communication network 105). To this end, a secret key exchange process may be performed between the plurality of electronic devices 102-10N illustrated in the third diagram 750 (i.e., to initiate data communication related to the configuration settings). In other words, the plurality of electronic devices 102-10N may first connect to the Wi-Fi hotspot and communicate via the communication network 103 provided by the Wi-Fi hotspot, but to share the configuration settings, the data communication may be performed by using a secret key based on the secret key exchange process as described in FIG. 5 and illustrated in the third diagram 750. Thus, configuration settings may be shared over the established secure communication network 105 among the plurality of electronic devices 102-10N based on a private key exchange process. This may be performed to ensure that configuration settings are shared with trusted devices and that malicious devices cannot infiltrate data communications. As shown, at instance 706, the first computing device 102 and the remaining electronic devices of the plurality of electronic devices 102 may perform a private key exchange process (as described in FIG. 5) and at another instance 708 establish a socket connection with the first computing device 102. Further details of configuration settings and sharing are shown and described in FIG. 8.

[0101] FIG. 8 illustrates another exemplary scenario depicting a first diagram 800 illustrating the sharing of configuration settings from the first computing device 102 (e.g., a master device) to the remaining electronic devices of the plurality of electronic devices 104-10N. FIG. 8 also illustrates another exemplary scenario depicting a second diagram 820 illustrating the configuration set by the remaining electronic devices of the plurality of electronic devices 104-10N, according to some exemplary embodiments described herein. By way of example, the first diagram 800 illustrates, in step 802, transmitting encrypted data from the first computing device 102 to the remaining electronic devices of the plurality of electronic devices 104-10N. In this regard, as illustrated, the remaining electronic devices of the plurality of electronic devices 104-10N may connect (or establish a socket connection) with the first computing device 102 via the secure communication network 105. Establishing the socket connection may be performed based on a private key exchange process using a process as described with reference to FIG. 5. In some example embodiments, the encrypted data may correspond to configuration settings or data for configuring the remaining electronic devices of the plurality of electronic devices 104-10N shared by the first computing device 102. To this end, in some examples, the configuration settings may be encrypted using a session key (e.g., an encrypted session key as described with reference to FIG. 5).

[0102] Further, as shown, at step 804, the remaining electronic devices of the plurality of electronic devices 104-10N may use the session key to decrypt the encrypted data to access the configuration settings. In some embodiments, the configuration settings may include, but are not limited to, an SSID, a security password, etc., shared by the first computing device 102 to configure the remaining electronic devices of the plurality of electronic devices 104-10N to use the access point or hotspot. Thus, as shown in the second diagram 820, the remaining electronic devices of the plurality of electronic devices 104-10N may be configured at step 806 by using the configuration settings (e.g., SSID and security password) decrypted at step 804. In some embodiments, the remaining electronic devices of the plurality of electronic devices 104-10N may access the configuration settings based on the configuration. The first computing device 102 may remain connected to the Wi-Fi access point or hotspot that was initialized on the first computing device 102.

[0103] Through implementation of the embodiments described herein, in an industrial environment, multiple electronic devices (e.g., multiple electronic devices 102-10N) may be configured and commissioned at the same time (e.g., in batches) for a desired use. In other words, upon configuration of one device (e.g., the first computing device 102), the remaining electronic devices (e.g., the second computing device 104, the electronic device 104, etc.) may be configured based on the configuration settings generated by the first configured device (i.e., the first computing device). In this regard, configuring the multiple electronic devices 102-10N described herein may include, for example, but not limited to, setting a system language, controlling network priorities (e.g., Bluetooth or NFC), adjusting system volume, controlling device location availability, configuring an electronic device to connect to a specific network, installing applications, configuring an electronic device to download some files from a defined local network, rebooting an electronic device, etc.

[0104] 9 illustrates a schematic diagram 900 of an example electronic device of a plurality of electronic devices according to some example embodiments described herein. The electronic device may correspond to a mobile handset in some examples. In some example embodiments, the electronic device illustrated in FIG. 9 may be any device of the plurality of electronic devices 102-10N as described with reference to FIGS. 1-8. For example, in some embodiments, the mobile handset illustrated in FIG. 9 may correspond to the first computing device 102 or the second computing device 104 as described with reference to FIGS. 1-8.

[0105] According to some exemplary embodiments, FIG. 9 is a schematic block diagram of an exemplary end-user device, such as user equipment, which may be a first computing device 102 (e.g., a mobile handset) that may connect to a communications network (103 and / or 105) according to some embodiments described herein. Although FIG. 9 shows a mobile handset, it will be understood that the other device may be any electronic device, such as described in FIG. 1, and that the mobile handset is merely illustrated to provide a context for embodiments of the various embodiments described herein. To this end, the following discussion is intended to provide a brief, general description of one example of a suitable environment 900 in which various embodiments may be implemented. While this description includes the general context of computer-executable instructions embodied on a machine-readable storage medium, those skilled in the art will recognize that various embodiments may be implemented in combination with other program modules and / or as a combination of hardware and software.

[0106] Generally, applications (e.g., program modules) may include routines, programs, components, data structures, etc. that may perform particular tasks or implement particular abstract data types in accordance with the exemplary embodiments described herein. Moreover, those skilled in the art will appreciate that the methods described herein may be practiced with other system configurations, such as single-processor or multi-processor systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics devices, each of which may be operatively coupled to one or more associated devices.

[0107] According to some exemplary embodiments, the first computing device 102 is Typically, machine-readable media may include a variety of machine-readable media. Machine-readable media may be any available media that can be accessed by a computer, including both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may include computer storage media and communication media. Computer storage media may include volatile and / or nonvolatile media, removable and / or non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD ROM, digital video disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage devices, or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by a computer.

[0108] In accordance with certain exemplary embodiments described herein, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transmission mechanism, and includes any information delivery media. In this regard, the term "modulated data signal" may correspond to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared and other wireless media. Combinations of any of the above may also be included within the scope of computer-readable media.

[0109] According to some illustrative example embodiments, the mobile handset may include a processor 902 for controlling and processing all on-board operations and functions. A memory 904 interfaces with the processor 902 for storing data and one or more applications 906 (e.g., video player software, user feedback component software, etc.). Other applications may include voice recognition of predefined voice commands to facilitate initiation of user feedback signals. The applications 906 may be stored in the memory 904 and / or firmware 908 and executed by the processor 902 from either or both of the memory 904 or / and firmware 908. The firmware 908 may also store startup code for execution upon initializing the mobile handset. A communication component 910 interfaces with the processor 902 to facilitate wired / wireless communication with external systems, e.g., cellular networks, VoIP networks, etc. Here, the communication component 910 may also include a cellular transceiver 911 (e.g., GSM transceiver) and / or an unlicensed transceiver 913 (e.g., Wi-Fi, WiMax) suitable for corresponding signal communication. The mobile handsets can be devices such as mobile telephones, PDAs with mobile communication capabilities, and messaging centric devices. The communications component 910 also facilitates receiving communications from terrestrial wireless networks (e.g., broadcast), digital satellite wireless networks, and Internet-based wireless service networks.

[0110] The mobile handset may also include a display 912 for displaying text, images, video, telephony functions (e.g., Caller ID functions), setup functions, and for user input. For example, the display 912 may also be referred to as a "screen" that may accommodate the presentation of multimedia content (e.g., music metadata, messages, wallpapers, graphics, etc.). The display 912 may also display video and facilitate the creation, editing, and sharing of video quotes. A serial I / O interface 914 may communicate with the processor 902 to facilitate wired and / or wireless serial communications (e.g., USB, and / or IEEE 1394) via hardwire connections, as well as other serial input devices (e.g., keyboards, keypads, and mice). This supports, for example, updating and troubleshooting the mobile handset. Audio capabilities are provided with an audio I / O component 916, which may include, for example, a speaker for output of audio signals associated with an indication that a user has pressed an appropriate key or key combination to initiate a user feedback signal. The audio I / O component 916 also facilitates input of audio signals through a microphone for recording data and / or telephone voice data, and for inputting voice signals for a phone call.

[0111] The mobile handset also accommodates a Subscriber Identity Module (SIM) card or a Subscriber Identity Component (SIC) in the form factor of a Universal SIM 920 card, and the SIM card 9 20 to the processor 902. However, it should be understood that the SIM card 920 may be manufactured within the mobile handset and updated by downloading data and software.

[0112] The mobile handset may also process IP data traffic via communications component 910 to accommodate IP traffic from IP networks such as the Internet, corporate intranets, home networks, personal area networks, etc. via an ISP or broadband cable provider. In this manner, VoIP traffic may be utilized by the mobile handset and IP-based multimedia content may be received in either encoded or decoded form.

[0113] A video processing component 922 (e.g., a camera) may be provided for decoding encoded multimedia content. The video processing component 922 may help facilitate the creation, editing, and sharing of video excerpts. The mobile handset also includes a power source 924 in the form of a battery and / or an AC power subsystem, which may interface with an external power system or charging device (not shown) by way of a power I / O component 926.

[0114] According to some example embodiments, the mobile handset may also include a video component 930 for processing received video content and for recording and transmitting video content. For example, the video component 930 may facilitate the creation, editing, and sharing of video excerpts. In some example embodiments, the location tracking component 932 facilitates locating the geographic location of the mobile handset. As discussed above, this may occur when a user automatically or manually initiates a feedback signal. According to some example embodiments, the user input component 934 facilitates the user to initiate a quality feedback signal. In this regard, in some examples, the user input component 934 may also facilitate the creation, editing, and sharing of video excerpts. According to various example embodiments described herein, the user input component 934 may include conventional input device technologies such as, for example, a keypad, keyboard, mouse, stylus pen, and / or touch screen.

[0115] Referring again to applications 906, hysteresis component 936 may facilitate analysis and processing of hysteresis data utilized to determine when to associate with an access point. A software trigger component 938 may be provided that facilitates triggering of hysteresis component 938 when Wi-Fi transceiver 913 detects an access point beacon. SIP client 940 enables the mobile handset to support the SIP protocol and to register a subscriber with a SIP registration server. In some exemplary embodiment, applications 906 also include at least a multi-user application. Included may be a client 942 that provides the capability of detecting, playing, and storing multimedia content, such as music.

[0116] In some example embodiments, as noted above in connection with communications component 910, the mobile handset includes an indoor network radio transceiver 913 (e.g., a Wi-Fi transceiver). This functionality may support indoor radio links for dual-mode GSM handsets, such as IEEE 802.11. In some example embodiments, the mobile handset may accommodate at least satellite radio services via the handset, which may combine wireless voice and digital radio chipsets into a single handheld device.

[0117] 10 illustrates a schematic diagram 1000 of an exemplary computing device 1001 of the plurality of electronic devices 102-10N, according to some exemplary embodiments described herein. The computing device 1001 may correspond to a computer, in some examples. In some exemplary embodiments, the computing device 1001 illustrated in FIG. 10 may be any electronic device of the plurality of electronic devices 102-10N, as described with reference to FIGS. 1-9. For example, in some embodiments, the computing device 1001 illustrated in FIG. 10 may correspond to the first computing device 102 or the second computing device 104, as described with reference to FIGS. 1-9.

[0118] Referring now to FIG. 10, there is shown a block diagram of a computing device 1001 operable to perform functions and operations performed in the described exemplary embodiments. In some exemplary embodiments, the computing device 1001 may provide networking and communication capabilities between a wired or wireless communication network and a server and / or communication device. To provide further context for its various aspects, FIG. 10 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which various aspects of the embodiments may be implemented to facilitate the establishment of a transaction between an entity and a third party. While the above description is in the general context of computer-executable instructions that may be executed on one or more computers, those skilled in the art will recognize that various embodiments may also be implemented in combination with other program modules and / or as a combination of hardware and software.

[0119] According to the exemplary embodiment, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the methods of the present invention may be practiced with other computer system configurations such as single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics devices, each of which may be operatively coupled to one or more associated devices.

[0120] Aspects of the various illustrated embodiments may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0121] According to some exemplary embodiments, a computing device typically includes a variety of media that may include computer-readable storage media or communication media, and these two terms are used herein differently from each other as follows.

[0122] According to some exemplary embodiments, a computer-readable storage medium may be any available storage medium that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, a computer-readable storage medium may be implemented in association with any method or technology for storing information, such as computer-readable instructions, program modules, structured data, or unstructured data. A computer-readable storage medium may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or other tangible and / or non-transitory media that may be used to store desired information. A computer-readable storage medium may be accessed from one or more local or remote computing devices for various operations on information stored by the medium, for example, via an access request, query, or other data retrieval protocol.

[0123] In some examples, communication media may embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in a modulated data signal, such as a carrier wave or other transport mechanism, and communication media includes any information delivery or transmission media. The term "modulated data signal" or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared and other wireless media.

[0124] 10, an end-user device implementing various aspects described herein may include a computing device 1001 including a processing unit 1004, a system memory 1006, and a system bus 1008. The system bus 1008 may be configured to couple system components including, but not limited to, the system memory 1006 to the processing unit 1004. In some exemplary embodiments, the processing unit 1004 may be any of a variety of commercially available processors. To this end, in some examples, dual microprocessors and other multi-processor architectures may also be used as the processing unit 1004.

[0125] According to some exemplary embodiments, the system bus 1008 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. In some examples, the system memory 1006 may include a read only memory (ROM) 1027 and a random access memory (RAM) 1012. According to some exemplary embodiments, a basic input / output system (BIOS) is stored in non-volatile memory 1027, such as a ROM, EPROM, EEPROM, etc., and the BIOS contains basic routines that help transfer information between elements within the computing device 1001, such as during start-up. The RAM 1012 may also include a high-speed RAM, such as a static RAM, for caching data.

[0126] According to some exemplary embodiments, the computing device 1001 includes an internal hard disk drive (HDD) 1014 (e.g., EIDE, SATA) (the internal hard disk drive 1014 may also be configured for external use in a suitable chassis (not shown)), a magnetic floppy disk drive (FDD) 1016 (e.g., for reading from and writing to a removable diskette 1018), and an optical disk drive 1020 (e.g., for reading a CD-ROM disk 1022 or storing other high-capacity data such as a DVD). and / or a USB 2.0 port (for reading from and writing to optical media). In some examples, the hard disk drive 1014, the magnetic disk drive 1016, and the optical disk drive 1020 may be connected to the system bus 1008 by a hard disk drive interface 1024, a magnetic disk drive interface 1026, and an optical drive interface 1028, respectively. According to some exemplary embodiments, the interface 1024 for external drive implementations may include at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies. Other external drive connection technologies are within the contemplation of the present embodiments.

[0127] According to some exemplary embodiments described herein, the drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. In the case of the computing device 1001, the drives and media accommodate the storage of any data in a suitable digital format. Although the above description of computer-readable media refers to HDDs, removable magnetic diskettes, and removable optical media such as CDs or DVDs, those skilled in the art will appreciate that other types of media readable by the computing device 1001, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, any such media may include computer-executable instructions for performing the methods of the disclosed embodiments.

[0128] In some exemplary embodiments, a number of program modules may be stored in the drives and RAM 1012, including an operating system 1030, one or more application programs 1032, other program modules 1034, and program data 1036. To this end, in some examples, all or portions of the operating system, applications, modules, and / or data may also be cached in RAM 1012. It should be appreciated that various embodiments may be implemented using various commercially available operating systems or combinations of operating systems.

[0129] According to some exemplary embodiments, a user may enter commands and information into the computing device 1001 through one or more wired / wireless input devices, such as a keyboard 1038 and a pointing device, such as a mouse 1040. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, etc. In some examples, these and other input devices are connected to the processing unit 1004 through an input device interface 1042 that is often coupled to the system bus 1008, but may also be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.

[0130] According to some illustrative embodiments, a monitor 1044 or other type of display device may also be connected to the system bus 1008 via an interface, such as a video adapter 1046. In addition to the monitor 1044, the computing device 1001 may also include other peripheral output devices (not shown), such as speakers, printers, etc.

[0131] According to some exemplary embodiments, the computing device 1001 may operate in a networked environment using wired and / or wireless communication logical connections to one or more remote computers, such as remote computer(s) 1048. In some examples, the remote computer(s) 1048 may be a workstation, a server computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device or other common network node. For purposes of brevity, only a memory / storage device 1050 is shown, although it may, and typically will, include many or all of the elements described in connection with a computer. According to some exemplary embodiments, the logical connections depicted include wired / wireless connectivity to a local area network (LAN) 1052 and / or larger networks, for example, a wide area network (WAN) 1054. Such LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network, for example the Internet.

[0132] In some embodiments, when used in a LAN networking environment, the computing device 1001 may be connected to the local network 1052 via a wired and / or wireless communication network interface or adapter 1056. The adapter 1056 may facilitate wired or wireless communication with the LAN 1052, which may also include a wireless access point disposed to communicate with the wireless adapter 1056.

[0133] In the alternative, when used in a WAN networking environment, the computing device 1001 may include a modem 1058 or may be connected to a communications server on the WAN 1054 or have other means for establishing communications over the WAN 1054, such as the Internet. The modem 1058 may be an internal or external wired or wireless device and is connected to the system bus 1008 via the input device interface 1042. In a networked environment, program modules depicted relative to the computer, or portions thereof, may be stored in the remote memory / storage device 1050. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

[0134] According to some exemplary embodiments, the computing device 1001 may be operable to communicate with any wireless device or entity operatively disposed therein, such as a printer, a scanner, a desktop and / or portable computer, a portable data assistant, a communications satellite, any appliance or location associated with a wireless detectable tag (e.g., a kiosk, a newsstand, a restroom), and a telephone. This may further include at least Wi-Fi and Bluetooth™ wireless technologies. As such, the communication may be of a predefined structure, such as a traditional network or simply an ad-hoc communication between at least two devices.

[0135] According to some exemplary embodiments, Wi-Fi, or Wireless Fidelity, allows you to connect to the Internet wirelessly from your couch at home, your bed in a hotel, or the conference room at work. To this end, Wi-Fi as referred to herein is a wireless technology similar to that used in cell phones that allows such devices, e.g., computers, to send and receive data anywhere within range of a base station, indoors and outdoors. Wi-Fi networks provide secure, reliable, high-speed wireless connectivity using radio technologies called IEEE 802.11 (a, b, g, n, etc.). Furthermore, according to some exemplary embodiments described herein, Wi-Fi networks can be used to connect computers or multiple electronic devices 102-10N to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks operate, for example, at 11 Mbps (802.11b) or 54 Mbps (802.11a) data rates in the unlicensed 2.4 and 5 GHz radio bands, or with products that include both bands (dual band), so the networks can provide similar practical performance as the basic "10BaseT" wired Ethernet networks used in many offices.

[0136] 11 illustrates example diagrams (1100, 1120, and 1150) of user interfaces of various instances of an application used to configure the first computing device 102, according to certain example embodiments described herein. By way of example, the first diagram 1100 illustrates a user interface of a first instance of an application for initializing the communications network 103, as described in FIGS. 2-8.

[0137] In some exemplary embodiments, the input / output circuitry 114 of the first computing device 102 may be used by a user to provide network configuration parameters (e.g., but not limited to, Wi-Fi security, Wi-Fi SSID, Wi-Fi password for setting up an access point (e.g., wireless access point or Wi-Fi hotspot)) at the first computing device 102. In some exemplary embodiments, the network configuration parameters may be built on the plurality of electronic devices 102-10N, and an application may automatically initiate network configuration at the electronic devices (102-10N) when the devices are turned on to configure the devices based on the network configuration parameters. By way of example, the second diagram 1120 illustrates another user interface of a second instance of an application for configuring network priority settings of the plurality of electronic devices 102-10N. In this regard, in some examples, the connection preferences (e.g., Bluetooth or NFC) of the electronic devices may be configured either manually or automatically by the application.

[0138] A third diagram 1150 illustrates another user interface of a third instance of an application for configuration of sound preferences (e.g., media volume, ring volume, alarm volume, ringtone volume) of a plurality of electronic devices 102-10N. In this regard, in some embodiments, sound preferences of the electronic devices may be configured either manually or automatically by the application.

[0139] According to various exemplary embodiments described herein, a first electronic device (e.g., the first computing device 102) may be initially configured and may further share configuration settings with one or more remaining electronic devices that may be communicatively coupled to the first computing device 102 (as shown in diagrams 800, 820, and 850). In this regard, the remaining one or more electronic devices (102-10N) may be communicatively coupled to the first computing device 102 and may receive the configuration settings in a manner as previously described with reference to FIGS. 2-7. For example, in some exemplary embodiments, the configuration settings may be shared by an application on the first computing device 102 in response to identifying other instances of the same application initiated on the remaining electronic devices of the plurality of electronic devices 102-10N and learning information associated with the other instances of the application on the remaining electronic devices.

[0140] In some exemplary embodiments, an application of the plurality of electronic devices 102-10N may provide a user interface similar to that shown in FIG. 11 for inputting a configuration file (e.g., an XML file, an APK, etc.) for configuring the plurality of electronic devices 102-10N. For example, in some embodiments, the configuration file may be input via the input / output circuitry 114 on a first instance of the application at the first computing device 102 for configuring the first computing device 102. Furthermore, upon identification of a second instance of the same application initialized at the second computing device 104, the configuration file may be automatically shared by the first computing device 102 to the second computing device 104 in a manner as described with reference to FIGS. 2-8.

[0141] In some embodiments, the configuration file may be stored on a remote server, such as the computing platform 106, as depicted in FIG 1. To this end, an application on the first computing device 102 may be configured to extract the configuration file from the computing platform 106 and share it with the rest of the plurality of electronic devices 102-10N.

[0142] As used herein, the terms "system", "component", "interface", and the like are intended to generally refer to computer-related entities or entities associated with operating machines having one or more specific functionalities. The entities disclosed herein may be either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable thread of execution, a program, and / or a computer. As an example, both an application running on a server and a server may be components. One or more components may reside within a process and / or thread of execution, and a component may be localized on one computer and / or distributed between two or more computers. These components may also execute from various computer-readable storage media having various data structures stored thereon. The components may communicate via local and / or remote processes, such as following a signal having one or more data packets (e.g., data from one component interacting with another component across a network such as the Internet with a local system, a distributed system, and / or other systems via a signal). As another example, a component may be a device having certain functionality provided by mechanical parts operated by electrical or electronic circuitry operated by software or firmware application(s) executed by a processor, which may be internal or external to the device and executes at least a portion of the software or firmware application. As yet another example, a component may be a device that provides certain functionality through electronic components that do not include mechanical parts, which may include a processor therein for executing software or firmware that at least partially provides the functionality of the electronic component. An interface may include input / output (I / O) components, as well as associated processors, applications, and / or API components.

[0143] Furthermore, the disclosed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques to produce software, firmware, hardware, or any combination thereof, to control a computer to implement the disclosed subject matter. As used herein, the term "article of manufacture" is intended to encompass a computer program accessible from any computer-readable device, computer-readable carrier, or computer-readable medium. For example, computer-readable media may include, but are not limited to, magnetic storage devices such as hard disks, floppy disks, magnetic strips, optical disks (e.g., compact disks (CDs), digital video disks (DVDs), Blu-ray Disc™ (BD)), smart cards, flash memory devices (e.g., cards, sticks, key drives), and / or virtual devices that emulate any of the storage devices and / or computer-readable media described above.

[0144] As used herein, the term "processor" refers to virtually any computing device, including, but not limited to, a single core processor, a single processor with software multithreading execution capabilities, a multicore processor, a multicore processor with software multithreading execution capabilities, a multicore processor with hardware multithreading techniques, a parallel platform, and a parallel platform with distributed shared memory. In addition, a processor may refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor, or a combination of these. The processor may refer to a combination of a single chip, a single chip logic, discrete hardware components, or any combination thereof. The processor may utilize nanoscale architectures, such as, but not limited to, molecular and quantum dot based transistors, switches and gates, to optimize space usage or improve performance of the user equipment. The processor may also be implemented as a combination of computing processing units.

[0145] As used herein, terms such as "memory," "data storage," "database," "repository," "queue," and substantially any other information storage component associated with the operation and functionality of a component refer to a "memory component," or an entity embodied in a "memory" or memory-containing component. It will be understood that the memory components described herein may be either volatile or non-volatile memory, or may include both volatile and non-volatile memory. In addition, memory components or memory elements may be removable or fixed. In addition, memory may be internal or external to a device or component, or removable or fixed. Memory may include various types of media readable by a computer, such as hard disk drives, zip drives, magnetic cassettes, flash or other types of memory cards, or cartridges.

[0146] By way of example, and not limitation, non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which acts as external cache memory. By way of example, and not limitation, RAM is available in many forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). Additionally, the memory components of the systems or methods disclosed herein are intended to include, but are not limited to, these and any other suitable types of memory.

[0147] In particular, with regard to various functions performed by the above-mentioned components, devices, circuits, systems, etc., the terms used to describe such components (including references to "means") are intended, unless otherwise noted, to correspond to any component that performs the specified function of the described component (e.g., functional equivalent) even if it is not structurally equivalent to the disclosed structures that perform that function in the exemplary aspects of the embodiments shown herein. In this regard, it will also be recognized that the embodiments include systems, as well as computer-readable media having computer-executable instructions for performing the acts and / or events of various methods.

[0148] A computing device typically includes a variety of media, which may include computer-readable storage media and / or communication media, and these two terms are used differently from each other in this specification as follows. A computer-readable storage medium may be any available storage medium that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not by way of limitation, a computer-readable storage medium may include computer-readable instructions, program modules, structures, and the like. The computer-readable storage medium may be implemented in connection with any method or technology for storing information, such as structured data, unstructured data, or unstructured data. The computer-readable storage medium may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage devices, or other magnetic storage devices, or other tangible and / or non-transitory media that may be used to store the desired information. The computer-readable storage medium may be accessed from one or more local or remote computing devices for various operations on the information stored by the medium, for example, via access requests, queries, or other data retrieval protocols.

[0149] Communication media, on the other hand, typically may embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery or transmission media. The term "modulated data signal" or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

[0150] Additionally, terms such as "user equipment," "user device," "mobile device," "mobile," "station," "access terminal," "terminal," "handset," and similar terms generally refer to wireless devices utilized by subscribers or users of a wireless communication network or service to receive or convey data, control, voice, video, sound, games, or substantially any data stream or signaling stream. The foregoing terms are used interchangeably herein and in the associated drawings. Similarly, terms such as "access point," "Node B," "base station," "evolved Node B," "cell," "cell site," and the like may be used interchangeably in this application and refer to wireless network components or appliances that transmit and receive data, control, voice, video, sound, games, or substantially any data stream or signaling stream from a set of subscriber stations. The data and signaling streams may be packetized or frame-based flows. It should be noted that in this specification and in the drawings, contextual or explicit distinctions provide differentiation regarding access points or base stations that transmit and receive data from mobile devices in outdoor environments, and access points or base stations that operate in limited, primarily indoor environments that overlap outdoor coverage areas. The data and signaling streams can be packetized or frame-based flows.

[0151] Further, the terms "user," "subscriber," "customer," "consumer," etc. are used interchangeably throughout this specification unless the context warrants a specific distinction between the terms. It should be understood that such terms may refer to human entities, associated devices, or automated components supported through artificial intelligence (e.g., the ability to make reasoning based on complex mathematical formalisms) that may provide simulated vision, sound recognition, etc. In addition, the terms "wireless network" and "network" are used interchangeably in this application, although where the context in which the terms are utilized warrants a distinction for the sake of clarity, such a distinction will be made explicit.

[0152] Moreover, the term "exemplary" means to serve as an example, instance, or illustration. Any aspect or design described herein is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word "exemplary" is intended to present concepts in a specific fashion. As used herein, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from context, "X employs A or B" is intended to be used in the natural inclusive order. It is intended to mean any one of the following: i.e., if X uses A, or X uses B, or X uses both A and B, then "X uses A or B" is satisfied in any of these cases. In addition, the articles "a" and "an," as used in this application and the appended claims, should generally be construed to mean "one or more" unless otherwise specified or clear from the context to a singular form.

[0153] In addition, while a particular feature may be disclosed with respect to only one of several embodiments, such feature may be combined with one or more other features of the other embodiments as may be desirable or advantageous for any given or particular application. To the extent that these terms are used in either the description or the claims, they are intended to be inclusive in the same manner as the term "comprising."

[0154] The above description of various embodiments of the present disclosure and corresponding drawings, as well as the contents set forth in the "Abstract" are set forth herein for illustrative purposes and are not intended to be exhaustive or to limit the disclosed embodiments to the precise forms disclosed. It is understood that a person skilled in the art may recognize that other embodiments having modifications, permutations, combinations, and additions to perform the same, similar, alternative, or replacement functions of the disclosed subject matter may be implemented and are therefore considered to be within the scope of the present disclosure. Thus, the disclosed subject matter should not be limited to any single embodiment described herein, but rather should be construed in breadth and scope in accordance with the following "claims".

[0155] Please note that as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the content clearly dictates otherwise.

[0156] References herein to "one embodiment," "an embodiment," or "one or more embodiments" are intended to indicate that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present disclosure. The appearances of such phrases in various places within the specification are not necessarily all referring to the same embodiment, nor are they separate or alternative embodiments that mutually exclusively exclude other embodiments. Furthermore, various features are described that some embodiments may exhibit and other embodiments may not exhibit.

[0157] As used in this disclosure, the terms "comprises," "comprising," and and other derivatives from the root "comprise" are intended to be open-ended terms specifying the presence of any stated features, elements, integers, steps, or components, and are not intended to exclude the presence or addition of one or more other features, elements, integers, steps, components, or groups thereof.

[0158] Although detailed embodiments are disclosed herein, it should be understood that the disclosed embodiments are merely exemplary and may be embodied in various forms. Therefore, the specific structural and functional details disclosed herein should not be construed as limitations, but merely as a basis for the claims.

[0159] While it is apparent that the illustrated embodiments described herein fulfill the above objectives, it will be understood that numerous modifications and other embodiments may be devised by those skilled in the art, and it will be understood therefore that the appended claims are intended to cover all such modifications and embodiments that are within the spirit and scope of the present disclosure.

Claims

1. 1. A method of configuring a plurality of electronic devices, comprising: generating, by a master device of the plurality of electronic devices, a configuration setting defining one or more configuration parameters; initializing a communication network based on at least one configuration parameter of the one or more configuration parameters associated with a first instance of an application on the master device, wherein initializing the communication network is performed by setting the master device as a hotspot or an access point defined in the configuration setting and initializing the hotspot or the access point; identifying, by the master device, an initialization of a second instance of the application on the client device based on a connection request from the client device received over the communications network, the initialization of the second instance being performed by the master device initiating operation of the hotspot or the access point to which the client device may connect; in response to identifying an initialization of the second instance of the application on the client device, establishing a secure communications network between the master device and the client device based on a secure key exchange between the master device and the client device, and transmitting, by the master device, the configuration settings of the client device via the established secure communications network; The secure key exchange comprises: receiving, at the master device, an encrypted temporary key from the client device, the encrypted temporary key corresponding to a temporary key encrypted using a public key shared between the master device and the client device; decrypting the encrypted temporary key received at the master device using a private key of the master device; encrypting, by the master device, a session key using the decrypted temporary key to generate an encrypted session key; transmitting, by the master device, the encrypted session key to the client device; verifying, by the master device, the configuration request received from the client device based on an identification of the session key in the configuration request; transmitting, by the master device, the configuration settings to the client device in response to verifying the configuration request; The method is established based on.

2. The method of claim 1 , wherein the at least one configuration parameter includes at least one of a network name, a service set identifier (SSID), and a network security type.

3. 2. The method of claim 1, encrypting, by the master device, the at least one configuration parameter with a first key shared among the plurality of electronic devices; scanning, by the master device, for incoming connection requests to establish a connection with the master device over the communications network; receiving, at the master device, a connection request from the client device; and authenticating, by the master device, the client device based on identification of the at least one configuration parameter in the connection request.

4. 2. The method of claim 1 , providing said at least one configuration parameter via a user interface of said master device; configuring the master device based on the at least one configuration parameter; when configuring the master device, initializing the communication network for communicating with the plurality of electronic devices; responsive to establishment of the secure communications network between the master device and the client device, sharing the configuration settings with the client device by the master device over the secure communications network.

5. 2. The method of claim 1 , Establishing a connection between the master device and the client device over the secure communications network to exchange communications data including the configuration settings of the client device.

6. The method of claim 1 , wherein the configuration settings correspond to at least one of volume control settings, network configuration settings, sound preference settings, and connection preference settings.

7. 1. A system comprising: a memory storing computer executable instructions; A processing unit that executes the computer-executable instructions to perform operations, the operations including: generating configuration settings defining one or more configuration parameters; initializing a communication network based on at least one configuration parameter of the one or more configuration parameters associated with a first instance of an application on a master device, wherein the initialization of the communication network is performed by setting the master device as a hotspot or an access point defined in the configuration setting and initializing the hotspot or the access point by the master device; and transmitting, in response to identifying an initialization of a second instance of the application in a client device communicatively coupled to the master device, the configuration settings of the client device over a secure communication network established between the master device and the client device based on a secure key exchange between the master device and the client device, wherein the initialization of the second instance is performed by the master device initiating operation of the hotspot or the access point to which the client device may connect; The secure key exchange comprises: receiving, at the master device, an encrypted temporary key from the client device, the encrypted temporary key corresponding to a temporary key encrypted using a public key shared between the master device and the client device; decrypting the encrypted temporary key received at the master device using a private key of the master device; encrypting, by the master device, a session key using the decrypted temporary key to generate an encrypted session key; transmitting, by the master device, the encrypted session key to the client device; verifying, by the master device, the configuration request received from the client device based on an identification of the session key in the configuration request; transmitting, by the master device, the configuration settings to the client device in response to verifying the configuration request; Based on this, the system is established.

8. The system of claim 7 , wherein initialization of the second instance of the application on the client device is identified based on receiving a connection request from the client device over a communications network.

9. The system of claim 7 , wherein the at least one configuration parameter includes at least one of a network name, a service set identifier (SSID), and a network security type.

10. 8. The system of claim 7, The processing unit executes the computer-executable instructions to perform operations, the operations including: encrypting the at least one configuration parameter with a first key shared among a plurality of electronic devices including the master device and the client devices; scanning for incoming connection requests over said communications network; receiving a connection request for establishing a connection with the client device; and authenticating the client device based on an identification of the at least one configuration parameter of the connection request.

11. 8. The system of claim 7, and a plurality of electronic devices including the master device and the client devices communicatively coupled via a communication network, the master device including the memory and the processing unit executing the computer-executable instructions to perform operations, the operations including: establishing a connection between the master device and the client device over the secure communications network to exchange communication data including configuration settings of the client device.

12. 8. The system of claim 7, The processing unit executes the computer-executable instructions to perform operations, the operations including: providing said at least one configuration parameter via a user interface; configuring the master device based on the at least one configuration parameter; initializing, by the master device, a wireless access point to communicate with a plurality of electronic devices over the communication network in response to a configuration of the master device; responsive to establishment of a secure communications network between the master device and the client device, sharing configuration settings of the client device over the secure communications network.

13. The system of claim 7 , wherein the configuration settings correspond to at least one of volume control settings, network configuration settings, sound preference settings, and connection preference settings.

14. A non-transitory computer-readable medium storing computer-executable instructions that, in response to execution by a processor, perform operations, the operations including: generating, by a master device of the plurality of electronic devices, a configuration setting defining one or more configuration parameters; initializing a communication network based on at least one configuration parameter of the one or more configuration parameters associated with a first instance of an application on the master device, wherein initializing the communication network is performed by setting the master device as a hotspot or an access point defined in the configuration setting and initializing the hotspot or the access point; Identifying, by the master device, an initialization of a second instance of the application on the client device based on a connection request received from a client device to connect to a wireless access point, the initialization of the second instance being performed by the master device initiating operation of the hotspot or the access point to which the client device may connect; transmitting, by the master device, the configuration settings of the client device based on an exchanged secure key over a secure communications network in response to identifying the initialization of the second instance of the application on the client device; The secure key exchange comprises: receiving, at the master device, an encrypted temporary key from the client device, the encrypted temporary key corresponding to a temporary key encrypted using a public key shared between the master device and the client device; decrypting the encrypted temporary key received at the master device using a private key of the master device; encrypting, by the master device, a session key using the decrypted temporary key to generate an encrypted session key; transmitting, by the master device, the encrypted session key to the client device; verifying, by the master device, the configuration request received from the client device based on an identification of the session key in the configuration request; and transmitting, by the master device, the configuration settings to the client device in response to verifying the configuration request.

15. 15. A non-transitory computer-readable medium as recited in claim 14, storing computer-executable instructions that, in response to execution by a processor, perform operations including: encrypting the at least one configuration parameter with a first key shared among the plurality of electronic devices; scanning for an incoming connection request from an electronic device of the plurality of electronic devices to establish a connection with the wireless access point; and authenticating the electronic device based on an identification of the at least one configuration parameter in the connection request.

16. 15. The non-transitory computer readable medium of claim 14, The at least one configuration parameter includes at least one of a network name, a service set identifier (SSID), and a network security type associated with the wireless access point, and the configuration settings correspond to at least one of a volume control setting, a network configuration setting, a sound preference setting, and a connection preference setting.

Citation Information

Patent Citations

  • Security setting processing system

    JP2007013348A